购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.5 ControlLogix PLC系统的控制器

1.基本介绍

在ControlLogix PLC系统中,控制器主要负责逻辑程序运行和数据交换工作。这在罗克韦尔早期的SLC500系列PLC中被称为处理器,两者的差别主要在于通信接口部分。SLC500系列PLC的处理器包括了各种各样的通信口,控制器的型号决定了其通信的形式。如果在实际工程应用中改变了通信网络类型,则可能要更换处理器。

ControlLogix控制器只保留了作为基本编程口的串行通信口,将其余的网络通信口分离成为独立的通信模块,通过背板实现它们的信息连接。这样,在实际工程应用中,如果要改变网络类型,建立新的网络,或者扩展同种类型的多个网络,都是很容易实现的,也降低了系统配置的成本。

ControlLogix控制器是PLC控制系统的核心模块,负责整个控制系统的工作,它读取主要来自于I/O模块、通信模块、其他控制器模块的相关数据,运行事先编写好的控制器功能程序,实现控制的全过程。控制器还为各种人机界面提供操作和监视数据,开放的、方便且自由的网络通道,使外部机器简捷而快速地访问控制器的内存,获取所需数据。

从应用上来说,ControlLogix控制器的硬件主要包括控制器的CPU和内存两大部件,它们的作用分别如下。

● CPU:共有两个,一个是逻辑CPU,主要负责逻辑控制和数据处理;一个是背板CPU,主要负责背板通信。

● 内存:可以分为基本内存和扩展内存,基本内存主要用来存储控制器与外部交换的通信数据,扩展内存主要存储用户的逻辑程序和内部数据。

CPU要完成的任务是执行代码的扫描和处理对外的数据交换。内存存储固定的数据信息,如执行代码、标签数据、I/O数据、I/O强制列表、RSLinx标签组列表、动态的信息缓冲区等。不同类型控制器的结构是不同的,其CPU执行的任务和内存存储的内容不同,它们之间的关系也不同,如图2-8所示。

img

图2-8 控制器CPU和内存结构图

(1)逻辑CPU

逻辑CPU专门负责用户程序的逻辑扫描和系统高层管理,执行应用程序代码,处理信息交换,访问逻辑和数据内存及I/O内存。

其逻辑扫描和系统管理是交替进行运用的,并占用不同的CPU运用的百分比值,可由用户根据运用情况自行定义。默认值是10%,即连续任务扫描时间占CPU运用时间的90%,系统高层管理占用CPU运用时间的10%。

在逻辑CPU进行逻辑扫描时,每当一个任务的所有程序扫描结束,就刷新一次输出数据。如果有太多次数的中断任务,影响到任务的正常执行时间,也可以通过选项设置,关闭某个任务的输出数据刷新。其实,输出数据的刷新,即控制器向输出模块传送数据,也是系统管理的一部分工作。在逻辑CPU进行系统管理时,使用的是片段时间,与连续任务的逻辑扫描交替进行,并不长时间占用。

逻辑CPU系统高层管理的内容主要包括:

● 操作系统的操作执行;

● MSG的信息处理;

● 串口通信;

● 连接信息的管理。

(2)背板CPU

背板CPU主要负责外部数据交换的操作,访问I/O内存。外部数据指的是控制器通过背板接收的外部设备的数据,或者是控制器通过背板发送给外部设备的数据。这既包括预定性数据I/O模块的交换数据、I/O强制数据表、控制器的Produced/Consumed数据交换,也包括非预定性数据缓冲区。这些外部数据都由背板CPU来进行管理,被放在作为数据缓冲区的基本内存单元。

背板CPU的优先级别比逻辑CPU更高。当背板CPU有新的外来数据要刷新基本内存的数据缓冲区时,可以中断逻辑CPU正在进行的数据通信,先刷新数据缓冲区。

这两个CPU是相互独立工作的,所以程序扫描和I/O刷新是不同步的。

控制器的内存中总有一部分是用做信息缓冲区的,存储动态连接信息,作为系统运行时信息交换的临时存储区。主要存储的信息包括:

● 信息处理过程的进出队列;

● RSLinx数据处理的标签组;

● 在线编辑时的临时存储;

● 趋势图的数据缓冲区。

2.控制器的型号分类及主要技术参数

ControlLogix系列PLC的型号分类及主要技术参数如表2-2所示。

表2-2 ControlLogix系列PLC的型号分类及主要技术参数

img
3.控制器面板

ControlLogix系列PLC控制器如图2-9所示。其前面板上有一些与操作及状态显示有关的模式选择开关和LED(发光二极管)状态/故障显示灯。

图2-9的说明如下。

(1)状态指示灯

控制器面板上的状态指示灯可以直观地显示控制器一些重要的状态信息,用户在不使用编程终端的情况下,也能了解控制器的工作情况。状态指示灯的含义如下。

● RUN:表示控制器在运行状态。

- 灯熄灭:表示控制器在未运行状态。

- 绿灯常亮:表示控制器在运行模式,且正常运行。

img

图2-9 ControlLogix系列PLC控制器

● I/O:表示控制器所属I/O模块的状态。

― 灯熄灭:表示控制器的项目中没有组态I/O模块或控制器中没有可执行的程序。

- 绿灯常亮:表示所有的I/O模块工作正常。

- 绿灯闪烁:表示至少有一个I/O模块没有响应控制器。

- 红灯闪烁:表示没有任何一个I/O模块响应控制器,可能是机架出现故障。

● FORCE:表示强制状态。

- 灯熄灭:表示无强制状态。

- 黄色灯闪烁:表示设置强制状态,但未使能,强制不起作用。

- 黄色灯常亮:表示设置强制状态,且强制使能,已开始执行强制。

● RS232:表示串口通信状态。

- 灯熄灭:表示串口没有通信,或没有建立起通信。

- 绿色灯快速闪烁:表示正在进行串口通信。

● OK:表示控制状态。

- 灯熄灭:表示控制器未上电。

- 绿灯常亮:表示控制器工作正常。

- 绿灯闪烁:表示控制器正在将项目存入闪存或从闪存读出程序。

- 红灯闪烁:表示内存没有程序,新控制器是此状态。

- 红灯常亮:表示控制器检测到不可修复的故障。

● BAT:表示锂电池报警状态。

- 灯熄灭:表示电池正常。

- 红灯亮:表示没有电池或电池电压偏低。

(2)钥匙开关

钥匙开关可以选择控制器的本地工作状态,共有3个选择挡位。

● RUN挡位:控制器在本地工作运行,编程终端不能改变控制器的工作状态,此时程序不能被修改。在控制系统的实际运行中,为保证控制器程序不被意外地修改,通常会选择此挡位。

● PRO挡位:控制器工作在本地编程状态,编程终端可以对控制器程序进行修改,但不能改变控制器的工作状态。

● REM挡位:控制器工作在远程状态,编程终端可远程改变控制器的工作状态,传送控制指令。

(3)通信串口

控制器的通信串口主要用于在编程时传输应用程序的。但是,一般情况下,很少用串口传输程序,因为串口的传输速度较慢。串口连接的长度通常不超过15.2m。串口的连接方式如图2-10所示。

img

图2-10 ControlLogix控制器串口通信连接图

(4)控制器结构

ControlLogix控制器的结构如图2-11所示。

img

图2-11 ControlLogix控制器结构

4.控制器内存结构

按照物理性能,存储器分为随机存储器(RAM)和只读存储器(ROM)。

随机存储器(RAM)由一系列寄存器阵列组成。这种存储器可以进行读、写操作。若断开电源,状态丢失。它主要用来存储输入/输出状态,计数、计时及系统组态参数。采用后备电池进行数据保护(称为可保持的存储器),防止断电后数据丢失。

只读存储器(ROM)有两种,一种是不可擦除ROM,这种存储器只能写入一次,不能改写;另一种是可擦除EPROM和EEPROM,这种存储器擦除后还可以重写。其中EPROM只能用紫外线擦除内部信息,EEPROM则可用电擦除内部信息。只读存储器主要用来存储程序。

Flash EPROM(即FEROM)称为保持存储器,它是非挥发的RAM,即使没有安装后备电池,也可以用来保存位存储器、定时器、计数器等。

ControlLogix系列PLC控制器的内存主要分为基本内存和扩展内存,且所有内存元件均在电路板上,不需要配置额外的芯片。这两个内存存放的内容是不同的,它们和CPU的关系也是不一样的。背板CPU和逻辑CPU都会访问基本内存,而只有逻辑CPU才访问扩展内存。

(1)基本内存

基本内存长度固定,存储来自背板、控制器与外部设备通信的交换数据,主要包括:

● 初始化操作系统用的43KB。

● I/O模块交换数据。这是建立I/O模块时产生的模块结构数据。

● I/O强制数据表。这是建立I/O模块时产生的列表。

● Produced/Consumed标签交换数据。这是建立Produced/Consumed标签产生的。

● 信息数据缓冲区。这是各种信息交流活动极为活跃的动态区域。

来自背板的外部信息,如I/O模块和Produced/Consumed 标签,这些预定性的数据直接存储在基本内存中。逻辑程序涉及相关数据时,才到基本内存区读取。I/O强制数据表是在I/O模块交换数据时加入的,所以强制数据表也存储在基本内存中。信息数据缓冲区可以分为非连接数据缓冲区(Unconnected Buffers)和存储数据缓冲区(Cache Buffers),是各种外部信息的临时存储区。当控制器的连接管理接收或发送了信息后,缓冲区便自动释放。

(2)扩展内存

扩展内存是用户根据实际需求,选择不同容量的内存,存储用户程序、内部数据、RSLinx直接访问的数据等,主要包括:

● 用户程序源代码。用户编写的梯形图等程序,下载到控制器后编译成源代码存储。

● 标签数据表。用户在全局数据区和程序数据区创建的标签,并被引用到程序中。

● RSLinx数据组。RSLinx访问控制器的数据组,大部分是通过人机界面带来的数据。

在实际工程开发应用前,需要对内存进行估算。根据典型应用,一般情况是:

● 控制器每个任务占用4 000B。

● 离散量I/O每个点占用400B。

● 模拟量I/O每个点占用2 600B。

● DeviceNet模块,第一块占用7 400B,每增加一个模块,内存增加占用5 800B。

● 其他每个通信模块占用2 000B。

RSLinx访问的通信管理也要占用一些内存空间,主要包括:

● RSLinx通信管理的每个连接占用1 345B。

● RSLinx通信管理的每个独立标签占用45B。

● RSLinx通信管理中的数组或数据结构的每个标签占用7B。

5.控制器的连接容量

控制器对外的数据交换统称为信息的连接,也就是通常所说的PLC可以带I/O的能力,分为静态连接和动态连接两种。静态连接通常是预定性数据,如I/O数据、控制器Produce/Consume数据、通信数据等;动态连接通常是非预定性数据,如MSG传送的数据、人机界面传送的数据等。一个ControlLogix控制器的最大可连接容量为250个,通常占用连接情况如下:

● 本地机架中的I/O模块,每块占用1个连接。

● 远程机架中非离散量模块各占用1个连接。

● 远程机架非优化离散量模块各占1个连接。

● 远程同一个机架所有的优化离散量模块共占1个连接。

● 每块DH/RIO模块占用1个连接。

● 每块DNB模块占用2个连接。

● 每个RIO 的适配器占用1个连接。

● 每个Produce占用1个连接,对应Produce Tag外部每一个Consume Tag占用1个连接。

● 控制器中的每一个Consume Tag占用1个连接。

● 每条MSG指令占用1个连接,可以通过取消MSG指令中的Cache Connection功能来释放非执行中的MSG连接。

6.通信数据的同步机制

由于ControlLogix PLC共有两个CPU,对于I/O数据和控制器之间的Produced/Consumed标签,逻辑CPU和背板CPU将使用共同的内存区域,即基本内存区域。背板CPU将交换的I/O数据和Produced/Consumed标签放在基本内存区域。逻辑CPU在执行程序使用到I/O地址时,也会访问同一内存区。逻辑CPU和背板CPU是相互独立工作的,背板CPU的优先级高于逻辑CPU。背板CPU可以中断正在访问基本内存区域的逻辑CPU,以刷新数据,如图2-12所示。

img

图2-12 逻辑CPU和背板CPU共同访问基本内存区域

在应用中,Produced/Consumed标签通常都是较大的数据标签,当控制器以32位为基本单位进行数据操作时,如果大于32位的标签被操作,则数据操作一次不能完成,需要多次的操作。如果逻辑CPU正在读取一个大于32位的标签值,例如,正在调用COP指令,标签的新数据到达,背板CPU 将中断正在执行COP操作的逻辑CPU,刷新标签数据,等待背板CPU操作完成,标签的内存单元又交还给逻辑CPU继续使用时,逻辑CPU接下去完成刚才未执行完的COP指令操作。这时,如果后继指令使用到COP指令的操作结果,就有可能出现标签值新旧数据混乱的现象。如果PLC控制系统要得到完整一致的同步数据,解决的办法是使用同步复制CPS指令,建立缓冲I/O数据。CPS指令具有中断管理功能,并且CPS指令具有更高的优先级别,背板CPU不能中断CPS指令的执行,CPS指令可以不理睬背板CPU,将数据完整地复制到内部数据区域,再把基本内存区释放给背板CPU使用。这样就保证了通信数据的完整同步。 wNW91NC08uyDhbtweHIg/JjNwSahABpyBYmS0GOnvpxC/tC6m9Ok+lGE8p2HC5Ox

点击中间区域
呼出菜单
上一章
目录
下一章
×