TITLE=程序注释 Network 1 // 每个周期控制一个对象, 这里共控制3个对象,子程序0公用 // 网络注释 LD SM0.0 INCB VB500 Network 2 // V10.0-V10.2是子程序0的输入,V20.0-V20.2是子程序0的输出 LD M30.1 AB= VB500, 1 LPS A I0.0 = V10.0 LRD A I0.1 = V10.1 LRD A I0.2 = V10.2 LPP CALL SBR0 Network 3 LD M30.1 LPS A V20.0 S Q0.0, 1 LRD A V20.1 S Q0.1, 1 LPP A V20.2 S Q0.2, 1 Network 4 LDN M30.1 R Q0.0, 3 Network 5 // 第二个对象的输入是I0.3-I0.5, 输出是Q0.3-Q0.5 M30.2是第二个对象的能使 LD M30.2 AB= VB500, 2 LPS A I0.3 = V10.0 LRD A I0.4 = V10.1 LRD A I0.5 = V10.2 LPP CALL SBR0 Network 6 LD M30.2 LPS A V20.0 S Q0.3, 1 LRD A V20.1 S Q0.4, 1 LPP A V20.2 S Q0.5, 1 Network 7 LDN M30.2 R Q0.3, 3 Network 8 // 第三个对象的输入是I0.6-I1.0, 输出是Q0.6-Q1.0 M30.3是第三个对象的能使 LD M30.3 AB= VB500, 3 LPS A I0.6 = V10.0 LRD A I0.7 = V10.1 LRD A I1.0 = V10.2 LPP CALL SBR0 Network 9 LD M30.3 LPS A V20.0 S Q0.6, 1 LRD A V20.1 S Q0.7, 1 LPP A V20.2 S Q1.0, 1 Network 10 LDN M30.3 R Q0.6, 3 Network 11 LDB>= VB500, 3 MOVB 0, VB500
因为举例简单,所以不采用写字节或字,而采用写位。
TITLE=程序注释
Network 1 // 每个周期控制一个对象, 这里共控制3个对象,子程序0公用
LD SM0.0
INCB VB500
Network 2 // V10.0-V10.2是子程序0的输入,V20.0-V20.2是子程序0的输出
LD M30.1
AB= VB500, 1
LPS
A I0.0
= V10.0
LRD
A I0.1
= V10.1
LRD
A I0.2
= V10.2
LPP
CALL SBR0
Network 3
LD M30.1
LPS
A V20.0
S Q0.0, 1
LRD
A V20.1
S Q0.1, 1
LPP
A V20.2
S Q0.2, 1
Network 4
LDN M30.1
R Q0.0, 3
Network 5 // 第二个对象的输入是I0.3-I0.5, 输出是Q0.3-Q0.5 M30.2是第二个对象的能使
LD M30.2
AB= VB500, 2
LPS
A I0.3
= V10.0
LRD
A I0.4
= V10.1
LRD
A I0.5
= V10.2
LPP
CALL SBR0
Network 6
LD M30.2
LPS
A V20.0
S Q0.3, 1
LRD
A V20.1
S Q0.4, 1
LPP
A V20.2
S Q0.5, 1
Network 7
LDN M30.2
R Q0.3, 3
Network 8 // 第三个对象的输入是I0.6-I1.0, 输出是Q0.6-Q1.0 M30.3是第三个对象的能使
LD M30.3
AB= VB500, 3
LPS
A I0.6
= V10.0
LRD
A I0.7
= V10.1
LRD
A I1.0
= V10.2
LPP
CALL SBR0
Network 9
LD M30.3
LPS
A V20.0
S Q0.6, 1
LRD
A V20.1
S Q0.7, 1
LPP
A V20.2
S Q1.0, 1
Network 10
LDN M30.3
R Q0.6, 3
Network 11
LDB>= VB500, 3
MOVB 0, VB500
因为举例简单,所以不采用写字节或字,而采用写位。
上面的例子采用每一个扫描周期只对一个对象进行控制,如果对象很多,对单一对象的控制将会产生较大的迟后。下面的例子每一个扫描周期都对全部对象进行控制。
Network 1 // V10.0-V10.2是子程序0的输入,V20.0-V20.2是子程序0的输出
LD M30.1
EU
LPS
R V10.0, 3
A I0.0
= V10.0
LRD
A I0.1
= V10.1
LRD
A I0.2
= V10.2
LPP
CALL SBR0
Network 2
LD M30.1
EU
LPS
A V20.0
S Q0.0, 1
LRD
A V20.1
S Q0.1, 1
LPP
A V20.2
S Q0.2, 1
Network 3
LD M30.1
ED
R Q0.0, 3
Network 4 // 第二个对象的输入是I0.3-I0.5, 输出是Q0.3-Q0.5 M30.2是第二个对象的能使
LD M30.2
EU
LPS
R V10.0, 3
A I0.3
= V10.0
LRD
A I0.4
= V10.1
LRD
A I0.5
= V10.2
LPP
CALL SBR0
Network 5
LD M30.2
EU
LPS
A V20.0
S Q0.3, 1
LRD
A V20.1
S Q0.4, 1
LPP
A V20.2
S Q0.5, 1
Network 6
LD M30.2
ED
R Q0.3, 3
Network 7 // 第三个对象的输入是I0.6-I1.0, 输出是Q0.6-Q1.0 M30.3是第三个对象的能使
LD M30.3
EU
LPS
R V10.0, 3
A I0.6
= V10.0
LRD
A I0.7
= V10.1
LRD
A I1.0
= V10.2
LPP
CALL SBR0
Network 8
LD M30.3
EU
LPS
A V20.0
S Q0.6, 1
LRD
A V20.1
S Q0.7, 1
LPP
A V20.2
S Q1.0, 1
Network 9
LD M30.3
ED
R Q0.6, 3
因为举例简单,所以不采用写字节或字,而采用写位。