我的SBR3中:
Network 1 // 初始化
// 关闭所有控制各温室的电磁阀,但打开控制低压泵的电磁阀。
LD SM0.0
R L1.0, 2
S L1.6, 1
Network 2
// 令当前温室编号为1,使每一次扫描都从温室1开始。
LD SM0.0
MOVB 1, LB2
Network 3
// 如果为温室1,调用单室定时控制子程序,写入对应的输入和输出参数。
LDB= LB2, 1
CALL 单室定时控制:SBR5, VW300, VW302, VW304, VB306, VB307, VB308, VB309, VB310, VB311, VB312, VB313, LB2, L1.0, LB3, LB4
Network 4
// 如果为温室2,调用单室定时控制子程序,写入对应的输入和输出参数。
LDB= LB2, 2
CALL 单室定时控制:SBR5, VW315, VW317, VW319, VB321, VB322, VB323, VB324, VB325, VB326, VB327, VB328, LB2, L1.1, LB5, LB6
在NETWORK 3 和NETWORK 4 中都调用SBR5,虽然输入参数不同,但输出都一样,是不是我的逻辑有什么问题?LB2是IN-OUT
还有,在运行时,如果一个子程序被多次调用,在程序状态中我只能看到第一次被调用的状态,是不是我的操作有错误?
麻烦了,谢谢!