Функции sldiagviewer
позволяют вам сгенерировать, отобразить, и регистрировать диагностические сообщения в Диагностическом Средстве просмотра.
Можно использовать эти функции, чтобы сообщить, что диагностика обменивается сообщениями программно:
Функция, чтобы создать этап: sldiagviewer.createStage
Функции, чтобы сообщить о диагностических сообщениях:
sldiagviewer.reportError
sldiagviewer.reportWarning
sldiagviewer.reportInfo
Функция, чтобы регистрировать диагностику: sldiagviewer.diary
В Диагностическом Средстве просмотра ошибки, предупреждения и информационные сообщения отображены в группах на основе операции, таких как образцовая загрузка, моделирование и сборка. Эти группы называются этапами. Функция 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', 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', 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 rtwbuild('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')