您现在所在的是:

PLC论坛

回帖:0个,阅读:280 [上一页] [1] [下一页]
1374
wyb2866255
文章数:142
年度积分:50
历史总积分:1374
注册时间:2011/4/18
发站内信
发表于:2012/5/17 21:51:33
#0楼
用S7-200为网友求助帖编写的程序及解析
   求助帖:用S7200 224CPU,用本体上的10个输出点作一定时间的循环输出,Q0.0-Q0.1-Q0.2-Q0.3-Q0.4-Q0.5-Q0.6-Q0.7-Q1.0-Q1.1-Q0.0……,要求用移位指令。
   回复:我给你编个程序,上机运行正确,不是用时间中断产生2S脉冲,而是用秒脉冲计数分频(M10.0)产生的 2S 振荡脉冲。当右移到M3.2(即Q1.2)时,应立刻使MW2=16#100,才会使Q1.1输出后Q0.0输出,见下图:
附件
附件
 
   网友又问:同样的命题:启动时Q0.0~Q1.1间隔可调的时间,保持输出。即Q0.0——Q0.0,Q0.1……Q0.0~Q1.1再有脉冲也就保持;停止时,按相反顺序,相同的间隔时间停止,即Q1.1——Q1.0……Q0.1——Q0.0,要求用循环程序指令编写,请大侠编一个程序,谢谢!
   回复:根据你的要求,我用2个定时时间可设定的定时器T101与T102构成振荡器来编程(经上机运行),供你参考。
在开机的第一个扫描周期,通过SM0.1指令自动的将T101、T102的定时时间设定为1秒,程序可按2秒的振荡周期运行。如想改变振荡间隔时间,可由上位机或触摸屏来设定定时器的设定值MW4即可。编程如下:
附件
附件
附件

   如没有上位机或触摸屏与PLC通讯,可用2个按钮,连接输入口I0.6与I0.7,通过简单编程,也可实现手动设定时间,见下梯形图:
附件

附件

   置数举例:如设置时间为2秒,即应置20个数(十进制),因设置数为16进制数,故应设置数(16进制)为16#14,先按一下置数按钮(I0.6),MW4显示值为:0000_0001,再按一下移位按钮(I0.7),MW4值为:0001_0000,再按4下I0.6,MW4值为001_0100,设置完毕。
如将定时器T101与T102设定为1秒延时,下面的程序也可实现你原来要求:(都经上机运行):
附件
附件

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

31.2002