jzdcff
级别: 探索解密
精华主题: 0
发帖数量: 37 个
工控威望: 168 点
下载积分: 543 分
在线时间: 36(小时)
注册时间: 2013-05-13
最后登录: 2020-05-20
查看jzdcff的 主题 / 回贴
楼主  发表于: 2019-01-23 10:52
套路,也是思路,就平时常见的程序基本看过两种套路
1、输出点用线圈输出,输出在程序里只有一处
2、输出点直接用set和rst控制,一个输出点在程序里多处出现

大家都用什么套路,各自优缺点是什么
[ 此帖被jzdcff在2019-01-23 11:05重新编辑 ]
zhengf1989
级别: 略有小成
精华主题: 0
发帖数量: 142 个
工控威望: 273 点
下载积分: 686 分
在线时间: 486(小时)
注册时间: 2012-11-28
最后登录: 2024-11-11
查看zhengf1989的 主题 / 回贴
1楼  发表于: 2019-01-25 21:04
引用
引用第17楼静夜思飘于2019-01-24 11:51发表的  :
其实用哪种方法都无所谓,不过在2的时候,通常置复位的间隔条数不超过20行,而且尽量别多处set,rst同一个点,宁可多写几行。否则调试的时候很难分辨出是通过那些条件置位或复位的。
用1虽然有时候复杂一些,但是好处是调试及后期检修中可以直观的看到这个输出点位是通过什么状态导通或关断的。而且有时候逻辑性在屏幕内直接就可以全部看到。
其实最容易出错的是通过条件进入的子程序内的点输出,条件不成立后的循环,无论是1,2都无法自己断开已经成立的通路。这和软件编程有很大区别,因为俺是自己瞎捣鼓学的PLC,曾在这方面栽过跟头,而且调试时也最容易出问题。俺现在用最笨的办法就是,子程序除了做过程计算用外,直接M8000引用。在子程序内设置条件。

与层主有一样的体会,有条件的调用子程序,跳转程序,主控指令都会容易出现错误,子程序一直调用是可以,就是扫描周期没有缩短,不过现在plc的存储空间都很大,处理速度也很快,不会有什么影响,我这个想法对吗?想和层主交流一下,子程序调用,或者西门子的fb,fc块有条件调用时,怎么写可以避免错误。