取代模型)
零基础实现IEC6185012取代模型概述取代在众多模型中的使用的频率比较低在正式运行的环境中几乎完全用不到取代功能在IEC61850第一版取代模型和定值、报告等齐名在7-2里有专门的介绍但是在第二版7-2中删除了取代模型部分不过其他相关文档中仍然保留了取代模型。取代本质上就是用一个数据属性值替代了另一个数据属性的值。但是并不是任意DA的值可以替代任意其他DA的值这里面在7-3里面定义了固定的组合可以详细查看。搜索subEna找到包含取代模型的CDC。取代功能介绍如下图1、图中中部的yx.subEna就像一个开关当为True时xy.stVal和xy.qt值通过ACSI接口可见的是yx.subVal和xy.subQ的值2、如果subEna为False时xy.stVal和xy.q值通过ACSI接口可见的是其本身的值。取代的用途取代都是针对状态值或测量值的而状态值和测量值都是禁止客户端写入的其值完全由实际设备状态或者采集的测量值决定那么如果客户端希望状态值和测量值变成自己希望的值根本做不到这个时候就需要取代的功能将希望值写入对应的取代值打开取代开关取代使能这样就达到了自己的目的由于取代使能后取代值完全等价于被取代值数据属性的值那么取代值的变化也完全等价于被取代数据属性值的变化如果被取代值涉及报告、日志、goose等则会触发相应动作。由于这个特性取代功能通常用于测试验证的场景。建模准备我们来查阅一下7-3查找subEna会发下你有很多CDC都包含了取代模型根据个人喜好我选择了【整数状态 (INS)】如下图图中subVal值用于取代stVal值subQ用于取代q值subID用于记录取代使能的客户端身份通常为IP地址。下面我们再在7-4中查找INS找到包含INS的逻辑节点类发现有很多逻辑节点类都包含了INS根据个人喜好我选了XCBR断路器如下图建模建模工具直接访问云端版http://scl.yunxing.tech:8888也可在该地址下载桌面版。打开建模工具新增逻辑节点XCBR选择逻辑节点类后按下面操作如果添加逻辑节点类的时候忘记了上一步骤也可以在建好的逻辑节点类中编辑DO如图编码无需特殊编码只需启动服务端加载这个模型即可样例代码已提交可以直接使用。测试启动服务端使用sim860工具客户端验证注意MMS、CMS的匹配关系连接服务端读取XCBR逻辑节点下的Opcnt数据如下写入subVal如下图查看Opcnt值取代使能查看Opcnt值可尝试随意更新subVal和subQ可以看到stVal和q始终和subVal和subQ一致。以上就是取代的一个效果除此之外取代还会触发报告、日志、goose等动作由于日志和goose尚未介绍这里以报告为例。继续建模创建数据集创建报告控制块使用新模型启动服务端使能报告控制块如下图使能成功后打开抓包工具做取代的操作可以看到取代使能时如果取代值与状态值不一致则会触发数据变化动作或者已经是取代使能状态变化subVal则会触发stVal的数据变化。小结本文服务端可以切换CMS和MMS版本注意启动配套的sim860客户端版本操作完全相同本例中抓包抓的是CMS报文本文主要让大家对取到有一个了解。如果感兴趣可以尝试抓MMS报文同时也可以打开报告的其他触发条件进行尝试等。