基于PROFINET的冗余解决方案
在许多重要的工业通信现场,例如电厂、石化、化工、冶金、船舶以及造纸等行业,控制设备的可靠性和安全性要求非常高,通常都需要考虑冗余设计。冗余系统涉及到的相关技术包括控制软件、PLC系统、DCS系统、现场总线及I/O系统等。最近几年,具有实时性的工业以太网系统开始成为工业控制领域的热点,并开始在工厂自动化的一些行业推广应用。主流的工业以太网系统包括PROFINET、Ethernet/IP、Modbus TCP、POWERLINK、EtherCAT等。
基于现场总线或专用通信协议的冗余系统在市场上应用比较多,技术比较成熟。那么,是否有基于工业以太网的冗余系统呢?现在,采用德国菲尼克斯电气的控制技术,可以提供一套基于PROFINET系统的冗余解决方案。该方案与传统的PLC冗余方案有较大的不同。
PROFINET技术
PROFINET支持采用以太网通信的简单分散式现场设备与对时间要求非常苛刻的应用之间的集成,以及基于组件的分布式自动化系统的集成。采用 PROFINET IO技术,PROFINET规范为分散式现场设备提供一个集成模型。PROFINET IO包括三种不同的设备类型:IO控制器、IO设备和IO监视器。
由于IT技术的应用,在PROFINET方案中保护投资也起着至关重要的作用。通过代理服务器,PROFINET能够无缝地集成现有的现场总线系统(例如INTERBUS,PROFIBUS),且无需修改现有设备,这就保护了工厂操作员/业主、机器/成套装备制造商和设备制造商的现有投资。
PROFINET冗余解决方案
本文介绍的PROFINET冗余解决方案,可以实现从I/O层、网络层、PLC层到SCADA层的全部冗余通信功能。该方案的特点是,每个功能组都建立了两次。例如,PLC、交换机、HMI等既有主系统设备也有相同的备用系统设备。其优点是主系统和备用系统不同设备同时出现故障时,整个系统不会受到影响而能够继续工作。当然,用户可以根据应用的需求,只选择其中一部分的功能,例如只需要控制器冗余。
1. PLC冗余
在这个系统中,采用专用的支持PROFINET的冗余控制器。该控制器集成了专用的冗余接口;集成两个或三个RJ45以太网接口,100M全双工。在PROFINET网络中,它既属于IO控制器,同时也可作为IO设备;另外,它又是INTERBUS现场总线的主站。
在本系统中,需要配置两台冗余控制器进行双机热备,一台为主PLC(Primary PLC),另一台做备用PLC(Backup PLC)。两台PLC之间既通过交换机和以太网网线来连接,又通过冗余接口相互连接,相互之间作为对方的IO控制器和IO设备。
主PLC和备用PLC之间通过以太网或者冗余接口相互交换状态信号和冗余数据,实现数据同步。从工程的层次看,通信连接总是建立在具有“主”任务的PLC上。两台PLC都建立到IO设备的PROFINET连接,但只有主PLC的数据是有效的。
两台控制器运行相同的PLC程序,PLC程序是采用PCWORX软件来编写的。PCWORX集成了总线配置、IEC61131编程和诊断功能为一体,是一款32位的控制软件。控制器冗余设置和切换条件在PCWORX软件中通过硬件配置即可完成,无需通过专用的冗余功能块来实现。
2. IO层冗余
IO层冗余可以实现PROFINET IO设备与两个IO控制器的通信,或者实现I/O设备的冗余。IO层冗余未来可采用PROFINET System Redundancy技术,该技术正由PI组织负责制定,但目前还没有正式发布。因此,菲尼克斯电气开发了Phoenix Redundancy Layer技术作为当前的解决方案。
PROFINET IO设备同时和两台PLC进行通信,主PLC和备用PLC各自建立与本地IO设备的应用关系。支持冗余功能的IO设备复制其子槽,一个子槽(subslot)为主IO 控制器所使用,另一个子槽被备用IO控制器所使用。主子槽的索引开始于1(0×0001),备用子槽紧随主子槽之后,其索引为0×0002。
输入信号周期性地同时发送给两台PLC,而输出数据则同时有两台PLC周期性地传送给PROFINET IO设备。但只有一个输出值可以送给物理输出,所以PROFINET IO设备需要知道哪台PLC接管控制权,哪台PLC处于备用状态,这通过报文的状态信息来识别。主PLC发送的输出数据的状态标记为有效(IOPS = GOOD),备用 PLC发送来的输出数据的状态标记为无效(BAD),标记为有效的报文才会被IO设备所接收。
I/O设备的冗余可以保证其中一个站点出故障时,PLC可以从备用I/O设备站点读取正确的过程数据,这意味着在硬件上I/O站点需要配置两次。
PLC同时读取两个I/O设备站点的输入过程数据,这两个站点分别称为PRIMARY-I/O-Station和BACKUP-I/O- Station。在控制程序中,根据判断逻辑通信的连接状态,通过一个选择功能来决定选择哪个子站的输入数据。对于输出过程数据来说
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)