企业: | 控制网 | 日期: | 2004-07-07 |
---|---|---|---|
领域: | PLC&PAC | 点击数: | 1623 |
田大海,黄允凯,林鹤云
1 引言 可编程逻辑控制器(PLC)作为工业自动化的核心设备,在港口、环保、机械加工、冶金和电力等重要工业领域的应用愈来愈广泛,其系统的高可靠性通常通过冗余控制设计来实现。 本文采用Rockwell Automation的新一代控制器ControlLogix5550作为主控制器,设计了一个冗余控制系统。该系统具有较强的容错功能,当出现某些故障时,系统仍能执行规定的任务,并且执行结果也不会因系统中的各种故障而产生差错。文中详细介绍了系统结构、冗余设计思路和冗余实现过程,对于重要工业控制场合的冗余控制设计具有一定的指导意义。 2 ControlLogix5550控制器与系统结构 2.1 ControlLogix5550控制简介 ControlLogix是新一代PLC产品,其强大的网络组态功能为EtherNet/DeviceNet/DH+/Remote I/O/DF1等多种网络的互相连接提供了极大的方便,它把这些网络的扫描模块集中到同一架构的不同插槽上,并由一台控制器来统一管理,不同网络中的节点地址由不同网络的扫描模块来决定,可以手动设定。ControlLogix控制器模块1756-L1是一个32位的控制器。 2.2 系统结构 系统全部采用Rockwell Automation公司的软硬件,硬件包括两台ControlLogix5550控制器、控制开关、1305变频器以及DeviceNet及ControlNet接口适配器。软件有组态软件RSLinx 和RSNetworx,以及对ControlLogix5550进行编程的RSLogix5000。在连接好网络之后,使用上述软件对DeviceNet下的设备网设备进行组态,然后进行编程调试,即可完成对系统的实现。 系统采用了CPU冗余的实现方案,即由两个CPU同时控制被控对象,两台控制器分别监视对方的工作状态,以便在需要的时候迅速做出切换。系统中的被控对象主要是以三相异步电动机为负载的1305变频调速器。由于程序的不稳定性,CPU运行错误造成故障的可能性要远比由硬件损坏造成故障的可能性要大,因而本例中采用双PLC单总线的结构,两台控制器均为ControlLogix5550,以下简称PLC1和PLC2,在编程时对两台控制器分别写入程序,两台控制器中的程序是完全对称的。参照图1,以节点14的控制开关控制终端的起停,节点06、60代表两台PLC,节点17是驱动三相异步电动机的变频调速器AC Driver 1305。
扫描模块1756-DNB是设备与控制器ControlLogix5550之间的通信接口。它通过网络与DeviceNet的现场设备进行通信,即从设备读入数据、输出数据到设备、下载组态数据和监视设备的运行状态。 工作时,1756-DNB以一定的方式依次扫描各个设备,对其参数进行采集,并将采集到的数据映射到扫描器中与扫描方式相对应的数据缓冲区,再转换成ControlLogix5550能接受的数据格式供控制器读取,这样就可以将现场总线中各设备的实时信息反馈到控制器,以便根据程序做出相应的反应。数据经ControlLogix5550处理之后,送到扫描器的与扫描方式相对应的输出数据缓冲区,转换为各设备可以接受的数据格式,输出到各设备,从而对其工作进行控制。由此可见,PLC控制器只需要读入、输出规定格式的数据,专门负责数据处理;而数据的采集、发送、缓冲和格式转换由扫描器完成,ControlLogix5550和1756-DNB并行工作也使得控制器的输出对输入的响应时间缩短,有利于实现实时闭环控制。这样即便是像PID指令这种对实时性要求较高的操作也可以收到良好的效果。 3 冗余控制的实现 3.1 设计思想 系统控制对象是工业现场的电机,也可以是其它有较高可靠性要求的工业控制设备,冗余的实现方式是同时采用两台控制器ControlLogix5550,其中一台为主机,另一台作为系统的备份,为副机,正常情况下由主机控制整个系统,副机保持与主机通讯,监控主机的运行状态。当副机监视到主机的运行故障的时候,立即运行切换程序,将控制权转到副机,而当主机的故障恢复之后,则控制权重新交还给主机。 3.2 系统监控功能 该功能由一个脉冲发生程序,以及一个脉冲接收程序实现。脉冲发生电路产生“心跳线”信号,由ControlLogix5550内部自带的计时器构成,周期0.2秒,接收端的I槽负责接收来自对方机器的“心跳线”信号,故障判断程序由计数器和计时器组成,计时器的设定时间比接收到规定数目脉冲的时间要长,这样,在脉冲被正常发送、接收的时候错误信号是不会被触发的,只有当一定时间内没有收到规定数量的脉冲信号时,计时器的完成位DN信号就触发输出错误信号,给对方接收。在程序中可设定当某台机器接收到来自对方机器的本机发生错误的信号时,就立即完成一次控制权的更迭。计时器的各控制位的含义及阶梯条件见表1。
4 编程和调试 4.1 两台ControlLogix5550控制器间的通讯 这一部分由三个计时器以及一个计数器组成,其中两个计时器配合使用可以使PLC2产生该冗余系统中必须的心跳线信号,作为监测PLC1工作状态的基准信号。另外的一个计时器和一个计数器配合使用判断PLC1的工作状态。 输入输出位: Local:I.data[2]:接收对方的心跳信号; Local:O.data[2]:当检测到对方机器工作状态出现问题的时候触发; Local:O.data[1]:输出本机发生的脉冲信号。 监控原理: (1) 脉冲发生部分 首先,当PLC2的Master-ID为1之后,即表示PLC2是从机状态,计时器Timer0被启动,然后它以0.1s的周期进行循环记时操作,当计时到位的时候,用它的DN信号触发b.1,即整数文件b的第一位,作为计时器Timer1的使能信号,它是一个计时周期同样也是0.1s的计时器,在这段时间之内用Timer3/TT信号取非来锁住Timer0计时器,使其停止工作,因为控制器Output模块1746-OB16的Local:O.data[1]位输出的是Timer1/TT信号,它总是以0.1s为时间间隔交替出现高低电平,因此将该信号输出,即可得到以0.2s为周期的脉冲方波信号。如图2所示,Timer0和Timer1交替出现高电平。 (2) 脉冲检测部分 当计时器Timer1完成第一次计时操作后,也即在PLC2发出第一个脉冲的时候,Timer1/DN对计时器Timer2的使能信号b.8进行一次置1操作,这时Timer2开始计时,它的预置计时值设为4秒。同时计数器Counter0开始对它收到的PLC1的脉冲个数进行计数,设它的计数预置值为5,因为它所接收的脉冲周期为0.2秒,即在1秒内它应该完成一次计数操作。计数器的计数到位信号Counter0/DN在其完成一次计数操作之后,自动复位计时器Timer2的使能信号b.8,则在系统正常工作的情况下b.8应该每一秒钟被置位一次,其计时到位信号Timer2/DN只有在PLC1出现不正常工作状态的时候才会出现置位,所以该信号可作为指示对方PLC不正常工作状态的信号。 4.2 PLC控制权切换子程序 该程序的主要功能就是将监控中发现的另一台PLC运行出错的信号进行输出,当超过规定时间后,PLC2仍然没有收到足够个数的脉冲。则Timer2/DN信号置位,表明PLC2监测到PLC1工作状态出现了问题,这时候Timer2/DN将触发另一个计时器Timer3的使能信号b.6完成一次0.4s的计时过程,并将此次计时的Timer3/TT信号作为一个高电平信号输出,这就是PLC1 收到的Local:I.data[4]信号。 如果一台PLC控制输入输出模块的扫描周期远长于Timer3/DN信号的高电平状态维持时间,则对方PLC无法读入脉冲信号,此时可以换用Timer3/TT信号进行输出。 5 运行结果 将其中一台ControlLogix控制器断电,经过若干脉冲后,另一台控制器在设定的时间内启动,负载电机顺利过渡到副机控制,通过波形分析可知,在这个过渡过程中,电机抖动在合理的范围内。 |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
1.我有以下需求: | |
|
|
2.详细的需求: | |
* | |
姓名: | * |
单位: | |
电话: | * |
邮件: | * |