2.5 PLC的工作原理与逻辑运算
S7-1200 PLC操作系统与逻辑运算,CPU的工作模式及工作模式的切换,冷启动与暖启动的作用,RUN模式CPU的操作等,这些是了解PLC的工作原理与逻辑运算时必须掌握的知识重点。
2.5.1 PLC的工作原理
下面从5个方面讲述PLC的工作原理。
1. 操作系统与用户程序
CPU的操作系统用来实现与具体的控制任务无关的PLC的基本功能。操作系统的任务包括处理暖启动,刷新过程映像输入/输出,调用用户程序,检测中断事件和调用中断组织块,检测和处理错误,管理存储器,以及处理通信任务等。
用户程序包含处理具体的自动化任务必需的所有功能。用户程序由用户编写并下载到PLC,用户程序的任务包括:
- □ 检查是否满足暖启动需要的条件,如限位开关是否在正确位置。
- □ 处理过程数据,如用数字量信号来控制数字量输出信号,读取和处理模拟量输入信号,输出模拟量控制信号。
- □ 用组织块(OB)中的程序对中断事件作出反应,如在诊断错误中断组织块OB82中发出报警信号,以及编写处理错误的程序。
2. CPU的工作模式
CPU有以下3种工作模式:STOP模式、STARTUP模式和RUN模式。CPU前面的状态LED指示当前工作模式。
- □ 在STOP模式下,CPU不执行程序。可以下载项目。
- □ 在STARTUP模式下,执行一次启动OB(如果存在)。在启动模式下,CPU不会处理中断事件。
- □ 在RUN模式,程序循环OB重复执行。可能发生中断事件,并在RUN模式中的任意点执行相应的中断事件OB。可在RUN模式下下载项目的某些部分。
CPU支持通过暖启动进入RUN模式。暖启动不包括储存器复位。执行暖启动时,CPU会初始化所有的非保持性系统和用户数据,并保留所有保持性用户数据值。存储器复位将清除所有工作存储器、保持性及非保持性存储区、将装载存储器复制到工作存储器并将输出设置为组态的“对CPU STOP的响应”(Reaction to CPU STOP)。存储器复位不会清除诊断缓冲区,也不会清除永久保存的IP地址值。
可组态CPU中“上电后启动”(Startup after POWER ON)设置如图2-9所示。该组态项出现在CPU“设备组态”(Device Configuration)的“启动”(Startup)下。通电后,CPU将执行一系列上电诊断检查和系统初始化操作。在系统初始化过程中,CPU将删除所有非保持性位(M)存储器,并将所有非保持性DB的内容复位为装载存储器的初始值。CPU将保留保持性位(M)存储器和保持性DB的内容,然后进入相应的工作模式。检测到的某些错误会阻止CPU进入RUN模式。CPU支持以下组态选项。
图2-9 CPU上电启动设置
- □ 不重新启动(保持为STOP模式)。
- □ 暖启动- RUN模式。
- □ 暖启动-断电前的模式。
注意:可修复故障可使CPU进入STOP模式。CPU因可修复故障或临时故障可能会进入STOP模式,前者如可替换信号模块故障,后者如电力线干扰或不稳定上电事件。这种情况可导致财产损失。如果已将CPU组态为“暖启动-断电前的模式”(Warm restart - mode prior to POWER OFF),CPU则进入在掉电或发生故障前的工作模式。如果在发生掉电或故障时,CPU处于STOP模式,则CPU将在上电时进入STOP模式并保持STOP模式,直至收到进入RUN模式的命令。如果在发生掉电或故障时,CPU处于RUN模式,则在未检测到可禁止CPU进入RUN模式的条件下,CPU将在下次上电时进入RUN模式。
要使CPU在下一次循环上电时返回到RUN模式,可将欲独立于STEP 7连接而运行的CPU组态设置为“暖启动- RUN”(Warm restart - RUN)。
- □ 在STOP模式下,CPU处理所有通信请求(如果适用)并执行自诊断。CPU不执行用户程序,过程映像也不会自动更新。
- □ 在STARTUP和RUN模式下,CPU执行如图2-10所示的任务。
图2-10 启动与运行过程示意图
1)STARTUP模式
CPU执行如图2-10左图所示的任务。
- □ 阶段A:清除I(映像)存储区。
- □ 阶段B:根据组态情况将Q输出(映像)存储区初始化为零、上一值或替换值,并将PB(PROFIBUS)、PN(PROFINET)和AS-i(Actuator Sensor Interface)输出设为零。
- □ 阶段C:将非保持性M存储器和数据块初始化为其初始值,并启用组态的循环中断事件和时钟事件。执行启动OB。
- □ 阶段D:将物理输入的状态复制到I存储器。
- □ 阶段E:将所有中断事件存储到要在进入RUN模式后处理的队列中。
- □ 阶段F:启用Q,存储器到物理输出的写入操作。
2)RUN模式
CPU执行如图2-10右图所示的任务。
- □ 阶段①:将Q存储器写入物理输出。
- □ 阶段②:将物理输入的状态复制到I存储器。
- □ 阶段③:执行程序循环OB。
- □ 阶段④:执行自检诊断。
- □ 阶段⑤:在扫描周期的任何阶段处理中断和通信。
3. 工作模式的切换
可以使用编程软件在线工具中的STOP或RUN命令更改当前工作模式。也可在程序中包含STP指令,以使CPU切换到STOP模式。这样就可以根据程序逻辑停止程序的执行。
4. 冷启动与暖启动
下载了用户程序的块和硬件组态后,再一次切换到RUN模式时,CPU执行冷启动。冷启动时,复位输入,初始化输出;复位存储器,即清除工作存储器、非保持性存储区和保持性存储区,并将装载存储器的内容复制到工作存储器。存储器复位不会清除诊断缓冲区,也不会清除永久保存的IP地址。
冷启动之后,在下一次下载之前的STOP到RUN模式的切换均为暖启动。暖启动时,所有非保持的系统数据和用户数据被初始化,不会清除保持性存储区。
暖启动不对存储器复位,可以用在线与诊断视图的“CPU操作面板”上的MRES按钮来复位存储器。
S7-1200 CPU之间通过开放式用户通信进行数据交换只能在RUN模式下进行。
移除或插入中央模块将导致CPU进入STOP模式。
5. RUN模式CPU的操作
在RUN模式下,每个扫描周期,CPU都会写入输出、读取输入、执行用户程序、更新通信模块以及响应用户中断事件和通信请求。在扫描期间会定期处理通信请求。以上操作(用户中断事件除外)按先后顺序定期进行处理。对于已启用的用户中断事件,将根据优先级按其发生顺序进行处理。对于中断事件,如果适用的话,CPU将读取输入、执行OB,然后使用关联的过程映像分区(PIP)写入输出。
1)写外设输出
在每个扫描周期的开始,从过程映像重新获取数字量及模拟量输出的当前值,然后将其写入到CPU、SB和SM模块上组态为自动输入/输出更新(默认组态)的物理输出。通过指令访问物理输出时,输出过程映像和物理输出本身都将被更新。
2)读外设输入
在该扫描周期中,将读取CPU、SB和SM模块上组态为自动输入/输出更新(默认组态)的数字量及模拟量输入的当前值,然后将这些值写入过程映像。通过指令访问物理输入时,指令将访问物理输入的值,但输入过程映像不会更新。
3)执行用户程序
读取输入后,系统将从第一条指令开始执行用户程序,一直执行到最后一条指令。其中包括所有的程序循环OB及其所有关联的FC和FB。程序循环OB根据OB编号依次执行,OB编号最小的先执行。
4)通信处理与自诊断
在扫描循环的通信处理和自诊断阶段,处理接收到的报文,在适当的时候将报文发送给通信的请求方。此外,还要周期性地检查固件、用户程序和输入/输出模块的状态。
5)中断处理
事件驱动的中断可以在扫描循环的任意阶段发生。在有事件出现时,CPU中断扫描循环,通过调用组态给该事件的OB。OB处理完事件后,CPU在中断点恢复用户程序的执行。中断功能可以提高PLC对事件的响应速度。
2.5.2 逻辑运算
在数字量(或称开关量)控制系统中,变量仅有两种相反的工作状态,如高电平和低电平、继电器线圈的通电或断电,可以分别用逻辑代数中的1和0表示这些状态。在波形图中,用高电平表示1状态,用低电平表示0状态。
使用数字电路或PLC的梯形图都可以实现数字量逻辑运算。用继电器或梯形图可以实现基本的逻辑运算,触点的串联可以实现“与”运算,触点的并联可以实现“或”运算,用常闭触点控制线圈可以实现“非”运算。多个触点的串、并联电路可以实现复杂的逻辑运算。如图2-11所示,其中的I0.0-I0.4为数字量输入变量,Q0.0-Q0.2为数字量输出变量。
图2-11 基本逻辑运算
如图2-11所示的基本逻辑运算之间的“或”“与”“非”逻辑运算关系如表2-4所示。表中的0和1分别表示输入点的常开触点的断开和接通、输出点线圈的断电与通电。
表2-4 逻辑运算关系表
PLC采用基本逻辑运算可以实现电动机的连续运行和点动控制,PLC的梯形图如图2-12所示。
图2-12 能实现连续运行与点动控制的PLC梯形图
如图2-12所示,I0.0为启动按钮,I0.1为连续/点动运行开关,I0.2为停止按钮,I0.3为热继电器常闭触点,Q0.0为电动机运行控制。当需要点动时,断开连续运行开关,按下启动按钮,输出Q0.0为1状态,电动机运行,松开按钮,输出Q0.0为0状态,电动机停止运行;当需要连续运行时,闭合连续运行开关,按下启动按钮,Q0.0为1状态,其常开触点闭合,实现自锁,电动机连续运行,直到按下停止按钮(I0.2)。当电动机过热时,为保护电动机断开输出Q0.0,电动机停止运行。