新聞中心
PRESS CENTEREG8200邊緣計(jì)算網(wǎng)關(guān)支持讀寫滿足 CJ/T 188-2004 標(biāo)準(zhǔn)的戶用計(jì)量儀表 。
協(xié)議可參考:https://iotrouter.yuque.com/attachments/yuque/0/2023/pdf/38696274/1698394496011-8d0bb7e8-9f74-4d73-852c-1d673d8e3b44.pdf
支持在CJ188節(jié)點(diǎn)中配置多個(gè)要采集的數(shù)據(jù),通過輸入消息來觸發(fā)數(shù)據(jù)采集。CJ188節(jié)點(diǎn)按照數(shù)據(jù)點(diǎn)的配置順序進(jìn)行采集,每采集完一個(gè)數(shù)據(jù)點(diǎn)即輸出一個(gè)消息對象。
串口配置:選擇CJ188設(shè)備接入的串口號 數(shù)據(jù)名稱:要采集的數(shù)據(jù)點(diǎn)名稱,鍵值對的KEY,用戶自定義 水表類型:2位16進(jìn)制字符,例如:10表示冷水水表 水表地址:14位字符串格式的水表地址,例如:00202307160177 數(shù)據(jù)標(biāo)識:4位16進(jìn)制字符,例如:901F表示讀計(jì)量數(shù)據(jù) 詳情請參考協(xié)議文檔 |
示例采集一個(gè)表號為00202307160177的冷水水表的計(jì)量數(shù)據(jù),數(shù)據(jù)名稱自定義為data,采集結(jié)果存儲在屬性msg.data中,如圖所示:結(jié)果含義請參考高級用法輸出:
源碼:見文末
支持向CJ188節(jié)點(diǎn)輸入符合規(guī)定的消息對象,實(shí)現(xiàn)【寫數(shù)據(jù)】、【讀數(shù)據(jù)】、【寫閥門狀態(tài)】等功能。
《 CJ/T 188-2004 戶用計(jì)量儀表數(shù)據(jù)傳輸技術(shù)條件》規(guī)定的數(shù)據(jù)標(biāo)識一般包含多個(gè)屬性,因此解析數(shù)據(jù)成功后將多個(gè)屬性合為一個(gè)對象輸出,當(dāng)CJ188節(jié)點(diǎn)的輸入包含msg.key屬性,輸出以msg.key值作為對象名,否則以msg.address作為對象名。
寫輸入
msg.type #水表類型:2位16進(jìn)制字符串,例如:10表示冷水水表 msg.address #水表地址:14位字符串格式的水表地址,例如:00202307160177 msg.cmd #控制碼:字符串格式,具體請參考協(xié)議文檔 msg.ret #正常應(yīng)答控制碼:字符串格式,具體請參考協(xié)議文檔 msg.datalen #數(shù)據(jù)長度:字符串格式,具體請參考協(xié)議文檔 msg.identify #數(shù)據(jù)標(biāo)識:字符串格式,具體請參考協(xié)議文檔 msg.seq #序列號:字符串格式,具體請參考協(xié)議文檔 msg.val #要寫入的值,寫必填,讀請忽略此屬性 msg.key #輸出結(jié)果對象名(選填,如果未攜帶該字段,輸出對象名為msg.address) |
寫輸出
msg.type #輸入的字段 msg.address #輸入的字段 msg.cmd #輸入的字段 msg.ret #輸入的字段 msg.datalen #輸入的字段 msg.identify #輸入的字段 msg.seq #輸入的字段 msg.val #輸入的字段 msg.status # OK"正?;貜?fù)"TIMEOUT"超時(shí) msg.reqpayload #請求的命令幀 msg.payload #響應(yīng)的命令幀,如果超時(shí)則為空 msg.key(msg.address) #寫入結(jié)果 【true】:成功 【write reply Error】:回復(fù)錯(cuò)誤 【write Error】:控制碼錯(cuò)誤 |
讀輸入
msg.type #水表類型:2位16進(jìn)制字符串,例如:10表示冷水水表 msg.address #水表地址:14位字符串格式的水表地址,例如:00202307160177 msg.cmd #控制碼:字符串格式,具體請參考協(xié)議文檔 msg.ret #正常應(yīng)答控制碼:字符串格式,具體請參考協(xié)議文檔 msg.datalen #數(shù)據(jù)長度:字符串格式,具體請參考協(xié)議文檔 msg.identify #數(shù)據(jù)標(biāo)識:字符串格式,具體請參考協(xié)議文檔 msg.seq #序列號:字符串格式,具體請參考協(xié)議文檔
msg.key #輸出結(jié)果對象名(選填,如果未攜帶該字段,輸出對象名為msg.address) |
讀輸出
msg.type #輸入的字段 msg.address #輸入的字段 msg.cmd #輸入的字段 msg.ret #輸入的字段 msg.datalen #輸入的字段 msg.identify #輸入的字段 msg.seq #輸入的字段 msg.status # OK"正?;貜?fù)"TIMEOUT"超時(shí) msg.reqpayload #請求的命令幀 msg.payload #響應(yīng)的命令幀,如果超時(shí)則為空 msg.key(msg.address) #讀取結(jié)果 #【read reply Error】:回復(fù)錯(cuò)誤 #【read Error】:控制碼錯(cuò)誤 #【read data identification error】:數(shù)據(jù)標(biāo)識錯(cuò)誤 #【Object】:參考對象說明 #讀取對象參考 #數(shù)據(jù)標(biāo)識 屬性含義 #901F讀計(jì)量數(shù)據(jù) cct:當(dāng)前累計(jì)流量 #atosd:結(jié)算日累計(jì)流量 #data:實(shí)時(shí)時(shí)間 #st:狀態(tài)ST,16進(jìn)制 #value:狀態(tài)ST,低2位D0D1,16進(jìn)制 #D120~D12B 歷史計(jì)量數(shù)據(jù) #8102讀價(jià)格表 price1:價(jià)格1 #dosage1:用量1 #price2:價(jià)格2 #dosage2:用量2 #price3:價(jià)格3 #dosage3:用量3 #8103讀結(jié)算日 #8104讀抄表日 #8105計(jì)數(shù)器寄存器 seq:本次購買序號 #som:本次購入金額 #ca:累計(jì)購入金額 #ra:剩余金額 #st:狀態(tài)ST,16進(jìn)制 #value:狀態(tài)ST,低2位DOD1,16進(jìn)制 |
901F輸出示例
{ "cct":"000001.00",//當(dāng)前累積流量 "atosd":"000001.00",//結(jié)算日累積流量 "date":"0000-00-00-00-00-00",//實(shí)時(shí)時(shí)間 "st":"02ff",//狀態(tài)ST 16進(jìn)制 "valve":"02"//狀態(tài)ST 低2位 D0 D1 16進(jìn)制(即閥門狀態(tài)) } |
8102輸出示例
8105輸出示例
{
"seq":"01",//本次購買序號
"aom":"000001.00",//本次購入金額
"ca":"000001.00",//累計(jì)購入金額
"ra":"000001.00",//剩余金額
"st":"02ff",//狀態(tài)ST 16進(jìn)制
"valve":"02"//狀態(tài)ST 低2位 D0 D1 16機(jī)制
}
1. 讀901F
msg.address = '00202307160177' //address 表地址 msg.type = '10' //type 表類型 msg.cmd = '01' //cmd 控制碼 msg.ret = '81' //ret 正常應(yīng)答控制碼 msg.datalen = '03' //datalen 數(shù)據(jù)長度 msg.identify = '901F' //identify 數(shù)據(jù)標(biāo)識 msg.seq = '00' //seq 序列號 return msg; |
2. 寫數(shù)據(jù):開閥
msg.address = '00202307160177' //address 表地址 msg.type = '10' //type 表類型 msg.cmd = '2A' //cmd 控制碼 msg.ret = 'A5' //ret 正常應(yīng)答控制碼 msg.datalen = '04' //datalen 數(shù)據(jù)長度 msg.identify = 'A017' //identify 數(shù)據(jù)標(biāo)識 msg.seq = '00' //seq 序列號 msg.val = '55' //val 值 return msg; |
源碼/教程:https://iotrouter.yuque.com/zn3vdn/eg8000/xlkzl9b4ubz345a3
讀取超時(shí):請檢查【表地址】等參數(shù)是否正確、物理線路是否正常。計(jì)量儀表本身可能不支持某些數(shù)據(jù)標(biāo)識
讀取錯(cuò)誤:數(shù)據(jù)無法解析,CJ188節(jié)點(diǎn)的輸出包含了【請求報(bào)文】、【響應(yīng)報(bào)文】,可自行使用函數(shù)計(jì)算節(jié)點(diǎn)將CJ188節(jié)點(diǎn)的輸出對象進(jìn)行解析