1.操作系统与用户程序
CPU的操作系统用来实现与具体的控制任务无关的PLC的基本功能。操作系统的任务包括处理暖启动,刷新过程映像输入/输出,调用用户程序,检测中断事件和调用中断组织块,检测和处理错误,管理存储器,以及处理通信任务等。
用户程序包含处理具体的自动化任务必需的所有功能。用户程序由用户编写并下载到CPU,用户程序的任务包括:
1)检查是否满足暖启动需要的条件,例如限位开关是否在正确的位置。
2)处理过程数据,例如用数字量输入信号来控制数字量输出信号,读取和处理模拟量输入信号,输出模拟量值。
3)用OB(组织块)中的程序对中断事件做出反应,例如在诊断错误中断组织块OB82中发出报警信号,和编写处理错误的程序。
2.CPU的操作模式
CPU有3种操作模式:RUN(运行)、STOP(停机)与STARTUP(启动)。CPU面板上的状态LED(发光二极管)用来指示当前的操作模式,可以用编程软件改变CPU的操作模式。
在STOP模式,CPU仅处理通信请求和进行自诊断,不执行用户程序,不会自动更新过程映像。上电后CPU进入STARTUP(启动)模式,进行上电诊断和系统初始化,检查到某些错误时,将禁止CPU进入RUN模式,保持在STOP模式。
在CPU内部的存储器中,设置了一片区域来存放输入信号和输出信号的状态,它们被称为过程映像输入区和过程映像输出区。从STOP模式切换到RUN模式时,CPU进入启动模式,执行下列操作(见图2-7中各阶段的符号):
阶段A复位过程映像输入区(I存储区)。
阶段B用上一次RUN模式最后的值或替代值来初始化输出。
阶段C执行一个或多个启动OB,将非保持性M存储器和数据块初始化为其初始值,并启用组态的循环中断事件和时钟事件。
阶段D将外设输入状态复制到过程映像输入区。
阶段E(整个启动阶段)将中断事件保存到队列,以便在RUN模式进行处理。
阶段F将过程映像输出区(Q区)的值写到外设输出。
图2-7 启动与运行过程示意图
启动阶段结束后,进入RUN模式。为了使PLC的输出及时地响应各种输入信号,CPU反复地分阶段处理各种不同的任务(见图2-7中各阶段的符号):
阶段①将过程映像输出区的值写到输出模块。
阶段②将输入模块处的输入传送到过程映像输入区。
阶段③执行一个或多个程序循环OB,首先执行主程序OB1。
阶段④处理通信请求和进行自诊断。
上述任务是按顺序循环执行的,这种周而复始的循环工作方式称为扫描循环。
在扫描循环的任意阶段(阶段⑤)出现中断事件时,执行中断程序。
3.操作模式的切换
S7-1200 CPU模块上没有切换操作模式的模式选择开关,只能用STEP 7“在线和诊断”视图中的CPU操作面板(见图7-8),或工具栏上的按钮和按钮,来切换STOP或RUN模式。也可以在用户程序中用STP指令使CPU进入STOP模式。(www.xing528.com)
S7-1500还可以用CPU的小显示屏和模式选择开关来改变CPU的操作模式。
4.冷启动与暖启动
下载了用户程序的块和硬件组态后,下一次切换到RUN模式时,CPU执行冷启动。冷启动时复位输入,初始化输出;复位存储器,即清除工作存储器、非保持性存储区和保持性存储区,并将装载存储器的内容复制到工作存储器。存储器复位不会清除诊断缓冲区,也不会清除永久保存的IP地址。
冷启动之后,在下一次下载之前的STOP到RUN模式的切换均为暖启动。
暖启动时所有非保持的系统数据和用户数据被初始化,不会清除保持性存储区。S7-1500的启动模式只有暖启动。暖启动不对存储器复位,可以用“在线和诊断”视图的“CPU操作面板”中的“MRES”按钮(见图7-8)来复位存储器。S7-1500还可以用模式选择开关来复位存储器。
S7-1200/1500 CPU之间通过开放式用户通信进行的数据交换只能在RUN模式进行。
移除或插入中央模块将导致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对事件的响应速度。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。