1.检测输入信号的边沿
本例程序用来说明如何用S7-200的检测边沿指令来检测简单信号的变化。在这个过程中,用上升和下降来区分信号边沿,上升沿指信号由“0”变为“1”,下降沿指信号由“1”变为“0”。逻辑“1”表示输入上有电压,“0”表示输入上无电压。程序用2个存储字分别累计输入I0.0上升沿数目以及输入I0.1下降沿数目。
程序利用输入I0.0和EU(上升沿)指令来判定上升沿变化是否发生,也就是说,信号由“0”变为“1”。如果一个上升沿变化发生了,那么存储字MW1的值增加1。ED(下降沿)指令用来计数输入I0.1的下降沿,用存储字MW3来计数。如果某一个存储字计数达到127,那么该存储字被重新置为0。注意MB2是存储字MW1的低字节,MB1为高字节。同样的,MB4为存储字MW3的低字节,MB3为高字节。I/O分配表如表4-35所示。程序梯形图如图4-24所示。
表4-35 I/O分配表


图4-24 检测输入信号的边沿程序梯形图
2.移位指令实现顺序控制
早期PLC中没有状态器及步进指令,这时可用移位指令实现“步”的转换。
图4-25所示为小车自动往返的示意图。

图4-25 小车工作示意图
小车一个工作周期的动作要求如下:
按下启动按钮SB(I0.0)后,小车前进(Q0.0),碰到限位开关SQ2(I0.2)小车后退(Q0.1)。小车后退碰到限位开关SQ1(I0.1)则停止。停止3 s后,再次前进,碰到限位开关SQ3(I0.3)则第二次后退,碰到限位开关SQ1(I0.1)时停止。直到再次按下启动按钮下个过程开始。
将小车工作过程作如图4-26所示分解。整个过程分为6个步序(M10.0~M10.5),每个步序所做的工作在右侧标出。当小车第二次碰到行程开关时,按照要求小车要停止在SQ1处,等待按钮的再次按下。I/O分配表如表4-36所示。

图4-26 小车工作过程流程图
表4-36 I/O分配表

注意各个步序的转移条件,当转移条件满足时,使用移位指令进入下一个步序。这种控制思想与已经介绍过的顺序控制相同。
程序梯形图如图4-27所示。

图4-27 小车运行梯形图
3.定时中断产生闪烁频率脉冲
本例使用定时中断来产生两个频率的脉冲。I0.0和I0.1是两个固定时基脉冲的输入端。当连在输入端I0.1的开关接通时,闪烁频率减半;当连在输入端I0.0的开关接通时,恢复成原有的闪烁频率。
首先将原有的闪烁周期写入定时中断0的特殊存储器SMB34和定时中断1的特殊存储器SMB35中。当到达定时中断0的定时时间时,执行中断程序0;当到达定时中断1的定时时间时,执行中断程序1。由于定时中断2的定时时间是定时中断1定时时间的2倍,所以本例中,输出端Q0.0会接通50 ms再断开50 ms,循环闪烁。
当将输入端I0.1接通时,Q0.0会以原来一半的频率闪烁,即周期增加2倍。所以首先要断开原中断事件与中断子程序之间的联系,然后写入新的中断时基,再指定中断程序;当输入端I0.0接通时,要回到原有频率,具体做法与写入新时基方法相同。
定时中断是按照写入的周期时间循环中断的。需要注意的是,定时中断的周期时间范围是5~255 ms,时间增量是1 ms。进行时间设定的时候不要超过这个范围。
I/O分配表如表4-36所示。程序梯形图如图4-28所示。(https://www.xing528.com)
表4-36 I/O分配表



图4-28 闪烁频率脉冲梯形图
4.广告彩灯控制
1)任务要求
利用PLC控制一组8个广告彩灯。当按下启动按钮时,8个广告彩灯从左向右、每隔2 s点亮。当8个广告彩灯全部点亮之后,持续10 s,然后每隔3 s闪烁1次,闪烁3次后,全部广告彩灯熄灭,再重复以上过程。当按下停止按钮时,全部广告彩灯熄灭。
根据任务要求,需要2个数字量输入点,8个数字量输出点,I/O分配表如表4-37所示。
表4-37 I/O分配表

续表

2)程序编写
根据I/O配置,建立程序符号表,如图4-29所示,其中M0.1和M0.2是内部标志位,启动标志M0.0代表已按下启动按钮,闪烁标志M0.1代表彩灯正在闪烁。Q0.1~Q0.7在符号表中显示“符号未使用”,这7个数字量输出点在程序中能被复位指令和移位指令隐含访问。点亮延时计时器T37计算彩灯点亮间隔时间,全亮延时定时器T38计算全部彩灯点亮后的持续时间。闪烁延时定时器T39计算彩灯的闪烁时间。闪烁计数器C1计算彩灯闪烁的次数。

图4-29 程序符号表
根据控制要求,编写PLC程序。当按下启动按钮时,彩灯1~彩灯8每隔2 s顺序点亮,如图4-30所示。在网络1中,当按下启动按钮时,启动标志位M0.0为OFF,设置启动标志位,熄灭所有彩灯。在网络2中,当常开触点T37接通时,彩灯没有全部点亮,执行左移指令,点亮下一个彩灯。在网络3中,当启动标志位M0.0为ON,且彩灯没有在闪烁阶段时,点亮彩灯1,并启动点亮延时定时器T37。网络2和网络3的顺序不能颠倒,网络2中的移位指令在每次向左移位时,会将最低位Q0.0(彩灯1)复位,执行网络3时,会将Q0.0置位,所以在循环周期结束时,输出映像寄存器中的Q0.0为ON,实际输出也为ON。如果网络2和网络3颠倒,执行移位指令后将 Q0.0复位,在循环周期结束时,输出映像寄存器中的Q0.0为OFF,下一个循环周期才会将Q0.0置位。如果是这样,则每次执行完移位指令后,Q0.0都会熄灭一个循环周期。



图4-30 广告彩灯控制梯形图
在网络4中,当QB0等于十六进制数16#FF,说明彩灯已全部点亮,此时启动全亮延时定时器T38。10 s后,计时时间到,定时器位被置位。在网络5中,当常开触点T38接通时,设置闪烁标志位M0.1。
在网络6中,当常开触点M0.1接通时,启动闪烁延时定时器T39,并与自身形成自锁回路,当T39计时到时,又重新开始计时,所以T39只能为ON一个循环周期的时间。在网络7中,当常开触点T39接通时,彩灯开始闪烁,QB0为16#FF时代表彩灯全部点亮,QB0为0时代表彩灯全部熄灭。每次T39接通时,QB0在16#FF和0之间切换。忘记JMP指令是最容易犯的错误。如果去掉JMP指令,则QB0总是16#FF,彩灯总是全部点亮,不会闪烁。网络8中是JMP指令所对应的标号。
在网络9中,当常开触点T39接通,且彩灯全部熄灭时,闪烁计数器C1加1。当闪烁计数器C1的值达到4时,闪烁计数器位被置位。闪烁计数器C1的计数过程如表4-38所示。在网络10中,当常开触点C1接通时,清除闪烁计数和闪烁标志位M0.1,并熄灭所有彩灯。但按下停止按钮时,熄灭所有彩灯,清除启动标志M0.0、闪烁标志M0.1和闪烁计数C1。
表4-38 闪烁接计数器C1 的计数过程

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