好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

TM220通信协议-版.doc

11页
  • 卖家[上传人]:公****
  • 文档编号:537808884
  • 上传时间:2022-12-02
  • 文档格式:DOC
  • 文档大小:893KB
  • / 11 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • TM220通信协议-最新版TM220通信协议一、通信规格1. 规格NO.项目规格1接口EIA规格RS4852传递线路2线制多从机3传递距离最大500m4传递速度2400,4800,9600( bps)5通信方式半双工开端位:1位数据位:8位6数据形式校验位:1位(有奇偶校验时);无(无奇偶校验时)停止位:1位(有校验时);2位(无校验时)7传输模式HEX值(MODBUSRTU格式)8数据校验CRC-16方式9最大连机1:N(31台)台数1信号逻辑V(T/RA)>V(T/TB)00V(T/RA)

      2) 传递速度要同上位机设定一致3 )数据形式要同上位机设定一致4、通信命令组成本通信协议使用主—从技术,即仅一设施(上位机)能倡始通信(查问/设定参数)其余设施(从机)依据主设施查问供给的数据作出相应反响通信中使用RTU数据模式,所有数据使用二进制形式传输,不使用ASCII码通信过程以下:主机发出命令,在命令的开始用地点表示发送目的所有的子机均进行接收,并判断地点与自己的地点能否相同地点符合的子机,依照命令的功能码履行不一样的操作,如命令要求发回应答时,子机发回相应应答地点不符合的子机,舍弃本次命令帧,等候下一个命令帧的到来命令帧的组成(最大256字节)从机地点功能码数据校验字节(CRC)一字节一字节0~252字节二字节1)地点说明从机地点指仪表的通信地点,在1~247范围内自由指定在同一个网络中,所有的地点一定是独一的主机能够与网络中的任何子机进行通信地点0作为广播地点,用于广播通信当命令中出现广播地点时,所有的子机均接授命令,履行操作,但不返回任何应答2)功能码说明本协议采纳标准的MODBUS功能码详细通信中采纳以下三个指令值名称功能作用范围03HReadHolding读出寄存器中的1~125字节Registers值。

      连续寄存器可一次读出多个)06HWriteSingle向一个寄存器内1字节Register写入数值08HDiagnostic通信诊疗1字节相应命令长度功命令长度(字节)正常应答长度(字节)备注能码最小最大最小最大03H88725506H888808H888823)数据依据功能码的不一样,数据内容有不一样的解说,详尽可参阅后边的命令格式、数据一览表4)错误检测域检测命令错误的方式采纳CRC_16,详细算法能够参照CRC计算详解5、应答命令格式1)命令的正常应答地点功能码数据长度数据错误检测域本机地同上位机命数据项目的字节数CRC_16址令1字节1字节1字节N个字2字节节命令的非正常应答当子机接遇到不适合的命令时(不行识其他命令除外),子机不履行任何操作,只发回应答当子机处于通信诊疗状态,子机判断通信犯错时,子机对收到的任何命令只返回错误代码地点功能码错误代码错误检测域本机地点指令+80HCRC_161字节1字节1字节2字节错误代码表错误代码值内容1本协议不支持的功能代码2指定的寄存器不支持此功能如试图设定只读寄存器,或读取寄存器数据时使用不存在的地点作为开端地点3在写入寄存器时数据超限或读取寄存器数值时最大寄存器地点超限4自诊疗错误。

      8子机系统忙<无应答〉当命令中的地点与子机地点不一致时,子机不返回任何应答指令中的CRC和子机计算出的CRC不一致,或检测出传递犯错(超时,桢错误、奇偶校验错误)当出现以上错误时,子机不返回任何应答在一个命令帧传递过程中,相邻俩个字节的时间间隔超出正常间隔的字符时间时,通信两方以为出现超时错误,此次命令传递结束32)传递时序《主机命令发送时序》每次命令发送起码要以个字符时间的停留间分开始整个命令作为一个连续的流传输,命令中的各个字节之间的间隔不可以超出正常传输时间的倍有超出个字符时间的停立时间,子机将刷新不完好的命令并假设下一字节是一个新命令的地点域在最后一个传输字符以后,一个起码个字符时间的停留标定了命令的结束一个新的命令可在此停留后开始 关于子机可能出现应答的状况要有超时判断来进行办理,防止无穷等候 关于停立时间要有必需的余量如9600bps→倍时间间隔=:余量能够调大为10ms.倍时间间隔=:发送中时间间隔能够控制在1ms.《子机传输时序》通信中当子机检测到个字符时间后,能够以为此次命令传达结束当子机分析完命令后,依照分析状况决定能否履行命令和发回相应应答6、CRC-16的计算方法CRC为2字节(16位)的错误码。

      在命令及应答中,使用CRC检测了整个命令的内容正确与否发送方发丧命令时,组织好命令数据后依照计算方法计算出CRC,并将它附带在命令数据后仪器发送当接收方接受完命令后,依照相同的方法计算CRC,假如算出的CRC和接收到的CRC一致时,以为命令数据正确,不然以为数据命令犯错,接收方为子机时不对命令做出任何应答CRC在计算时,仅对每个字节中的8个数据位进行计算,开端位、停止位、奇偶校验位均不参与计算《CRC计算方法》1)将一个16位寄存器作为CRC寄存器,初始值设为#FFFFH.2)CRC寄存器与命令中的第一个字节进行异或(XOR)计算结果存入CRC寄存器3)CRC寄存器中的值向右移一位4)假如移出的位为1,则CRC寄存器的值和#A001H进行异或(XOR)计算,结果存入CRC寄存器假如移出的位是0,CRC寄存器的值不变5)假如移出次数不足8次,返回3)4)再次计算6)假如8次已经移完而且计算完成取命令中的下一个字节和CRC进行移或(XOR)计算7)返回3)进行移位计算直到命令中的所有数据计算完成(校验命令时不包含接收到的CRC字节)8)当所有数据计算完成后,CRC寄存器中的数据就是所求的数据。

      将CRC值附带在命令数据后边一同发送加入时低字节在前,高位字节在后7、参数设置(寄存器写入)时的注意事项本调理器的参数保留在调理器内部的EEPROM中,读写寄存器实质是对EEPROM的储存单元进行读写操作EEPROM中的数据能够在掉电后长久保留每个储存单元可供给最大100000次重写使用限期对换节器的参数设置次数一定少于EEPROM的写入次数限制而且需要子机的参数rom=1的情况下才能进行8、主机命令示例1)读出寄存器数值命令(功能代码:03H)4本命令指定开始的寄存器地点和本次想读出的寄存器个数子机在接到命令后,依照寄存器地点的次序,返回参数数值每个数值占两个字节,高位字节在前,低位字节在后例1)从地点为「2」的子机的「0000H」号寄存器开始,连续读出3个寄存器的值主机命令子机地点02H功能代码03H寄存器始地第一字00H址节00H第二字节要读出数据第一字00H的个数节03H第二字节CRC-16第一字05H节F8H第二字节子机应答(正常应答)子机地点02H功能代码03H数据个数(*1)06H第一寄存器数第一字00值节H第二字00节H第一字00第二寄存器数节H值第二字03节H第三寄存器数第一字00值节H第二字63节H5CRC-16第一字75节H第二字AC节H(*1)数据个数=寄存器个数*2子机应答(非正常应答)子机地点02H功能代码+80H83H错误代号03HCRC-16第一字F1H节31H第二字节2)设定寄存器值(功能代码:06H)本命令对指定的寄存器写入预约数据。

      写入的数据占两个字节,高位字节在前,低位字节在后的次序寄存在写入前,一定确认该寄存器是可读写寄存器例1)对地点为1的子机的0010号寄存器写入数据102H.主机命令子机地点01H功能代码06H寄存器地点第一字00H节10H第二字节要设定的数第一字01H据节。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.