前言
今天在开发RMS时,通过S1F3指令获取设备的SVID状态数据,突然设备返回的数据出现异常,返回的数据除了第一个有数据,其他的都为空,这是最简单的通讯指令了,无语的,之前试了多少遍都没出现此类情况,
一、S1F3通讯指令是什么?
SVID:设备状态变量ID
S1F3:通过发送一条此包含状态变量ID(SVID)列表的消息来查询这些状态变量(SV)的当前值
二、S1F3通讯出现异常
日志倒是记录有返回值,代码里就是无法获取除第一个以外的设备其他状态变量的返回值
1、正常解析
`
2、解析异常
分析原因
原来在解析设备发送过来的数据时,如果发送过来的数据为空,在byte数组里对应的标识是不一样的,而且此值不在byte数组的位置是不存在的
异常byte数组如图:
、
总结
记录点点滴滴