请教三菱A系PLC程序 点击:2845 | 回复:84



无敌小强

    
  • 精华:1帖
  • 求助:0帖
  • 帖子:3帖 | 20回
  • 年度积分:0
  • 历史总积分:1205
  • 注册:2008年3月13日
发表于:2008-06-06 19:55:12
楼主

请教三菱A系PLC程序

I--【 <=   D50    K5  】-【 <=   D50   K25 】-----【 MOV   K0   D34】--I

这步程序怎么理解,我看不懂?

谢谢那位高人告知一下,详细点

 




wanggq

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

 

引用“wanggq  ”在№19楼说过的一句话:

 

   如果要随便地靠无根无据的“猜想”来讨论问题,那么问题的答案就是无穷无尽的!

﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍

   我再来继续发挥自己的想象力。

    假设 楼主遇到的程序是搞错了:譬如,把第一个“触点比较”指令中的数据寄存器编号搞错了(当然,还可以想象成,是第二个“触点比较”指令中的数据寄存器编号搞错了!  如此等等,无穷无尽!)。

  设想:楼主遇到的程序片断原本应当是这样的:

 

                  “ I--【 <=  D49 K5 】-【 <=  D50  K25 】-----【 MOV  K0  D34】--I ”  !!

 

  请问喜欢凭空猜疑的那些网友,您们会不会认为这个程序片断“不合理”呢?! 

 

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2008-07-18 16:31:51
42楼

 

  您们如果认为“不合理”,就请您们尽情的批评好了!但请您们注意用讲道理的方法,有根有据的进行说理!

zhaohongcat

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 16回
  • 年度积分:0
  • 历史总积分:44
  • 注册:2008年7月18日
发表于:2008-07-18 16:46:29
43楼

很简单的道理么,小于5必小于25

   所以用小于5代替就可以了

wanggq

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

 如果我把原程序片断想象成:

 

   “ I--【 <= D49 K5 】---【 >=  D50  K25】----【 MOV  K0  D34】--I ”  !!

 

    请您们仔细看看:这又合不合理呢?!!

 

 

wanggq

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

 

     无根无据的乱猜疑,可以说是不动脑筋 、不负责任!

 

  不动脑筋、不负责任的事就有很多人踊跃的去做,轻轻松松的发个不负责任的帖子 就赚他一个积分!要喊有根有据的进行说理,人们就不那么踊跃了!            

wanggq

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

 

  有一个西门子经销商叫“怒海孤鸿”宣传说“三菱系列PLC和西门子PLC的差距很大,一个是直上直下的纵向思维,一个是缜密严谨的横向思维方式。”

 

  我认为各种PLC是大同小异的,至于“思维的缜密”与否不在于PLC,而在于写PLC程序的人!有“缜密思维”的人认真写出来的程序就具有“缜密的逻辑”,如果写程序的人思维不行,就算给你价格再贵的PLC,你写出来的程序也不见得会因你的PLC的价位高而变得“缜密”起来!

  

动力勇

  • 精华:19帖
  • 求助:1帖
  • 帖子:317帖 | 4058回
  • 年度积分:0
  • 历史总积分:7849
  • 注册:2004年10月13日
发表于:2009-03-19 22:10:45
47楼

很佩服楼上,可以细心解答问题到透彻.

加精

 

 

zhliguang

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 7回
  • 年度积分:0
  • 历史总积分:25
  • 注册:2002年12月25日
发表于:2009-03-20 09:02:00
48楼

这样问题有必要这样费神吗?

国外的不一定就最好,

它也有错的时候!

wanggq

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

 

    哎呀,并没有人在说“国外的好”呀!!您不想费神,就请您不要参与讨论嘛!

 

    不论是“国外”的,还是“国内”的,我们都是用平等的目光去看待的!同理,不论您是“学历高”,还是“学历低”,在学术面前,都是平等的!要跟帖就请您用讲道理的方式来跟帖!

 

 

wanggq

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

 

  如果哪位认为某个程序(或片断)有错,想和网友们交流的呢,就请有根有据的指出来,帮助初学者看清它为什么是“错”。如果您觉得讲道理很费神,那就请您绕行!忙您的去吧!!

wanggq

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

 

   楼主是想知道“I--【 <=  D50  K5 】-【 <=  D50  K25 】-----【 MOV  K0  D34】--I ”这个程序片断是什么意思,即想知道这个片断起什么功能作用。

 

  正确的解释应该是:“当D50中的内容不大于5时,将D34中的内容清零”。要实现这个“当D50中的内容不大于5时,将D34中的内容清零。”的

 

功能还可以用比较简单一点的程序来实现。譬如:可以用“I--【 <=  D50  K5 】------【 RST  D34】--I ”。但这并不是说楼主所

 

转摘的这个程序片断就违反了三菱的编程语法、违背了三菱的某种编程规矩。只能说它是一个编得不够简练的程序片断!

 

  有些网友认为楼主转摘的这个片断中第一个“比较指令”写错了,应该是“>=”,但是这只是这些网友无根无据的猜测。他们之所以这样猜测,是

 

因为他们的逻辑思维只限于“纵向思维”。不过,这并不是三菱PLC的错!而是他们缺少逻辑思维训练的缘故!

 

  我在№41楼和№44楼提出了两个新问题,其目的就是要锻炼一下这些网友的“横向逻辑思维”!同时也能说明:没有西门子、AB之类的PLC,也能

 

把“横向逻辑思维”运用出来!

 

 

 

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2009-03-22 19:15:42
52楼

 

  №41楼提出的问题是:

   
  请问那些喜欢凭空作出判断说楼主给定的程序片断“不合理”的网友:下面的这个程序片断是不是也“不合理”呢?! 

 

 

   “ I--【 <=  D49 K5 】-【 <=  D50  K25 】-----【 MOV  K0  D34】--I ”  


  

wanggq

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

  可能那些网友认为:前一个比较条件应该是“ >= D50    K5 ”,这样才能在十进制数5到25之间形成一个范围。而你这个新问题更是让人感到疑惑:你这两个数据(k5 和 k25)不在同一个数据寄存器里,这怎么可能确定出一个数据范围来对D34的数值进行清零呢?

 

  我们可以把思维放开一些!如果我们在平面上建立一个2维的笛卡尔坐标,把问题摆到这个坐标系上来,问题就迎刃而解了!

 

 

 

wanggq

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

 

  把№44楼的问题放到笛卡尔坐标上的图示:

 

 

轴承制造

  • 精华:1帖
  • 求助:1帖
  • 帖子:69帖 | 967回
  • 年度积分:0
  • 历史总积分:3386
  • 注册:2006年9月14日
发表于:2009-03-22 20:27:15
55楼
一般工程师把程序编好后,都是很严谨的。然后再加上没有用的程序段,增加读程序的难度,再把内部点打乱。到现场试机时,可能会出现想不到的情况,再由调试人员改动一点,就乱了。。

wanggq

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

 

  请网友们务必注意:上面的这两个图示只画出了D34 清零的区域的一部分。

 

  №53楼只画出了清零区域的横、纵坐标的上限值。而省略的横、纵坐标下限值均为“ -32768 ”;№54楼只画出了横坐标的下限值(+25)、纵坐标的上限值(+5)。而省略的横坐标上限值为“+32767”、省略的纵坐标下限值为“-32768” 。

wanggq

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

 

    №48楼的"zhliguang"一上来就掷块“烂砖”:“这样的问题有必要这样费神吗?国外的不一定就最好,它也有错的时候!”

 

     这里到底有谁在说“国外的就最好”呢?本来在我们的眼里国外的东西并没有什么了不起,不也是人做出来的吗?我们要争取做得更好!但这不是单靠喊两句“抵制日货”口号就能做到的,得认真努力地学习!要努力学习就要认认真真的与人交流!交流是要讲道理的!不能无根无据的就说某个程序(或片断)“有错”。不动脑筋、不负责任的掷块“烂砖”是最不“费神”的,但这样的态度能使您的水平提高吗?根本不可能!

 

  要说哪个程序(或片断)“有错”就得有根有据的指出来!下面这张图片的内容就是有根有据的指出某错误程序的“错误”错在什么地方,哪一点违反了编程的语法。谨以此给那些只晓得掷“烂砖”而不知道讲道理的人做一个示范:

 

wjing20128

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 53回
  • 年度积分:0
  • 历史总积分:101
  • 注册:2007年10月25日
发表于:2009-03-23 11:39:19
58楼
程序是没有错误,是完全可以得到想要的结果,只是有些人编程序的时候就是喜欢那样,把简单的问题复杂化!

master_____

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 32回
  • 年度积分:0
  • 历史总积分:91
  • 注册:2004年9月29日
发表于:2009-03-23 16:26:51
59楼

没道理,就是这样子的,是开发的时候功能实现了,懒得去除那些没用而又不影响使用的功能和指令罢了。我有时就这么做,去不去都一样反正扫描足够快。不行了再说。

wanggq

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

 

  我再给大家展示一个程序片断,这是当年从一个刚购进(完全可以正常运行)的设备上转摘下来的。请大家认真仔细的分析一下,它有没有错?它有没有懒得去掉的无用的东西?它有没有道理?!

 


热门招聘
相关主题

官方公众号

智造工程师