跳到主要内容

IEC 61850 托管服务端

功能概述

该转发目标把转发组内的变量映射为 IEC 61850 MMS 对象。外部客户端可以浏览逻辑设备模型、读取当前值、订阅默认报告和 Journal;只有目标级、变量级及源变量 RPC 权限同时满足时才允许写入。Journal 可以只保存在内存,也可以通过嵌套的“Journal 存储”编辑器持久化。

服务端只使用 TCP 服务 通道。转发组范围、目标启用和公共通道配置见数据转发

选择入口

进入“开发配置 → 数据转发”,保存转发组范围,新增“IEC 61850 托管服务端”目标,然后打开“目标属性”和“变量属性”。

最小配置

  1. 将“通道类型”设为 TcpService,默认监听 0.0.0.0:102;测试时可改为未占用的高端口。
  2. 保持“厂商名称”“型号名称”“修订版本”的默认值,或按客户端 Identify 要求填写。
  3. 保存目标,在“变量属性”中为每个要发布的变量填写唯一对象引用。
  4. 启用转发组和目标,在目标“调试”页确认模型和数值后再连接外部客户端。

参数说明

目标属性

通道和身份

参数默认值配置说明
通道类型TcpService当前插件只支持 TCP 服务通道。
本地绑定地址0.0.0.0:102填写监听 IP 和端口。标准 MMS 端口为 102,测试时建议使用未占用的高端口。
厂商名称ThingsGatewayMMS Identify 返回的厂商名称。
型号名称IEC61850_NetMMS Identify 返回的型号名称。
修订版本1.0MMS Identify 返回的版本字符串。
ACSE 认证密码非空时客户端必须提交完全相同的 ACSE 密码;为空表示不启用密码认证。

容量和文件服务

参数默认值取值范围或说明
最大 MMS PDU65000 字节不得小于协议最小值且不得超过 65535;对端缓冲区较小时应调低。
数据集成员上限100单个静态或动态数据集的最大成员数。
动态数据集上限10单个客户端 association 可以创建的动态数据集数。
打开文件上限5单个 association 同时打开的 FRSM 文件会话数。
文件会话超时30000 毫秒空闲 FRSM 会话超过该时间后关闭。
ObtainFile 并发上限5同时执行的文件获取任务数。

报告和 Journal

参数默认值配置说明
BRCB 报告上限1024每个缓冲报告控制块可等待重放的报告数量。
BRCB 字节预算65536 字节每个 BRCB 缓冲区的最大字节数。
允许写入目标级 MMS Write 和变量 RPC 总开关;关闭后所有映射对象只读。
Journal 存储SQLite、启用打开嵌套编辑器配置数据库类型、连接字符串、表名、保留、时区、缓存、队列和分表。

Journal 存储编辑器

默认配置使用 SQLite:

字段默认值配置说明
Journal 名称LLN0$EventLog注册在每个逻辑设备下的名称。保持稳定,避免客户端重新配置。
启用关闭后不保存 Journal 记录。
数据库类型SQLite选择公共事件存储编辑器支持的数据库类型。
连接字符串Data Source=Logs/IEC61850/iec61850_{TargetId}.db;...多个目标共用运行目录时保留 {TargetId};路径必须可写,并使用所选数据库的关键字。
表名iec61850_journal持久化 Journal 使用的表。
保留天数30删除早于该天数的记录;0 表示不按时间清理。
时区UTC未选择时按 UTC 保存发生时间;客户端要求本地墙钟时间时再选择站点时区。
缓存数据库暂时不可用时启用出站缓存。
队列最大数量100000超过后新记录会被拒绝,需结合内存预算设置。
缓存文件最大长度262144 字节单个缓存文件的最大长度。
分表大小2000启用分表时每个物理段的行数。
分表None除非数据库和保留策略需要物理分表,否则保持 None。

目标变量属性

变量必须先属于转发组范围;变量属性只负责映射,不会把变量加入转发组。

参数默认值配置说明
对象引用必填且在目标内唯一,格式为 LD/LN.DO.DA;FC=XX,例如 LD1/MMXU1.TotW;FC=MXLD1/LLN0.Mod.stVal;FC=ST
允许写入变量级写入开关;还必须开启目标级“允许写入”,并确保源变量允许 RPC 写入。

;FC= 前为 MMS domain/item 路径,功能约束是必填的,例如 STMXSPCFCO。对象引用重复或解析失败的变量会被跳过,并在目标日志中记录原因。

当前动态模型支持 Boolean、8/16/32/64 位有符号或无符号整数、32/64 位浮点数以及最长 255 字节的字符串。普通变量编辑器不创建数组、复杂结构、Quality 或 Timestamp 对象。

模型、报告和 Journal 行为

保存变量后,服务端重建模型:每个不同的 LD 成为一个逻辑设备,并注册配置的 Journal 名称。变量变化会更新 MMS 当前值并追加带 UTC 发生时间、值和数据变化原因的 Journal 条目。每个包含映射变量的逻辑设备自动创建 LLN0$Events 数据集及 URCB01BRCB01 报告控制块。

目标调试

选择 IEC 61850 目标并打开“调试”:

功能作用
运行概览查看监听状态、客户端数、已映射/未映射变量、待处理更新和 Journal 状态。
模型与值浏览 LD/LN/DO/DA 模型、复制对象引用,并在权限允许时读写值。
客户端连接查看 association 状态、远端地址、PDU 大小和最近错误。
资源目录搜索逻辑设备、变量、数据集、Journal 和文件。
Journal选择逻辑设备和 Journal,按时间范围分页查询。
报告/控制块查看自动创建的报告控制块和客户端保留状态;写入和控制操作必须先确认现场安全。
消息查看 MMS 请求、响应和解析错误。

IEC 61850 服务端运行概览

IEC 61850 服务端模型与值

验证方法

  1. 确认目标在线,TCP 服务端口正在监听。
  2. 在“运行概览”确认已映射数量与填写有效对象引用的变量数量一致。
  3. 使用 IEC 61850 客户端执行 Identify、GetNameList 和 Read,核对一个变量的值和功能约束。
  4. 改变源变量,确认 MMS 当前值和 Journal 条目同步更新。
  5. 在安全测试点验证一次允许写入,再在只读点确认 Write 被拒绝。
  6. 开启持久化时重启目标,确认同一数据库和表继续产生新 Journal。

常见问题

现象检查方法
目标无法启动通道类型、绑定地址、端口占用、防火墙和 Journal 连接字符串。
客户端无法建立 association端口可达性、ACSE 密码、最大连接数、PDU 大小和客户端 MMS 配置。
客户端看不到变量转发组范围、对象引用格式、重复引用、功能约束和“运行概览”的未映射列表。
读取值异常源变量类型、在线状态、对象路径和“模型与值”页。
写入被拒绝目标级/变量级“允许写入”、源变量 RPC 权限、类型转换和现场联锁。
Journal 为空Journal 启用状态、已映射变量、Journal 名称、查询时间范围及是否产生过变量变化。
Journal 持久化失败数据库路径权限、连接字符串、缓存队列上限和目标日志。
报告未收到在“资源目录”确认数据集、URCB/BRCB 名称,再检查客户端保留状态和 association。
变化延迟或丢失查看待处理更新和目标日志;降低源变量变化频率或在内存预算内提高队列/存储上限。

相关文档