工控PLC擂台第93期 已结帖 (工控机 plc)

目的

编写一个 S7-200 程序,使用一个按钮随意控制 10 个灯泡,使其亮或灭。

编程构思

  1. 使用连续按钮按下的次数 (N) 来决定选中第 N 号灯。例如,连续按 3 下按钮,则选中第 3 个灯。
  2. 如果选定的灯亮着,则将其熄灭。如果选定的灯灭着,则将其点亮。
  3. 连续按钮按下的间隔为 0.5~1.5 秒,以确保连续按钮次数的准确性。

程序设计

该程序将使用按钮输入信号 (I0.0) 连接到 2 个断电延时定时器 T101 和 T102。

  • T101 定时时间为 300mS,用于防止按钮抖动引起的打连发现象。
  • T102 定时时间为 1.5S,用于确保连续按钮按下的间隔。

当按下按钮时,I0.0=1,T101 和 T102L 置 1 (即 T010=1, T102=1)。

如果产生抖动,其抖动脉冲间隔<300S,故 T101 和 T102L 置 1 不变。当抖动消失后,延时 0.3 秒,T101 由 1↓0,使 MB10 计数加 1。

在<1.5 秒内,再次按按钮,T101 立刻又 = 1,而 T102 仍保持 = 1。当按钮抬起后延 0.3S,T101 又由 1↓0,其后沿触发计数器 MB10 使其加 1。

如果按钮连续按下 3 次,则 MB10=3,延时 1.5 秒后,T102 因无脉冲再触发,T102 的输出状态:1↓0,即使 M0.1=1。此时开始判断。

M0.1=1 实为 T102=1 的后沿,当它出现时,最后一次按钮的抬起已结束了 1.5 秒。此时 MB10 的值即为连续按下按钮的次数。

使用 MB10 与 1~10 比较,MB10=几,就选中第几号灯。

为了决定被选灯是亮还是灭,编程使用了 SR 触发器指令组成了双稳态触发电路。输出点 Q0.n 的常闭和常开触点分别串入触发支路,这样每次触发该电路,其输出点状态翻转一次。例如,如果原来的输出状态为亮,触发后变灭。如果原来的输出状态为灭,触发后变亮。

程序代码

``` LD I0.0 AN T101.Q AN T102.Q S MB10 T101 PT 300 T102 PT 1500 L MB10 C 1 JNE L1 L MB10 C 2 JNE L2 L MB10 C 3 JNE L3 L MB10 C 4 JNE L4 L MB10 C 5 JNE L5 L MB10 C 6 JNE L6 L MB10 C 7 JNE L7 L MB10 C 8 JNE L8 L MB10 C 9 JNE L9 L MB10 C 10 JNE L10 L1: SR Q0.0 JMP END L2: SR Q0.1 JMP END L3: SR Q0.2 JMP END L4: SR Q0.3 JMP END L5: SR Q0.4 JMP END L6: SR Q0.5 JMP END L7: SR Q0.6 JMP END L8: SR Q0.7 JMP END L9: SR Q0.8 JMP END L10: SR Q0.9 JMP END END: ```

结束语

使用 S7-200 编程来控制 10 个灯泡是一个很好的练习,它可以帮助你理解计时器、触发器和比较指令的用法。

本文原创来源:电气TV网,欢迎收藏本网址,收藏不迷路哦!

相关阅读

添加新评论