西门子PLC模块CPU414-2西门子代理商 西门子总代理
西门子PLC模块CPU414-2西门子代理商 西门子总代理
西门子PLC模块CPU414-2西门子代理商 西门子总代理
PLC的系统管理程序PLC的软件分为两大部分:系统软件与用户程序。系统软件由PLC制造商固化在机内,用以控制PLC本身的运行:用户程序由PLC的使用者编写并输入,用于控制外部对象的运行。
1)系统软件
系统软件又可分为系统管理程序、用户指令解释程序及标准程序模块和系统调用。
(1)系统管理程序是系统软件中Zui重要的部分,主管控制 PLC的运作。其作用包括3个方面:一是运行管理,对控制PLC何时输入、何时输出、何时计算、何时自检、何时通信等做时间上的分配管理。二是存储空间管理,即生成用户环境,由它规定各种参数、程序的存放地址。将用户使用的数据参数、存储地址转化为实际的数据格式及物理存放地址,将有限的资源变为用户可很方便地直接使用的元件。例如,它可将有限个数的CTC扩展为上百个用户时钟和计数器。通过这部分程序,用户看到的就不是实际机器存储地址和CTC的地址了,而是按照用户数据结构排列的元件空间和程序存储空间。三是系统自检程序,它包括各种系统出错检验、用户程序语法检验、句法检验、警戒时钟运行等。
PLC正是在系统管理程序的控制下,按部就班地工作的。
(2)用户指令解释程序众所周知,任何计算机Zui终都是执行机器语言指令的。但用机器语言编程却是非常复杂的事情。PLC可用梯形图语言编程,把使用者直观易懂的梯形图变成机器懂得的机器语言,这就是解释程序的任务。解释程序将梯形图逐条解释,翻译成相应的机器语言指令,由CPU执行这些指令。
(3)标准程序模块和系统调用这部分由许多独立的程序块组成,各程序块完成不同的功能,有些完成I/O处理,有些完成特殊运算等。PLC的各种具体工作都是由这部分程序来完成的,这部分程序的多少决定了PLC性能的强弱。
整个系统软件是一个整体,其质量的好坏很大程度上影响PLC的性能。很多情况下,通过改进系统软件就可在不增加任何设备的条件下大大改善PLC的性能,因此,PLC的生产厂家对PLC的系统软件都非常重视,例如,S7-200系列 PLC在推出后,西门子公司不断地将其系统软件进行改进完善,使其功能越来越强。
2)用户程序
用户程序是PLC的使用者针对具体控制对象编制的程序。因此,它需要一个编程环境、一个程序结构和一个编程方法。
用户环境也是由系统监控程序生成的。主要包括:用户数据结构、用户元件区、用户数据和程序存储区、用户参数区、文件存储区等。
(1)用户数据结构:
①第一类为位数据:这是一类逻辑量(1位二进制数),其值为“0或1”,它表示触点的通、断。触点接通状态为ON,触点断开状态为OFF。
②第二类为字节数据:其位长为8位,其数制形式有多种形式。1个字节可以表示8位二进制数、2位十六进制数、2位十进制数。
③第三类为字数据:其数制、位长、形式都有很多形式。1个字可以表示16位二进制数、4位十六进制数、4位十进制数。十进制数据通常都用BCD码表示,书写时冠以K字符,如K789。十六进制数据,书写时冠以H字符,如H78F。二进制数,书写时冠以B字符,如B0111-1000-111l。实际处理时还可选用八进制、AscII的形式。由于对控制精度的要求越来越高,不少PLC开始采用浮点数,它极大地提高了数据运算的精度。
④第四类为混合型数据:即同一个元件有位数据又有字数据。例如,T(定时器)和C(计数器),它们的触点只有ON和OFF两种状态,是位数据,而它们的设定值和当前值寄存器又为字数据。
(2)用户数据存储区:
①用户使用的每个I/O端,以及内部的每一个存储单元都称为元件。各种元件都有其固定的存储区(如I/O映像区),即存储地址。给 PLC 中的I/O元件赋予地址的过程叫编址,不同的 PLCI/O的编址方法不完全相同。
②PLC的内部资源,如内部继电器、定时器、计数器和数据区,各个不同的PLC之间也有一些差异。这些内部资源都按一定的数据结构存放在用户数据存储区,正确使用用户数据存储区的资源才能编写好用户程序。
用户程序结构大致可以分为3种:一是线性程序,这种结构是把一个工程分为多个小的程序块,这些程序块被依次排放在一个主程序中;二是分块程序,这种结构把一个工程中的各个程序块独立于主程序之外,工作时要由主程序一个个有序地去调用;三是结构化程序,这种结构是把一个工程中的具有相同功能的程序写成通用功能程序块,工程中的各个程序块都可以随时调用这些通用功能程序块。
PLC循环扫描工作及中断处理过程当PLC处于正常运行时,它将不断重复图2-10中的扫描过程,不断循环扫描地工作下去。为方便进一步分析上述扫描过程,暂不考虑远程I/O特殊模块和其他通信服务,这样扫描工作过程就只剩下输入采样、程序执行、输出刷新3个阶段,并用图2-11表示。
(1)输入采样阶段PLC在输入采样阶段,首先扫描所有输入端子,并将各输入状态存入内存中各对应的输入映像寄存器中。此时,输入映像寄存器被刷新。接着,进入程序执行阶段,在程序执行阶段和输出刷新阶段,输入映像寄存器与外界隔离,无论输入信号如何变化,其内容保持不变,直到下一个扫描周期的输入采样阶段,才重新写入输入端的新内容。
(2)程序执行阶段根据PLC梯形图程序扫描原则,PLC按先左后右、先上后下的顺序逐句扫描,但遇到程序跳转指令,则根据跳转条件是否满足来决定程序的跳转地址。
当指令中涉及I/O状态时,PLC就从输入映像寄存器中“读入”上一阶段采入的对应输入端子状态,从元件映像寄存器“读入”对应元件(软继电器)的当前状态。然后,进行相应的运算,运算结果再存入元件映像寄存器中。对元件映像寄存器来说,每一个元件(软继电器)的状态会随着程序执行过程而变化。
(3)输出刷新阶段在所有指令执行完毕后,元件映像寄存器中所有输出继电器的状态(接通/断开)在输出刷新阶段转存到输出锁存器中,通过一定方式输出,驱动外部负载。
PLC的中断处理
,外部信号的输入总是通过PLC扫描由“输入传送”来完成,这就不可避免地带来了“逻辑滞后”。PLC能不能像计算机那样采用中断输入的方法,即当有中断申请信号输入后,系统会中断正在执行的程序而转去执行相关的中断子程序;系统若有多个中断源时,它们之间按重要性是否有一个先后顺序的排队;系统能否由程序设定允许中断或禁止中断等。PLC关于中断的概念及处理思路与一般计算机系统基本是一样的,但也有特殊之处。
1)中断响应问题
一般计算机系统的CPU,在执行每一条指令结束时去查询有无中断申请。而PLC对中断的响应则是在相关的程序块结束后查询有无中断申请和在执行用户程序时查询有无中断申请,如有中断申请,则转入执行中断服务程序。如果用户程序以块式结构组成,则在每块结束或实行块调用时处理中断。
2)中断源先后顺序及中断嵌套问题
在PLC中,中断源的信息是通过输入点而进入系统的,PLC扫描输入点是按输入点编号的先后顺序进行的,因此,中断源的先后顺序只要按输入点编号的顺序排列即可。系统接到中断申请后,顺序扫描中断源,它可能只有一个中断源申请中断,也可能同时有多个中断源申请中断。系统在扫描中断源的过程中,就在存储器的一个特定区建立起“中断处理表”,按顺序存放中断信息,中断源被扫描过后,中断处理表亦已建立完毕,系统就按该表顺序先后转至相应的中断子程序入口地址去工作。
必须说明的是,多中断源可以有优先顺序,但无嵌套关系。即中断程序执行中,若有新的中断发生,不论新中断的优先顺序如何,都要等执行中的中断处理结束后,再进行新的中断处理。因此,在PLC系统工作中,当转入下一中断服务子程序时,并不自动关闭中断,所以,也没有必要去开启中断。
3)中断服务程序执行结果信息输出问题
PLC按巡回扫描方式工作,正常的I/O在扫描周期的一定阶段进行,这给外设希望及时响应带来了困难。采用中断输入,解决了对输入信号的高速响应。当中断申请被响应,在执行中断子程序后有关信息应当尽早送到相关外设,而不希望等到扫描周期的输出传送阶段,就是说对部分信息的I/O要与系统CPU的周期扫描脱离,可利用专门的硬件模块(如快速响应I/O模块)或通过软件利用专门指令使某些I/O立即执行来解决。