登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:工程师们,谁要是这样子写定位程序,我跟谁急!!!

点击:3624 回复:29

看到论坛一个朋友的帖子如下图
附件 微信截图_20191221150920.jpg
我一看就知道受到其受到一些定位案例资料甚至于官方的案例来写的。比如下面这样:
附件 微信图片_20191221150927.jpg
这样写法的人非常多,可是这样很不直观,而且很容易由于程序错误导致程序不同位置都触发定位功能。也没有更好的节省PLC资源,即同一个功能最好是只在一处调用,这更符合编码理念。
比如高级语言中把一些常用的功能封装成类或者说做成一个方法。在程序中需要用到的时候只需要调用这个方法即可。用到PLC编程中也是一样,我们可以把一个伺服定位程序中常用到的如回原点,绝对定位,相对定位等做成一个方法,然后在程序中其它地方都只需要调用这个方法(如绝对定位)即可。
如下图采用信捷PLC的简单示例。三菱等其它品牌也是如此:
附件 微信图片_20191221150935.jpg
附件 微信图片_20191221150941.jpg
下面把伺服定位常用的做成一个方法
附件 微信图片_20191221150945.jpg
这样子和大家之前常规写法相比,哪种好些当然可以大家展开讨论。我个人是非常反对每次定位都去直接使用定位指令的!!!
19-12-21 15:26
   把定位功能放在一个专门的子程序或者块里,在其前面实现各种步动作,最终都只是调用这一个指令所在行。就完全可以在前面不需要每次写定位程序,而只关心逻辑动作,比如第一步走到绝对位置A,第二步走到绝对位置B,第三步走到绝对位置C,第四步又回到绝对位置A。这样的定位程序可以先把步骤写好,然后每一步对后面需要调用的定位指令的相关位置值进行赋值即可。然后执行到哪一步就触发一次定位指令的触发条件。作为每一次定位所需要的定位指令则直接放在动作程序后面(为什么)只写一次即可。
   可惜好多程序编写者并不这样写。
19-12-21 15:32
DRVA我一般只用一次…
19-12-21 15:58
不同的写法也展示了不同的思维
假如做这么一个事
甲要打A一顿,要打50下。然后他打完了,乙也要打A一顿100下,完了后丙也要打A150下(囧,A好惨)
前面人的思维就是甲把A拉出来打完50下,然后乙又把A拉出来打,完了后又是丙。
这样一来他们仨发现这不划算啊,我们三个人打这个A还轮流累的要死三个人都要费力。而且A此时也凑过来凄惨的说对啊你们按顺序来都算了,你们还有时候甲在打我的时候乙也过来打了。太没人性了,甚至有时丙也一起上,叫我怎么活。
然后大家一致商量算了,大家一起请个打手,甲说打的时候打手打A 50下,然后完了后打手再按乙的吩咐打100下,大家都把指令告诉打手按先后执行。 这样大家都觉得轻松,甲乙丙都觉得省事了。A也觉得至少不用多重挨揍了。
19-12-21 16:06
就是说最好就调用一次是吧
19-12-21 16:11
表情 感谢指正。表情
19-12-21 17:28
试了。可以。
最后修改:2019/12/21 21:43:21
19-12-21 19:09
说的就是你?表情
19-12-21 19:42
感谢指导,学习了。
19-12-21 21:27

引用 sinemonk 在 2019/12/21 17:28:53 发言【内容省略】

哈哈客气啦,谢谢!没有特意指哪位,泛指哈哈^_^。
19-12-21 22:01

上一页下一页

工控新闻

更多新闻资讯