通讯参数包括数据位,停止位,波特率、校验方式。
数据位、停止位、波特率由单片机决定。组态王中的设定和单片机一致即可。校验方式参照“数据传输格式”中相关部分。
二、
格式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:
W:
DataType;需要交换的数据类型,1字节。1,字节;2,字,3,浮点型。
DataType的值  | 含义  | 
1  | 字节  | 
2  | 字  | 
3  | 浮点数  | 
DataNum:要读取的数据的数量,1字节。
DataAddr;为数据偏移地址2字节,低字节在前,高字节在后
Data: 实际传输的数据,低字节在前,高字节在后
DataLong:
CRC: 为从第一个字节 至CRC前的所有字节的异或值,1字节
ErrorCode:
ErrorCode数值  | 含义  | 
0  | 正确应答  | 
1  | 数据类型错误  | 
2  | 数据范围超限  | 
3  | 指令无法识别,应为R或W。  | 
4  | 校验错误  | 
以上协议若有不妥之处,可协商改动。

                
APP下载
登录
                                



                                    
                                    
                                    
                                
                                    
                                
                                    
                                
                                    
                                
热门文章
                    
                            
                            
                            
                            
                            
                            


