Custom criteria in Test Manager- Is there any way to get signal by name?

1 visualizzazione (ultimi 30 giorni)
Now I am using the following code. In the following code I am using the index for getting the signal. Is there any method to get the index number or get signal by name? I have around 40 signals and the signal that I am checking at index 30. If I log more signals the index is changing. Is there any method to get the index number or get signal by name?
% Get the output Simulink.sdi.Run object
outobj = test.TestResult.getOutputRuns;
%Get object of type Simulink.sdi.Signal
sig = outobj.getSignalByIndex(1);
% return a struct containing data
data = sig.dataValues; % Contains both data and the time
assert(data.Data(end) == Test_Sequence1_Active_Step_Enum.Finish, 'Test Failed after %d seconds, last step in Test Sequence is : %s ',data.Time(end), data.Data(end));

Risposta accettata

Mark McBroom
Mark McBroom il 28 Apr 2018
I think you will have to loop through all signals in the run and look at property sig.Name to find the signal name of interest. outobj.signalCount will tell you the total number of signals in the run and would be the upper bound of your loop.

Più risposte (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by