sldiagviewer функции позволяют создавать, просматривать и регистрировать диагностические сообщения в средстве просмотра диагностики.
Для составления программных отчетов по диагностическим сообщениям можно использовать следующие функции:
Функция для создания этапа: sldiagviewer.createStage
Функции для сообщения диагностических сообщений:
sldiagviewer.reportError
sldiagviewer.reportWarning
sldiagviewer.reportInfo
Функция регистрации диагностики: sldiagviewer.diary
В программе Diagnostic Viewer ошибки, предупреждения и информационные сообщения отображаются в группах, основанных на операции, таких как загрузка модели, моделирование и построение. Эти группы называются этапами. sldiagviewer.createStage функция позволяет создавать этапы. Можно также создать дочерние стадии для объекта-сцены. Родительский объект рабочей области должен быть активен для создания дочерней рабочей области. При создании объекта стадии Simulink ® инициализирует стадию. При закрытии объекта-сцены Simulink завершает стадию. При удалении родительского объекта стадии соответствующий родитель и его дочерняя стадия закрываются в средстве просмотра диагностики. Синтаксис для создания этапа:
stageObject = sldiagviewer.createStage(StageName,'ModelName',ModelNameValue)
В этом синтаксисе
StageName указывает имя рабочей области и является обязательным аргументом, например, 'Analysis'.
Используйте 'ModelName', ModelNameValue пара для указания имени модели рабочей области, например, 'ModelName', 'vdp'. Все дочерние ступени наследуют имя модели от своего родителя.
my_stage = sldiagviewer.createStage('Analysis','ModelName','vdp');
Вы можете использовать sldiagviewer для сообщения об ошибках, предупреждениях или информационных сообщениях в средстве просмотра диагностики. Синтаксы для сообщения диагностических сообщений:
sldiagviewer.reportError(Message): Сообщения об ошибках.
sldiagviewer.reportWarning(Message): Сообщает о предупреждениях.
sldiagviewer.reportInfo(Message): Сообщает информационные сообщения.
Message описывает информацию об ошибке, предупреждении или построении и является обязательным аргументом. Message могут иметь значения в следующих форматах:
Последовательность
MSLException или MException объект
При необходимости можно использовать 'Component' аргумент и его соответствующее значение в синтаксисе для указания компонента или продукта, который генерирует сообщение, например, 'Simulink' и 'Stateflow'.
% Create a Stage to display all the messages my_stage = sldiagviewer.createStage('Analysis', 'ModelName', 'vdp'); % Catch the error introduced in vdp as an exception. try sim('vdp'); catch error % Report the caught exception as warning sldiagviewer.reportWarning(error); end % Report a custom info message to Diagnostic Viewer sldiagviewer.reportInfo('My Info message');
Вы можете использовать sldiagviewer.diary функция для регистрации предупреждений о моделировании, ошибок и сведений о построении в файле. Для создания файлов журнала используются следующие синтаксисы:
sldiagviewer.diary: Перехватывает сведения о построении, предупреждения и ошибки, передаваемые в средство просмотра диагностики, и записывает их в текстовый файл diary.txt в текущем каталоге.
sldiagviewer.diary(filename): Переключение состояния регистрации текстового файла, указанного в filename.
sldiagviewer.diary(toggle): Переключает возможность ведения журнала. Допустимые значения: 'on' и 'off'. Если имя файла журнала не указано, параметр переключения применяется к последнему имени файла, указанному для регистрации, или к diary.txt файл.
sldiagviewer.diary(filename,'UTF-8'): Задает кодировку для файла журнала.
В этом синтаксисе
filename указывает файл для регистрации данных.
toggle указывает состояние регистрации 'on' или 'off'.
% Start logging build information and simulation warnings and errors to diary.txt sldiagviewer.diary open_system('vdp') set_param('vdp/Mu','Gain', 'xyz') set_param('vdp', 'SimulationCommand', 'Start') % This introduces an error and do UI simulation which you can see in the diary log % Open diary.txt to view logs. %### Starting build procedure for model: vdp %### Build procedure for model: 'vdp' aborted due to an error. %... % Set up logging to a specific file sldiagviewer.diary('C:\MyLogs\log1.txt') % Make sure you have write permission for this location % Switch the logging state of a file sldiagviewer.diary('C:\MyLogs\log2.txt') % Switch on logging and specify a log file. open_system('vdp') set_param('vdp/Mu', 'Gain', 'xyz') set_param('vdp', 'SimulationCommand', 'Start') sldiagviewer.diary('off') % Switch off logging. open_system('sldemo_fuelsys') % Any operation you do after the previous command will not be logged slbuild('sldemo_fuelsys') sldiagviewer.diary('on') % Resume logging in the previously specified log file. % Specify the filename to log to and character encoding to be used sldiagviewer.diary('C:\MyLogs\log3.txt','UTF-8')