Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом Картавенко М.В. End.doc
Скачиваний:
31
Добавлен:
09.12.2018
Размер:
1.71 Mб
Скачать

Последовательность действий для получения алгоритмов математических процедур из моделей Simulink

В данном приложении приводится описание:

  • особенностей представления данных в программе Simulink;

  • требований к построению моделей в Simulink;

  • последовательности действий, позволяющей получать содержащиеся в Simulink алгоритмы в виде кода на языке Си, доступном для дальнейшего использования без ядра Simulink.

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

  1. Формат сигнала.

Сигнал может быть трех форматов: Scalar (скаляр), Vector (вектор) и Matrix (матрица). Под скаляром понимается матрица [1;1], под вектором – матрица, имеющая один столбец или одну строку. Размерностью сигнала называют параметры матрицы [x;y], где x – количество строк, а y – количество столбцов матрицы.

В качестве источников сигналов при построении моделей в Simulink необходимо использовать блок из библиотеки Simulink/Ports & Subsystems (или аналогичный блок из библиотеки Simulink/Sourses) – In1. Блоки источников необходимо называть именем In и индексом, соответствующим номеру входа (т.е. первый вход – In1, десятый – In10). Индекс в названии блока всегда должен совпадать с номером блока (устанавливается в Parameters->Port number).

  1. Тип элементов сигнала.

Типы данных сигнала, используемые в Simulink, и соответствующие им типы данных в Си приведены в таблице В.1.

Таблица В.1 – Соотношение типов данных сигнала, используемых в Simulink и в Си

Типы данных в Simulink

Тип данных в Си

int8_T

char

unit8_T, byte_T

unsigned char

int16_T

short

unit16_T

unsigned short

int32_T, int_T, boolean_T

int

uint32_T

unsigned int

real32_T

float

real_T, real64_T

double

Параметры блока In1 (меню Parameters, открывающееся при двойном щелчке манипулятора “Мышь”) показаны на рисунке В.1.:

  1. Port number – номер входа;

  2. Port dimensions (-1 for dynamically sized) – формат сигнала. При использовании формата сигнала скаляр используется значение по умолчанию – “-1”. При использовании формата сигнала вектор необходимо указать длину вектора (например, 5 – строка или столбец из пяти цифр). При использовании формата сигнала матрица необходимо указать размерность матрицы следующим образом [x;y], где x и y – количество строк и столбцов соответственно;

  3. Sample time (-1 for inherited) – скорость поступления входных данных (оставить по умолчанию равным “-1”);

  4. Show additional parameters – элемент управления Check box, позволяющий задавать дополнительные параметры. При нажатии на него можно изменять следующие параметры:

- Data type – тип данных;

- Signal type – тип сигнала (не должен быть комплексным);

Значения параметров Sampling mode и Interpolate date должны соответствовать значениям по умолчанию.

В качестве приемников сигналов необходимо использовать блок из библиотеки Simulink/Ports & Subsystems (или аналогичный блок из библиотеки Simulink/Sinks) - Out1. Блоки приемников необходимо называть именем Out и индексом, соответствующим номеру выхода (т.е. первый выход – Out1, десятый – Out10). Индекс в названии блока всегда должен совпадать с номером блока (устанавливается в Parameters->Port number). Параметры блока Out1 определяются автоматически на основании параметров выходного сигнала.

Рисунок В.1 – Окно параметров блока In1

На рисунке В.2 представлен пример модели Example, построенной в Simulink, которая имеет один вход (In1) и один выход (Out1). В дальнейшем все действия будут поясняться на примере этой модели.

Рисунок В.2 – Пример модели, построенной в Simulink