GEN, BENGEL, COMBINE, 12/2/94,1,Y,Y,Y/Y,N,Y/1,72; LIMITS,6,12,100; CONTINUOUS,0,5,0.001,1.0,0.5,W,0.00001,0.00001; INITIALIZE,0.0,500.; EQUIVALENCE/XX(1),CTCAP/XX(2),XDIR/XX(3),SPEED/XX(4),XRUN/XX(5),CLOAD/ XX(6),CUR/XX(7),DROAD/XX(8),SWATH/XX(9),DONE/XX(10),TLOAD; EQUIVALENCE/SS(1),CGRAIN/SS(2),TGRAIN/SS(3),YPOS/SS(4),XPOS/SS(5),BUSH; EQUIVALENCE/ATRIB(1),TCAP/ATRIB(2),TBUSH/ATRIB(3),TUNLD/ATRIB(4),HLS/ ATRIB(5),HUS/ATRIB(6),FLS/ATRIB(7),FUS/ATRIB(8),TTYPE/ ATRIB(9),TSTAR; ; ; initialize variables ; INTLC,DROAD=10.,XDIR=1,SPEED=3.0,CLOAD=0,CUR=1000.,SWATH=15., TGRAIN=0., CGRAIN=0.,YPOS=0.,XPOS=0.,BUSH=0.,XRUN=1,TLOAD=0; ; ; enter both trucks into shed GATE ; ENTRY/1,250.,0.,2.50,45.,55.,15.,20.,2; ENTRY/1,300.,0.,2.50,40.,50.,15.,20.,1; RECORD, TNOW,TIME IN HRS,0,P,1.0; VAR,CGRAIN,c,BUSH IN COMB; VAR,BUSH,b,BUSH IN BIN; ;MONTR,TRACE,0,100,8,XPOS,YPOS,CGRAIN,TGRAIN; NETWORK; ; ; truck flow process ; RESOURCE/COMBINE,1,2; GATE/DALITE,OPEN,1; SHED AWAIT(1),DALITE; stop trucks at shed if night ASSIGN,TSTAR=TNOW; start timing of trip ACTIVITY/1,DROAD/RNORM(HUS,5.0,1); road travel to field GOON; ACTIVITY/2,USERF(2); field travel to combine BINE AWAIT(2),COMBINE; wait if combine busy SLD ASSIGN,TGRAIN=0.,CTCAP=TCAP,TLOAD=1; set current truck capacity ; current load =0, enable load ACTIVITY/3,STOPA(1); unload until truck full ELD ASSIGN,TLOAD=0,CTCAP=99999999.,TBUSH=TGRAIN,TGRAIN=0.; ; set high current capacity ; find amount of grain in truck, set grain in new truck = 0 FREE,COMBINE; release combine ACTIVITY/4,USERF(4); field travel time from combine GOON; ACTIVITY/5,DROAD/RNORM(HLS,5.0,2); road travel time from field PIT QUEUE(3); wait for pit if necessary ACTIVITY/6,RNORM(TUNLD,TUNLD/10.,3); dumping service activity BIN ASSIGN,BUSH=BUSH+TBUSH; add grain to that in bin GOON,1; ACTIVITY,,TTYPE.EQ. 1,TYP1; truck #1 ACTIVITY,,TTYPE.EQ. 2,TYP2; truck #2 TYP2 COLCT,INT(9),TRIP TIME 2; collect stats on truck 1 ACTIVITY,,,SHED; move back to shed TYP1 COLCT,INT(9),TRIP TIME 1; collect stats on truck 2 ACTIVITY,,,SHED; move back to shed ; ; set up sub-network to open and close the day/night gate ; CREATE,,8.; PM CLOSE,DALITE; 0=start, so close at t=8 ACTIVITY,,DONE.EQ.0, SHUT; branch unless field done ACTIVITY,,DONE.EQ.1,QUIT; QUIT EVENT,4; field done so quit TERM; SHUT ASSIGN,XRUN=0; stop for night ACTIVITY,16.; AM OPEN, DALITE; ASSIGN,XRUN=1; ACTIVITY,8.,,PM; start for new day ; ; set up detect nodes for state events ; TFUL DETECT,SS(2),XP,CTCAP,0.5; truck full EVENT,5; call event 5 TERM; CFUL DETECT,SS(1),XP,200.,0.5; combine tank full ASSIGN, XRUN=0; stop harvesting TERM; RERN DETECT,SS(1),XN,190.,0.5; OK to resume harvesting ASSIGN,XRUN=1; start again TERM; CONT DETECT,SS(1),XN,0.0,0.5; combine tank empty ASSIGN,CLOAD=0; disable unload ACTIVITY,,DONE.EQ.1,STOP; branch if field done ACTIVITY,,DONE.EQ.0,T1; else go on T1 TERM; STOP EVENT,4; done with field TERM; HALF DETECT,SS(1),XP,100.,0.5; combine tank half full ASSIGN,CLOAD=1; enable unload TERM; FARS DETECT,SS(3),XP,2640.,15.; have finished field ASSIGN,DONE=1; harvest finished TERM; ENDNETWORK; ; ; set up non-detect state events ; SEVNT,1,SS(4),XP,5280.,5.; reached far end of field SEVNT,2,SS(4),XN,0.,5.; reached near end of field FIN;