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

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

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

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

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

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

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

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

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

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

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

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

Похожие темы