SIEMENS西门子北京授权代理商
当PLC处于正常运行时,它将不断重复图2-10中的扫描过程,不断循环扫描地工作下去。为方便进一步分析上述扫描过程,暂不考虑远程I/O特殊模块和其他通信服务,这样扫描工作过程就只剩下输入采样、程序执行、输出刷新3个阶段
(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立即执行来解决。
PLC以微处理器为核心,具有微机的许多特点,但它的工作方式却与微机有很大不同。
微机一般采用等待命令的工作方式工作。
PLC是按集中输入、集中输出,周期性循环扫描的方式进行工作的。每一次循环扫描所用的时间称为一个扫描周期。
对每个程序,CPU从条指令开始执行,按顺序逐条地执行指令做周期性的程序循环扫描,如果无跳转指令,则从条指令开始逐条顺序执行用户程序,直至结束又返回条指令,如此周而复始不断循环。
PLC在每次扫描工作过程中除了执行用户程序外,还要完成内部处理、输入采样、通信服务、程序执行、自诊断、输出刷新等工作。PLC工作的全过程包括三个部分,即上电处理、扫描过程和出错处理。PLC工作的全过程可用图4所示的运行框图来表示。
PLC通电后,CPU在系统程序的控制下行内部处理,包括硬件初始化、I/O模块配置检查、停电保持范围设定及其他初始化处理等工作。
PLC有很强的自诊断功能,PLC每扫描一次执行一次自诊断检查,确定PLC自身的动作是否正常,如电源检测、内部硬件是否正常、程序语法是否有错等。如检查出异常时,CPU面板的LED及异常继电器会接通,在特殊寄存器中会存入出错代码;CPU能根据错误类型和程度发出信号,甚至进行相应的出错处理,使PLC停止扫描或强制变成STOP状态。
PLC运行正常时,扫描周期的长短与用户应用程序的长短、CPU的运算速度、I/O点的情况等有关。通常用PLC执行1KB指令所需时间来说明其扫描速度(一般1-10ms/KB)。值得注意的是,不同指令执行时间是不同的,故选用不同指令所用的扫描时间将会不同。若用于高速系统要缩短扫描周期时,可从软硬件上同时考虑。PLC周期性循环扫描工作方式的显著特点是:可靠性高、抗干扰能力强,但响应滞后、速度慢。
6ES72111BE400XB0 | CPU 1211C AC/DC/Rly,6输入/4输出,集成2AI |
6ES72111AE400XB0 | CPU 1211C DC/DC/DC,6输入/4输出,集成2AI |
6ES72111HE400XB0 | CPU 1211C DC/DC/Rly,6输入/4输出,集成2AI |
6ES72121BE400XB0 | CPU 1212C AC/DC/Rly,8输入/6输出,集成2AI |
6ES72121AE400XB0 | CPU 1212C DC/DC/DC,8输入/6输出,集成2AI |
6ES72121HE400XB0 | CPU 1212C DC/DC/Rly,8输入/6输出,集成2AI |
6ES72141BG400XB0 | CPU 1214C AC/DC/Rly,14输入/10输出,集成2AI |
6ES72141AG400XB0 | CPU 1214C DC/DC/DC,14输入/10输出,集成2AI |
6ES72141HG400XB0 | CPU 1214C DC/DC/Rly,14输入/10输出,集成2AI |
6ES72151BG400XB0 | CPU 1215C AC/DC/Rly,14输入/10输出,集成2AI/2AO |
6ES72151AG400XB0 | CPU 1215C DC/DC/DC,14输入/10输出,集成2AI/2AO |
6ES72151HG400XB0 | CPU 1215C DC/DC/Rly,14输入/10输出,集成2AI/2AO |
6ES72171AG400XB0 | CPU 1217C DC/DC/DC,14输入/10输出,集成2AI/2AO |