网站大量收购独家精品文档,联系QQ:2885784924

组态王上位机与单片机通信协议.docVIP

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
组态王上位机与单片机通信协议

一、???? 通讯参数: 通讯参数包括数据位,停止位,波特率、校验方式。 数据位、停止位、波特率由单片机决定。组态王中的设定和单片机一致即可。校验方式参照“数据传输格式”中相关部分。 二、???? 数据传输格式: 格式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 校验错误 1.通讯口设置: 通讯方式:RS-232,RS-485,RS-422均可。 波特率:? 由单片机决定(2400,4800,9600and19200bps)。 字节数据格式:由单片机决定。 起始位 数据位 校验位 停止位 ? 注意:在组态王中设置的通讯参数如波特率,数据位,停止位,奇偶校验必须与单片机编程中的通讯参数一致 ? ? 2.在组态王中定义设备地址的格式 格式:##.#  前面的两个字符是设备地址,范围为0-255,此地址为单片机的地址,由单片机中的程序决定 ; 后面的一个字符是用户设定是否打包,“0”为不打包、“1”为打包,用户一旦在定义设备时确定了打包,组态王将处理读下位机变量时数据打包的工作。 ? 3.在组态王中定义的寄存器格式 寄存器名称 dd上限 dd下限 数据类型 Xdd 65535 0 FLOAT/BYTE/UINT 斜体字dd代表数据地址,此地址与单片机的数据地址相对应。 ? ? 注意:在组态王中定义变量时,一个X寄存器根据所选数据类型(BYTE,UINT,FLOAT)的不同分别占用一个、两个,四个字节,定义不同的数据类型要注意寄存器后面的地址,同一数据区内不可交叉定义不同数据类型的变量。为提高通讯速度建议用户使用连续的数据区。 ? 例如, 1、在单片机中定义从地址0开始的数据类型为BYTE型的变量: 则在组态王中定义相应的变量的寄存器为X0、X1、X2、X3、X4。。。。。。。。,数据类型为BYTE,每个变量占一个字节 2、在单片机中定义从地址100开始的数据类型为UINT型的变量: 则在组态王中定义相应的变量的寄存器为X100、X102、X104、X106

文档评论(0)

sandaolingcrh + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档