How can I get the error message from sldvrun when programmatically using Simulink Design Verifier?
    5 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    Monika Jaskolka
      
 il 12 Mag 2021
  
    
    
    
    
    Modificato: Monika Jaskolka
      
 il 24 Mag 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.

0 Commenti
Risposta accettata
  Pat Canny
    
 il 20 Mag 2021
        
      Modificato: Pat Canny
    
 il 21 Mag 2021
  
      Hi Monika,
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:
    source: 'solver_sel'
    sourceFullName: 'solver_sel'
    objH: 0.0033
    reportedBy: 'simulink'
    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.'
    msgid: 'Sldv:Compatibility:UnsupSolver'
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.
An example:
model = 'sldvdemo_flipflop' 
open_system(model)
set_param(model,'SolverType','Variable-step')
sldiagviewer.diary('errorlog.txt')
sldvrun(model,[],true)
sldiagviewer.diary('off')
edit errorlog.txt
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.  
1 Commento
Più risposte (0)
Vedere anche
Categorie
				Scopri di più su Simulink Design Verifier in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!