exponenta event banner

Доступ к переменным и функциям пользовательского кода в диаграммах потока состояний

Пользовательский код, написанный на языке C или C++, можно интегрировать с диаграммами Stateflow ® в моделях Simulink ®. Совместное использование данных и функций пользовательского кода и диаграммы Stateflow позволяет расширить возможности Stateflow и использовать программное обеспечение для использования преимуществ существующего кода. Дополнительные сведения см. в разделе Повторное использование пользовательского кода в диаграммах Stateflow.

Пользовательские переменные кода в диаграммах, использующих MATLAB в качестве языка действий

Следующие переменные кода C можно читать и записывать непосредственно на диаграммах, использующих MATLAB ® в качестве языка действий.

Пользовательский тип кода CОписание
doubleПлавающая точка с двойной точностью
singleПлавающая точка с одинарной точностью
int8Целое число со знаком 8 бит
uint8Беззнаковое 8-разрядное целое число
int16Знаковое 16-разрядное целое число
uint16Беззнаковое 16-разрядное целое число
int32Подписанное 32-разрядное целое число
uint32Беззнаковое 32-разрядное целое число

Щелкнув правой кнопкой мыши объект Stateflow, в котором используется пользовательский код, можно получить доступ к пользовательской переменной кода. После щелчка правой кнопкой мыши на объекте наведите указатель мыши на команду «Исследовать». Появляется пользовательская переменная кода, обозначаемая (C variable). Щелчок по переменной C позволяет получить доступ к пользовательскому коду из MATLAB.

Пользовательские функции кода в диаграммах, использующих MATLAB в качестве языка действий

Можно использовать следующие типы аргументов функции C непосредственно в диаграммах, которые используют MATLAB в качестве языка действий без использования coder.ceval. Для получения информации о вызове внешнего кода из кода MATLAB с помощью coder.ceval, см. Код вызова C/C + + из кода MATLAB (кодер MATLAB).

Тип аргумента пользовательской функции CОписание
doubleПлавающая точка с двойной точностью
singleПлавающая точка с одинарной точностью
int8Целое число со знаком 8 бит
uint8Беззнаковое 8-разрядное целое число
int16Знаковое 16-разрядное целое число
uint16Беззнаковое 16-разрядное целое число
int32Подписанное 32-разрядное целое число
uint32Беззнаковое 32-разрядное целое число

Щелкнув правой кнопкой мыши объект Stateflow, в котором используется пользовательский код, можно получить доступ к функции пользовательского кода. После щелчка правой кнопкой мыши на объекте наведите указатель мыши на команду «Исследовать». Появится пользовательская функция кода, обозначаемая (C function). Щелчок по функции C позволяет получить доступ к пользовательскому коду из MATLAB.

Доступ к перечислениям в пользовательском коде

В диаграммах, использующих C в качестве языка действий, для включения перечислений в пользовательский код выберите Импорт пользовательского кода на панели Цель моделирования (Simulation Target) в разделе Параметры конфигурации (Configuration Parameters). После выбора этого параметра определите перечисления в файле заголовка и включите файл заголовка в раздел Вставить пользовательский код C (Insert custom C code) в созданном разделе панели Цель моделирования (Simulation Target).

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