首页 上一页 1 2 下一页 尾页

指示灯顺序控制三 点击:1994 | 回复:37



别墅

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:133帖 | 1355回
  • 年度积分:0
  • 历史总积分:3722
  • 注册:2006年4月09日
发表于:2009-11-10 14:36:52
楼主
有8个指示灯Y~Y7,当按下正循环开关后,每隔3秒顺时针点亮一灯,当按逆序开关时,无论执行到哪一个灯,均逆时针每隔3秒熄灭一灯,当按停止开关时,则所有指示灯均熄灭,停止动作。写出程序



yjig

  • 精华:2帖
  • 求助:5帖
  • 帖子:97帖 | 5237回
  • 年度积分:0
  • 历史总积分:12514
  • 注册:2004年6月04日
发表于:2009-11-21 11:17:43
21楼

每隔3秒顺时针点亮一灯,也就是Y0+Y1+…,直到Y0-Y7全部都亮,然后再全部熄灭,并再次循环。

反向循环,先是8个灯全亮,然后逐一熄灭,先熄Y7,再熄Y6,直到全部熄灭,并再次全亮循环。
没事再写一个,是DECO解码指令:

zhouduoliang

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 156回
  • 年度积分:0
  • 历史总积分:1219
  • 注册:2007年2月14日
发表于:2009-11-21 13:49:45
22楼

yjig

  • 精华:2帖
  • 求助:5帖
  • 帖子:97帖 | 5237回
  • 年度积分:0
  • 历史总积分:12514
  • 注册:2004年6月04日
发表于:2009-11-21 20:16:56
23楼

每隔3秒顺时针点亮一灯,也就是Y0+Y1+…,直到Y0-Y7全部都亮,然后再全部熄灭,并再次循环。

反向循环,先是8个灯全亮,然后逐一熄灭,先熄Y7,再熄Y6,直到全部熄灭,并再次全亮循环。

没事再写一个,是ROL、ROR移位指令,式中X0为启动,X1为停止,X2为换向,WAND的作用是避免出现负数,因为有负数,在换向时(ROL)会出错。程序共64步,含结束。



miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:23帖 | 3065回
  • 年度积分:0
  • 历史总积分:12421
  • 注册:2008年9月18日
发表于:2009-11-21 22:20:51
24楼

实现楼主要求的功能,并提供循环方式转换,1 种 即当灯从左到右全部亮起后,又从第一个灯开始熄灭!直至全部熄灭,在逐个亮起,往复循环!另一种方式就是楼主要求的,当要求的灯全亮后,接着全灭,在次逐个亮起,这样往复循环!

  做成了子程序,提供两个Bool 量输入,1个选择循环方式,1个选择循环方向!

主程序:

子程序:

miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:23帖 | 3065回
  • 年度积分:0
  • 历史总积分:12421
  • 注册:2008年9月18日
发表于:2009-11-21 22:23:58
25楼
最后一张图片,不过程序没测试!

刘存刚

  • 精华:0帖
  • 求助:1帖
  • 帖子:13帖 | 110回
  • 年度积分:0
  • 历史总积分:337
  • 注册:2008年8月06日
发表于:2009-11-21 22:45:18
26楼
回复内容:
对:yjig 关于

本人有几点看法:

1、时间继电器T0所用的时间是固定的3秒,没必要采用一个变量D0去控制,可以直接用T0,T0是每隔3秒发一个脉冲,因此可以省去MOV  D79V0  D0。

2、程序中没有用到D10,而程序中却有MOV  V0  D10,是否打错了,是MOV  V0  D100?但采用MOV V0 D100来替代时,仍然不行。

内容的回复:谢谢你,我又改了一下程序:



yjig

  • 精华:2帖
  • 求助:5帖
  • 帖子:97帖 | 5237回
  • 年度积分:0
  • 历史总积分:12514
  • 注册:2004年6月04日
发表于:2009-11-22 11:25:32
27楼

每隔3秒顺时针点增加一灯,先是Y0亮,然后是Y0+Y1,直到Y0-Y7全部都亮,然后再全部熄灭,并再次重复循环。

反向循环,先是8个灯全亮,然后逐一熄灭,先熄Y7,再熄Y6,直到全部熄灭,并再次全亮循环。


以下是ROL、ROR移位指令,式中X0为启动,X1为停止,X2为换向。与以上(23楼)不同的是,不用WAND,也不用INC,直接一次加载8个灯,左移时初始D0=HFF00,右移时初始D0=H00FF,采用M8022标志继电器作为循环复位信号。程序共58步,含结束。



别墅

  • 精华:0帖
  • 求助:0帖
  • 帖子:133帖 | 1355回
  • 年度积分:0
  • 历史总积分:3722
  • 注册:2006年4月09日
发表于:2009-11-23 12:14:41
28楼
太精彩了!可惜有些指令还是看不懂~

别墅

  • 精华:0帖
  • 求助:0帖
  • 帖子:133帖 | 1355回
  • 年度积分:0
  • 历史总积分:3722
  • 注册:2006年4月09日
发表于:2009-11-23 16:54:51
29楼
回复内容:
对:yjig 关于

每隔3秒顺时针点亮一灯,也就是Y0+Y1+…,直到Y0-Y7全部都亮,然后再全部熄灭,并再次循环。

反向循环,先是8个灯全亮,然后逐一熄灭,先熄Y7,再熄Y6,直到全部熄灭,并再次全亮循环。

没事再写一个,是ROL、ROR移位指令,式中X0为启动,X1为停止,X2为换向,WAND的作用是避免出现负数,因为有负数,在换向时(ROL)会出错。程序共64步,含结束。



内容的回复:


这个再试一次好像有正序转逆序时不符合要求,我试验了,谢谢

yjig

  • 精华:2帖
  • 求助:5帖
  • 帖子:97帖 | 5237回
  • 年度积分:0
  • 历史总积分:12514
  • 注册:2004年6月04日
发表于:2009-11-23 17:24:19
30楼

我试了一下没发现什么问题,既然你说不符合要求,那就把你试的仿真图发上来。

其实,以上的程序在真实的应用几乎很少,仅不过是练手演习而已,借写程序的机会,提高关于字、位以及移动方面的知识。

提个建议:

1、从网上找一本三菱的或者台达的使用手册,两本手册各有千秋,三菱的有目录,便于查找,台达的字迹清楚,写的详细。

2、从你发的图,我估计你用的是FXGP-WIN-C软件,建议从网上下载一个GX Developer软件,该软件的功能要比你所用的强的多。

3、从基本的2进制、16位、32位入手,写一个MOV   D0   K2Y000,在仿真的状态下,人工修改D0的数值,看看Y0-Y7之间有什么变化,慢慢的体会他们的含义。

别墅

  • 精华:0帖
  • 求助:0帖
  • 帖子:133帖 | 1355回
  • 年度积分:0
  • 历史总积分:3722
  • 注册:2006年4月09日
发表于:2009-11-24 09:17:10
31楼

首先感谢大师的真诚教导,我基础较差,学起来可能有点费劲,其实我学习PLC也用不上,只是感兴趣而已,我会按照大师的建议去学习的,以后还望多多赐教!

由于昨天可能快下班的缘故,实验时候可能出错,今天试验了一下完全符合要求,深感抱歉!

我用的软件是GX Developer7.0的,其实我只是对继电器的那种编程方法有所了解,至于一些功能指令懂得不多。学习一段时间看看如何?

jameslee8

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 43回
  • 年度积分:0
  • 历史总积分:122
  • 注册:2005年7月11日
发表于:2009-12-25 16:07:18
32楼
回复内容:
对:别墅 关于

写一个程序大家审核!

接上图
内容的回复:

我也需要这种类型的控制

zhouduoliang

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 156回
  • 年度积分:0
  • 历史总积分:1219
  • 注册:2007年2月14日
发表于:2009-12-29 18:03:53
33楼

 

D200~D208 分别存放1,2,3,4,5,6,7,8,0;D210~D218分别存放8,0,1,2,3,4,5,6,7;D220~D228分别存放0,1,3,7,15,31,63,127,255. 再与下面的程序结合即可达到楼主提出的要求

尘埃00K

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 43回
  • 年度积分:0
  • 历史总积分:118
  • 注册:2007年7月20日
发表于:2010-01-05 09:44:20
34楼

请问YIIG你是用什么型号的PLC编的!谢谢!

尘埃00K

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 43回
  • 年度积分:0
  • 历史总积分:118
  • 注册:2007年7月20日
发表于:2010-01-05 09:56:40
35楼

请大家说明用的是什么牌子什么型号的PLC这样回家好仿真交流!谢谢!

 

yjig

  • 精华:2帖
  • 求助:5帖
  • 帖子:97帖 | 5237回
  • 年度积分:0
  • 历史总积分:12514
  • 注册:2004年6月04日
发表于:2010-01-05 10:19:41
36楼

三菱FX-PLC,可以仿真。

 

yjig

  • 精华:2帖
  • 求助:5帖
  • 帖子:97帖 | 5237回
  • 年度积分:0
  • 历史总积分:12514
  • 注册:2004年6月04日
发表于:2010-02-01 20:20:30
37楼

每隔3秒顺时针点亮一灯,也就是Y0+Y1+…,直到Y0-Y7全部都亮,然后再全部熄灭,并再次循环。

反向循环,先是8个灯全亮,然后逐一熄灭,先熄Y7,再熄Y6,直到全部熄灭,并再次全亮循环。


刚学了西门子,没事再写一个S7-200的,程序经仿真测试。式中I0.0为启动,I0.1为停止,I0.2为换向,SM1.1循环溢出标志。



热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页