接收事件可对外部设备发送给VM数据进行解析配置,使其从一段数据解析成所需要的值。将接收到的数据或自定义数据重新组装再回复给外部设备,同时还支持作为全局触发中的触发事件执行相关操作。
完成数据解析后,可将接收到的数据或自定义数据重新组装再回复给外部设备,也可作为全局触发中的触发事件执行相关操作。
接收事件包括文本-协议解析、文本-协议组装、字节匹配-协议组装和脚本四种方式。
操作方法:
打开通信管理并选择接收事件。
点击接收事件列表右侧的。
根据需求选择处理方式和事件类型。
点击创建即可完成接收事件的添加。
(可选)接收事件列表处选中事件并右键单击可重命名事件或删除事件。
文本-协议解析可将外部设备发送给VM的字符串数据根据设置的分隔符和规则进行解析。只有内容与完全符合设置的规则才可解析成功。
相关参数释义如下:
选择该事件接收哪个外部设备发送的字符串数据。仅支持选择设备管理中已添加的设备。若选择的是PLC设备,还需在绑定地址处选择具体的寄存器地址。
可下拉选择或自定义输入分隔符,将VM接收的字符串数据根据设置的分隔符隔开。
启用该功能后,只有VM接收的字符串长度与设置的字符长度完全一样,才会进行数据解析,否则不对接收的字符串数据进行解析。
字符长度默认为0,此时解析会失败,需根据需求自行修改。
分隔符也代表一个字符。
点击可添加一条数据,每条数据需根据需求进行设置。支持添加多条数据。
解析字符串数据时,按照输出列表添加的数据顺序从上往下依次执行解析。其中一条解析失败,说明发送的字符串数据不符合规则,无法解析。
文本-协议组装可理解为在文本-协议解析的基础上,增加单个数据的比较以及组装功能,同时还可以将组装结果回复给外部设备。参数分为输入配置和组装配置。
将外部设备发送给VM的字符串数据根据设置的分隔符和规则进行解析。
选择该事件接收哪个外部设备发送的字符串数据。仅支持选择设备管理中已添加的设备。若选择的是PLC设备,还需在绑定地址处选择具体的寄存器地址。
可下拉选择或自定义输入分隔符,将VM接收的字符串数据根据设置的分隔符隔开。
启用该功能后,只有VM接收的字符串长度与设置的字符长度完全一样,才会进行数据解析,否则不对接收的字符串数据进行解析。
字符长度默认为0,此时解析会失败,需根据需求自行修改。
分隔符也代表一个字符。
点击可添加一条数据,每条数据需根据需求进行设置。支持添加多条数据。
解析数据时,按照解析列表添加的数据顺序从上往下依次执行解析。其中一条解析失败,说明发送的字符串数据不符合规则,无法解析。
将输入配置解析后的数据组装成新的数据,并设置是否回复给外部设备。
字节匹配-协议组装与前面两种接收事件有所差别,是对外部设备发送的16进制字节数据进行解析和组装。该接收事件根据字节位置以及其他规则进行解析。参数分为解析配置和组装配置。
将外部设备发送给VM的字节数据根据设置的规则进行解析。
解析数据的判断逻辑为:
。任何一步解析失败,则整体解析失败。
选择该事件接收哪个外部设备发送的内容。仅支持选择设备管理中已添加的设备。若选择的是PLC设备,还需在绑定地址处选择具体的寄存器地址。
启用该功能后,只有VM接收的字符长度与设置的字符长度完全一样,才会进行数据解析,否则不对接收的内容进行处理。
字符长度默认为0,此时解析会失败,需根据需求自行修改。
分隔符也代表一个字符。
未开启该功能时,直接对外部设备发送的HEX数据进行解析;开启时,先将ASCII数据转换为HEX数据,再进行解析。
可选与和或。设置规则列表解析后的数据时都要满足设置的比较规则(对应与)还是满足一条即可(对应或)。
点击可添加一条数据,每条数据需根据需求进行设置。支持添加多条数据。
解析后数据的名称,默认为in*,可自定义修改。
选择需解析字节的起始和终止位。第一位为起始位,第二位为终止位。VM对选择的起始和终止位间的数据(包含起始和终止位)进行解析。
可设置此条解析数据的类型,可选int、float、string和byte。
可设置数据解析后的排列顺序,可选ABCD、BADC、DCBA、CDAB。
假设:收到的数据为01 00 64 00 00 00,类型设置为int,字节起止位置为2、5,则需要64 00 00 00进行解析。当顺序选择ABCD时,输出为1677721600;选择DCBA时,输出为100。
类型选择byte时,该参数无效,无需设置。
可选不比较、!=(不等于)、=、上升沿、下降沿、更改为。
将输入配置解析后的数据组装成新的数据,并设置是否回复给外部设备。
此处的组装配置与文本-协议组装的组装配置仅新增byte类型数据的组装,其他操作及功能基本一致,具体参见文本-协议组装的组装配置,此处不再赘述。
脚本通过加载的python脚本对外部设备发送的数据解析后输出到组装列表中。
VM安装后自带接收事件的脚本示例RecvEventTest.py,可到软件安装路径下获取。具体路径为:..\VisionMaster4.3.0\Applications\ModuleProxy\x64。
示例脚本仅供参考,可根据需求自行修改或全新开发。
此处使用的脚本为通信相关脚本,使用python开发。与VM中的全局脚本、脚本模块存在差别,不可混用。
相关参数释义如下: