Configuration Versions
After connecting to SOLIS, you are able to try versioning of your configurations. Creating multiple configuration versions may be useful to test what configuration works best for your spacecraft. SOLIS provides an easy way to create this versioning on the Configuration Manager page, but you are also able to set versions via automation as shown below.
Windows PowerShell
Make copy of default Version
On Component FOB_CtrlParms_Attitude_Standard
, make a copy of the default Version and call the copy "Version1"
$version = $newConfig.GetComponentVersion("FOB_CtrlParms_Attitude_Standard"); # Get the current version of the Component (the default version)
$version1 = $version.Copy("Version1"); # Make copy of default version, call it Version1
Copy Version
Copy "Version1" and call the copy "Version2"
$version2 = $version1.Copy("Version2"); # Copy Version1 to make Version2
Change Version parameter value
Change the parameter B_ResetOnModeChange
of "Version1" to 0.
$boolParam = $version1.GetParameter("B_ResetOnModeChange"); # Get parameter
$boolParam.Value = 0; # Change B_ResetOnModeChange parameter value to 0 (false)
Change the parameter V_LoopGain_ATC_kgm2
of "Version2" to (1000000, 1000000, 1000000).
This value is set to show that the attitude system becomes unstable, which is noticeable when the simulation is run with "Version2".
$vecParam = $version2.GetParameter("V_LoopGain_ATC_kgm2"); # Get parameter
$vecParam.Value.Value = 1000000,1000000,1000000; # Change V_LoopGain_ATC_kgm2 parameter value
Run the simulation
Run with "Version1" active and wait until it finishes.
$newConfig.SetActive($version1); # Set Version1 as the active version for Component FOB_CtrlParms_Attitude_Standard
$newConfig.Run(); # Run the simulation
$newConfig.WaitForSimulationEnd(); # Wait until it finishes
Rerun the simulation with "Version2" active and wait until it finishes.
$newConfig.SetActive($version2); # Set Version2 as the active version for Component FOB_CtrlParms_Attitude_Standard
$newConfig.Run(); # Run the simulation
$newConfig.WaitForSimulationEnd(); # Wait until it finishes
Python
Make copy of default Version
On Component FOB_CtrlParms_Attitude_Standard
, make a copy of the default Version and call the copy "Version1"
version = newConfig.GetComponentVersion("FOB_CtrlParms_Attitude_Standard") # Get the current version of the Component (the default version)
version1 = version.Copy("Version1") # Make copy of default version, call it Version1
Copy Version
Copy "Version1" and call the copy "Version2"
version2 = version1.Copy("Version2") # Copy Version1 to make Version2
Change Version parameter value
Change the parameter B_ResetOnModeChange
of "Version1" to 0.
boolParam = version1.GetParameter("B_ResetOnModeChange") # Get parameter
boolParam.Value = 0 # Change B_ResetOnModeChange parameter value to 0 (false)
Change the parameter V_LoopGain_ATC_kgm2
of "Version2" to (1000000, 1000000, 1000000).
This value is set to show that the attitude system becomes unstable, which is noticeable when the simulation is run with "Version2".
vecParam = version2.GetParameter("V_LoopGain_ATC_kgm2") # Get parameter
vecParam.Value.Value = Array[float]([1000000,1000000,1000000]) # Change V_LoopGain_ATC_kgm2 parameter value
Run the simulation
Run with "Version1" active and wait until it finishes.
newConfig.SetActive(version1) # Set Version1 as the active version for Component FOB_CtrlParms_Attitude_Standard
newConfig.Run() # Run the simulation
newConfig.WaitForSimulationEnd() # Wait until it finishes
Rerun the simulation with "Version2" active and wait until it finishes.
newConfig.SetActive(version2) # Set Version2 as the active version for Component FOB_CtrlParms_Attitude_Standard
newConfig.Run() # Run the simulation
newConfig.WaitForSimulationEnd() # Wait until it finishes
C#
Make copy of default Version
On Component FOB_CtrlParms_Attitude_Standard
, make a copy of the default Version and call the copy "Version1"
var version = newConfig.GetComponentVersion("FOB_CtrlParms_Attitude_Standard"); // Get the current version of the Component (the default version)
var version1 = version.Copy("Version1"); // Make copy of default version, call it Version1
Copy Version
Copy "Version1" and call the copy "Version2"
var version2 = version1.Copy("Version2"); // Copy Version1 to make Version2
Change Version parameter value
Change the parameter B_ResetOnModeChange
of "Version1" to 0.
var boolParam = (STKSolis.Automation.Client.Version.Parameter<int>)version1.GetParameter("B_ResetOnModeChange"); // Get parameter
boolParam.Value = 0; // Change B_ResetOnModeChange parameter value to 0 (false)
Change the parameter V_LoopGain_ATC_kgm2
of "Version2" to (1000000, 1000000, 1000000).
This value is set to show that the attitude system becomes unstable, which is noticeable when the simulation is run with "Version2".
var vecParam = (STKSolis.Automation.Client.Version.Parameter<Vector>)version2.GetParameter("V_LoopGain_ATC_kgm2"); // Get parameter
vecParam.Value.Value = new double[] { 1000000, 1000000, 1000000 }; // Change V_LoopGain_ATC_kgm2 parameter value
Run the simulation
Run with "Version1" active and wait until it finishes.
newConfig.SetActive(version1); // Set Version1 as the active version for Component FOB_CtrlParms_Attitude_Standard
newConfig.Run(); // Run the simulation
newConfig.WaitForSimulationEnd(); // Wait until it finishes
Rerun the simulation with "Version2" active and wait until it finishes.
newConfig.SetActive(version2); // Set Version2 as the active version for Component FOB_CtrlParms_Attitude_Standard
newConfig.Run(); // Run the simulation
newConfig.WaitForSimulationEnd(); // Wait until it finishes
MATLAB
Make copy of default Version
On Component FOB_CtrlParms_Attitude_Standard
, make a copy of the default Version and call the copy "Version1"
version = newConfig.GetComponentVersion('FOB_CtrlParms_Attitude_Standard') % Get the current version of the Component (the default version)
version1 = version.Copy('Version1') % Make copy of default version, call it Version1
Copy Version
Copy "Version1" and call the copy "Version2"
version2 = version1.Copy('Version2') % Copy Version1 to make Version2
Change Version parameter value
Change the parameter B_ResetOnModeChange
of "Version1" to 0.
boolParam = version1.GetParameter('B_ResetOnModeChange'); % Get parameter
boolParam.Value = 0; % Change B_ResetOnModeChange parameter value to 0 (false)
Change the parameter V_LoopGain_ATC_kgm2
of "Version2" to (1000000, 1000000, 1000000).
This value is set to show that the attitude system becomes unstable, which is noticeable when the simulation is run with "Version2".
vecParam = version2.GetParameter('V_LoopGain_ATC_kgm2'); % Get parameter
vecParam.Value.Value = [1000000 1000000 1000000]; % Change V_LoopGain_ATC_kgm2 parameter value
Run the simulation
Run with "Version1" active and wait until it finishes.
newConfig.SetActive(version1); % Set Version1 as the active version for Component FOB_CtrlParms_Attitude_Standard
newConfig.Run(); % Run the simulation
newConfig.WaitForSimulationEnd(); % Wait until it finishes
Rerun the simulation with "Version2" active and wait until it finishes.
newConfig.SetActive(version2); % Set Version2 as the active version for Component FOB_CtrlParms_Attitude_Standard
newConfig.Run(); % Run the simulation
newConfig.WaitForSimulationEnd(); % Wait until it finishes