第二章ControlLogix控制器概要.docx
《第二章ControlLogix控制器概要.docx》由会员分享,可在线阅读,更多相关《第二章ControlLogix控制器概要.docx(54页珍藏版)》请在冰豆网上搜索。
第二章ControlLogix控制器概要
第二章ControlLogix控制器
本章内容:
控制器的程序构造、数据构造、CPU、内存、容量的议论。
本章目的:
详细认识控制器程序言件的构造和调用关系;详细认识控制器数据
文件的种类和定义构造方式;;认识CPU的工作过程,认识内存的
运用分派,认识容量的内容和含义。
在ControlLogix系统中,主管逻辑程序运转及数据互换工作的模块被称为控制器,而在传统的可编程序控制器PLC5/SLC500则被称为办理器,二者的差异在于通信接口部分。
PLC5/SLC500的办理器包含了它们的各种各种的通信口,几
乎所有的通信都是经过办理器对外,入选定了控制器的型号,也就决定了通信的形式,一旦要改变通信网络,就一定改换办理器,用户在为某些通信口买下特定型号的办理器的同时,有可能也买下了自己不需要的通信口,此外,要扩展网络或增添不同的网络是特别困难或不行能的。
ControlLogix控制器只保存了作为基本编程口的串口,分别了所有的网络通信口,使之成为独立的通信模块,经过背板实现它们的信息连结,进而,改变网络种类,扩展新的网络,成立同种种类的多个网络,都是特别简单实现的,系统配置的价钱也变得合理。
ControlLogix控制器是控制系统的核心模块,负责控制系统的控制工作,它采集与之有关的数据,主假如来自于I/O模块、通信模块、其余控制器模块的数据,运转早先编制好的控制器功能程序,实现控制的全过程;控制器还为各种人机界面供应操作和监督数据,开放的、方便而自由的网络通道,使外面机器简捷而迅速地接见控制器的内存,获取所需数据。
从应用上来说,ControlLogix控制器的主要硬件包含了CPU和内存两大零件,它们分其余作用是:
CPU共有两个,一个称为逻辑CPU,主管逻辑控制和数据办理;一个称为背板CPU,主管背板通信。
内存分为基本内存和扩展内存,基本内存用来寄存控制器与外面互换的通信数据,扩展内存寄存用户的逻辑程序和内部数据。
要正确地使用控制器和精准地编写程序,就要认识CPU和内存的运用状况,
ControlLogix控制器的内存分派和CPU运用是比较复杂的,这些将在第九章ControlLogix系统设计规划中有详细的议论。
ControlLogix控制器没有任何诸如跳线或组合开关的硬件设置,外面看来十分简短,固然组态和状态信息比传统的控制器要复杂丰富得多,但都是软件来完
成的,改正组态和监督状态特别方便。
一.控制器面板介绍
控制器面板较之传统的可编程序控制器的办理器,已经是简单多了,它没有了众多的通信口及通信状态灯,只有与控制有关的钥匙开关和状态指示灯。
1.状态指示灯
控制器面板上的状态指示灯直观地显示了控制器的一些重要的状态信息,用
户在不使用编程终端地状况下,也能认识控制器的工作状况。
状态指示灯的含义以下:
RUN
程序运转状态
-熄灭控制器在程序模式。
-绿灯常亮控制器在运转模式,正常运转。
I/O控制器所属I/O模块的状态
―熄灭控制器的项目中没有组态I/O模块或控制器中没有程序。
-绿灯常亮所有的I/O模块工作正常。
-绿灯闪耀起码有一个I/O模块没响应控制器。
-红灯闪耀没有任何一个I/O模块响应控制器,可能框
架有问题。
FORCE强迫状态
-熄灭无强迫状态
-黄色闪耀强迫被设置,但未使能,强迫不起作用。
-黄色常亮强迫使能,强迫开始起作用。
RS232串口通信状态
-熄灭串口没有通信,或没有成立起通信。
-绿色迅速闪耀串口通信正在进行。
OK
-熄灭控制器未上电。
-绿灯常亮控制器工作正常。
-绿灯闪耀控制器正在将项目存入闪存或从闪存读出程序。
-红灯闪耀内存没有程序,新控制器应当是此状态,或正在更新
Firmware版本。
-红灯常亮控制器故障状态,需要清除故障。
BAT锂电池报警状态
-熄灭电池正常。
-红灯亮,没有电池或电池电压偏低。
状态指示灯会因控制器种类不同而异,但指示灯状态的含义是相同的。
2.钥匙开关
钥匙开关是用硬件来决定控制器的工作状态,又称为当地工作状态,它一共有三个选择档位:
RUN选择此档,令控制器工作在当地运转,编程终端不可以改变控制
器的工作状态。
此时程序不可以被改正,适用中,为保证控制器程序不被不测处改正,会选择此档并拔离钥匙。
PRO选择此档,令控制器工作在当地编程,编程终端能够对控制器程序进行改正,但不可以改变控制器的工作状态
REM选择此档,令控制器处在远程状态,编程终端可远程地改变
控制器的工作状态(编程、测试或运转),并可在远程运转状态下改正程序,修悔过程比编程状态下更慎重而烦杂,必定要经历测试的步骤,这类情况合适不可以停机的程序改正。
3.锂电池
用于保护内存的锂电池在面板处安装,意味着要在控制器所在框架不停电的状况下改换电池,不然有可能造成内存丢掉,不行将控制器拔离框架改换电池,习惯使用SLC500的人,有可能犯这样的错误。
对于电池的寿命,请参照选型手册。
4.串口
控制器的串口,主假如用来编程的,也可经过背板抵达任何网络,当整
个控制系统正常工作,各个网络的数据传递都在繁忙中,建议使用串口来下载或
上载程序,ControlNet和EtherNet在网络数据传递繁忙时,会把编程软件的接见压在最后,常常致使下载或上载的操作失败。
串口的用法有4种组态,它的出厂设置是DF1即编程口,当串口连结有问题时,可让控制器所有失电数分钟(拔离框架或令框架断电并移去电池),以此
来恢复缺省值,但牢记控制器内存的程序亦会丢掉,要确认已备有磁盘程序方可有此举。
二.控制器内存的运用
控制器内存寄存的信息是多种的,就应用的角度来看,只要议论基本内存和
扩展内存,这两个内存寄存的内容是不相同的,它们和CPU的关系也不相同,
基本内存背板CPU和逻辑CPU都会接见,扩展内存只有逻辑CPU接见。
1.基本内存
基本内存是固定的160K字节(1756-L1)或750字节(1756-L55)的内存,寄存的是来自背板的,控制器跟外面设施通信的互换数据,它们包含了:
I/O模块互换数据成立I/O模块时产生的模块构造数据。
I/O强迫数据表成立I/O模块时产生的列表。
Produced/Consumed标签互换数据成立Produced/Consumed标签产生。
信息数据缓冲区各种信息沟通活动的极为活跃的动向地区。
凡是来自背板的信息,都是外面的信息,像I/O模块和Produced/Consumed标签这些预约性的数据就直接寄存在基本内存中,只有在逻辑程序波及到时才到基本内存区取用;I/O强迫是在I/O模块互换数据时加入的,所以强迫数据表也放在一同;信息数据缓冲区的状况则比较复杂,它分为非连结缓冲区(UnconnectedBuffers)和储蓄缓冲区(CacheBuffers),是各种各种外来信息的暂时栖息地带,一旦控制器的连结收理接受或发出了信息,缓冲区便开释,等候下一拨的信息到来。
2.扩展内存
扩展内存是用户依据需求选择512K、1M、或2M(1756-L1)、3.5M或
(1756-L55)不同容量的内存,寄存的是用户程序和内部数据,以及人机界面或RSLinx直接接见的数据,它们包含了:
用户程序原代码用户编写的梯形图等程序,下载到控制器后编译成原代码寄存。
标签数据表用户在全局数据区和程序数据区创立的标签,并被引用到程序中。
RSLinx数据组RSLinx接见控制器的数据组,多是人机界面捆绑而来的数据
三.控制器CPU的运用
控制器有两个CPU同时工作,分别称为背板CPU和逻辑CPU,它们担负着不同的工作,运转是相互独立的,却又密切关系的。
1.背板CPU
背板CPU负责外面数据互换的操作,外面数据指的是控制器经过背板发送
给外面设施的数据,或许是控制器经过背板接受的外面设施的数据,它既包含预约性数据I/O模块的互换数据,I/O强迫数据表,控制器的Produced/Cosumed数据互换;也包含非预约性数据缓冲区。
这些外面数据都由背板CPU来进行管理,被放在作为数据缓冲区的基本内存单元。
背板CPU有比逻辑CPU更高的优先级别,当背板CPU有新的外来数据要刷新数据缓冲区(基本内存)时,它能够中止逻辑CPU正在进行的数据通信,率先刷新数据缓冲区,这可能使得一些多于
32位的标签发生新旧数据混和的状况,假如逻辑CPU被中止的正是较大数据块
的通信的话。
2.逻辑CPU
逻辑CPU特意负责用户程序的逻辑扫描和系统管理。
这两部分工作,在CPU的时间运用上,是交替进行的,并占用不同的CPU运用的百分比值,可由用户依据运用状况自行定义。
缺省值是10%,即连续任务扫描时间占CPU运用时间的90%,系统管理占用CPU运用时间的10%。
逻辑CPU进行逻辑扫描时,每当一个任务的所有的程序扫描结束,便进行
一次输出数据的刷新,假如中止任务次数太多,影响就任务的履行时间,也能够令某个任务的输出数据的刷新被封闭(选项设置)。
其实,输出数据的刷新,即
控制器向输出模块传递数据,这也是系统管理工作的一部分。
在逻辑
CPU
进行
系统管理时,用的是片段时间,它与连续任务的逻辑扫描交替进行着,
间占用。
逻辑CPU的系统管理的内容包含:
其实不长时
操作系统的操作
MSG的信息办理
串口的通信
连结的管理
编程终端的支持
对于信息通信的管理,有以下原则可按照:
信息通信,即除了预约性数据的通信以外的通信。
系统管理时间在准时中止和事件中止任务不运转时才能进行,中止任务的调用要留有足够的时间去做信息通信。
系统管理时间只好中止连续任务。
信息通信时间每次不超出1ms,便转去履行连续任务。
3.保证通信数据的完好
对于I/O数据和控制器之间的用共同的内存区,即基本内存区,Consumed标签放在该内存区,逻辑
Produced/Consumed标签,这两个CPU将使背板CPU将互换的I/O数据和Produced/CPU接见同一内存区。
控制器的数据操作以32位为基本单位,当大于32位的标签被操作时,则不只一次来达成,Produced/Consumed标签往常都是较大的数据标签,需要多次的操作。
假如逻辑CPU正在取用一个大于32位的标签值,比方说正使用COP指令,标签的新的数据抵达,背板CPU将中止正在履行COP操作的逻辑CPU,刷新标签的数据,待背板CPU操作完成,标签的内存单元又还给逻辑CPU持续使用,逻辑CPU接下去达成方才未达成的COP操作,假设后边指令使用COP的结果,就有可能使用一个新旧信息混淆的标签值,假如系统不可以容忍这类状况出现,就一定获取完好的数据。
解决的方法是使用同步拷贝指令CPS,CPS拥有中止管理功能,背板CPU不可以中止CPS指令的履行,CPS能够不搭理背板CPU,将数据完好地拷贝到内部数据地区;
四.控制器程序言件的构造
ControlLogix控制器(一个项目)的用户程序言件由三层构造构成。
第一层
由任务(Task)构成,每一个项目最多能够定义32个任务(CompactLogix控制
器、FlexLogix控制器和DriveLogix控制器为8个任务),它们将决定逻辑程
序的履行次序和履行时间;第二层由程序(Program)构成,在每个任务下最多
可定义32个程序,每个程序拥有自己独立的数据地区和众多的子程序;第三层由子程序(Routine)构成,是真实的履行程序,一般为梯形图程序,可定义的个数由控制器的内存决定。
Logix5000Controller
SystemTask
Program
MotionTask
Program
FaultTask
Program
UserTask
UserTask
Program
UserTask
Program
Configuration
Configuration
Configuration
Program
Status
Status
MainRoutine
Status
Password
LocalData
Password
Watchdog
I/OData
array[x]
subroutine
subroutine
subroutine
--||------()--
subroutine
--||------()--
floa
--||------()--
GlobalData
--||------()--
intstruc
图2-1
1.任务
任务分为连续型、周期型和事件触发型三种履行种类,每个项目的
32个任
务(或8个任务)中能够定义一个且只好定义一个连续型的任务,其余均为周期型或事件触发型任务。
连续型任务指的是循环往复履行的任务。
周期型任务指的是准时中止履行的逻辑程序,周期性的履行任务,须定义周期时间。
事件触发型任务指的是事件触发惹起的任务调用,事件触发能够是外
部输入点变化惹起(好像PLC5/SLC),也能够由ConsunedTag惹起或直接指令调用惹起,还能够由运动控制状态惹起。
周期型任务要指定履行的周期时间和中止优先级别,中止级别低的任务将被
中止级别高的任务中止,中止级别共有15个(序号1-15),序号越低中止级别越高。
连续型任务是连续不停履行的逻辑程序,也能够以为是中止级别最低的任务。
事件触发型任务要定义触发事件,相同也要定义中止优先级别,此中止规则和周期型任务相同。
事件触发型任务与周期型任务一同鉴别中止,可相互中止。
每个任务可自行设置看门狗时间,以监督本程序的履行,当程序运转时间超出看门狗时间(比如出现程序死循环),即报告故障。
比如,在一个项目中有1个事件触发型任务1个周期型任务和1个连续型任
务。
表2-1
任务
任务种类
中止级别
履行时间
1
事件触发型
5
2ms
2
10ms周期型
10
4ms
3连续型无(最低)24ms
履行状况:
任务履行
任务中止
任务1
任务2
任务3
5101520253035404550
时间单位ms
图
2-2
注意:
所有的周期型任务和事件触发型任务都能够中止连续型任务。
高优先权任务中止所有的低优先权任务。
高优先权任务可多次中止低优先权任务。
相同级优先权的任务同时触发时各轮番履行1ms,交互进行。
当连续型任务达成所有扫描时,立刻从头开始新的一轮扫描。
2.程序
程序是任务下的组织构造,由一个数据库和多个子程序构成。
每个程序都拥有一个独立的数据库,在这个数据库成立的数据标签只好被本程序内的子程序引用,且都是内部数据,换言之,每个子程序只好引用本程序的数据库和控制器数据库,不可以引用其余程序的数据库。
每个程序中一定指定一个子程序为主控程序,作为本程序运转的启动程序,每个程序中还能够指定一个故障办理子程序,以解决本程序内任何子程序运转时而惹起的故障,其余的子程序均由主控程序中的调子程序指令(JSR)调用。
未预约程序(UnscheduledPrograms)中寄存备用或暂不运转的程序,这些程序在项当今载时,会下载到控制器中,但不会履行。
注意:
故障办理子程序一般用来编写除去故障的恢复程序,在本程序内因为指令履行产生的错误,或本程序引用的I/O连结故障,都有可能惹起停机,定义的故障办理子程序是停机以前要调用的子程序,如能在这个子程序中除去可恢复故障的错误代码,便可防止停机。
主控程序和故障子程序均可从头被指定。
在一个程序里定义的子程序能够再分派到此外一个程序中去。
采纳JSR指令调用子程序,能够带入和带出参数,也能够不带任何参数。
3.子程序
子程序是真实的履行程序,所有的控制都被编写在子程序中,子程序的编写有梯形图,次序功能流程图,文本和功能块4种编程模式。
不同种类的控制器可使用的编程模式也不同,如表2-2所示:
表2-2
控制
器
编程模式
类型
梯形图
次序功能流程图
语句构造
功能块
ControlLogix
SoftLogix
CompactLogix
FlexLogix
DriveLogix
注意:
梯形图是最常采纳的编程模式,是由梯级构成的程序构造,每个梯级则由输入指令和输出指令构成。
丰富的指令系统知足面对生产过程的次序控制要求、数据办理和对外信息互换。
次序功能流程图其实是编写步的履行次序构造,步和变换条件是履行的基本单元,可选分支(选择履行)、并行分支(同时履行)或跳转等搭成履行构造,即履行流程图,所以,次序功能流程图实质上不过一个构造,而并不是真实的编程内容,它的步和变换条件常常是梯形图程序。
文本编程是ASCII输入方式编写的程序,用语句来描绘逻辑关系,是软件开发人员简单接受的一种编程方式。
功能块编程只对应过程控制,是引入的DCS系统的仪表控制组态方式,由功能块之间的连结成立程序构造,并进行参数设置,每个功能块都能够达成特定的功能,并有自己专用的构造数据。
4.控制器的故障程序和上电程序
独立于任务以外的两个特别的控制器程序故障程序和上电程序,它们担负着
特别的工作。
故障程序当控制器发生主要故障而惹起停机以前调用的程序,一般
状况下,用于编写有序的泊车和可恢复故障的除去,用以减少停机次
数,提升系统的靠谱性。
上电程序只有在控制器处在RUN状态下,上电时才履行一次,可
用于上电时初始化的一些操作。
但有很多控制器进入运转后数据初始
化的一次性操作,更多的是用特别的重点字符S:
FS作为级条件来完
成,好像PLC5/SLC中的S:
1/15地点的运用。
和其余程序相同,故障程序和上电程序也拥有独立的数据库和多个子程序,也有主控程序和故障子程序的定义。
五.控制器数据文件的构造
1.控制器的数据地区
ControlLogix系统的控制器中成立的数据库分为全局数据地区和程序数据区
域。
这两个数据地区的数据引用范围是不相同的,因为地区的区分,能够使得按
生产过程和程序功能分类的数据在查问和运用上更加清楚和方便。
全局数据地区又称控制器数据地区,它含有所有的对外数据和公用的内部数据,其数据可被控制器内所有的子程序引用。
程序数据地区所有为内部数据,其数据只好被本程序内的子程序引用。
各程序之间的数据地区是隔绝的,以防备标签命名的矛盾。
数据的表达称为数据标签(TAG),书写方式按照IEC1131-3标准,即由大小写字母、0至9的数字和下划线组合而成,用来描绘控制对象,它由下边要谈到的各种数据种类构成。
数据标签的简短表达亦是节俭内存空间的做法之一。
2.控制器的数据种类
ControlLogix系统的数据种类是基本数据种类和由基本数据种类构成的构造
化数据种类,构造化数据种类和往常的关系数据库的记录是相同的构造方式,这
使得工业系统获取的数据与管理系统办理的数据在互换时能够做到无缝连结。
2-1基本数据种类
基本数据种类是构成构造型数据的基本元素,也是梯形图程序中或人机界面监控时引用地点的最小单位。
BOOL布尔数0---1
1位
SINT短整数-128--+127
8位
INT
整数
-32768--
+32767
16位
DINT
长整数
-2147483648---+2147483647
32位
REAL
实数
-3.4*10-38
---1.17*10+38
(负
数)
32位
1.17*10-38
---
3.4*10+38
(正数)
它们和标准的数据库的基本种类是相同的,但因为ControlLogix系统的数据办理和传递的基本单元是32位,所以,尽可能地使用DINT和REAL的数据种类,将节俭控制器的内存空间和系统资源,这也是系统优化要考虑的问题之一。
2-2系统预约义构造数据种类
系统预约义构造数据种类是系统早先设定的构造数据,它有系统早先设定好
的固定形式,引用时自然产生。
有以下几种形式:
1>I/O模块组态时产生的I/O数据,如:
Local:
0:
C
---
当地位于0槽输入模块的组态数据
Local:
0:
I
---
当地位于0槽输入模块的输入数据
Local:
1:
C
---
当地位于1槽输出模块的组态数据
Local:
1:
I
---
当地位于1槽输出模块的状态数据
Local:
1:
O---
当地位于1槽输出模块的输出数据
CNBR_2:
0:
I
---远程位于0槽输入模块的输入数据
CNBR_2:
0:
C---
远程位于0槽输入模块的组态数据
不同的I/O模块有不同的数据构造,这取决于I/O模块与控制器互换的数据内容,模块的数据构造在开发模块时就已经决定了。
2>出自于PLC5/SLC500的多字元素文件,因为ControlLogix系统的指令系统仍旧沿用了传统的PLC5的指令系统,所以PLC5的多字元素文件在指令中仍是需要引用。
如:
TIMER
COUTER
---
用于计时器指令
---用于计数器指令
CONTROL---
PID---用于
用于数组种类指令
PID指令
MESSAGE---用于MSG指令
SFC_STEP用于次序功能流程图操作
SFC_STOP用于次序功能流程图操作
请注意,在PLC中的16位的整型数在这里通通转变为了二者均是各自控制器中信息办理的基本单元。
32位的双整数,
3>
运动控制的数据构造,由运动控制指令引用,如:
AXIS_CONSUMED
AXIS_VIRTUAL
MOTION_GROUP
MOTION_INSTRUCTION
4>功能块(过程控制)的数据构造,由功能块编程时引用,如:
TOTALIZER
MULTIPLEXER
---累加器数据构造
---