跳转至

通信配置

通信模块包含通信监听和输出配置,支持 TCP/UDP、串口、Modbus、PLC 协议(MC/Fins/Snap7)、ODBC 数据库等多种通信方式。

TCP 客户端/服务端/UDP

建立通信

在工具栏找到"工具 - 应用配置",点击"应用配置"按钮打开应用配置页面。

点击添加按钮,在弹出的窗体内选择需要添加的通信模式:TCP 客户端或者 TCP 服务端(两个协议操作类似,不重复描述)。

填写名称(注意不要以空格、数字或 [] 等特殊字符开头),输入服务器地址和端口点击确定按钮(本机地址默认 127.0.0.1)。

添加完成后,通信配置模块会增加一条记录。

如果检测到端口未打开,则连接状态为"开启中";如已有端口打开,则状态为"已连接"。

注意:当灵闪建立 TCP 通讯时,如果创建的是客户端,则在网络助手中需要打开服务端,且端口要保持一致才能建立连接。

输出适配器

当通讯建立连接后,灵闪中配置的算法结果就可以发送到通信中。要实现这个功能,需要在灵闪中做相应配置。首先找到输出配置按钮:

点击输出配置按钮,进入输出配置页面:

点击添加按钮,进入详细配置界面:

通过这样的方式,把灵闪中的算法结果输出到了通信中:

通信监听(图像源控制)

操作前提:已经完成图像源的创建并将其绑定在 task 中。

  1. 打开"工具 - 通信监听",进入监听任务管理界面

  1. 创建通信监听

  1. 点击添加按钮进入监听任务配置区域

  1. 进入关联动作配置界面配置动作:选择动作为"图像源控制",设置延时为 1000ms,选择图像源,并勾选动作回复,点击确定按钮

参数说明:

  • 延时:在通信信号发出后延迟设置时长做动作响应
  • 动作回复:在执行完操作指令后,回复给通信的动作(0 失败,1 成功)

  • 在网络调试助手中勾选要发送信号的客户端信息,并在数据发送区入关键字和指令(格式为"关键字:指令",注意区分冒号——正确应使用英文符号)。信号发送成功后,1 秒后灵闪给出软触发动作,帧数+1,并且调试工具中收到动作回复 1(即成功)

串口

串口的使用说明

为便于理解,引入串口模拟工具来讲解。

首先需要在灵闪中创建一个虚拟串口进行通信。找到"工具 - 应用配置"进入通信配置界面,点击添加按钮,选择通信类型为"串口",设置通信的波特率(常用波特率有 9600 和 115200)。

打开串口通信调试工具,打开 COM2 端口。此处创建了 COM2 和 COM3 为一组建立通讯的端口(保证其他配置信息相同)。

输出适配器

同 TCP 中的操作,可以配置算法结果输出到串口中,步骤不再详述,结果如下:

Modbus

找到工具栏的"工具 - 应用配置"进入应用配置界面,选择通信模块,添加 Modbus 通信(以下介绍中也将使用模拟器来帮助理解),以 TCP 为例(RTU 类型同理)。

参数说明

  • 连接类型:RTU、TCP
  • 串口相关参数
    • 波特率:9600、115200
    • 数据位:5、6、7、8
    • 校验位:N、E、O
    • 停止位:1、2
  • TCP 相关参数:连接端口(*) 127.0.0.1:502 (指定和哪台电脑的哪个进程通信)
  • 大小端对应关系
    • ABCD → big-endian
    • BACD → big-endian swap
    • DCBA → little-endian swap
    • CDAB → little-endian

输出适配器

配置输出适配器,输出算法结果(注意:寄存器地址和输出标记地址不能重复)。

通信监听(修改全局变量)

在工具栏找到"工具 - 通信监听",点击打开配置页面,点击添加按钮进入监听配置页面:

  • 选择通信类型为 Modbus 连接
  • 选择对应的监听设备
  • 填写好任务名称
  • 选择解析类型:浮点型(样例中创建了一个浮点型的全局变量;如果要修改的全局变量是 int 型,则需要选择解析类型为整型)
  • 填写监听地址(对应 Modbus 中的地址位)
  • 对关联动作进行配置,选择动作类型为"修改全局变量"

模拟通信工具中发送数值对灵闪中的全局变量进行修改(实际应用中可以通过设备端修改),需要注意数据类型。

MC / 基恩士MC / Fins / Snap7

建立 MC 通信,创建一个 MC 的通信协议(前提:需要有一个同网段的 PLC 正常连接)。

借助一款模拟工具来模拟 PLC 的读取和写入,在模拟工具中建立通讯连接后,输入读取的地址块号,选择读取的数据类型,即可读取到灵闪向 PLC 中写入的数据。

通信监听(修改算法参数)

对于算法参数有多种类型:

  • 布尔型:常见算法参数的启用/关闭
  • int 型:设置数量等
  • float 型:距离、阈值等参数
  • point:点坐标
  • String:脚本类等

可根据实际应用选择。

配置完成后可以通过在 PLC 中写入的方式改变灵闪中对算法参数的修改和控制。

Fins 和 Snap7 的操作方式类似,此处不再赘述,可以根据选用协议选择适合的通信方式。

ODBC

以 MySQL 为例,需要合作方提供的信息概要:

  • MySQL 版本,安装指定版本的 ODBC 连接程序
  • 数据库的编码类型(ANSI、Unicode)
  • IP 地址、端口
  • MySQL 登入账户密码
  • 表名、字段名、主键、是否仅仅允许更新数据库
  • 权限相关:登陆权限 / SELECT / UPDATE / INSERT(如果权限和相关配置发生变化且灵闪已连接,请重开灵闪 ODBC 设备进行重连)

ODBC 配置

下载安装指定数据库的 ODBC 连接程序。例如 MySQL 下载链接:https://dev.mysql.com/downloads/connector/odbc/

注意:需要下载指定版本 MySQL 的 ODBC 连接器,不同版本不兼容(譬如 mysql-installer-community-8.0.40.0.msi 则下载 mysql-connector-odbc-8.4.0-winx64.msi)。

安装 ODBC 适配程序(注意:需要合作方提供,不同类型的数据库需要安装指定的 ODBC 连接程序)。

例如 MySQL 安装 mysql-connector-odbc-8.4.0-winx64.msi 默认安装即可,也可用 mysql-connector-odbc-8.0.40-win32.msi。

注意:使用 32 位软件时安装 32 位的 ODBC 适配程序;使用 64 位软件安装 64 位的 ODBC 适配程序。

配置 Windows ODBC 数据源管理程序

  • 64 位软件配置程序位置:控制面板 \ 系统和安全 \ 管理工具 \ ODBC 数据源(64 位)
  • 32 位软件配置程序位置:控制面板 \ 系统和安全 \ 管理工具 \ ODBC Data Sources (32-bit)

添加 ODBC 连接

注意:图中第 3 步需要合作方提供编码方式,一般使用 Unicode 驱动。

  • ANSI 驱动:MySQL 早期的版本使用的默认驱动程序,能处理英文及一些其他西欧语言的字符,但是可以获得更快的性能
  • Unicode 驱动:能够处理各种语言和符号,包括中文、日文、阿拉伯文等

常用 SQL 语句

  • 清空表:TRUNCATE TABLE mysql_test.test
  • 查表:SELECT * from mysql_test.test
  • 查表行数:SELECT COUNT(*) FROM mysql_test.test

配置连接

  • 数据库标识:自定义一个名称(注意:需要在灵闪中输入)
  • 自定义描述信息
  • 本地连接模式直接写 localhost,远程连接则输入 IP 地址(*注意:需要合作方提供)
  • 端口号(*注意:需要合作方提供,MySQL 默认 3306)
  • MySQL 账户名称(*注意:需要合作方提供)
  • MySQL 账户密码(*注意:需要合作方提供)

点击 Test 后会弹窗提示成功后会在左侧下拉框中展示已有的数据库。

如果失败:按照弹窗提示进行排查。常见错误:检查用户密码以及相关权限是否正确(*注意如果远程登入需要开启远程登入的权限,如果权限和相关配置发生变化且灵闪已连接,请重开灵闪 ODBC 设备进行重连)。

注意:以上 Test 提示成功后方可开始配置灵闪。

image-20241031135910543

灵闪配置

通信设备配置

按照如图创建 ODBC 设备。

注:如果权限和相关配置发生变化且灵闪已连接,请重开灵闪 ODBC 设备进行重连。

image-20241101110101017

输入适配器配置

按照如下关系进行配置:

  • 输入列名称,绑定需要输出的参数
  • 标识主键当仅更新的时候必须用到
  • 指定输出的 ODBC 设备以及输出表名称,标识是否仅更新数据库

操作模式说明:

  • 插入或更新:先查询数据是否存在,如果存在则进行更新,否则进行插入
  • 仅更新:仅会修改数据的已有数据,当数据不存在时(即主键标识的数据)则不进行任何操作,并且日志输出
  • 仅插入:如果数据已存在则插入失败

支持的数据类型:bool、int、double、string

image-20241031150921945