5 数据报文传输规约
5.1 帧结构
5.1.1 帧结构的制定
参考GB/T 18657.3—2002规定的增强性三层参考模型,结合水资源、水文自动监测系统数据传输的特点,制定实用的帧结构。
5.1.2 字节格式为帧的基本单元字节
传输顺序为低位在前,高位在后;低字节在前,高字节在后。
5.1.3 帧格式
5.1.3.1 本标准采用异步式传输帧格式。帧格式定义见表2。
表2 帧格式定义
5.1.3.2 传输规则应按下列规定执行:
a)线路空闲状态为二进制1。
b)帧的字符之间无线路空闲间隔;两帧之间的线路空闲间隔应考虑信道网络延时、中间环节延时、终端响应时间等因素。
c)帧校验位(CS)是用户数据区的CRC校验。
d)接收方校验,如检出了差错,舍弃此帧。两帧之间应考虑线路的空闲间隔。
e)每个字符应校验起动位、停止位、偶校验位(在超短波通信等自定义字符时用)。
f)每帧应按下列规定执行:
1)帧固定报文头中的开头和结束所规定的字符。
2)1个字节长度L。
3)接收的字符数最少帧长度L+5。
4)帧校验。
5)结束字符。
6)若这些校验有一个失败,舍弃此帧;若无差错,则此帧数据有效。
5.1.4 链路层
5.1.4.1 链路层长度L应按下列规定执行:
a)用户数据区长度L由1字节组成,见表3。本标准除特别指出L采用2字节的报文之外,其他报文的L均采用1字节。
表3 用户数据长度L
b)用户数据区长度L,由D0~D7(1字节)组成,采用BIN编码,是控制域、地址域、用户数据域(应用层)的字节总数。数据为图片数据流时,数据长度为L×1K。采用无线数传信道,SMS的帧长字节数不大于140,北斗卫星通信的帧长字节数不大于98。
5.1.4.2 控制域C应按下列规定执行:
a)控制域C表示报文传输方向和所提供的传输服务类型的信息,定义见表4。
表4 控制域C
b)传输方向位DIR应按下列规定执行:
1)DIR=0,表示此帧报文是由中心站发出的下行报文。
2)DIR=1,表示此帧报文是由终端发出的上行报文。
3)在每帧报文的通信过程中是不变的。
c)拆分标志位DIV应按下列规定执行:
1)DIV=1,表示此报文已被拆分为若干帧,接收后需要拼接。此时控制域C后增加一个字节,为拆分帧计数DIVS,采用BIN倒计数(255~1),1时表示最后一帧。启动站发送时自动加上发送,从动站返回帧时对应加上确认。
2)DIV=0,表示此帧报文为单帧。
d)帧计数位FCB应按下列规定执行:
1)FCB表示每个站连续的发送/确认或者请求/响应的变化位。FCB位用来防止信息传输的丢失和重复。
2)启动站向同一从动站传输新的发送/确认或请求/响应传输时,启动站将设置FCB值,若超时未收到从动站的报文,或接收出现差错,则启动站将FCB减1,重复原来的发送/确认或者请求/响应,直到FCB值为0,表示本次传输服务失败。
3)从动站收到启动站FCB值不为0的报文并按照要求确认或响应时,返回相应的FCB值。
e)功能码定义应按下列规定执行:
1)传输方向位DIR=0,下行帧具体定义见表5。
2)传输方向位DIR=1,上行帧具体定义见表6。
表5 下行帧传输方向(DIR=0)
表6 上行帧传输方向(DIR=1)
5.1.4.3 地址域A可按照下列两种方式之一执行:
a)第一种方式的地址域由行政区划码A1、测站地址A2组成,格式见表7。行政区划码A1,按GB 2260—2002的规定执行。具体编码方法:用6位十进制数字表示,前两位为省(自治区、直辖市)码,中两位数字为地(市)码,后两位数字为县(区)码。测站、中继站地址A2格式见表8。测站、中继地址A2由2字节二进制数据组成,测站选址范围为1~60000。中继站选址范围为60001~65534。65535为广播地址,0为无效地址。表8 测站、中继站地址A2
表7 地址域A
b)第二种方式的地址域由水文特征码、水文测站代码组成,也为5个字节。其中水文特征码取00H,水文测站代码按SL 502—2012的规定,由8位HEX码构成。地址域格式见表9。
表9 第二种方式地址域格式
5.1.4.4 帧校验CS是控制域、地址域、链路用户数据(应用层)的字节的CRC校验,生成多项式:X7+X6+X5+X2+1。
5.1.5 应用层
5.1.5.1 应用层(链路用户数据)格式定义见表10。
表10 应用层格式
5.1.5.2 应用层功能码AFN由一字节组成,采用HEX编码表示,具体定义见表11。
表11 应用层功能码AFN
表11 应用层功能码AFN(续)
表11 应用层功能码AFN(续)
5.1.5.3 附加信息域AUX应按下列规定执行:
a)密码PW:
1)密码PW用于重要下行报文中,由2字节组成,PW是由中心站将密钥按系统约定的密码算法产生,并在中心站发送的报文中下发给终端,由终端进行校验,通过则响应中心站命令,反之否认。
2)密码长度由两个字节组成:第一个字节前半个字节为密钥算法,采用BCD编码,取值范围0~9;第一个字节后半字节和第二个字节共12位为密钥,采用BCD编码,取值范围0~999。终端根据密钥及密钥算法,计算出密码,然后与终端持有的密码进行比对验证,密码相匹配,则命令有效,否则命令无效。
3)终端的密码及密钥算法不公开,格式见表12。
表12 密码PW
b)时间标签Tp:
1)时间标签用于交换网络通道中,对采用同时建立多个通信服务的传输,进行辅助判决接收报文的时序和时效性。
2)时间标签Tp由5字节组成,数据格式见表13。
表13 时间标签Tp
3)时标的数据格式见表14。
表14 时标的数据格式
4)时间标签Tp由启动站产生,并通过报文传送给从动站,从动站据此判决收到的报文的时序和时效性,如判别有效,从动站发送响应帧。
5)启动帧发送时标:记录启动帧发送的时间。
6)允许发送传输延时时间:指启动帧从开始发送至从动站接收到报文之间启动站所允许的传输延时时间。
7)从动站的时效性判断规则:如从动站的当前时间与Tp中的启动帧发送时标之间的时间差大于Tp中的允许传输延时时间,从动站则舍弃该报文。如时间差不大于Tp中的允许传输延时时间,则做出响应。如Tp中的允许传输延时时间为“0”,则从动站不进行上述A)和B)两项的判断。在自报参数时,Tp是该参数变化发生时间。
5.2 链路传输
5.2.1 报文传输示意,见图1。
图1 报文传输示意图
5.2.2 传输服务类别定义,见表15。
表15 传输服务类别
5.2.3 半双工通道应采用非平衡传输规则。在前一次通信服务结束后,才能开始新一次发送帧传输。
5.2.4 全双工通道可采用平衡传输规则。允许建立一个或多个通信服务。同时建立多个通信服务时,由启动站进行数据流控制。
5.2.5 发送/无回答:指启动站发出报文后,由于信道或设备等原因,没有得到相应的回答。非平衡传输过程在前一次通信服务的传输过程结束后,并且考虑信道网络延时、中间环节延时、终端响应时间等因素,才可开始新一次发送传输。
5.2.6 发送/确认:指启动站发出报文后,从动站正确收到报文,并能执行报文的命令,发送确认报文或否认报文。
5.2.7 查询/响应:指启动站发出报文后,从动站正确收到查询数据报文,如所查询的数据有效,则发送响应帧;如所查询的数据无效,则发送否认帧。FCB值可防止报文丢失和报文重复传送,最大重发次数设定为3次。
5.2.8 通信出错处理主要包括:
a)启动站在规定时间内没有正确收到响应报文,作为超时出错处理。超时时间应考虑信道网络延时、中间环节延时、终端响应时间等因素。在发送下一帧之前,需等待一个超时时间。
b)从动站若检出帧差错则不作回答。
5.3 物理层规约
5.3.1 接口的登录链接和在线保持检测采用链路测试服务,测试周期可设定。
5.3.2 帧的基本单元为字节,字节传输按异步方式进行,包含8个数据位、1个起始位“0”、1个偶校验位Pc和1个停止位“1”,定义见表16。
表16 串行通信帧基本单元
5.3.3 查询/应答工作方式主要包括:
a)遥测终端站或中继站响应中心站查询指令发送相应数据的工作体制。
b)中心站发出指令主要用于查询参数数据,查询状态,检查参数,设置参数,控制设备,终端应按照指令,应答所查询的数据或状态,设置和检查参数,执行控制设备并返回执行结果。
c)中心站查询的方式有定时查询,顺序查询和随机查询。
5.3.4 自报工作方式主要包括:
a)被测参数值发生一定变化或定时等事件触发,遥测终端或中继站主动发送数据的工作体制。
b)自报的一般有定时间隔自报,发生需要上报的告警自报,规定的特定条件自报,被控参数变化自报等。这些自报的发生一般属于随机和规定时间的主动上报。
5.3.5 兼容工作方式表示同时包括查询/应答和自报两种工作方式。
5.3.6 在查询/应答工作方式时,随机查询的优先级高于定时查询和顺序查询。在自报工作方式时,优先级高低依次为:告警自报,参数变化自报,特定条件自报,定时间隔自报。在兼容工作方式下,自报工作方式的优先级高于查询/应答工作方式。