How to call the Simulink Test results inside the ForEach module?
Hello, I want to use the test results from Simulink Test to perform custom evaluation criteria. My model uses a For Each subsystem externally to calculate the maximum and minimum SOC of individual cells within a battery pack in parallel. The battery SOC is an output of the model, and for each battery’s SOC, I can record and call it using the code below:
soc = test.sltest_simout.get(‘logsout’).get(‘soc’).Values.Data;
soc_max = soc(:,1);
soc_min = soc(:,2);
However, I also want to record the terminal voltage estimation error of a battery inside the For Each subsystem. This value is internal to the For Each subsystem and is not output to the outside of the model. If I try to call the test data in the same way as above, I get an ‘index exceeds 1’ error:
v_error = test.sltest_simout.get(‘logsout’).get(‘v_error’).Values.Data;
v_max_error = v_error(:,1);
v_max_error = v_error(:,2);
In Simulink Test, there are also two output results, but it seems that it calculates them channel by channel. So, how should I call the v_error test results?Hello, I want to use the test results from Simulink Test to perform custom evaluation criteria. My model uses a For Each subsystem externally to calculate the maximum and minimum SOC of individual cells within a battery pack in parallel. The battery SOC is an output of the model, and for each battery’s SOC, I can record and call it using the code below:
soc = test.sltest_simout.get(‘logsout’).get(‘soc’).Values.Data;
soc_max = soc(:,1);
soc_min = soc(:,2);
However, I also want to record the terminal voltage estimation error of a battery inside the For Each subsystem. This value is internal to the For Each subsystem and is not output to the outside of the model. If I try to call the test data in the same way as above, I get an ‘index exceeds 1’ error:
v_error = test.sltest_simout.get(‘logsout’).get(‘v_error’).Values.Data;
v_max_error = v_error(:,1);
v_max_error = v_error(:,2);
In Simulink Test, there are also two output results, but it seems that it calculates them channel by channel. So, how should I call the v_error test results? Hello, I want to use the test results from Simulink Test to perform custom evaluation criteria. My model uses a For Each subsystem externally to calculate the maximum and minimum SOC of individual cells within a battery pack in parallel. The battery SOC is an output of the model, and for each battery’s SOC, I can record and call it using the code below:
soc = test.sltest_simout.get(‘logsout’).get(‘soc’).Values.Data;
soc_max = soc(:,1);
soc_min = soc(:,2);
However, I also want to record the terminal voltage estimation error of a battery inside the For Each subsystem. This value is internal to the For Each subsystem and is not output to the outside of the model. If I try to call the test data in the same way as above, I get an ‘index exceeds 1’ error:
v_error = test.sltest_simout.get(‘logsout’).get(‘v_error’).Values.Data;
v_max_error = v_error(:,1);
v_max_error = v_error(:,2);
In Simulink Test, there are also two output results, but it seems that it calculates them channel by channel. So, how should I call the v_error test results? simulink test, simulink, bms MATLAB Answers — New Questions









