"通用机制"与Engee的共仿真:振荡器
在这个例子中,我们将使用cosimulation的例子来看看Engee与通用机制(UM)软件包的集成。 让我们在头脑中运行一个振荡器运动的三维模拟,在Engee中,一个用于生成振荡器的外力并从头脑模型中读取变量的模型。
导言
协同仿真是在不同仿真系统中对对象/系统或其组成部分进行联合、同步建模的过程。 使用内置的工具与[外部硬件和软件的工作обеспечением](https://engee.com/helpcenter/stable/ru-en/engee-hardware/integration-with-hardware.html Engee有机会实施这样的过程。
Universal Mechanism(UM)软件包旨在模拟平面和空间机械系统的动力学和运动学。 在其中,您可以开发任何复杂度的3-D机械系统,识别和计算,以及可视化模拟系统的变量。 此外,UM具有用于连接外部接口的工具,例如在专门的DLL库中描述。 我们将使用这种方法来实现模拟。
考虑的振荡器模型
[用户指南]中描述的心智建模的基本示例之一(https://umlab.ru/download/10/rus/gs_um.pdf )是弹簧(或振荡器)上的负载。 默认情况下,在安装的UM软件包中,它位于目录中 ...\UM Software Lab\Universal Mechanism\10\SAMPLES\TUTORIAL\oscillator\.
要使用该模型,我们需要两个程序-用于参数化振荡器模型的UM输入和用于对其建模的UM仿真。 它们都可以在软件包的试用版中使用[在开发人员的网站上](https://umlab.ru/pages/index.php?id=3 )。
在建模过程中,我们将使用以下UM仿真工具:
*动画窗口
*变量的主人
*图形窗口
*对象建模检查器
工程师模型
示例模型 - universal_mechanism_oscillator.engee
"常数"块 - Fx, Fy, Fz 它们将为UM模型生成输入值。 在它们被添加到总线后,它们被转移到块 UM Cosimulation 从Engee块库的"硬件"部分。 相同的单元将传输来自UM模型的可读信号。 在总线选择块之后,它们被记录以输出到图形。
UM和Engee集成
DLL库
客户端-服务器DLL库用于同步从Engee接收/传输数据 Engee_UM.dll,在整合心灵解算器的背景下工作。 它根据块中指定的端口定义用于接收/传输数据的端口 UM Cosimulation 在Engee模型中:
头脑中的信号接收端口:7489
UM信号传输端口:7490
此文件必须保存在要运行模拟的计算机上。 接下来,我们将在使用UM中的外部库时使用它。
配置文件
准备模拟的下一步是创建并添加一个名称为 settings.cfg,其中描述了信号的主要参数-名称,数量,在头脑中显示所需的模拟参数的输入值。 当前示例的文件是预先准备好的。 它包含以下对信号的描述:
Model_name振荡器示例 \
输入_SIGNAL_COUNT3 \
输出_SIGNAL_COUNT3 \
MODEL_PARAM_COUNT3 \
INPUT_SIGNAL_NAMES dX dY dZ \
OUTPUT_SIGNAL_NAMES Fx Fy Fz \
MODEL_PARAM_NAMES Cx Cy Cz \
INIT_MODEL_PARAM2000 2000 2000
此文件必须与UM模拟可执行文件一起放置在文件夹中。 umsimul.exe,默认情况下它是:
C:\Program 文件\UM软件实验室\通用机制\9\bin\umsimul。exe文件
振荡器模型的准备
按照以下步骤配置振荡器模型本身的输入参数:
*让我们在UM输入中打开一个振荡器的例子。
*添加一个双极力,一个具有线性特征的"外力"。
*力的应用:Body1-负载(砖),Body2-悬架(顶部)。
*参数 fx, fy, fz 确定所加力的振幅、频率和强度(F0)。
*保存模型。
添加的参数fx,fy,fz将从Engee传递到UM模型。
与外部库通信的向导
现在我们将在UM模型的参数和之前配置的用于从/到Engee接收/传输的参数之间建立连接。 为此,请按照以下步骤操作:
*启动UM仿真并打开振荡器模型。
*打开用于与外部库通信的向导。
*将路径添加到外部库 Engee_UM.dll.
*选择一个外部库,之后将显示输入和输出值的空行。
*打开变量向导,并从"线性变量"选项卡(r:x(Brick), r:y(Brick), r:z(Brick))在输入值行(dX, dY, dZ)通信向导,并从"所有力"选项卡-外力的参数 fx, fy, fz 来确定输出值 Fx, Fy, Fz. 因此,向导中配置的连接将显示如下:
工程师连接
要与Engee服务器和安装在用户计算机上的通用机制软件进行交互,您必须在Engee中安装外部硬件支持包,下载并运行客户端程序。 这个过程在示例[外部оборудованием入门]中有详细描述(https://engee.com/community/ru/catalogs/projects/vneshnee-oborudovanie-com-peredacha-signala-v-arduino )在Engee。
[医]共仿真
让我们继续进行模拟。 准备和配置与Engee的通信后,我们将执行以下步骤:
*让我们启动Engee模型。
*根据Engee客户端程序窗口中的信息消息,我们将确保Um对象已创建。
*让我们开始融入心灵。
*根据Engee客户端程序窗口中的信息消息,我们将确保与Um的交互已成功建立。
接下来,您可以观察Engee中系统的共仿真和通用机制。
在Engee中,可以随时更改值,而模型将响应外部影响的变化。 下面的条目显示了改变外力在Z轴上的投影值如何影响振荡器沿该轴坐标的变化。
模拟结果
在Engee和万向机构中,负载坐标沿Z轴的曲线图存在同步变化。:
结论
在本例中,我们研究了Engee和通用机制软件包的集成过程,并对具有双向数据交换的振荡器进行了共同仿真。