西门子器3RA61202AP33一级代理西门子器3RA61202AP33一级代理
操作系统用来处理plc的启动、刷新过程映像输入/输出区、调用用户程序、处理中断和错误、管理存储区和通信等任务。
用户程序由用户生成,用来实现用户要求的自动化任务。STEP7将用户编写的程序和程序所需的数据放置在块中,功能块FB和功能FC是用户编写的子程序,系统功能块SFB和系统功能SFC是操作系统提供给用户使用的标准子程序,它们和组织块OB统称为逻辑块。
PLC得电或由STOP模式切换到RUN模式时,CPU执行启动操作,将没有断电保持功能的位存储器、定时器和计数器清零,清除中断堆栈和块堆栈的内容,复位保存的硬件中断等。还要执行一次用户生成的“系统启动”组织块OB100,完成用户指定的初始化操作。以后PLC采用循环执行用户程序的方式,这种运行方式也称为扫描工作方式。
在PLC的存储器中,设置了一片区域用来存放输入信号和输出信号的状态,它们分别称为过程映像输入区和过程映像输出区。PLC梯形图中的其他编程元件也有对应的存储区。
下面是循环处理的各个阶段的任务(见图):
1)操作系统启动循环时间监控。
2)CPU将过程映像输出区的数据写到输出模块。
3)CPU读取输入模块的输入状态,并存入过程映像输入区。
4)CPU处理用户程序,执行用户程序中的指令。
5)在循环结束时,操作系统执行其他任务,例如下载和删除块,接收和发送全局数据等。
图 扫描过程
6)CPL返回阶段,重新启动循环时间监控。
在启动完成后,每次循环都要调用一次组织块OB1。OB1是用户程序中的主程序,它可以调用别的逻辑块(FB、FC、SFB或SFC)。循环程序处理过程可以被某些事件中断。如果有中断事件出现,当前正在执行的块被暂停执行,并自动调用分配给该事件的组织块。该组织块被执行完后,被暂停执行的块将从被中断的地方开始继续执行。
在循环程序处理过程中,CPU并不直接访问I/O模块中的输入地址区和输出地址区,而是访问CPU内部的过程映像区。
在读输入模块阶段,PLC把所有外部输入电路的接通/断开状态读人过程映像输入区。
外部输入电路接通时,对应的过程映像输入位为1状态,梯形图中该输入位的常开触点接通,常闭触点断开。外部输入电路断开时,对应的过程映像输入位为0状态,梯形图中该输入位的常开触点断开,常闭触点接通。
某一编程元件对应的位为1状态时,称该编程元件的状态为ON,该位为0状态时,称该编程元件的状态为OFF。在程序执行阶段,外部输入电路的状态发生了变化,过程映像输入位的状态也不会随之而变,输入信号变化了的状态只能在下一个扫描循环周期的读取输入模块阶段被读入过程映像输入区。
PLC的用户程序由若干条指令组成,指令在存储器中顺序排列。在没有跳转指令和块调用指令时,CPU从条指令开始,逐条顺序地执行用户程序,直到用户程序结束之处。在执行指令时,从过程映像输入区或别的存储区中将有关编程元件的0、1状态读出来,并根据指令的要求执行相应的逻辑运算,运算的结果写入到对应的存储区中,各编程元件的存储区的内容随着程序的执行而变化。