首页 理论教育 逻辑运算与PLC的循环处理过程

逻辑运算与PLC的循环处理过程

时间:2023-06-27 理论教育 版权反馈
【摘要】:以后PLC采用循环执行用户程序的方式,这种运行方式也称为扫描工作方式。在PLC的存储器中,设置了一片区域用来存放输入信号和输出信号的状态,它们分别称为过程映像输入区和过程映像输出区。如果有中断事件出现,循环的程序处理过程被暂停执行,并自动调用分配给该事件的中断组织块。PLC的用户程序由若干条指令组成,指令在存储器中顺序排列。

逻辑运算与PLC的循环处理过程

1.逻辑运算

在数字量(或称开关量)控制系统中,变量仅有两种相反的工作状态,例如高电平和低电平、电器线圈的通电和断电,可以分别用逻辑代数中的1和0来表示这些状态,在波形图中,用高电平表示1状态,用低电平表示0状态。

使用继电器电路、数字电路或PLC的梯形图都可以实现数字量的逻辑运算。图1-2的上面是PLC的梯形图,下面是对应的数字门电路

图1-2中的I0.0~I0.4为数字输入变量,Q4.0~Q4.2为数字输出变量,它们之间的“与”“或”“非”逻辑运算关系见表1-1。“与”运算仅在输入均为1时输出才为1,“或”运算仅在输入均为0时输出才为0。“非”运算的输出与输入的状态总是相反,非运算又称为“取反”。

978-7-111-54209-4-Chapter01-2.jpg

图1-2 基本逻辑运算

a)与 b)或 c)非

表1-1 逻辑运算关系表

978-7-111-54209-4-Chapter01-3.jpg

用继电器电路或梯形图可以实现基本的逻辑运算,触点的串联可以实现“与”运算,触点的并联可以实现“或”运算,用常闭触点控制线圈可以实现“非”运算。多个触点的串、并联电路可以实现复杂的逻辑运算,例如图1-3中的继电器电路实现的逻辑运算可以用逻辑代数表达式表示为KM=(SB1+KM)· 978-7-111-54209-4-Chapter01-4.jpg · 978-7-111-54209-4-Chapter01-5.jpg ,式中的加号表示逻辑或,乘号(·)或星号(*)表示逻辑与,变量上面的水平线表示“非”运算。因为同一BOOL变量的常开触点和常闭触点的状态相反,有上划线的地址对应于常闭触点。与普通算术运算“先乘除后加减”类似,逻辑运算的规则为先“与”后“或”。为了先作“或”运算(触点的并联),用括号将“或”运算式括起来,括号中的运算优先执行。

2.PLC的循环处理过程

CPU的程序分为操作系统和用户程序。操作系统用来处理PLC的启动、刷新过程映像输入/输出区、调用用户程序、处理中断和错误、管理存储区和通信等任务。

用户程序由用户生成,用来实现用户要求的自动化任务。

PLC得电或由STOP模式切换到RUN模式时,CPU执行启动操作,将没有断电保持功能的位存储器定时器和计数器清零,清除中断堆栈和块堆栈的内容,复位保存的硬件中断等。此外还要执行一次用户生成的启动组织块OB100,完成用户指定的初始化操作。以后PLC采用循环执行用户程序的方式,这种运行方式也称为扫描工作方式

在PLC的存储器中,设置了一片区域用来存放输入信号和输出信号的状态,它们分别称为过程映像输入区和过程映像输出区。

下面是循环处理的各个阶段的任务(见图1-4):

978-7-111-54209-4-Chapter01-6.jpg

图1-3 异步电动机控制电路

978-7-111-54209-4-Chapter01-7.jpg(www.xing528.com)

图1-4 扫描过程

1)操作系统启动循环时间监控。

2)CPU将过程映像输出表(Q区)的数据写到输出模块。

3)CPU读取输入模块的输入状态,并存放到过程映像输入表(I区)。

4)CPU处理用户程序,执行用户程序中的指令。

5)循环结束时,操作系统执行其他任务,例如下载和删除块,接收和发送全局数据。

6)CPU返回第一阶段,重新启动循环时间监控。

STEP 7将用户编写的程序和程序所需的数据放置在块中,功能块FB和功能FC是用户编写的子程序,系统功能块SFB和系统功能SFC是操作系统提供给用户使用的标准子程序,它们和组织块OB统称为逻辑块。在启动完成后,每次循环都要调用一次主程序OB1,OB1可以调用OB之外的逻辑块。被调用的逻辑块又可以调用OB之外的下一级的逻辑块。

如果有中断事件出现,循环的程序处理过程被暂停执行,并自动调用分配给该事件的中断组织块。该组织块被执行完后,被暂停执行的块将从被中断的地方开始继续执行。

在循环程序处理过程中,CPU并不是直接访问I/O模块中的输入地址区和输出地址区,而是访问CPU内部的过程映像区(I/Q区)。

在写输出模块阶段,CPU将过程映像输出区的状态传送到输出模块。梯形图中某一数字量输出位(例如Q4.0)的线圈“通电”时,对应的过程映像输出位为1状态。信号经输出模块隔离和功率放大后,继电器型输出模块中对应的硬件继电器的线圈通电,其常开触点闭合,使外部负载通电工作。若梯形图中输出位的线圈“断电”,对应的过程映像输出位为0状态,在写输出模块阶段之后,继电器型输出模块中对应的硬件继电器的线圈断电,其常开触点断开,外部负载断电,停止工作。

在读输入模块阶段,PLC把所有外部输入电路的接通/断开状态读入过程映像输入区。外部输入电路接通时,对应的过程映像输入位(例如I0.0)为1状态,梯形图中该输入位的常开触点接通,常闭触点断开。外部输入电路断开时,对应的过程映像输入位为0状态,梯形图中该输入位的常开触点断开,常闭触点接通。

某个位地址为1状态时,称该位地址的状态为ON;该位地址为0状态时,称该位地址的状态为OFF。在程序执行阶段,即使外部输入电路的状态发生了变化,过程映像输入位的状态也不会随之而变,输入信号变化了的状态只能在下一个扫描周期的读取输入模块阶段被读入过程映像输入区。

PLC的用户程序由若干条指令组成,指令在存储器中顺序排列。在没有跳转指令和块调用指令时,CPU从第一条指令开始,逐条顺序地执行用户程序,直到用户程序结束之处。在执行位逻辑指令时,从过程映像输入区或别的存储区中将有关位地址的0、1状态读出来,并根据指令的要求执行相应的逻辑运算,运算结果写入指定的位地址。因此,各位地址的存储区的内容随着程序的执行而变化。

3.扫描周期

扫描周期(Scan Cycle)是指操作系统执行一次如图1-4所示的循环操作所需的时间,扫描周期又称为扫描循环时间(Scan Cycle Time)。扫描周期与用户程序的长短、指令的种类和CPU执行指令的速度有很大的关系。当用户程序较长时,指令执行时间在扫描周期中占相当大的比例。在PLC处于运行模式时,可以从CPU的模块信息对话框或OB1的局部变量获得最大扫描周期、最小扫描周期和上一次的扫描周期。

扫描周期将会因为下列事件而延长:中断处理、诊断和故障处理、测试和调试功能、通信、传送和删除块、压缩用户程序存储器、读/写微存储卡(MMC)等。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈