我觉得这个程序有问题大家帮忙看看 点击:8675 | 回复:115



邪恶的方丈

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 81回
  • 年度积分:0
  • 历史总积分:31
  • 注册:2008年10月25日
发表于:2009-04-17 20:56:16
楼主

今天在教课书上看到一个编程题目:用跳步指令设计用一个按钮X0控制Y0的电路,第一次按下Y0变位ON第二次按下Y0变为OFF

它给出的答案是这样的

LDP X0

OUT M0

LDI M0

CJ   P0

LDI Y0

OUT Y0

P0

大家看看可行吗?




yj001719

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 30回
  • 年度积分:0
  • 历史总积分:203
  • 注册:2009年1月18日
发表于:2009-06-23 15:12:29
81楼

路过  支持下

qjzhaha

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 10回
  • 年度积分:0
  • 历史总积分:119
  • 注册:2006年11月14日
发表于:2009-06-24 11:49:58
82楼
我感觉这是最直观的方法

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2009-06-24 13:20:30
83楼

 

      上面这第85楼的程序片断如果是针对“按(X000)键‘奇数’次,Y000为NO;按(X000)键‘偶数’次,Y000为OFF ”这一“目的”。则这个程序片断是完全不行的!(因为操作者摁下按钮“X000”的时间根本不可能保证在程序扫描周期的“ 2n+1 ”倍!)

 

  如果它是为了实现“摁住(X000)期间,让Y000的状态在程序的每一个周期里发生一次改变”这一“目的”。则这个程序片断可以满足要求,但它却完全没有意义!

 

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2009-06-25 16:36:51
84楼

 

    第85楼的梯形图片断很“直观”的显露出一个毛病:在PLC正常运行中,当X000被接通的持续时间内,输出继电器Y000将发生高速振动!

 

  该梯形图片断还有一个毛病:它的功能无法保证满足操作者的“摁动一次(X000)按钮,输出位(Y000)就改变一次状态”这一愿望!

 

wenjian1

  • 精华:1帖
  • 求助:0帖
  • 帖子:10帖 | 600回
  • 年度积分:15
  • 历史总积分:1083
  • 注册:2006年11月14日
发表于:2009-06-25 17:09:35
85楼

太精彩了,,学习了                

wangwangxh

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 52回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2009-06-28 00:50:37
86楼

 这么好的贴,顶一下

 

 

 

YSC1

  • 精华:3帖
  • 求助:2帖
  • 帖子:129帖 | 2487回
  • 年度积分:88
  • 历史总积分:8018
  • 注册:2002年6月07日
发表于:2009-06-28 09:25:33
87楼

强烈鄙视次帖内的广告人,建议斑竹将其删除!

candao1985

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 13回
  • 年度积分:0
  • 历史总积分:6
  • 注册:2009年7月02日
发表于:2009-07-02 10:25:08
88楼
比我在书上学到的都多

金克锦

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:207
  • 注册:2004年11月08日
发表于:2009-07-03 21:08:39
89楼
同意5楼的观点,用ALTP

袁469423209

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:5
  • 注册:2009年6月21日
发表于:2009-07-19 15:21:51
90楼

我感 ALTP 的作用就是用来一键启停的 

 

袁泉

  • 精华:2帖
  • 求助:23帖
  • 帖子:209帖 | 1789回
  • 年度积分:54
  • 历史总积分:3170
  • 注册:2005年4月26日
发表于:2009-07-20 11:02:59
91楼

wanggq 很热心,辛苦了。值得大家前习,我在些表示感谢。

谢谢您的教导。

barryja

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2009年6月13日
发表于:2009-07-20 20:13:02
92楼
回复内容:
对:wanggq 关于

 

  嘿嘿!任何程序都要有“END”!我们只说一个“片断”时,就省略了“END”及程序的其它部分,因为一个程序只可以使用一个“END命令”来表示程序的结束。

 

      验证一个功能的程序(片断)是否可行,最好的办法就是“实践”,把它写进一个程序里(在整个程序的最末尾当然少不了END),并让PLC运行。结果怎样一试便知!

 

  下面就是曾经在《殊途同归》一帖中贴出的验证《图3》至《图11》所示梯形图功能的实验程序:

 

   这是一个高速验证《图3》至《图11》这9个梯形图所示逻辑功能“完全等效”的程序。  在高速的情形下,为了不致影响PLC输出继电器硬件的寿命,所以要选用晶体管输出型的PLC。如果您只有继电器输出型的PLC,那就请您将程序第10步的操作元件改成“M8013”,这样也有利于您用肉眼观察PLC的“Y000、Y002至Y010”这8个输出点的翻转是否“步调一致”。   在做这个实验时,需要您做一点儿“硬件接线”把PLC的输入点“X000”联接到输出点“Y001”。由“Y001”控制“X000”的“ON/OFF”。

 

 

  上面这个验证程序中的“X007”是复位各计数器的按钮,用于使试验从零开始。“C16”是用于设置一个试验次数(本例中为3000次),网友们可以自己另选一个次数。当“X000”经历从“OFF”跃变到“ON”的次数达到你所设定的数目时“Y013”指示灯就亮起,表示试验次数已满,“Y000”、“Y002”至“Y010”这8个输出点就停止翻转。“C17”至“C24”的设定值取最大值:k32767,是为了让计数器有充足的余量,以便验证某些人宣扬的“PLC在恶劣环境下程序使用了‘中间继电器M’就比不用‘中间继电器M’要可靠些”的“理论”是一个彻头彻尾的谬论所做的特殊考虑!

 

内容的回复:大哥,我在网上看到你的分析特别详细,但我不懂含义,因为我一直在厂里干电工工作,车间里的机器也多,我现在都是用外界的时间继电器、中间继电器等电器可以把它运转起来,也能维修,但不懂plc内部的知识,自己也有电脑和编程器,始终进不了门,如果大哥愿意帮帮忙,小弟感激不尽,QQ:951576324,


wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2009-07-20 21:53:26
93楼

 

   回复楼上的“b a r r y j a”网友:

 

  我是有空才来上一会儿网,把这当作一种休闲。我没有QQ聊天的习惯。你想问什么问题,就在我的主题帖下跟帖提出来吧,我有空的时候来网上看到你的问题,我会抽出时间给你做回复的。

 

liulie20009

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2008年9月12日
发表于:2009-07-29 18:49:02
94楼

两个X0自锁有问题 程序计数器C0不会累加

candao1985

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 13回
  • 年度积分:0
  • 历史总积分:6
  • 注册:2009年7月02日
发表于:2009-08-05 10:03:20
95楼
“Y000 ”和“Y001 ”分别是用“ALYP指令”和“跳转”的方法来做的“一键启停”功能的程序片断的“输出位”。

miy_gongkong

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

哎,大家应该本着真诚的态度互相交流,这里有不少人好像觉得比别人多懂一点,就有点居高临下的感觉,我告诉你么,学无止境,

没仕么别人比你们笨的,只不过有些人不擅长这一点逻辑分析而已;

我没看过仕么“用M论”,但我还是比较赞同多用 M 做一步继电信号,这只是一种编程习惯,不一定是最理想的,但它是有几点好处的;

例如:1. M 继电器在输入中,当需要修改用常开点/常闭点时,可以用 M ,这样在以后需要把常开点替换成常闭点时,可以替换一步输入即可;

          不必没步引用到输入点都去修改;

         2.  M 点在输出时,可以在中间再插入其他逻辑条件;

 

miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:23帖 | 3065回
  • 年度积分:0
  • 历史总积分:12421
  • 注册:2008年9月18日
发表于:2009-08-05 19:39:12
97楼
上面的梯形图简单的实现  上升沿功能,能理解这个就很容易做一个按钮信号做一个点ON/OFF翻转输出;

winter938

  • 精华:1帖
  • 求助:0帖
  • 帖子:55帖 | 945回
  • 年度积分:0
  • 历史总积分:3418
  • 注册:2005年6月12日
发表于:2009-08-05 19:40:53
98楼

 

这样应该可以实现

再简化一下下,呵呵

winter938

  • 精华:1帖
  • 求助:0帖
  • 帖子:55帖 | 945回
  • 年度积分:0
  • 历史总积分:3418
  • 注册:2005年6月12日
发表于:2009-08-05 19:50:43
99楼
利用扫描的先后实现上升沿的检测,w0.01就是I0.00的上升沿

miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:23帖 | 3065回
  • 年度积分:0
  • 历史总积分:12421
  • 注册:2008年9月18日
发表于:2009-08-05 21:00:15
100楼

你这个可以说是简化吧!但和继电器方式的逻辑组织想法有点不同,你的方式是基于先后扫面,且循环扫描!


热门招聘
相关主题

官方公众号

智造工程师