1主要模块结构
图2是安全PLC的一个主控制模块的结构图,一个主控制模块主要由MCU系统和FPGA系统及安全电路组成。MCU系统完成控制功能,FPGA系统完成和安全电路共同完成安全功能。安全电路主要完成对于FPGA和电源的监控,安全输出模块输出节点的切换。交互信号主要作用利用FPGA对CPU进行定时器,中断,内存等功能进行检测。主模块间,主从模块间的通信是通过BLVDS接口与FPGA构成的背板模块完成的,都是经过磁隔离。
2主控制模块间同步的实现
1oo2D系统结构在1oo1D的基础上并连成的,互为冗余。控制程序的运行是时变过程,硬件冗余技术只能做到空间冗余,需要使用相应的软件技术来保证两个冗余模块的同步运行系统采用的是任务级同步的方式。
每次循环开始执行时,MCU生成16位的时间戳,然后以报文的形式发送给对应的FPGA。两块FPGA获得各自的时间戳同户程序运行到输出数据发送给FPGA之前,将最后发送一次完成报文给FPGA。此报文的作用为告知FPGA此次循环已结束。在时间戳报文和本结束报文之间发送的同步报文是属于这次循环。此同步方式如下优点:
(1)保证同步开始循环执行用户程序。
(2)保证程序运行的中间变量一致,有效发现偶然性错误。
(3)中间变量的对决有一定的时间容差。
3结束语
本文设计了一种基于1oo2D体系结构的安全PLC模型,给出了关键模块的结构图,并实现了主控制模块间的同步。本文所设计的系统具有高可靠性和可用性,适用于冶金,化工等对生产安全要求较高的领域。
作者:林通 严义