以前一直使用日系的PLC,感觉上升、下降沿使用起来特方便,一个箭头就搞定。
而博途软件下必须要多加一个位才能实现,而且不能重复,需要多分配一个地址,在主程序里也就算了,如果我要在FB的做一个功能块,里面可能会使用能上升、下降沿。如附图所示,那么上升沿下面的位是不是也必需定义Input,FB每次调用都要分配不同的位地位才行。 如果我要多次调用FB, 这样使用下来感觉有点烦。
有没有办法可以让上升、下降沿下面的位在FB内部自动分配,在调用FB中只分配参数就可以,把它们的位做为临时变量自动生成。
谢谢!
图片说明:
最佳答案
首先要明白上升沿或者下降沿相当于是本周期值与上周期值进行比较得出的。
1. 日系或者S7-200应该是系统自动缓存了。因为西门子的编程思想是通用性,自己去分配使用也无可厚非。
2.因为你用的是FB块,上升沿所用的辅助点的地址最好写在静态变量里面,不要用其他接口或外部地址,这样你写好,多次调用FB块,也不存在你说的每次要分配不同位的情况。
3. 因为临时变量只在本周期有意义,不能作为缓存只用,所以不能作为上升沿下降沿的辅助点。
4.就你所贴程序而言,上升沿启动,下降沿停止,为什么不干脆用线圈呢,简洁明了。
提问者对于答案的评价:
谢谢!
1、刚测试了一下,把上升沿位放在Static里面可以实现,刚开始我是把几个地方的上升、下降沿用了同一个变量,导致输出异常,每个输入分配一个静态变量就可以了。
2、该贴的程序只是为了突出上升沿的使用问题,我实际要用的FB要比这个复杂很多。
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc160924.html