新闻中心

PRESS CENTER 纵横智控
你的位置: 首页 新闻 技术应用
纵横智控

IEC104 Client客户端节点用于和符合 《IEC-60870-5-104 规约》的服务端/从站通信

2025-09-22 11:00:12 阅读: 发布人:纵横智控

概述

IEC104 Client节点用于和符合 《IEC-60870-5-104 规约》的服务端/从站通信。借助变量表可实现快速"遥信"、"遥测"、"遥控"、"遥调"。支持使用"注入对象"的方式实现自由读写。

功能支持

读命令

单点命令

双点命令

步调节命令

设点命令,归一化值

设点命令,标度化值

设点命令,浮点数值

设点命令,32位比特串

带CP56Time2a时标的 单点命令

带CP56Time2a时标的 双点命令

带CP56Time2a时标的 步调节命令

带CP56Time2a时标的 设点命令,归一化值

带CP56Time2a时标的 设点命令,标度化值

带CP56Time2a时标的 设点命令,浮点数值

带CP56Time2a时标的 设点命令,32比特串

总召唤

累计值召唤

时钟同步命令

测量值参数 归一化值

测量值参数 标度化值

测量值参数 短浮点数

快速上手

准备工作

工程师已知晓目标 服务器/从机 IP、端口(默认2404)。

工程师已知晓要采集的点位信息。

将边缘网关接入到 服务器/从机 所在的局域网中。

配置网关

1.网关的网络配置请参考:《快速入门》https://iotrouter.yuque.com/org-wiki-iotrouter-rlzwv5/eg8000/ypspb089bww98dqi

2.进入"可视化编程"。

IEC104 Client客户端节点用于和符合 《IEC-60870-5-104 规约》的服务端/从站通信

3.选择IEC104 Client节点,配置 IP、端口、连接参数及点位表

IEC104 Client客户端节点用于和符合 《IEC-60870-5-104 规约》的服务端/从站通信IEC104 Client客户端节点用于和符合 《IEC-60870-5-104 规约》的服务端/从站通信

4.部署测试

IEC104 Client客户端节点用于和符合 《IEC-60870-5-104 规约》的服务端/从站通信

5.遥控、遥调配置点位

IEC104 Client客户端节点用于和符合 《IEC-60870-5-104 规约》的服务端/从站通信

6.外部注入测试

注入前,查看104服务端的变量值为False:

IEC104 Client客户端节点用于和符合 《IEC-60870-5-104 规约》的服务端/从站通信

按照下图所示,发送遥控指令:

IEC104 Client客户端节点用于和符合 《IEC-60870-5-104 规约》的服务端/从站通信

注入后,查看104服务端的变量值为True:

IEC104 Client客户端节点用于和符合 《IEC-60870-5-104 规约》的服务端/从站通信

配置参数释义

项目

说明

名称

节点在流程中显示的名称

服务端/从站

服务端(从站)IP地址端口

连接后立即执行总召唤

选中此项,当与服务端(从站)建立连接后立即进行一次总召唤

连接后立即执行计数量召唤

选中此项,当与服务端(从站)建立连接后立即进行一次计数量召唤

格式化浮点数

需要保留的小数位数

t0

连接建立的超时时间。单位:秒

t1

发送或测试APDU的超时。单位:秒

t2

无数据报文时确认的超时。单位:秒 t2 < t1

t3

空闲超时发送测试帧。单位:秒 t3 > t1

k

发送方[I]帧 达到 k 个帧数未应答,断开连接

w

接收方接收到 w 个报文后发送[S]帧

源发站地址

当前节点的地址

总召站地址

总召、累计量召唤 使用的站地址

重连时间(秒)

t0时间触发后,等待"重连时间"后再发起连接。

数据超时(秒)

等待服务端(从站)返回数据的超时时间

时钟同步周期(秒)

发送 时钟同步指令的间隔时间(连接成功后开始重置,连接断开后失效)

总召唤周期(秒)

发送 总召唤指令的间隔时间(连接成功后开始重置,连接断开后失效)

召唤计数量周期(秒)

发送 召唤计数量指令的间隔时间(连接成功后开始重置,连接断开后失效)

输入

有两种输入方式来控制IEC104 Client节点和服务端的通信:

方式1:以K-V键值对输入,其中Key为节点配置好的点位名称,Value为要写入的值(读取时Value无效)

方式2:以对象的形式输入固定格式报文从而实现固定的功能,类似于API。详细请参考功能自定义章节。

方式1要求在节点中已经配置好了相关点位,且只能执行点位读写操作,实现方便快速但是不够自由。方式2除了读写点位外,还可以控制各种104的通信流程,例如总召,时钟同步等等。

示例1:K-V格式读取遥信遥测

注入消息中携带遥信遥测点位信息,其中,数据点名称作为Key,Value填任意值,即可读取相应的数据点。

IEC104 Client客户端节点用于和符合 《IEC-60870-5-104 规约》的服务端/从站通信

IEC104 Client客户端节点用于和符合 《IEC-60870-5-104 规约》的服务端/从站通信

示例2:K-V格式遥控

注入消息中携带遥控点位信息,其中,数据点名称作为Key,Value为要写入值,即可实现遥控操作。

IEC104 Client客户端节点用于和符合 《IEC-60870-5-104 规约》的服务端/从站通信

输出结果如下:

IEC104 Client客户端节点用于和符合 《IEC-60870-5-104 规约》的服务端/从站通信

示例3:对象格式(功能自定义)读取/遥控

参考分割线下:功能自定义章节。

输出

输出口1:符合点表的数据解析后从这里输出

输出口2:设定值命令类型的执行结果从这里输出

输出口3:调试出口

rspType字段

说明

connenctStatus

连接状态

interrogationConnect

连接后立即总召

counterInterrogationConnect

连接后立即召唤计数量

intervalClockSync

周期时钟同步

intervalIntegration

周期总召

intervalCounterInterrogation

周期召唤计数量

periodicReport

周期上报

spontaneousReport

突发上报

inputInterrogation

外部触发 总召

inputCounterInterrogation

外部触发 召唤计数量

inputRead

外部触发 读单个

inputWriteClockSync

外部触发 时钟同步

inputWriteSinglePoint

外部触发 单点命令

inputWriteDoublePoint

外部触发 双点命令

inputWriteStep

外部触发 步调节命令

inputWriteNva

外部触发 设定值命令 归一化值

inputWriteSva

外部触发 设定值命令 标度化值

inputWriteFva

外部触发 设定值命令 短浮点数

inputWriteBsi

外部触发 设定值命令 32位比特串

inputWriteSinglePointTs

外部触发 带时标CP56Time2a的 单点命令

inputWriteDoublePointTs

外部触发 带时标CP56Time2a的 双点命令

inputWriteStepTs

外部触发 带CP56Time2a 的 步调节命令

inputWriteNvaTs

外部触发 带CP56Time2a 设定值命令 归一化值

inputWriteSvaTs

外部触发 带CP56Time2a 设定值命令 标度化

inputWriteFvaTs

外部触发 带CP56Time2a 设定值命令 浮点数

inputWriteBsiTs

外部触发 带CP56Time2a 设定值命令 32位比特串


功能自定义

通过向IEC104 Client节点输入多格式数据,节点可动态适配不同场景的通信需求。在一些特殊场景下,当用户需要深度定制协议功能时,可参照以下标准化数据格式规范进行扩展开发:

1.读

字段

说明

type

固定 102

param

参数根节点

coa

站地址

ioa

元素地址

{

"type": 102,

"param": {

"coa": 1,

"ioa": 1

}

}

2.单点命令

字段

说明

type

固定 45

param

参数根节点

coa

站地址

ioa

元素地址

scs

true / false

se

执行(false)/ 选择(true)

qu

0:无另外的定义1:短脉冲持续时间2:长脉冲持续时间3:持续输出

{

"type": 45,

"param": {

"coa": 1,

"ioa": 322,

"scs": true,

"se": false,

"qu": 1

}

}

3.双点命令

字段

说明

type

固定 46

param

参数根节点

coa

站地址

ioa

元素地址

dcs

1:开 2:合

se

执行(false)/ 选择(true)

qu

0:无另外的定义1:短脉冲持续时间2:长脉冲持续时间3:持续输出

{

"type": 46,

"param": {

"coa": 1,

"ioa": 332,

"dcs": 2,

"se": false,

"qu": 1

}

}

4,步调节命令

字段

说明

type

固定 47

param

参数根节点

coa

站地址

ioa

元素地址

rcs

1:降一步 2:升一步

se

执行(false)/ 选择(true)

qu

0:无另外的定义1:短脉冲持续时间2:长脉冲持续时间3:持续输出

{

"type": 47,

"param": {

"coa": 1,

"ioa": 342,

"rcs": 2,

"se": false,

"qu": 1

}

}

5.设点 归一化值

字段

说明

type

固定 48

param

参数根节点

coa

站地址

ioa

元素地址

nva

-1 ~ 1

se

执行(false)/ 选择(true)

ql

0

{

"type": 48,

"param": {

"coa": 1,

"ioa": 352,

"nva": -0.2,

"se": false,

"ql": 0

}

}

6.设点 标度化值

字段

说明

type

固定 49

param

参数根节点

coa

站地址

ioa

元素地址

sva

-32768 ~ 32767

se

执行(false)/ 选择(true)

ql

0

{

"type": 49,

"param": {

"coa": 1,

"ioa": 362,

"sva": 35,

"se": false,

"ql": 0

}

}

7.设点 浮点数值

字段

说明

type

固定 50

param

参数根节点

coa

站地址

ioa

元素地址

fva

浮点数

se

执行(false)/ 选择(true)

ql

0

{

"type": 50,

"param": {

"coa": 1,

"ioa": 372,

"fva": 35.888,

"se": false,

"ql": 0

}

}

8.设点 32位比特串

字段

说明

type

固定 51

param

参数根节点

coa

站地址

ioa

元素地址

bsi

32位比特串

{

"type": 51,

"param": {

"coa": 1,

"ioa": 385,

"bsi": "00001111000011110000111100001111"

}

}

9.单点命令 CP56Time2a

字段

说明

type

固定 45

param

参数根节点

coa

站地址

ioa

元素地址

scs

true / false

se

执行(false)/ 选择(true)

qu

0:无另外的定义1:短脉冲持续时间2:长脉冲持续时间3:持续输出

time

时间字符串

{

"type": 58,

"param": {

"coa": 1,

"ioa": 392,

"scs": true,

"se": false,

"qu": 1,

"time": "1534658027853"

}

}

10.双点命令 CP56Time2a

字段

说明

type

固定 59

param

参数根节点

coa

站地址

ioa

元素地址

dcs

1:开 2:合

se

执行(false)/ 选择(true)

qu

0:无另外的定义1:短脉冲持续时间2:长脉冲持续时间3:持续输出

time

时间字符串

{

"type": 59,

"param": {

"coa": 1,

"ioa": 403,

"dcs": 2,

"se": false,

"qu": 1,

"time": "1534658027853"

}

}

11.步调节命令 CP56Time2a

字段

说明

type

固定 60

param

参数根节点

coa

站地址

ioa

元素地址

rcs

1:降一步 2:升一步

se

执行(false)/ 选择(true)

qu

0:无另外的定义1:短脉冲持续时间2:长脉冲持续时间3:持续输出

time

时间字符串

{

"type": 60,

"param": {

"coa": 1,

"ioa": 413,

"rcs": 2,

"se": false,

"qu": 1,

"time": "1534658027853"

}

}

12.设点 归一化值 CP56Time2a

字段

说明

type

固定 61

param

参数根节点

coa

站地址

ioa

元素地址

nva

-1 ~ 1

se

执行(false)/ 选择(true)

ql

0

time

时间字符串

{

"type": 61,

"param": {

"coa": 1,

"ioa": 423,

"nva": 0.6,

"se": false,

"ql": 0,

"time": "1234658027853"

}

}

13.设点 标度化值 CP56Time2a

字段

说明

type

固定 62

param

参数根节点

coa

站地址

ioa

元素地址

sva

-32768 ~ 32767

se

执行(false)/ 选择(true)

ql

0

time

时间字符串

{

"type": 62,

"param": {

"coa": 1,

"ioa": 433,

"sva": 2134,

"se": false,

"ql": 0,

"time": "1234658027853"

}

}

14.设点 浮点数值 CP56Time2a

字段

说明

type

固定 63

param

参数根节点

coa

站地址

ioa

元素地址

fva

浮点数

se

执行(false)/ 选择(true)

ql

0

time

时间字符串

{

"type": 63,

"param": {

"coa": 1,

"ioa": 443,

"fva": 2134.1234,

"se": false,

"ql": 0,

"time": "1234658027853"

}

}

15.设点 32位比特串 CP56Time2a

字段

说明

type

固定 64

param

参数根节点

coa

站地址

ioa

元素地址

bsi

32位比特串

time

时间字符串

{

"type": 64,

"param": {

"coa": 1,

"ioa": 453,

"bsi": "00001111000011110000111100001111",

"time": "1234658027853"

}

}

16.总召唤

字段

说明

type

固定 100

param

参数根节点

coa

站地址

qoi

召唤限定词:20(全局召唤)~36(第16组召唤) 取整数

{

"type": 100,

"param": {

"coa": 65535,

"qoi": 20

}

}

17.计数量召唤

字段

说明

type

固定 101

param

参数根节点

coa

站地址

rqt

1~4:召唤第n组 5:全部

frz

0:读(无冻结或复位)1:计数量冻结不带复位(被冻结的值为累加值)2:计数量冻结带复位(被冻结的值为增量信息)3:计数量复位

{

"type": 101,

"param": {

"coa": 1,

"rqt": 5,

"frz": 0

}

}

18.时钟同步命令

字段

说明

type

固定 103

param

参数根节点

coa

站地址

time

时间字符串

{

"type": 103,

"param": {

"coa": 1,

"time": "1234513490435"

}

}

 

原文:https://iotrouter.yuque.com/zn3vdn/eg8000/os3dnhvi2ou6acgw#Az8bZ

热门产品