IEC 61850

通过 MMS 连接 IEC 61850 变电站 IED:对象引用、功能约束后缀,以及支持的 MMS 数值类型。

以 Markdown 查看

IEC 61850 驱动不在当前的 Ganter Lab 下载包里,所以用那个下载包装出来的工作站还连不上 IED。

IEC 61850 驱动通过 MMS 和变电站 IED 对话,对象是保护继电器、合并单元和间隔层控制器;MMS 就是 IEC 61850 里客户端/服务器的那一半。你按数值在设备数据模型里的对象引用来寻址:逻辑设备、逻辑节点、数据对象、数据属性。在 Connector 里的 IEC 61850 驱动下面添加一台设备;面板只显示这个协议用得到的那些字段。

连接

字段 含义 默认值
主机 IED 的 IP 地址或主机名。
端口 MMS 连接的 TCP 端口。填 0 就用 102,也就是 ISO-on-TCP 的标准端口。 0

设备标题栏显示拼好的端点,例如 iec61850://192.168.0.40:102。这个驱动没有轮询间隔字段:它的点位每秒读一次。

寻址

IEC 61850 的点位靠点位“来源”卡片里的 MMS 路径寻址:

字段 含义 接受的取值 默认值
MMS 路径 对象引用,后面可以带一个方括号里的功能约束后缀。必填。 自由文本
读取长度(字节,留空 = 自动) 只用来把点位存下来的地址形式补全;读取是带类型的 MMS 读,不理会它。 1 及以上,或留空 留空

对象引用就是穿过数据模型的那条完整路径,LogicalDevice/LogicalNode.DataObject.DataAttribute

MMS 路径 读的是
LD0/MMXU1.TotW.mag.f 总有功功率的幅值(一个测量值,默认 [MX]
LD0/MMXU1.A.phsA.cVal.mag.f A 相电流的幅值
LD0/GGIO1.SPCSO1.stVal[ST] 一个单点状态值
LD0/LLN0.Mod.stVal[ST] 这个逻辑设备的模式

后缀点名的是这个数据属性的功能约束,也就是 IED 的 ICD/SCL 文件里显示的那一列 FC。它就是路径末尾方括号里的两个大写字母。不写后缀时假定为 MX(测量值),适合模拟量测量;状态值需要 [ST],设定值需要 [SP],配置值需要 [CF]。接受的记号有:

FC 含义 FC 含义
ST 状态信息 EX 扩展定义
MX 测量值(模拟量) CO 控制
SP 设定值 US 单播采样值
SV 替代值 MS 组播采样值
CF 配置值 RP 非缓存报告
DC 描述 BR 缓存报告
SG 定值组 LG 日志控制块
SE 可编辑的定值组 SR 服务响应 / 跟踪
OR 已收到操作 BL 闭锁

FC 和这个属性实际的约束对不上的路径,读取会失败,所以一个值一直是不可用时,先拿后缀去对一遍 SCL 文件,再去怀疑路径。“来源”卡片里那行只读的来源地址(总线)会随着你编辑显示拼好的地址。

数据类型

数据类型选择器提供驱动能编排的那四种 MMS 基本值,每一种都用一次带类型的 MMS 读来读:

数据类型 MMS 值 说明
Float 浮点数 mag.f 这类测量值通常选它
Boolean 布尔 像一个 SPS 的 stVal 那样的单点状态
Int32 整数 由 MMS 整数收窄而来;超出 32 位的值会让读取失败
String 可见字符串 名称、厂商字符串、dU 描述

复合值没法当作一个点位来读:一整个数据对象、一个品质位串或者一个时标,都装不进上面那四种基本类型。请去寻你需要的那个基本叶属性,例如 mag.fstVal 这个叶本身。

写入

访问方式为读写或只写的点位可以被写。一次写入把带类型的 MMS 值发到同一个对象引用和同一个功能约束上,适合设定值([SP])和别的可写属性。写入就是普通的 MMS 写:驱动不跑 IEC 61850 的控制模型,所以对 CO 属性 Oper/SBO 类控制的命令不是它的用途。新点位一开始是只读。

设备发现

这个驱动没有把 IEC 61850 的自描述接到扫描上,所以 Connector 不显示“发现设备”按钮。请从 IED 的 SCL/ICD 文件里取对象引用,手工添加设备和它的点位。

需要知道的事

  • 数值是通过 MMS 每秒轮询一次的;缓存和非缓存报告(RCB)、GOOSE 和采样值都不使用。
  • MMS 连接是不加密的 ISO-on-TCP;TLS 不在这个驱动的构建里。
  • 一台够不着的 IED 在启动时不花什么代价:设备在后台一直重试,在连接接上之前它的点位读作质量不可用。