通讯配置
全局IO设备配置
功能介绍
使用接收发送数据模块前,需要先配置全局IO设备。
模块位置:顶部工具栏-通信配置-设备
操作说明
添加与删除
在通信配置窗口的设备Devices页中,点击添加按钮,会自动添加一个默认通信为tcp client的设备。概览列表的每一项右侧会显示开关,点击可以建立与设备连接。注意只有当建立连接才能发送数据。
可以用这种方式添加多个tcp设备。支持tcp client和tcp server。本地调试时需要下一个网络调试助手,不要求特定软件。
右键概览列表里的某一项,会弹出右键菜单,可以选择删除命令。
参数说明
在设备概览列表里选中该项,右侧会显示详细设置。可以设置的有:
- 设备名:在界面上显示的设备 名称,仅用于帮助用户区分不同设备
- 设备ID:唯一值,其他模块在直接使用设备进行通信时,需要指定设备ID
- 设备类型:设备本身类型,也是本软件与设备的连接方式。目前支持TCP客户端和TCP服务端
- IP地址:设备的IP地址
- 端口:设备的端口
- 使用结束符:开关标志。如果启用,则会根据结束符进行分包
- 结束符:例如单次接收到字符串"a,b,c!d,e,f!",在设置结束符为"!"时,那么其他模块在处理接收数据时会触发两次,分别是"a,b,c"和"d,e,f"
- "空"字符转空格:部分下位机由于各种原因可能会在传输过程中发送ASCII码为0的字符(NUL)。该字符容易对后续的字符串处理造成影响。当启用该选项时,会将所有的空字符转为空格。
全局接收事件配置
功能介绍
使用接收事件模块前,需要先配置全局接收事件。
接收事件仅能由IO设备触发。当满足某事件的触发条件时,该事件被触发,接收事件模块会接收到该事件以及对应的数据,但不会立刻执行,而是等到流程执行到接收事件模块后进行判断。如果接收到了事件则继续流程,否则暂停 执行并等待事件。
模块位置:顶部工具栏-通信配置-接收事件
使用说明
1. 添加与删除
点击概览列表右上方的“添加”按钮,会弹出接收事件创建窗口。目前仅能选择文本匹配事件。
可以用这种方式添加多个事件。
右键概览列表里的某一项,会弹出右键菜单,可以选择删除命令。
2. 设置
在概览列表里选中该项,右侧会显示详细设置。详细设置分为基础设置和规则设置。在详细设置中的所有输入框的修改都需要按下回车确认才能完成。
文本匹配事件
1. 基础设置
有以下基础设置:
- 绑定设备:绑定已创建的IO设备编号
- 分隔符:原始字符串根据此处设置的分隔符分割后 ,形成字符串列表,然后才能进行规则匹配。
- 长度比较:是否启用原始字符串长度比较
- 字符串长度:要判断的长度
2. 规则设置
点击添加可以创建一条新的规则。以下是规则配置项的含义:
- 位次:原始字符串根据分隔符分割后,形成字符串列表。位次指的是这条规则需要处理的字符串所在列表的位置(下标,从0开始)。例如"1,2!",分隔符为",",位次1,指的是对字符串"2"进行规则校验,而感叹号作为结束符,需要在tcp设备里设置,传到规则匹配的字符串是已经去除结束符后的字符串
- 名称:助记符,帮助用户区分不同位次字符串的含义,实际处理中没有作用
- 数据类型:指该位次的字符串转为指定数据类型后,和比较目标值进行比较。支持int, float, string。
- 比较方式:包括不比较、相等、不相等。int和float还支持在范围内和在范围外。范围判断时包含边界值,例如是否属于/不属于[min,max]而不是(min,max)
- 目标值:根据前面的数据类型来设置 例如要匹配字符串开头是否为1,新建规则并配置:位次为0,可以选择数据类型int或string,比较方式选择相等,目标值填入1即可。
模块事件
模块事件会通过某些特殊模块触发。例如相机模块会触发相机IO事件。例如当相机有硬触发信号,相机模块会进行处理,并触发指定的模块事件
模块事件没有需要设置的内容,它更多是占位作用,实际作用应见触发源(例如相机模块)的定义