The sldiagviewer
функции позволяют вам генерировать, отображать и регистрировать диагностические сообщения в Diagnostic Viewer.
Можно использовать эти функции для программного сообщения диагностики:
Функция для создания сцены: sldiagviewer.createStage
Функции для сообщения диагностических сообщений:
sldiagviewer.reportError
sldiagviewer.reportWarning
sldiagviewer.reportInfo
Функция для регистрации диагностики: sldiagviewer.diary
В Diagnostic Viewer ошибки, предупреждения и информационные сообщения отображаются в группах, основанных на операции, таких как загрузка модели, симуляция и сборка. Эти группы называются этапами. The sldiagviewer.createStage
функция позволяет вам создавать этапы. Можно также создать дочерние этапы для объекта рабочей области. Объект родительского этапа должен быть активен, чтобы создать дочерний этап. Когда вы создаете объект сцены, Simulink® инициализирует каскад. Когда вы закрываете объект рабочей области, Simulink заканчивает рабочую область. Если вы удаляете родительский объект этапа, соответствующий родительский элемент и его дочерний этап закрываются в Diagnostic Viewer. Синтаксис создания рабочей области:
stageObject = sldiagviewer.createStage(StageName,'ModelName',ModelNameValue)
В этом синтаксисе,
StageName
задает имя этапа и является обязательным аргументом, например 'Analysis'
.
Используйте 'ModelName'
, ModelNameValue
пара, чтобы задать имя модели рабочей области, например 'ModelName'
, 'vdp'
. Все дочерние этапы наследуют имя модели от своего родительского элемента.
my_stage = sldiagviewer.createStage('Analysis','ModelName','vdp');
Можно использовать sldiagviewer
функции для сообщения об ошибках, предупреждениях или информационных сообщениях в Diagnostic Viewer. Синтаксисы для отчетов о диагностических сообщениях:
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
: Перехватывает информацию сборки, предупреждения и ошибки, переданные в Diagnostic Viewer, и регистрирует их в текстовом файле 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')