报告服务端)
什么是报告报告是IEC61850中常用的服务大家常聊的遥信和遥测就是用到的IEC61850中的报告服务关于报告服务的一些细节可以查阅IEC61850标准7-2的相关章节本文直接讲述如何实现。建模鉴于云行科技的YX-PIS协议栈的特点需要什么功能在模型里面配置就可以了所以实现报告功能只需要在模型中配置报告控制块即可建模工具直接访问云端版http://scl.yunxing.tech:8888也可在该地址下载桌面版。创建报告控制块添加报告控制块打开yx-ied-designer工具按照下图添加报告控制块填写报告控制块信息设置报告控制块触发条件设置报告控制块选项域设置报告控制块最大实例数量创建数据集这个报告控制块还无法选择数据集是因为这个模型文件中尚未创建过数据集所以我们还要进行数据集的创建。添加数据集选择数据及命名在控制块中选择数据集数据集创建成功后即可在报告控制块中进行选择CID文件中的报告控制块通过工具完成了报告控制块的建模我们可以打开cid文件看看实际的内容如下ReportControlbufferedfalseconfRev1datSettestDataSetdesc测试用的报告控制块indexedtrueintgPd9000nametestReportCBTrgOpsdchgtruedupdtruegitrueperiodtrueqchgtrue/OptFields/RptEnabledmax3//ReportControl编码运行上一文的程序不用做任何修改直接启动即可验证MMS版本的验证使能通过IEDSCOUT工具连接后选择报告控制块实例然后使能这个报告控制块实例如下图使能相当于订阅只有使能了服务端才会向这个客户端发送报告这里可以进行修改也可以直接点击使能抓包可以看到代码没有任何变化只是改变了CID文件就可以实现报告的完整性周期性发送。总召唤CMS版本验证直接将CMakelist.txt文件中的set(COMMUNICATION_PROTOCOL MMS)修改为set(COMMUNICATION_PROTOCOL CMS)保存重新编译运行使能连接成功后按照图中步骤进行使能抓包抓包需要安装cms插件大连云行已经免费分享请看视频CMS抓包插件分享视频总召唤刚刚的测试用例参数做如下调整然后发送即可其他触发无论是CMS还是MMS如何实现数据变化、数据更新、质量变化触发呢可结合上一文的数据更新进行验证通过数据更新接口更新报告控制块关联的数据即可这里就不重复介绍了。其他尝试可以将CID中的报告控制块修改为缓存报告控制块然后根据缓存报告控制的规范进行一些验证比如1、数据变化后先缓存待缓存时间到达后发送2、缓存报告的补发总结1、要实现报告模块功能只需要在CID模型文件中创建报告控制块即可2、客户端要想收到报告需要先使能报告控制块实例