2 Использование модели MATLAB/Simulink в EULER

Подключаемая модель рассматривается как «черный ящик», описываемый следующими характеристиками:
− U – вектор входных переменных, значения которых поступают в модель из программного комплекса;
− Y – вектор выходных переменных, значения которых модель передает в программный комплекс;
− X – вектор переменных состояния модели;
− P – настраиваемые параметры, значения коэффициентов, которые определяют рабочие характеристики модели и могут быть изменены без перестройки DLL-модуля.
Схематичное изображение подключаемой модели представлено на рис.1.

Рис. 1. Модель MATLAB/Simulink
Вектор переменных состояния модели в общем случае может содержать непрерывные переменные состояния
и дискретные переменные состояния
.


Изменение непрерывных переменных состояния описывается системой дифференциальных уравнений:
. Значения этих переменных определяются путем численного интегрирования системы из начальных условий, заданных пользователем при создании модели в MATLAB/Simulink.

Изменение дискретных переменных состояния описывается системой разностных уравнений:
. Значения дискретных переменных вычисляются в моменты дискретного времени
, кратные интервалу дискретизации модели, и не изменяются до начала следующего интервала.


Значения выходных переменных вычисляются по значениям входных переменных и значениям переменных состояния:
. Для контроля значения переменных состояния модели пользователь может добавить их к выходным переменным при создании модели в MATLAB/Simulink.

Данный метод создает не один датчик, а массив датчиков. Поэтому тип объекта, создаваемого этим методом, записывается в файле проекта не sensor, а sensor_array. Массив датчиков содержит значения выходных переменных подключенной модели MATLAB/Simulink. Датчики массива можно использовать при описании механизма в соответствии с общими правилами. Все датчики массива являются не дифференцируемыми по параметрам положения механизма.
Обращаем ваше внимание, что в рамках одного проекта ПК ЭЙЛЕР нельзя использовать один и тот же DLL-модуль несколько раз. В случае такой необходимости нужно создать и использовать копию DLL-модуля с другим полным именем.
При создании объекта данным методом пользователь указывает единицы измерения:
− входных переменных, в которых они передаются в модель MATLAB/Simulink;
− выходных переменных, в которых они передаются из модели MATLAB/Simulink в программный комплекс;
− настраиваемых параметров модели, значения которых переопределены скалярами из проекта.
Синтаксис метода создания
simulink(SimDLLName, U, Y, P, step, integrMethod = …)
Обязательные позиционные параметры метода
string SimDLLName
Имя DLL-модуля, содержащего модель MATLAB/Simulink.
string U
Строка описания имен входных датчиков и единиц измерения их значений, в которых они передаются в модель MATLAB/Simulink. Датчики в строке отделяются друг от друга запятыми, единицы измерения каждого объекта указываются после его имени в квадратных скобках.
Пример строки, описывающей входные датчики:
“sensor_U1 [kg], sensor_U2 [], sensor_U3 [m/s], …”
string Y
Строка описания имен выходных датчиков и единиц измерения их значений, в которых они передаются из модели MATLAB/Simulink в программный комплекс. Датчики в строке отделяются друг от друга запятыми, единицы измерения каждого объекта указываются после его имени в квадратных скобках.
Пример строки, описывающей выходные датчики:
“sensor_Y1 [], sensor_Y2 [N], sensor_Y3 [m], …”
string P
Строка описания настраиваемых параметров модели MATLAB/Simulink и единиц измерения, в которых они записываются в модель. Настраиваемые параметры модели могут иметь значения по умолчанию, заданные пользователем при создании модели в MATLAB/Simulink, или переопределяться объектами типа скаляр. Для безразмерных величин возможно использование скаляров, созданных по месту. Описания параметров отделяются в строке друг от друга запятыми. Каждое описание содержит имя параметра, знак равенства, значение параметра и единицы измерения в квадратных скобках.
Пример строки, описывающей настраиваемые параметры:
“par1_name = scalar_P1 [deg], par2_name = 12.5 [], par3_name = scalar_P2, [m/s2], …”
scalar step [time]
Шаг интегрирования модели MATLAB/Simulink.
Необязательные именованные параметры метода
integrMethod = [constRK4:/euler:]
Параметр определяет метод интегрирования модели MATLAB/Simulink. По умолчанию integrMethod = constRK4:.
integrMethod = constRK4:
Для численного интегрирования модели MATLAB/Simulink используется метод Рунге-Кутта четвертого порядка с постоянным шагом.
integrMethod = euler:
Для численного интегрирования модели MATLAB/Simulink используется явный метод Эйлера с постоянным шагом.
Создание объекта
Для создания объекта данного метода используется диалоговое окно Модель MATLAB/Simulink, внешний вид которого представлен на рис.2-3.

Рис. 2. Диалоговое окно Интерфейс MATLAB/Simulink, закладка Входные переменные

Рис. 3. Диалоговое окно Интерфейс MATLAB/Simulink, закладка Параметры
Рассмотрим структуру окна и назначение его элементов управления (рис.2):
− Имя объекта – поле для задания имени объекта.
− Модель MATLAB/Simulink – поле для задания имени DLL-модуля, содержащего подключаемую модель.
− Кнопка
- открывает диалоговое окно выбора DLL-модуля.

− Сведения о модели – не редактируемое поле, отображающее информацию о выбранной модели:
− Имя модели;
− Количество входных переменных;
− Количество выходных переменных;
− Количество настраиваемых параметров;
− Количество непрерывных переменных состояния;
− Количество дискретных переменных состояния;
− Интервал дискретизации.
− Входные переменные – закладка с таблицей для задания входных датчиков (рис.2). Число строк в таблице соответствует количеству входных переменных модели. В поле Имя заносится имя датчика, соответствующего данному входу. В поле Единицы измерения - единицы измерения, в которых значение передается в модель MATLAB/Simulink. Для редактирования имени или единиц измерения щелкните левой кнопкой мыши по редактируемому полю.
− Выходные переменные – закладка с таблицей для описания выходных датчиков. Число строк в таблице соответствует количеству выходных переменных модели. В поле Имя заносится имя датчика, в поле Единицы измерения – единицы измерения данного датчика. Для редактирования имени или единиц измерения щелкните левой кнопкой мыши по редактируемому полю.
− Настраиваемые параметры – закладка с таблицей для задания настраиваемых параметров модели MATLAB/Simulink (рис.3). Число строк в таблице соответствует количеству настраиваемых параметров модели. В поле Имя отображается название параметра, определенное в модели MATLAB/Simulink, поле не редактируемое. В поле Значение – значение параметра, в поле Единицы измерения – единицы измерения данного параметра. Для каждого настраиваемого параметра, переопределяемого скаляром из проекта, в поле Значение заносится имя соответствующего скаляра, в поле Единицы измерения - единицы измерения, в которых значение скаляра записывается в модель MATLAB/Simulink. Для редактирования значения или единиц измерения щелкните левой кнопкой мыши по редактируемому полю.
− Кнопка
- завершает работу и подтверждает все внесенные изменения.

− Кнопка
- завершает работу и отказывается от всех изменений.
