机房监控
规定将连接在同一RS485总线上的设备温湿度控制器集合称之为一个RS485系统, 为规范Gicren产品线之RS485接口设备的通讯协议。其中起着主导、协调作用的主控设备称之为“系统主设备”SystemMaster地址固定为127其余均称之为“系统从设备”SystemSlave地址为1~126可设)0地址为广播地址,即系统主设备可通过发送包括广播地址的指令包,以使所有的系统从设备予以响应,这里需强调一点,广播指令包必需为寄存器写操作(对应的包标识符为RPID或设置操作(对应的包标识符为SPID即不能通过广播方式从系统从设备获取数据。此外,由于该接口无总线仲裁机制,因此RS485系统为严格的主从式结构,所有的数据传输均由系统主设备发起。
均是通过读/写用户寄存器的方式来实现。写用户寄存器时, 除之几个特殊的控制(包标识符为HPIDEPIDSPID对该类设备的控制。又分为即时写与非即时写。
- 即时写 一旦修改用户寄存器,将立即生效,此为设备启动后默认的写操作方式。系统主设备可通过发送使能即时写设置包以实现将系统从设备设置为即时写方式。
- 非即时写用户寄存器虽被修改,但不立即生效,等待执行非即时写指令。多个系统从设备需要严格同步时,系统主设备可通过非即时写操作配置系统从设备用户寄存器,然后通过广播方式发送执行非即时写设置包以实现所有的系统从设备对之前的非即时写操作进行响应。系统主设备可通过发送使能非即时写设置包以实现将系统从设备设置为非即时写方式。
所有的用户寄存器,一旦修改生效,系统从设备将立即予以响应,系统主设备可通过发送EEPROM保管设置包,将需要掉电保存的数据更新到EEPROM中。
一:约定
称之为输出;反之,
- 将从系统主设备到系统从设备的数据传输。则称之为输入
- 将一个完整的RS485通讯称之为一个事务,事务由一个或多个包构成,而每个包又由多个域构成
- 格式 :
起始位(StartBit -1
数据位(DataBit -8
停止位(StopBit -1
校验位(ParitiBit-无
流控(FlowControl-无
- W :写控制位(0
- R :读控制位(1
- SMA :系统主设备地址
- SSA :系统从设备地址
- DI_x :输入数据
- DO_x :输出数据
- RCBN :返回连续字节的个数
用来指示读/写寄存器的起始地址。对于该域,
- MDOC :系统主设备对输出数据的校验值
- MDIC :系统主设备对输入数据的校验值
- SDOC :系统从设备对输出数据的校验值
- SDIC :系统从设备对输入数据的校验值
- ERRH :系统从设备故障字之高字节
- ERRL :系统从设备故障字之低字节
- RPID :用户寄存器操作包标识符。RS485接口与I2C接口有所不同,由于RS485每个数据包都有校验,因此无需像I2C一样,做本字节自身校验,其取值范围为1~100
- HPID 握手包标识符,固定为1270x7f作为系统主设备,严格意义上,需要确定在数据输出过程中,系统从设备是否正确接收,以及在数据输入过程中,自身对系统从设备输入的数据是否正确接收。若系统主设备发现传输错误,可根据实际情况决定是否重新建立传输。对系统从设备而言,只需对正确的数据传输事务进行响应即可。握手包用于系统从设备向系统主设备输入校验字节,根据地址域中的读/写控制位,及上一次的传输过程,可分为以下两种情况:
- 地址域中的读/写控制位为R1且上次的数据传输为系统主设备对系统从设备的若干用户寄存器进行写操作,这个数据输出的过程中,系统主设备对输出的数据域进行了校验,校验值为MDOC同时系统从设备端对接收到数据域也进行了校验,校验值为SDOC握手包的校验域将返回SDOC若系统主设备发现MDOC与SDOC相等,则标明数据输出正常,否则系统主设备可重新建立传输,由用户顺序决定。
- 地址域中的读/写控制位为R1且上次的数据传输为系统主设备对系统从设备的若干用户寄存器进行读操作,这个数据输出的过程中,系统从设备对输入的数据域进行了校验,校验值为SDIC同时系统主设备端对接收到数据域也进行了校验,校验值为MDIC握手包的校验域将返回SDIC若系统主设备发现MDIC与SDIC相等,则标明数据输入正常,否则系统主设备可重新建立传输,由用户顺序决定。
- EPID 故障返回包标识符,固定为1260x7e
- SPID设置包标识符,分为9种,如下所述
- 1250x7d将用户寄存器还原为出厂设置值
- 1240x7c:将掉电需要保存的用户寄存器当前值更新到EEPROM中
- 1230x7b:设备复位
- 1220x7a:故障字清零
- 1210x79:使能即时写
- 1200x78:使能非即时写
- 1190x77:执行非即时写
- 1180x76:使能数据控制传输模式(设备启动后的默认数据传输模式,不忽略数据流中任何一个有效指令包)
- 1170x75:使能数据批量传输模式(为保证需要严格控制时间的操作正常执行,有效的指令包将被选择性忽略)
- 1160x74:从下次上电开始,波特率设置将不进入自适应模式,使用最后一次自适应的值,该模式下,用户欲进入波特率自适应模式,只能通过硬件方式将用户寄存器还原为出厂设定值。不同的设备其操作方式不尽相同,请根据设备使用手册执行相应的操作
二:域
属于该指令包的字节数
标识域 1Byte0~99表示寄存器操作,
- 起始域 :2Byte固定为0xff0xff所有RS485有效通讯事务均由起始域开始
- 地址域 :1ByteSSA <<1+W/R7位地址加上读或写控制位(LSB:0-写(W1-读(R
- 帧长域 :1Byte指示该域之后。0x7e表示握手包,0x7f表示状态返回包
称之为输出数据,
- 数据域 :从主设备到从设备的数据。反之,则称之为输入数据
- 校验域 :1Byte该字节为下文所述的七种包中,从地址域开始到最后一个数据域,所有数据的累加并按位求反后的低8位
三:包
_________________________