发布于 2006-01-10 14:50:11
0楼
七组阀,每个阀为双线圈,因而最多能同时工作的线圈个数为7个
I0.0-I0.7;I2.0-I2.7为阀的开关,I1.0-I1.7;I3.0-I3.7为返回信号
Q4.0-Q4.7;Q6.0-Q6.7对应十四个线圈
Q5.0-Q5.7;Q7.0-Q7.7对应十四个报警信号
DB1.DBX0.0为报警复归信号
可做如下类似控制(只做了三组,其它相同):
//OB1 "Main Program Sweep (Cycle)"
A(
O I 0.0
O Q 0.0
)
AN I 0.1
= Q 4.0
A(
O I 0.1
O Q 0.1
)
AN I 0.0
= Q 4.1
A(
O I 0.2
O Q 0.2
)
AN I 0.3
= Q 4.2
A(
O I 0.3
O Q 0.3
)
AN I 0.2
= Q 4.3
A(
A Q 4.0
AN I 1.0
O
A Q 4.1
AN I 1.1
O
A Q 4.2
AN I 1.2
O
A Q 4.3
AN I 1.3
)
FP M 20.0
S M 10.0
A M 10.0
JNB M001
CALL SFC 32
OB_NR :=20
DTIME :=T#3S
SIGN :=MW0
RET_VAL:=MW2
M001: A BR
R M 10.0
A DB1.DBX 0.0
FP M 20.2
S M 10.2
A M 10.2
JNB M002
CALL SFC 32
OB_NR :=20
DTIME :=T#1MS
SIGN :=MW30
RET_VAL:=MW32
M002: A BR
R M 10.2
A(
O I 1.0
O I 1.1
O I 1.2
O I 1.3
)
FP M 20.1
S M 10.1
A M 10.1
JNB M003
CALL SFC 33
OB_NR :=20
RET_VAL:=MW4
M003: A BR
R M 10.1
CALL SFC 34
OB_NR :=20
RET_VAL:=MW6
STATUS :=MW8
NOP 0
//OB20 "Time Delay Interrupt"
SET
= Q 5.0
= Q 5.1
= Q 5.2
= Q 5.3
A DB1.DBX 0.0
R Q 5.0
R Q 5.1
R Q 5.2
R Q 5.3