基于1oo2D的安全PLC的系统设计
摘 要
比较IEC 61508l推荐的五种安全控制系统的性能,提出了一种基于1oo2D系统结构的安全PLC模型。系统主要包括主控制模块,安全输入模块,安全输出模块,背板模块,冗余电源模块。在此基础上,重点说明了安全主控制模块的结构,并给出了主控制模块间的同步功能的实现方式。
【关键词】IEC 61508l 1oo2D 安全PLC 同步
随着现代工业生产的集中化和大型化,工业事故对生命、财产和环境造成的损害也越来越巨大,市场对安全控制系统的需求也越来越大。本文设计了基于1oo2D系统结构的安全PLC系统模型。
1 控制系统结构
所谓安全控制系统,既要求完成普通控制器的过程控制功能,又要求系统具有高可靠性和高可用性。表1是IEC 61508推荐的五种安全控制系统结构的性能比较表。
可以看出1oo2D和2oo3两种模型具有最高的安全完整性和可用性,但1oo2D系统的实现简单,并考虑系统的可扩展性,系统结构如图1,主要包括五部分:
主控制模块:保证控制系统用户功能及安全功能的实现。
安全输入模块:输入信号的采集,要求具有自诊断的能力。
安全输出模块:输出信号的执行,要求具有输出回读功能。
背板模块:完成系统的互连,通信总线使用BLVDS技术。
电源模块:负责给整个系统提供高可靠性电源。
2 主要模块结构
图2是安全PLC的一个主控制模块的结构图,一个主控制模块主要由MCU系统和FPGA系统及安全电路组成。MCU系统完成控制功能,FPGA系统完成和安全电路共同完成安全功能。安全电路主要完成对于FPGA和电源的监控,安全输出模块输出节点的切换。交互信号主要作用利用FPGA对CPU进行定时器,中断,内存等功能进行检测。主模块间,主从模块间的通信是通过BLVDS接口与FPGA构成的背板模块完成的,都是经过磁隔离。
3 主控制模块间同步的实现
1oo2D系统结构在1oo1D的基础上并连成的,互为冗余。控制程序的运行是时变过程,硬件冗余技术只能做到空间冗余,需要使用相应的软件技术来保证两个冗余模块的同步运行系统采用的是任务级同步的方式。
(1)每次循环开始执行时, MCU生成16位的时间戳,然后以报文的形式发送给对应的FPGA。两块FPGA获得各自的时间戳同步报文后,将报文发送个对方,在收到对方报文后进行对决。如对决无误,FPGA给MCU发送开关量信号,CPU进入用户程序执行过程。
(2)可将用户程序划分成多个分任务,每个分任务结束时将同步报文发送给FPGA,报文的内容可以是程序运行的中间变量,也可以是对CPU的内存资源做校验后的结果。MCU不等待FPGA的对决结果,顺序运行任务。FPGA只有在对决结果出错的情况下才会采取相应的措施。
(3)用户程序运行到输出数据发送给FPGA之前,将最后发送一次完成报文给FPGA。此报文的作用为告知FPGA此次循环已结束。在时间戳报文和本结束报文之间发送的同步报文是属于这次循环。
此同步方式如下优点:
(1)保证同步开始循环执行用户程序。
(2)保证程序运行的中间变量一致,有效发现偶然性错误。
(3)中间变量的对决有一定的时间容差。
4 结束语
本文设计了一种基于1oo2D体系结构的安全PLC模型,给出了关键模块的结构图,并实现了主控制模块间的同步。本文所设计的系统具有高可靠性和可用性,适用于冶金,化工等对生产安全要求较高的领域。
参考文献
[1]宋岩,王天然.基于1oo2D体系结构的高可用安全仪表[J].信息与控制,2013(04).
[2]王明春.安全PLC系统[J].计算机应用,2000(04).
[3]黄涛,陈祥献,黄海.基于三取二冗余结构的安全计算机系统[J].计算机工程,2011(18).
作者单位
杭州电子科技大学计算机学院 浙江省杭州市 310018