下面是我写的一个子程序-----定时排污子程序:SBR5,我把它调用了5次,运行的时候Q0.3---Q0.7的输出总是按同一个间隔时间输出,并没有按照各自设定的时间运行,我感觉是因为T37和T38被调用了5次的原因,但是不知道怎么解决。定时器号能不能做成变量在调用时更改呢?请各位指教
定时排污子程序:SBR5
Network 1 // 时间转换
LD SM0.0
MOVW LW0, LW5
*I +600, LW5
MOVW LW2, LW7
*I +10, LW7
Network 2 // 排污间隔时间
LD SM0.0
AN M10.1
AN T37
TON T37, LW5
Network 3
LD T37
S M10.1, 1
Network 4
LD M10.1
= L4.0
Network 5 // 排污排放时间
LD M10.1
AN T38
TON T38, LW7
Network 6
LD T38
R M10.1, 1
下面是主程序:
LD SM0.0
CALL 定时排污子程序:SBR5, 一号排污间隔时间:VW130, 一号排污排放时间:VW132, Q0.3
CALL 定时排污子程序:SBR5, 二号排污间隔时间:VW134, 二号排污排放时间:VW136, Q0.4
CALL 定时排污子程序:SBR5, 三号排污间隔时间:VW138, 三号排污排放时间:VW140, Q0.5
CALL 定时排污子程序:SBR5, 四号排污间隔时间:VW142, 四号排污排放时间:VW144, Q0.6
CALL 定时排污子程序:SBR5, 五号排污间隔时间:VW146, 五号排污排放时间:VW148, Q0.7