比如Q0.0和Q0.1是控制气缸推出和回退的,I0.0 和I0.1是检测气缸推出和回退的,若Q0.0导通3秒内I0.0报警,应该怎样写?希望可以建立一个子程序所有Q点都可以调用它而不是每一个Q点通过加一个计时器来实现,毕竟计时器数量有限且那样写也比较繁琐。求大神指点
最佳答案
楼主你的意思应该:Q0.0和Q0.1是阀控制气缸推出和回退的,I0.0 和I0.1是磁性开关,检测气缸推出和回退到位的,若Q0.0导通3秒内,若I0.0不动作报警,若Q0.1导通3秒内,若I0.1不动作报警。是这样的吗?
其实子程序的逻辑关系与直接写的逻辑关系是一样的,只不过一个用的是局部变量,一个用的全局变量。调用子程序的时候,管脚以实参代替形参而已。楼主的程序逻辑关系不难,主要是子程序中如何使用定时器。
我的观点是,若是定器时够用的话,干脆不使用子程序。因为反复调用子程序,对定时器和计数器是有影响的,定时器会不停的响应最近的一次调用。计数器的影响是把各次的调用逻辑操作做总的累加或累减。另外对于200来说定时器和计数器不能做成接口函数。
当然200的PLC应该有办法做到子程序使用的定时功能,但我暂时不知道如何实现。
补充:
200子程序调用定时器 - 已解决问题
http://www.ad.siemens.com.cn/Service/answer/solution.aspx?Q_ID=31720&cid=1028
提问者对于答案的评价:
~~~~~~~`
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc135046.html