1.扫描工作方式
PLC有两种工作模式,即运行(RUN)模式与停止(STOP)模式。在运行模式,PLC通过反复执行反映控制要求的用户程序来实现控制功能。为了使PLC的输出及时地响应随时可能变化的输入信号,用户程序不是只执行一次,而是不断地重复执行,直至PLC停机或切换到STOP工作模式。
除了执行用户程序之外,在每次循环过程中,PLC还要完成内部处理、通信服务等工作,一次循环分为5个阶段(见图3-26)。PLC的这种周而复始的循环工作方式称为扫描工作方式。由于PLC执行指令的速度极高,从外部输入、输出关系来看,处理过程似乎是同时完成的。
图3-26 扫描过程
在内部处理阶段,PLC检查CPU模块内部的硬件是否正常,将监控定时器复位,以及完成一些其他内部工作。
在通信服务阶段,PLC与其他带微处理器的控制设备通信,响应编程设备输入的命令,更新编程设备的显示内容。
当PLC处于停止(STOP)模式时,只执行以上的操作。PLC处于运行(RUN)模式时,还要完成另外三个阶段的操作。
在PLC的存储器中,设置了两片区域用来存放输入信号和输出信号的状态,它们分别称为输入映像区和输出映像区。梯形图中的其他软元件也有对应的映像存储区。
在输入处理阶段,PLC把所有外部输入电路的接通/断开状态读入输入映像区。
外部输入电路接通时,对应的输入映像存储器为1状态,梯形图中对应的输入继电器的常开触点接通,常闭触点断开。外部输入电路断开时,对应的输入映像存储器为0状态,梯形图中对应的输入继电器的常开触点断开,常闭触点接通。
某一软元件对应的映像存储器为1状态时,称该软元件为ON;对应的映像存储器为0状态时,称该软元件为OFF。
在程序执行阶段,即使外部输入电路的状态发生了变化,输入映像区的状态也不会随之而变,输入信号变化了的状态只能在下一个扫描周期的输入处理阶段被读入。
PLC的用户程序由若干条指令组成,指令在存储器中按步序号顺序排列。在没有跳转指令时,CPU从第一条指令开始,逐条顺序地执行用户程序,直到用户程序结束之处。在执行指令时,从输入映像区或别的软元件映像区中将有关软元件的0、1状态读出来,并根据指令的要求执行相应的逻辑运算,运算的结果写入对应的软元件映像存储器中,因此,各软元件映像区(输入映像区除外)的内容随着程序的执行而变化。
在输出处理阶段,CPU将输出映像区的0、1状态传送到输出锁存器。梯形图中某一输出继电器的线圈“通电”时,对应的输出映像存储器为1状态。信号经输出模块隔离和功率放大后,继电器型输出模块中对应的硬件继电器的线圈通电,其常开触点闭合,使外部负载通电工作。若梯形图中输出继电器的线圈“断电”,对应的输出映像存储器为0状态,在输出处理阶段之后,继电器型输出模块中对应的硬件继电器的线圈断电,其常开触点断开,外部负载断电,停止工作。
2.扫描周期
PLC在RUN工作模式时,执行一次图3-26所示的扫描操作所需的时间称为扫描周期,其典型值约为10~100ms。扫描周期与用户程序的长短、指令的种类和CPU执行指令的速度有很大的关系。当用户程序较长时,指令执行时间在扫描周期中占相当大的比例。可以用编程软件读取扫描周期的当前值、最大值和最小值。
由于扫描工作方式的原因,PLC可能检测不到窄脉冲输入信号。输入脉冲宽度应大于PLC的扫描周期。
3.PLC的工作原理
下面用一个简单的例子来进一步说明PLC的扫描工作过程。图3-27给出了PLC的外部接线图和梯形图,该PLC控制系统与图3-9所示的继电器电路的功能相同。
图3-27 PLC外部接线图与梯形图
起动按钮SB1、停止按钮SB2和热继电器FR的常开触点分别接在编号为X0~X2的PLC的输入端,交流接触器KM的线圈接在编号为Y0的PLC的输出端。图的中间是这4个输入/输出变量对应的输入/输出映像存储器和梯形图。但是应注意,梯形图是一种软件,是PLC图形化的程序。梯形图中的软元件X0与接在输入端子X0的SB1的常开触点和输入映像存储器X0相对应,软元件Y0与输出映像存储器Y0和接在输出端子Y0的PLC内部的输出电路相对应。
梯形图以指令的形式储存在PLC的用户程序存储器中,图3-27中的梯形图与下面5条指令相对应,“//”之后是该指令的注释。
LD X0 //接在左侧母线上的X0的常开触点
OR Y0 //与X0的常开触点并联的Y0的常开触点
ANI X1 //与并联电路串联的X1的常闭触点
ANI X2 //串联的X2的常闭触点(www.xing528.com)
OUT Y0 //Y0的线圈
图3-27 中的梯形图完成的逻辑运算为
在输入处理阶段,CPU将SB1、SB2和FR的常开触点的状态读入相应的输入映像存储器,外部触点接通时读入的是二进制数1,反之读入的是二进制数0。
执行第1条指令时,从X0对应的输入映像存储器中取出二进制数并保存起来。执行第2条指令时,取出Y0对应的输出映像存储器中的二进制数,与X0对应的二进制数相“或”(电路的并联对应“或”运算),运算结果被暂时保存。
执行第3条和第4条指令时,分别取出X1或X2对应的输入映像存储器中的二进制数,因为是常闭触点,自动取反(作“非”运算,即1→0,0→1)以后与前面的运算结果作“与”运算(电路的串联对应于“与”运算),运算结果被暂时保存。
执行第5条指令时,将二进制数运算结果送入Y0对应的输出映像存储器。
在输出处理阶段,CPU将各输出映像存储器中的二进制数传送给输出模块并锁存起来,如果Y0对应的输出映像存储器存放的是二进制数1,则外接的负载线圈将通电,反之则将断电。
如果读入到输入映像存储器X0~X2的二进制数均为0,则在程序执行阶段,经过上述逻辑运算过程之后,Y0为0,使KM的线圈处于断电状态。按下起动按钮SB1,X0变为1状态,经逻辑运算后Y0变为1状态。在输出处理阶段,将Y0对应的输出映像存储器中的二进制数1送给输出模块,PLC内Y0对应的物理继电器的常开触点接通,接触器KM的线圈通电。
4.输入/输出滞后时间
输入/输出滞后时间又称为系统响应时间,是指PLC的外部输入信号发生变化的时刻至它控制的外部负载的状态发生变化的时刻之间的时间间隔,它由输入电路滤波时间、输出电路的滞后时间和因扫描工作方式产生的滞后时间这三部分组成。
输入模块的RC滤波电路用来滤除由输入端引入的干扰噪声,消除因外接输入触点动作时产生的抖动引起的不良影响,滤波电路的时间常数决定了输入滤波时间的长短,其典型值为10ms左右。
输出模块的滞后时间与模块的类型有关,继电器型输出电路的滞后时间为10ms;双向晶闸管型输出电路在负载通电时的滞后时间约为1ms,负载由通电到断电时的最大滞后时间为10ms;晶体管型输出电路的滞后时间小于0.2ms。
由扫描工作方式引起的滞后时间最长可达两、三个扫描周期。
PLC总的响应延迟时间一般只有几十毫秒,对于一般的系统是无关紧要的。要求输入/输出滞后时间尽量短的系统,可以选用扫描速度快的PLC或采取中断等措施。
可以用输入/输出刷新指令REF(FNC 50)来立即读取最新的外部输入电路的状态,以及将逻辑运算结果立即输出给外部负载。
5.双线圈输出
如果在同一个程序中,同一个软元件的线圈使用了两次或多次,则称为双线圈输出。在扫描周期结束时,图3-28a真正送到输出模块的是梯形图中最后一个Y0的线圈的状态。
图3-28a中两个Y0的线圈的通、断状态除了对外部负载起作用外,通过它的触点,还可能对程序中别的软元件的状态产生影响。图3-28a中Y0两个线圈所在的电路将梯形图划分为3个区域。因为PLC是循环执行程序的,最上面和最下面的区域中Y0的状态相同。如果两个线圈的通、断状态相反,不同区域中Y0的触点的状态也是相反的,则可能会使程序运行异常。例如因双线圈引起的输出继电器快速振荡的异常现象,所以一般应避免出现双线圈输出现象,可以将图3-28a改画为图3-28b。
图3-28 双线圈输出的处理
6.程序的优化设计
在设计并联电路时,应将单个触点的支路放在下面;设计串联电路时,应将单个触点放在右边,否则指令表程序将会多用一条指令(见图3-29)。
图3-29 梯形图的优化设计
a)不好的梯形图 b)好的梯形图
建议在有线圈的并联电路中,将单个线圈放在上面,将图3-29a的电路改为图3-29b的电路,可以避免使用压入堆栈指令MPS和弹出堆栈指令MPP。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。