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

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

Похожие темы