跳转到内容
返回官网

IEC104 采集

使用规约模拟器产生数据,配置规约模拟器步骤如下:

(1.) 打开双击打开文件夹中的规约模拟器 protocolsimulator.exe;

(2.) 在规约模拟器中配置下列信息:

a. 连接参数:TCP-S

b. IP:笔记本电脑的 IPv4 地址

c. Port:大于等于 1000 的整数(与 连接配置 中填写的端口一致)

d. 规约类型:iec104-server

e. 点表文件:下载模拟测点数据的点表 simulator_point.csv 并上传至模拟器中

(3.) 勾选指定的测点;

(4.) 点击左上角 测试 → 自动发送,输入周期 1000ms,点击确定;

(5.) 点击 打开连接,开始模拟生成数据

(1.) 进入 CommBridge 页面的【智慧孪生】,在左侧点击切换至【设备智联】。

(2.) 依次拖拽 IEC104 采集、数据处理和 MQTT 上传插件到插件工作区,分别生成三个节点。

(3.) 依次连接三个节点,连接顺序:IEC104 采集 → 数据处理 → MQTT 上传。

(1.) 双击 IEC104 采集,点击【添加方案】按钮。

(2.) 填写连接配置,点击【下一步】。

(3.) 点击【添加分组】,填写分组信息,点击【确认】。

(4.) 点击【添加数据】,填写点位数据,点击【确认】。

(5.) 点击【完成】,成功添加采集方案。

(6.) 打开方案的开关,点击【保存】。

(1.) 点击【设备智联】的【部署】按钮,部署成功。

(2.) 点击切换至【智慧孪生】,鼠标移动至 IEC104 采集节点,弹出节点信息列表。

(3.) 点击方案,查看该方案下各分组的点位实时数据和历史数据。

参数 描述 格式 举例
方案名称 用户自定义该方案的名称 非空 采集 iec104
协议 电力协议 IEC104 非空 IEC 104(TCP)
传送原因地址大小 传输原因(COT)大小,表示传送原因的字节数,默认为 1 字节 1、2 2
公共单元地址长度 ASDU 的公共地址(CA)大小,表示公共地址信息的字节数,默认为 2 字节(16 位) 1、2 2
信息体地址长度 信息对象地址(IOA)大小,默认为 3 字节(24 位) 1、2 和 3 3
发起者地址 用户定义 数字,范围:[0,255] 0
应用服务数据单元公共地址 当进行总召唤或者发送命令时设置的应用服务数据单元(ASDU)的公共地址(CA) 数字,范围:[0,2147483647] 1
总召唤频率 设置总召唤的频率,设置为0则不周期进行总召唤,单位毫秒 数字,范围:[0,2147483647] 0
Host 被采集的 104 从站(模拟器所在设备,受控站)的 IP 地址 十进制格式的地址 192.168.220.146
端口 被采集的 104 从站的 IP 端口号,根据实际使用填写(与模拟器端口号对应) 数字,范围:[1, 65535] 2404
K 发送窗口大小:最多允许已发送但尚未被确认的 I 格式 APDU 数量 数字,范围:[1,32767] 12
W 接收方最多接收的未被确认的最大APDU数量 数字,范围:[1,32767] 8
t0 连接创建超时时间。如果没有建立连接,则尝试重连。 数字,范围:[1,255] 30
t1 APDU 发送或测试超时时间:是等待确认应答的时间。如果没有收到确认,则必须重传数据。 数字,范围:[1,255] 15
t2 消息确认超时时间:从站主动上报数据到收到 S 帧确认帧的时间;
在 t2 时间内没有任何数据被发送时,应发送下一个确认帧。
数字,范围:[1,255] 10
t3 心跳数据超时时间:在 t3 时间内如果没有任何数据交换,应发送 U 帧测试帧去测试以确保链路层的持续活动。 数字,范围:[1,255] 20

注意:

  1. K 默认为 12,表示最多允许 12 个已发送的 I 格式 APDU 尚未被确认;达到该窗口上限后,发送方需等待确认,再继续发送 I 格式 APDU。
  2. W 默认为 8,表示主站收到 8 个 APDU 就必须回复一个 S 帧的确认,用于主站。(理论上,W < 2/3K)
  3. t0 默认为 30s,t1 默认为 15s,t2 默认为 10s ,t3 默认为 20 s。(理论上,t2 < t1 < t3)
  4. t0 ~ t3单位:秒
参数 描述 格式 举例
分组名称 用户自定义该分组的名称 非空 分组一
发起者地址(s) 用户自定义,ASDU 公共地址(ADR),用来区分此链路上不同的子站 数字,范围:[0,255] 1
总召唤频率 设置总召唤的频率,设置为0则不周期进行总召唤 单位秒,数字,范围:[0,2147483647] 1
遥信(DI)点号偏移 所有遥信(数字输入 DI)数据的偏移值,支持 10 进制和 16 进制 10 进制范围:[1,2147483647]
16 进制范围:[0x0,0xffff]
0x0
遥控(DO)点号偏移 所有遥控(数字输出 DO)数据的偏移值,支持 10 进制和 16 进制 10 进制范围:[1,2147483647]
16 进制范围:[0x0,0xffff]
0x6001
遥测(AI)点号偏移 所有遥测(模拟输入 AI)数据的偏移值,支持 10 进制和 16 进制 10 进制范围:[1,2147483647]
16 进制范围:[0x0,0xffff]
0x3e9
遥调(AO)点号偏移 所有遥调(模拟输出 AO)数据的偏移值,支持 10 进制和 16 进制 10 进制范围:[1,2147483647]
16 进制范围:[0x0,0xffff]
0x6201
参数 前提条件 描述 格式 举例
数据别名 用户自定义数据名称,与需要采集的 key 保持一致 非空 数据 1
信息体地址 信息对象的地址(InfoAdr),用于区分不同的应用,如遥信遥测等每个信息都占用不同的信息对象地址 数字,详见下说明 0
数据分类 遥信为数字输入 DI、遥控为数字输出 DO、遥测为模拟输入 AI、遥调为模拟输出 AO AI、DI AI
数据类型 被采集的点位数据的类型 下拉框选择,详见下说明
带时标 信息发送的时间(时间戳),是否添加时标 Yes、No,详见下说明 No
时标类型 带时标为Yes 时标类型。IEC104不支持CP24Time2a CP56Time2a、CP24Time2a CP56Time2a
读写 数据分类决定 支持 ro(只读)、wo(只写) ro、wo,详见下说明 No
计算 用户根据数据别名自定义公式 无限制
执行方式 数据分类为AO/DO Execute:直控;Select Execute:选控 Execute、Select Execute,详见下说明
控制超时时间 数据分类为AO/DO 详见下说明
品质限定词 数据分类为AO/DO 数据分类为AO时,表示为设点品质限定词QL;数据分类为DO时,表示为命令品质限定词QU 详见下说明
控制类型 数据分类为DO 控制命令的输出信号持续时间。 Persistent Output、Short Pulse、Long Pulse,详见下说明

注意:

点位的实际地址 = 遥信/遥控/遥测/遥调 点号偏移 + 信息体地址;

  1. 信息体地址长度根据信息体地址大小决定,信息体地址大小为1时,范围为[0-255];信息体地址大小为2时,范围为[0-65535];息体地址大小为3时,范围为[0-16777215]。

数据类型:

  1. 当数据分类为 DI 时,数据类型可选择 Single Point Information、Double Point Information;
  2. 当数据分类为 DO 时,数据类型可选择 Single Command、Double Command、Regulating Step Command;
  3. 当数据分类为 AI 时,数据类型可选择 Step Position Information、Bitstring32、Measured Value Normalized、Measured Value Scaled、Measured Value Short Floating、Integrated Total 和 Measured Hormalized Without Quality;
  4. 当数据分类为 AO 时,数据类型可选择 BitString32 Command、Setpoint Command Normalized、Setpoint Command Scaled 和 Setpoint Command Short Floating;

读写:

  1. ro:数据分类为DI、AI时,默认为 ro 只读;
  2. wo:数据分类为DO、AO时,默认为 wo 只写;

品质限定词:

  1. 设定品质限定词 QL 用于测量值(遥测) 和状态信息(遥信),描述数据对象本身的品质;数字,范围:[0,127]
  2. 命令品质限定词 QU 用于命令(遥控、设点),描述命令的执行方式和属性;可选择No Additional Definition、Persistent Output、Short Pulse、Long Pulse 1) Persistent Output:持续输出 2) Short Pulse:短脉冲 3) Long Pulse:长脉冲

protocolsimulator 模拟器的点位数据默认不带时标

数据分类 数据类型 类型标识(ASDU 类型) 描述
遥信 DI Single Point M_SP_NA_1=1 不带时标的单点遥信
M_SP_TB_1=30 带长时标的单点遥信
Double Point M_DP_NA_1=3 不带时标的双点遥信
M_DP_TB_1=31 带长时标的双点遥信
遥测 AI Step Position M_ST_NA_1=5 不带时标的步位置信息
M_ST_TB_1=32 带长时标的步位置信息
Bitstring M_BO_NA_1=7 不带时标的 32 比特串
M_BO_TB_1=33 带长时标的 32 比特串
Measured Normalized M_ME_NA_1=9 不带时标的常规遥测(规一化值)
M_ME_TD_1=34 带长时标的常规遥测(规一化值)
Measured Scaled M_ME_NB_1=11 不带时标的常规遥测(标度化值)
M_ME_TE_1=35 带长时标的常规遥测(标度化值)
Measured Short Float M_ME_NC_1=13 不带时标的浮点遥测
M_ME_TF_1=36 带长时标的浮点遥测
Integrated Totals M_IT_NA_1=15 不带时标的累计量
M_IT_TB_1=37 带长时标的累计量
Measured Normalized Without Quality M_ME_ND_1=21 不带品质描述的常规遥测(规一化值)
遥控 DO Single Command C_SC_NA_1=45 单点遥控
C_SC_TA_1=58 带长时标的单点遥控
Double Command C_DC_NA_1=46 双点遥控
C_DC_TA_1=59 带长时标的双点遥控
Regulation Command C_RC_NA_1=47 升降遥控
C_RC_TA_1=60 带长时标的升降遥控
遥调 AO Setpoint Normalized C_SE_NA_1=48 规一化设置值
C_SE_TA_1=61 带长时标的规一化设置值
Setpoint Scaled C_SE_NB_1=49 标度化设置值
C_SE_TB_1=62 带长时标的标度化设置值
Setpoint Floating C_SE_NC_1=50 短浮点设置数
C_SE_TC_1=63 带长时标的短浮点设置数
Bitstring Command C_BO_NA_1=51 32 比特串
C_BO_TA_1=64 带长时标的 32 比特串