SENT-232、SENT-USB网关开放通讯协议使用
  OfxKr3hzcJZ7 2023年12月08日 22 0

SENT-232、SENT-USB网关开放通讯协议使用_SENT-USB

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,多出来的那一个就是。

如果PC上有多个SENT设备,可以通过开关通道使能来确定具体是哪一个。

SENT-232、SENT-USB网关开放通讯协议使用_串口_02

1.2、设备管理器

经典的方式,插拔USB依旧实用!

SENT-232、SENT-USB网关开放通讯协议使用_串口_03

如果要修改COM可以 右键=》属性=》端口设置=》高级=》COM端口号。

需要注意不能重复,即使用中。

SENT-232、SENT-USB网关开放通讯协议使用_串口通讯_04

2、通讯协议

2.1、数据规范

SENT-232、SENT-USB网关开放通讯协议使用_串口通讯_05

如图,在串口通讯中,SENT网关的数据结构,以0x02开始,以0x03结束,开始/结束符(STX/ETX)各占1字节。

长度(LEN):ID(1字节)+DATA(N字节,具体需要根据对应ID的参数要求)

和校验(CHKSUM):(LEN + ID +(DATA0+....+DATAn))& FF;长度,ID数据的一字节和,即是求和再按位与FF。

2.2、例子——串口助手

序列码读取请求:02 01 5A 5B 03

网关响应: 02 05 5A FF FF FF FE 5A 03

上述开放协议中请求序列码读取指令,其中01为数据长度,5A为ID,5B(0x01+0x5B)为和校验。

响应中,05(LEN),5A(ID),FF FF FF FE(data),5A(CHKSUM)=(0x05+0x5A+0xFF+0xFF+0xFF+0xFE)& FF

SENT-232、SENT-USB网关开放通讯协议使用_SENT-232_06

如图,0108044A是我的SENT-USB的S/N,接下来用串口助手向它发送请求

SENT-232、SENT-USB网关开放通讯协议使用_串口_07

可以看到响应回的数据为02 05 5A 4A 04 08 01 B6 03,其中data为4A 04 08 01,从高字节到低字节刚刚好为0108044A。

SENT-232、SENT-USB网关开放通讯协议使用_SENT-USB_08

由于我SENT1设置的为RX,SENT2为TX,所以我用ID=51(十进制)让SENT2通道发送数据。可以看到这里对LEN的要求为3-5字节,也就是除了ID的1字节,还需要2字节的DATA。

SENT-232、SENT-USB网关开放通讯协议使用_串口通讯_09

从这张表就可以看出2字节DATA代表的内容,首先DATA0(1字节)高4位表示数据数,也许有其他作用,但是可以看出好像并不会对响应数据有影响,影响数据的是LEN。低4位表示Status。

DATA1-DATA3表示SENT数据。CRC视情况设置。

下面用串口工具进行测试,这里需要注意发送的数据为十六进制,SENT2发送请求ID=51=0x33。

SENT-232、SENT-USB网关开放通讯协议使用_串口_10

2.3、例子——Python串口通讯

除了串口助手,也可以使用编程的方式使用通讯协议实现自定义产品控制界面,串口通讯可以在多种编程语言中被轻松的实现,下面是一个简单的请求序列码的案例。

SENT-232、SENT-USB网关开放通讯协议使用_串口通讯_11

结果截图:

SENT-232、SENT-USB网关开放通讯协议使用_SENT-232_12

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月08日 0

暂无评论

OfxKr3hzcJZ7