(window.webpackJsonp=window.webpackJsonp||[]).push([[671],{8330:function(_,v,t){"use strict";t.r(v);var d=t(7),r=Object(d.a)({},(function(){var _=this,v=_._self._c;return v("ContentSlotsDistributor",{attrs:{"slot-key":_.$parent.slotKey}},[v("h1",{attrs:{id:"第六部分"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#第六部分"}},[_._v("#")]),_._v(" 第六部分")]),_._v(" "),v("h2",{attrs:{id:"_6-2-场景化开发"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_6-2-场景化开发"}},[_._v("#")]),_._v(" 6.2 场景化开发")]),_._v(" "),v("p",[_._v("在水务项目中，针对通过SL651协议发送上行数据的设备，使用该方式进行对接。SL651标准规定了水文监测系统中智能传感器与遥测终端的接口及数据通信协议、测站与中心站之间的数据通信协议。适用于江河、湖泊、水库、近海、水电站、灌区及输水工程等各类水文监测系统和水资源监测（控）系统，亦适用于其他水利监测系统。")]),_._v(" "),v("h5",{attrs:{id:"协议特点"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#协议特点"}},[_._v("#")]),_._v(" 协议特点")]),_._v(" "),v("p",[_._v("该协议提供HEX码和ASCII码两种机制。包括以下协议格式内容：")]),_._v(" "),v("p",[_._v("1.数据定义")]),_._v(" "),v("p",[_._v("a）BCD 编码数据最高位字节是“FF”表示负数，除了标识的负数外，其他 BCD 数据均是正数。数据位数是奇数，且是负数时，数据高位前插入“FF0”。数据位数是偶数，且是负数时，数据高位前插入1字节“FF”。")]),_._v(" "),v("p",[_._v("b）当采用 BCD编码的遥测站目的地地址(如短信接收号码等，且不可能是负数)位数是奇数时，最高位用“A”补齐，解码时去掉“A”；位数是偶数时，直接采用原数据。")]),_._v(" "),v("p",[_._v("c）少数数据是 HEX 编码，是无符号位数据，通过标识符识别。")]),_._v(" "),v("p",[_._v("表 26 HEX/BCD 编码标识符结构规定")]),_._v(" "),v("table",[v("thead",[v("tr",[v("th",[_._v("高位字节")]),_._v(" "),v("th",[_._v("低位字节")]),_._v(" "),v("th",[_._v("说明")])])]),_._v(" "),v("tbody",[v("tr",[v("td",[_._v("标识符引导符")]),_._v(" "),v("td",[_._v("数据定义")]),_._v(" "),v("td",[_._v("要素标识符与遥测 站 配置参数标识符 取值 相同，用功能 码区分是 要素还是 遥测站参数 标识")])]),_._v(" "),v("tr",[v("td",[_._v("通常为1字节HEX码，范围 01H~FEH；当该字节取值FFH时，其后增加1字节 扩展标识符")]),_._v(" "),v("td",[_._v("字节高 5 位")]),_._v(" "),v("td",[_._v("字节低 3 位")])]),_._v(" "),v("tr",[v("td",[_._v("表示数据字节数")]),_._v(" "),v("td",[_._v("表示小数点后位数")]),_._v(" "),v("td")]),_._v(" "),v("tr",[v("td",[_._v("字节数为扣除小数点后包含符号位的长度，范围0～31")]),_._v(" "),v("td",[_._v("范围为 0～7")]),_._v(" "),v("td")])])]),_._v(" "),v("p",[_._v("2.链路维持报")]),_._v(" "),v("p",[_._v("报文：")]),_._v(" "),v("table",[v("thead",[v("tr",[v("th",[_._v("2FH")]),_._v(" "),v("th",[_._v("链路维持（心跳）")])])]),_._v(" "),v("tbody",[v("tr",[v("td",[_._v("上行报文")]),_._v(" "),v("td",[_._v("7E7E01302010112212342F00080200011803210917380309A1")])]),_._v(" "),v("tr",[v("td",[_._v("下行报文")]),_._v(" "),v("td",[_._v("无")])]),_._v(" "),v("tr",[v("td",[_._v("数据域")]),_._v(" "),v("td",[_._v("无")])])])]),_._v(" "),v("p",[_._v("上行协议说明：")]),_._v(" "),v("table",[v("thead",[v("tr",[v("th",[_._v("名称")]),_._v(" "),v("th",[_._v("字符")]),_._v(" "),v("th",[_._v("字节数")]),_._v(" "),v("th",[_._v("说明")])])]),_._v(" "),v("tbody",[v("tr",[v("td",[_._v("帧起始符")]),_._v(" "),v("td",[_._v("7E7E")]),_._v(" "),v("td",[_._v("2")]),_._v(" "),v("td",[_._v("表示 16 进制 7E7EH。规约里 SOH")])]),_._v(" "),v("tr",[v("td",[_._v("中心站地址")]),_._v(" "),v("td",[_._v("01")]),_._v(" "),v("td",[_._v("1")]),_._v(" "),v("td",[_._v("16 进制 01H。中心站地址，取值 01-FF，")])]),_._v(" "),v("tr",[v("td",[_._v("遥测站地址")]),_._v(" "),v("td",[_._v("3020101122")]),_._v(" "),v("td",[_._v("5")]),_._v(" "),v("td",[_._v("16 进制遥测站地址，也就是设备地址")])]),_._v(" "),v("tr",[v("td",[_._v("密码")]),_._v(" "),v("td",[_._v("1234")]),_._v(" "),v("td",[_._v("2")]),_._v(" "),v("td",[_._v("16 进制通讯密码，要和设备对应")])]),_._v(" "),v("tr",[v("td",[_._v("功能码")]),_._v(" "),v("td",[_._v("2F")]),_._v(" "),v("td",[_._v("1")]),_._v(" "),v("td",[_._v("16 进制功能码，表示链路维持报")])]),_._v(" "),v("tr",[v("td",[_._v("报文上下行标识及长度")]),_._v(" "),v("td",[_._v("0008")]),_._v(" "),v("td",[_._v("2")]),_._v(" "),v("td",[_._v("第1个字符用作上下行标识（0表示上行，8表示下行）；其余 3 个字符表示报文正文长度，表示报文起始符之后、报文结束符之前的报文字节数，允许长度为 0001～40")])]),_._v(" "),v("tr",[v("td",[_._v("报文起始符")]),_._v(" "),v("td",[_._v("02")]),_._v(" "),v("td",[_._v("1")]),_._v(" "),v("td",[_._v("表示 16 进制 02H。规约里的 STX")])]),_._v(" "),v("tr",[v("td",[_._v("序列号")]),_._v(" "),v("td",[_._v("0001")]),_._v(" "),v("td",[_._v("2")]),_._v(" "),v("td",[_._v("16 进制字符串。重发和应答这个值要一样，发送成功这个值加 1")])]),_._v(" "),v("tr",[v("td",[_._v("上报日期")]),_._v(" "),v("td",[_._v("180321091738")]),_._v(" "),v("td",[_._v("6")]),_._v(" "),v("td",[_._v("2018/03/21 09:17:38")])]),_._v(" "),v("tr",[v("td",[_._v("报文结束符")]),_._v(" "),v("td",[_._v("03")]),_._v(" "),v("td",[_._v("1")]),_._v(" "),v("td",[_._v("表示 16 进制 03H。规约里 ETX")])]),_._v(" "),v("tr",[v("td",[_._v("校验")]),_._v(" "),v("td",[_._v("09A1")]),_._v(" "),v("td",[_._v("2")]),_._v(" "),v("td",[_._v("CRC16 校验")])])])]),_._v(" "),v("ol",{attrs:{start:"3"}},[v("li",[_._v("定时报")])]),_._v(" "),v("p",[_._v("报文：")]),_._v(" "),v("table",[v("thead",[v("tr",[v("th",[_._v("32H")]),_._v(" "),v("th",[_._v("遥测站定时报")])])]),_._v(" "),v("tbody",[v("tr",[v("td",[_._v("上行报文")]),_._v(" "),v("td",[_._v("7E7E05001122334403E832002B020034170718110016F1F1001122334448F0F01707181100201900004026190000403923000104903812109903A421")])]),_._v(" "),v("tr",[v("td",[_._v("下行报文")]),_._v(" "),v("td",[_._v("7E7E00112233440503E832800802003417071811001606EC14")])]),_._v(" "),v("tr",[v("td",[_._v("数据域")]),_._v(" "),v("td",[_._v("当前降水量：4mm，降水量累计值：4mm，瞬时河道水位：10.49m，电源电压：10.99V。")])])])]),_._v(" "),v("p",[_._v("上行协议说明：")]),_._v(" "),v("table",[v("thead",[v("tr",[v("th",[_._v("名称")]),_._v(" "),v("th",[_._v("字符")]),_._v(" "),v("th",[_._v("字节数")]),_._v(" "),v("th",[_._v("说明")])])]),_._v(" "),v("tbody",[v("tr",[v("td",[_._v("帧起始符")]),_._v(" "),v("td",[_._v("7E7E")]),_._v(" "),v("td",[_._v("2")]),_._v(" "),v("td",[_._v("表示 16 进制 7E7EH。要和设备对应。规约里 SOH")])]),_._v(" "),v("tr",[v("td",[_._v("中心站地址")]),_._v(" "),v("td",[_._v("05")]),_._v(" "),v("td",[_._v("1")]),_._v(" "),v("td",[_._v("16 进制字符串。中心站地址，取值01-FF")])]),_._v(" "),v("tr",[v("td",[_._v("遥测站地址")]),_._v(" "),v("td",[_._v("0011223344")]),_._v(" "),v("td",[_._v("5")]),_._v(" "),v("td",[_._v("16 进制遥测站地址，也就是设备地址")])]),_._v(" "),v("tr",[v("td",[_._v("密码")]),_._v(" "),v("td",[_._v("03E8")]),_._v(" "),v("td",[_._v("2")]),_._v(" "),v("td",[_._v("16 进制通讯密码，要和设备对应")])]),_._v(" "),v("tr",[v("td",[_._v("功能码")]),_._v(" "),v("td",[_._v("32")]),_._v(" "),v("td",[_._v("1")]),_._v(" "),v("td",[_._v("16 进制功能码，表示定时报")])]),_._v(" "),v("tr",[v("td",[_._v("报文上下行标识及长度")]),_._v(" "),v("td",[_._v("002B")]),_._v(" "),v("td",[_._v("2")]),_._v(" "),v("td",[_._v("第 1 个字符用作上下行标识（0 表示上行，8  表示下行）；其余 3 个字符表示报文正文长度，表示报文起始符之后、报文结束符之前的报文字节数，允许长度为 0001～40")])]),_._v(" "),v("tr",[v("td",[_._v("报文起始符")]),_._v(" "),v("td",[_._v("02")]),_._v(" "),v("td",[_._v("1")]),_._v(" "),v("td",[_._v("表示 16 进制 02H。规约里的 STX")])]),_._v(" "),v("tr",[v("td",[_._v("序列号")]),_._v(" "),v("td",[_._v("0034")]),_._v(" "),v("td",[_._v("2")]),_._v(" "),v("td",[_._v("16 进制数。重发和应答这个值要一样，发送成功这个值加 1")])]),_._v(" "),v("tr",[v("td",[_._v("上报日期")]),_._v(" "),v("td",[_._v("170718110016")]),_._v(" "),v("td",[_._v("6")]),_._v(" "),v("td",[_._v("2017/07/18 11:00:16")])]),_._v(" "),v("tr",[v("td",[_._v("终端地址")]),_._v(" "),v("td",[_._v("F1F10011223344")]),_._v(" "),v("td",[_._v("7")]),_._v(" "),v("td",[_._v("F1F1H 表示终端地址标识符，和遥测站地址一致")])]),_._v(" "),v("tr",[v("td",[_._v("终端类型")]),_._v(" "),v("td",[_._v("48")]),_._v(" "),v("td",[_._v("1")]),_._v(" "),v("td",[_._v("16 进制数，终端类型是河道")])]),_._v(" "),v("tr",[v("td",[_._v("采集日期")]),_._v(" "),v("td",[_._v("F0F01707181100")]),_._v(" "),v("td",[_._v("7")]),_._v(" "),v("td",[_._v("F0F0H 表 示 采 集 时 间 标 识 符 ，2017/07/18 11:00")])]),_._v(" "),v("tr",[v("td",[_._v("当前雨量")]),_._v(" "),v("td",[_._v("2019000040")]),_._v(" "),v("td",[_._v("5")]),_._v(" "),v("td",[_._v("20H 表示当前雨量表示符，长度是固定。无效值是 2019AAAAAA不是必须有的(取决设备设置)")])]),_._v(" "),v("tr",[v("td",[_._v("累计雨量")]),_._v(" "),v("td",[_._v("2619000040")]),_._v(" "),v("td",[_._v("5")]),_._v(" "),v("td",[_._v("26H 表示累计雨量表示符，长度是固定。无效值是 2619AAAAAA不是必须有的(取决设备设置)")])]),_._v(" "),v("tr",[v("td",[_._v("水位")]),_._v(" "),v("td",[_._v("392300010490")]),_._v(" "),v("td",[_._v("6")]),_._v(" "),v("td",[_._v("39H 表示瞬时水位，长度是固定。无效值是 3923AAAAAAAA不是必须有的(取决设备设置)")])]),_._v(" "),v("tr",[v("td",[_._v("电池电量")]),_._v(" "),v("td",[_._v("38121099")]),_._v(" "),v("td",[_._v("4")]),_._v(" "),v("td",[_._v("38H 表示电池电量，单位伏。长度是固定。无效值是 3812AAAA")])]),_._v(" "),v("tr",[v("td",[_._v("报文结束符")]),_._v(" "),v("td",[_._v("03")]),_._v(" "),v("td",[_._v("1")]),_._v(" "),v("td",[_._v("表示 16 进制 03H。规约里 ETX")])]),_._v(" "),v("tr",[v("td",[_._v("校验")]),_._v(" "),v("td",[_._v("A421")]),_._v(" "),v("td",[_._v("2")]),_._v(" "),v("td",[_._v("CRC16 校验")])])])]),_._v(" "),v("p",[_._v("下行协议说明：")]),_._v(" "),v("table",[v("thead",[v("tr",[v("th",[_._v("名称")]),_._v(" "),v("th",[_._v("字符")]),_._v(" "),v("th",[_._v("字节数")]),_._v(" "),v("th",[_._v("说明")])])]),_._v(" "),v("tbody",[v("tr",[v("td",[_._v("帧起始符")]),_._v(" "),v("td",[_._v("7E7E")]),_._v(" "),v("td",[_._v("2")]),_._v(" "),v("td",[_._v("表示 16 进制 7E7EH。要和设备对应。规约里 SOH")])]),_._v(" "),v("tr",[v("td",[_._v("遥测站地址")]),_._v(" "),v("td",[_._v("0011223344")]),_._v(" "),v("td",[_._v("5")]),_._v(" "),v("td",[_._v("16 进制遥测站地址，也就是设备地址")])]),_._v(" "),v("tr",[v("td",[_._v("中心站地址")]),_._v(" "),v("td",[_._v("05")]),_._v(" "),v("td",[_._v("1")]),_._v(" "),v("td",[_._v("16 进制字符串。中心站地址，取值 01-FF，")])]),_._v(" "),v("tr",[v("td",[_._v("密码")]),_._v(" "),v("td",[_._v("03E8")]),_._v(" "),v("td",[_._v("2")]),_._v(" "),v("td",[_._v("16 进制通讯密码，要和设备对应")])]),_._v(" "),v("tr",[v("td",[_._v("功能码")]),_._v(" "),v("td",[_._v("32")]),_._v(" "),v("td",[_._v("1")]),_._v(" "),v("td",[_._v("16 进制功能码，表示定时报")])]),_._v(" "),v("tr",[v("td",[_._v("报文上下行标识及长度")]),_._v(" "),v("td",[_._v("8008")]),_._v(" "),v("td",[_._v("2")]),_._v(" "),v("td",[_._v("第 1 个字符用作上下行标识（0 表示上行，8  表示下行）；其余 3 个字符表示报文正文长度，表示报文起始符之后、报文结束符之前的报文字节数，允许长度为 0001～40")])]),_._v(" "),v("tr",[v("td",[_._v("报文起始符")]),_._v(" "),v("td",[_._v("02")]),_._v(" "),v("td",[_._v("1")]),_._v(" "),v("td",[_._v("表示 16 进制 02H。规约里的 STX")])]),_._v(" "),v("tr",[v("td",[_._v("序列号")]),_._v(" "),v("td",[_._v("0034")]),_._v(" "),v("td",[_._v("2")]),_._v(" "),v("td",[_._v("16 进制数。重发和应答这个值要一样，发送成功这个值加 1")])]),_._v(" "),v("tr",[v("td",[_._v("应答日期")]),_._v(" "),v("td",[_._v("170718110016")]),_._v(" "),v("td",[_._v("6")]),_._v(" "),v("td",[_._v("2017/07/18 11:00:16")])]),_._v(" "),v("tr",[v("td",[_._v("报文结束符")]),_._v(" "),v("td",[_._v("06")]),_._v(" "),v("td",[_._v("1")]),_._v(" "),v("td",[_._v("表示 16 进制 06H。规约里ACK")])]),_._v(" "),v("tr",[v("td",[_._v("校验")]),_._v(" "),v("td",[_._v("EC14")]),_._v(" "),v("td",[_._v("2")]),_._v(" "),v("td",[_._v("CRC16 校验")])])])]),_._v(" "),v("p",[_._v("4.加急报")]),_._v(" "),v("p",[_._v("报文：")]),_._v(" "),v("table",[v("thead",[v("tr",[v("th",[_._v("33H")]),_._v(" "),v("th",[_._v("加报报（报警）")])])]),_._v(" "),v("tbody",[v("tr",[v("td",[_._v("上行报文")]),_._v(" "),v("td",[_._v("7E7E05001122334403E833002B020026170718102202F1F1001122334448F0F01707181022201900004026190000403923000104903812110203F511")])]),_._v(" "),v("tr",[v("td",[_._v("下行报文")]),_._v(" "),v("td",[_._v("7E7E00112233440503E8338008020026170718102202064E38")])]),_._v(" "),v("tr",[v("td",[_._v("数据域")]),_._v(" "),v("td",[_._v("当前降水量：4mm（报警数据），降水量累计值：4mm，瞬时河道水位：10.49m，电源电压：11.02V。")])])])]),_._v(" "),v("p",[_._v("上行协议说明：")]),_._v(" "),v("table",[v("thead",[v("tr",[v("th",[_._v("名称")]),_._v(" "),v("th",[_._v("字符")]),_._v(" "),v("th",[_._v("字节数")]),_._v(" "),v("th",[_._v("说明")])])]),_._v(" "),v("tbody",[v("tr",[v("td",[_._v("帧起始符")]),_._v(" "),v("td",[_._v("7E7E")]),_._v(" "),v("td",[_._v("2")]),_._v(" "),v("td",[_._v("表示 16 进制 7E7EH。要和设备对应。规约里 SOH")])]),_._v(" "),v("tr",[v("td",[_._v("中心站地址")]),_._v(" "),v("td",[_._v("05")]),_._v(" "),v("td",[_._v("1")]),_._v(" "),v("td",[_._v("16 进制字符串。中心站地址，取值 01-FF，")])]),_._v(" "),v("tr",[v("td",[_._v("遥测站地址")]),_._v(" "),v("td",[_._v("0011223344")]),_._v(" "),v("td",[_._v("5")]),_._v(" "),v("td",[_._v("16 进制遥测站地址，也就是设备地址")])]),_._v(" "),v("tr",[v("td",[_._v("密码")]),_._v(" "),v("td",[_._v("03E8")]),_._v(" "),v("td",[_._v("2")]),_._v(" "),v("td",[_._v("16 进制通讯密码，要和设备对应")])]),_._v(" "),v("tr",[v("td",[_._v("功能码")]),_._v(" "),v("td",[_._v("33")]),_._v(" "),v("td",[_._v("1")]),_._v(" "),v("td",[_._v("16 进制功能码，表示加报报")])]),_._v(" "),v("tr",[v("td",[_._v("报文上下行标识及长度")]),_._v(" "),v("td",[_._v("002B")]),_._v(" "),v("td",[_._v("2")]),_._v(" "),v("td",[_._v("第 1 个字符用作上下行标识（0 表示上行，8  表示下行）；其余 3 个字符表示报文正文长度，表示报文起始符之后、报文结束符之前的报文字节数，允许长度为 0001～40")])]),_._v(" "),v("tr",[v("td",[_._v("报文起始符")]),_._v(" "),v("td",[_._v("02")]),_._v(" "),v("td",[_._v("1")]),_._v(" "),v("td",[_._v("表示 16 进制 02H。规约里的 STX")])]),_._v(" "),v("tr",[v("td",[_._v("序列号")]),_._v(" "),v("td",[_._v("0026")]),_._v(" "),v("td",[_._v("2")]),_._v(" "),v("td",[_._v("16 进制数。重发和应答这个值要一样，发送成功这个值加 1")])]),_._v(" "),v("tr",[v("td",[_._v("上报日期")]),_._v(" "),v("td",[_._v("170718102202")]),_._v(" "),v("td",[_._v("6")]),_._v(" "),v("td",[_._v("2017/07/18 10:22:02")])]),_._v(" "),v("tr",[v("td",[_._v("终端地址")]),_._v(" "),v("td",[_._v("F1F10011223344")]),_._v(" "),v("td",[_._v("7")]),_._v(" "),v("td",[_._v("F1F1H 表示终端地址标识符，和遥测站地址一致")])]),_._v(" "),v("tr",[v("td",[_._v("终端类型")]),_._v(" "),v("td",[_._v("48")]),_._v(" "),v("td",[_._v("1")]),_._v(" "),v("td",[_._v("16 进制数，终端类型是河道")])]),_._v(" "),v("tr",[v("td",[_._v("采集日期")]),_._v(" "),v("td",[_._v("F0F01707181100")]),_._v(" "),v("td",[_._v("7")]),_._v(" "),v("td",[_._v("F0F0H 表 示 采 集 时 间 标 识 符 ，2017/07/18 11:00")])]),_._v(" "),v("tr",[v("td",[_._v("当前雨量")]),_._v(" "),v("td",[_._v("2019000040")]),_._v(" "),v("td",[_._v("5")]),_._v(" "),v("td",[_._v("20H 表示当前雨量表示符，长度是固定 (第一组数据是报警数据)。无效值是2019AAAAAA不是必须有的(取决设备设置)")])]),_._v(" "),v("tr",[v("td",[_._v("累计雨量")]),_._v(" "),v("td",[_._v("2619000040")]),_._v(" "),v("td",[_._v("5")]),_._v(" "),v("td",[_._v("26H 表示累计雨量表示符，长度是固定。无效值是 2619AAAAAA不是必须有的(取决设备设置)")])]),_._v(" "),v("tr",[v("td",[_._v("水位")]),_._v(" "),v("td",[_._v("392300010490")]),_._v(" "),v("td",[_._v("6")]),_._v(" "),v("td",[_._v("39H 表示瞬时水位，长度是固定。无效值是 3923AAAAAAAA不是必须有的(取决设备设置)")])]),_._v(" "),v("tr",[v("td",[_._v("电池电量")]),_._v(" "),v("td",[_._v("381211")]),_._v(" "),v("td",[_._v("4")]),_._v(" "),v("td",[_._v("38H 表示电池电量，单位伏。长度是固 定。无效值是 3812AAAA")])]),_._v(" "),v("tr",[v("td",[_._v("报文结束符")]),_._v(" "),v("td",[_._v("03")]),_._v(" "),v("td",[_._v("1")]),_._v(" "),v("td",[_._v("表示 16 进制 03H。规约里 ETX")])]),_._v(" "),v("tr",[v("td",[_._v("校验")]),_._v(" "),v("td",[_._v("F511")]),_._v(" "),v("td",[_._v("2")]),_._v(" "),v("td",[_._v("CRC16 校验")])])])]),_._v(" "),v("p",[_._v("下行协议说明：")]),_._v(" "),v("table",[v("thead",[v("tr",[v("th",[_._v("名称")]),_._v(" "),v("th",[_._v("字符")]),_._v(" "),v("th",[_._v("字节数")]),_._v(" "),v("th",[_._v("说明")])])]),_._v(" "),v("tbody",[v("tr",[v("td",[_._v("帧起始符")]),_._v(" "),v("td",[_._v("7E7E")]),_._v(" "),v("td",[_._v("2")]),_._v(" "),v("td",[_._v("表示 16 进制 7E7EH。要和设备对应。规约里 SOH")])]),_._v(" "),v("tr",[v("td",[_._v("遥测站地址")]),_._v(" "),v("td",[_._v("0011223344")]),_._v(" "),v("td",[_._v("5")]),_._v(" "),v("td",[_._v("16 进制遥测站地址，也就是设备地址")])]),_._v(" "),v("tr",[v("td",[_._v("中心站地址")]),_._v(" "),v("td",[_._v("05")]),_._v(" "),v("td",[_._v("1")]),_._v(" "),v("td",[_._v("16 进制字符串。中心站地址，取值 01-FF，")])]),_._v(" "),v("tr",[v("td",[_._v("密码")]),_._v(" "),v("td",[_._v("03E8")]),_._v(" "),v("td",[_._v("2")]),_._v(" "),v("td",[_._v("16 进制通讯密码，要和设备对应")])]),_._v(" "),v("tr",[v("td",[_._v("功能码")]),_._v(" "),v("td",[_._v("33")]),_._v(" "),v("td",[_._v("1")]),_._v(" "),v("td",[_._v("16 进制功能码，表示加报报")])]),_._v(" "),v("tr",[v("td",[_._v("报文上下行标识及长度")]),_._v(" "),v("td",[_._v("8008")]),_._v(" "),v("td",[_._v("2")]),_._v(" "),v("td",[_._v("第 1 个字符用作上下行标识（0 表示上行，8  表示下行）；其余 3 个字符表示报文正文长度，表示报文起始符之后、报文结束符之前的报文字节数，允许长度为 0001～40")])]),_._v(" "),v("tr",[v("td",[_._v("报文起始符")]),_._v(" "),v("td",[_._v("02")]),_._v(" "),v("td",[_._v("1")]),_._v(" "),v("td",[_._v("表示 16 进制 02H。规约里的 STX")])]),_._v(" "),v("tr",[v("td",[_._v("序列号")]),_._v(" "),v("td",[_._v("0034")]),_._v(" "),v("td",[_._v("2")]),_._v(" "),v("td",[_._v("16 进制数。重发和应答这个值要一样，发送成功这个值加 1")])]),_._v(" "),v("tr",[v("td",[_._v("上报日期")]),_._v(" "),v("td",[_._v("170718102202")]),_._v(" "),v("td",[_._v("6")]),_._v(" "),v("td",[_._v("2017/07/18 10:22:02")])]),_._v(" "),v("tr",[v("td",[_._v("报文结束符")]),_._v(" "),v("td",[_._v("06")]),_._v(" "),v("td",[_._v("1")]),_._v(" "),v("td",[_._v("表示 16 进制 03H。规约里 ETX")])]),_._v(" "),v("tr",[v("td",[_._v("校验")]),_._v(" "),v("td",[_._v("4E38")]),_._v(" "),v("td",[_._v("2")]),_._v(" "),v("td",[_._v("CRC16 校验")])])])]),_._v(" "),v("h5",{attrs:{id:"对接设计"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#对接设计"}},[_._v("#")]),_._v(" 对接设计")]),_._v(" "),v("p",[_._v("智慧水务系统需要实现相关应用对数据采集的要求，具体数据需求如下：观测时间、水位、电压、NB电压、当前雨量、累计雨量、流量、流速、累计流量、水温。")]),_._v(" "),v("p",[_._v("厂商数据按照SL651标准，使用指定UDP端口向平台推送数据，平台监听指定UDP端口，获取设备推送的实时数据，根据SL651协议解析数据，并将数据存储到设备字典里。")]),_._v(" "),v("p",[_._v("通过数据库配置的设备号和标识符获取指定设备的指定类型的数据。")]),_._v(" "),v("p",[_._v("概述：")]),_._v(" "),v("p",[_._v("1．服务启动后查看数据库里配置的UDP端口是否处于监听状态，如果没有监听开启监听，如果已经监听，等待接收数据。")]),_._v(" "),v("p",[_._v("2．水位、流量等设备按照SL651规约的数据格式向该UDP端口推送报文，监听程序收到上行报文后，将报文拆分成报头和正文两部分，并将发送数据的ip和端口保存，在通过报头拼接下行报文信息后，将该信息响应给保存的ip。")]),_._v(" "),v("p",[_._v("3．报文会进行CRC验证，验证不通过，等待下一次数据。验证通过后，将正文部分按位解析，通过标识符获取到它后面的值，保存在设备字典中。")]),_._v(" "),v("p",[_._v("4.通过数据库配置的设备号和标识符获取到匹配的遥测值进行显示。")]),_._v(" "),v("h5",{attrs:{id:"物模型设计"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#物模型设计"}},[_._v("#")]),_._v(" 物模型设计")]),_._v(" "),v("p",[_._v("1．概述")]),_._v(" "),v("p",[_._v("物模型设计主要根据需求出发，梳理本项目可能涉及的数据字典及业务匹配关系，并将其按照属性类型，列入到不同的模型属性分类中。")]),_._v(" "),v("p",[_._v("字典存储设备号、标识符和它的值，设备号取上行报文3-8位，标识符按16进制格式保存。标识符包含：地址标识符：F1H、时间标识符：F0H、水位标识符：3CH、当前雨量标识符：20H、累计雨量标识符：26H、水位标识符：39H、流量标识符：28H、水温标识符：03H、累计流量标识符：76H、电压标识符：38H、NB电压标识符：77H。")]),_._v(" "),v("p",[_._v("2．设备基础属性")]),_._v(" "),v("table",[v("thead",[v("tr",[v("th",[_._v("说明")]),_._v(" "),v("th",[_._v("示例")])])]),_._v(" "),v("tbody",[v("tr",[v("td",[_._v("设备名称")]),_._v(" "),v("td",[_._v("记汛")])]),_._v(" "),v("tr",[v("td",[_._v("驱动文件")]),_._v(" "),v("td",[_._v("GWSL651.Udp.STD.dll")])]),_._v(" "),v("tr",[v("td",[_._v("设备地址（上行报文中）")]),_._v(" "),v("td",[_._v("0111223344")])]),_._v(" "),v("tr",[v("td",[_._v("UDP端口号")]),_._v(" "),v("td",[_._v("8088")])]),_._v(" "),v("tr",[v("td",[_._v("通讯时间参数，单位：毫秒")]),_._v(" "),v("td",[_._v("2000/10000")])])])]),_._v(" "),v("p",[_._v("3．遥测点")]),_._v(" "),v("table",[v("thead",[v("tr",[v("th",[_._v("说明")]),_._v(" "),v("th",[_._v("示例")])])]),_._v(" "),v("tbody",[v("tr",[v("td",[_._v("测点名称")]),_._v(" "),v("td",[_._v("电压")])]),_._v(" "),v("tr",[v("td",[_._v("标识符")]),_._v(" "),v("td",[_._v("地址标识符：F1H时间标识符：F0H水位标识符：3CH当前雨量标识符：20H累计雨量标识符：26H水位标识符：39H流量标识符：28H水温标识符：03H累计流量标识符：76H电压标识符：38HNB电压标识符：77H")])])])]),_._v(" "),v("p",[_._v("4．遥信点")]),_._v(" "),v("table",[v("thead",[v("tr",[v("th",[_._v("说明")]),_._v(" "),v("th",[_._v("示例")])])]),_._v(" "),v("tbody",[v("tr",[v("td",[_._v("在线状态")]),_._v(" "),v("td",[_._v("在线/离线")])])])]),_._v(" "),v("h5",{attrs:{id:"核心算法和主要代码"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#核心算法和主要代码"}},[_._v("#")]),_._v(" 核心算法和主要代码")]),_._v(" "),v("p",[_._v("略")])])}),[],!1,null,null,null);v.default=r.exports}}]);