How can I get the error message from sldvrun when programmatically using Simulink Design Verifier?
4 views (last 30 days)
Show older comments
Monika Jaskolka on 12 May 2021
Edited: Monika Jaskolka on 24 May 2021
I am using sldvrun in a script to run design error checking analyses on several models. When models encounter issues during the analysis, I want to record these errors so I can go back later after all the models are processed, and see if they can be addressed.
The sldvrun function will output the result of the analysis as 0 if there is an error, however, as far as I can see, the actual error is shown in the UI only. The information I am looking for is in green in the image below. Is there a way to get this information programmatically? A try/catch with sldvrun did not work.
Pat Canny on 20 May 2021
Edited: Pat Canny on 21 May 2021
Apologies for the delay.
You can use the ERRMSGS return field with sldvcompat:
[STATUS, ERRMSGS] = sldvcompat(MODEL)
returns 1 (true) if the Simulink model MODEL is compatible with Simulink Design Verifier and 0 (false) otherwise, and also returns a list of incompatibilities.
For example, if your model uses 'variable step solver' then the returned error msg has following format.
struct with fields:
msg: 'Simulink Design Verifier cannot be used with a variable-step solver. You must configure the solver options for a fixed-step solver. ?See documentation.'
Note: this is available in the "help sldvcompat" documentation, but not in the Documentation page for sldvcompat. I have passed this discrepancy along to our Documentation team.
Another option is to use the Simulink Diagnostic Viewer API's diary method.
model = 'sldvdemo_flipflop'
This will capture every message (as plain text) sent to the Diagnostic Viewer while logging is on, whether or not it is produced by Simulink Design Verifier.
More Answers (0)
Find more on Review Analysis Results in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!