子程序不同时调用时,可以在不同的子程序多次引用同一定时器号吗?
v存储区做位使用时,可以在不同的子程序中多次使用吗?比如说在sbr0中使用了,t33,m0.0,在sbr1中再次使用t33,m0.0但是sbr0和sbr1不在同一时刻调用。值能有一个被接通,会有什么影响。
问题补充:
那如果我把线圈全部放到主程序中。在子程序中引用触点会有问题吗?
最佳答案
1、子程序不同时调用时,可以在不同的子程序多次引用同一定时器号吗?
不要这样应用,容易引起混乱。
转帖:“
、定时器在子程序中的表现:
a、在条件调用子程序的主程序中,当停止子程序调用时,如果定时器已经激活正在计时,停止调用这个子程序会造成定时器的失控。不管此时定时器前面的激活条件如何变化,定时器(1ms、10ms 时基的)会一直走到最大值,定时器输出也会在达到设定值时接通;(100ms 时基的定时器会在上述情况下停止计时,但在逻辑上处于失控状态)。
如果用 SM0.0 调用子程序;或者在控制逻辑的时序上做到能够保证定时功能完整执行,定时器会正常运行。使用条件调用含有定时器的子程序时,一定要注意时序逻辑,以免造成程序运行错误。
b、注意, S7-200 PLC 2009年系统手册中文版204页说:“当子程序在同一个周期内被多次调用时,不能使用上升沿、下降沿、定时器和计数器指令。
子程序中有两点:
、定时器: 不能做参数,而用固定编号的定时器肯定出问题;
间接解决办法:用定时计时器代替,但影响了程序的可读性;
、上升沿/下降沿: 一个点的上升沿/下降沿要用一个中间点,S7-200是隐含
了这个中间点, 这在重入的子程序中可能是一个严重问题。
解决办法:用等效电路代替.
2、v存储区做位使用时,可以在不同的子程序中多次使用吗?
可以使用,但要注意逻辑的正确性。
3、m0.0但是sbr0和sbr1不在同一时刻调用。值能有一个被接通,会有什么影响?
会有什么影响?这要看你的程序了。当然,在如果在sbr0和sbr1中m0.0被接通后要执行相应的程序逻辑了。
提问者对于答案的评价:
谢谢
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc261429.html