基于IEC60870-5-104远动规约的PLC通信模块的设计与实现①

2016-12-06 05:17孙俊男刘明哲徐皑冬郭廷廷韩晓佳
高技术通讯 2016年4期
关键词:规约配置文件主站

孙俊男 刘明哲 徐皑冬 郭廷廷 韩晓佳

(*中国科学院 沈阳自动化研究所 工业控制网络与系统研究室 沈阳 110016)(**中国科学院大学 北京 100049)



基于IEC60870-5-104远动规约的PLC通信模块的设计与实现①

孙俊男②***刘明哲*徐皑冬*郭廷廷***韩晓佳***

(*中国科学院 沈阳自动化研究所 工业控制网络与系统研究室 沈阳 110016)(**中国科学院大学 北京 100049)

为了实现对分布在很广地域的变电站或设备进行监视和控制的以太网规约IEC60870-5-104远动规约在工业通信领域的应用,首先深入分析了该远动规约的结构模型,设计了一种主要由ARM7内核的主控制器和以太网控制器构成的通信模块硬件平台,以及通过嵌入式实时操作系统来实现多任务调度的软件平台,并针对规约要求以及工业现场需求设计了主要任务的有限状态机模型。还通过实验对该模块的一致性、互操作性和系统性能进行了测试,结果表明,该通信模块具有系统独立、通讯稳定、互操作性强、可靠性高等特点。

嵌入式系统, IEC60870-5-104, 以太网通信, 状态机, 规约

0 引 言

IEC60870-5-104规约由国际电工委员会(IEC)于1998年8月制定,我国于2002年也制定了相应的配套标准DL/T634.5104-2002。它是基于现代电子技术和电子计算机技术,应用远程通信技术对远方变电站或者电厂的设备进行监视和控制,主要实现远程测量、远程控制和远程调节等各项功能。该规约目前在电力领域已经得到了比较广泛的应用[1]。

随着计算机技术、网络技术、通信技术的发展,加之我国“中国制造2025”、“互联网+”等发展理念的推动[2],现代工业控制系统越来越复杂,工业设备逐渐增多,设备分布范围越来越广,设备与控制中心交换的数据量也急剧增加,因此,人们对工业控制系统的数据通信性能提出了越来越高的要求,通过发展网络来实现工业控制系统远动信息的快速、高效、可靠的传输成为了现在工业通信技术的发展趋势。所有这些新需求都离不开网络化控制领域的技术和产品。对于IEC60870-5-104远动规约,国内基于该规约的研究大多针对于电力控制系统。本文将该规约应用在工业通信领域,以满足上述工业控制系统的新需求。

本文通过深入分析IEC60870-5-104远动规约,总结出该规约的层次结构模型,实现工业现场数据与调度主站按照104规约格式进行通信,并通过使用数据交换格式JSON对模块参数进行配置,以满足不同的工业现场的需求,同时,配置过程也定义了104规约的监测点、控制点地址与可编程逻辑控制器(PLC)所连设备地址的对应关系,实现了PLC与104通信模块的数据交换,另外,该模块还将周期地向上位机发送设备运行状态信息,以便实时监控设备的运行状况,增强了设备的可靠性。本文还通过使用104规约测试工具IEC104 TESTER模拟调度中心,即104主站,对PLC实际工作现场数据进行测试,并通过软件编写测试模块,针对数据量大、数据变化快等极端使用环境以及网络连接故障、启停控制无效、报文丢失、报文冗余等常见问题进行模拟,对该通信模块的104功能项以及模块性能进行全面的测试。

1 IEC60870-5-104规约分析

1.1 规约模型

图1所示为终端系统上的104规约模型,其主要模型源于国际标准化组织(ISO)为网络通信制定的协议ISO-OSI参考模型[3]。

图1 IEC60870-5-104规约结构图

IEC60870-5-104规约底层采用的是TCP/IP的协议子集,通过用户到传输控制协议(TCP)的接口连接到应用层,该规约的应用层分为应用规约控制信息(application protocal control information, APCI)和应用服务数据单元(application service data unit, ASDU)。

1.2 应用规约控制信息(APCI)

图2所示为应用规约控制信息(APCI)的报文结构图[3]。

图2 APCI结构图

在APCI中,第一个字节是启动字符68H,标志着本报文是IEC104规约的报文,同时启动字符也标记了IEC104规约的报文起始位置。

第二个字节是应用规约数据单元(APDU)的长度,其值不能超过253。

接下来是4个字节的控制域,根据控制域4个字节的不同编码规则,APDU又被分为编号的信息传输报文(I格式)、编号的监视功能报文(S格式)、未编号的控制功能报文(U格式)三种报文,S格式与U格式报文不包含数据信息,只有在I格式报文的APDU中包含了应用服务数据单元(ASDU)。

1.3 应用服务数据单元(ASDU)

1.3.1 报文结构

图3所示为应用服务数据单元(ASDU)的报文结构图[3]。

图3 ASDU结构图

在ASDU中,第一个字节是类型标识,它定义了信息对象的结构、类型和格式。

可变结构限定词,占用一个字节。它定义了信息对象的个数和信息对象的排列方式。

传输原因,占用两个字节。它定义了信息报文传输的具体原因。

服务数据单元公共地址和信息对象地址的结构,分别占用两个字节和三个字节。它们分别用来表示站号和具体的信息对象点号。

信息对象时标,占用7个字节。104规约规定可以采用2字节时标、3字节时标和7字节时标。现在通常采用7字节时标,可以表示毫秒到年的时间。

1.3.2 报文类型

104规约规定应用报文的类型主要有4种:监视方向的过程信息、控制方向的过程信息、监视方向的系统信息、控制方向的系统信息[3]。

监视方向上的过程信息,包括单点遥信、双点遥信、步位置信息、归一化测量值、标度化测量值、短浮点测量值等。遥信用来表示信息对象分、合状态的数字量信息;测量值用不同的数据类型来表示信息对象的数值的模拟量信息。

控制方向上的过程信息,包括单点命令、双点命令、升降挡命令、归一化设点命令、标度化设点命令、短浮点设点命令等。单、双点命令是用来控制被控信息对象的分、合状态的数字量命令;设点命令是用不同的数据类型来设置被控信息对象的数值的模拟量命令。

监视方向上的系统信息,主要是初始化命令,负责向主站传送具体的初始化原因。

控制方向上的系统信息,包括总(组)召唤命令、电能脉冲召唤、时钟同步等。总(组)召唤命令用于召唤该站所有点或者一组点的状态与数值;电能脉冲召唤用于召唤该站所有累积量点的数值;时钟同步命令用于同步该站与主站的时钟。

2 通信模块设计与实现

2.1 硬件平台介绍

本文所设计的通信模块,硬件平台主要由ARM7内核的主控制器和以太网控制器构成,通过PLC的背板总线技术与PLC模块连接,实现PLC电源模块统一供电、模块与PLC控制器通过背板总线传输文件、数据等功能。该模块作为PLC的外接扩展模块,具有系统独立性。

2.2 系统的架构

本文所设计的通信模块系统架构如图4所示[4-8]。该模块采用嵌入式实时多任务操作系统Nucleus PLUS实现初始化线程、配置文件读取线程、网络线程、数据线程、104规约主逻辑线程[9]、状态信息反馈线程等任务的调度。

图4 通信模块系统架构

2.2.1 初始化线程

设备上电、复位动作后,104通信模块要首先执行初始化线程,该线程需要完成的功能主要有:初始化背板驱动、测试和清空RAM,为其后配置文件的写入和数据交换做准备。

2.2.2 配置文件读取线程

由于PLC可以应用在不同场合,工业现场的数据量与通信性能参数也会不同,这时就需要选取不同的模块参数,需要配置的信息对象个数也不同,所以,本文所述模块采用上位机配置工具来对这些参数进行配置,并将配置文件发送给模块。

本文所设计的104通信模块的配置文件,使用JSON编写。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它易于人阅读和编写,同时也易于机器解析和生成,有利于提升网络传输速率[10]。

该配置文件由上位机配置工具生成,一份发送给PLC的组态软件,该组态软件读取配置文件中的信息对象点数和点号,用于对应104规约应用中的点号与PLC的I/O;另一份经由PLC控制器通过背板发送给104通信模块,104通信模块对其参数进行解析。

2.2.3 网络线程

IEC60870-5-104规约是基于TCP/IP的规约。在初始化线程与配置文件读取线程完成以后,初始化TCP/IP协议栈,并启动网络线程,该线程状态机模型如图5所示,状态转换表如表1所示。

图5 网络线程状态机模型

#当前状态事件/动作下一状态S1DisconnectedConnect.req/NetConnect()ConnectedS2ConnectedT1.timeout/NetClose()DisconnectedS3ConnectedK.exceeded/NetClose()DisconnectedS4ConnectedN(R).discontinu⁃ous/NetClose()Disconnected

2.2.4 数据线程

设备运行过程中,PLC需要将现场设备的过程的数据发送给104通信模块,并通过模块将这些数据按照104规约的要求发送给主站,并且主站还需要将控制命令发送给PLC的设备,这就需要自定义一种PLC控制器与104通信模块的数据传输规则。

本文所设计的通信模块与PLC控制器数据传输规则如图6所示。在PLC中定义3块独立的存储区,即输入数据存储区、输出数据存储区、状态信息存储区,104通信模块通过配置文件的地址偏移量对应表将规约的监视方向过程信息与PLC控制器输出存储区对应,将规约的控制方向的过程信息与PLC控制器输入存储区对应,将模块运行过程中的状态信息与PLC的状态信息存储区对应,通过周期轮询的方式,向PLC控制器请求或发送数据的镜像。从而实现了PLC控制器与104通信模块的数据交换。

图6 系统数据流图

该线程作为独立运行的系统模块,在系统运行的过程中始终保持数据的周期发送与接受,数据交换的周期通过配置文件进行配置。

2.2.5 104规约主逻辑线程

在数据线程启动之后,且主站与该104通信模块Socket连接完成,将启动104规约主逻辑线程,该线程是模块实现104规约的核心部分。

该线程的状态机模型如图7所示,状态转换表如表2所示。

该线程启动以后,网络线程一直处于监听网络数据的状态,直到收到主站的传输控制报文STARTDT之后,模块的数据收发进入准备状态,数据传输功能启动,当收到主站的传输控制报文STOPDT之后,模块停止与主站的数据传输,直到主站再次发送STARTDT报文。

图7 主逻辑线程状态机模型

#当前状态事件/动作下一状态S1ConnectedSTARTDT.req/STARTDT.con/ProcessDTRecv()/ProcessDT()ReadyS2ReadySTOPDT.req/STOPDT.conConnectedS3TestTESTFR.req/TESTFR.con/ProcessDTRecv()/ProcessDT()ReadyS4TestTESTFR.con/ProcessDTRecv()/ProcessDT()ReadyS5ReadyT3.timeout/TESTFR.reqTestS6ReadyTeleSignal.chgTeleMetering.chg/NetWrite()/T2.reset/N(S)+1DataSendS7ReadyW.exceeded/NetWrite()/T2.reset/N(S)+1DataSendS8ReadyCommand.req/NetWrite()/T2.reset/N(S)+1DataSendS9DataSendSend.success/ProcessDTRecv()/ProcessDT()ReadyS10ReadyCommand.req/ProcessDTRecv()/T3.reset/N(S)+1DataRecvS11ReadyData.refresh/ProcessDTRecv()/T3.reset/N(S)+1DataRecvS12DataRecvRecv.success/ProcessDTRecv()/ProcessDT()Ready

104通信模块与主站通信主要分为两部分内容,一是响应主站的命令,二是从站变化数据主动上送。

主站的命令主要有总召唤、组召唤、电能累计量总召唤(遥脉总召唤)、对时命令、控制命令。收到主站总召唤与组召唤命令后,根据所配置的点的数量以及地址排列方式,分单帧和连续多帧向主站应答;收到对时命令后,则根据收到的主站时间来校对该104通信模块的时间,并以对时命令的镜像向主站发送确认应答;收到控制命令则先判断命令类型,若为选择命令,则先选中命令点,若为执行命令,则将控制命令发送给PLC控制器的输入缓冲区,执行该命令,若为撤销命令,则以原状态应答,撤销该命令。

从站变化数据主动上送主要有遥信变位和遥测数据跨越死区两种情况。遥信变位即该遥信点的状态由分变为合,由合变为分,则产生一个事件,并将该变位的遥信点号地址、变位信息、变位时间上送至主站;遥测数据跨越死区即该遥测点本次数据的变化范围大于为该点配置的死区数值范围,则产生一个事件,并将该变化的点的点号信息、当前值、变化时间上送至主站。

另外,为了保证可靠性通讯和连接的有效性,在线程执行时启动TCP连接超时定时器t0、帧确认超时定时器t1、无I帧超时发送S帧定时器t2和超时监测定时定时器t3,以及报文计数器k、w。

3 实验结果

3.1 实验平台介绍

如图8所示,该实验平台包括电源模块、PLC控制器、104规约通信模块。电源模块通过背板给PLC控制器和104通信模块供电。104通信模块的以太网接口与PC连接,在PC端使用IEC104 TESTER软件来模拟104主站,对该通信模块的一致性、互操作性和系统性能进行了测试。

图8 实验平台架构

3.2 一致性测试

使用IEC104 TESTER软件,选择“模拟主站”选项,此时该软件会模拟104通信网络的主站,定期的发送命令与接受数据。结果如图9所示,该模块满足一致性。

图9 实验结果

3.3 互操作性测试

更改测试软件参数,同时相应的修改104通信模块的配置参数,以模拟不同规格和不同使用情景下的主站,实验结果表明,该模块满足互操作性。

3.4 系统性能测试

考虑到工业现场存在数据量大,数据变化快等极端环境,本文通过编写测试模块,针对这两种情况对该104模块在不同数据量、不同数据变化速率的情况下的平均时延进行了统计分析。结果如图10所示。横轴为同一时刻产生的待发送报文的数量,4条曲线自下向上依次为数据刷新速率为10秒、5秒、1秒、0.1秒的平均时延情况。

图10 性能测试统计图

经过对工业现场需求数据量和时间精度的调研,该模块的性能能够满足绝大多数工业现场的需求。

4 结 论

本文通过深入分析IEC60870-5-104远动规约的结构模型,提出了一种实现IEC60870-5-104远动规约的通信模块的设计方案,并予以实现。硬件平台能够很好地支持PLC的架构。软件平台通过嵌入式实时多任务操作系统来实现任务的调度,并且针对每个任务分别提出了状态机模型,来实现各个模块的功能。

本文所设计的通信模块,作为PLC的扩展模块,具有独立的软硬件平台,PLC与模块协同工作,模块的改动不会影响PLC性能,具有系统独立的特点;模块系统参数与性能参数可以通过配置文件进行修改,满足不同规格、不同使用情景下的主站要求,具有互操作性强的特点;模块选取高性能软硬件平台并设计良好的系统架构,使得模块具有通讯稳定、可靠性高的特点。接下来将针对该模块进行进一步的优化,提升系统性能与可靠性。

[1] 薛飞. IEC60870-5-104协议的软件建模与实现:[硕士学位论文]. 北京: 华北电力大学(北京)控制与计算机学院, 2012. 23

[2] 贺正楚, 潘红玉. 德国“工业4.0”与“中国制造2025”. 长沙理工大学学报:社会科学版, 2015, 3:103-110

[3] International Electrotechnical Commission. IEC-60870-5-104 Network access for 1EC 60870-5-101 usingstandard transport profiles. Geneva, Switzerland: International Electrotechnical Commission, Technical Committee 57, Working Group 03, 1998

[4] International Electrotechnical Commission. IEC-60870-5-1 Telecontrol equipment and systems, Part 5: Transmissionprotocols, Section 1: Transmission frame formats. Geneva, Switzerland: International Electrotechnical Commission, Technical Committee 57, Working Group 03, 1990

[5] International Electrotechnical Commission. IEC-60870-5-2 Telecontrol equipment and systems, Part 5: Transmissionprotocols, Section 2: Link transmission procedure. Geneva, Switzerland: International Electrotechnical Commission, Technical Committee 57, Working Group 03, 1990

[6] International Electrotechnical Commission. IEC-60870-5-3 Telecontrol equipment and systems, Part 5 :Transmissionprotocols, Section 3: General structure of application data. Geneva, Switzerland: International Electrotechnical Commission, Technical Committee 57, Working Group 03, 1990

[7] International Electrotechnical Commission. IEC-60870-5-4 Telecontrol equipment and systems, Part 5 :Transmissionprotocols, Section 4: Definition and coding of application information elements, Switzerland: International Electrotechnical Commission, Technical Committee 57, Working Group 03, 1990

[8] International Electrotechnical Commission. IEC-60870-5-5 Telecontrol equipment and systems, Part 5: Transmissionprotocols, Section 5: Basic application functions, Switzerland: International Electrotechnical Commission, Technical Committee 57, Working Group 03, 1990

[9] Fu Q C, Liu Z Y, Fu K J. Implementation of IEC60870-5-104 Protocol Based on Finite State Machines. In: Proceedings of the International Conference on Sustainable Power Generation and Supply, Nanjing, China, 2009,45: 1-5

[10] 胡晓锋. JSON与XML在网络数据传输中的应用分析. 电脑编程技巧与维护, 2010, 10:77-78

Design and implementation of PLC communication module based on IEC60870-5-104 protocol

Sun Junnan***, Liu Mingzhe*, Xu Aidong*, Guo Tingting***, Han Xiaojia***

(*Industrial Control Networks and systems Department, Shenyang Institute of Automation Chinese Academy of Sciences, Shenyang 110016)(**University of Chinese Academy of Sciences, Beijing 100049)

In order to apply the IEC60870-5-104 telecontrol protocol, an Ethernet protocol for monitoring and controlling the substations or equipment in wide area to the field of industrial communication, this study analysed the structure of the IEC60870-5-104 telecontrol protocol, and presented a method for design and development of a PLC communication module based on this protocol. The hardware platform of this communication module mainly includes the processer based on the ARM7 kernel and Ethernet controller. The software platform uses the embedded real-time multi-task operating system to schedule the tasks of configuration file read, state feedback, module and PLC controller information exchange, data transformation according to the protocol request. The consistency, interoperability and system performance of the module were tested by experiments. The results showed that the communication module had the characteristics of independence, stability, strong interoperability, high reliability and so on.

embedded system, IEC60870-5-104, ethernet communication, finite state machine, protocol

10.3772/j.issn.1002-0470.2016.04.009

①工业和信息化部智能制造专项(Y5C8150801)资助项目。

2016-02-25)

②男,1992年生,硕士生;研究方向:工业通信技术,嵌入式系统等;联系人,E-mail: sunjunnan@sia.cn(

猜你喜欢
规约配置文件主站
传统自然资源保护规约的民俗控制机制及其现实意义
基于无线自组网和GD60规约的路灯监控系统的设计
互不干涉混用Chromium Edge
基于S7-1200 PLC的DP总线通信技术在马里古伊那水电站泄洪冲沙孔门机上的应用
变电站综合自动化系统调试新方法研究
基于Zookeeper的配置管理中心设计与实现
忘记ESXi主机root密码怎么办
一种在复杂环境中支持容错的高性能规约框架
一种改进的LLL模糊度规约算法
为View桌面准备父虚拟机