S7-1200 PLC应用教程(第2版)
上QQ阅读APP看书,第一时间看更新

2.2.3 PLC的工作过程

1.操作系统与用户程序

CPU的操作系统用来实现与具体的控制任务无关的PLC的基本功能。操作系统的任务包括处理暖启动、刷新过程映像输入/输出、调用用户程序、检测中断事件和调用中断组织块、检测和处理错误、管理存储器,以及处理通信任务等。

用户程序包含处理具体的自动化任务必需的所有功能。用户程序由用户编写并下载到CPU,用户程序的任务包括:

1)检查是否满足暖启动需要的条件,例如限位开关是否在正确的位置。

2)处理过程数据,例如用数字量输入信号来控制数字量输出信号,读取和处理模拟量输入信号,输出模拟量值。

3)用OB(组织块)中的程序对中断事件做出反应,例如在诊断错误中断组织块OB82中发出报警信号,和编写处理错误的程序。

2.CPU的工作模式

CPU有3种工作模式:RUN(运行)、STOP(停止)与STARTUP(启动)。CPU面板上的状态LED(发光二极管)用来指示当前的工作模式,可以用编程软件改变CPU的工作模式。

在STOP模式,CPU仅处理通信请求和进行自诊断,不执行用户程序,不会自动更新过程映像。上电后CPU进入STAPTUP(启动)模式,进行上电诊断和系统初始化,检查到某些错误时,将禁止CPU进入RUN模式,保持在STOP模式。

在CPU内部的存储器中,设置了一片区域来存放输入信号和输出信号的状态,它们被称为过程映像输入区和过程映像输出区。从STOP模式切换到RUN模式时,CPU进入启动模式,执行下列操作(见图2-5中各阶段的符号):

阶段A复位过程映像输入区(I存储区)。

阶段B用上一次RUN模式最后的值或替代值来初始化输出。

阶段C执行一个或多个启动OB,将非保持性M存储器和数据块初始化为其初始值,并启用组态的循环中断事件和时钟事件。

阶段D将外设输入状态复制到过程映像输入区。

阶段E(整个启动阶段)将中断事件保存到队列,以便在RUN模式进行处理。

阶段F将过程映像输出区(Q区)的值写到外设输出。

图2-5 启动与运行过程示意图

启动阶段结束后,进入RUN模式。为了使PLC的输出及时地响应各种输入信号,CPU反复地分阶段处理各种不同的任务(见图2-5中各阶段的符号):

阶段①将过程映像输出区的值写到输出模块。

阶段②将输入模块处的输入传送到过程映像输入区。

阶段③执行一个或多个程序循环OB,首先执行主程序OB1。

阶段④进行自诊断。

上述任务是按顺序循环执行的,这种周而复始的循环工作方式称为扫描循环。

在扫描循环的任意阶段(阶段⑤)处理中断和通信,执行中断程序。

3.工作模式的切换

CPU模块上没有切换工作模式的模式选择开关,只能用STEP 7在线工具中的CPU操作面板(见图6-26),或工具栏上的按钮和按钮,来切换STOP或RUN工作模式。也可以在用户程序中用STP指令使CPU进入STOP模式。

4.冷启动与暖启动

下载了用户程序的块和硬件组态后,下一次切换到RUN模式时,CPU执行冷启动。冷启动时复位输入,初始化输出;复位存储器,即清除工作存储器、非保持性存储区和保持性存储区,并将装载存储器的内容复制到工作存储器。存储器复位不会清除诊断缓冲区,也不会清除永久保存的IP地址。

冷启动之后,在下一次下载之前的STOP到RUN模式的切换均为暖启动。暖启动时所有非保持的系统数据和用户数据被初始化,不会清除保持性存储区。

暖启动不对存储器复位,可以用在线与诊断视图的“CPU操作面板”上的“MRES”按钮(见图6-26)来复位存储器。

移除或插入中央模块将导致CPU进入STOP模式。

5.RUN模式CPU的操作

下面是RUN模式各阶段任务的详细介绍。

(1)写外设输出

在扫描循环的第一阶段,操作系统将过程映像输出中的值写到输出模块并锁存起来。梯形图中某输出位的线圈“通电”时,对应的过程映像输出位中的二进制数为1。信号经输出模块隔离和功率放大后,继电器型输出模块中对应的硬件继电器的线圈通电,其常开触点闭合,使外部负载通电工作。若梯形图中某输出位的线圈“断电”,对应的过程映像输出位中的二进制数为0。将它送到继电器型输出模块,对应的硬件继电器的线圈断电,其常开触点断开,外部负载断电,停止工作。

可以用指令立即改写外设输出点的值,同时将刷新过程映像输出。

(2)读外设输入

在扫描循环的第二阶段,读取输入模块的输入,并传送到过程映像输入区。外接的输入电路闭合时,对应的过程映像输入位中的二进制数为1,梯形图中对应的输入点的常开触点接通,常闭触点断开。外接的输入电路断开时,对应的过程映像输入位中的二进制数为0,梯形图中对应的输入点的常开触点断开,常闭触点接通。

可以用指令立即读取数字量或模拟量的外设输入点的值,但是不会刷新过程映像输入。

(3)执行用户程序

PLC的用户程序由若干条指令组成,指令在存储器中按顺序排列。读取输入后,从第一条指令开始,逐条顺序执行用户程序中的指令,包括程序循环OB调用FC和FB的指令,直到最后一条指令。

在执行指令时,从过程映像输入/输出或别的位元件的存储单元读出其0、1状态,并根据指令的要求执行相应的逻辑运算,运算的结果写入相应的过程映像输出和其他存储单元,它们的内容随着程序的执行而变化。

程序执行过程中,各输出点的值被保存到过程映像输出,而不是立即写给输出模块。

在程序执行阶段,即使外部输入信号的状态发生了变化,过程映像输入的状态也不会随之而变,输入信号变化了的状态只能在下一个扫描周期的读取输入阶段被读入。执行程序时,对输入/输出的访问通常是通过过程映像,而不是实际的I/O点,这样做有以下好处:

1)在整个程序执行阶段,各过程映像输入点的状态是固定不变的,程序执行完后再用过程映像输出的值更新输出模块,使系统的运行稳定。

2)由于过程映像保存在CPU的系统存储器中,访问速度比直接访问信号模块快得多。

(4)通信处理与自诊断

在扫描循环的通信处理和自诊断阶段,处理接收到的报文,在适当的时候将报文发送给通信的请求方。此外还要周期性地检查固件和I/O模块的状态。

(5)中断处理

事件驱动的中断可以在扫描循环的任意阶段发生。有事件出现时,CPU中断扫描循环,调用组态给该事件的OB。OB处理完事件后,CPU在中断点恢复用户程序的执行。中断功能可以提高PLC对事件的响应速度。