exponenta event banner

Сообщения диагностики отчетов программно

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')

Связанные темы