您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > 西门子开放式IE通讯在水电站监控系统中的应用
西门子开放式IE通讯在水电站监控系统中的应用摘要:本文介绍了水电站监控系统、西门子PLC集成PROFINET接口的CPU315-2PN/DP模块的开放式IE通讯和Modbus/TCP协议,并详细讲述了使用开放式IE通讯编程实现Modbus/TCP协议的方法,说明了采用面向对象编程的设计思想和软件编程。在湖南铜信溪水电站中应用证明通过开放式IE通讯实现Modbus/TCP协议与上位机系统通讯时稳定可靠,不需要采用西门子公司OPC、能有效降低整个水电站监控系统成本。关键词:水电站,PLC,PROFINET,开放式IE通讯,Modbus/TCP,面向对象,OPC1引言目前国内的水电站从最初的“集中控制、功能分散方式”到当今流行的“全分层分布开放式运行方式”,已全部采用计算机控制系统取代过去以继电器常规控制方式,可实现“无人值班”(少人值守),大大提高了水电站的自动化水平。一般整个水电站监控系统在物理上分为两层:电站控制层和现地控制层。电站控制层(或称上位机系统)主要用于监控系统的组态、维护,水电站运行的监视、操作、信息管理、远动和优化控制等.现地控制层按控制对象分散方式一般设置为机组现地控制单元(LCU)、开关站及公用现地控制单元(LCU)和闸门现地控制单元(LCU),现地控制单元(LCU)主要采用PLC完成控制对象的数据采集与处理、控制与调节、安全运行监视、事件顺序记录(SOE)、数据及网络通讯等。2项目简介湖南铜信溪水电站装设三台10MW水轮发电机组,整个监控系统采用“全分层分布开放式运行方式”,上位机系统设置二套操作员工作站、一套工程师工作站和一套通讯工作站,现地控制层设置三套机组LCU、一套开关站及公用LCU和一套闸门LCU。LCU主要采用西门子S7-300集成PROFINET接口的CPU315-2PN/DP模块,通过编程实现Modbus/TCP协议与上位机系统通讯;同时配置相应的数字量输入/输出模块和模拟量输入模块,完成机组、开关站、公用和闸门等设备的控制与调节。具体网络结构如图1所示。图1湖南铜信溪水电站网络结构3CPU315-2PN/DP模块及Modbus/TCP协议CPU315-2PN/DP是西门子2004年底推出的一款高性价比S7-300CPU.通过集成的通信接口(MPI/DP,PN),该CPU可直接连接MPI网络、Profibus-DP网络、开放式工业以太网,以及基于工业以太网技术的新一代现场总线PROFINET。该CPU的推出,进一步增强了S7-300PLC的通信功能,使S7-300连接以太网的成本大大降低,并为PROFINET技术的普及提供了强有力支持。集成的IE/PROFINET接口支持多种通讯服务:基于PROFINET的开放通讯(PROFINETIO,PROFINETCBA)、S7通讯、开放式IE通讯、SIMATICNETOPCServer和PG/OP通讯。本项目就是采用开放式IE通讯编程实现Modbus/TCP协议与水电站上位机系统通讯。软硬件版本为V2.3.0或更高、带有集成PROFINET接口的CPU,均支持开放式IE通讯,其具有不占用CPU连接资源、最多可建立八个TCP/IP连接,完全基于开放式TCP/IP协议、可与第三方设备在以太网上进行通讯等优点。Modbus/TCP协议是简单的、中立厂商的用于管理和控制自动化设备的Modbus系列通讯协议的派生产品。Modbus/TCP协议是一种面向TCP连接的协议,只有在建立了TCP连接后,才能以半双工的方式进行数据交换。Modbus/TCP协议结构要求请求和响应带有六个字节的前缀,具体结构如下:byte0:事务处理标识符–通常为0byte1:事务处理标识符–通常为0byte2:协议标识符=0byte3:协议标识符=0byte4:长度字段(上半部分字节)=0(所有的消息长度小于256)byte5:长度字段(下半部分字节)=后面字节的数量byte6:单元标识符(原“从站地址”)byte7:MODBUS功能代码byte8:寄存器地址(高字节)byte9:寄存器地址(低字节)byte10:寄存器数量(高字节,固定为0)byte11:寄存器数量(低字节)byte12:后面数据字节数量————-写寄存器时有效byte13:寄数据1(高字节)————-写寄存器时有效byte14:寄数据1(低字节)————-写寄存器时有效需要注意的是Modbus/TCP协议所有的请求都是通过端口号502发送的,而CPU315-2PN/DP模块的端口号只能设置为2000至5000。4软件实现4.1编程指令说明在CPU315-2PN/DP这一边,不是通过NetPro设置通讯连接,而是通过编写程序实现。为了能通过用户程序和其它与TCP/IP兼容的通讯伙伴通过开放式IE通讯实现交换数据,STEP7(V5.3+SP1或以上)提供了四个功能块(FB)和一个用户定义数据类型(UDT)用于组态连接和数据交换:1)FB63“TSEND”:用于发送数据2)FB64“TRCV”:用于接收数据3)FB65“TCON”:用于建立连接4)FB66“TDISCON”:用于断开连接5)UDT65“TCON_PAR”:包括组态连接属性的数据结构以上功能块(FB)包含在StandardLibraryCommunicationBlocks库中。开放式IE通讯只能通过TCP/IP建立以太网连接,通讯是面向连接的,只有与通讯伙伴建立了连接后才能传送数据。要编程建立连接,需要创建一个包含UDT65“TCON_PAR”数据结构的数据快(DB)。该数据结构包含建立连接所需的所有参数,需要为每个连接创建一个这样的数据结构。一个连接建立之后,将受到CPU的监控,如果中间发生了中断,则自动尝试重新建立连接。4.2程序执行过程整个以太网通讯程序分成以下五个部分:1)初始化初始化程序在OB100中执行,主要设置连接ID、CPU315-2PN/DP端口号、上位机系统中操作员工作站IP地址和开始等待建立连接标志(FB65_REQ=1)。2)建立连接由开始等待建立连接标志(FB65_REQ=1)调用FB65等待上位机系统中操作员工作站请求建立连接。如果上位机系统中操作员工作站请求建立了连接,且FB65被无错误执行建立了连接(FB65_DONE=1),设置开始接收数据标志(FB64_EN_R=1)和复位开始等待建立连接标志(FB65_REQ=0)。如果上位机系统中操作员工作站没有请求建立连接或请求建立了连接FB65执行后有错误发生,则程序不做任何处理,还是等待建立连接。3)接收数据由开始接收数据标志(FB64_EN_R=1)调用FB64开始接收数据。如果上位机系统中操作员工作站发送了数据,且被FB64被无错误接收后(FB64_BDR=1),则调用Modbus/TCP协议处理程序(FB74)对接收到的数据进行判断和处理。如果上位机系统中操作员工作站没有发送数据或发生了数据FB64执行后有错误发生,则程序不做任何处理,还是等待接收数据。4)Modbus/TCP协议处理首先判断接收数据数量、寄存器地址和功能码是否正确。如果正确,则进行读/写数据处理,并准备正确响应所需数据。如果错误,则设置非法数据地址或非法功能码标志,并准备错误响应所需数据。程序执行完成后设置发送数据标志(FB63_REQ=1)和复位开始接收数据标志(FB64_EN_R=0)。5)发送数据由开始发送数据标志(FB63_REQ=1)调用FB63开始发送数据。不管发送完成是否正确,只要发送数据完成了就设置开始接收数据标志(FB64_EN_R=1)和复位发送数据标志(FB63_REQ=0),然后开始等待接收数据。4.3程序块为了实现CPU315-2PN/DP与水电站上位机系统中操作员工作站的数据交换,PLC需要下表1所示程序块:表1PLC所需程序块为了正确组态连接参数,必须了解连接结构(UDT65)中每个参数的含义。连接结构(UDT65)的说明如下表2所示:表2连接结构(UDT65)说明4.4以太网通讯控制程序以太网通讯控制程序采用面向对象的结构化编程方法,在一个功能块(FB73)中封装了以太网通讯的建立连接、接收数据、调用Modbus/TCP协议处理程序和发送数据等过程。为此必须声明用于以太网通讯控制程序(FB73)输入、输出和输入/输出参数。具体声明的参数如下表3所示:表3FB73声明的参数通过FB73封装了以太网通讯控制程序,当需要与计算机建立一个连接时只需在OB1调用一次FB73,当需要建立多个连接时多次调用FB73即可。注意:CPU315-2PN/DP最多可建立八个TCP/IP连接。4.5Modbus/TCP协议处理程序Modbus/TCP协议处理程序采用面向对象的结构化编程方法,在一个功能块(FB74)中封装了数据数量、数据地址和功能码判断,处理并准备上传所需数据等全部过程。为此必须声明用于Modbus/TCP协议处理程序(FB74)输入、输出和输入/输出参数。具体声明的参数如下表4所示:地址声明名称类型初始值说明0.0IN_OUTByte_CountInt0以太网通讯接收到数据的长度2.0IN_OUTData_DBInt0存放通讯临时数据的数据块表4FB74声明的参数5结束语本程序的难点在于实现对不同数据块的读取和写入,通过Modbus/TCP协议结构中寄存器地址字节8(寄存器高字节)对应数据块号、寄存器地址字节9(寄存器低字节)对应数据块字节号就可解决。自本系统运行以来,CPU315-2PN/DP与上位机系统操作员工作站1、2通讯一直正常,从未出现过通讯中断现象,有效地保证了湖南铜信溪水电站监控系统的正常运行,应用这种方法不需要采用西门子公司OPC能有效降低整个水电站监控系统成本。可见,采用通过开放式IE通讯与上位机系统通讯是一种行之有效的方法,实现了读取遥信、遥测、定值、SOE和写入遥控、遥调和定值等功能,完全满足《DL/T578-1995水电厂计算机监控系统基本技术条件》实时性、可靠性和通讯安全性要求。由此看来,西门子PLC集成PROFINET接口的CPU模块采用开放式IE通讯与第三方智能设备通过以太网交换数据是一种值得推广的方式。
本文标题:西门子开放式IE通讯在水电站监控系统中的应用
链接地址:https://www.777doc.com/doc-2095665 .html