IEC 61850 托管主站
IEC 61850 托管主站用于连接变电站 IED、保护装置、测控装置和仿真服务端,读取 MMS 数据,接收报告,执行控制和文件操作。插件复用网关标准 TCP Client 通道;MMS 通信按 COTP、ACSE、MMS 的顺序建立 association。GOOSE、Sampled Values(SV)和 R-Session 属于独立的二层/UDP能力,需要在调试页选择网卡或绑定 UDP 通道。
插件名称为“IEC 61850 托管主站”,类型标识为 IEC61850NetMaster。通道、设备、变量、启停和权限等公共操作见采集配置。
建立连接与配置变量
选择入口
进入“开发配置 → 采集配置”,在左侧选择 IEC 61850 通道和设备;点击页面右上角“更多功能”打开运维工作台,选择“调试”,再打开“协议调试 · Iec61850Client”。
操作步骤
- 创建 TCP Client 通道并填写 IED 地址、端口和 TLS(如有)。
- 在通道下创建 IEC 61850 托管主站设备,保存并启用。
- 确认 association 已连接后刷新模型,再配置变量、报告或二层订阅。
- 使用“节点读写”“文件服务”“Journal”和“控制操作”完成验证。
适用场景
| 场景 | 使用功能 |
|---|---|
| 采集遥测、遥信和定值 | MMS 节点读写、批量 Read |
| 减少周期轮询 | URCB/BRCB 报告订阅 |
| 观察现场网络报文 | GOOSE、SV、R-Session 二层抓包 |
| 保护装置事件追溯 | Journal 和 SOE 查询 |
| 远程维护 | 文件目录、下载、删除、重命名、ObtainFile |
| 设备控制 | 控制块读取、SBO/SBOw、Oper、Cancel |
配置前准备
- 确认 IED 的 MMS 地址和端口。标准 MMS 端口通常为
102,仿真服务端可能使用其它端口。 - 确认 IED 是否需要 ACSE password,并取得测试账户或测试密码。
- 使用 TLS 时,在网关证书管理中准备客户端证书、服务端证书或 CA,并确认通道的 TLS 参数。
- 使用 GOOSE/SV 时,确认网关主机存在连接现场网络的物理网卡;Windows 需要安装 Npcap,Linux 需要允许 AF_PACKET 原始套接字。
- 准备 IED 的 ICD、CID 或 SCD 文件作为现场核对资料。插件在线模型浏览以设备实际返回的 MMS 目录为准。
创建主站
- 进入“开发配置 → 采集配置”,新建
TCP Client通道。 - 在“远程地址”中填写
IP:端口,例如192.168.1.6:3402。 - 如需 TLS,打开通道 SSL 并选择证书;普通 MMS 保持 SSL 关闭。
- 在通道下新建设备,选择“IEC 61850 托管主站”。
- 填写主站参数,保存后启用通道和设备。
- 设备状态显示“在线”且 association 状态为“Connected”后,再执行模型浏览和批量读取。

主站参数
| 参数 | 默认值 | 说明 |
|---|---|---|
| MMS 请求超时 | 10000 ms | 单个 MMS confirmed 请求等待响应的最长时间。现场网络延迟较大时可适当增加。 |
| Association 超时 | 10000 ms | COTP、ACSE 和 MMS association 建立的总超时。 |
| 最大 MMS PDU | 65000 | 本端接受的最大 MMS PDU 字节数;必须不超过对端能力。 |
| 最大并发请求 | 5 | 同时等待的 confirmed 请求数量。建议不超过 IED 的 calling/called outstanding 限制。 |
| 批量读取数量 | 50 | 一个采集计划中最多合并的 MMS 变量数量。对端不支持大批量时降低此值。 |
| 数据集成员上限 | 100 | 读取或创建数据集时允许的最大成员数量。 |
| 最大文件大小 | 134217728 字节 | 单个远端文件流式写入后端临时文件的最大长度,默认 128 MiB;用于限制磁盘占用和异常响应,不会预分配同等大小内存。 |
| ACSE 认证密码 | 空 | 对端要求 password authentication 时填写;为空时不发送认证字段。 |
通道还提供连接超时、缓存超时、最大并发数、SSL、证书和心跳等公共字段。设备参数与通道参数同时生效,实际超时取具体操作所在层的限制。
调整参数时按层验证:TCP 连通后还需 association 成功;请求超时只限制已建立会话的 confirmed 请求。最大 PDU 是字节数,批量读取数量是变量数,并发请求是未完成事务数,三者不能互相替代。配置保存后查看新连接代次及实际协商结果,再在相同对象和周期下比较请求数量、耗时和返回值。
公共“数据解析顺序”和“字符串反转字节字”不参与此处类型化 MMS 值的寄存器字节转换;不能用它们修正 FC 或类型映射。节点调试直接调用 MMS 会话,也不能用公共“失败重试次数”推断一次按钮读取必定重发指定次数。
变量地址与数据类型
地址格式
LD/LN.DO.DA;FC=XX
示例:
PRS778LD0/MMXU1.A.phsA.cVal.mag.f;FC=MX
PRS778LD0/LLN0.Mod.stVal;FC=ST
PRS778LD0/CSWI1.Pos.Oper.ctlVal;FC=CO
LD 是逻辑设备,LN 是逻辑节点,后续使用点号分隔 DO/DA 路径,FC 必须明确填写功能约束。MMS 线路中的 $ 分隔名称会在调试页面转换为用户可读的点号路径。
支持的数据类型
| 网关数据类型 | 常见 MMS 类型 | 说明 |
|---|---|---|
| Boolean | Boolean | 单点状态、开关量。 |
| Byte | Unsigned | 按无符号整数读取。 |
| Int16、Int32、Int64 | Integer | 有符号整数,按 TypeSpecification 校验位宽。 |
| UInt16、UInt32、UInt64 | Unsigned | 无符号整数,写入时不得为负数。 |
| Float | FloatingPoint 32 位 | 单精度浮点。 |
| Double | FloatingPoint 64 位 | 双精度浮点。 |
| String | VisibleString、MMS String | 文本值;控制字符会被拒绝。 |
数组、结构、Quality、Timestamp、OctetString 等复杂值可在模型浏览和节点读写页查看完整 MMS 类型;变量映射时应依据 IED 返回的 TypeSpecification 选择兼容的网关类型。
模型浏览与节点读写
设备调试
进入“开发配置 → 采集配置”,在左侧搜索并选择 IEC 61850 设备,点击“更多功能”,打开“调试 → 协议调试 · Iec61850Client”。专用工作区包含以下页签:
| 功能 | 作用 |
|---|---|
| 连接状态 | 查看 TCP 地址、端口、TLS、association 状态、连接代次和协商上限。 |
| 模型浏览 | 按 LD、LN、FC、DO、DA 展开实际模型,并复制对象路径。 |
| 节点读写 | 对单个对象执行 Read/Write,检查返回类型和值。 |
| RCB订阅 | 查看 URCB/BRCB 目录、启用状态、RptId、缓冲状态和最近报告。 |
| GOOSE订阅 | 读取 GoCB 状态,并显示真实 GOOSE 帧的当前数据。 |
| 二层报文 | 选择网卡,限时抓取并解码 GOOSE、SV、R-Session。 |
| 数据集 | 查看数据集成员,读取、创建或删除动态数据集。 |
| 文件服务 | 分页浏览目录并按名称、大小或修改时间排序,支持下载、删除、重命名和 ObtainFile。 |
| Journal | 选择逻辑设备和 Journal 名称,按 UTC 时间范围分页查询。 |
| 控制块 | 读取或写入 RCB、SGCB、GoCB、SVCB 和日志控制字段。 |
| 控制操作 | 查询控制模型,执行选择、操作或取消。 |
| SOE事件 | 查询和导出已接收的事件记录。 |
| 消息 | 查看 MMS 请求、响应和错误摘要。 |
模型浏览
- 打开“模型浏览”,点击“刷新模型”。
- 展开逻辑设备和逻辑节点,逐层查看功能约束、数据对象和数据属性。
- 选中叶子节点后点击“复制路径”,将地址粘贴到“节点读写”。
- 大型 IED 建议先选择一个 LD 或 LN,再执行局部浏览,减少请求数量。
- 模型导出用于保存当前浏览结果;导入前确认地址、功能约束和数据类型与当前 IED 一致。

节点读写
- 在“对象引用”中填写完整地址,或从模型浏览复制。
- 选择功能约束,点击“读取”,确认结果中的值、类型和错误码。
- 需要写入时填写与当前类型一致的写入值,点击“写入”。
- 写入前确认变量允许写入、IED 当前状态允许写入,并使用测试对象验证。
读取失败时,先确认对象引用是否包含正确的 FC;同名对象在不同 FC 下属于不同变量。
从模型建立周期采集
| 示例内容 | 完整采集地址与类型 |
|---|---|
| 有功功率 | VideoLD/MMXU1.TotW.mag.f;FC=MX,使用 Float。 |
| 布尔状态 | VideoLD/GGIO1.Ind1.stVal;FC=ST,使用 Boolean。 |
| 文本铭牌 | VideoLD/LLN0.NamPlt.vendor;FC=DC,使用 String。 |
以上是地址结构示例,实际名称必须从当前 IED 模型复制。创建变量时数组长度 0 表示标量;在节点调试中则分别填写对象引用和 FC。先比较节点 Read 与周期采集的类型和值,再在源端改变测试值,等待新采集时间;具备独立 MMS 客户端时再做一次交叉读取。SCD/ICD 文件模型不能代替在线目录和实际值。
报告、GOOSE 与数据集
RCB 订阅与报告
RCB 订阅适用于需要由 IED 主动上送数据的场景。打开“RCB订阅”后:
- 点击刷新,查看 URCB/BRCB 分页列表。
- 核对 RCB 引用、RptId、缓冲类型、启用状态、ConfRev 和缓冲条数。
- 启用 RCB 时按 IED 要求写入
DatSet、TrgOps、OptFlds、RptEna等字段。 - 打开“最近报告”确认报告到达;报告中的 DataRef 应能映射到变量地址。
- BRCB 断线重连后检查缓冲重放数量和
BufOvfl状态。

配置报告控制块
先读取控制块当前值和数据集成员,关闭 RptEna 后按 IED 允许的顺序修改,再启用并等待新的实际报告。
| 字段 | 设置与核对 |
|---|---|
| Resv / ResvTms | URCB 使用布尔预留,BRCB 使用预留秒数;不能混用。读回剩余秒数可能已减少。 |
| RptID、DatSet | 分别标识报告和数据集。核对新报告携带的身份、成员数量与顺序。 |
| OptFlds、TrgOps | 按服务声明的位串长度填写十六进制字节,核对实际报告包含的字段和触发原因,不能按十进制掩码猜位序。 |
| BufTm | 毫秒,变化报告的合并等待窗口,不是离线队列容量。 |
| IntgPd | 毫秒,需同时允许 integrity 触发;源值不变也可报告快照。 |
| GI | 启用报告后请求一次总召;服务处理后可自行恢复 false。 |
| EntryID、TimeofEntry | 条目身份及缓冲进入时间。是否允许写入由远端决定,可见输入项不保证支持重传定位。 |
| PurgeBuf | 清除远端缓冲记录,可能丢弃待补传内容,不应作为刷新按钮。 |
RCB 列表展示可见控制块,不代表每行均已订阅。报告启用后应区分 DataChange、Integrity 和 GI;MMS Read 返回与周期采集值不能当作主动报告。完成临时验证后,禁用本次报告并释放所属预留。
保存 SOE 事件
在设备的“SOE事件存储”中启用记录,配置数据库类型、连接串、表名、保存天数、时区偏移及离线缓存。子窗口“确定”先修改设备草稿,保存父设备后才初始化存储。
当前 SOE 记录报告中的变化事件,完整性与总召快照不直接写为 SOE。让测试源产生一次真实变化,依次核对最近报告、SOE 列表和目标数据库;能收到报告不等于数据库已提交。时区偏移影响落库 EntryTime,比较前先明确协议 UTC 与存储时间的口径。
缓存容量按事件行计算,不能按报告数估算。容量满后可能淘汰较早待发行;恢复联网和扩容不能找回已淘汰记录。队列、缓存行数、分片与历史保存天数的设置见离线缓存与补传及数据库存储。
GOOSE 当前数据
“GOOSE订阅”同时展示 MMS GoCB 状态和实际 0x88B8 以太网帧。展开控制块行后可查看:
| 字段 | 含义 |
|---|---|
| 数据引用 | 数据集成员转换后的 IEC 对象引用。 |
| 描述 | 网关变量配置中的描述,未配置时显示 -。 |
| FC | 数据成员功能约束。 |
| MMS类型 | GOOSE allData 解码后的 MMS 类型。 |
| 前值 | 同一 GoCB 上一次状态帧中的值。 |
| 当前值 | 最新合法帧中的值。 |
页面还显示 GoCB 引用、DataSet、GooseId、APPID、StNum、SqNum、值数量和最近观测时间。若只有实帧而 MMS 目录不可用,仍保留按序值;若没有实帧,检查网卡、组播、VLAN、APPID 和发布端周期发送。

二层报文抓取
- 打开“二层报文”,在“抓包网卡”选择连接现场网络的接口。
- 设置抓包时长和返回帧上限,建议先使用 5 秒和 100 帧。
- 点击“开始抓包”,等待操作完成。
- 查看 GOOSE、SV、UDP/R-Session 统计、解码成功数和失败数。
- 展开帧详情,核对 MAC、EtherType、APPID、VLAN、控制块引用、序号和原始十六进制。
Windows Npcap provider 需要管理员权限或允许抓包的用户权限;Linux AF_PACKET 需要网卡接口权限。抓包仅用于诊断,不会自动修改 IED 配置。

数据集、文件和 Journal
数据集
“数据集”页签支持读取 named variable list 的成员目录和当前值。创建动态数据集时逐行填写完整变量引用,成员数量不得超过“数据集成员上限”;删除前确认该数据集没有被 RCB、GoCB 或其它客户端使用。
数据集引用如 VideoLD/LLN0$Events 与单点 DO/DA 地址不同。先读取成员目录,再按返回顺序解释集合值,不能按本地变量表排序。成员上限过小会拒绝整个超限集合,不会把远端集合裁成少量点;提高容量不会新增源变量,也不会自动开启报告。
文件服务
“文件服务”页签提供目录分页、FileOpen/FileRead/FileClose 下载链路,以及删除、重命名和 ObtainFile。下载内容按块写入后端临时文件,再通过文件流返回浏览器;下载前确认文件大小不超过“最大文件大小”,并确认 IED 支持 MMS 文件服务。文件服务失败不代表 MMS Read 或报告服务失败。
验证完整文件下载
- 在“文件服务”保持文件规范为空,读取远端可见目录,核对名称、总大小和修改时间。填写确切文件路径时,它会发送给远端服务,不是浏览器本地筛选。
- 选择一个已获准读取的测试文件,确认其总大小不超过本地“最大文件大小”,再下载完整文件。该上限控制单个文件总量,不是每个读取块大小。
- 比较下载文件的长度;具备源端校验值时,再核对 SHA-256。目录出现文件、下载成功提示和内容一致是三个不同检查。
- 如需调整最大 MMS PDU,重新建立会话后查看协商上限和读取统计,仍核对相同文件的完整内容;不能只按理论块数判断吞吐。
- 提示远端访问拒绝时,检查 IED 的 FileOpen 权限。目录可读不代表文件可打开,增大本地容量不能绕过远端权限。
- 恢复权限或连接后重新下载一次,以新的完整文件确认恢复。长文件下载使用独立会话,仍需满足当前超时、认证和容量限制。
Web 侧目录、下载与统计需要调试查询权限;删除、重命名等修改操作还需相应权限和远端支持。
Journal
- 先选择“逻辑设备”,再选择 Journal 名称。
- 设置开始和结束 UTC 时间,点击“查询Journal”。
- 结果按发生时间和 EntryId 分页;展开条目查看变量标签、值和原因码。
- 下拉为空时,逐个 LD 刷新目录。全部 LD 都没有 Journal 名称,表示对端未发布 Journal。

控制操作与验收
控制操作
- 在“控制块”读取目标控制对象的 TypeSpecification,确认
ctlModel、Oper.ctlVal或Oper.setMag类型。 - 在“控制操作”选择控制值和操作模式。
- 选择后执行模型先执行 Select 或 SBOw,再在有效时间内执行 Oper。
- 需要中止时执行 Cancel,并检查 CommandTermination 或 LastApplError。
控制操作属于现场高风险动作。生产环境只允许对已批准的控制点执行,并在操作前复核联锁、权限、选择状态和目标值。
验证清单
- 连接状态显示
Connected,并记录协商的最大 PDU 和并发请求数。 - 模型浏览至少成功展开一个 LD、LN、FC、DO 和 DA。
- 节点读写对一个只读测试点完成 Read,并确认类型和值。
- 使用报告时,确认至少一个实际报告到达,报告时间、原因和 DataRef 正确。
- 使用 GOOSE 或二层诊断时,确认 MAC、APPID、StNum/SqNum 和数据值正确;仅使用 MMS 采集时不要求另配二层订阅。
- 文件服务在测试目录完成目录读取和小文件下载;不支持文件服务的 IED 跳过该项。
- Journal 目录非空时完成一页时间范围查询;目录为空时记录为设备能力差异。
- 控制和写入只使用测试点,确认成功响应和现场反馈。
常见问题
| 现象 | 排查顺序 |
|---|---|
| COTP 或 association 超时 | 检查 IP、端口、防火墙、通道 TLS、ACSE password 和 IED 最大 PDU。 |
| 某个 LD 浏览失败 | 单独刷新该 LD,确认 GetNameList 是否返回响应、分页游标是否推进;其它 LD 成功时不要判定整台 IED 离线。 |
| 批量 Read 响应数量不匹配 | 降低“批量读取数量”,确认对端支持 listOfVariable,并查看消息页的 invoke ID、服务类型和变量数量。 |
| RCB 启用失败 | 核对 RCB 类型、DatSet、ConfRev、TrgOps、OptFlds、Resv/ResvTms 和客户端归属。 |
| GOOSE 没有当前数据 | 选择正确网卡,确认 Npcap/AF_PACKET 权限、VLAN、组播路由、APPID、目的 MAC 和发布端是否周期发送。 |
| GOOSE 有帧但没有数据引用 | 读取 GoCB 的 DataSet 成员目录;目录不可用时只能显示按序 allData 值。 |
| Journal 下拉为空 | 逐个 LD 读取 objectClass=8;全部为空表示服务端没有发布 Journal。 |
| 文件服务失败 | 检查 IED 文件能力、文件名、权限和最大文件大小;文件服务与 MMS 变量读取相互独立。 |
| 写入或控制被拒绝 | 核对 FC、类型、写权限、控制模型、选择顺序、IED 状态和现场联锁。 |
相关文档
- 采集配置:通道、设备、变量、启停和公共权限。
- 证书管理:TLS 客户端证书、服务端证书和 CA。
- IEC 61850 服务端:在网关中发布 MMS、报告、GOOSE 和 Journal。
- IEC104 主站:IEC 60870-5-104 主站配置和调试。