Структуры сигналов

В этом примере показано, как создать структуру данных сигнала в сгенерированном коде.

C построение

typedef struct {
   double signal1;
   double signal2;
   double signal3;
} my_signals_type;

Процедура

Чтобы представлять тип структуры в модели, создайте Simulink.Bus объект. Используйте объект в качестве типа данных сигналов шины в вашей модели.

1. Создайте ex_signal_struct модель при помощи блоков Усиления, блока Bus Creator и блока Unit Delay. Усиление и блоки Unit Delay делают структуру более идентифицирующейся в сгенерированном коде.

2. Чтобы сконфигурировать блок Bus Creator, чтобы принять три входных параметров, в диалоговом окне блока, определяют Номер входных параметров к 3.

3. В панели инструментов, на вкладке Modeling, в соответствии с Проектом, нажимают Bus Editor.

4. В Редакторе Шины нажмите File> Add Bus, чтобы создать Simulink.Bus объект и имя это my_signals_type. Нажмите File> Add/Insert BusElement, чтобы добавить три элемента сигнала: signal1, signal2, и signal3. Для получения дополнительной информации смотрите, Создают и Задают Объекты Simulink.Bus.

5. Сохраните объекты шины в своей текущей папке как ex_signal_struct_data.mat.

Этот объект шины представляет тип структуры, который вы хотите, чтобы сгенерированный код использовал.

6. В диалоговом окне блока Создателя Шины Выходные данные набора вводят к Bus: my_signals_type.

7. Выберите Output как невиртуальную шину. Нажать ОК. Невиртуальная шина появляется в сгенерированном коде как структура.

8. Откройте приложение Simulink Coder. Во вкладке C Code выберите Code Interface> Individual Element Code Mappings.

9. Откройте вкладку Signals/States. В модели выберите выходной сигнал блока Bus Creator и нажмите, Add выбрал сигналы закодировать кнопку отображений в редакторе Отображений Кода.

11. Для добавленного сигнала, Класса памяти набора к ExportedGlobal.

12. В Property Inspector, набор свойство Code> Identifier к sig_struct_var. Выход блока Bus Creator появляется в сгенерированном коде как отдельная глобальная переменная структуры под названием sig_struct_var.

13. Сгенерируйте код из модели.

Результаты

Сгенерированный заголовочный файл ex_signal_struct_types.h задает тип структуры my_signals_type.

typedef struct {
  real_T signal1;
  real_T signal2;
  real_T signal3;
} my_signals_type;

Исходный файл ex_signal_struct.c выделяет память для глобальной переменной sig_struct_var, который представляет выход блока Bus Creator.

/* Exported block signals */
my_signals_type sig_struct_var;        /* '<Root>/Bus Creator' */

В том же файле, в модели step функция, доступы к алгоритму sig_struct_var и поля sig_struct_var.

Смотрите также

Похожие темы