基于CAN总线的模块化冗余PLC结构设计

2015-01-26 14:30贾甜
物联网技术 2015年1期
关键词:模块化

贾甜

摘 要:为了满足恶劣环境下计算机系统的高可靠性需求,将冗余技术结合到CAN总线模块的硬件设计与软件开发中,介绍其总体方案、硬件设计方法,给出了部分实现细节及设计流程。测试结果表明,此设计可成功实现CAN冗余模块在总线故障情况下的冗余切换,提高了设备可靠性。

关键词:双冗余;CAN;模块化;PLC

中图分类号:TP273                  文献标识码:A           文章编号:2095-1302(2015)01-00-02

0  引  言

冗余可编程工业控制器是一种新型的可编程工业控制器,在通用性,可靠性等方面比传统可编程工业控制器更有优势。在总结可编程工业控制器的基本结构,工作原理基础上,提出了一种基于ATMEL公司的ARM9微控制器AT91SAM9M10-G45的可编程工业控制器的设计方案。

1  CAN总线的发展及前景

CAN总线是德国BOSCH公司为解决汽车中众多的控制与测试仪器之间的数据交换而开发的串行数据通信协议。在多年的应用过程中,CAN以它卓越的特性、极高的可靠性在工业过程监控设备的互连方面得到广泛的应用。本测控系统采用 CAN总线作为分布式控制系统的网络通信部分,正是利用了CAN总线的实时性和可靠性的特点。CAN 总线是一种串行通信总线,传输介质可以为双绞线、同轴电缆和光纤。通信速率最高达到1 Mb/s,可挂接设备最多可达110个,支持点对点、一点对多点和全局广播的传输方式。

2  模块化PLC结构

模块化结构的可编程工业控制器将CPU模块、存储模块、I/O模块、电源模块、通讯模块的工作单元分别模块化。各个模块插在卡槽上用螺丝固定,各个模块之间用通信电缆连通,通过总线进行通信。模块化结构的可编程工业控制器配置比较灵活,需要哪些模块就配置哪些模块,目前大中型PLC都已经采用了这种结构。模块化的可编程工业控制器的结构框图如图1所示:

图1  系统总体框架

3  冗余PLC测控系统架构

硬件冗余的可编程工业控制器是通过系统硬件实现冗余所需的数据同步以及主备设备的切换。系统由主/备两套PLC系统组成。在系统启动阶段,主/备两个CPU模块、通信接口A和B、主/备I/O模块、主/备总线等冗余设备由手动设备其中的一个为主设备,另一个设备为备用设备。I/O模块与现场的仪表通过FAT模块进行数据通信。双PLC冗余测控系统架构如图2所示:

图2  双PLC冗余测控系统架构

4  模块化冗余PLC的架构

针对上述PLC整机冗余技术的特点,我们提出基于双CAN总线模块化冗余PLC设计,系统架构如图3所示。

整套冗余系统启动后,CPU模块首先进行冗余功能软件初始化。主/备CPU相互发出握手信号后,反馈给冗余模块,主CPU处于工作状态,备用CPU处于热备状态。主CPU将工作中的通信数据实时的备份给备用CPU。同时备用CPU不断检测主CPU的工作状态,一旦主CPU发生故障,主CPU就会发出一个错误的握手信号给备用CPU,备用CPU立即激活,备用CPU再瞬间无扰切换的主动状态接替主CPU的继续工作,同时发出一个备用CPU启动的信号给上位机,通知设备维护人员对先前的主CPU进线维护。主CPU执行读取输入数据、输出数据、拷贝冗余数据、分析状态等操作;备用CPU接受主CPU热备的冗余数据,只有当接替主CPU的工作时才会拥有主CPU的一切功能。

图3  双 CAN总线模块化冗余PLC结构

4.1  CPU模块结构设计

CPU模块是可编程工业控制器的核心。CPU处理器主要完成数据处理、运算与外设通讯等功能。AT91SAM9M10-G45芯片内部资源比较丰富,外围扩展接口也比较丰富。在本文所设计的可编程工业控制器中主要是利用该芯片扩展外部存储器、静态存储器、E2PROM、DDR2 SDRAM、电源控制单元、串行外设接口(SPI)、I/O控制器、定时器、以太网接口、USB接口、UART接口等。CPU模块硬件结构如图4所示。

图4  CPU模块硬件结构

4.2  双CAN总线I/O模块结构

I/O模块采用基于Microchip的dsPIC30F6014单片机开发设计。该单片机采用精简指令集(RISC),哈佛总线结构,流水线取指令方式,具有实用、低价、低功耗、功能和抗干扰能力强等优点。它内含12位A/D转换器(200 kS/s)、内部E2PROM存储器、比较输出、I2C和SPI接口、异步串行通信(USART)接口等,具有强大的数字信号处理能力。模块如图5所示。

图5  I/O模块结构图

5  结  语

本文在内核CPU硬件设计中核心处理器主芯片选用的是Atmel公司的AT91SAM9M10-G45的ARM9芯片,外部扩展了一片256 MB的NandFlash存储器和4片64 MB的DDR2 SDRAM存储器,本文研制的可编程工业控制器已经基本达到了预期的效果,运行结果表明该可编程工业控制器在技术上有一定的可靠性。

参考文献

[1]刘冲,付江梅.双重冗余PLC控制系统的可靠性与可用性研究[J].自动化与仪表,2010,31(9):44-46,53

[2]王黎明, 夏立, 邵英, 等. CAN 现场总线系统的设计与应用[M].北京: 电子工业出版社,2008.

[3]廖常初.S7-300PLC应用技术[M].北京:机械工业出版社,2008.

[4]黄中平.关于提高PLC程序可靠性的探讨[J].装备制造技术,2006(3):73-75.

[5]陆沉,郁梅.数据安全及双机容错解决方案[J].计算机研究应用,2000(2):51-62.

猜你喜欢
模块化
模块化自主水下机器人开发与应用
模块化住宅
ACP100模块化小型堆研发进展
模块化VS大型工厂