新聞中心
PRESS CENTER
IEC104 Client節(jié)點用于和符合 《IEC-60870-5-104 規(guī)約》的服務(wù)端/從站通信。借助變量表可實現(xiàn)快速"遙信"、"遙測"、"遙控"、"遙調(diào)"。支持使用"注入對象"的方式實現(xiàn)自由讀寫。
讀命令
單點命令
雙點命令
步調(diào)節(jié)命令
設(shè)點命令,歸一化值
設(shè)點命令,標(biāo)度化值
設(shè)點命令,浮點數(shù)值
設(shè)點命令,32位比特串
帶CP56Time2a時標(biāo)的 單點命令
帶CP56Time2a時標(biāo)的 雙點命令
帶CP56Time2a時標(biāo)的 步調(diào)節(jié)命令
帶CP56Time2a時標(biāo)的 設(shè)點命令,歸一化值
帶CP56Time2a時標(biāo)的 設(shè)點命令,標(biāo)度化值
帶CP56Time2a時標(biāo)的 設(shè)點命令,浮點數(shù)值
帶CP56Time2a時標(biāo)的 設(shè)點命令,32比特串
總召喚
累計值召喚
時鐘同步命令
測量值參數(shù) 歸一化值
測量值參數(shù) 標(biāo)度化值
測量值參數(shù) 短浮點數(shù)
準(zhǔn)備工作
工程師已知曉目標(biāo) 服務(wù)器/從機 IP、端口(默認2404)。
工程師已知曉要采集的點位信息。
將邊緣網(wǎng)關(guān)接入到 服務(wù)器/從機 所在的局域網(wǎng)中。
配置網(wǎng)關(guān)
1.網(wǎng)關(guān)的網(wǎng)絡(luò)配置請參考:《快速入門》https://iotrouter.yuque.com/org-wiki-iotrouter-rlzwv5/eg8000/ypspb089bww98dqi
2.進入"可視化編程"。

3.選擇IEC104 Client節(jié)點,配置 IP、端口、連接參數(shù)及點位表


4.部署測試

5.遙控、遙調(diào)配置點位

6.外部注入測試
注入前,查看104服務(wù)端的變量值為False:

按照下圖所示,發(fā)送遙控指令:

注入后,查看104服務(wù)端的變量值為True:

項目 | 說明 |
名稱 | 節(jié)點在流程中顯示的名稱 |
服務(wù)端/從站 | 服務(wù)端(從站)IP地址端口 |
連接后立即執(zhí)行總召喚 | 選中此項,當(dāng)與服務(wù)端(從站)建立連接后立即進行一次總召喚 |
連接后立即執(zhí)行計數(shù)量召喚 | 選中此項,當(dāng)與服務(wù)端(從站)建立連接后立即進行一次計數(shù)量召喚 |
格式化浮點數(shù) | 需要保留的小數(shù)位數(shù) |
t0 | 連接建立的超時時間。單位:秒 |
t1 | 發(fā)送或測試APDU的超時。單位:秒 |
t2 | 無數(shù)據(jù)報文時確認的超時。單位:秒 t2 < t1 |
t3 | 空閑超時發(fā)送測試幀。單位:秒 t3 > t1 |
k | 發(fā)送方[I]幀 達到 k 個幀數(shù)未應(yīng)答,斷開連接 |
w | 接收方接收到 w 個報文后發(fā)送[S]幀 |
源發(fā)站地址 | 當(dāng)前節(jié)點的地址 |
總召站地址 | 總召、累計量召喚 使用的站地址 |
重連時間(秒) | t0時間觸發(fā)后,等待"重連時間"后再發(fā)起連接。 |
數(shù)據(jù)超時(秒) | 等待服務(wù)端(從站)返回數(shù)據(jù)的超時時間 |
時鐘同步周期(秒) | 發(fā)送 時鐘同步指令的間隔時間(連接成功后開始重置,連接斷開后失效) |
總召喚周期(秒) | 發(fā)送 總召喚指令的間隔時間(連接成功后開始重置,連接斷開后失效) |
召喚計數(shù)量周期(秒) | 發(fā)送 召喚計數(shù)量指令的間隔時間(連接成功后開始重置,連接斷開后失效) |
有兩種輸入方式來控制IEC104 Client節(jié)點和服務(wù)端的通信:
方式1:以K-V鍵值對輸入,其中Key為節(jié)點配置好的點位名稱,Value為要寫入的值(讀取時Value無效)
方式2:以對象的形式輸入固定格式報文從而實現(xiàn)固定的功能,類似于API。詳細請參考功能自定義章節(jié)。
方式1要求在節(jié)點中已經(jīng)配置好了相關(guān)點位,且只能執(zhí)行點位讀寫操作,實現(xiàn)方便快速但是不夠自由。方式2除了讀寫點位外,還可以控制各種104的通信流程,例如總召,時鐘同步等等。
示例1:K-V格式讀取遙信遙測
注入消息中攜帶遙信遙測點位信息,其中,數(shù)據(jù)點名稱作為Key,Value填任意值,即可讀取相應(yīng)的數(shù)據(jù)點。


示例2:K-V格式遙控
注入消息中攜帶遙控點位信息,其中,數(shù)據(jù)點名稱作為Key,Value為要寫入值,即可實現(xiàn)遙控操作。

輸出結(jié)果如下:

示例3:對象格式(功能自定義)讀取/遙控
參考分割線下:功能自定義章節(jié)。
輸出口1:符合點表的數(shù)據(jù)解析后從這里輸出
輸出口2:設(shè)定值命令類型的執(zhí)行結(jié)果從這里輸出
輸出口3:調(diào)試出口
rspType字段 | 說明 |
connenctStatus | 連接狀態(tài) |
interrogationConnect | 連接后立即總召 |
counterInterrogationConnect | 連接后立即召喚計數(shù)量 |
intervalClockSync | 周期時鐘同步 |
intervalIntegration | 周期總召 |
intervalCounterInterrogation | 周期召喚計數(shù)量 |
periodicReport | 周期上報 |
spontaneousReport | 突發(fā)上報 |
inputInterrogation | 外部觸發(fā) 總召 |
inputCounterInterrogation | 外部觸發(fā) 召喚計數(shù)量 |
inputRead | 外部觸發(fā) 讀單個 |
inputWriteClockSync | 外部觸發(fā) 時鐘同步 |
inputWriteSinglePoint | 外部觸發(fā) 單點命令 |
inputWriteDoublePoint | 外部觸發(fā) 雙點命令 |
inputWriteStep | 外部觸發(fā) 步調(diào)節(jié)命令 |
inputWriteNva | 外部觸發(fā) 設(shè)定值命令 歸一化值 |
inputWriteSva | 外部觸發(fā) 設(shè)定值命令 標(biāo)度化值 |
inputWriteFva | 外部觸發(fā) 設(shè)定值命令 短浮點數(shù) |
inputWriteBsi | 外部觸發(fā) 設(shè)定值命令 32位比特串 |
inputWriteSinglePointTs | 外部觸發(fā) 帶時標(biāo)CP56Time2a的 單點命令 |
inputWriteDoublePointTs | 外部觸發(fā) 帶時標(biāo)CP56Time2a的 雙點命令 |
inputWriteStepTs | 外部觸發(fā) 帶CP56Time2a 的 步調(diào)節(jié)命令 |
inputWriteNvaTs | 外部觸發(fā) 帶CP56Time2a 設(shè)定值命令 歸一化值 |
inputWriteSvaTs | 外部觸發(fā) 帶CP56Time2a 設(shè)定值命令 標(biāo)度化 |
inputWriteFvaTs | 外部觸發(fā) 帶CP56Time2a 設(shè)定值命令 浮點數(shù) |
inputWriteBsiTs | 外部觸發(fā) 帶CP56Time2a 設(shè)定值命令 32位比特串 |
通過向IEC104 Client節(jié)點輸入多格式數(shù)據(jù),節(jié)點可動態(tài)適配不同場景的通信需求。在一些特殊場景下,當(dāng)用戶需要深度定制協(xié)議功能時,可參照以下標(biāo)準(zhǔn)化數(shù)據(jù)格式規(guī)范進行擴展開發(fā):
1.讀
字段 | 說明 |
type | 固定 102 |
param | 參數(shù)根節(jié)點 |
coa | 站地址 |
ioa | 元素地址 |
{ "type": 102, "param": { "coa": 1, "ioa": 1 } } | |
2.單點命令
字段 | 說明 |
type | 固定 45 |
param | 參數(shù)根節(jié)點 |
coa | 站地址 |
ioa | 元素地址 |
scs | true / false |
se | 執(zhí)行(false)/ 選擇(true) |
qu | 0:無另外的定義1:短脈沖持續(xù)時間2:長脈沖持續(xù)時間3:持續(xù)輸出 |
{ "type": 45, "param": { "coa": 1, "ioa": 322, "scs": true, "se": false, "qu": 1 } } | |
3.雙點命令
字段 | 說明 |
type | 固定 46 |
param | 參數(shù)根節(jié)點 |
coa | 站地址 |
ioa | 元素地址 |
dcs | 1:開 2:合 |
se | 執(zhí)行(false)/ 選擇(true) |
qu | 0:無另外的定義1:短脈沖持續(xù)時間2:長脈沖持續(xù)時間3:持續(xù)輸出 |
{ "type": 46, "param": { "coa": 1, "ioa": 332, "dcs": 2, "se": false, "qu": 1 } } | |
4,步調(diào)節(jié)命令
字段 | 說明 |
type | 固定 47 |
param | 參數(shù)根節(jié)點 |
coa | 站地址 |
ioa | 元素地址 |
rcs | 1:降一步 2:升一步 |
se | 執(zhí)行(false)/ 選擇(true) |
qu | 0:無另外的定義1:短脈沖持續(xù)時間2:長脈沖持續(xù)時間3:持續(xù)輸出 |
{ "type": 47, "param": { "coa": 1, "ioa": 342, "rcs": 2, "se": false, "qu": 1 } } | |
5.設(shè)點 歸一化值
字段 | 說明 |
type | 固定 48 |
param | 參數(shù)根節(jié)點 |
coa | 站地址 |
ioa | 元素地址 |
nva | -1 ~ 1 |
se | 執(zhí)行(false)/ 選擇(true) |
ql | 0 |
{ "type": 48, "param": { "coa": 1, "ioa": 352, "nva": -0.2, "se": false, "ql": 0 } } | |
6.設(shè)點 標(biāo)度化值
字段 | 說明 |
type | 固定 49 |
param | 參數(shù)根節(jié)點 |
coa | 站地址 |
ioa | 元素地址 |
sva | -32768 ~ 32767 |
se | 執(zhí)行(false)/ 選擇(true) |
ql | 0 |
{ "type": 49, "param": { "coa": 1, "ioa": 362, "sva": 35, "se": false, "ql": 0 } } | |
7.設(shè)點 浮點數(shù)值
字段 | 說明 |
type | 固定 50 |
param | 參數(shù)根節(jié)點 |
coa | 站地址 |
ioa | 元素地址 |
fva | 浮點數(shù) |
se | 執(zhí)行(false)/ 選擇(true) |
ql | 0 |
{ "type": 50, "param": { "coa": 1, "ioa": 372, "fva": 35.888, "se": false, "ql": 0 } } | |
8.設(shè)點 32位比特串
字段 | 說明 |
type | 固定 51 |
param | 參數(shù)根節(jié)點 |
coa | 站地址 |
ioa | 元素地址 |
bsi | 32位比特串 |
{ "type": 51, "param": { "coa": 1, "ioa": 385, "bsi": "00001111000011110000111100001111" } } | |
9.單點命令 CP56Time2a
字段 | 說明 |
type | 固定 45 |
param | 參數(shù)根節(jié)點 |
coa | 站地址 |
ioa | 元素地址 |
scs | true / false |
se | 執(zhí)行(false)/ 選擇(true) |
qu | 0:無另外的定義1:短脈沖持續(xù)時間2:長脈沖持續(xù)時間3:持續(xù)輸出 |
time | 時間字符串 |
{ "type": 58, "param": { "coa": 1, "ioa": 392, "scs": true, "se": false, "qu": 1, "time": "1534658027853" } } | |
10.雙點命令 CP56Time2a
字段 | 說明 |
type | 固定 59 |
param | 參數(shù)根節(jié)點 |
coa | 站地址 |
ioa | 元素地址 |
dcs | 1:開 2:合 |
se | 執(zhí)行(false)/ 選擇(true) |
qu | 0:無另外的定義1:短脈沖持續(xù)時間2:長脈沖持續(xù)時間3:持續(xù)輸出 |
time | 時間字符串 |
{ "type": 59, "param": { "coa": 1, "ioa": 403, "dcs": 2, "se": false, "qu": 1, "time": "1534658027853" } } | |
11.步調(diào)節(jié)命令 CP56Time2a
字段 | 說明 |
type | 固定 60 |
param | 參數(shù)根節(jié)點 |
coa | 站地址 |
ioa | 元素地址 |
rcs | 1:降一步 2:升一步 |
se | 執(zhí)行(false)/ 選擇(true) |
qu | 0:無另外的定義1:短脈沖持續(xù)時間2:長脈沖持續(xù)時間3:持續(xù)輸出 |
time | 時間字符串 |
{ "type": 60, "param": { "coa": 1, "ioa": 413, "rcs": 2, "se": false, "qu": 1, "time": "1534658027853" } } | |
12.設(shè)點 歸一化值 CP56Time2a
字段 | 說明 |
type | 固定 61 |
param | 參數(shù)根節(jié)點 |
coa | 站地址 |
ioa | 元素地址 |
nva | -1 ~ 1 |
se | 執(zhí)行(false)/ 選擇(true) |
ql | 0 |
time | 時間字符串 |
{ "type": 61, "param": { "coa": 1, "ioa": 423, "nva": 0.6, "se": false, "ql": 0, "time": "1234658027853" } } | |
13.設(shè)點 標(biāo)度化值 CP56Time2a
字段 | 說明 |
type | 固定 62 |
param | 參數(shù)根節(jié)點 |
coa | 站地址 |
ioa | 元素地址 |
sva | -32768 ~ 32767 |
se | 執(zhí)行(false)/ 選擇(true) |
ql | 0 |
time | 時間字符串 |
{ "type": 62, "param": { "coa": 1, "ioa": 433, "sva": 2134, "se": false, "ql": 0, "time": "1234658027853" } } | |
14.設(shè)點 浮點數(shù)值 CP56Time2a
字段 | 說明 |
type | 固定 63 |
param | 參數(shù)根節(jié)點 |
coa | 站地址 |
ioa | 元素地址 |
fva | 浮點數(shù) |
se | 執(zhí)行(false)/ 選擇(true) |
ql | 0 |
time | 時間字符串 |
{ "type": 63, "param": { "coa": 1, "ioa": 443, "fva": 2134.1234, "se": false, "ql": 0, "time": "1234658027853" } } | |
15.設(shè)點 32位比特串 CP56Time2a
字段 | 說明 |
type | 固定 64 |
param | 參數(shù)根節(jié)點 |
coa | 站地址 |
ioa | 元素地址 |
bsi | 32位比特串 |
time | 時間字符串 |
{ "type": 64, "param": { "coa": 1, "ioa": 453, "bsi": "00001111000011110000111100001111", "time": "1234658027853" } } | |
16.總召喚
字段 | 說明 |
type | 固定 100 |
param | 參數(shù)根節(jié)點 |
coa | 站地址 |
qoi | 召喚限定詞:20(全局召喚)~36(第16組召喚) 取整數(shù) |
{ "type": 100, "param": { "coa": 65535, "qoi": 20 } } | |
17.計數(shù)量召喚
字段 | 說明 |
type | 固定 101 |
param | 參數(shù)根節(jié)點 |
coa | 站地址 |
rqt | 1~4:召喚第n組 5:全部 |
frz | 0:讀(無凍結(jié)或復(fù)位)1:計數(shù)量凍結(jié)不帶復(fù)位(被凍結(jié)的值為累加值)2:計數(shù)量凍結(jié)帶復(fù)位(被凍結(jié)的值為增量信息)3:計數(shù)量復(fù)位 |
{ "type": 101, "param": { "coa": 1, "rqt": 5, "frz": 0 } } | |
18.時鐘同步命令
字段 | 說明 |
type | 固定 103 |
param | 參數(shù)根節(jié)點 |
coa | 站地址 |
time | 時間字符串 |
{ "type": 103, "param": { "coa": 1, "time": "1234513490435" } } | |
原文:https://iotrouter.yuque.com/zn3vdn/eg8000/os3dnhvi2ou6acgw#Az8bZ