×

1 Использование модели SimInTech в EULER

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