登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:讨论一下,10个灯,每隔一秒亮一个,哪种是最精简的PLC程序

点击:19789 回复:31

附件
附件
附件
附件
这是我现在做的一个,跟你的要求不太一样,要求流程开始就输出一个灯,然后亮1S灭1S开始下一个灯(总计12个),最后循环,写了这么长,感觉有点烦,不知哪位可以给精简下?
M50为主控开始的继电器,始终接通
12-11-30 18:15
有时间时,做做练习,比较比较还是不错的。
12-11-30 18:57
学习下呵呵
12-11-30 21:15
附件
附件
附件
附件

这是我那天写的程序,运用定时器+计数器,将各个灯置位, 按下停止,复位MB50,灭灯。
所以,单纯的移位是不能满足要求的。
12-11-30 21:33

引用 cvlsam 在 2012/11/30 15:58:30 发言【内容省略】

C侠,不好意思,
我描述和写的都没表述清楚,
正常的逻辑是这样的,
第一个灯亮(保持为1直至停止),隔1s,第二个灯开始亮(保持为1直至停止),再隔1秒,第三个灯亮(保持为1直至停止),如此循环,
到最后是十个灯全亮; 按下停止,全灭。
我后来写的程序都是置位的指令。
所以,移位只能是亮一个灯,我想实现的是逐个点亮,而且每个均保持常亮直至停止。
我把我写的程序也在后面贴出来了。
你看看有没有更简单的方法~~~
12-11-30 21:37
s7_300程序,不需要用时间继电器  用周期/时钟存储器和移位命令
I0.0为开关
附件
12-11-30 21:38

引用 339402782 在 2012/11/30 18:15:56 发言【内容省略】

兄弟,谢谢了,
但是不好意思,我描述和写的都没表述清楚,
正常的逻辑是这样的,
第一个灯亮(保持为1直至停止),隔1s,第二个灯开始亮(保持为1直至停止),再隔1秒,第三个灯亮(保持为1直至停止),如此循环,
到最后是十个灯全亮; 按下停止,全灭。
我后来写的程序都是置位的指令。
所以,移位只能是亮一个灯,我想实现的是逐个点亮,而且每个均保持常亮直至停止。
我把我的程序也贴了出来,你看看~~
12-11-30 21:39
还是用移位指令来解这道题  我这里做的是循环,灯逐一亮起  完成后全部熄灭再逐一亮起,如果不愿意循环,就将循环的语句删除就行了,I0.0是启动命令!释放灯全灭
循环的那个赋值应该写成初始值,不然Q0.3会闪一下
附件
最后修改:2012/11/30 22:56:31
12-11-30 22:25
用移位指令
附件
最后修改:2012/12/1 0:28:00
12-12-01 00:26
附件
12-12-02 10:54

上一页 下一页

工控新闻

更多新闻资讯