发布于 2007-07-11 21:46:23
0楼
请问斑主,如果要递增或递减一次是要用上沿指令还是用下沿指令来触发?
以下是我的开关量处理子程序,计时用的是秒触发递增指令,请帮看看,如果在主程序中调用,能量正常.其中M2.2为自动/手动切换开关;
SUBROUTINE_BLOCK Digital:SBR7
TITLE=
VAR_INPUT
IN0:BYTE; //反馈数量(0,1,2)
IN1:BYTE; //反馈允许时间(秒)
IN2:BOOL; //RESET反馈地址
IN3:BOOL; //SET反馈地址
END_VAR
VAR_IN_OUT
IO5:BOOL; //物理输出地址
IO6:BYTE; //开关量状态
IO7:BYTE; //反馈计时时间(秒)
END_VAR
VAR_OUTPUT
OUT4:BOOL; //报警输出
END_VAR
BEGIN
Network 1 // 网络标题
// 网络注释
LD SM0.0
MOVB LB3, MB2
Network 2
LD SM0.0
LDB= LB0, 2
A L2.0
LDB= LB0, 1
AN L2.1
OLD
LDB= LB0, 0
AN L2.2
OLD
ALD
= M2.6
Network 3
LD SM0.0
LDB= LB0, 0
A L2.1
LDB= LB0, 0
A L2.2
OLD
ALD
= M2.7
Network 4
LD SM0.0
LPS
A M2.2
AN M2.0
S M2.0, 1
LPP
A M2.2
A M2.0
R M2.0, 1
Network 5
LD M2.1
A M2.0
LD M2.4
AN M2.0
OLD
= L2.2
Network 6
LD L2.2
LDN M2.7
O M2.6
ALD
LDN L2.2
LDN M2.6
O M2.7
ALD
OLD
= M2.3
Network 7
LD M2.3
A SM0.5
AN M2.5
EU
DECB LB4
Network 8
LD SM0.0
AB>= LB4, LB1
= M2.5
= L5.0
Network 9
LDN M2.3
MOVB 0, LB4
Network 10
LD SM0.0
MOVB MB2, LB3
END_SUBROUTINE_BLOCK
学如逆水行舟,不进则退