协议解析

协议解析模块主要用于将订阅的数据按照规则分割成需要的数据。当需要对PLC等通信设备发送的数据或其他数据进行拆分时,可使用该模块。

使用方法

该模块一般与接收数据模块配合使用。接收数据模块作为前序模块,用于从通信设备接收数据。

参数配置

方式选择

模块支持多种解析方式,可选文本解析、脚本解析和字节解析。

文本解析

根据输出列表制定的规则以及分隔符进行解析。都满足时,方可正常解析并输出结果;否则,模块解析失败,不输出结果。

解析内容

订阅需解析的数据,可以自定义输入需解析的数据。

分隔符

设置解析内容中各个数据间的分隔符,可下拉选择也可自定义修改。

输出列表

设置需解析的数据,可新增多个。点击后,自定义名称类型(支持int、float和string)根据需求选择即可。

脚本解析

可根据python脚本中设置的规则对16进制数据、字符串进行解析。解析后,均以字符串方式输出。

解析内容

订阅需解析的数据,可以自定义输入需解析的数据。

路径选择

点击选择需加载的脚本文件。

VM安装后自带该模块的脚本示例Receive.py,可到软件安装路径下获取。具体路径为:..\VisionMaster4.3.0\Applications\Module(sp)\x64\Communication\DataAnalysisModule。

说明:
  • 示例脚本仅供参考,可根据需求自行修改或全新开发。

  • 此处使用的脚本为通信相关脚本,使用python开发。与VM中的全局脚本、脚本模块存在差别,不可混用。

输出列表

显示脚本文件中的参数名称及类型。

getOutputParam()函数定义,仅支持string、int、float三种类型。

说明:

模块结果中参数的内容由handleMessage(info)处理。

字节解析

可对16进制数据、字符串根据设置的规则进行解析。解析后,输出的数据类型以ASCII数据参数的设置为准。

解析内容

订阅需解析的数据,可以自定义输入需解析的数据。

ASCII数据

未开启该功能时,以16进制方式进行解析;开启时,以ASCII字符方式进行解析。

输出列表

点击可添加一个参数,每个参数需根据需求进行设置。支持添加多个参数。

名称

解析后数据的名称,默认为out*,可自定义修改。

类型

可设置此条解析数据的类型,可选int、float和string。

起止位置

选择需解析字节的起始和终止位。第一位为起始位,第二位为终止位。模块对选择的起始和终止位间的数据(包含起始和终止位)进行解析。

顺序

可设置数据解析后的排列顺序,可选ABCD、BADC、DCBA、CDAB。

模块结果

该模块的模块结果涉及参数请参见协议解析