发布于 2006-10-20 11:03:47
0楼
晕,出差回来竟然看到这样的恢复,郁闷!咱们搞工程的怎么会不劳而获呢,我无非是实在没办法了阿,为了证明我的清白我把我的程序发给大家!不过我目前只能实现总是开5台砻谷机,出现高位的先开,优先出现高位的先开。如果出现高位的不足5台,剩下的顺序开启低位的凑足5台。唯一不能实现的是没有满足保持流量恒定,开启最多5台设备的条件,主要是因为现场设备,每台砻谷机出料量有差别,如果这样做的话,担心出现设备频繁其停现象!请大家出招
程序如下:
FC块中,temp类型定义变量如下:
name type 地质
LG_GROUP Array [0..11] Of Byte 0.0
TOTAL int 12.0
I INT 14.0
STORE_BIT8 Struct 16.0
SPACE Byte 0.0
BIT1 BOOL 1.0
.
.
BIT8 BOOL 1.7
network1:四步筛选组队列
CLR
LAR1 P##LG_GROUP //FIRST CHECK(HIGH AND RUN)
A "LG_DB".LG_LEVEL[0]
A "LG_DB".LG_RUN[0]
JCN FST1
L B#16#1
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
FST1: A "LG_DB".LG_LEVEL[1]
A "LG_DB".LG_RUN[1]
JCN FST2
L B#16#2
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
FST2: A "LG_DB".LG_LEVEL[2]
A "LG_DB".LG_RUN[2]
JCN FST3
L B#16#3
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
FST3: A "LG_DB".LG_LEVEL[3]
A "LG_DB".LG_RUN[3]
JCN FST4
L B#16#4
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
FST4: A "LG_DB".LG_LEVEL[4]
A "LG_DB".LG_RUN[4]
JCN FST5
L B#16#5
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
FST5: A "LG_DB".LG_LEVEL[5]
A "LG_DB".LG_RUN[5]
JCN FST6
L B#16#6
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
FST6: A "LG_DB".LG_LEVEL[6]
A "LG_DB".LG_RUN[6]
JCN FST7
L B#16#7
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
FST7: A "LG_DB".LG_LEVEL[7]
A "LG_DB".LG_RUN[7]
JCN FST8
L B#16#8
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
FST8: A "LG_DB".LG_LEVEL[8]
A "LG_DB".LG_RUN[8]
JCN FST9
L B#16#9
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
FST9: A "LG_DB".LG_LEVEL[9]
A "LG_DB".LG_RUN[9]
JCN FSTA
L B#16#A
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
FSTA: A "LG_DB".LG_LEVEL[10]
A "LG_DB".LG_RUN[10]
JCN FSTB
L B#16#B
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
FSTB: A "LG_DB".LG_LEVEL[11]
A "LG_DB".LG_RUN[11]
JCN SCHK
L B#16#C
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
SCHK: A "LG_DB".LG_LEVEL[0] //SECOND CHECK(HIGH BUT NOT RUN)
AN "LG_DB".LG_RUN[0]
JCN SST1
L B#16#1
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
SST1: A "LG_DB".LG_LEVEL[1]
AN "LG_DB".LG_RUN[1]
JCN SST2
L B#16#2
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
SST2: A "LG_DB".LG_LEVEL[2]
AN "LG_DB".LG_RUN[2]
JCN SST3
L B#16#3
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
SST3: A "LG_DB".LG_LEVEL[3]
AN "LG_DB".LG_RUN[3]
JCN SST4
L B#16#4
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
SST4: A "LG_DB".LG_LEVEL[4]
AN "LG_DB".LG_RUN[4]
JCN SST5
L B#16#5
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
SST5: A "LG_DB".LG_LEVEL[5]
AN "LG_DB".LG_RUN[5]
JCN SST6
L B#16#6
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
SST6: A "LG_DB".LG_LEVEL[6]
AN "LG_DB".LG_RUN[6]
JCN SST7
L B#16#7
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
SST7: A "LG_DB".LG_LEVEL[7]
AN "LG_DB".LG_RUN[7]
JCN SST8
L B#16#8
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
SST8: A "LG_DB".LG_LEVEL[8]
AN "LG_DB".LG_RUN[8]
JCN SST9
L B#16#9
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
SST9: A "LG_DB".LG_LEVEL[9]
AN "LG_DB".LG_RUN[9]
JCN SSTA
L B#16#A
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
SSTA: A "LG_DB".LG_LEVEL[10]
AN "LG_DB".LG_RUN[10]
JCN SSTB
L B#16#B
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
SSTB: A "LG_DB".LG_LEVEL[11]
AN "LG_DB".LG_RUN[11]
JCN TCHK
L B#16#C
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
TCHK: AN "LG_DB".LG_LEVEL[0] //THREE CHECK(NOT HIGH BUT RUN)
A "LG_DB".LG_RUN[0]
JCN TST1
L B#16#1
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
TST1: AN "LG_DB".LG_LEVEL[1]
A "LG_DB".LG_RUN[1]
JCN TST2
L B#16#2
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
TST2: AN "LG_DB".LG_LEVEL[2]
A "LG_DB".LG_RUN[2]
JCN TST3
L B#16#3
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
TST3: AN "LG_DB".LG_LEVEL[3]
A "LG_DB".LG_RUN[3]
JCN TST4
L B#16#4
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
TST4: AN "LG_DB".LG_LEVEL[4]
A "LG_DB".LG_RUN[4]
JCN TST5
L B#16#5
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
TST5: AN "LG_DB".LG_LEVEL[5]
A "LG_DB".LG_RUN[5]
JCN TST6
L B#16#6
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
TST6: AN "LG_DB".LG_LEVEL[6]
A "LG_DB".LG_RUN[6]
JCN TST7
L B#16#7
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
TST7: AN "LG_DB".LG_LEVEL[7]
A "LG_DB".LG_RUN[7]
JCN TST8
L B#16#8
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
TST8: AN "LG_DB".LG_LEVEL[8]
A "LG_DB".LG_RUN[8]
JCN TST9
L B#16#9
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
TST9: AN "LG_DB".LG_LEVEL[9]
A "LG_DB".LG_RUN[9]
JCN TSTA
L B#16#A
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
TSTA: AN "LG_DB".LG_LEVEL[10]
A "LG_DB".LG_RUN[10]
JCN TSTB
L B#16#B
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
TSTB: AN "LG_DB".LG_LEVEL[11]
A "LG_DB".LG_RUN[11]
JCN LCHK
L B#16#C
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
LCHK: AN "LG_DB".LG_LEVEL[0] //LAST CHECK(NOT HIGH AND NOT RUN)
AN "LG_DB".LG_RUN[0]
JCN LST1
L B#16#1
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
LST1: AN "LG_DB".LG_LEVEL[1]
AN "LG_DB".LG_RUN[1]
JCN LST2
L B#16#2
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
LST2: AN "LG_DB".LG_LEVEL[2]
AN "LG_DB".LG_RUN[2]
JCN LST3
L B#16#3
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
LST3: AN "LG_DB".LG_LEVEL[3]
AN "LG_DB".LG_RUN[3]
JCN LST4
L B#16#4
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
LST4: AN "LG_DB".LG_LEVEL[4]
AN "LG_DB".LG_RUN[4]
JCN LST5
L B#16#5
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
LST5: AN "LG_DB".LG_LEVEL[5]
AN "LG_DB".LG_RUN[5]
JCN LST6
L B#16#6
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
LST6: AN "LG_DB".LG_LEVEL[6]
AN "LG_DB".LG_RUN[6]
JCN LST7
L B#16#7
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
LST7: AN "LG_DB".LG_LEVEL[7]
AN "LG_DB".LG_RUN[7]
JCN LST8
L B#16#8
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
LST8: AN "LG_DB".LG_LEVEL[8]
AN "LG_DB".LG_RUN[8]
JCN LST9
L B#16#9
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
LST9: AN "LG_DB".LG_LEVEL[9]
AN "LG_DB".LG_RUN[9]
JCN LSTA
L B#16#A
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
LSTA: AN "LG_DB".LG_LEVEL[10]
AN "LG_DB".LG_RUN[10]
JCN LSTB
L B#16#B
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
LSTB: AN "LG_DB".LG_LEVEL[11]
AN "LG_DB".LG_RUN[11]
JCN NEXT
L B#16#C
T LB [AR1,P#0.0]
L W#16#1
SLW 3
+AR1
NEXT: L W#16#0
T #TOTAL
network2:输出
LAR2 P##LG_GROUP //2指数(LG_GROUP[0]-1)+...+2指数(LG_GROUP[4]-1)
L B#16#5
BACK: T #I
L LB [AR2,P#0.0]
DEC 1
L W#16#1
SLW
L #TOTAL
+I
T #TOTAL
L W#16#1
SLW 3
+AR2
L #I
LOOP BACK
L #TOTAL //OUT ACCORDING TO THE BIT OF TOTAL
SRW 1
L STW
T LW 16
A #STORE_BIT8.BIT8
= "LG_DB".LG_RUN[0]
= M 8500.0
L #TOTAL
SRW 2
L STW
T LW 16
A #STORE_BIT8.BIT8
= "LG_DB".LG_RUN[1]
= M 8500.1
L #TOTAL
SRW 3
L STW
T LW 16
A #STORE_BIT8.BIT8
= "LG_DB".LG_RUN[2]
= M 8500.2
L #TOTAL
SRW 4
L STW
T LW 16
A #STORE_BIT8.BIT8
= "LG_DB".LG_RUN[3]
= M 8500.3
L #TOTAL
SRW 5
L STW
T LW 16
A #STORE_BIT8.BIT8
= "LG_DB".LG_RUN[4]
= M 8500.4
L #TOTAL
SRW 6
L STW
T LW 16
A #STORE_BIT8.BIT8
= "LG_DB".LG_RUN[5]
= M 8500.5
L #TOTAL
SRW 7
L STW
T LW 16
A #STORE_BIT8.BIT8
= "LG_DB".LG_RUN[6]
= M 8500.6
L #TOTAL
SRW 8
L STW
T LW 16
A #STORE_BIT8.BIT8
= "LG_DB".LG_RUN[7]
= M 8500.7
L #TOTAL
SRW 9
L STW
T LW 16
A #STORE_BIT8.BIT8
= "LG_DB".LG_RUN[8]
= M 8501.0
L #TOTAL
SRW 10
L STW
T LW 16
A #STORE_BIT8.BIT8
= "LG_DB".LG_RUN[9]
= M 8501.1
L #TOTAL
SRW 11
L STW
T LW 16
A #STORE_BIT8.BIT8
= "LG_DB".LG_RUN[10]
= M 8501.2
L #TOTAL
SRW 12
L STW
T LW 16
A #STORE_BIT8.BIT8
= "LG_DB".LG_RUN[11]
= M 8501.3