罗克韦尔培训第二章.docx
- 文档编号:12090594
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:21
- 大小:234.09KB
罗克韦尔培训第二章.docx
《罗克韦尔培训第二章.docx》由会员分享,可在线阅读,更多相关《罗克韦尔培训第二章.docx(21页珍藏版)》请在冰豆网上搜索。
罗克韦尔培训第二章
第二章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),1.5M、3.5M或7.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数据和操纵器之间的Produced/Consumed标签,这两个CPU将利用一起的内存区,即大体内存区,背板CPU将互换的I/O数据和Produced/Consumed标签放在该内存区,逻辑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)组成,是真正的执行程序,一样为梯形图程序,可概念的个数由操纵器的内存决定。
图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
执行情形:
图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---11位
∙SINT短整数-128--+1278位
∙INT整数-32768--+3276716位
∙DINT长整数-48---+4732位
∙REAL实数*10-38*10+38(负数)32位
*10-38---*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---8选1功能块数据结构
∙FBD_TIMER---功能块的计时器
∙FBD_COUTER---功能块的计数器
∙FBD_LOGICAL---功能块的逻辑运算
5>系统组态信息和状态信息,不显示在数据结构选项中,SSV和GSV指令操作时引用,必需创建相同数据结构的自概念结构数据,来成立对应的TAG,如:
∙AXIS---运控模块的状态信息
∙CONTROLLER---操纵器模块执行时的状态信息
∙CONTROLLERDEVICE---操纵器物理硬件的识别
∙CST---为一个框架中的设备提供和谐系统时刻的信息
∙DF1---对可组态的DF1通信设备进行组态和取得信息
∙FAULTLOG---获取或清除操纵器的故障信息
∙MESSAGE---获取或设置信息指令的组态信息
∙MODULE---获取或设置模块(在I/OConfiguration中的)的组态信息
∙MOTIONGROUP---运控模块轴组的状态信息
∙PROGRAM---获取或设置程序的组态信息
∙ROUTINE---获取子程序的组态信息
∙SERIALPORT---获取或设置串口的组态信息
∙TASK---获取或设置任务的组态信息
∙WALLCLOCKTIME---获取或设置操纵器中的系统时刻
2-3用户自概念结构数据类型
用户自概念结构数据类型由用户依照自己的需要自行概念数据的结构,分为以下两种情形。
1>字符串预概念
用户可自行概念不同长度(1-64K字符)的字符串数据结构,用于ASCII码的数据表达(即英文文字表达),用户自概念结构中有一个缺省的长度为82的字符串数据结构,即PLC-5/SLC中字符串数据的概念长度,以保证与PLC-5/SLC的兼容。
2>用户自概念数据结构
用户自概念数据结构通经常使用于围绕某一操纵事件的相关数据成立起来的数据结构,这种结构可使得数据的查找、监视、传送超级方便。
在成立用户自概念的数据结构进程中,其子元素概念的顺序跟存储器空间的占用有关,每当做立一个子元素,都会在上次剩余的32位的存储器空间安排,若是不够,将开出一个新的32位的存储器空间,一个完整的用户自概念数据结构,必然是32位存储器的整倍数。
因此,正确的成立子元素的顺序,能够取得存储器空间的合理安排,从而节约内存空间。
下面是一个变频器的相关数据成立起来的用户自概念数据结构:
图2-3
其存储器空间占用如下所示:
图2-4
能够看出,除BOOL量外,其它数据类型的子元素的成立都是以字节为单位开出和计算的。
2-4数组
数组是同一数据类型的持续散布的集合,可由
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 罗克韦尔 培训 第二
![提示](https://static.bdocx.com/images/bang_tan.gif)