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

串行通信协议.docx

9页
  • 卖家[上传人]:hs****ma
  • 文档编号:432655728
  • 上传时间:2022-09-09
  • 文档格式:DOCX
  • 文档大小:25.49KB
  • / 9 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 数据采集串行通信协议版本 V6.0本协议采用Modbus RTU通讯规约,可方便地进行读取基本变量、系统状态 和修改系统时间操作1.物理接口1) .串行通信口 RS-4852) .信息传输方式为:异步, 1 位起始位, 8 位数据位, 1 位停止位3) .数据传输速率(波特率bps): 96004) .字节间隔<lmm,帧间隔>4ms5) .当传送2字节数据时,高8位在前,低8位在后;传送CRC16校 验码时,也是高8位在前,低8位在后6) .传输的数据采用二进制码7) .在系统中的地址为: 1~254 可设定,广播命令地址为0, 255保留8) .为了提高总线利用率,本协议规定,如果主机在发送完一帧非广播命令后 200ms 内没有收完从机的响应信息,则可认为从机响应超时2.软件协议:利用通讯命令,可以进行读取每个模块的类型、量程、单位、报警点设定状 态以及实时数据和其它报警情况等系统参数协议采用16 BIT CRC 校验方式, 协议规定:CRC校验码是从Address至到Data区最后1 byte数据的所有数据所产 生的CRC校验码,串行传送时高8位在前,低8位在后3.功能码03,读取点和返回值:利用该通讯命令,可以进行读取点(“保持寄存器”) 或返回值(“输入寄存 器”)。

      保持和输入寄存器是16 位整型(2 字节) ,并且返回值高位在前协议 规定一次能读取单或多个寄存器地址(n个整型数值,2XnBYTE)功能码03被 用作读取点和返回值 从机响应的命令格式是从机地址、功能码、字节数、数 据区及CRC码数据区的数据都是以二个字节为一个读取单位,且如果两字节表 示一个整型时,高位在前, 低位在后 CRC16 校验码高8 位在前,低8 位在后信息帧格式举例:从机地址为01,起始地址0002 的2 个寄存器地址此例中寄存器数据地址为:地址0102数据0804H1103H主机发送字节数举例从机地址101发送至从机功能码103读取寄存器起始地址200起始地址为 000201读取寄存器点数 200读取2 个寄存器(共4 字节)02CRC 码2High由主机计算得到的CRC16码Low从机响应字节数举例从机地址101 来自从机功能码103 读取寄存器读取字节数104 字节总数寄存器数据408H地址为01 内的内容04H地址为01 内的内容11H地址为02 内的内容03H地址为02 内的内容CRC 码2High由从机计算得到的CRC码Low表1 功能码03 读取的数据及地址Address]地址]Data Type[数据类型]Explai n[说明]00High00Data High实时数据,米用正一进制编码格式low01Data Lowbitl5-符号,0-正,1-负01High02State1[危险源状态1]BitO〜3-报警[bit0-1 级,bit 1-2 级,bit2-3 级,bit 3-4 级,]Bit4-报警类型[1-上报,0-下报]Bit5-故障[0-正常,1-故障],Bit6-设备状态[0-检测,1-预热]Bit7 -有效性[0-有效,1-无效]low03State2[危险源状态2]备用02High04Type[类型]见附录1low05Unit[单位]见附录203High06Decimal]小数位数]小数位数(0~3)low07Filter[滤波系数]1〜5004High08Alarm Mode报警模式[1-上报,0-下报] Bit0~3 对应 Alarm1~4low09Alarm Valid报警有效[0-无效,1-有效] Bit0~3 对应 Alarm1~405High10F.S UP High量程上限,采用正二进制编码格式low11F.S UP lowbit15-符号,0-正,1-负06High12F.S DOWN High量程下限,米用正二进制编码格式low13F.S DOWN lowbit15-符号,0-正,1-负07High14Alarml point High第1报警点,采用正二进制编码格low15Alarml point Low式,bit15-符号,0-正,1-负08High16Alarm2 point High第2报警点,采用正二进制编码格low17Alarm2 point Low式,bit15-符号,0-正,1-负09High18Alarm3 point High第3报警点,采用正二进制编码格low19Alarm3 point Low式,bit15-符号,0-正,1-负10High20Alarm4 point High第4报警点,采用正二进制编码格low21Alarm4 point Low式,bit15-符号,0-正,1-负11High22DeadZone High死区,采用正二进制编码格low23DeadZone low式,bit15-符号,0-正,1-负12High24Backlash High回差,采用正二进制编码格low25Backlash low式,bit15-符号,0-正,1-负13High26Zero Adj High零点校正值,采用正二进制编码格low27Zero Adj Low式,bit15-符号,0-正,1-负14High28Slope Adj High满度校正值,默认1000,表示1.000low29Slope Adj Low注:Alarml<=Alarm2<=Alarm3<=Alarm4注意: 1、上位机所发命令中“读取寄存器点数”是用一个整型(2 字节)数来 通知从机,上位机要读取的寄存器数,在从机中每个寄存器由两个字节组成。

      而 从机发往上位机的“读取字节数”占响应报文一个字节,表示响应报文的数据 区中的数据字节数,在数值上,“读取字节数” =2 x “读取寄存器数”2、 零点校正值和满度校正值对气体探测器无效3、 滤波系数对气体探测器有效值为20〜504、 零点自校正对气体探测器最大校正量为量程的5%4.功能码06,设置单个寄存器:利用该通讯命令, 进行单个寄存器的设置 信息帧格式举例:从机地址为01,寄存器地址0002,设置数据:0001H(Type=0,Unit=l)主机发送字节数举例从机地址101发送至从机功能码106设置单个寄存器寄存器地址200起始地址为 000202设置数据200Type[ 类型 ]01Unit[ 单位 ]CRC 码2High由主机计算得到的CRC16码Low从机响应字节数举例从机地址101发送至从机功能码106设置单个寄存器寄存器地址20002起始地址为 0002设置数据200Type[ 类型 ]01Unit[ 单位 ]CRC 码2High由主机计算得到的CRC16码Low注意:如果从机返回数据与发送设置数据不一致,表示该寄存器数据不允许设 置附件:CRC16校验算法const unsigned char auchCRCHi[]={0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81, 0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0, 0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01, 0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41, 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81, 0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0, 0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01, 0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40, 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81, 0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0, 0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01, 0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41, 0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81, 0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0, 0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01, 0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41, 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81, 0x40};/* Table of CRC values for low-order byte */const unsigned char auchCRCLo[]={ 0x00,0xC0,0xC1,0x01,0xC3,0x03,0x02,0xC2,0xC6,0x06,0x07,0xC7,0x05,0xC5,0xC4, 0x04,0xCC,0x0C,0x0D。

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