2023-11-30
干货分享 | SENT-232、SENT-USB网关开放通讯协议使用
作者:Triv 点击:53
Part 1 COM口检测
SENT-USB或SENT-RS232模块可以通过USB连接PC进行通讯,另外,SENT-RS232需要额外连接电源(9-30 V),连接完毕后power灯亮起。首先需要确定对应设备的COM口,这里提供两种方式。
1.1 SENT Gateway Analyser
使用官方软件确定COM,软件会自动检测是否其支持的SENT网关,默认比特率为115200,如果成功连接,请记住COM口名。
或者可以选择重新插拔USB,每次打开软件都会扫描一次COM,多出来的COM就是我们要找的。
如果PC上有多个SENT设备,可以通过开关通道使能来确定具体是哪一个。
2.1 数据规范
如图,在串口通讯中,SENT网关的数据结构以0x02开始,以0x03结束,开始/结束符(STX/ETX)各占1字节。
长度(LEN):ID(1字节)+DATA(N字节,具体需要根据对应ID的参数要求)
和校验(CHKSUM):(LEN + ID +(DATA0+....+DATAn))& FF; 长度,ID数据的一字节和,即是求和再按位与FF。
上述开放协议中请求序列码读取指令,其中01为数据长度,5A为ID,5B(0x01+0x5B)为和校验。
如图,0108044A是我的SENT-USB的S/N,接下来用串口助手向它发送请求。
可以看到响应回的数据为02 05 5A 4A 04 08 01 B6 03,其中data为4A 04 08 01,从高字节到低字节刚刚好为0108044A。
由于我SENT1设置的为RX,SENT2为TX,所以我用ID=51(十进制)让SENT2通道发送数据。可以看到这里对LEN的要求为3-5字节,也就是除了ID的1字节,还需要2字节的DATA。