Запустите проверки качества на S-функциях

Этот пример демонстрирует, как использовать S-функцию API анализатора, чтобы проверить S-функции в порядке идентифицировать потенциальные проблемы и улучшения.

S-функция API командной строки MATLAB анализатора состоит из:

  • Simulink.sfunction. Анализатор - класс, используемый, чтобы запустить S-функцию анализатор и получить результаты анализа.

  • Simulink.sfunction. анализатор. BuildInfo - класс, используемый, чтобы создать объект задать информацию о сборке для S-функции.

  • Simulink.sfunction. анализатор. Опции - класс раньше задавал под управлением опции для S-функции Анализатор.

  • Simulink.sfunction. анализатор. findSfunctions - статический метод возвратить все выполнимые S-функции в модели или библиотеке для S-функции анализатор.

Смотрите справку для более подробной информации о вышеупомянутых API.

Задайте входную модель или (требуемую) библиотеку

Анализатор S-функции требует модели или библиотеки в пути MATLAB, как введено, который содержит Блоки s-function, которые будут анализироваться.

model = 'slexSfunctionCheckExample';

Задайте информацию о сборке для (дополнительных) S-функций

Анализатор S-функции проверяет исходный код S-функций, когда они доступны. К эвристике применяются, автоматически определяют местоположение исходного кода на основе S-имен-функций. Например, если исходный код S-функции и входная модель будут в той же папке, исходный код будет включен в анализ автоматически. В противном случае информация о сборке должна быть задана через Simulink.sfunction. анализатор. BuildInfo. Если никакой исходный код не доступен, этот раздел может быть пропущен.

Чтобы задать информацию о сборке, сначала определите имеющие право S-функции во входной модели, затем создайте Simulink.sfunction. анализатор. Объект BuildInfo для каждой S-функции. Для S-функции slexBadSFcn, существует два связанных исходных файла: slexBadSFcn.c и slexBadSFcn_wrapper. c

sfunctions= Simulink.sfunction.analyzer.findSfunctions(model);
bdInfo= Simulink.sfunction.analyzer.BuildInfo(fullfile(matlabroot,'toolbox','simulink','simdemos','simfeatures','src','slexBadSFcn.c'),...
                                              'ExtraSrcFileList',{'slexBadSFcn_wrapper.c'},...
                                              'SrcPaths',{fullfile(matlabroot,'toolbox','simulink','simdemos','simfeatures','src')});

Задайте под управлением опции для S-функции (дополнительный) Анализатор

Опции выполнения для S-функции анализатор могут быть сконфигурированы через Simulink.sfunction. анализатор. Объект Options, такой как, разрешить ли проверки Polyspace и проверки Робастности Параметра, тайм-аут моделирования модели и вывод path для отчета результата. Если никакие определенные опции не необходимы, этот раздел может быть пропущен. Все опции по умолчанию будут применены.

opts = Simulink.sfunction.analyzer.Options();
opts.EnableRobustness = 1;

Запустите S-функцию Анализатор и смотрите (требуемый) результат

sfunAnalyzer = Simulink.sfunction.Analyzer(model,'BuildInfo',{bdInfo},'Options',opts);
analysisResult=sfunAnalyzer.run();
sfunAnalyzer.generateReport();
Была ли эта тема полезной?