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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
通讯参数: 通讯参数包括数据位,停止位,波特率、校验方式。 数据位、停止位、波特率由单片机决定。组态王屮的设定和单片机一致即可。校 验方式参照“数据传输格式”屮相关部分。 二、 数据传输格式: 格式1、组态王发送地址请求格式:(此时检验位为1) ENQ Sta EOT CRC 格式2、单片机应答地址格式:(此吋检验位为0) ACK Sta ETX CRC 格式3、组态王读数据请求格式:(此时检验位为0) ENQ R DataType Da t aAddr Da t aNum EOT CRC 格式4、单片机应答读数据格式(止确):(此时检验位为0) ACK DataLong Data* ?-. ETX CRC 格式5、 单片机应答读数据格式(错误):(此吋检验位为0) XAK 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,结束。否则,执行格 式lc 第六步:格式2 第七步:格式6 第八步:格式7 四、协议说明: 数据传输:所有数据均为16进制数 ENQ 以) H05 询问 请求帧的开始代码 ACK 以) H06 确认 ACK应答帧的开始代码 NAK (头) H15 否认 NAK应答帧的开始代码 EOT (尾) H04 正文的结束 请求帧的结束ASCII代码 ETX (尾) H03 结束正文 应答帧的结束ASCU代码 Sta::设备地址1字节 R: 读标志1字节(0x52) W: 写标志1字节(0x57) DataType;需要交换的数据类型,1字节。1,字节;2,字,3,浮点型。 DataType 的值 含义 1 字节 2 字 3 浮点数 DataXum:要读取的数据的数量,1字节。 DataAddr;为数据偏移地址2字节,低字节在前,高字节在后 Data:实际传输的数据,低字节在前,高字节在后 DataLong:单片机返回Data的 DataLong: 单片机返回Data的 字节数 2字节,低字节在前,高字节在后 CRC:为从第一个字节至CRC前的所有字节的异或值,1字节 ErrorCode: ErrorCode 数值 含义 0 正确应答 1 数据类型错误 2 数据范围超限 3 指令无法识别,应为R或肌 4 校验错误 通讯口设置: 通讯方式:RS-232, RS-485, RS-422 均可。 波特率: 由单片机决定(2400, 4800, 9600andl9200bps)。 字节数据格式:由单片机决定。 起始位 数据位 校验位 停止位 注意:在组态王屮设置的通讯参数如波特率,数据位,停止位,奇偶校验必须与 单片机编程> 11的通讯参数一致 在组态王中定义设备地址的格式 格式:##. # 前面的两个字符是设备地址,范围为0 — 255,此地址为单片机的地址,由单片 机屮的程序决定; 后面的一个字符是用户设定是否打包,“0”为不打包、“1”为打包,用户一旦 在定义设备时确定了打包,组态王将处理读下位机变量时数据打包的工作。 3.在组态王屮定义的寄存器格式 寄存器名称 加上限 加下限 数据类型 Xc/c/ 65535 0 FLOAT/BYTE/UTNT 斜体字血代表数据地址,此地址与单片机的数据地址相对应。 注意:在组态王屮定义变量吋,一个X寄存器根据所选数据类型 (BYTE, UTNT, FLOAT)的不同分别占用一个、两个,四个字节,定义不同的数据 类型要注意寄存器后面的地址,同…数据区内不可交叉定义不同数据类型的变 量。为提高通讯速度建议用户使用连续的数据区。 例如, 1、 在单片机屮定义从地址0开始的数据类型为BYTE型的变量: 则在组态王屮定义相应的变量的寄存器为X0、XI、X2、X3、X4。。……。。, 数据类型为BYTE,每个变量占-?个字节 2、 在单片机屮定义从地址100开始的数据类型为UIXT型的变量: 则在组态王中定义相应的变量的寄存器为X100、X102、X104、X106、 X108. c c c c c c c ,数据类型UINT,每个变量占两个字节 3、 在单片机屮定义从地址200开始的数据类型为F

文档评论(0)

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

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

1亿VIP精品文档

相关文档