当前位置:   article > 正文

OpenPLC61850: An IEC 61850 MMS compatible open source PLC for smart grid research

openplc

一、摘要

IEC 61850协议已经广泛应用于智能电网之中,但是OpenPLC仅支持Modbus和DNP3协议,因此作者对现有的OpenPLC进行了改进,在其中加入了IEC 61850 MMS协议支持。

二、引言

对于智能电网而言,理解PLC和Intelligent Electronic Devices(IED)的运行方式对于提高控制效率、保护系统免受网络攻击是至关重要的。但是,商业化的PLC往往不会提供充足的硬件和固件信息,因此,OpenPLC被提出来了。在OpenPLC之中加入IEC 61850协议支持,作者提出了OpenPLC61850。OpenPLC61850支持IEC 61131-3标准(PLC编程),使用MatIEC编译器,支持Modbus、DNP3和IEC 61850 MMS协议。

三、软件描述

(一)软件架构

OpenPLC61850包含四个组件:

  1. PLC runtime:运行PLC程序,负责servers和clients之间的协议通信。
  2. Web server:一个web应用,允许用户通过它控制PLC runtime。
  3. IEC 61850 server
  4. IEC 61850 server

IEC 61850 server 和 client 以单独的线程运行,是作者新加的组件。下图描述了OpenPLC61850的软件架构。

(二)软件功能

OpenPLC61850加入了IEC 61850 MMS协议支持,PLC的程序要想能使用IEC 61850,需要将IEC 61850的数据属性映射到PLC内存。映射工具在utils/iec61850_mapper_src下。映射工具分析两种类型的输入,输出IEC 61850数据属性到PLC内存地址的映射:

  1. ST文件。ST文件是从OpenPLC Editor导出的PLC程序文件。映射工具解析ST文件,输出PLC程序变量到PLC内存地址的映射。
  2. System configuration language(SCL)文件。SCL文件是xml文件,映射工具使用pugixml解析SCL文件中的Private元素,得到IEC 61850数据属性到PLC程序变量的映射。

分析完ST、SCL文件之后,映射工具根据得到的两个映射关系,输出IEC 61850数据属性到PLC内存地址的映射。

下图描述了OpenPLC和IEC 61850之间的通信架构。

(三)软件子组件

OpenPLC61850包含两个新的子组件,分别是IEC 61850 server和IEC 61850 client。

IEC 61850 server使IEC 61850 client(例如,IEC 61850 SCADA系统)能够连接到OpenPLC61850。server主要完成两件事,一是在主循环中使用update_server()更新server模型中的IEC 61850数据属性;而是接收SCADA系统的控制命令,对特定的数据对象调用事先注册的回调函数controlHandler。

IEC 61850 client使OpenPLC61850可以连接到IED,接收IED的report并更新PLC程序或者向IED发送control命令。

(四)软件局限性

当前版本的OpenPLC61850只支持IEC 61850 MMS协议,不支持其他的IEC 61850协议(如GOOSE、SV),查询是使用RCB周期性完成的。此外,当前的实现使用SCL文件来定义IEC 61850 server/client的数据属性和IEC 61131-3 PLC程序变量之间的映射。

四、示例

这一节,作者描述了使用OpenPLC61850的实例例程。步骤包括:(1)安装;(2)导入SCL文件;(3)处理ST文件;(4)开启OpenPLC61850。

(一)安装

安装过程同OpenPLC,当前版本仅支持Linux。

(二)导入SCL文件

需要两类SCL文件:(1)一个IEC 61850 server的SCL文件;(2)一个或多个IEC 61850 client的SCL文件。SCL文件的关键内容是其中的Private元素。Private元素有一个子元素Property,该元素有属性Name、Value。

(三)处理ST文件

OpenPLC Editor支持的PLC逻辑程序语言符合IEC 61131标准,包括ST和FBD。ST文件通过web接口上传到OpenPLC61850。

(四)启动OpenPLC61850

上传ST文件并且成功编译PLC程序之后,使用web界面的“Start PLC”运行OpenPLC61850。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/460852
推荐阅读
相关标签
  

闽ICP备14008679号