通信配置¶
通信模块包含通信监听和输出配置,支持 TCP/UDP、串口、Modbus、PLC 协议(MC/Fins/Snap7)、ODBC 数据库等多种通信方式。
TCP 客户端/服务端/UDP¶
建立通信¶
在工具栏找到"工具 - 应用配置",点击"应用配置"按钮打开应用配置页面。

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

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

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

如果检测到端口未打开,则连接状态为"开启中";如已有端口打开,则状态为"已连接"。
注意:当灵闪建立 TCP 通讯时,如果创建的是客户端,则在网络助手中需要打开服务端,且端口要保持一致才能建立连接。

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

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

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

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

通信监听(图像源控制)¶
操作前提:已经完成图像源的创建并将其绑定在 task 中。
- 打开"工具 - 通信监听",进入监听任务管理界面

- 创建通信监听

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

- 进入关联动作配置界面配置动作:选择动作为"图像源控制",设置延时为 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 提示成功后方可开始配置灵闪。

灵闪配置¶
通信设备配置¶
按照如图创建 ODBC 设备。
注:如果权限和相关配置发生变化且灵闪已连接,请重开灵闪 ODBC 设备进行重连。

输入适配器配置¶
按照如下关系进行配置:
- 输入列名称,绑定需要输出的参数
- 标识主键当仅更新的时候必须用到
- 指定输出的 ODBC 设备以及输出表名称,标识是否仅更新数据库
操作模式说明:
- 插入或更新:先查询数据是否存在,如果存在则进行更新,否则进行插入
- 仅更新:仅会修改数据的已有数据,当数据不存在时(即主键标识的数据)则不进行任何操作,并且日志输出
- 仅插入:如果数据已存在则插入失败
支持的数据类型:bool、int、double、string
