关键词:逻辑设计同步化、脉冲信号产生、前后逻辑条件一致、前后逻辑条件一致实现方法
2.4.1 基本思路
PLC指令是一条一条执行的,先执行的指令执行后,所引起的输出变量或内部状态变量变化,将可能改变后执行指令的执行条件。同时,PLC指令还是不间断地周期执行,前一扫描周期执行的结果,也将对次一周期的执行产生影响。所以,它是典型的异步时序逻辑。
硬件上也有很多用到异步时序逻辑的,如有反馈信号的一些门电路、继电器控制电路。同时,也还有用到同步时序逻辑的。与异步时序逻辑不同的是,它有统一的节拍转换脉冲,在这个转换脉冲作用期间,输出变量或内部状态变量变化是同时发生的,同步也有此而得名。因此,它能避免在此转换脉冲作用期间,变量变化的相互的影响。由于避开了这个相互影响,所以非常复杂时序逻辑电路也比较容易处理。PLC的CPU芯片多复杂!其实它所用的就是高度集成的同步时序逻辑电路。它的工作就是由统一的节拍转换脉冲,即同步脉冲控制。
能否借用硬件这个同步处理的机理,使 PLC的异步时序逻辑同步化,从而也简化它的设计?
关键在于是否能做到以下3点:
1)在 PLC程序执行后,要靠 I/0刷新才予以输出,是否可把/0刷新理解为同步脉冲?2)在一个扫描周期中,先执行的指令执行后,会引起输出变量或内部状态变量变化,有没有办法不使这个变化影响后执行指令的执行条件?
3)能否用脉冲信号,即变量变化时仅在变化后的第一个扫描周期起作用的信号,作为控制输人,以使输出变量或内部状态变量变化仅在这脉冲信号作用的扫描周期中完成?显然,以上3点是可以做到的。而做到了以上3点,PLC的时序逻辑实质上就是同步时序逻辑.即同步化了。因而,它的问题也都可用同步时序逻辑方法处理了。针对上述3点,为了实现同步化,有两个要点:1)除逻辑条件用“电平”,即持续的ON或OFF,信号所有引起输出变量或内部状态变量变化的输人信号都用脉冲信号,即用ON或OFF一个扫描周期的信号。这可确保只是在脉冲信号作用期间才有输出变量或内部状态变量变化,并经0刷新后输出的改变才得以实现。而无脉冲信号作用的扫描周期,输出变量或内部状态变量都不发生变化。
2)在脉冲作用扫描周期中,用指令执行顺序的合理安排等方法,使先执行的指令执行后引起的输出变量或内部状态变量变化,不改变后执行指令的执行条件。这如同步脉冲电路一样,在脉冲信号作用期间,所有输出变量及内部变量状态变量的变化都与冲信号作用前相同,做到前后逻辑条件一致。
2.4.2 产生脉冲的方法
本方法的关键是要用到脉冲信号。脉冲产生方法有:
(1)微分指令多数PLC都有这个指令。如OMRON公司PLC的DIFU(三菱PLC用PLS),上升沿微分,即在信号从OFF到ON时,它ON一个扫描周期:DIFD(三菱PLC用PLF),下降沿微分,即在信号从ON到OFF时,它ON一个扫描周期。西门子公司PLC则用P指令作上升沿微分;用NOT加P指令作下降沿微分。其效果也是相同的。
(2)基本指令组合图1-18中的MM1、MM2就是脉冲信号。从图知,左阀开不到位时MM1、MM2全为OFF。一旦到位,先是MM1ON,接着MM2ON。但到了下一个扫描周期时由于MM2常闭点作用,则使MM10FF。显然,当左阀开到位时,这里的MM1只ON一个扫描周期。
读者自己可以分析,图2-18的MM3左阀开到位的下降脉冲信号。
2.4.3 前后逻辑条件一致的方法
有3种方法可作到前后逻辑条件一致。
1.合理地安排指令的先后顺序
在脉冲信号作用下执行“某一梯级指令”,可能产生某输出或内部状态改变,而这个改变又可能改变“别的一组指令”的执行条件,则应把这“某一梯级指令”排在后面,后执行;而可能被其变化的而改变指令执行条件的这个“别的一梯级指令”排在前面,先执行。这可使得这输出或内部状态改变不会在本扫描周期内对别的变量的处理产生影响,可作到前后逻条件一致。
如图 2-19所示,在原始状态(所有输出均0FF)时,来了第一个脉冲信号PP,从图知,只有第四梯级指令执行有效果,使YY0置位。YY0置位会改变第三梯级的指令执行条件,但这时它的指令已执行完毕,故在此脉冲作用期间不再会有什么变化。
这时,如再来一个脉冲信号PP,从图知,只有第三梯级指令执行有效果,由于这时YY0ON,故使YY1置位、YYO复位。YY1置位会改变第二梯级的指令执行条件,但这时它的指令已执行完毕,故在此脉冲作用期间,也不再会有什么变化。
这时,如来第三个脉冲信号PP,从图知,只有第二梯级指令执行有效果,由于这时YY1ON,故使YY2置位、YY1复位。YY2置位会改变第一梯级的指令执行条件,但这时它的指令
已执行完毕,故在此脉冲作用期间,也不再会有什么变化。
到了第三个脉冲信号PPOFF,从图知,只有第一梯级指令执行有效果,由于这时YY20N,故使 YY2复位。而执行第二、三、四梯级指令时,由于脉冲信号为OFF,所以,不会有其它的输出变化。此时,此梯形图逻辑又回到原始状态。
如再来脉冲,将重复上述过程。
可知,如指令的顺序安排得当,可避免脉冲期间,前面的变化对后面的影。
但是,在关系较复杂的梯形图中,有时难以对所有的输出或内部状态变量,都能达到上述要求。这时,就要用以下两种方法。
2.对输出作中间记录
在所设计的梯形图后面,加人一组逻辑,对输出及内部状态作中间记录,以把该梯形图的有关输出或内部变量变化记录下来。记录办法是,用有关输出或内部变量作为常开触点,去控制一个对应的内部变量,并用这个对应的内部变量去取代在原梯形图中用以建立各个逻辑条件的原输出与内部的变量。
如图 2-20所示,B0、B1、B2 即为这里讲的输出或内部变量,而 B00、B11、B22 即为这里讲的用以记录这些变量的对应变量。B00、B11、B22对B0、B1、B2的作中间记录。要用到B0、B1、B2作逻辑条件的变量,就用 B00、B11、B22代替。
由于这组记录列在所设计的梯形图后面,所以,如脉冲作用使B0、B1、B2变化,虽会引起B00、B11、B22的相应变化,但在本扫描周期中,B00、B11、B22的这个变化,对B0、B1、B2逻辑条件将不起作用,这就保证了在脉冲信号作用引起的输出与内部变量变化的周期中,各有关逻辑条件都不会改变,保持了前后逻辑条件的一致。
这个方法要多用一些内部器件,也要增加一些指令,这是它的不足。但用起来非常简单,而可确保作到“前后逻辑条件一致”。且,
3.用变量变化产生的脉冲信号屏蔽
利用有关输出或内部变量变化产生的脉冲信号,对变量的变化进行屏蔽。其目的是在本脉冲信号作用周期中,如某个变量有所变化,但在其后的要执行的指令中,如有该变量,那该变量要按变化前的状态取值。
这3种方法中,使用较简单的还是对输出作中间记录。
2.4.4 同步化处理实例
图 2-20是很好同步化处理实例。它有B2、B1、B0共3个输出。为把这个梯形图处理成同步.时序逻辑,用b22、b11、b00对B2、B1、B0作中间记录,且主令信号为计数脉冲,它ON时只作用一个扫描周期。但图中未列出脉冲信号产生的逻辑。
起始时,B2、B1、B0全为0,其状态用000表示。b22、b11、b00也全为0。这时,如计数脉冲 PPON,在执行计数段指令时,b22、b11、b00状态不会变,仍然全为0,从分析 B0、B1、B2起动逻辑知,B0起动条件为1,将工作,0N。而B2、B1起动条件均为0,不可能工作,仍都为0。
之后,执行中间记录处的几条指令。执行后,b00、b11、b22对B2、B1、B0的变化了的状态作了记录,为以后计数脉冲的作用提供新的逻条件。但不会对本扫描周期计数段指令的执行起作用。因为,到了下一个扫描周期,计数脉冲已OFF,B1、B2不可能起动。B0则由于计数脉冲的非为1,保持条件为1,肯定将继续0N。可知,000状态,接受一个计数脉冲后,将变为001。
在001时,若计数脉冲PP再ON,在执行计数段指令时,b22、b11、b00状态不变,为001,从分析知,B0保持条件为1,将保持工作,仍为N。而B1起动条件为1,将起动、工作,变为ON。而B2起动条件为0,不能工作,仍为0。之后,执行中间记录处的几条指令。执行后b22、b11、b00将记录为 011。又为下一次计数作准备。可知,001状态,接受一个计数脉冲 PF后,将变为011。
在011时,若计数脉冲PP再ON,在执行计数段指令时,b22、b11、b00状态不变,为011从分析知,B0保持条件为0,起动条件也为0,B0将停止工作,转为OFF。而B1保持条件为1将保持工作,仍为 0N。而 B2起动条件为0,不能工作,仍为0。之后,执行中间记录处的几条指令。执行后,B22、B11、B00将记录为010。又为下一次计数作准备。可知,011状态,接受一个计数脉冲后,将变为010。
在010时,若计数脉冲PP再ON,还可作类似的分析,可知它将为110。再接着为111。再接着为 101。再接着为100。再接着为000。
此逻辑即为有名的“格雷码”计数器。显然,如不用同步化处理,要设计这样的计数器是不易的。
素材来源:
易启邦(工控一体化纵深服务生态平台)编辑部
#易启邦 #仪器帮 #一起帮
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.