Engee 文档

欧拉支持包

Euler 支持包使 AnyMath 能够通过在 Euler 求解器上下文中运行的客户端-服务器DLL与 Euler 求解器一起工作,并与 AnyMath 交换信号。

包运行在子系统之上 恩吉。综合服务.

默认情况下使用端口:

  • 接收信号在* 欧拉*:*7489*

  • 来自* 欧拉 的信号传输:*7490

要求

  • 子系统已安装并运行 恩吉。综合服务.

  • 安装了*Euler*求解器。

  • 端口*7489*和*7490*在本地可用(不被其他应用程序占用,OS/防火墙规则允许)。

  • 的* 设置。cfg*配置位于*Euler*项目文件夹中(打开* 旁边)。elr*项目文件);集成DLL库可以位于任何文件夹中,并使用指定的路径连接到*Euler*。

的*设置。cfg*文件应与打开的 Euler(位于同一文件夹中。elr)项目。 否则,Euler 将无法读取配置。

快速启动

  1. AnyMath 添加一个块到画布 hardware-euler/euler-cosimulation.adoc 并生成*设置。带有信号参数的cfg*文件—​参见配置设置.cfg[settings-cfg-example,Example settings。cfg]下面。

  2. 放置*设置。cfg*在 欧拉)的文件夹中。elr)开放项目位于。

  3. Euler 中,切换到顶部菜单中的 "编辑项目" 模式。

  4. 在右侧对象选择窗口中:

    • 选择 传感器 对象:

      euler app 1

    • 点击 "创建对象"

      euler app 2

    • 在弹出窗口中,选择对象 "AnyMath模型":

      euler app 3

  5. 在出现的窗口中,按 设置中指定的名称将AnyMath*的输入和输出信号与*Euler*中的相应传感器(sensor)相匹配。cfg*。

    euler app 4

    euler 中的传感器*类型对象旨在获取有关机械模型运动的数值信息。 每个传感器返回一个实际值,其物理维度取决于其创建方法。

    作为 AnyMath 欧拉*仿真的一部分,传感器被用作信号定位点:来自*AnyMath*的输入信号和来自*Euler*的输出值通过* 传感器*对象精确连接。 有关欧拉传感器的更多信息,请参阅 链接

  6. 在同一窗口中,设置*AnyMath对象的基本参数。*:

    • 指定自定义对象名称(例如,engee_connector);

    • 设置集成DLL的路径;

    • 检查输入和输出信号的数量(取自*设置。cfg*文件);

    • 指定 欧拉 模型的计算步骤。

    euler app 5

  7. 通过从列表中选择传感器,将 AnyMath 的输入和输出信号分配给 Euler 中的相应传感器(sensor):

    euler app 6

    结果,所有的信号将被分配给相应的传感器。:

    euler app 7

  8. 接下来,打开"文本编辑器"脚注:[欧拉文本编辑器是欧拉模型的描述性(以代码形式)表示。]:

    euler app 8

    并检查 AnyMath 和*Euler之间的连接器对象是否已出现在项目代码中。*:

    euler app 9

  9. 欧拉 切换到 "项目研究"模式:

    euler app 10

  10. AnyMath 中运行模型并等待模拟开始。 AnyMath客户端程序中应出现一条随时可模拟的消息。整合

  11. 之后,在 欧拉 中,单击 "运动动力学计算"按钮 euler app 14.

  12. 计算完成后,单击 "重置为初始状态" 以释放仿真资源并重新启动模型。:

    euler app 12

配置设置。[医]cfg

的*设置。cfg*文件描述了 AnyMathEuler 之间交换的信号的模型和组成:名称,数量,模型参数和测井模式。

设置的例子。[医]cfg
MODEL_NAME OscillatorExample
INPUT_SIGNAL_COUNT 3
OUTPUT_SIGNAL_COUNT 3
MODEL_PARAM_COUNT 3
INPUT_SIGNAL_NAMES dX dY dZ
OUTPUT_SIGNAL_NAMES Fx Fy Fz
MODEL_PARAM_NAMES Cx Cy Cz
INIT_MODEL_PARAM 2000 2000 2000
CONTINUOUS_STATE_NUM_COUNT 0
DISCRETE_STATE_NUM_COUNT 0
DIAGNOSTIC 1
INIT_MODEL_PARAMCONTINUOUS_STATE_NUM_COUNTDISCRETE_STATE_NUM_COUNT 参数是保留的,将来不会使用。

日志记录

DIAGNOSTIC 参数控制将日志记录到文件*engee_logs。txt*(位于*设置旁边。cfg*)。

  • * 诊断1*--日志记录已启用。

  • * 诊断0*--日志记录被禁用。

片段engee_logs的示例。txt的
[2025-12-07 22:12:54] Euler model time: 0.053750
[2025-12-07 22:12:54] {docs_engee} model time: 0.054000
[2025-12-07 22:12:54] Received from {docs_engee}, signal dX: 0.400000
[2025-12-07 22:12:54] Received from {docs_engee}, signal dY: 0.300000
[2025-12-07 22:12:54] Received from {docs_engee}, signal dZ: 0.500000
[2025-12-07 22:12:54] Send from Euler, signal Fx: 0.305510
[2025-12-07 22:12:54] Send from Euler, signal Fy: 0.104000
[2025-12-07 22:12:54] Send from Euler, signal Fz: 0.524999

重要事项

为了使DLL工作,有必要将开始集成到 Euler(具有给定步骤)的时刻与从 AnyMath 开始信号传输的时刻同步。

AnyMath*中启动模型比在*Euler*中集成更早。 Euler*中的积分过程必须在AnyMath*中启动* 不迟于30秒*。