quote:以下是引用hezk在2012-07-20 10:43:06的发言:
[quote]以下是引用芳季在2012-07-20 10:37:45的发言:
那截屏上啊。很多人都是这样的啦。
TITLE=用了两种方法:1,使用移位指令;2,使用互锁指令。
Network 1
// 模拟页面,给定VB1--VB8 八个动作给定寄存器的值,从而选择从VB1到VB8,每一步的动作名称。
内容较多,截屏还不累死!下面我转换指令格式,供大家参考。
真有迫切需求的朋友,可以发邮件给我。
LD SM0.1
LPS
MOVB 0, VB1
AENO
MOVB 2, VB2
LRD
MOVB 2, VB3
AENO
MOVB 2, VB4
LRD
MOVB 0, VB5
AENO
MOVB 3, VB6
LPP
MOVB 3, VB7
AENO
MOVB 8, VB8
Network 2 // 网络标题
// 网络注释
LD SM0.0
CALL SBR3
Network 3
// 模拟页面,给定VB1--VB8 八个动作给定寄存器的值,从而选择从VB1到VB8,每一步的动作名称。
LD SM0.1
LPS
MOVB 0, VB9
AENO
MOVB 2, VB10
LRD
MOVB 2, VB11
AENO
MOVB 2, VB12
LRD
MOVB 0, VB13
AENO
MOVB 3, VB14
LPP
MOVB 3, VB15
AENO
MOVB 8, VB16
Network 4
LD SM0.0
CALL SBR4
Network 1
LD L2.0
LDB= LB0, 0
A SM0.0
LDB= LB0, 1
A L1.0
OLD
LDB= LB0, 2
A L1.1
OLD
LDB= LB0, 3
A L1.2
OLD
LDB= LB0, 4
A L1.3
OLD
LDB= LB0, 5
A L1.4
OLD
LDB= LB0, 6
A L1.5
OLD
LDB= LB0, 7
A L1.6
OLD
LDB= LB0, 8
A L1.7
OLD
ALD
= L2.1
Network 1
LD SM0.0
MOVD LD2, AC1
AENO
MOVD &VB460, AC2
Network 2
LD SM0.0
FOR LW7, 1, 8
Network 3
LD SM0.0
MOVB *AC1, *AC2
+D 1, AC1
AENO
+D 1, AC2
Network 4
NEXT
Network 5
LD L0.0
AB= VB460, LB1
LD L0.1
AB= VB461, LB1
OLD
LD L0.2
AB= VB462, LB1
OLD
LD L0.3
AB= VB463, LB1
OLD
LD L0.4
AB= VB464, LB1
OLD
LD L0.5
AB= VB465, LB1
OLD
LD L0.6
AB= VB466, LB1
OLD
LD L0.7
AB= VB467, LB1
OLD
= L6.0
TITLE=用8个寄存器,进行动作选序:从VB1至VB8,VB=1时,动作1......VB=8时,动作8
// 1,注意使用时继限位时,必须加常闭自断,否则,当相邻两个VB相等时,后一个步序直接跳过去了。
// 2,移位指令前,不能使用P,否则,当VB=0或相等时,移位停留中断。
Network 1
// 用于观察各个步序的情况
LD V100.0
A V100.1
A V100.2
A V100.3
A V100.4
A V100.5
A V100.6
A V100.7
= V116.0
Network 2
// 用于观察八种动作名称的情况
LD V108.0
A V108.1
A V108.2
A V108.3
A V108.4
A V108.5
A V108.6
A V108.7
= V116.1
Network 3
LD SM0.1
LD V100.7
A V112.7
OLD
MOVB 1, VB100
Network 4
LD V100.0
A V112.0
LD V100.1
A V112.1
OLD
LD V100.2
A V112.2
OLD
LD V100.3
A V112.3
OLD
LD V100.4
A V112.4
OLD
LD V100.5
A V112.5
OLD
LD V100.6
A V112.6
OLD
SLB VB100, 1
Network 5
LD SM0.0
CALL SBR1, VB100, 1, &VB1, V108.0
CALL SBR1, VB100, 2, &VB1, V108.1
CALL SBR1, VB100, 3, &VB1, V108.2
CALL SBR1, VB100, 4, &VB1, V108.3
CALL SBR1, VB100, 5, &VB1, V108.4
CALL SBR1, VB100, 6, &VB1, V108.5
CALL SBR1, VB100, 7, &VB1, V108.6
CALL SBR1, VB100, 8, &VB1, V108.7
Network 6
LD SM0.0
CALL SBR0, VB1, VB104, V100.0, V112.0
CALL SBR0, VB2, VB104, V100.1, V112.1
CALL SBR0, VB3, VB104, V100.2, V112.2
CALL SBR0, VB4, VB104, V100.3, V112.3
CALL SBR0, VB5, VB104, V100.4, V112.4
CALL SBR0, VB6, VB104, V100.5, V112.5
CALL SBR0, VB7, VB104, V100.6, V112.6
CALL SBR0, VB8, VB104, V100.7, V112.7
Network 7
LD V108.0
LPS
AN T101
TON T101, 10
LPP
A T101
= V104.0
Network 8
LD V108.1
LPS
AN T102
TON T102, 10
LPP
A T102
= V104.1
Network 9
LD V108.2
LPS
AN T103
TON T103, 10
LPP
A T103
= V104.2
Network 10
LD V108.3
LPS
AN T104
TON T104, 10
LPP
A T104
= V104.3
Network 11
LD V108.4
LPS
AN T105
TON T105, 10
LPP
A T105
= V104.4
Network 12
LD V108.5
LPS
AN T106
TON T106, 10
LPP
A T106
= V104.5
Network 13
LD V108.6
LPS
AN T107
TON T107, 10
LPP
A T107
= V104.6
Network 14
LD V108.7
LPS
AN T108
TON T108, 10
LPP
A T108
= V104.7
TITLE=用8个寄存器,进行动作选序:从VB1至VB8,VB=1时,动作1......VB=8时,动作8
// 注意使用时继限位时,必须加常闭自断,否则,当相邻两个VB相等时,后一个步序直接跳过去了。
// 借用此程序时,注意根据条件修改:
// 1,Action1~8,为程序的输出结果(8个动作名称)。
// 2,各步序的限位条件,请根据实际修改时间设定值,或以限位输入,取代时继。
Network 1
// 用于观察各个步序的情况
LD V102.0
A V102.1
A V102.2
A V102.3
A V102.4
A V102.5
A V102.6
A V102.7
= V116.2
Network 2
// 用于观察八种动作名称的情况
LD V110.0
A V110.1
A V110.2
A V110.3
A V110.4
A V110.5
A V110.6
A V110.7
= V116.3
Network 3
// 借用此程序时,可用调用的条件,取代SM0.1
LD SM0.1
LD V102.7
A V114.7
OLD
O V102.0
AN V102.1
= V102.0
Network 4
LD SM0.0
LPS
LD V102.0
A V114.0
O V102.1
ALD
AN V102.2
= V102.1
LRD
LD V102.1
A V114.1
O V102.2
ALD
AN V102.3
= V102.2
LRD
LD V102.2
A V114.2
O V102.3
ALD
AN V102.4
= V102.3
LRD
LD V102.3
A V114.3
O V102.4
ALD
AN V102.5
= V102.4
LRD
LD V102.4
A V114.4
O V102.5
ALD
AN V102.6
= V102.5
LRD
LD V102.5
A V114.5
O V102.6
ALD
AN V102.7
= V102.6
LPP
LD V102.6
A V114.6
O V102.7
ALD
AN V102.0
= V102.7
Network 5
LD SM0.0
CALL SBR1, VB102, 1, &VB9, V110.0
CALL SBR1, VB102, 2, &VB9, V110.1
CALL SBR1, VB102, 3, &VB9, V110.2
CALL SBR1, VB102, 4, &VB9, V110.3
CALL SBR1, VB102, 5, &VB9, V110.4
CALL SBR1, VB102, 6, &VB9, V110.5
CALL SBR1, VB102, 7, &VB9, V110.6
CALL SBR1, VB102, 8, &VB9, V110.7
Network 6
LD SM0.0
CALL SBR0, VB9, VB106, V102.0, V114.0
CALL SBR0, VB10, VB106, V102.1, V114.1
CALL SBR0, VB11, VB106, V102.2, V114.2
CALL SBR0, VB12, VB106, V102.3, V114.3
CALL SBR0, VB13, VB106, V102.4, V114.4
CALL SBR0, VB14, VB106, V102.5, V114.5
CALL SBR0, VB15, VB106, V102.6, V114.6
CALL SBR0, VB16, VB106, V102.7, V114.7
Network 7
Network 8
LD V110.0
LPS
AN T121
TON T121, 10
LPP
A T121
= V106.0
Network 9
LD V110.1
LPS
AN T122
TON T122, 10
LPP
A T122
= V106.1
Network 10
LD V110.2
LPS
AN T123
TON T123, 10
LPP
A T123
= V106.2
Network 11
LD V110.3
LPS
AN T124
TON T124, 10
LPP
A T124
= V106.3
Network 12
LD V110.4
LPS
AN T125
TON T125, 10
LPP
A T125
= V106.4
Network 13
LD V110.5
LPS
AN T126
TON T126, 10
LPP
A T126
= V106.5
Network 14
LD V110.6
LPS
AN T127
TON T127, 10
LPP
A T127
= V106.6
Network 15
LD V110.7
LPS
AN T128
TON T128, 10
LPP
A T128
= V106.7