矿用安全监控系统传感器基于RS485的有线传输协议DB14/T 1731-2018.pdf
ICS 17.020 N 56 DB14 山西省地方标准 DB 14/T 17312018 矿 用安 全监 控系 统传 感器 基于 RS485 的有线 传输 协议 2018-12-05 发布 2019-02-05 实施 山西省市场监督管理局 发布 DB14/T 17312018 I 目 次 前言.II 1 范围.1 2 规范性引 用文件.1 3 术语定义.1 4 传输接口.3 5 通信规范.3 6 传输过程.3 7 协议格式.4 附录 A(规范 性附录)传感器寄存器定义.9 附录 B(规范 性附录)传感器类型编码.11 附录 C(规范 性附录)传感器状态说明.12 附录 D(规范 性附录)测量值类型说明.13 附录 E(规范 性附录)参数测量值说明.14 DB14/T 17312018 II 前 言 本标准依据GB/T 1.1-2009 标准化 工作导则 第1 部分 标准 的结构和编写给出的规则起草。本标准由山西省计量标准化技术委员会提出并归口。本标准起草单位:山西省计量科学研究院、山西阳光三极科技股份有限公司。本标准主要起草人:韩建书、李梅、卫睿华、史增福、高耀杰、王强、姚永强、卫蔚、陈少祥。DB14/T 17312018 1 矿用安 全监控 系统传 感器基 于 RS485 的有线 传输协 议 1 范围 本标准规定 了矿用安全 监控系统传 感器基于RS485的有线传输协议的传 输接口、通 信规范、传 输过程及协议格式。本标准适用于点对点及一点对多点的通信方式。本标准适用于矿用传感器生产、销售、检测和使用的相关单位。2 规范性引用文件 下列文件对于本标准的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本标准。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本标准。GB/T 7665-2005 传感器 通用术语 GB/T 16733-1997 国家 标准制定程序的阶段划分及代码 GB/T 17710-1999 数据 处理校验码系统 GB/T 19582.1-2008 基于Modbus协 议的工业自动化网络规范 第1部分:Modbus应用 协议 GB/T 19582.2-2008 基于Modbus协议的工业自 动化网络规 范 第2 部分:Modbus协议在串行链 路上的实现指南 AQ 1029 煤 矿安全监测监控系统及检测仪器使用管理规范 MT/T 1116 煤矿安全生产监控系统联网技术要求 3 术语定义 下列术语和定义适用于本标准。3.1 传感器 能感受被测 量并按照一 定的规律转 换成可用输 出信号的器 件或装置,通常由敏感 元件和转换 元件组成。注1:敏感元件,指传感器中能直接感受或响应被测量的部分。注2:转换元件,指传感器中能将敏感元件感受或响应的被测量转换成适于传输或测量的电信号部分。注3:当输出为规定的标准信号时,则称为变送器。3.2 多参数传感器 能感受两种或两种以上被测物理量的传感器。DB14/T 17312018 2 3.3 总线 总线是传送数据和地址信号的公共通道。3.4 寄存器 寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。3.5 ModBus 协议 ModBus 协议 是 OSI 模型 第 7 层上的应用层报文传送协议,在不同类型总线或网络的设备之间提供客户机/服务 器通信,将 串行链路 上 的协议标 准 化,实现 一 个主站同 一 个或多个 从 站之间交换 Modbus请求。3.6 485 总线通信 一种采用平衡发送和差分接收的平衡数字多点系统中的驱动器和接收器的电气特性的标准,以两线间的电压差为+(26)V 表示逻辑“1”;以两 线间的电压差为-(26)V 表示逻辑“0”。3.7 主从式通信 主从式通信是指主机发送的信息可以传送到各个从机或指定的从机,而各个从机的信息只能发送给主机,总线上只有主机可以主动请求与从机通信,而从机不能主动请求与主机或其他从机通信。3.8 主机 在总线上能主动发起通信,对总线信号发出控制、接收、查询的设备。本标准中主机指主动发出读数据命令并接收从机(传感器)数据的设备。3.9 从机 不能在总线上主动发起通信,只能挂接在总线上,对总线信号进行接收、回复的设备。本标准中从机即传感器。DB14/T 17312018 3 3.10 终端地址 系统中终端设备的地址编码,简称终端地址(以下简称地址)。4 传输接口 4.1 信号线采用二线制串行总线结构,主从式传输方式,传输模型见图 1:注:上图A、B表示信号的正负,A表示信号正,B表示信号负。图1 传输模型 4.2 典型的传输方式为总线上有一台检测主机,N 台 从机(即传感器),每台传感器地址唯一。主机采用轮巡地址方式呼叫从机,并接收在线从机的回复信息。5 通信规范 字节传输按异步方式进行;波特率:1200bps,2400bps,4800bps,9600bps 可选;起始位:1 位;数据位:8 位;奇偶校验位:无;停止位:1 位;6 传输过程 一次完整的通信过程分为 2 个阶段:主机询问、从机应答。在通信开始之前,主从机应事先设置好通信波特率(主从机的波特率必须一致)、地址编号等参数。主机询问阶段:主机向指定地址的从机发送命令,主机发送完毕后等待一定时间获取从机应答,在主机 从机 1 从机 2 从机 N A B DB14/T 17312018 4 等待时间结束时,如果主机收到从机的正确应答信息,则说明主机与该从机通信正常,如果主机未收到任何信息或者收到错误信息或者应答信息尚未传递完毕,均视为主机与从机通讯异常。从机应答阶段:从机解析接收到的命令,并组织相应信息回复到主机,从机清除接收缓冲区及相关变量,等待主机的下次命令。任何一次完整的通信过程都是由主机方发起的,从机在被主机寻址前只能处于侦听状态,从机在接收命令结束后,判断指令是否寻址自己,如果是,从机对主机给予相应的应答;否则,从机不予应答。7 协议格式 7.1 MODBUS 协议的指令格式为:主机(请求):表1 主机(请求)指令格式 地址域 功能码 数据域 校验 从机(响应):表2 从机(响应)指令格式 地址域 功能码 数据域 校验 地址域:被主机请求的从机地址。功能码:主机对从机请求的操作。数据域:a)主机(请求):主机对从机执行请求的内容;b)从机(响应):从机对主机响应后的返回值;校验:从地址域开始,到数据域结束之间的数据采用 CRC16 校验方式。注:当从机对主机响应时,它使用功能码来指示正常(无差错)响应或者出现某种差错(称为异常响应)。对于 一个正常响 应来说,从 机仅对原始 功能码响应。对于异常 响应,从机 返回一个与 原始功能码等同的码,设置该原始功能码的最高有效位为逻辑 1。DB14/T 17312018 5 表3 主机(请求)指令格式 地址域 传感器地址 1 个字节 0X01 至0X7F 功能码 功能码 1 个字节 0X03(读取从机寄存器的数值)数据域 起始寄存器地址 2 个字节 0X0000-0XFFFF(起始寄存器地址高字节在前,低字节在后)寄存器数量 2 个字节 0X01-0X7D(寄存器数量:高字节在前,低字节在后)校验 CRC 校验码Lo 1 个字节 CRC 校验码低字节 CRC 校验码Hi 1 个字节 CRC 校验码高字节 注1:寄存器地址含义详见附录A 传感器寄存器定义。注2:CRC校验码的计算方法见7.2 CRC校验码计算。表4 从机(正常响应)指令格式 地址域 传感器地址 1 个字节 0X01 至0X7F 功能码 功能码 1 个字节 0X03 数据域 字节数 1 个字节 2N 寄存器值Hi 1 个字节 起始寄存器值高字节 寄存器值Lo 1 个字节 起始寄存器值低字节 寄存器值Hi 1 个字节 起始寄存器后第(N-1)个 寄存器值高字节 寄存器值Lo 1 个字节 起始寄存器后第(N-1)个 寄存器值低字节 校验 CRC 校验码Lo 1 个字节 CRC 校验码低字节 CRC 校验码Hi 1 个字节 CRC 校验码高字节 注:N主机请求寄存器的数量。DB14/T 17312018 6 表5(异常响应)指令格式 地址域 传感器地址 1 个字节 0X01 至0X7F 功能码 差错码 1 个字节 0X83 数据域 异常码 1 个字节 01 或 02 或 03 或 04 校验 CRC 校验码Lo 1 个字节 CRC 校验码低字节 CRC 校验码Hi 1 个字节 CRC 校验码高字节 表6 异常码列表 代码 名称 含义 01 非法功能 对于传感器来说,询问中接收到的功能码是不可允许的操作。02 非法数据地址 对于传感器来说,询问中接收到的数据地址是不可允许的地址。特别是,参考号和传输长度的组合是无效的。对于带有100 个 寄存器的控制器来说,带有偏移量 96 和长度4 的请求会 成功,带有偏移量96 和长度 5 的请求将产生异常码02。03 非法数据值 对于传感器来说,询问中包括的值是不可允许的值。这个值指示了组合请求剩余结构中的故 障,例 如:隐 含长 度 是不正 确的。并不意 味着,MODBUS 协议 不 知道任 何特 殊寄存器的任何特殊值的重要意义,寄存器中被提交存储的数据项有一个应用程序期望之外的值。04 从站设备故障 当传感器正在设法执行请求的操作时,产生不可重新获得的差错。7.2 CRC 校验码计算 校验码采用 CRC 循环冗余 校验码。校验码是一个 16 位二进制数,占 2 个字节。CRC 校验 码计算从通讯信息帧的地址开始、到数据区结束(包含数据区)。循 环冗余校验码计算方法如下:c)将一个 16 位 寄存器装入十六进制 FFFF(全1)。将 之称作 CRC 寄存器。d)将报文的第一个 8 位字 节与 16 位 CRC 寄存器的低 字节异或,结果置于 CRC 寄存器。e)将 CRC 寄存 器右移 1 位(向 LSB 方向),MSB 充零,提取并检测 LSB。f)如果 LSB 为 0:重复步 骤 3(另一次 移 位)。(如果 LSB 为 1:对 CRC 寄存器异或多项式值 0 xA001(1010 0000 0000 0001)。g)重复步骤 3 和 4,直到完 成 8 次移位。当做完此操作后,将完成对 8 位 字节的完整操作。h)对报文中的下一个字节重复步骤 2 到 5,继续此 操作直至所有报文被处理完毕。i)CRC 寄存器中 的最终内容为 CRC 值。DB14/T 17312018 7 j)当放置 CRC 值于报文时,先发送低字节,再发送高字节。函数名称:unsigned short int MBCRC16(unsigned char*pucFrame,unsigned short int usLen)函数功能:计算 CRC 校验值 输入参数:unsigned char*pucFrame/*报文数组 的首地址*/unsigned short int usLen/*报文数组 的字节数*/返回值:unsigned short 类型的CRC 校验值 unsigned short int MBCRC16(unsigned char*pucFrame,unsigned short int usLen)unsigned char ucCRCHi=0 xFF;/*CRC 的高 字节初始化*/unsigned char ucCRCLo=0 xFF;/*CRC 的低 字节初始化*/unsigned int iIndex;/*CRC 查询 表索引*/while(usLen-)/*计算 CRC*/iIndex=ucCRCLo*(pucFrame+);ucCRCLo=(unsigned char)(ucCRCHi aucCRCHiiIndex);ucCRCHi=aucCRCLoiIndex;return(unsigned short int)(ucCRCHi 8|ucCRCLo);高字节表/*高位字节 的 CRC 值*/static const unsigned char aucCRCHi=0 x00,0 xC1,0 x81,0 x40,0 x01,0 xC0,0 x80,0 x41,0 x01,0 xC0,0 x80,0 x41,0 x00,0 xC1,0 x81,0 x40,0 x01,0 xC0,0 x80,0 x41,0 x00,0 xC1,0 x81,0 x40,0 x00,0 xC1,0 x81,0 x40,0 x01,0 xC0,0 x80,0 x41,0 x01,0 xC0,0 x80,0 x41,0 x00,0 xC1,0 x81,0 x40,0 x00,0 xC1,0 x81,0 x40,0 x01,0 xC0,0 x80,0 x41,0 x00,0 xC1,0 x81,0 x40,0 x01,0 xC0,0 x80,0 x41,0 x01,0 xC0,0 x80,0 x41,0 x00,0 xC1,0 x81,0 x40,0 x01,0 xC0,0 x80,0 x41,0 x00,0 xC1,0 x81,0 x40,0 x00,0 xC1,0 x81,0 x40,0 x01,0 xC0,0 x80,0 x41,0 x00,0 xC1,0 x81,0 x40,0 x01,0 xC0,0 x80,0 x41,0 x01,0 xC0,0 x80,0 x41,0 x00,0 xC1,0 x81,0 x40,0 x00,0 xC1,0 x81,0 x40,0 x01,0 xC0,0 x80,0 x41,0 x01,0 xC0,0 x80,0 x41,0 x00,0 xC1,0 x81,0 x40,0 x01,0 xC0,0 x80,0 x41,0 x00,0 xC1,0 x81,0 x40,0 x00,0 xC1,0 x81,0 x40,0 x01,0 xC0,0 x80,0 x41,0 x01,0 xC0,0 x80,0 x41,0 x00,0 xC1,0 x81,0 x40,0 x00,0 xC1,0 x81,0 x40,0 x01,0 xC0,0 x80,0 x41,0 x00,0 xC1,0 x81,0 x40,0 x01,0 xC0,0 x80,0 x41,0 x01,0 xC0,0 x80,0 x41,0 x00,0 xC1,0 x81,0 x40,0 x00,0 xC1,0 x81,0 x40,0 x01,0 xC0,0 x80,0 x41,0 x01,0 xC0,0 x80,0 x41,0 x00,0 xC1,0 x81,0 x40,0 x01,0 xC0,0 x80,0 x41,0 x00,0 xC1,0 x81,0 x40,0 x00,0 xC1,0 x81,0 x40,0 x01,0 xC0,0 x80,0 x41,DB14/T 17312018 8 0 x00,0 xC1,0 x81,0 x40,0 x01,0 xC0,0 x80,0 x41,0 x01,0 xC0,0 x80,0 x41,0 x00,0 xC1,0 x81,0 x40,0 x01,0 xC0,0 x80,0 x41,0 x00,0 xC1,0 x81,0 x40,0 x00,0 xC1,0 x81,0 x40,0 x01,0 xC0,0 x80,0 x41,0 x01,0 xC0,0 x80,0 x41,0 x00,0 xC1,0 x81,0 x40,0 x00,0 xC1,0 x81,0 x40,0 x01,0 xC0,0 x80,0 x41,0 x00,0 xC1,0 x81,0 x40,0 x01,0 xC0,0 x80,0 x41,0 x01,0 xC0,0 x80,0 x41,0 x00,0 xC1,0 x81,0 x40;低字节表/*低位字节 的 CRC 值*/static const unsigned char aucCRCLo=0 x00,0 xC0,0 xC1,0 x01,0 xC3,0 x03,0 x02,0 xC2,0 xC6,0 x06,0 x07,0 xC7,0 x05,0 xC5,0 xC4,0 x04,0 xCC,0 x0C,0 x0D,0 xCD,0 x0F,0 xCF,0 xCE,0 x0E,0 x0A,0 xCA,0 xCB,0 x0B,0 xC9,0 x09,0 x08,0 xC8,0 xD8,0 x18,0 x19,0 xD9,0 x1B,0 xDB,0 xDA,0 x1A,0 x1E,0 xDE,0 xDF,0 x1F,0 xDD,0 x1D,0 x1C,0 xDC,0 x14,0 xD4,0 xD5,0 x15,0 xD7,0 x17,0 x16,0 xD6,0 xD2,0 x12,0 x13,0 xD3,0 x11,0 xD1,0 xD0,0 x10,0 xF0,0 x30,0 x31,0 xF1,0 x33,0 xF3,0 xF2,0 x32,0 x36,0 xF6,0 xF7,0 x37,0 xF5,0 x35,0 x34,0 xF4,0 x3C,0 xFC,0 xFD,0 x3D,0 xFF,0 x3F,0 x3E,0 xFE,0 xFA,0 x3A,0 x3B,0 xFB,0 x39,0 xF9,0 xF8,0 x38,0 x28,0 xE8,0 xE9,0 x29,0 xEB,0 x2B,0 x2A,0 xEA,0 xEE,0 x2E,0 x2F,0 xEF,0 x2D,0 xED,0 xEC,0 x2C,0 xE4,0 x24,0 x25,0 xE5,0 x27,0 xE7,0 xE6,0 x26,0 x22,0 xE2,0 xE3,0 x23,0 xE1,0 x21,0 x20,0 xE0,0 xA0,0 x60,0 x61,0 xA1,0 x63,0 xA3,0 xA2,0 x62,0 x66,0 xA6,0 xA7,0 x67,0 xA5,0 x65,0 x64,0 xA4,0 x6C,0 xAC,0 xAD,0 x6D,0 xAF,0 x6F,0 x6E,0 xAE,0 xAA,0 x6A,0 x6B,0 xAB,0 x69,0 xA9,0 xA8,0 x68,0 x78,0 xB8,0 xB9,0 x79,0 xBB,0 x7B,0 x7A,0 xBA,0 xBE,0 x7E,0 x7F,0 xBF,0 x7D,0 xBD,0 xBC,0 x7C,0 xB4,0 x74,0 x75,0 xB5,0 x77,0 xB7,0 xB6,0 x76,0 x72,0 xB2,0 xB3,0 x73,0 xB1,0 x71,0 x70,0 xB0,0 x50,0 x90,0 x91,0 x51,0 x93,0 x53,0 x52,0 x92,0 x96,0 x56,0 x57,0 x97,0 x55,0 x95,0 x94,0 x54,0 x9C,0 x5C,0 x5D,0 x9D,0 x5F,0 x9F,0 x9E,0 x5E,0 x5A,0 x9A,0 x9B,0 x5B,0 x99,0 x59,0 x58,0 x98,0 x88,0 x48,0 x49,0 x89,0 x4B,0 x8B,0 x8A,0 x4A,0 x4E,0 x8E,0 x8F,0 x4F,0 x8D,0 x4D,0 x4C,0 x8C,0 x44,0 x84,0 x85,0 x45,0 x87,0 x47,0 x46,0 x86,0 x82,0 x42,0 x43,0 x83,0 x41,0 x81,0 x80,0 x40;DB14/T 17312018 9 A A 附 录 A(规范性附录)传感器寄存器定义 A.1 传感器寄存器定义见表A.1。表A.1 传感器寄存器定义 参数 寄存器地址 参数定义 备注 参数0 0000H 高字节 传感器类型 详见附录B 传 感器类型编码 低字节 参数个数 传感器测量参数的个数:单参数传感器为 1,两参数传感器为 2,以此类推 参数1 0001H 高字节 传感器状态 详见附录C 感 器状态说明 低字节 参数子类型 当为单参数传感器时,子类型与传感器类型相同;当为多参数传感器时,子类型根据实际情况,详见附录B 传感器类 型编码 0002H 高字节 测量值类型 详见附录D 量 值类型说明 低字节 测量值1 详见附录E 数 测量值说明 0003H 高字节 测量值2 低字节 测量值3 参数2 0004H 高字节 传感器状态 低字节 参数子类型 0005H 高字节 测量值类型 低字节 测量值1 0006H 高字节 测量值2 低字节 测量值3 A.2 单参数传感器示例见表A.2。其中,单参数传感器为甲烷传感器,测量值为 1.20%,传感器状态为三级报警。DB14/T 17312018 10 表A.2 单参数传感器 参数序号 寄存器地址 参数定义 数据值(十六进制)解析 参数0 0000H 传感器类型 0X01 甲烷传感器 参数个数 0X01 测量参数个数为1 参数1 0001H 传感器状态 0X83 传感器三级报警 参数子类型 0X01 参数类型为甲烷 0002H 测量值类型 0X02 正数且1 位小 数 测量值1 0X00 最高两位分别:0,0 0003H 测量值2 0X01 中间两位分别:0,1 测量值3 0X20 最低两位分别:2,0 A.3 多参数传感器示例见表A.3。其中,多参数传感器的测量参数个数为 2,第 1 个参数 为温度,测量值为 22,传感器状态正常;第 2 个参数为风速,测量值-5.2m/s,传 感器状态为报警。表A.3 多参数传感器 参数序号 寄存器地址 参数定义 备注 解析 参数0 0000H 传感器类型 0X14 多参数传感器 参数个数 0X02 测量参数个数为2 参数1 0001H 传感器状态 0X00 传感器正常 参数子类型 0X03 参数1 类型为 温度 0002H 测量值类型 0X00 正数且无小数部分 测量值1 0X00 最高两位分别:0,0 0003H 测量值2 0X00 中间两位分别:0,0 测量值3 0X22 最低两位分别:2,2 参数2 0004H 传感器状态 0X80 传感器报警 参数子类型 0X09 参数2 类型为 风速 0005H 测量值类型 0X11 负数且1 位小 数 测量值1 0X00 最高两位分别:0,0 0006H 测量值2 0X00 中间两位分别:0,0 测量值3 0X52 最低两位分别:5,2 DB14/T 17312018 11 B B 附 录 B(规范性附录)传感器类型编码 表B.1 传感器类型编码 类型编号 传感器分类 单位 备注 0 x01 甲烷类%CH4 0 x02 一氧化碳类 mol/mol 0 x03 温度类 0 x04 氧气类%O2 0 x05 二氧化碳类%CO2 0 x06 压力类 kPa 0 x07 压力类 MPa 0 x08 液位类 m 0 x09 风速类 m/s 0 x0a 粉尘类 mg/m3 0 x0b 硫化氢 mol/mol 0 x0c 氢气%H2 0 x0d 二氧化氮 mol/mol 0 x0e 煤仓煤位 m 0 x0f 温湿度、%RH 0 x10 瞬时流量 m3/h 0 x11 累计流量 m3 0 x12 开关量类 0 x13 控制量 0 x14 多参数 DB14/T 17312018 12 C C 附 录 C(规范性附录)传感器状态说明 表C.1 传感器状态 传感器状态 传感器状态数值 传感器状态含义 备注 0 表示传感器正常 1 表示传感器故障 8 表示传感器参数断线 128 表示传感器报警 129 表示传感器一级报警 130 表示传感器二级报警 131 表示传感器三级报警 132 表示传感器四级报警 DB14/T 17312018 13 D D 附 录 D(规范性附录)测量值类型说明 表D.1 测量类型说明 测量值类型 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 0 0 0 符号位:=0 表示正数;=1 表示负数 0 小数点后的位数:=0 表示无小数位;=1 表示小数点后1 位;=2 表示小数点后2 位;=3 表示小数点后3 位;DB14/T 17312018 14 E E 附 录 E(规范性附录)参数测量值说明 参数测量值采用 BCD 码 表示,共占用 3 个字节,参数测量值 1 为高位,参数测量值 3 为低位,表示数值范围为 0 999999。表E.1 参数测量值说明 参数测量值 1(BCD 码)参数测量值2(BCD 码)参数测量值3(BCD 码)Bit7 Bit4 Bit3 Bit0 Bit7Bit4 Bit3Bit0 Bit7Bit4 Bit3 Bit0 高位-低位 _