×
嵌入式 > 嵌入式开发 > 详情

单片机与组态王通信协议

发布时间:2020-08-21 发布时间:
|
一、通讯参数:

通讯参数包括数据位,停止位,波特率、校验方式。

数据位、停止位、波特率由单片机决定。组态王中的设定和单片机一致即可。校验方式参照“数据传输格式”中相关部分。

二、数据传输格式:

格式1、组态王发送地址请求格式:(此时检验位为1)

ENQ

Sta

EOT

CRC

格式2、单片机应答地址格式:(此时检验位为0)

ACK

Sta

ETX

CRC

格式3、组态王读数据请求格式:(此时检验位为0)

ENQ

R

DataType

DataAddr

DataNum

EOT

CRC

格式4、单片机应答读数据格式(正确):(此时检验位为0)

ACK

DataLong

Data….

ETX

CRC

格式5、单片机应答读数据格式(错误):(此时检验位为0)

NAK

ErrorCode

ETX

CRC

格式6、组态王写数据请求格式:(此时检验位为0)

ENQ

W

DataType

DataAddr

Data….

EOT

CRC

格式7、单片机应答写数据格式(正确):(此时检验位为0)

ACK

ErrorCode

ETX

CRC

三、时序:

读数据:

组态王

单片机

第一步:格式1

第二步:格式2

第三步:格式3

第四步:格式4或格式5

第五步:如果第四步单片机执行格式4,结束。否则,执行格式1。

第六步:格式2

第七步:格式3

第八步:格式4或格式5

写数据:

组态王

单片机

第一步:格式1

第二步:格式2

第三步:格式6

第四步:格式7

第五步:如果第四步单片机执行格式7的ErrorCode=0,结束。否则,执行格式1。

第六步:格式2

第七步:格式6

第八步:格式7

四、协议说明:

数据传输:所有数据均为16进制数

ENQ(头)

H05

询问

请求帧的开始代码

ACK(头)

H06

确认

ACK应答帧的开始代码

NAK(头)

H15

否认

NAK应答帧的开始代码

EOT(尾)

H04

正文的结束

请求帧的结束ASCII代码

ETX(尾)

H03

结束正文

应答帧的结束ASCII代码

Sta:: 设备地址1字节

R:读标志1字节(0x52)

W:写标志1字节(0x57)

DataType;需要交换的数据类型,1字节。1,字节;2,字,3,浮点型。

DataType的值

含义

1

字节

2

3

浮点数

DataNum:要读取的数据的数量,1字节。

DataAddr;为数据偏移地址2字节,低字节在前,高字节在后

Data: 实际传输的数据,低字节在前,高字节在后

DataLong:单片机返回Data的字节数,2字节,低字节在前,高字节在后

CRC: 为从第一个字节 至CRC前的所有字节的异或值,1字节

ErrorCode:

ErrorCode数值

含义

0

正确应答

1

数据类型错误

2

数据范围超限

3

指令无法识别,应为R或W。

4

校验错误

以上协议若有不妥之处,可协商改动。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
NXP推出Wi-Fi 6E三频段SOC 充分释放6GHz频谱潜力