我觉得这个程序有问题大家帮忙看看 点击: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

大家看看可行吗?




wanggq

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

 

  在几十年前,我们玩硬件电路时,常用如下措施去消除开关信号的“颤动”:

 

wanggq

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

 

  如今在PLC上,我们是采用软件编程的办法消除开关信号的“颤动”:

 

动力勇

  • 精华:19帖
  • 求助:1帖
  • 帖子:317帖 | 4058回
  • 年度积分:0
  • 历史总积分:7849
  • 注册:2004年10月13日
发表于:2009-05-07 15:26:25
43楼
加精                                              

wanggq

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

 

    谢谢"动力勇"网友的支持!!

 

 

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2009-05-08 14:25:37
45楼
引用ddkk4477 在第19楼的内容:

 

   我在编程的过程中,也觉得很多程序用M是有优势的


 


 


   “ddkk4477 ”网友只简单的说“用M是有优势的” ,但就是举不出事实依据来!

 

   事实上,有些情况下不用M还能使程序比较简练!在这种情况下,应当说“不用M才是有优势的”!其优势就在于:当没有必要用M的时候,不去笨拙的、生硬的加进一些M,从而使程序写得简练!

 

  下面就摘引几个帖子内容来对比说明,在没有必要使用M时,不用M所显出的优势:

 

  “laolan”先生提出“理论”:“在高强电火化和电场所使用可能会出现误操作。……如果加上一个辅助继电器利用其扫描一个周期的时间和共模作用。相信效果会好点。”
  
   可能是在这个“理论”的影响下“mast”网友也用一个“辅助继电器(M0)”来作“ALT命令”的“操作数”。希望以此能“可靠”地满足[摁一下按钮,“输出位(Y0)”只改变一次状态]。其向我们展示的程序是:

 


    LD X00

 

    ALT M0


    LD M0

 

    OUT Y00  

 
    END

 

 
  但是,“mast”的这个程序也不会因为使用了“辅助继电器(M0)”,而使得程序运行的结果能够“可靠”地满足[摁一下按钮,“输出位(Y0)”只改变一次状态]这一“目的”要求。

 
  这是为什么呢?,这是因为“mast”网友用错了“交替命令”的执行型式!这与PLC“硬件”的“共模抑制”概念扯不上关系!“ALT”命令是“连续执行型”命令,在“执行条件”为“ON”的期间内,程序的每一扫描周期都会执行一次“ALT”命令。 当我们操作“X00”时,我们根本不可能保证把摁下按钮的时值正好控制在程序的“一个扫描周期”内,也不可能刚好控制成“(2n+1)个周期”。所以,当我们放开按钮时,无法保证“操作数(M0)”翻转的次数刚好是“奇数”!故,这个程序不能保证实现操作者的愿望。并且在操作者摁下按钮使“执行条件”为“ON”的期间内“输出位(Y0)”会发生“高速振动”,这就是我们所不希望出现的现象。

 

 
  如果“mast”网友改用“脉冲型执行型”的交替命令“ALTP”,则,不用“辅助继电器(M0)”作交替命令的“操作数”而改用“输出继电器(Y0)”直接替换之,也能“非常可靠”地保证实现[摁一下按钮,“输出位(Y0)”只改变一次状态]这一“目的”的愿望。这是因为由PLC软件定义的“ALTP”命令的“执行方式”是:只在“执行条件”从“OFF”跳变到“ON”这一“前沿”执行。即:在“执行条件”为“ON”的期间内,交替命令仅只“执行一次”!至于“交替命令”的“执行”的“可靠性”,则完全与该命令的操作对象是否为“辅助继电器(M)”无关,而只与PLC实体的“制造技术”相关!


wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2009-05-08 14:34:39
46楼

 

  “laolan”先生还提到“电场和其他干扰源都是us级的”。     但是,事实上PLC对于“微秒”级的“输入信号”一般是不会做出反应的。这是为了防止输入接点抖动或输入线混入“噪音”PLC硬件的输入回路中设置有RC滤波网络 ,FX系列PLC的“X00”至“X07”中内置有“数字滤波器”,可通过“特殊数据寄存器(D8020)”设置“输入响应”时间。怎么可能象“laolan”先生预言的那样出现“高次周波振铃现象”?即使“干扰信号”能够作用于PLC对程序命令的“执行”,也不能说明“ALTP”的“目标元件”使用“辅助继电器”就比使用“输出继电器”要“可靠点”。“输出继电器”除了有“实体的元件”可作为PLC的“对外接口电路”之外,它在程序中的角色也是一个“虚拟元件”,它和“辅助继电器”一样也是PLC内存中的一个“bit”。所以,PLC在执行“ALTP M0”与“ALTP Y0”这两条命令的“可靠性”上是不分优劣的!

 

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2009-05-08 14:49:44
47楼

 

  把“mast”网友的这个使用了M的程序跟第4楼的那一个不使用M的程序放置在一起相比,相信大家都能得出正确的结论:第4楼的那个不用M的程序要优越一点!

 

    “mast”网友的这个使用了M的程序         第4楼的那个不用M的程序 


      LD  X00                     LD         X00
      ALT M0                      ALTP     Y00

      LD    M0                                                                     END
      OUT Y00  
      END




            

ycliyibo

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 20回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2009-05-08 19:49:49
48楼
如果不加END结束程序,不行

wanggq

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

 

          如果是叫您把某一“功能片断”插入到一个已经正常运行过的程序里,并要求保持程序原有的功能一点也不减少。您要是连“END命令”也一同插入原有程序的中间,那您就非常的“外行”!!

 

 

沧海回眸

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 13回
  • 年度积分:0
  • 历史总积分:19
  • 注册:2009年5月08日
发表于:2009-05-08 21:28:31
50楼
本人拥有比较齐全的西门子CNC,PLC资料以及比较齐全的FAUNC的CNC资料,其中包括西门子840D资料,和FAUNC18i/21i/oi系列资料,还有力士乐CNC资料和三菱A系列,Q系列,FX系列PLC资料。想和拥有三菱CNC资料以及拥有DCS资料的朋友交换分享!有其他系列CNC,PLC资料的朋友也可以交换,如果有需求的话,请联系我。





QQ:375247124

邮箱:fenghuang8179@yahoo.com.cn

欢迎全国各地做自动化朋友们只要需要的话,不管有没有资料都来联系我,大家共同探讨共同提升!

长征三号

  • 精华:0帖
  • 求助:1帖
  • 帖子:54帖 | 910回
  • 年度积分:0
  • 历史总积分:1121
  • 注册:2008年6月16日
发表于:2009-05-09 14:52:44
51楼
好呀,大家常来学习交流交流呀

长征三号

  • 精华:0帖
  • 求助:1帖
  • 帖子:54帖 | 910回
  • 年度积分:0
  • 历史总积分:1121
  • 注册:2008年6月16日
发表于:2009-05-09 14:54:32
52楼
好东西大家来学习交流交流吧

学习siemens

  • 精华:23帖
  • 求助:347帖
  • 帖子:1611帖 | 22281回
  • 年度积分:37
  • 历史总积分:98482
  • 注册:2007年3月22日
发表于:2009-05-11 16:05:21
53楼
顶。学习一下,只玩过SIEMENS类的东东

笨笨猫

  • 精华:1帖
  • 求助:3帖
  • 帖子:70帖 | 1517回
  • 年度积分:0
  • 历史总积分:2257
  • 注册:2008年6月15日
发表于:2009-05-11 22:28:22
54楼

好帖子,建议加精!呵呵,学习了

中原龙

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 831回
  • 年度积分:0
  • 历史总积分:1291
  • 注册:2007年7月09日
发表于:2009-05-12 11:14:58
55楼
顶。学习一下                      

mini007

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2009年5月15日
发表于:2009-05-15 23:11:15
56楼
好................................

新手VS不懂

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2009-05-16 20:41:56
57楼

你们在说什么哦 难得看 LDP    X0          ALT     Y0     可以 那个LD    X0          ALT    YO      怎么动作哦  当你按的时候会一直以扫描周期输出 Y0   而且会烧点哦

 

长征三号

  • 精华:0帖
  • 求助:1帖
  • 帖子:54帖 | 910回
  • 年度积分:0
  • 历史总积分:1121
  • 注册:2008年6月16日
发表于:2009-05-17 21:55:57
58楼
学习了大开眼界了呀ipnub

独行浪人

  • 精华:0帖
  • 求助:0帖
  • 帖子:13帖 | 88回
  • 年度积分:0
  • 历史总积分:331
  • 注册:2005年7月14日
发表于:2009-05-19 09:54:12
59楼

用FF就更简单了啊!

邪恶的方丈

  • 精华:1帖
  • 求助:0帖
  • 帖子:8帖 | 81回
  • 年度积分:0
  • 历史总积分:152
  • 注册:2008年10月25日
发表于:2009-05-22 12:04:15
60楼

今天看到帖子这么多回复

wanggq很厉害多谢你的指导


热门招聘
相关主题

官方公众号

智造工程师