Engee 文档
Notebook

通过 COM 发送数据:Arduino Blink

本例介绍 Engee 在连接外部硬件的情况下进行建模。运行 Engee 的计算机的 COM 端口处于向 Arduino MEGA 微控制器的 COM 端口发送信息的模式。微控制器接收到信息后会进行处理,以控制内置的 LED。在运行时调整模型参数,可以更改发送到 Arduino 的数据。

简介

恩基具有连接外部设备 - 的功能。 例如 COM 端口。该接口不仅可用于连接办公和多媒体设备,还可用于连接传感器、微控制器、可编程逻辑控制器等仪器设备。
为了熟悉在Engee模型中使用 COM 连接的可能性,在本例中,我们将向Arduino MEGA 微控制器发送数据 - 一个周期性离散信号。

范例模型

示例模型 -com_send_blink.engee 包含 Engee 模块库Interfaces -> COM 部分的两个模块:

  • COM Setup - 用于连接设置、
  • COM TX - 用于从 Engee 传输串行数据。

image_2.png

接口设置,块COM Setup

  • 端口名称 - 在 Windows 系统中为 "COM5";
  • 波特率,波特 - 9600;
  • 接收-发送数据位数,比特 - 8;
  • 接收-发送停止位数,位 - 1;
  • 奇偶校验位 - 无。

在发送器模块COM TX 中,必须定义端口名称--"COM5 "和发送缓冲区大小 = 1。

向该程序块的输入端传输数据:

  • 传输数据数组中元素的数量:在本例中,格式为UInt32的数量 = 1、
  • UInt8 格式传输的数据向量。

第二个输入将提供一个周期性脉冲信号,振幅 = 1,填充因子$D=50\, \%$ ,周期可变。

执行模型的准备工作

在 Engee 中运行模型之前,必须按照手册中的说明执行几个准备步骤。

安装支持软件包

在 Engee 命令行运行以下命令:

``bash.package.install("Engee-Device-Manager") engee.package.install("Engee-Device-Manager")


执行命令后,将显示以下信息,表明 Engee 已成功安装外部硬件支持软件包:

image_2.png

使用所提供的链接(取决于操作系统),您需要下载压缩包,解压缩并运行客户端程序。

连接 Engee

然后,在打开的客户端程序窗口中输入收到的连接链接,点击 "连接 "按钮:

image.png

客户端程序窗口中的 "与服务器的连接已建立!"消息和 "已连接 "连接状态表明 Engee 已获得访问计算机接口的权限。

❗️ 请勿在操作过程中关闭用户程序窗口,否则将失去连接。

连接 Arduino

现在让我们将设备连接到模型中指定的 "COM5 "端口。

❗️ 根据本示例连接设备的端口名称可以关闭。确定设备连接的端口名称,并在模型的接口设置块中进行设置 (COM SetupCOM TX)。

在本示例中,Arduino MEGA 连接到端口 "COM5",Arduino IDE 中的连接状态显示了该端口:

image.png

您也可以在 Arduino IDE 连接设置中定义端口:

image.png

Arduino 编程

用于处理 Arduino 通过串行端口从 Engee 接收到的数据的程序见草图arduino_com_read_sketch.ino

程序运行原理详见草图注释。工作原理如下。如果控制器接收到 Engee 发出的 "1",它就会点亮电路板上的 LED,如果没有收到 "1",LED 就不会点亮。

要对 Arduino Mega 编程,只需执行以下操作:

  • 下载带有草图的arduino_com_read_sketch 文件夹、
  • 在 Arduino IDE 中打开草图、
  • 确定电路板型号 -Arduino Mega or Mega 2560 和端口名称 - 本例中为COM5
  • 检查草图、
  • 将其上传到电路板。

如果下载和编译成功,就可以在 Engee 中执行模型,通过 COM 向 Arduino MEGA 发送信号。

执行示例模型

❗️ 在 Engee 中运行模型之前,请确保已完成以下步骤: 1.外部硬件支持包已安装。 2. 支持包中的客户端程序正在运行。 客户端程序中的 Engee 连接状态为 "已连接"。 控制器已连接到 COM 端口。 5.COM 信号处理程序正在控制器上运行。 控制器连接的 COM 端口名称与模型接口模块中设置的名称一致。

让我们在 Engee 中运行模型,编译后我们可以观察到 Engee 图形上脉冲信号的形成以及 Arduino MEGA 板上 LED 的同步闪烁:

ubar.gif

在模型运行时,可以更改模块的参数,换句话说就是 "即时 "更改。从上面的视频可以看出,Engee 成功地通过 COM 端口向微控制器发送了频率可变的周期性脉冲信号。

结论

本示例模型考虑了与外部设备建立连接的过程,还描述了将信号从 Engee 传输到个人电脑串行端口的开始工作。示例模型产生周期性脉冲信号,与计算机连接的 Arduino MEGA 微控制器通过 COM 端口接收该信号并进行进一步处理。