Cmodel@@-BTools@ Brelease4.5B FlowItemBin@objectBstored@@BFlowItemBinsubnode@RBFlowItemBinsubnode@@Item0_NULLNAMEB FlexsimBox@r FlexsimBox,@object@B itemtype@Bvisual@@Bcolor@a@Bred@A)Z?Bgreen@A)Z?Bblue@A)Z?Bshape@ufs3d\FlowItem.3DSB shapeindex@v?B imagebase@s***Bimageindexbase@tB noondraw@k?B nopredraw@l?B spatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@PQ?B spatialsy@QQ?B spatialsz@Rףp= ?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Bspecial@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@@BBasic@rBasic,@objectB itemtype@Bvisual@@Bcolor@a@Bred@?Bgreen@?Bblue@?B imageobject@qbitmaps\flowitempicture.bmpBimageindexobject@rA@B imagebase@s***Bimageindexbase@tB noondraw@k?B nopredraw@l?B billboard@jB spatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Bspecial@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@BCan@rCan,@objectB itemtype@Bvisual@@Bcolor@a@Bred@?Bgreen@?Bblue@?B imageobject@qfs3d\BBpepsican.bmpBimageindexobject@rA@B imagebase@s***Bimageindexbase@tB noondraw@k?B nopredraw@l?B billboard@jB spatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Bspecial@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@BSphere@rSphere,@objectB itemtype@Bvisual@@Bcolor@a@Bred@?Bgreen@?Bblue@?B imageobject@qfs3d\BBsphere.bmpBimageindexobject@rB@B imagebase@s***Bimageindexbase@tB noondraw@k?B nopredraw@l?B billboard@j?B spatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Bspecial@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@BTextured Colored Box@rTextured Colored Box,@objectB itemtype@Bvisual@@ Bcolor@a@Bred@Rr/0?Bgreen@Rr/0?Bblue@Rr/0?Bshape@ufs3d\texturebox.wrlB shapeindex@v@B imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB noondraw@k?B nopredraw@l?B spatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@PQ?B spatialsy@QQ?B spatialsz@Rףp= ?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?B special@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@BPallet@rPallet-@objectB itemtype@B behaviour@@Beventfunctions@@B OnReceiveD@Knodefunction(node("/project/exec/globals/nodefunctions/palletentry"),c,i);@Bd/project/exec/globals/nodefunctions/palletentrytsjPpHo@4Bvisual@@Bcolor@a@Bred@2?Bgreen@88?Bblue@4?Bshape@ufs3d\FlowItem\Pallet.wrlB shapeindex@v@B imagebase@s***Bimageindexbase@tB nochildscale@_?B noondraw@k?B nopredraw@l?B spatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@Rp= ף?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Bspecial@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@BTote@rTote,@objectB itemtype@Bvisual@@Bcolor@a@Bred@9̗?Bgreen@?Bblue@2?Bshape@u!fs3d\FlowItem\Product - Tote.3DSB shapeindex@v@B imagebase@s***Bimageindexbase@tB noondraw@k?B nopredraw@l?Bspatial@@B spatialx@MB spatialy@NB spatialz@OB spatialsx@Pffffff?B spatialsy@Qffffff?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Boffsetx@VBoffsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[Bspecial@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@BTextured Colored Cylinder@rTextured Colored Cylinder,@objectB itemtype@Bvisual@@ Bcolor@a@Bred@3ۃ?Bgreen@3ۃ?Bblue@3ۃ?Bshape@ufs3d\texturecyl.wrlB shapeindex@v@B imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB noondraw@k?B nopredraw@l?B spatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@Pffffff?B spatialsy@Qffffff?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Bspecial@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@BTextured Colored Sphere@rTextured Colored Sphere,@objectB itemtype@Bvisual@@ Bcolor@a@Bred@3ۃ?Bgreen@3ۃ?Bblue@3ۃ?Bshape@ufs3d\texturesphere.wrlB shapeindex@v@B imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB noondraw@k?B nopredraw@l?B spatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Bspecial@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@BPerson@rPerson,@objectB itemtype@Bvisual@@Bcolor@a@Bred@?Bgreen@?Bblue@Bshape@ufs3d\Operator.3DSB shapeindex@v@B imagebase@s***Bimageindexbase@tB noondraw@k?B nopredraw@l?B spatial@@B spatialx@MQ?B spatialy@N)\(B spatialz@OB spatialsx@P?B spatialsy@Q(\?B spatialsz@R{Gz?B spatialrx@SB spatialry@TB spatialrz@UBoffsetx@V?Boffsety@W?Boffsetz@XB offsetsx@\@B offsetsy@]?B offsetsz@^@33@B offsetrx@YVB offsetry@ZB offsetrz@[VB centroid@e?Bspecial@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@BLoaded Pallet@rLoaded Pallet,@objectB itemtype@Bvisual@@Bcolor@a@Bred@A)Z?Bgreen@A)Z?Bblue@A)Z?Bshape@u.fs3d\FlowItem\Loaded Pallet\Loaded Pallet.3DSB shapeindex@v8@B imagebase@s***Bimageindexbase@tB noondraw@k?B nopredraw@l?Bspatial@@B spatialx@M?B spatialy@N{Gz?B spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Boffsetx@V?Boffsety@W?Boffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^(\?B offsetrx@YB offsetry@ZB offsetrz@[Bspecial@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@@BTextured Colored Plane@rTextured Colored Plane,@objectB itemtype@Bvisual@@ Bcolor@a@Bred@3ۃ?Bgreen@3ۃ?Bblue@3ۃ?Bshape@ufs3d\textureplaneup.wrlB shapeindex@v9@B imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB noondraw@k?B nopredraw@l?B spatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@PQ?B spatialsy@QQ?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Bspecial@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@B BasicSphere@r BasicSphere,@objectB itemtype@Bvisual@@Bcolor@a@Bred@A)Z?Bgreen@A)Z?Bblue@A)Z?B shapeindex@vBimageindexobject@rB noondraw@k?B nopredraw@l?B spatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Bspecial@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@@BBasicCylinder@rBasicCylinder,@objectB itemtype@Bvisual@@Bcolor@a@Bred@A)Z?Bgreen@A)Z?Bblue@A)Z?B shapeindex@vBimageindexobject@rB noondraw@k?B nopredraw@l?B spatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Bspecial@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@@B BasicCone@r BasicCone,@objectB itemtype@Bvisual@@Bcolor@a@Bred@A)Z?Bgreen@A)Z?Bblue@A)Z?B shapeindex@vBimageindexobject@rB noondraw@k?B nopredraw@l?B spatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Bspecial@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@@B BasicBox@r BasicBox,@objectB itemtype@Bvisual@@Bcolor@a@Bred@A)Z?Bgreen@A)Z?Bblue@A)Z?B shapeindex@vBimageindexobject@rB noondraw@k?B nopredraw@l?B spatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Bspecial@@B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/FlowItemParametersBstats_lastmovetime@IBstats_creationtime@JBlabels@@BTaskExecuterFlowItem@BTaskExecuterFlowItem@objectB classes@@B Operator@AB TaskExecuter@]AB Dispatcher@@[ABFlexsimObject@/ABsuperclasses@@B TaskExecuter@@߂AB Dispatcher@@[ABFlexsimObject@/AB variables@@>Bactivetasksequence@B maxcontent@?B loadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B loadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B unloadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@Bunloadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B maxspeed@@B acceleration@?B deceleration@?B navigator@@Boldbreakrequirement@B breakto@Ftreenode activets = parnode(1); treenode current = ownerobject(c); @B travelinfo@@B travelstartx@B travelstarty@B travelstartz@Btraveldistance@Btraveldirection@B travelendx@B travelendy@B travelendz@B travelacc@B traveldec@Btravelstarttime@~Btravelendtime@Btraveltimealpha@Btraveltimebeta@B travelvpeak@B travelvmax@B travelvstart@B travelvend@Bmodifyrotation@?B useoffsets@?Boffsettingnow@Boffsetbegintime@Boffsettotaltime@B offsetlocx@B offsetlocy@B offsetlocz@B offsetbeginx@B offsetbeginy@B offsetbeginz@Boffsetbeginxrot@Boffsetbeginyrot@Boffsetbeginzrot@B loadedspeed@@B emptyspeed@@Bcurloadunloadtime@Blastupdatedspeed@B travelvstart@B travelvend@Blastspeedupdatetime@Bcollisiontrigger@treenode thisobject=ownerobject(c); treenode otherobject=parnode(1); treenode thissphere=parnode(2); treenode othersphere=parnode(3); Bcollcheckinterval@?Bdrawcollspheres@B incollision@Bcollcheckstate@Btotaltraveldist@B kinematics@Bflipthreshold@f@Bpassimmediately@@Bpassto@#treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**First Available*/ /** \nIf there are no objects currently available, then queue the tasksequence up using the Queue Strategy and wait until someone connected to its output ports becomes available.*/ return 0;@Btasksequencequeue@Bqueuestrategy@mtreenode tasksequence = parnode(1); /**Sort by TaskSequence Priority*/ return getpriority(tasksequence);@B4/exedefupall? lF(=Blastrecursetime@Blastrecurseinvolved@Bcoordinatedtasks@Bonresourceavailable@treenode current = ownerobject(c); int port = parval(1); treenode resource = parnode(2); treenode nextts = parnode(3); treenode lastts = parnode(4); Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@B networknodes@Btimeoflaststop@B nrofstops@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@Bresettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@@B OnReset@@B(Bcppfunctions@@Bcppvariables@@Bdouble offsetloc[3] @Bfsnode* activetask@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@ Bcolor@a@Bred@?Bgreen@?Bblue@Bshape@ufs3d\Operator.3DSB shapeindex@v@Bpicture@c bitmaps\TaskExecuterpicture.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?Bframe@Bspecial@@Btitle@dObjectB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}#VIEW:/pages/TaskExecuterParametersBreportvariables@@B maxcontent@B loadtime@B loadtrigger@B unloadtime@Bunloadtrigger@B maxspeed@B acceleration@B deceleration@Bbreakto@B useoffsets@B loadedspeed@B emptyspeed@Bpassimmediately@Bpassto@Bqueuestrategy@Bmessagetrigger@Bondrawtrigger@Bcollisionspheres@Bcollisionobjects@B resettrigger@B spatial@@B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q(\?B spatialsz@R{Gz?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@V?Boffsety@W?Boffsetz@XB offsetsx@\@B offsetsy@]?B offsetsz@^333333@B offsetrx@YVB offsetry@ZB offsetrz@[VB centroid@e?B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Bmobileresource@B objectinfo@@B Output: 0@BStatus: processing@@Blabels@@B connections@@Bconnectionsin@ @Bconnectionsout@ @Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. TimeBstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@B itemtype@B GlobalVarGen,@object Bclasses@@B GlobalVarGen@AB variables@@B definecode@B loadcode@Btable@@B usercode@B commands@Blabels@@B defaultlabel@B behaviour@@Beventfunctions@@Bcppfunctions@@Bspatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UBvisual@@B nochildscale@_?B connections@@Bconnectionsin@ @Bconnectionsout@ @Bconnectionscenter@ @Bevents@ @Bspecial@@Btitle@dObjectB description@bBguifocusclass@}$VIEW:/pages/GlobalVarGen ParametersB ExcelAutoD9@objectB classes@@B ExcelAuto@AB variables@@ Bneedtocompile@Bexcellocation@+c:\Program Files\Microsoft Office\Office10Bfirstworkbook@B curworkbook@B importtable@@BRow_1@@ BExcel_Book_Name@NEWBExcel_Sheet_Name@Sheet1BFlexsim_Table_Location@/Flask Loading>variablesBFlexsim_Table_Name@componentlistB Headers@@BData_Distinction@?B Start_Row@B Start_Col@B Num_Rows@B Num_Cols@BMain_Percent@BRow_2@@ BExcel_Book_Name@NEWBExcel_Sheet_Name@Sheet1BFlexsim_Table_Location@/Flask Loading>variablesBFlexsim_Table_Name@componentlistB Headers@@BData_Distinction@?B Start_Row@B Start_Col@B Num_Rows@B Num_Cols@BMain_Percent@BRow_3@@ BExcel_Book_Name@NEWBExcel_Sheet_Name@Sheet1BFlexsim_Table_Location@/Canister arrival>variablesBFlexsim_Table_Name@ scheduleB Headers@@BData_Distinction@?B Start_Row@B Start_Col@B Num_Rows@B Num_Cols@BMain_Percent@BRow_4@@ BExcel_Book_Name@NEWB@0.00BFlexsim_Table_Location@/Canister arrival>variablesBFlexsim_Table_Name@ scheduleB Headers@@BData_Distinction@?B Start_Row@B Start_Col@B Num_Rows@B Num_Cols@BMain_Percent@Bsheet@Sheet1Btname@'/Flask Loading>variables/componentlistB headerval@@Bdatadistinctval@?B OnImport@w treenode pbar = node("/active/Excel Import Progress", views()); // Pointer to the Progress Window treenode mainpercent = node("/Main Percent", pbar); // Pointer to the mainpercent field treenode subtitle = node("/Sub Title", pbar); // Pointer to the subtitle field treenode subpercent = node("/Sub Percent", pbar); // Pointer to the subpercent field double mainpercentdone = parval(1); // The precentage of the Main Progress bar that has been completed (will be between 0 and 1) // This trigger fires after all of the tables have been imported // It is used to modify the imported data or create any objects based on the imported data // If you want to change the progress bar during execution of this code // The following code is an example of how to change the percent on the progress bars and sub title. // Sub Title - setviewtext(subtitle, apchar(concat("Importing ", sheetname, " into ", tablename))); // Sub Percent - setviewtext(subpercent, apchar(numtostring(0, 3, 0))); // The first zero is the percent (from 0 to 100) // Repaint the Sub Percent - repaintview(node("/Sub Bar", up(subpercent))); // This must be done after setting the percentage // Main Percent - setviewtext(mainpercent, apchar(numtostring(100 * mainper, 3, 0))); // The first zero is the percent (from 0 to 100) // Repaint the Main Percent - repaintview(node("/Main Bar", up(mainpercent))); // This must be done after setting the percentage // The following is an example of how this code would be used to change the progress bars /* setviewtext(subtitle, apchar("Import Finish Code")); // Set the subtitle to display what we are doing int iterations = 10; // Set the number of iterations to make msg("TEST", "Watch the percentages increase with each message!"); // Create a message so that we can watch the progress for(int index = 1; index <= iterations; index++) // Iterate to show how this works { setviewtext(subpercent, apchar(numtostring(((double)index / (double)iterations) * 100, 3, 0))); // Set the sub percent to the percent done - remember the value is between 0 and 100 repaintview(node("/Sub Bar", up(subpercent))); // Repaint the sub progress bar double mainper = mainpercentdone + ((1- mainpercentdone) * ((double)index / (double)iterations)); // Calculate the total percent done setviewtext(mainpercent, apchar(numtostring(100 * mainper, 3, 0))); // Set the main percent - remember the value is between 0 and 100 repaintview(node("/Main Bar", up(mainpercent))); // Repaint the main progress bar msg("TEST", "Notice how the percentages are increasing with each message!"); // Create a message so that we can watch the progress } */ @Bh/active/Excel Import Progresspallts/Main Percentces/Sub Titlee th opep by/Sub Percent|Geferncticommel?8( ?td=XH?=?=9kBImportTriggerPercent@B behaviour@@Beventfunctions@@Bcppfunctions@@B special@@ section1B guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@} VIEW:/pages/DelayPipeParametersB ignoredraw@f?B MTBFMTTR@bFilling CanisterL @objectB classes@@B MTBFMTTR@ÂAB variables@@ Bmembers@@BFilling Canistersubnode@Bmtbf@Ctreenode current = ownerobject(c); treenode involved = parnode(1); /**Statistical Distribution: */ return /**/exponential(1000, 1, 0)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@BT ive/portrcen?o?0l$?@Bmttr@Atreenode current = ownerobject(c); treenode involved = parnode(1); /**Statistical Distribution: */ return /**/erlang(1008, 1, 2, 0)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@BXive/portt?o?0l$?@ty"Bstate@&@B firstmtbf@mtreenode current = ownerobject(c); treenode involved = parnode(1); /**Statistical Distribution */ /**\nDistribution: */ return /**/exponential(1000, 1, 0)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@BT ive/port?o?0l$?@Bapplyindividuals@?B downtrigger@treenode current = ownerobject(c); treenode members = var_s(current,"members"); treenode involved = parnode(1); // If involved is equal to current, all of the members went down at the same time // Otherwise, involved is the object that went down B uptrigger@treenode current = ownerobject(c); treenode members = var_s(current,"members"); treenode involved = parnode(1); // If involved is equal to current, all of the members went down at the same time // Otherwise, involved is the object that went down Bdownfunction@htreenode current = ownerobject(c); treenode downobject = parnode(1); int state = parval(2); double downtime = parval(3); treenode membercoupling = parnode(4); /**Stop object*/ /** \nExecute stopobject().*/ /** \nID: */ int id = /**/1/**/; /** \nPriority: */ double priority = /**/0/**/; stopobject(downobject ,state, id, priority); return 0; @B%ive/portces/Sub|Gefer?o?0l$6Lk@9hk\?lx 6   9    744=6B upfunction@treenode current = ownerobject(c); treenode downobject = parnode(1); int state = parval(2); /**Resume object*/ /** \nExecute resumeobject().*/ /** \nID: */ int id = /**/1/**/; /** \nThe resumeobject() command is class dependent. It basically tells the object it can resume doing whatever it was doing before stopobject() was called. It's important to note that a complimentary Resume Function must be defined based on the Down Function defined.*/ resumeobject(downobject, id); return 0; @Bive/portces?o?0l$6Lk@6\  4x  =l  6 ,c)B mtbfstates@@B accuracy@Y@B rangecutoff@B behaviour@@Beventfunctions@@Bcppfunctions@@Bspatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB special@@Btitle@dTime Table ObjectB description@bB guifocus@| VIEW:/pages/MTBFMTTR ParametersBguifocusclass@} VIEW:/pages/MTBFMTTR ParametersBvisual@@b Arc WeldingL @objectB classes@@B MTBFMTTR@ÂAB variables@@ Bmembers@@BWelding@3 Bmtbf@@treenode current = ownerobject(c); treenode involved = parnode(1); /**Statistical Distribution: */ return /**/exponential(100,1,1)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@BT ive/port?o?0l$6L@dBmttr@Itreenode current = ownerobject(c); treenode involved = parnode(1); /**Statistical Distribution */ /**\nDistribution: */ return /**/erlang(8, 1, 2, 0)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@BXive/port?o?0l$6L@Bstate@&@B firstmtbf@@treenode current = ownerobject(c); treenode involved = parnode(1); /**Statistical Distribution: */ return /**/exponential(100,1,1)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@BT ive/port?o?0l$6L@dBapplyindividuals@?B downtrigger@treenode current = ownerobject(c); treenode members = var_s(current,"members"); treenode involved = parnode(1); // If involved is equal to current, all of the members went down at the same time // Otherwise, involved is the object that went down B uptrigger@treenode current = ownerobject(c); treenode members = var_s(current,"members"); treenode involved = parnode(1); // If involved is equal to current, all of the members went down at the same time // Otherwise, involved is the object that went down Bdownfunction@htreenode current = ownerobject(c); treenode downobject = parnode(1); int state = parval(2); double downtime = parval(3); treenode membercoupling = parnode(4); /**Stop object*/ /** \nExecute stopobject().*/ /** \nID: */ int id = /**/1/**/; /** \nPriority: */ double priority = /**/0/**/; stopobject(downobject ,state, id, priority); return 0; @B%ive/portces/Sub|Gefer?o?0l$6Lk@9hk\?lx 6   9    744=6TB upfunction@treenode current = ownerobject(c); treenode downobject = parnode(1); int state = parval(2); /**Resume object*/ /** \nExecute resumeobject().*/ /** \nID: */ int id = /**/1/**/; /** \nThe resumeobject() command is class dependent. It basically tells the object it can resume doing whatever it was doing before stopobject() was called. It's important to note that a complimentary Resume Function must be defined based on the Down Function defined.*/ resumeobject(downobject, id); return 0; @Bive/portces?o?0l$6Lk@6\  4x  =l  6 ,c)B mtbfstates@@B accuracy@Y@B rangecutoff@B behaviour@@Beventfunctions@@Bcppfunctions@@Bspatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB special@@Btitle@dTime Table ObjectB description@bB guifocus@| VIEW:/pages/MTBFMTTR ParametersBguifocusclass@} VIEW:/pages/MTBFMTTR ParametersBvisual@@bCharger MaintainanceL @objectB classes@@B MTBFMTTR@ÂAB variables@@ Bmembers@@ BCharger Maintainancesubnode@@B@@@BCharger Maintainancesubnode@C@B@@@BCharger Maintainancesubnode@@B@@@BCharger Maintainancesubnode@@B@@@BCharger Maintainancesubnode@o2@B@@@BCharger Maintainancesubnode@3@B@@@BCharger Maintainancesubnode@c#@B@@@BCharger Maintainancesubnode@$@B@@@BCharger Maintainancesubnode@@B@@@BCharger Maintainancesubnode@5@B@@@BCharger Maintainancesubnode@O6@B@@@BCharger Maintainancesubnode@"@B@@@Bmtbf@%treenode current = ownerobject(c); treenode involved = parnode(1); /**By Expression*/ /** \nExpression: */ double value = /**/2000/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\ive/port?o?0l$9@6\7Pde;Bmttr@$treenode current = ownerobject(c); treenode involved = parnode(1); /**By Expression*/ /** \nExpression: */ double value = /**/500/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\ive/port?o?0l$9@6\7P/ Bstate@(@B firstmtbf@%treenode current = ownerobject(c); treenode involved = parnode(1); /**By Expression*/ /** \nExpression: */ double value = /**/2000/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\ive/port?o?0l$9@6\7P )Bapplyindividuals@?B downtrigger@treenode current = ownerobject(c); treenode members = var_s(current,"members"); treenode involved = parnode(1); // If involved is equal to current, all of the members went down at the same time // Otherwise, involved is the object that went down B uptrigger@treenode current = ownerobject(c); treenode members = var_s(current,"members"); treenode involved = parnode(1); // If involved is equal to current, all of the members went down at the same time // Otherwise, involved is the object that went down Bdownfunction@htreenode current = ownerobject(c); treenode downobject = parnode(1); int state = parval(2); double downtime = parval(3); treenode membercoupling = parnode(4); /**Stop object*/ /** \nExecute stopobject().*/ /** \nID: */ int id = /**/1/**/; /** \nPriority: */ double priority = /**/0/**/; stopobject(downobject ,state, id, priority); return 0; @B%ive/portces/Sub|Gefer?o?0l$6Lk@9hk\?lx 6   9    744=6B upfunction@treenode current = ownerobject(c); treenode downobject = parnode(1); int state = parval(2); /**Resume object*/ /** \nExecute resumeobject().*/ /** \nID: */ int id = /**/1/**/; /** \nThe resumeobject() command is class dependent. It basically tells the object it can resume doing whatever it was doing before stopobject() was called. It's important to note that a complimentary Resume Function must be defined based on the Down Function defined.*/ resumeobject(downobject, id); return 0; @Bive/portces?o?0l$6Lk@6\  4x  =l  6 ,c)B mtbfstates@?@B_idle@?B accuracy@Y@B rangecutoff@B behaviour@@Beventfunctions@@Bcppfunctions@@Bspatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB special@@Btitle@dTime Table ObjectB description@bB guifocus@| VIEW:/pages/MTBFMTTR ParametersBguifocusclass@} VIEW:/pages/MTBFMTTR ParametersBvisual@@bCharger FailureL @objectB classes@@B MTBFMTTR@ÂAB variables@@ Bmembers@@ BCharger Failuresubnode@@B@wG@BCharger Failuresubnode@D@B@}kF@BCharger Failuresubnode@@B@a+{H@BCharger Failuresubnode@@B@=H@BCharger Failuresubnode@p2@B@&)A@BCharger Failuresubnode@3@B@3iK@BCharger Failuresubnode@d#@B@g,C@BCharger Failuresubnode@$@B@tiA@BCharger Failuresubnode@@B@|A@BCharger Failuresubnode@5@B@ȿpI@BCharger Failuresubnode@P6@B@a@@BCharger Failuresubnode@"@B@[{F@Bmtbf@Atreenode current = ownerobject(c); treenode involved = parnode(1); /**Statistical Distribution: */ return /**/exponential(1000,1,1)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@BT ive/port?o?0l$6L@Bmttr@Ktreenode current = ownerobject(c); treenode involved = parnode(1); /**Statistical Distribution */ /**\nDistribution: */ return /**/uniform(150, 250, 0)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@BT ive/port?o?0l$6L@Bstate@&@B firstmtbf@Atreenode current = ownerobject(c); treenode involved = parnode(1); /**Statistical Distribution: */ return /**/exponential(1000,1,1)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@BT ive/port?o?0l$6L@Bapplyindividuals@?B downtrigger@treenode current = ownerobject(c); treenode members = var_s(current,"members"); treenode involved = parnode(1); // If involved is equal to current, all of the members went down at the same time // Otherwise, involved is the object that went down B uptrigger@treenode current = ownerobject(c); treenode members = var_s(current,"members"); treenode involved = parnode(1); // If involved is equal to current, all of the members went down at the same time // Otherwise, involved is the object that went down Bdownfunction@htreenode current = ownerobject(c); treenode downobject = parnode(1); int state = parval(2); double downtime = parval(3); treenode membercoupling = parnode(4); /**Stop object*/ /** \nExecute stopobject().*/ /** \nID: */ int id = /**/1/**/; /** \nPriority: */ double priority = /**/0/**/; stopobject(downobject ,state, id, priority); return 0; @B%ive/portces/Sub|Gefer?o?0l$6Lk@9hk\?lx 6   9    744=6ditB upfunction@treenode current = ownerobject(c); treenode downobject = parnode(1); int state = parval(2); /**Resume object*/ /** \nExecute resumeobject().*/ /** \nID: */ int id = /**/1/**/; /** \nThe resumeobject() command is class dependent. It basically tells the object it can resume doing whatever it was doing before stopobject() was called. It's important to note that a complimentary Resume Function must be defined based on the Down Function defined.*/ resumeobject(downobject, id); return 0; @Bive/portces?o?0l$6Lk@6\  4x  =l  6 ,c)B mtbfstates@?@B _processing@@B_busy@@B _blocked@@B accuracy@Y@B rangecutoff@B behaviour@@Beventfunctions@@Bcppfunctions@@Bspatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB special@@Btitle@dTime Table ObjectB description@bB guifocus@| VIEW:/pages/MTBFMTTR ParametersBguifocusclass@} VIEW:/pages/MTBFMTTR ParametersBvisual@@bCrane FailureL @objectB classes@@B MTBFMTTR@ÂAB variables@@ Bmembers@@BCrane Failuresubnode@2/BCrane Failuresubnode@-BCrane Failuresubnode@Bmtbf@Ctreenode current = ownerobject(c); treenode involved = parnode(1); /**Statistical Distribution: */ return /**/exponential(3000, 1, 0)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@BT ive/port?o?0l$6L@ Bmttr@@treenode current = ownerobject(c); treenode involved = parnode(1); /**Statistical Distribution: */ return /**/erlang(504, 1, 2, 0)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@BXive/port?o?0l$6L@"Bstate@&@B firstmtbf@Ctreenode current = ownerobject(c); treenode involved = parnode(1); /**Statistical Distribution: */ return /**/exponential(3000, 1, 0)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@BT ive/port?o?0l$6L@ Bapplyindividuals@?B downtrigger@treenode current = ownerobject(c); treenode members = var_s(current,"members"); treenode involved = parnode(1); // If involved is equal to current, all of the members went down at the same time // Otherwise, involved is the object that went down B uptrigger@treenode current = ownerobject(c); treenode members = var_s(current,"members"); treenode involved = parnode(1); // If involved is equal to current, all of the members went down at the same time // Otherwise, involved is the object that went down Bdownfunction@htreenode current = ownerobject(c); treenode downobject = parnode(1); int state = parval(2); double downtime = parval(3); treenode membercoupling = parnode(4); /**Stop object*/ /** \nExecute stopobject().*/ /** \nID: */ int id = /**/1/**/; /** \nPriority: */ double priority = /**/0/**/; stopobject(downobject ,state, id, priority); return 0; @B%ive/portces/Sub|Gefer?o?0l$6Lk@9hk\?lx 6   9    744=6 B upfunction@treenode current = ownerobject(c); treenode downobject = parnode(1); int state = parval(2); /**Resume object*/ /** \nExecute resumeobject().*/ /** \nID: */ int id = /**/1/**/; /** \nThe resumeobject() command is class dependent. It basically tells the object it can resume doing whatever it was doing before stopobject() was called. It's important to note that a complimentary Resume Function must be defined based on the Down Function defined.*/ resumeobject(downobject, id); return 0; @Bive/portces?o?0l$6Lk@6\  4x  =l  6 r 2B mtbfstates@@B accuracy@Y@B rangecutoff@B behaviour@@Beventfunctions@@Bcppfunctions@@Bspatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB special@@Btitle@dTime Table ObjectB description@bB guifocus@| VIEW:/pages/MTBFMTTR ParametersBguifocusclass@} VIEW:/pages/MTBFMTTR ParametersBvisual@@bAnnual ShutDownL @objectB classes@@B MTBFMTTR@ÂAB variables@@ Bmembers@@*BFilling canister@BCanister arrival@uB Apply Lid@ BWelding@4 BBuffer@ BCharger Loading@BPit@0BCrane@BCharger Source@BIdle Chargers@BCharger Unloading@BCharger Unloading@BCharger Unloading@EBCharger Unloading@BPre_Transport@ BCharger Loading@"BCharger Loading@e#BCharger Loading@$BQueue29@%BCooling Buffer@('B BasicTE26@v(B BasicTE27@)B BasicTE28@+B BasicTE29@N,B Late Crane@-B Early Crane@3/BEarly Dispatcher@80BLate Dispatcher@21BCharger Loading@q2BCharger Loading@3BCharger Unloading@5BCharger Unloading@Q6B BasicTE41@7B BasicTE42@8BQueue43@ :BQueue44@4;BTo EU By Rail@U<BTo Japan by Sea@v=BSink43@>BTesting@v BTo UK Repository@?BAnnual ShutDownsubnode@gBmtbf@*treenode current = ownerobject(c); treenode involved = parnode(1); /**By Expression*/ /** \nExpression: */ double value = /**/6720/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\ive/port?o?0l$9@@6\7Pde;Bmttr@%treenode current = ownerobject(c); treenode involved = parnode(1); /**By Expression*/ /** \nExpression: */ double value = /**/2040/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\ive/port?o?0l$9@6\7PlisBstate@>@B firstmtbf@*treenode current = ownerobject(c); treenode involved = parnode(1); /**By Expression*/ /** \nExpression: */ double value = /**/6720/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\ive/port?o?0l$9@@6\7P )Bapplyindividuals@B downtrigger@treenode current = ownerobject(c); treenode members = var_s(current,"members"); treenode involved = parnode(1); // If involved is equal to current, all of the members went down at the same time // Otherwise, involved is the object that went down B uptrigger@treenode current = ownerobject(c); treenode members = var_s(current,"members"); treenode involved = parnode(1); // If involved is equal to current, all of the members went down at the same time // Otherwise, involved is the object that went down Bdownfunction@htreenode current = ownerobject(c); treenode downobject = parnode(1); int state = parval(2); double downtime = parval(3); treenode membercoupling = parnode(4); /**Stop object*/ /** \nExecute stopobject().*/ /** \nID: */ int id = /**/1/**/; /** \nPriority: */ double priority = /**/0/**/; stopobject(downobject ,state, id, priority); return 0; @B%ive/portces/Sub|Gefer?o?0l$6Lk@9hk\?lx 6   9    744=6 B upfunction@treenode current = ownerobject(c); treenode downobject = parnode(1); int state = parval(2); /**Resume object*/ /** \nExecute resumeobject().*/ /** \nID: */ int id = /**/1/**/; /** \nThe resumeobject() command is class dependent. It basically tells the object it can resume doing whatever it was doing before stopobject() was called. It's important to note that a complimentary Resume Function must be defined based on the Down Function defined.*/ resumeobject(downobject, id); return 0; @Bive/portces?o?0l$6Lk@6\  4x  =l  6 *\\B mtbfstates@@B accuracy@Y@B rangecutoff@B behaviour@@Beventfunctions@@Bcppfunctions@@Bspatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB special@@Btitle@dTime Table ObjectB description@bB guifocus@| VIEW:/pages/MTBFMTTR ParametersBguifocusclass@} VIEW:/pages/MTBFMTTR ParametersBvisual@@B settings@B fullhistory?B Charting@B fullreport@Busesummaryreport?Busestatereport?Bsummaryreport@ Bstats_contentBstats_contentminBstats_contentmaxBstats_contentavgB stats_inputB stats_outputBstats_staytimeminBstats_staytimemaxBstats_staytimeavgBstate_currentB state_sinceB statereport@B showpercents?B statelist@Bidle?B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing @Bwaiting_for_operator"@Bwaiting_for_transporter$@B breakdown&@Bscheduled_down(@B conveying*@B travel_empty,@Btravel_loaded.@Boffset_travel_empty0@Boffset_travel_loaded1@Bloading2@B unloading3@Bdown4@Bsetup5@Butilize6@B classlist@+BSourceBQueueB ProcessorBSinkB CombinerB SeparatorBMultiProcessorB ConveyorB MergeSortBRackB ReservoirB DispatcherB OperatorB TransporterB ElevatorBRobotBCraneB ASRSvehicleB FlowNodeB NetworkNodeBTrafficControlB VisualToolB RecorderBBasicTEBBasicFRB FluidTickerB FluidTankBFluidGeneratorBFluidTerminatorB FluidMixerB FluidBlenderBFluidSplitterB FluidPipeBFluidProcessorB ItemToFluidB FluidToItemBBasicConveyorBDiscreteCombinerBDiscreteGeneratorBDiscreteProcessorBLineControllerB ScoreCardBSystemControllerB ExcelExportostring filename = filebrowse("*.xls","Excel Files",concat(cdir(),"userprojects")); // get the name of the file to open if (stringlen(filename) == 0) // This is true when the user presses Cancel on the file browse window { return 0; } excelopen(filename); // open a link with an Excel workbook excelsetsheet("Sheet1"); // set the active worksheet - sheet names should contain only alphanumeric characters and underscore (_) //add your export code here using commands: excelwritenum(), excelwritestr(), excelexporttable() msg("Excel Export","Export complete",1); excelclose(0); // close the workbook @BP*.xls/Excel FilesuserprojectsSheet1Excel ExportExport complete<T@A0 O #|>p:d?0:  FB precisionBactive@Bplanar@object8B viewfocus@MAIN:/project/modelBviewwindowopen@?Bviewwindowtype@?Blisteningwindow@@B@B spatialx@MB spatialy@NX@B spatialsx@P@B spatialsy@Qr@B viewpointx@"O88@B viewpointy@NSB viewpointz@B viewpointrx@VB viewpointry@B viewpointrz@Bviewmagnification@ȉ =~3@Bviewprojectiontype@?Bviewpointradius@D@Bviewbackgroundcolor@@B@?B@?B@?B viewlights@@B1@@B viewlightx@?B viewlighty@?B viewlightz@?B viewlightr@?B viewlightg@?B viewlightb@?Bviewlightaspos@Bviewautoconnect@Bviewsnaptogrid@?Bviewsyncupdate@B viewnear@iBviewfar@i@B viewshowgrid@?Bgridx@?Bgridy@?Bviewlabelalignment@@B OnDropNode@B//pt(" drop node");pt(getname(c));pt(getname(i));pr(); if(i != c) { string thekey; if(!iskeydown()) { int editmode = modeleditmode(-1); switch(editmode) { case EDITMODE_A_CONNECT: thekey = "A"; break; case EDITMODE_Q_CONNECT: thekey = "Q"; break; case EDITMODE_S_CONNECT: thekey = "S"; break; case EDITMODE_W_CONNECT: thekey = "W"; break; case EDITMODE_E_CONNECT: thekey = "E"; break; case EDITMODE_D_CONNECT: thekey = "D"; break; } } else thekey = strascii(lastkeydown()); if(switch_selected(c, -1) && !switch_selected(i, -1)) groupconnectto(i, thekey); else if(switch_selected(i, -1) && !switch_selected(c, -1)) groupconnectfrom(c, thekey); else contextdragconnection(c, i, thekey); set(node("MAIN:/project/exec/globals/nodevariables/connectionjustmade"), 1); } @BOnDrop@makeactive(c);@B menuview@B viewlist@ PlanarViewsB menupopup@@BEdit@@BDesignate This Node (so)@Aviewmenucommand("Edit|Designate This Node (so)",ownerobject(c));B-@BReset Object@setcurrent(selectedobject(ownerobject(c))); // Make sure something was actually selected if(not(objectexists(current))) { return(0); } set(spatialrx(current),0); set(spatialry(current),0); set(spatialrz(current),0); set(spatialz(current),0);BSet Object Reset Position@eif(objectexists(selectedobject(ownerobject(c)))) setresetposition(selectedobject(ownerobject(c)));B-@BAdd to User Library@4addtouserlibrary(selectedobject(ownerobject(c))); BView@@ BDesignate This View (sv)@Aviewmenucommand("View|Designate This View (sv)",ownerobject(c));B-@B&Capture Screen p@.viewmenucommand("View|Print",ownerobject(c));B Reset View@l//pt(" Resetting view ");popupmenu(node("../..",c)); viewmenucommand("View|Zoom...|Reset",ownerobject(c));B0"/buttons/view_viewsettings.bmp"V&iew Settings@treenode theview = node("VIEW:/standardviews/View Settings"); nodefunction(node("VIEW:/nodefunctions/createview_palette"),theview);B-@BView Container@0treenode view = ownerobject(c); treenode focus = node(">viewfocus+",view); if(focus == model()) return 0; viewmenucommand("View|Up", view); focus = node(">viewfocus+",view); set(viewpointx(view), xcenter(focus)); set(viewpointy(view), ycenter(focus)); set(viewpointz(view), 0); /*int orthonr = 0; treenode activeviews = node("VIEW:/active"); for(int i = 1; i < getrank(view); i++) { treenode curview = rank(activeviews, i); if(comparetext(getname(curview), "ortho")) orthonr++; }*/ string path = nodetopath(focus, 1); if(stringlen(path)>20) path = stringpart(path, 20, stringlen(path)-20); else path = getname(focus); //sets(windowtitle(view), concat("Orthographic View - ", numtostring(orthonr, 0,0), " - ", path)); sets(windowtitle(view), concat("Orthographic View - ", path)); BView Contents@treenode view = ownerobject(c); set(viewpointx(view), 0); set(viewpointy(view), 0); set(viewpointz(view), 0); viewmenucommand("View|Down", view); treenode focus = node(">viewfocus+",view); /*int orthonr = 0; treenode activeviews = node("VIEW:/active"); for(int i = 1; i < getrank(view); i++) { treenode curview = rank(activeviews, i); if(comparetext(getname(curview), "ortho")) orthonr++; }*/ string path = nodetopath(focus, 1); if(stringlen(path)>20) path = stringpart(path, 20, stringlen(path)-20); else path = getname(focus); //sets(windowtitle(view), concat("Orthographic View - ", numtostring(orthonr, 0,0), " - ", path)); sets(windowtitle(view), concat("Orthographic View - ", path)); B-@BExplore Structure@if (license()) { viewmenucommand("View|Structure...|Explore structure",ownerobject(c)); } else{msg("Flexsim","Not available in evaluation mode.");} BModeling Utilities@@BC"/buttons/view_edithighlightedobject.bmp"Edit &Highlighted Object@treenode theview = node("VIEW:/standardviews/Edit Highlighted Object"); nodefunction(node("VIEW:/nodefunctions/createview_palette"),theview,1);B?"/buttons/view_editselectedobjects.bmp"Edit &Selected Objects@treenode theview = node("VIEW:/standardviews/Edit Selected Objects"); nodefunction(node("VIEW:/nodefunctions/createview_palette"),theview,1);B."/buttons/view_findobjects.bmp"&Find Objects@treenode theview = node("VIEW:/standardviews/Find Objects"); nodefunction(node("VIEW:/nodefunctions/createview_palette"),theview,1);B4"/buttons/view_travelnetworks.bmp"Travel &Networks@treenode theview = node("VIEW:/standardviews/Travel Networks"); nodefunction(node("VIEW:/nodefunctions/createview_palette"),theview,1);B!"/buttons/view_views.bmp"&Views@treenode theview = node("VIEW:/standardviews/Views"); nodefunction(node("VIEW:/nodefunctions/createview_palette"),theview,1);B#"/buttons/view_groups.bmp"&Groups@treenode theview = node("VIEW:/standardviews/Groups"); nodefunction(node("VIEW:/nodefunctions/createview_palette"),theview,1);B0"/buttons/view_modellayouts.bmp"&Model Layouts@treenode theview = node("VIEW:/standardviews/Model Layouts"); nodefunction(node("VIEW:/nodefunctions/createview_palette"),theview,1);B&"/buttons/view_tree.bmp"Explore Tree@if (license()) { viewmenucommand("Explore|As Tree",ownerobject(c)); } else{msg("Flexsim","Not available in evaluation mode.");} B Properties@setcurrent(node("VIEW:/active")); setport(content(current)); viewmenucommand("Parameters",ownerobject(c)); if(content(current)>port) { setcurrent(node(">listeningwindow", ownerobject(c))); sets(current, nodetopath(last(node("VIEW:/active")), 1)); set(first(current), 1); }B windowtitle@Planar View - modelBviewignoreobjects@Bviewhideallconnectors@Bviewhidealllabels@Bviewhideallbases@Bviewhidealldrawcontent@?Bviewhiderouting@Bconnectorsize@Bconnectorstyle@@B labelscale@?BOnMouseWheel@set(viewmagnification(ownerobject(c)), max(0.02, mul(add(1.0,div(max(-499, get(node("..>OnMouseWheelDelta",c))),500)),get(viewmagnification(ownerobject(c)))))); repaintview(ownerobject(c));@BOnMouseWheelDelta@^@B OnPreOpen@\setname(c, "planar"); treenode activeviews = node("VIEW:/active"); /* int totalnr = 0; int orthonr = 1; for(int i = 1; i < getrank(c); i++) { treenode view = rank(activeviews, i); if(comparetext(getname(view), "ortho") || comparetext(getname(view), "persp") || comparetext(getname(view), "planar") ) totalnr++; if(comparetext(getname(view), getname(c))) orthonr++; } inc(spatialy(c), 25*totalnr); sets(windowtitle(c), concat("Planar View - ", numtostring(orthonr, 0,0), " - model"));*/ // This moves the view if there is another view under it. int bust=1; // to prevent possible infinite loops int moved=1; while(moved && bust<20) { moved = 0; for(int i=2;i<=content(activeviews);i++) { treenode view = rank(activeviews,i); if(view==c) continue; if(fabs(get(spatialx(view))-get(spatialx(c)))<25 && fabs(get(spatialy(view))-get(spatialy(c)))<25 && get(viewwindowtype(view))==get(viewwindowtype(c))) { inc(spatialx(c),25); inc(spatialy(c),25); moved = 1; break; } } bust++; } sets(windowtitle(c), concat("Planar View - model"));@BOnOpen@executefsnode(node(">updatemenus",c),c); set(node(">needtoupdatemenus",c), 1); set(itemcurrent(c),1); set(first(itemcurrent(c)),0); /*int orthonr = 1; treenode activeviews = node("VIEW:/active"); for(int i = 1; i < getrank(c); i++) { treenode view = rank(activeviews, i); if(comparetext(getname(view), "planar")) orthonr++; }*/ treenode focus = node(">viewfocus+",c); string path = nodetopath(focus, 1); if(stringlen(path)>20) path = stringpart(path, 20, stringlen(path)-20); else path = getname(focus); //sets(windowtitle(c), concat("Planar View - ", numtostring(orthonr, 0,0), " - ", path)); sets(windowtitle(c), concat("Planar View - ", path)); @B OnClose@/*int planarnr = 0; treenode activeviews = node("VIEW:/active"); iterate(1,content(activeviews),1) { if(and(comparetext("planar",getname(rank(activeviews,count()))),ne(count(),getrank(c)))) { planarnr++; setcurrent(rank(activeviews,count())); setnodestr(windowtitle(current), concat("Planar View - ",numtostring(planarnr,0,0)," - ",getname(node(">viewfocus+",current),1))); } } repaintall();*/@B OnKeyDown@set(first(itemcurrent(c)), 0);@B OnKeyUp@set(first(itemcurrent(c)), 0); // I'm going to unselect the tools folder if the last key down was a delete and the content of the model is one if(and(eq(lastkeydown(),46), eq(content(model()), 1))) { setselectedobject(c, 0); }@B itemcurrent@?@B lastclicked@B OnClick@$=//pt("OnClick clickcode = : ");pd(clickcode());pt(" ");pr(); #define MODE_NORMAL 0 treenode connectionjustmade = node("MAIN:/project/exec/globals/nodevariables/connectionjustmade"); setcurrent(node("MAIN:/project/exec/globals/nodevariables/connectionjustmade"));// I just made a drag connection int mode = modeleditmode(-1); treenode lastclickedobject = first(itemcurrent(c)); if(get(connectionjustmade))// I just did a drop node { set(connectionjustmade, 0); set(lastclickedobject, 0); return(0); } if(clickcode() == DOUBLE_CLICK && objectexists(selectedobject(c))) { if(or( node("VIEW:/active/LAST>objectfocus+") == selectedobject(c), node("VIEW:/active/LAST>viewfocus+") == selectedobject(c) )) { sets(node(">listeningwindow",c), nodetopath(last(node("VIEW:/active")),1)); set(first(node(">listeningwindow",c)), 1); } } if(clickcode() == LEFT_PRESS) {// the left mouse button was just pressed down if(iskeydown('F') || iskeydown('R') || mode == EDITMODE_CREATEOBJECTS || mode == EDITMODE_CREATEANDCONNECTOBJECTS) { if(objectexists(selectedobject(c))) { if(not(isclasstype(selectedobject(c), CLASSTYPE_VISUALTOOL))) return(0); } treenode libraryview = NULL; // Here I'm trying to find the Library treenode active = node("VIEW:/active"); for(int i = 1; i <= content(active) && !libraryview; i++) { treenode curnode = rank(active, i); if(objectexists(tabwindow(curnode)) && get(tabwindow(curnode)) == -102) // palettewindows tabbed in one window { for(int w=1;w<=content(node("/tabcontrol",curnode));w++) { treenode checkview = rank(node("/tabcontrol",curnode),w); if(objectexists(windowtitle(checkview)) && comparetext("Library", gets(windowtitle(checkview)))) { libraryview = checkview; } } } else if(objectexists(windowtitle(curnode)) && comparetext("Library", gets(windowtitle(curnode)))) { libraryview = curnode; } } if(objectexists(selectedobject(node("/GroupIconGrid", libraryview)))) { setdropcoords(c); //pt(" drop x = ");pf(dropx());pt(" drop y = ");pf(dropy());pt(" drop z = ");pf(dropz());pr(); treenode newobj = nodefunction(node(">dragfunction", libraryview), selectedobject(node("/GroupIconGrid", libraryview)), selectedobject(c), dropx(),dropy(),dropz(), c ); if(iskeydown('R') || mode==EDITMODE_CREATEANDCONNECTOBJECTS) { if(objectexists(newobj) && objectexists(get(lastclickedobject))) { contextdragconnection(get(lastclickedobject), newobj, "A"); } else { set(lastclickedobject, 0); } set(lastclickedobject, newobj); } return (0); } } if(iskeydown('G') || mode == EDITMODE_FASTPROPSWITCH)// edit objects mode { treenode listeningwindowatt = node(">listeningwindow",c); treenode listeningwindow = node(gets(listeningwindowatt)); if(objectexists(listeningwindow)) { treenode focus = node(">objectfocus+",listeningwindow); if(not(objectexists(focus))) focus = node(">viewfocus+",listeningwindow); if(objectexists(selectedobject(c)) && selectedobject(c) != focus) { if(!get(first(listeningwindowatt)) || comparetext(gets(guifocusclass(selectedobject(c))) , gets(guifocusclass(focus)))) { if(objectexists(viewfocus(listeningwindow))) sets(viewfocus(listeningwindow), nodetopath(selectedobject(c))); if(objectexists(objectfocus(listeningwindow))) sets(objectfocus(listeningwindow), nodetopath(selectedobject(c))); applylinks(listeningwindow, 1);// refresh links redirectpicklists(listeningwindow); //refreshview(item); if(objectexists(OnOpen(listeningwindow))) executefsnode(OnOpen(listeningwindow), listeningwindow, selectedobject(c)); forobjecttreeunder(listeningwindow) repaintview(a); } } } else { sets(listeningwindowatt, ""); } } } @Bx MAIN:/project/exec/globals/nodevariables/connectionjustmadeingMAIN:/project/exec/globals/nodevariables/connectionjustmadeting>vie>ediVIEW:/active/LAST>objectfocus+VIEW:/active/LAST>viewfocus+>las>listeningwindowVIEW:/activeth>listeningwindowpdattyty3D S/FlyVIEW:/activeffic>expject@>obs+>u/tabcontrol/tabcontrols/edLibraryLibrary>vie/GroupIconGrid>vie>dragfunctiono/GroupIconGrid LibrA/StaonGrMUTAonGrgfun>listeningwindowSEupIc>objectfocus+>viewfocus+A >lisndow>obj+L ?L@>\6,? o  |  =  }$  =  }@  =4  6T #)|+poh#X0P  +8 #(+o#+ou tdo\H}o fB# 0 Y!+!#|!!4p!!+` !#P!!4D!!+4!(!R!!F  ##+#o %*%%%+%o9& )?))+?++ +,6(,, BS.?...4..=. %7/)8 /#(//|/#/=///#/=/16H11 13? 3334333=33 4)| 4Bl4t`41T4=H44<4041$4=4 6>66=615111 !1&111=t11d14X1 ? $ :)  :B:t:1:=::::1:=:<>(<<=<,5,,, (,) ,*x,=l,,&\,P,=D,,48, T??p?+d?T?=H??8AAo|H?LH Hj(Ho F9F8F7E+EoD+DD=DDCC=CC 8"I+I#tII4hII\IR , K)KK|K=KKK=K M M M=M M|M=M -Q}( QQ= QS}P S=D S S=8 SM U z{Y+ Y#x YY4l YY` YG[? [ [ [o [ \? \ \ \t \= \  yd] ]= ] _?L _ _< _=0 _ _  f `*t `h `=\ ` `> ` ` `= ` `  uNa) a( a= a a+ ao a a+ ao  |De+ eB et e e=x e ctl c` c+T coL c*@ c|4 c( c= c  k g g9 g= g hu h h+ ho h9 h= h  g i@ i84 i=( i ju jx j+l jod j8X j=L j k kk= k l l= l  U n n= n= n oD$ o+ oo o= o o= o= o ]p=8 p  qp L pD td t avuh vd v=X v Bviewconnectioncolor@@B@B@B@Bdocumentwindow@Z@@B tabwindow@@Y@@BOnDropWindow@%// dragging from a window to another window if(objectexists(i)) executefsnode(node("MAIN:/project/exec/globals/nodefunctions/droptab_in_document"),c,i,0,0); // dragging a tab out of a window else executefsnode(node("MAIN:/project/exec/globals/nodefunctions/droptab_out_document"),c,i,0,0);BPlanar@\buttons\view_planar.bmpBviewwindowclean@@Bflypath@BCanister arrival4 @objectBsuperclasses@@BFixedResource@ABFlexsimObject@@oABclasses@@BSource@ȂABFixedResource@rABFlexsimObject@@oAB variables@@)B arrivalmode@@Binterarrivaltime@treenode current = ownerobject(c); /**By Expression*/ /** \nExpression: */ double value = /**/10/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B@ MAINec/godev?o9$  674. Btimezerocreate@Binterarrivalitemtype@?B itemclass@ @B schedule@@BUK@@B ArrivalTime@u@B ItemName@ProductB ItemType@?B Quantity@@BEU@@B@@@B@ProductB@@B@@BJapan@@B@@@B@ProductB@@B@2@Brepeat@?B sequence@@B Arrival1@@B ItemName@ProductB ItemType@?B Quantity@?Bsequencecurrow@?Bcreationtrigger@treenode item = parnode(1); treenode current = ownerobject(c); int rownumber = parval(2); //row number of the schedule/sequence table @B flowitembin@@BCanister arrivalsubnode@Bcreateparticle@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev/conade?o?0l$6Lk@ ? B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev/conaderoup:/prlobaaria? l?0$o6Lk@6\}D c  4x  =l ORTBnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@Bcppvariables@@Bfsnode * flowitemtocreate@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@Bcolor@a@Bred@333333?Bgreen@ffffff?Bblue@333333?Bshape@ufs3d\Source.3DSB shapeindex@v;@Bpicture@cbitmaps\sourcepicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB special@@Btitle@dFixed Resource SourceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/SourceParametersB spatial@@B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Boffsetx@VBoffsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^/$@B offsetrx@YB offsetry@ZB offsetrz@[B objectinfo@@B Output: 2482@d@BBlocked: 76.7%@N.S@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @Bconnectionsout@ @B@;@B@B@Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BFilling canister$@objectBclasses@@B Processor@˂ABFixedResource@rABFlexsimObject@@oAB superclasses@@BFixedResource@ABFlexsimObject@@oAB variables@@9B cycletime@Ttreenode current = ownerobject(c); treenode item = parnode(1);/**Statistical Distribution: */ return /**/uniform(11.333, 14.583, 0)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@Bl MAINodev"~&@/con"~*-@roup?o?0l$6LXL@B setuptime@8treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2);/**By Expression*/ /** \nExpression: */ double value = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev/conroup?o?0l$?Lk@9\}D7lB maxcontent@?@Buseprocessoperators@Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev:/pr?o?0l$6@9\ cx h 4\  =P ); Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev:/pr?o?0l$6@9\cxh4\=P); Bcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@9\ B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@?@Btransportpriority@Bpreempttransport@?Btransportdispatcher@`treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev:/prlobaaria? l?0$o6Lk@6\}D c  4x  =l ORTBnroftransportsout@@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BFilling canistersubnode@oBFilling canistersubnode@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@Bcolor@a@Bred@RQ?Bgreen@333333?Bblue@'1Z?Bshape@ufs3d\procsr_color.3dsB shapeindex@v:@Bpicture@c"bitmaps\processorpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB special@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@} VIEW:/pages/ProcessorParametersB spatial@@B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WB offsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@B Output: 1091@ @B %Idle: 0.5@= pBstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@B Apply Lid$@objectBclasses@@B Processor@˂ABFixedResource@rABFlexsimObject@@oAB superclasses@@BFixedResource@ABFlexsimObject@@oAB variables@@9B cycletime@%treenode current = ownerobject(c); treenode item = parnode(1); /**By Expression*/ /** \nExpression: */ double value = /**/0.5/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B hMAINodev??o?0l$9L@6\7\B setuptime@treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2); /**No Setup Time (return zero)*/ return 0;@B maxcontent@?@Buseprocessoperators@Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev:/pr?o?0l$6@6\ cx h 4\  =P ); Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev:/pr?o?0l$6@6\cxh4\=P); Bcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6\ B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@?@Btransportpriority@Bpreempttransport@?Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev:/prlobaaria? l?0$o6Lk@6\}D c  4x  =l Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@Bcolor@a@Bred@RQ?Bgreen@333333?Bblue@'1Z?Bshape@ufs3d\procsr_color.3dsB shapeindex@v:@Bpicture@c"bitmaps\processorpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB special@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@} VIEW:/pages/ProcessorParametersB spatial@@B spatialx@M@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WB offsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@B Output: 1091@ @B %Idle: 60.8@JScN@B%Processing: 0.3@UUUUUU?B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@ @B@?B@Bconnectionsout@ @B@t'@B@B@Bconnectionscenter@ @B@0@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BWelding$@objectBclasses@@B Processor@˂ABFixedResource@rABFlexsimObject@@oAB superclasses@@BFixedResource@ABFlexsimObject@@oAB variables@@9B cycletime@#treenode current = ownerobject(c); treenode item = parnode(1); /**By Expression*/ /** \nExpression: */ double value = /**/4/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\MAINodev?o?0l$9@6\7P} B setuptime@8treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2);/**By Expression*/ /** \nExpression: */ double value = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev?o?0l$?Lk@9\}D7l));B maxcontent@?@Buseprocessoperators@Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev:/pr?o?0l$6@9\ cx h 4\  =P ); Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev:/pr?o?0l$6@9\cxh4\=P); Bcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@9\ B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@?@Btransportpriority@Bpreempttransport@?Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev:/prlobaaria? l?0$o6Lk@6\}D c  4x  =l Bnroftransportsout@@Bnroftransportsin@@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BWeldingsubnode@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@Bcolor@a@Bred@RQ?Bgreen@333333?Bblue@'1Z?Bshape@ufs3d\procsr_color.3dsB shapeindex@v:@Bpicture@c"bitmaps\processorpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB special@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@} VIEW:/pages/ProcessorParametersB spatial@@B spatialx@M$@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WB offsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@B Output: 1086@@B %Idle: 53.0@JyJ@B%Processing: 2.5@?hI.A@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@z'@B@?B@Bconnectionsout@ @B@ @B@B@Bconnectionscenter@ @B@1@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BTesting$@objectBclasses@@B Processor@˂ABFixedResource@rABFlexsimObject@@oAB superclasses@@BFixedResource@ABFlexsimObject@@oAB variables@@9B cycletime@treenode current = ownerobject(c); treenode item = parnode(1);/**By Expression*/ /** \nExpression: */ double value = /**/4/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\MAINodev?o?0l$9@6\7P} B setuptime@;treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2);/**By Expression*/ /** \nExpression: */ double value = /**/0.25/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@BlMAINodev?:/pr?o?0l$?Lk@9h\}D7xB maxcontent@?@Buseprocessoperators@Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev:/pr?o?0l$6@9h cx h 4\  =P ); Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev:/pr?o?0l$6@9hcxh4\=P); Bcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@9h B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@?@Btransportpriority@Bpreempttransport@?Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev:/prlobaaria? l?0$o6Lk@6\}D c  4x  =l Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BTestingsubnode@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@Bcolor@a@Bred@RQ?Bgreen@333333?Bblue@'1Z?Bshape@ufs3d\procsr_color.3dsB shapeindex@v:@Bpicture@c"bitmaps\processorpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB special@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@} VIEW:/pages/ProcessorParametersB spatial@@B spatialx@M.@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WB offsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@B Output: 1085@@B %Idle: 58.1@ , M@B%Processing: 2.5@4&@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@ @B@?B@Bconnectionsout@ @B@ @B@B@Bconnectionscenter@ @B@1@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BBuffer$@objectB superclasses@@BFixedResource@ABFlexsimObject@@oABclasses@@BQueue@ ʂABFixedResource@rABFlexsimObject@@oAB variables@@,B maxcontent@@@B usebatching@B batchsize@@B maxwaittime@Bflush@Bcurrentbatchsize@Bendcollectingtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @B placemode@?B stackinitz@B curxfringe@Bcuryloc@B curmaxysize@Bcurzloc@B curmaxzsize@Bproductspacing@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6\ B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@?@Btransportpriority@Bpreempttransport@?Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev:/prlobaaria? l?0$o6Lk@6\}D c  4x  =l Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@Bcppvariables@@Bint lastpredrawoutput@Bint lastpredrawinput@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bspecial@@Btitle@dFixed Resource QueueB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/QueueParametersBvisual@@ Bcolor@a@Bred@MbX9?Bgreen@MbX9?Bblue@MbX9?Bshape@ufs3d\queue_n_color.3dsB shapeindex@v<@Bpicture@cbitmaps\queuepicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B spatial@@B spatialx@M2@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@BCurContent: 0@BMaxContent: 2@BAvgStaytime: 39.4@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@ @B@?B@Bconnectionsout@ @B@@B@B@Bconnectionscenter@ @B@1@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@bDefaultNavigator@object Bclasses@@B Navigator@ ABFlexsimObject@@oAB superclasses@@BFlexsimObject@AB variables@@Btravelmembers@@Bactivetravelmembers@@Blastupdatetime@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@B networknodes@Btimeoflaststop@B nrofstops@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble* protectlocs@Bunsigned char portinfoflag@Bspatial@@ B spatialsx@P-C6?B spatialsy@Q-C6?B spatialsz@R-C6?B spatialx@MB spatialy@NB spatialz@OB spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Bspecial@@B guifocus@|!VIEW:/standardviews/objecteditorBtitle@dObjectB description@bBlabels@@Bvisual@@B nochildscale@_?B connections@@Bconnectionsin@ @Bconnectionsout@ @Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. TimeBstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@BCharger Loading$@objectBclasses@@B Processor@˂ABFixedResource@rABFlexsimObject@@oAB superclasses@@BFixedResource@ABFlexsimObject@@oAB variables@@9B cycletime@treenode current = ownerobject(c); treenode item = parnode(1);/**By Expression*/ /** \nExpression: */ double value = /**/2/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\MAINodev?o?0l$9@6\7P} B setuptime@treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2); /**No Setup Time (return zero)*/ return 0;@B maxcontent@?@Buseprocessoperators@?Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev:/pr?o?0l$6@6\ cx h 4\  =P ); Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev:/pr?o?0l$6@6\cxh4\=P); Bcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6\ B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev:/prlobaaria? l?0$o6Lk@6\}D c  4x  =l Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BCharger Loadingsubnode@BCharger Loadingsubnode@JB MTBFMTTR8@B networknodes@@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@Bcolor@a@Bred@Bgreen@?Bblue@?Bshape@ufs3d\comb_color.3dsB shapeindex@v>@Bpicture@c"bitmaps\processorpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB special@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@} VIEW:/pages/ProcessorParametersB spatial@@B spatialx@M:@B spatialy@N@B spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WB offsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@B Output: 834@@B %Idle: 58.8@&gr&gjM@B%Processing: 1.0@qD2?B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@c:@B@?B@Bconnectionsout@ @B@@B@B@Bconnectionscenter@ @B@(@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BPit$@objectB superclasses@@BFixedResource@ABFlexsimObject@-XABclasses@@BRack@`ڂABFixedResource@`/XABFlexsimObject@-XAB variables@@,B placeinbay@treenode item = parnode(1); treenode current = ownerobject(c); /**Random Bay if Available*/ /** \nMaximum items per cell: */ int cellcap = /**/1/**/; /** \n\nNote: If all cells are full, it will be placed in the originally chosen random bay.*/ int nrofbays = rackgetnrofbays(current); int firstguess = duniform(1, nrofbays); int curguess = firstguess; while(curguess <= nrofbays) { if( rackgetbaycontent(current, curguess) < (cellcap * rackgetnroflevels(current, curguess))) return curguess; curguess++; } curguess = firstguess - 1; while(curguess >= 1) { if( rackgetbaycontent(current, curguess) < (cellcap * rackgetnroflevels(current, curguess))) return curguess; curguess--; } return firstguess;@Bt\MAINodev:/prlobablesionjYou nter d toVIEWT>obs+VIEW/LAS ngwi? l?0$o6@ 6h  \ =P  6   4x   6  4   'TD44(=44= h4d5p &4454  $ '8(4 =44=#6 4H5T *$40?L4hathBplaceinlevel@8treenode item = parnode(1); treenode current = ownerobject(c); double baynumber = parval(2); /**Random Level if Available*/ /** \nMaximum items per cell: */ int cellcap = /**/1/**/; /** \n\nNote: If the randomly chosen level is occupied, then search higher numbered levels first, then lower numbered levels. If all cells are full, it will placed in the originally chosen random level.*/ int nroflevels = rackgetnroflevels(current,baynumber); int firstguess = duniform(1, nroflevels ); int curguess = firstguess; while(curguess <= nroflevels ) { if( rackgetcellcontent(current, baynumber, curguess) < cellcap ) return curguess; curguess++; } curguess = firstguess - 1; while(curguess >= 1) { if( rackgetcellcontent(current, baynumber, curguess) < cellcap ) return curguess; curguess--; } return firstguess; @BPZMAINodev:/prlobablesionj? l?0$o9Lk@6\ 6   7x  =l  6   4   6  4   'X 4L84,7 = 4h5t &4454 * ' 447=$ 4$ 50 0$42?x4DBminimumstaytime@E/**Custom Code**/ treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); int uk = round(time/336); int eu = round(time/840); int jap = round(time/3024); int value = getitemtype(item); switch(value) { case 1: while (uk<=157) { return 26208; uk = round(time/336); } uk = round(time/336); while (time<((336*uk)-168)) { return 336; uk = round(time/336); } uk = round(time/336); while (((336*uk)-168)<=time<=(336*uk)) { return 0; uk = round(time/336); } uk = round(time/336); case 2: while (time<((840*uk)-672)) { return 840; eu = round(time/840); } eu = round(time/840); while (((840*uk-672))<=time<=(840*uk)) { return 0; eu = round(time/840); } eu = round(time/840); case 3: while (time<((3024*uk)-2856)) { return 3024; jap = round(time/3024); } jap = round(time/3024); while (((3024*uk)-2856)<=time<=(3024*uk)) { return 0; jap = round(time/3024); } jap = round(time/3024); }@BMAINodevndowtiveual tenigeplis:/acNcont? l?0$o6Lk@6tdP\6H 6      6   = g<  4     `f5l`PPH &84,5P|  $ P5  P *'4P5L@0P( : 2?x5P =& 4P&xh4\P5$P 8 7 85 "H#5# ###H#x 8 'h X  H 4<  H 4%5%%%%H% H 36()5t))h)X)H)P O&&@ &0&4$&&H&&& &&&&4&&H+5++++H+ X Z D. /5 / /// / G,',,( ,,4,, ,15T11H181 10 B J?4555555 5 L2& 22422 2&222( 2p24d22 75,77 77 7 k? eamBenddwelltimetrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @B maxcontent@i@Bcontenttable@@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@ B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@B@@B@Blocationtable@@B@@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@?@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@?@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@?@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@@@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@@@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@@@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@ @@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@@@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@@@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@@@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@@@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@@@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@@@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@@@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@@@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@ @@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@!@@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@"@@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B@#@@ B@B@?B@?B@?B@@B@@B@@B@ @B@@B@@B sizetable@@BBay1@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay2@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay3@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay4@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay5@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay6@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay7@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay8@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay9@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay10@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay11@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay12@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay13@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay14@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay15@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay16@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay17@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay18@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay19@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?BBay20@?@ BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?BLevel6@?BLevel7@?BLevel8@?BLevel9@?BLevel10@?B rackdrawmode@?Bpickplaceyoffset@B tiltvalue@B tiltangle@Bmarkreadytogo@B floorstorage@?Bopacity@B nrreleased@Bpull@B sendtoport@treenode item = parnode(1); treenode current = ownerobject(c); /**Conditional Port*/ /** \nIf some condition is true (equal to 1), send to a given port. Otherwise, send to a different port.*/ /** \nCondition: */ int condition = /**/1/**/; /** \nPort if Condition is true: */ int port1 = /**/1/**/; /** \nPort if Condition is false: */ int port2 = /**/2/**/; if (condition) return port1; return port2;@BMAINodev? l?0$o6@ 6P   6`    4p  64| 4Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@ 6PydoB entrytrigger@ treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); { //************* PickOption Start *************\\ /**Set Color */ /** \nColor: */ /**/coloryellow/**/ ( /** \nObject: */ /**/item/**/ ); /** \n\nAvailable colors are: coloraqua, colorblack, colorblue, colorbrown, colorgray, colorgreen, colorlightblue, colorlime, colororange, colorpink, colorpurple, colorrandom, colorred, colorsilver, colorteal, colorwhite, coloryellow*/ /**\n\n*/ } //******* PickOption End *******\\ @B8tMAINodev? l?0$o6Lk@ h =\ B exittrigger@treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); { //************* PickOption Start *************\\ /**Set Color by Value*/ /** \nValue: */ int value = /**/getitemtype(item)/**/; switch(value) { /** \nCases: */ /**/ case 1: colorred(item);break; case 2: colorgreen(item);break; case 3: colorblue(item);break; default: colorarray(item, value);break; /**/ } /**\n\n*/ } //******* PickOption End *******\\ @B+MAINodev ? l?0$o6Lk@ 6t  h =\ * 4  =  z=  w=  $ u4=  5L[B usetransport@?@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\  c  4x  =l ; Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@@Bcppfunctions@@Bcppvariables@@Bint lastpredrawoutput@Bint lastpredrawinput@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@ Bcolor@a@Bred@Bgreen@Bblue@Bshape@u***B shapeindex@vBpicture@c&bitmaps\WarehouseRackpicturesmall.bmpB imageobject@qbitmaps\rackshelf.bmpBimageindexobject@rD@B imagebase@s***Bimageindexbase@tB nochildscale@_?B spatial@@ B spatialsx@P$@B spatialsy@Q@B spatialsz@R?@B centroid@e?B spatialx@M=@B spatialy@N@B spatialz@OB spatialrx@SB spatialry@TB spatialrz@UB special@@Btitle@dFixed Resource SinkB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/RackParametersB objectinfo@@BCurContent: 7@@BMaxContent: 72@R@BAvgContent: 31.7@6L"@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BCrane$ @objectBclasses@@BCrane@`炐AB TaskExecuter@XXAB Dispatcher@`VXABFlexsimObject@-XAB superclasses@@B TaskExecuter@@߂AB Dispatcher@`VXABFlexsimObject@-XAB variables@@HB shellxloc@7@B shellyloc@@B shellzloc@B shellsizex@9@B shellsizey@@B shellsizez@@Bmoving@B liftheight@@Btravelsequence@L>XY>DB cranespeeds@@BGantry@@B Max_Speed@.@BAcceleration@?BDeceleration@?B Trolley@@B@.@B@?B@?B Hoist_Lift@@B@.@B@?B@?B Hoist_Drop@@B@.@B@?B@?BcranekinematicsA8 do not touchu???71"A׷|"A71"A@B@?? D@п?== 0׷|"AV"A?Hr?~?Hr?~?Hr?~?333333?333333?333333?nk(iV"AeCR"A?࿏6ҭ?6ҭ@6ҭ@@@@ngtoV"Aٮͮ"A?S[:XL?S[:XL?S[:XL??dit"eCR"A71"A?Hr?~?Hr?~?Hr?~?333333333333?333333",c))), 1, 0 );*/ I{Py OJ.antent(holder) == v_nroftransportsout) setstate(holder, STATE_WAITING_FOR_TRANSPORT)ty>coeientonen ick ?4$o?p`XD?o?=@4=( ?  | ot L   =      *  |  / =    / =  ! !h8=, 4t|hX/P=D -# =|/==, B liftradius@Bactivetasksequence@@B maxcontent@?B loadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\  7l  B loadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B unloadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\  7l Bunloadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B maxspeed@@B acceleration@?B deceleration@?B navigator@Boldbreakrequirement@Bbreakto@treenode activets = parnode(1); treenode current = ownerobject(c); /**New Tasksequences Only*/ /** \nOnly break to task sequences that have not been started already.*/ treenode tsqueue = gettasksequencequeue(current); treenode returnts = NULL; for(int index = 1; index <= content(tsqueue) && ! returnts; index++) { treenode curts = rank(tsqueue, index); if(gettotalnroftasks(curts) == getnroftasks(curts)) returnts = curts; } return tonum(returnts);@Bl:MAINodev ? l?0$o?XL=@?h 6x    ?    4  =   #` T =H  < =0  >|  =p   5      )  * =  &  =  4 c=B travelinfo@@B travelstartx@B travelstarty@B travelstartz@Btraveldistance@Btraveldirection@B travelendx@B travelendy@B travelendz@B travelacc@B traveldec@Btravelstarttime@~Btravelendtime@Btraveltimealpha@Btraveltimebeta@B travelvpeak@B travelvmax@B travelvstart@B travelvend@Bmodifyrotation@B useoffsets@?Boffsettingnow@Boffsetbegintime@׷|"ABoffsettotaltime@;cY'@B offsetlocx@@B offsetlocy@B offsetlocz@B offsetbeginx@@B@B offsetbeginy@?B offsetbeginz@?Boffsetbeginxrot@Boffsetbeginyrot@Boffsetbeginzrot@B loadedspeed@@B emptyspeed@@Bcurloadunloadtime@Blastupdatedspeed@B travelvstart@B travelvend@Blastspeedupdatetime@71"ABcollisiontrigger@treenode thisobject=ownerobject(c); treenode otherobject=parnode(1); treenode thissphere=parnode(2); treenode othersphere=parnode(3); Bcollcheckinterval@?Bdrawcollspheres@B incollision@Bcollcheckstate@Btotaltraveldist@B kinematics@Bflipthreshold@f@Bpassimmediately@@Bpassto@"treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**First Available*/ /** \nIf there are no objects currently available, then queue the tasksequence up using the Queue Strategy and wait until someone connected to its output ports becomes available.*/ return 0;@Btasksequencequeue@@Bqueuestrategy@treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**Sort by TaskSequence Priority*/ return getpriority(tasksequence);@BX MAINodev? l?0$o?XL=@l.Bcoordinatedtasks@@Bonresourceavailable@treenode current = ownerobject(c); int port = parval(1); treenode resource = parnode(2); treenode nextts = parnode(3); treenode lastts = parnode(4); Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B Cranesubnode@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble lastxloc@Bdouble lastyloc@Bdouble lastzloc@Bdouble justcreated@Bdouble offsetloc[3] @Bfsnode* activetask@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@ Bshape@ufs3d\texturebox.wrlB shapeindex@v@Bpicture@cbitmaps\Cranepicturesmall.bmpB imageobject@qfs3d\concrete.bmpBimageindexobject@rE@B imagebase@s***Bimageindexbase@tBcolor@a@Bred@ffffff?Bgreen@ffffff?Bblue@?B nochildscale@_?Bspecial@@Btitle@dObjectB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/CraneParametersBspatial@@B spatialx@M D@B spatialy@NпB spatialz@O?B spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UBoffsetx@VBoffsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@B objectinfo@@B Output: 1078@ؐ@BStatus: off_shift@>@Blabels@@B connections@@Bconnectionsin@ @Bconnectionsout@ @Bconnectionscenter@ @B@6@B@B@B@a5@B@B@B@ @B@B@B@@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BCharger Source @objectBsuperclasses@@BFixedResource@ABFlexsimObject@-XABclasses@@BSource@ȂABFixedResource@`/XABFlexsimObject@-XAB variables@@)B arrivalmode@@Binterarrivaltime@2treenode current = ownerobject(c); /**Statistical Distribution: */ return /**/exponential(0,10,1)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@B8 MAIN?o?0$ t(cBtimezerocreate@Binterarrivalitemtype@?B itemclass@,@B schedule@@B Arrival1@@B ArrivalTime@?B ItemName@ChargerB ItemType@?B Quantity@@Brepeat@B sequence@@B Arrival1@@B ItemName@ProductB ItemType@?B Quantity@?Bsequencecurrow@?Bcreationtrigger@treenode item = parnode(1); treenode current = ownerobject(c); int rownumber = parval(2); //row number of the schedule/sequence table @B flowitembin@@BCharger Sourcesubnode@Bcreateparticle@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@?h B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\ ?  c  4x  =l ; Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@Bcppvariables@@Bfsnode * flowitemtocreate@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@ Bcolor@a@Bred@333333?Bgreen@ffffff?Bblue@333333?Bshape@ufs3d\Source.3DSB shapeindex@v;@Bpicture@cbitmaps\sourcepicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B special@@Btitle@dFixed Resource SourceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/SourceParametersB spatial@@B spatialx@M@@B spatialy@N@B spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB centroid@e?Boffsetx@VBoffsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^/$@B offsetrx@YB offsetry@ZB offsetrz@[B objectinfo@@B Output: 3@@BBlocked: 76.9%@Q P ;S@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @Bconnectionsout@ @B@F@B@B@Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. TimeBstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BIdle Chargers$@objectB superclasses@@BFixedResource@ABFlexsimObject@-XABclasses@@BQueue@ ʂABFixedResource@`/XABFlexsimObject@-XAB variables@@,B maxcontent@$@@B usebatching@B batchsize@@B maxwaittime@Bflush@Bcurrentbatchsize@Bendcollectingtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @B placemode@?B stackinitz@B curxfringe@Bcuryloc@B curmaxysize@Bcurzloc@B curmaxzsize@Bproductspacing@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6\ B entrytrigger@ treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); { //************* PickOption Start *************\\ /**Set Color */ /** \nColor: */ /**/colorblack/**/ ( /** \nObject: */ /**/item/**/ ); /** \n\nAvailable colors are: coloraqua, colorblack, colorblue, colorbrown, colorgray, colorgreen, colorlightblue, colorlime, colororange, colorpink, colorpurple, colorrandom, colorred, colorsilver, colorteal, colorwhite, coloryellow*/ /**\n\n*/ } //******* PickOption End *******\\ @B8tMAINodev? l?0$o6Lk@ vh =\ tnoB exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\ ?  c  4x  =l ); Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@B@B@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@Bcppvariables@@Bint lastpredrawoutput@Bint lastpredrawinput@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bspecial@@Btitle@dFixed Resource QueueB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/QueueParametersBvisual@@ Bcolor@a@Bred@MbX9?Bgreen@MbX9?Bblue@MbX9?Bshape@ufs3d\queue_n_color.3dsB shapeindex@v<@Bpicture@cbitmaps\queuepicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B spatial@@B spatialx@MB@B spatialy@N@B spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@BCurContent: 3@BMaxContent: 3@BAvgStaytime: 221.4@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@(@B@?B@B@O@B@?B@B@@B@?B@B@@B@?B@B@@B@?B@B@W5@B@?B@B@6@B@?B@Bconnectionsout@ @B@@B@B@B@b"@B@B@B@#@B@B@B@%@B@B@Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BCharger Preperation$@objectBclasses@@B Combiner@ςAB Processor@DXABFixedResource@`/XABFlexsimObject@-XAB superclasses@@B Processor@˂ABFixedResource@`/XABFlexsimObject@-XAB variables@@ABcollectingcontainer@?Bcomponentlist@@BFrom Input Port 2@@BTarget Quantity@?BCurrent Quantity@?Bcurrentcomponentsum@?Btargetcomponentsum@?Bpack@?Boverriddenreceivefromport@%// This code isn't used any more @Boverriddenpullrequirement@%// This code isn't used any more. @B recycle@B cycletime@treenode current = ownerobject(c); treenode item = parnode(1);/**By Expression*/ /** \nExpression: */ double value = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\MAINodev?o?0l$9@6\7P0; B setuptime@treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2); /**No Setup Time (return zero)*/ return 0;@B maxcontent@?@Buseprocessoperators@Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\ cx h 4\  =P ); Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\cxh4\=P); Bcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6\} B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\ ?  c  4x  =l e; Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BCharger Preperationsubnode@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@Bvisual@@Bcolor@a@Bred@?Bgreen@?Bblue@TTTTTT?Bshape@ufs3d\procsr_color.3dsB shapeindex@v:@Bpicture@c!bitmaps\combinerpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB special@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/CombinerParametersB spatial@@B spatialx@M5@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WB offsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@B objectinfo@@B Output: 2170@@B %Idle: 74.6@S!ŦR@B%Processing: 0.6@&b?Blabels@@B connections@@Bconnectionsin@ @B@ @B@?B@B@d@B@B@Bconnectionsout@ @B@]:@B@B@Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BCharger Unloading$@objectBclasses@@B Separator@ЂAB Processor@DXABFixedResource@`/XABFlexsimObject@-XAB superclasses@@B Processor@˂ABFixedResource@`/XABFlexsimObject@-XAB variables@@=Bunpack@?Bsplitquantity@treenode item = parnode(1); treenode current = ownerobject(c); /**Entire Contents*/ /** \nUnpack the entire content of the flowitem which entered port 1.*/ return content(item); @BX MAINodev? l?0$o6LL=@l.Boverriddensendtoport@treenode item = parnode(1); treenode current = ownerobject(c); /**Default Separator Option*/ /** \nPort for container: */ int containerport = /**/1/**/; /** \nPort for contents: */ int contentport = /**/2/**/; /** \n\nNote: If not unpacking, just send to first available.*/ if(getvarnum(current,"unpack")) { if(getrank(parnode(1)) == 1) return containerport; else return contentport; } else return 0; B recycle@B cycletime@treenode current = ownerobject(c); treenode item = parnode(1);/**By Expression*/ /** \nExpression: */ double value = /**/2/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\MAINodev?o?0l$9@6\7P} B setuptime@treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2); /**No Setup Time (return zero)*/ return 0;@B maxcontent@?@Buseprocessoperators@?Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\ cx h 4\  =P =@Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\cxh4\=PBcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@treenode item = parnode(1); treenode current = ownerobject(c); /**Default Separator Option*/ /** \nPort for container: */ int containerport = /**/1/**/; /** \nPort for contents: */ int contentport = /**/2/**/; /** \n\nNote: If not unpacking, just send to first available.*/ if(getvarnum(current,"unpack")) { if(getrank(parnode(1)) == 1) return containerport; else return contentport; } else return 0; @Bx#MAINodevunpack? l?0$o6@6P  t l =`   #   l  ? 4  >|4  5allBreceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6P B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@?@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\ ?  c  4x  =l v_Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BCharger Unloadingsubnode@BCharger Unloadingsubnode@YB MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@Bvisual@@Bcolor@a@Bred@Bgreen@Mb?Bblue@jt?Bshape@ufs3d\separate_color.3dsB shapeindex@v?@Bpicture@c"bitmaps\separatorpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tBspecial@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@} VIEW:/pages/SeparatorParametersB spatial@@B spatialx@M;@B spatialy@N@B spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB offsetx@VB offsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B spatialrz@UB ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@B objectinfo@@B Output: 1668@@B %Idle: 61.1@wqwqN@B%Processing: 1.0@qD2?Blabels@@B connections@@Bconnectionsin@ @B@@B@?B@Bconnectionsout@ @B@|@B@B@B@V@B@B@Bconnectionscenter@ @B@(@B@B@B@@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BCharger Unloading$@objectBclasses@@B Separator@ЂAB Processor@DXABFixedResource@`/XABFlexsimObject@-XAB superclasses@@B Processor@˂ABFixedResource@`/XABFlexsimObject@-XAB variables@@=Bunpack@?Bsplitquantity@treenode item = parnode(1); treenode current = ownerobject(c); /**Entire Contents*/ /** \nUnpack the entire content of the flowitem which entered port 1.*/ return content(item); @BX MAINodev? l?0$o6LL=@Boverriddensendtoport@treenode item = parnode(1); treenode current = ownerobject(c); /**Default Separator Option*/ /** \nPort for container: */ int containerport = /**/1/**/; /** \nPort for contents: */ int contentport = /**/2/**/; /** \n\nNote: If not unpacking, just send to first available.*/ if(getvarnum(current,"unpack")) { if(getrank(parnode(1)) == 1) return containerport; else return contentport; } else return 0; B recycle@B cycletime@treenode current = ownerobject(c); treenode item = parnode(1);/**By Expression*/ /** \nExpression: */ double value = /**/2/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\MAINodev?o?0l$9@6\7P} B setuptime@treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2); /**No Setup Time (return zero)*/ return 0;@B maxcontent@?@Buseprocessoperators@?Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\ cx h 4\  =P us+Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\cxh4\=PBcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@treenode item = parnode(1); treenode current = ownerobject(c); /**Default Separator Option*/ /** \nPort for container: */ int containerport = /**/1/**/; /** \nPort for contents: */ int contentport = /**/2/**/; /** \n\nNote: If not unpacking, just send to first available.*/ if(getvarnum(current,"unpack")) { if(getrank(parnode(1)) == 1) return containerport; else return contentport; } else return 0; @Bx#MAINodevunpack? l?0$o6@6P  t l =`   #   l  ? 4  >|4  5llBreceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6P B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\ ?  c  4x  =l Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BCharger Unloadingsubnode@BCharger Unloadingsubnode@GB MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@Bvisual@@Bcolor@a@Bred@Bgreen@Mb?Bblue@jt?Bshape@ufs3d\separate_color.3dsB shapeindex@v?@Bpicture@c"bitmaps\separatorpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tBspecial@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@} VIEW:/pages/SeparatorParametersB spatial@@B spatialx@ME@B spatialy@N@B spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB offsetx@VB offsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B spatialrz@UB ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@B objectinfo@@B Output: 1638@@B %Idle: 61.1@iiN@B%Processing: 0.9@RvK1Y?Blabels@@B connections@@Bconnectionsin@ @B@h"@B@?B@Bconnectionsout@ @B@!@B@B@B@J@B@B@Bconnectionscenter@ @B@*@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BCharger Unloading$@objectBclasses@@B Separator@ЂAB Processor@DXABFixedResource@`/XABFlexsimObject@-XAB superclasses@@B Processor@˂ABFixedResource@`/XABFlexsimObject@-XAB variables@@=Bunpack@?Bsplitquantity@treenode item = parnode(1); treenode current = ownerobject(c); /**Entire Contents*/ /** \nUnpack the entire content of the flowitem which entered port 1.*/ return content(item); @BX MAINodev? l?0$o6LL=@l.Boverriddensendtoport@treenode item = parnode(1); treenode current = ownerobject(c); /**Default Separator Option*/ /** \nPort for container: */ int containerport = /**/1/**/; /** \nPort for contents: */ int contentport = /**/2/**/; /** \n\nNote: If not unpacking, just send to first available.*/ if(getvarnum(current,"unpack")) { if(getrank(parnode(1)) == 1) return containerport; else return contentport; } else return 0; B recycle@B cycletime@treenode current = ownerobject(c); treenode item = parnode(1);/**By Expression*/ /** \nExpression: */ double value = /**/2/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\MAINodev?o?0l$9@6\7P} B setuptime@treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2); /**No Setup Time (return zero)*/ return 0;@B maxcontent@?@Buseprocessoperators@?Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\ cx h 4\  =P ); Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\cxh4\=P=@Bcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@treenode item = parnode(1); treenode current = ownerobject(c); /**Default Separator Option*/ /** \nPort for container: */ int containerport = /**/1/**/; /** \nPort for contents: */ int contentport = /**/2/**/; /** \n\nNote: If not unpacking, just send to first available.*/ if(getvarnum(current,"unpack")) { if(getrank(parnode(1)) == 1) return containerport; else return contentport; } else return 0; @Bx#MAINodevunpack? l?0$o6@6P  t l =`   #   l  ? 4  >|4  5Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6P B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\ ?  c  4x  =l ); Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BCharger Unloadingsubnode@BCharger Unloadingsubnode@DB MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@Bvisual@@Bcolor@a@Bred@Bgreen@Mb?Bblue@jt?Bshape@ufs3d\separate_color.3dsB shapeindex@v?@Bpicture@c"bitmaps\separatorpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tBspecial@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@} VIEW:/pages/SeparatorParametersB spatial@@B spatialx@ME@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB offsetx@VB offsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B spatialrz@UB ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@B objectinfo@@B Output: 420@@z@B %Idle: 61.8@@ @N@B%Processing: 0.2@ŸWH?Blabels@@B connections@@Bconnectionsin@ @B@#@B@?B@Bconnectionsout@ @B@ !@B@B@B@N@B@B@Bconnectionscenter@ @B@Z+@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BCharger Unloading$@objectBclasses@@B Separator@ЂAB Processor@DXABFixedResource@`/XABFlexsimObject@-XAB superclasses@@B Processor@˂ABFixedResource@`/XABFlexsimObject@-XAB variables@@=Bunpack@?Bsplitquantity@treenode item = parnode(1); treenode current = ownerobject(c); /**Entire Contents*/ /** \nUnpack the entire content of the flowitem which entered port 1.*/ return content(item); @BX MAINodev? l?0$o6LL=@l.Boverriddensendtoport@treenode item = parnode(1); treenode current = ownerobject(c); /**Default Separator Option*/ /** \nPort for container: */ int containerport = /**/1/**/; /** \nPort for contents: */ int contentport = /**/2/**/; /** \n\nNote: If not unpacking, just send to first available.*/ if(getvarnum(current,"unpack")) { if(getrank(parnode(1)) == 1) return containerport; else return contentport; } else return 0; B recycle@B cycletime@treenode current = ownerobject(c); treenode item = parnode(1);/**By Expression*/ /** \nExpression: */ double value = /**/2/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\MAINodev?o?0l$9@6\7P} B setuptime@treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2); /**No Setup Time (return zero)*/ return 0;@B maxcontent@?@Buseprocessoperators@?Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\ cx h 4\  =P Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\cxh4\=P a Bcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@treenode item = parnode(1); treenode current = ownerobject(c); /**Default Separator Option*/ /** \nPort for container: */ int containerport = /**/1/**/; /** \nPort for contents: */ int contentport = /**/2/**/; /** \n\nNote: If not unpacking, just send to first available.*/ if(getvarnum(current,"unpack")) { if(getrank(parnode(1)) == 1) return containerport; else return contentport; } else return 0; @Bx#MAINodevunpack? l?0$o6@6P  t l =`   #   l  ? 4  >|4  5allBreceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6P B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\ ?  c  4x  =l ws/Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BCharger Unloadingsubnode@BCharger Unloadingsubnode@AB MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@Bvisual@@Bcolor@a@Bred@Bgreen@Mb?Bblue@jt?Bshape@ufs3d\separate_color.3dsB shapeindex@v?@Bpicture@c"bitmaps\separatorpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tBspecial@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@} VIEW:/pages/SeparatorParametersB spatial@@B spatialx@ME@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB offsetx@VB offsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B spatialrz@UB ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@B objectinfo@@B Output: 98@X@B %Idle: 61.9@=Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BPre_Transport$@objectB superclasses@@BFixedResource@ABFlexsimObject@-XABclasses@@BQueue@ ʂABFixedResource@`/XABFlexsimObject@-XAB variables@@,B maxcontent@?@B usebatching@B batchsize@5@B maxwaittime@@@Bflush@?Bcurrentbatchsize@Bendcollectingtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @B placemode@?B stackinitz@B curxfringe@Bcuryloc@B curmaxysize@Bcurzloc@B curmaxzsize@Bproductspacing@B nrreleased@Bpull@B sendtoport@/**Custom Code**/ treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); int uk = 157; int eu = 1; int jap = 1; while (time<26280) { int value = getitemtype(item); switch(value) { case 1: 26280; case 2: if (eu<=210) { if (time<(840*eu-672)) { return 0; } if ((840*eu-672)<=time<=(840*eu)) { return 2; } else { eu = eu + 1; } } case 3: if (jap<=58) { if (time<(3024*jap-2856)) { return 0; } if ((3024*jap-2856)<=time<=(3024*jap)) { return 3; } else { jap = jap + 1; } } default: return 0; } } int value = getitemtype(item); switch(value) { case 1: if (uk<=520) { if (time<(336*uk-168)) { return 0; } if ((336*uk-168)<=time<=(336*uk)) { return 1; } else { uk = uk + 1; } } case 2: if (eu<=210) { if (time<(840*eu-672)) { return 0; } if ((840*eu-672)<=time<=(840*eu)) { return 2; } else { eu = eu + 1; } } case 3: if (jap<=58) { if (time<(3024*jap-2856)) { return 0; } if ((3024*jap-2856)<=time<=(3024*jap)) { return 3; } else { jap = jap + 1; } } default: return 0; }@BMAINodevndowV.:/ac|,T/tabLibrary? l?0$o6Lk@6\6l 6|   3_ 6   = 84 f  *'&4  '( 4H & 4|H&ldTD48H  5 4  8' & : 4   "'$""( ""4"" "2?x$ && &&4x&& &&h&`&P&( &@&44&& : ( 8,5,,, ,4,#57 / %5 ) ' f 26222=2`343 O 1'5&5545 X 7',777 7477P7+59 Z;& ;;4;;P;&p;h;X;;H;4<;;PD= GA5AAA A4A J l'D&DD4D B F'(FFFF4FFHF55H g J& JJ4|JJHJ&lJdJTJJDJ48JJHLL kP5PPP P4P o {'S&S:S4S S U'$UU( UU4UU Up> W zY& YY4xYY Y&hY`YPY( Y@Y44YY xu8[ \_5___ _4_|DDb lCBreceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6\ B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\6l c  4x  =l  cBnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@B@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@Bcppvariables@@Bint lastpredrawoutput@Bint lastpredrawinput@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bspecial@@Btitle@dFixed Resource QueueB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/QueueParametersBvisual@@ Bcolor@a@Bred@MbX9?Bgreen@MbX9?Bblue@MbX9?Bshape@ufs3d\queue_n_color.3dsB shapeindex@v<@Bpicture@cbitmaps\queuepicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B spatial@@B spatialx@MF@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@BCurContent: 0@BMaxContent: 1@BAvgStaytime: 0.0@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@K@B@?B@B@@B@?B@B@@B@?B@Bconnectionsout@ @B@?@B@B@B@<@B@B@B@=@B@B@Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BCharger Loading$@objectBclasses@@B Combiner@ςAB Processor@DXABFixedResource@`/XABFlexsimObject@-XAB superclasses@@B Processor@˂ABFixedResource@`/XABFlexsimObject@-XAB variables@@ABcollectingcontainer@?Bcomponentlist@@BFrom Input Port 2@@BTarget Quantity@?BCurrent Quantity@?Bcurrentcomponentsum@?Btargetcomponentsum@?Bpack@?Boverriddenreceivefromport@%// This code isn't used any more @Boverriddenpullrequirement@%// This code isn't used any more. @B recycle@B cycletime@treenode current = ownerobject(c); treenode item = parnode(1);/**By Expression*/ /** \nExpression: */ double value = /**/2/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\MAINodev?o?0l$9@6\7P0; B setuptime@treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2); /**No Setup Time (return zero)*/ return 0;@B maxcontent@?@Buseprocessoperators@?Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\ cx h 4\  =P Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\cxh4\=P); Bcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6\} B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\6l c  4x  =l v_Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BCharger Loadingsubnode@BCharger Loadingsubnode@bB MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@Bvisual@@Bcolor@a@Bred@Bgreen@Mb?Bblue@jt?Bshape@ufs3d\comb_color.3dsB shapeindex@v>@Bpicture@c!bitmaps\combinerpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB special@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/CombinerParametersB spatial@@B spatialx@ME@B spatialy@N@B spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WB offsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@B objectinfo@@B Output: 1638@@B %Idle: 58.5@P#EM@B%Processing: 0.9@RvK1Y?Blabels@@B connections@@Bconnectionsin@ @B@1&@B@?B@B@h@B@B@Bconnectionsout@ @B@E@B@B@Bconnectionscenter@ @B@*@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BCharger Loading$@objectBclasses@@B Combiner@ςAB Processor@DXABFixedResource@`/XABFlexsimObject@-XAB superclasses@@B Processor@˂ABFixedResource@`/XABFlexsimObject@-XAB variables@@ABcollectingcontainer@?Bcomponentlist@@BFrom Input Port 2@@BTarget Quantity@?BCurrent Quantity@?Bcurrentcomponentsum@?Btargetcomponentsum@?Bpack@?Boverriddenreceivefromport@%// This code isn't used any more @Boverriddenpullrequirement@%// This code isn't used any more. @B recycle@B cycletime@treenode current = ownerobject(c); treenode item = parnode(1);/**By Expression*/ /** \nExpression: */ double value = /**/2/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\MAINodev?o?0l$9@6\7P0; B setuptime@treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2); /**No Setup Time (return zero)*/ return 0;@B maxcontent@?@Buseprocessoperators@?Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\ cx h 4\  =P Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\cxh4\=P*/Bcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6\} B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\6l c  4x  =l v_Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BCharger Loadingsubnode@BCharger Loadingsubnode@SB MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@Bvisual@@Bcolor@a@Bred@Bgreen@Mb?Bblue@jt?Bshape@ufs3d\comb_color.3dsB shapeindex@v>@Bpicture@c!bitmaps\combinerpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB special@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/CombinerParametersB spatial@@B spatialx@ME@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WB offsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@B objectinfo@@B Output: 420@@z@B %Idle: 61.8@@ @N@B%Processing: 0.2@ŸWH?Blabels@@B connections@@Bconnectionsin@ @B@5&@B@?B@B@l@B@B@Bconnectionsout@ @B@@B@B@Bconnectionscenter@ @B@V+@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BCharger Loading$@objectBclasses@@B Combiner@ςAB Processor@DXABFixedResource@`/XABFlexsimObject@-XAB superclasses@@B Processor@˂ABFixedResource@`/XABFlexsimObject@-XAB variables@@ABcollectingcontainer@?Bcomponentlist@@BFrom Input Port 2@@BTarget Quantity@?BCurrent Quantity@?Bcurrentcomponentsum@?Btargetcomponentsum@?Bpack@?Boverriddenreceivefromport@%// This code isn't used any more @Boverriddenpullrequirement@%// This code isn't used any more. @B recycle@B cycletime@treenode current = ownerobject(c); treenode item = parnode(1);/**By Expression*/ /** \nExpression: */ double value = /**/2/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\MAINodev?o?0l$9@6\7P0; B setuptime@treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2); /**No Setup Time (return zero)*/ return 0;@B maxcontent@?@Buseprocessoperators@?Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\ cx h 4\  =P ); Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\cxh4\=PBcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6\} B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\6l c  4x  =l $Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BCharger Loadingsubnode@BCharger Loadingsubnode@VB MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@Bvisual@@Bcolor@a@Bred@Bgreen@Mb?Bblue@jt?Bshape@ufs3d\comb_color.3dsB shapeindex@v>@Bpicture@c!bitmaps\combinerpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB special@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/CombinerParametersB spatial@@B spatialx@ME@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WB offsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@B objectinfo@@B Output: 98@X@B %Idle: 61.9@=Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BQueue29$@objectB superclasses@@BFixedResource@ABFlexsimObject@-XABclasses@@BQueue@ ʂABFixedResource@`/XABFlexsimObject@-XAB variables@@,B maxcontent@$@@B usebatching@B batchsize@@B maxwaittime@Bflush@Bcurrentbatchsize@Bendcollectingtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @B placemode@?B stackinitz@B curxfringe@Bcuryloc@B curmaxysize@Bcurzloc@B curmaxzsize@Bproductspacing@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6\ B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\6l c  4x  =l  } Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@B@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@Bcppvariables@@Bint lastpredrawoutput@Bint lastpredrawinput@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bspecial@@Btitle@dFixed Resource QueueB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/QueueParametersBvisual@@ Bcolor@a@Bred@MbX9?Bgreen@MbX9?Bblue@MbX9?Bshape@ufs3d\queue_n_color.3dsB shapeindex@v<@Bpicture@cbitmaps\queuepicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B spatial@@B spatialx@MD@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@BCurContent: 0@BMaxContent: 9@BAvgStaytime: 10.8@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@@B@?B@Bconnectionsout@ @B@^"@B@B@B@#@B@B@B@%@B@B@Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BCooling Buffer$@objectB superclasses@@BFixedResource@ABFlexsimObject@-XABclasses@@BRack@`ڂABFixedResource@`/XABFlexsimObject@-XAB variables@@,B placeinbay@treenode item = parnode(1); treenode current = ownerobject(c); /**Random Bay if Available*/ /** \nMaximum items per cell: */ int cellcap = /**/1/**/; /** \n\nNote: If all cells are full, it will be placed in the originally chosen random bay.*/ int nrofbays = rackgetnrofbays(current); int firstguess = duniform(1, nrofbays); int curguess = firstguess; while(curguess <= nrofbays) { if( rackgetbaycontent(current, curguess) < (cellcap * rackgetnroflevels(current, curguess))) return curguess; curguess++; } curguess = firstguess - 1; while(curguess >= 1) { if( rackgetbaycontent(current, curguess) < (cellcap * rackgetnroflevels(current, curguess))) return curguess; curguess--; } return firstguess;@Bt\MAINodev  ? l?0$o6@ 6h  \ =P  6   4x   6  4   'TD44(=44= 64d5p &4454  '8(4 =44= 4H5T *$44h\Bplaceinlevel@8treenode item = parnode(1); treenode current = ownerobject(c); double baynumber = parval(2); /**Random Level if Available*/ /** \nMaximum items per cell: */ int cellcap = /**/1/**/; /** \n\nNote: If the randomly chosen level is occupied, then search higher numbered levels first, then lower numbered levels. If all cells are full, it will placed in the originally chosen random level.*/ int nroflevels = rackgetnroflevels(current,baynumber); int firstguess = duniform(1, nroflevels ); int curguess = firstguess; while(curguess <= nroflevels ) { if( rackgetcellcontent(current, baynumber, curguess) < cellcap ) return curguess; curguess++; } curguess = firstguess - 1; while(curguess >= 1) { if( rackgetcellcontent(current, baynumber, curguess) < cellcap ) return curguess; curguess--; } return firstguess; @BPZMAINodev? l?0$o9Lk@6\ 6   7x  =l  6   4   6  4   'X 4L84,7 = 4h5t &4454 * ' 447=4$ 50 $42?x4DdBminimumstaytime@ftreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Statistical Distribution: */ return /**/uniform(96, 144, 0)/**/; /** bernoulli(prob, succeed-value, fail-value, stream) beta(min, max, shape1, shape2, stream) binomial (trials, prob, stream) cempirical (tablename, stream) dempirical (tablename, stream) duniform (min, max, stream) empirical (tablename, stream) erlang (location, scale, shape, stream) exponential (location, scale, stream) gamma (location, scale, shape, stream) geometric (prob, stream) inversegaussian (location, scale, shape, stream) invertedweibull (location, scale, shape, stream) johnsonbounded (min, max, shape1, shape2, stream) johnsonunbounded (location, scale, shape1, shape2, stream) loglaplace (location, scale, shape, stream) loglogistic (location, scale, shape, stream) lognormal (location, scale, shape, stream) lognormal2 (location, scale, shape, stream) negbinomial (successes, prob, stream) normal (mean, stddev, stream) pearsont5 (location, scale, shape, stream) pearsont6 (location, scale, shape1, shape2, stream) poisson (mean, stream) triangular (min, max, mode, stream) uniform (min, max, stream) weibull (location, scale, shape, stream) */@BLpMAINodev? l?0$o6Lk@6\\`(Benddwelltimetrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @B maxcontent@@Bcontenttable@@B@@B@@B@B@@B@B@@B@B@@B@B@@B@Blocationtable@@B@@B@B@?B@@B@@B@@B sizetable@@BBay1@?@BLevel1@?BLevel2@?BLevel3@?BLevel4@?BLevel5@?B rackdrawmode@?Bpickplaceyoffset@B tiltvalue@B tiltangle@Bmarkreadytogo@B floorstorage@?Bopacity@?B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6\ydoB entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@?@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\ 6 c  4x  =l ORTBnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@@Bcppfunctions@@Bcppvariables@@Bint lastpredrawoutput@Bint lastpredrawinput@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@ Bcolor@a@Bred@?Bgreen@?Bblue@?Bshape@u***B shapeindex@vBpicture@c&bitmaps\WarehouseRackpicturesmall.bmpB imageobject@qbitmaps\rackshelf.bmpBimageindexobject@rD@B imagebase@s***Bimageindexbase@tB nochildscale@_?B spatial@@ B spatialsx@P?B spatialsy@Q@B spatialsz@R?@B centroid@e?B spatialx@M @B spatialy@N@B spatialz@OB spatialrx@SB spatialry@TB spatialrz@UB special@@Btitle@dFixed Resource SinkB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/RackParametersB objectinfo@@BCurContent: 5@@BMaxContent: 5@@BAvgContent: 2.4@J@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@F @B@?B@Bconnectionsout@ @B@ @B@B@Bconnectionscenter@ @B@0@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,>@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@B BasicTE26:@objectB classes@@B BasicTE@AB TaskExecuter@`6AB Dispatcher@4ABFlexsimObject@ ABsuperclasses@@B TaskExecuter@@߂AB Dispatcher@4ABFlexsimObject@ AB variables@@EBonbeginoffset@treenode current = ownerobject(c); // the following x, y, and z values are requested x, y, and z offsets from this object's x/y center and z base. double x = parval(1); double y = parval(2); double z = parval(3); treenode item = parnode(4); double endspeed = parval(5); double maxspeed = parval(6); double acceleration = parval(7); double deceleration = parval(8); double lastupdatedspeed = parval(9); double rotatewhiletraveling = parval(10); Bonupdateoffset@Ftreenode current = ownerobject(c); double offsettingnow = parval(1); double offsettotaltime = parval(2); double maxspeed = parval(3); double acceleration = parval(4); double deceleration = parval(5); double lastupdatedspeed = parval(6); double rotatewhiletraveling = parval(7); double curloadunloadtime = parval(8); Bonfinishoffset@Ftreenode current = ownerobject(c); double offsettingnow = parval(1); double offsettotaltime = parval(2); double maxspeed = parval(3); double acceleration = parval(4); double deceleration = parval(5); double lastupdatedspeed = parval(6); double rotatewhiletraveling = parval(7); double curloadunloadtime = parval(8); Bpickplaceoffset@treenode current = ownerobject(c); int pickoperation = parval(1); treenode item = parnode(2); treenode otherobject = parnode(3); treenode xvalnode = parnode(4); treenode yvalnode = parnode(5); treenode zvalnode = parnode(6); B stopresume@treenode current = ownerobject(c); int stopoperation = parval(1); int stopstate = parval(2); treenode nrofstopsnode = parnode(3); treenode timeoflaststopnode = parnode(4); treenode statebeforestopnode = parnode(5); Badvancedfunctions@?treenode current = ownerobject(c); int msgtype = parval(1); B poffsetx@B poffsety@B poffsetz@Bactivetasksequence@@B maxcontent@?B loadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ 6 7l B loadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B unloadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ 6 7l t. Bunloadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B maxspeed@@B acceleration@?B deceleration@?B navigator@Boldbreakrequirement@Bbreakto@treenode activets = parnode(1); treenode current = ownerobject(c); /**New Tasksequences Only*/ /** \nOnly break to task sequences that have not been started already.*/ treenode tsqueue = gettasksequencequeue(current); treenode returnts = NULL; for(int index = 1; index <= content(tsqueue) && ! returnts; index++) { treenode curts = rank(tsqueue, index); if(gettotalnroftasks(curts) == getnroftasks(curts)) returnts = curts; } return tonum(returnts);@Bl:MAINodev? l?0$o?XL=@?h 6x    ?    4  =   #` T =H  < =0  >|  =p  5      )  * =  &  =  4 5tc=B travelinfo@@B travelstartx@B travelstarty@B travelstartz@Btraveldistance@Btraveldirection@B travelendx@B travelendy@B travelendz@B travelacc@B traveldec@Btravelstarttime@~Btravelendtime@Btraveltimealpha@Btraveltimebeta@B travelvpeak@B travelvmax@B travelvstart@B travelvend@Bmodifyrotation@?B useoffsets@?Boffsettingnow@Boffsetbegintime@ABoffsettotaltime@B offsetlocx@ffffff%@B offsetlocy@B offsetlocz@B offsetbeginx@;@B offsetbeginy@?B offsetbeginz@Boffsetbeginxrot@Boffsetbeginyrot@Boffsetbeginzrot@B loadedspeed@@B emptyspeed@@Bcurloadunloadtime@Blastupdatedspeed@B travelvstart@B travelvend@Blastspeedupdatetime@ABcollisiontrigger@treenode thisobject=ownerobject(c); treenode otherobject=parnode(1); treenode thissphere=parnode(2); treenode othersphere=parnode(3); Bcollcheckinterval@?Bdrawcollspheres@B incollision@Bcollcheckstate@Btotaltraveldist@B kinematics@Bflipthreshold@f@Bpassimmediately@@Bpassto@"treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**First Available*/ /** \nIf there are no objects currently available, then queue the tasksequence up using the Queue Strategy and wait until someone connected to its output ports becomes available.*/ return 0;@Btasksequencequeue@@Bqueuestrategy@treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**Sort by TaskSequence Priority*/ return getpriority(tasksequence);@BX MAINodev? l?0$o?XL=@Bcoordinatedtasks@@Bonresourceavailable@treenode current = ownerobject(c); int port = parval(1); treenode resource = parnode(2); treenode nextts = parnode(3); treenode lastts = parnode(4); Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble offsetloc[3] @Bfsnode* activetask@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@ Bcolor@a@Bred@?Bgreen@?Bblue@?Bshape@ufs3d\texturesphere.wrlB shapeindex@v@B picture@cbitmaps\spheresmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B special@@Btitle@dObjectB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/BasicTEParametersB objectinfo@B ignoredraw@fBdisplaygroup@ standardBspatial@@B spatialx@M;@B spatialy@N?B spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UBoffsetx@VBoffsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?Bdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @Bconnectionsout@ @Bconnectionscenter@ @B@@B@B@B@@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. TimeBstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@B BasicTE27:@objectB classes@@B BasicTE@AB TaskExecuter@`6AB Dispatcher@4ABFlexsimObject@ ABsuperclasses@@B TaskExecuter@@߂AB Dispatcher@4ABFlexsimObject@ AB variables@@EBonbeginoffset@treenode current = ownerobject(c); // the following x, y, and z values are requested x, y, and z offsets from this object's x/y center and z base. double x = parval(1); double y = parval(2); double z = parval(3); treenode item = parnode(4); double endspeed = parval(5); double maxspeed = parval(6); double acceleration = parval(7); double deceleration = parval(8); double lastupdatedspeed = parval(9); double rotatewhiletraveling = parval(10); Bonupdateoffset@Ftreenode current = ownerobject(c); double offsettingnow = parval(1); double offsettotaltime = parval(2); double maxspeed = parval(3); double acceleration = parval(4); double deceleration = parval(5); double lastupdatedspeed = parval(6); double rotatewhiletraveling = parval(7); double curloadunloadtime = parval(8); Bonfinishoffset@Ftreenode current = ownerobject(c); double offsettingnow = parval(1); double offsettotaltime = parval(2); double maxspeed = parval(3); double acceleration = parval(4); double deceleration = parval(5); double lastupdatedspeed = parval(6); double rotatewhiletraveling = parval(7); double curloadunloadtime = parval(8); Bpickplaceoffset@treenode current = ownerobject(c); int pickoperation = parval(1); treenode item = parnode(2); treenode otherobject = parnode(3); treenode xvalnode = parnode(4); treenode yvalnode = parnode(5); treenode zvalnode = parnode(6); B stopresume@treenode current = ownerobject(c); int stopoperation = parval(1); int stopstate = parval(2); treenode nrofstopsnode = parnode(3); treenode timeoflaststopnode = parnode(4); treenode statebeforestopnode = parnode(5); Badvancedfunctions@?treenode current = ownerobject(c); int msgtype = parval(1); B poffsetx@B poffsety@B poffsetz@Bactivetasksequence@@B maxcontent@?B loadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ ?  7l B loadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B unloadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ ?  7l t. Bunloadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B maxspeed@@B acceleration@?B deceleration@?B navigator@Boldbreakrequirement@Bbreakto@treenode activets = parnode(1); treenode current = ownerobject(c); /**New Tasksequences Only*/ /** \nOnly break to task sequences that have not been started already.*/ treenode tsqueue = gettasksequencequeue(current); treenode returnts = NULL; for(int index = 1; index <= content(tsqueue) && ! returnts; index++) { treenode curts = rank(tsqueue, index); if(gettotalnroftasks(curts) == getnroftasks(curts)) returnts = curts; } return tonum(returnts);@Bl:MAINodev? l?0$o?XL=@?h 6x    ?    4  =   #` T =H  < =0  >|  =p  5      )  * =  &  =  4 5tc=B travelinfo@@B travelstartx@B travelstarty@B travelstartz@Btraveldistance@Btraveldirection@B travelendx@B travelendy@B travelendz@B travelacc@B traveldec@Btravelstarttime@~Btravelendtime@Btraveltimealpha@Btraveltimebeta@B travelvpeak@B travelvmax@B travelvstart@B travelvend@Bmodifyrotation@?B useoffsets@?Boffsettingnow@Boffsetbegintime@Boffsettotaltime@B offsetlocx@B offsetlocy@B offsetlocz@B offsetbeginx@B offsetbeginy@B offsetbeginz@Boffsetbeginxrot@Boffsetbeginyrot@Boffsetbeginzrot@B loadedspeed@@B emptyspeed@@Bcurloadunloadtime@Blastupdatedspeed@B travelvstart@B travelvend@Blastspeedupdatetime@71"ABcollisiontrigger@treenode thisobject=ownerobject(c); treenode otherobject=parnode(1); treenode thissphere=parnode(2); treenode othersphere=parnode(3); Bcollcheckinterval@?Bdrawcollspheres@B incollision@Bcollcheckstate@Btotaltraveldist@B kinematics@Bflipthreshold@f@Bpassimmediately@@Bpassto@"treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**First Available*/ /** \nIf there are no objects currently available, then queue the tasksequence up using the Queue Strategy and wait until someone connected to its output ports becomes available.*/ return 0;@Btasksequencequeue@@Bqueuestrategy@treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**Sort by TaskSequence Priority*/ return getpriority(tasksequence);@BX MAINodev? l?0$o?XL=@Bcoordinatedtasks@@Bonresourceavailable@treenode current = ownerobject(c); int port = parval(1); treenode resource = parnode(2); treenode nextts = parnode(3); treenode lastts = parnode(4); Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble offsetloc[3] @Bfsnode* activetask@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@ Bcolor@a@Bred@?Bgreen@?Bblue@?Bshape@ufs3d\texturesphere.wrlB shapeindex@v@B picture@cbitmaps\spheresmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B special@@Btitle@dObjectB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/BasicTEParametersB objectinfo@B ignoredraw@fBdisplaygroup@ standardBspatial@@B spatialx@ME@B spatialy@N?B spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UBoffsetx@VBoffsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?Bdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @Bconnectionsout@ @Bconnectionscenter@ @B@n"@B@B@B@U@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. TimeBstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@B BasicTE28:@objectB classes@@B BasicTE@AB TaskExecuter@`6AB Dispatcher@4ABFlexsimObject@ ABsuperclasses@@B TaskExecuter@@߂AB Dispatcher@4ABFlexsimObject@ AB variables@@EBonbeginoffset@treenode current = ownerobject(c); // the following x, y, and z values are requested x, y, and z offsets from this object's x/y center and z base. double x = parval(1); double y = parval(2); double z = parval(3); treenode item = parnode(4); double endspeed = parval(5); double maxspeed = parval(6); double acceleration = parval(7); double deceleration = parval(8); double lastupdatedspeed = parval(9); double rotatewhiletraveling = parval(10); Bonupdateoffset@Ftreenode current = ownerobject(c); double offsettingnow = parval(1); double offsettotaltime = parval(2); double maxspeed = parval(3); double acceleration = parval(4); double deceleration = parval(5); double lastupdatedspeed = parval(6); double rotatewhiletraveling = parval(7); double curloadunloadtime = parval(8); Bonfinishoffset@Ftreenode current = ownerobject(c); double offsettingnow = parval(1); double offsettotaltime = parval(2); double maxspeed = parval(3); double acceleration = parval(4); double deceleration = parval(5); double lastupdatedspeed = parval(6); double rotatewhiletraveling = parval(7); double curloadunloadtime = parval(8); Bpickplaceoffset@treenode current = ownerobject(c); int pickoperation = parval(1); treenode item = parnode(2); treenode otherobject = parnode(3); treenode xvalnode = parnode(4); treenode yvalnode = parnode(5); treenode zvalnode = parnode(6); B stopresume@treenode current = ownerobject(c); int stopoperation = parval(1); int stopstate = parval(2); treenode nrofstopsnode = parnode(3); treenode timeoflaststopnode = parnode(4); treenode statebeforestopnode = parnode(5); Badvancedfunctions@?treenode current = ownerobject(c); int msgtype = parval(1); B poffsetx@B poffsety@B poffsetz@Bactivetasksequence@@B maxcontent@?B loadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ ?  7l B loadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B unloadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ ?  7l tecBunloadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B maxspeed@@B acceleration@?B deceleration@?B navigator@Boldbreakrequirement@Bbreakto@treenode activets = parnode(1); treenode current = ownerobject(c); /**New Tasksequences Only*/ /** \nOnly break to task sequences that have not been started already.*/ treenode tsqueue = gettasksequencequeue(current); treenode returnts = NULL; for(int index = 1; index <= content(tsqueue) && ! returnts; index++) { treenode curts = rank(tsqueue, index); if(gettotalnroftasks(curts) == getnroftasks(curts)) returnts = curts; } return tonum(returnts);@Bl:MAINodev? l?0$o?XL=@?h 6x    ?    4  =   #` T =H  < =0  >|  =p  5      )  * =  &  =  4 5tc=B travelinfo@@B travelstartx@B travelstarty@B travelstartz@Btraveldistance@Btraveldirection@B travelendx@B travelendy@B travelendz@B travelacc@B traveldec@Btravelstarttime@~Btravelendtime@Btraveltimealpha@Btraveltimebeta@B travelvpeak@B travelvmax@B travelvstart@B travelvend@Bmodifyrotation@?B useoffsets@?Boffsettingnow@Boffsetbegintime@Boffsettotaltime@B offsetlocx@B offsetlocy@B offsetlocz@B offsetbeginx@B offsetbeginy@B offsetbeginz@Boffsetbeginxrot@Boffsetbeginyrot@Boffsetbeginzrot@B loadedspeed@@B emptyspeed@@Bcurloadunloadtime@Blastupdatedspeed@B travelvstart@B travelvend@Blastspeedupdatetime@]YABcollisiontrigger@treenode thisobject=ownerobject(c); treenode otherobject=parnode(1); treenode thissphere=parnode(2); treenode othersphere=parnode(3); Bcollcheckinterval@?Bdrawcollspheres@B incollision@Bcollcheckstate@Btotaltraveldist@B kinematics@Bflipthreshold@f@Bpassimmediately@@Bpassto@"treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**First Available*/ /** \nIf there are no objects currently available, then queue the tasksequence up using the Queue Strategy and wait until someone connected to its output ports becomes available.*/ return 0;@Btasksequencequeue@@Bqueuestrategy@treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**Sort by TaskSequence Priority*/ return getpriority(tasksequence);@BX MAINodev? l?0$o?XL=@Bcoordinatedtasks@@Bonresourceavailable@treenode current = ownerobject(c); int port = parval(1); treenode resource = parnode(2); treenode nextts = parnode(3); treenode lastts = parnode(4); Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble offsetloc[3] @Bfsnode* activetask@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@ Bcolor@a@Bred@?Bgreen@?Bblue@?Bshape@ufs3d\texturesphere.wrlB shapeindex@v@B picture@cbitmaps\spheresmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B special@@Btitle@dObjectB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/BasicTEParametersB objectinfo@B ignoredraw@fBdisplaygroup@ standardBspatial@@B spatialx@ME@B spatialy@NB spatialz@OQ?B spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UBoffsetx@VBoffsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?Bdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @Bconnectionsout@ @Bconnectionscenter@ @B@#@B@B@B@@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. TimeBstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@B BasicTE29:@objectB classes@@B BasicTE@AB TaskExecuter@`6AB Dispatcher@4ABFlexsimObject@ ABsuperclasses@@B TaskExecuter@@߂AB Dispatcher@4ABFlexsimObject@ AB variables@@EBonbeginoffset@treenode current = ownerobject(c); // the following x, y, and z values are requested x, y, and z offsets from this object's x/y center and z base. double x = parval(1); double y = parval(2); double z = parval(3); treenode item = parnode(4); double endspeed = parval(5); double maxspeed = parval(6); double acceleration = parval(7); double deceleration = parval(8); double lastupdatedspeed = parval(9); double rotatewhiletraveling = parval(10); Bonupdateoffset@Ftreenode current = ownerobject(c); double offsettingnow = parval(1); double offsettotaltime = parval(2); double maxspeed = parval(3); double acceleration = parval(4); double deceleration = parval(5); double lastupdatedspeed = parval(6); double rotatewhiletraveling = parval(7); double curloadunloadtime = parval(8); Bonfinishoffset@Ftreenode current = ownerobject(c); double offsettingnow = parval(1); double offsettotaltime = parval(2); double maxspeed = parval(3); double acceleration = parval(4); double deceleration = parval(5); double lastupdatedspeed = parval(6); double rotatewhiletraveling = parval(7); double curloadunloadtime = parval(8); Bpickplaceoffset@treenode current = ownerobject(c); int pickoperation = parval(1); treenode item = parnode(2); treenode otherobject = parnode(3); treenode xvalnode = parnode(4); treenode yvalnode = parnode(5); treenode zvalnode = parnode(6); B stopresume@treenode current = ownerobject(c); int stopoperation = parval(1); int stopstate = parval(2); treenode nrofstopsnode = parnode(3); treenode timeoflaststopnode = parnode(4); treenode statebeforestopnode = parnode(5); Badvancedfunctions@?treenode current = ownerobject(c); int msgtype = parval(1); B poffsetx@B poffsety@B poffsetz@Bactivetasksequence@@B maxcontent@?B loadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ ?  7l orB loadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B unloadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ ?  7l xBunloadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B maxspeed@@B acceleration@?B deceleration@?B navigator@Boldbreakrequirement@Bbreakto@treenode activets = parnode(1); treenode current = ownerobject(c); /**New Tasksequences Only*/ /** \nOnly break to task sequences that have not been started already.*/ treenode tsqueue = gettasksequencequeue(current); treenode returnts = NULL; for(int index = 1; index <= content(tsqueue) && ! returnts; index++) { treenode curts = rank(tsqueue, index); if(gettotalnroftasks(curts) == getnroftasks(curts)) returnts = curts; } return tonum(returnts);@Bl:MAINodev? l?0$o?XL=@?h 6x    ?    4  =   #` T =H  < =0  >|  =p  5      )  * =  &  =  4 5tc=B travelinfo@@B travelstartx@B travelstarty@B travelstartz@Btraveldistance@Btraveldirection@B travelendx@B travelendy@B travelendz@B travelacc@B traveldec@Btravelstarttime@~Btravelendtime@Btraveltimealpha@Btraveltimebeta@B travelvpeak@B travelvmax@B travelvstart@B travelvend@Bmodifyrotation@?B useoffsets@?Boffsettingnow@Boffsetbegintime@Boffsettotaltime@B offsetlocx@B offsetlocy@B offsetlocz@B offsetbeginx@B offsetbeginy@B offsetbeginz@Boffsetbeginxrot@Boffsetbeginyrot@Boffsetbeginzrot@B loadedspeed@@B emptyspeed@@Bcurloadunloadtime@Blastupdatedspeed@B travelvstart@B travelvend@Blastspeedupdatetime@@c@Bcollisiontrigger@treenode thisobject=ownerobject(c); treenode otherobject=parnode(1); treenode thissphere=parnode(2); treenode othersphere=parnode(3); Bcollcheckinterval@?Bdrawcollspheres@B incollision@Bcollcheckstate@Btotaltraveldist@B kinematics@Bflipthreshold@f@Bpassimmediately@@Bpassto@"treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**First Available*/ /** \nIf there are no objects currently available, then queue the tasksequence up using the Queue Strategy and wait until someone connected to its output ports becomes available.*/ return 0;@Btasksequencequeue@@Bqueuestrategy@treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**Sort by TaskSequence Priority*/ return getpriority(tasksequence);@BX MAINodev? l?0$o?XL=@Bcoordinatedtasks@@Bonresourceavailable@treenode current = ownerobject(c); int port = parval(1); treenode resource = parnode(2); treenode nextts = parnode(3); treenode lastts = parnode(4); Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble offsetloc[3] @Bfsnode* activetask@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@ Bcolor@a@Bred@?Bgreen@?Bblue@?Bshape@ufs3d\texturesphere.wrlB shapeindex@v@B picture@cbitmaps\spheresmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B special@@Btitle@dObjectB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/BasicTEParametersB objectinfo@B ignoredraw@fBdisplaygroup@ standardBspatial@@B spatialx@ME@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UBoffsetx@VBoffsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?Bdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @Bconnectionsout@ @Bconnectionscenter@ @B@%@B@B@B@@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. TimeBstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@B Late Crane$ @objectBclasses@@BCrane@`炐AB TaskExecuter@`6AB Dispatcher@4ABFlexsimObject@ AB superclasses@@B TaskExecuter@@߂AB Dispatcher@4ABFlexsimObject@ AB variables@@HB shellxloc@B shellyloc@@B shellzloc@B shellsizex@9@B shellsizey@@B shellsizez@@Bmoving@B liftheight@@Btravelsequence@L>XY>DB cranespeeds@@BGantry@@B Max_Speed@.@BAcceleration@?BDeceleration@?B Trolley@@B@.@B@?B@?B Hoist_Lift@@B@.@B@?B@?B Hoist_Drop@@B@.@B@?B@?BcranekinematicsA8 do not touch???@#AP|g"A|e#A-@п?Cu?п@>valP|g"A,W;V"A?Ws?Ws?Ws?ffffff?ffffff?ffffff?|h,W;V"Az S#A?20m@20m@20m@33333,33333,@W_1)ets(,W;V"A,W;V"A??.@),">z S#A|e#A?Ws?Ws?Ws?ffffffffffff?This object is not configured to record data for this graph. The model must be run with the "Record data for Content and Staytime gr P (( 0   @ 0 h 8 pж 8 ȧ x 0 P h  X  x H  8 @  H H 0  P   X x ( x  @ h$  H @   `  0(0  D H D PE +F XG 9 (H H `I  /H K     P 3X X ( P7 ` x H   X (   p > ؗ @ x  ;0 8 h Е X BH  P ( `+ 8J8. . / p/ H2 @0 / h + 0 5 1 x1 1 2 4 3 - 7 N3 3 P4 0, 5 X6 (7 `8 5 6 pF * (* * p h- > > U@= ȓ @ ? H? : PA @ @ Q09 9 , 7 8 : <  8   p  h XYh: A B B B P C `  Pؤ ]HL xK K p< k l D O O XP Q P PN `R N (Q = ; Q O G D `l 0m L XC < 0S R M hn n c n f g 8H 8o o m p pp q p @q r hG U `E x> S 8U ^  T F (^ `_ _ ] xr ^ V 0` K hT @d t u i Xw (x x w d r E y x `y 0z z 8| { | } @~ x I v pV   H H g Pu ` a ha 8b xe e a b 8; T P c { g h Ph  M j (D i V X i ( h{ (k X ` p G k h Я p t pI Xj Hf ( J  pc ؾ 0 d P  `  p @ v X  I @lHYB liftradius@Bactivetasksequence@@B maxcontent@?B loadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ ?  7l  B loadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B unloadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ ?  7l Bunloadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B maxspeed@@B acceleration@?B deceleration@?B navigator@Boldbreakrequirement@Bbreakto@treenode activets = parnode(1); treenode current = ownerobject(c); /**New Tasksequences Only*/ /** \nOnly break to task sequences that have not been started already.*/ treenode tsqueue = gettasksequencequeue(current); treenode returnts = NULL; for(int index = 1; index <= content(tsqueue) && ! returnts; index++) { treenode curts = rank(tsqueue, index); if(gettotalnroftasks(curts) == getnroftasks(curts)) returnts = curts; } return tonum(returnts);@Bl:MAINodev? l?0$o?XL=@?h 6x    ?    4  =   #` T =H  < =0  >|  =p  5      )  * =  &  =  4 5tc=B travelinfo@@B travelstartx@B travelstarty@B travelstartz@Btraveldistance@Btraveldirection@B travelendx@B travelendy@B travelendz@B travelacc@B traveldec@Btravelstarttime@~Btravelendtime@Btraveltimealpha@Btraveltimebeta@B travelvpeak@B travelvmax@B travelvstart@B travelvend@Bmodifyrotation@B useoffsets@?Boffsettingnow@Boffsetbegintime@P|g"ABoffsettotaltime@ .@B offsetlocx@33333,B offsetlocy@B offsetlocz@B offsetbeginx@-@B offsetbeginy@пB offsetbeginz@?Boffsetbeginxrot@Boffsetbeginyrot@Boffsetbeginzrot@B loadedspeed@@B emptyspeed@@Bcurloadunloadtime@Blastupdatedspeed@B travelvstart@B travelvend@Blastspeedupdatetime@P|g"ABcollisiontrigger@otreenode thisobject=ownerobject(c); treenode otherobject=parnode(1); treenode thissphere=parnode(2); treenode othersphere=parnode(3); /**Crane Logic: */ /** Cranes must not cross paths along the */ #define X 1 #define Y 2 #define Z 3 int axis = /**/X/**list:X~Y~Z*/; /**- axis. If a collision is detected, then priority of tasks is determined first by priority of the task sequence being executed. If the priorities are equal, then the crane with the highest label named */ string labelname = /**/"cranepriority"/**/; /** takes precedence. Create a preempting task sequence for the other crane to move out of the way */ double traveldist = /**/5/**/; /** units of length along the axis specified, then wait for */ double delaytime = /**/2/**/; /** units of time before trying again.*/ // Here I find out which way I'm supposed to travel. int donothingflag = 0; doublearray travelloc = makearray(3); fillarray(travelloc, 0,0,0); int delayflag = 0; switch(axis) { case X: if(xloc(otherobject) > xloc(thisobject)) travelloc[1] = -traveldist; else travelloc[1] = traveldist; break; case Y: if(yloc(otherobject) > yloc(thisobject)) travelloc[2] = -traveldist; else travelloc[2] = traveldist; break; case Z: if(zloc(otherobject) > zloc(thisobject)) travelloc[3] = -traveldist; else travelloc[3] = traveldist; break; } /* Here's the real complicated part, namely figuring out when I should and when I should not preempt myself to get out of the other guy's way. Realize that this is happening on both colliding objects, so each object will decide for itself whether it needs to preempt its own active task. If this works correctly, exactly one of the two objects should preempt. Note: whenever I create a task sequence to get out of someone's way, I give that task sequence a special tag so that I can know later on (within this same field, but on the next collision detection event) that it is a task sequence created within this field. The way that I do this is I give my preemting task sequence a TASKTYPE_TAG task as its first task. This tag task does nothing as far as execution. But, as the first and second involved objects for this tag task, I set the first to point to myself, and the second to point to the guy I'm getting out of the way of. Then, next time this field fires, I can know the state of the situation, whether I'm already getting out of the way of the other guy, or whether he's getting out of my way, etc. */ treenode otheractivets = gettasksequence(otherobject, 0); treenode activets = gettasksequence(thisobject, 0); // Here are the cases in which I preempt myself if( // 1. If I am not doing anything right now !objectexists(activets) // 2. Either I'm currently already being preempted to get out of the way of the other object || (objectexists(activets) && gettasktype(activets, 1) == TASKTYPE_TAG && gettaskinvolved(activets, 1, 2) == otherobject) || ( // or the other guy is working on a task that is not a task to get out of my way, and his task takes priority over my task. objectexists(otheractivets) && (gettasktype(otheractivets, 1) != TASKTYPE_TAG || gettaskinvolved(otheractivets, 1, 2) != thisobject) && ( getpriority(otheractivets) > getpriority(activets) || ( getpriority(otheractivets) == getpriority(activets) && getlabelnum(otherobject, labelname) > getlabelnum(thisobject, labelname) ) ) ) ) { int preempttype = PREEMPT_ONLY; // If I'm already working on a task to get out of his way, then I want to abort that task // because this task will basically do the same thinge, except go a further distance further. if(objectexists(activets) && gettasktype(activets, 1) == TASKTYPE_TAG && gettaskinvolved(activets, 1, 1) == thisobject) { setpreempt(activets, PREEMPT_NOT); preempttype = PREEMPT_AND_ABORT_ACTIVE; } double priority = 0; if(objectexists(otheractivets)) priority = getpriority(otheractivets); treenode newts = createemptytasksequence(thisobject, priority, preempttype); // this is the tag task inserttask(newts, TASKTYPE_TAG, thisobject, otherobject); inserttask(newts, TASKTYPE_TRAVELRELATIVE, NULL, NULL, travelloc[1], travelloc[2], travelloc[3], 2); inserttask(newts, TASKTYPE_DELAY, NULL, NULL, delaytime, STATE_IDLE); dispatchtasksequence(newts); } @B "MAINodevcranepriorityndowI2   0|T Libr ary >dran?o?0l$?Ll@?hl\ 6x  <996E OPC 6 )4(  "%d"X"=L""@"=4"#D# ## #7t## *$D$ $7$$ 0 2 ,(%("(=(("(=()D ) )) )7)) *D@* *74** 8 8 8.%.&x.=l..&`.=T./D/ // /7// %0D0 0700 3 26D?D DDD=DE?E EEE=E kY+HX)/W+xV)hV%X UHU:<UU=0UU U:UU=UT#TT=T TT=T S%RR=R RR=R Q)xP+hP(XP=LP P8PPP=,P P(PP PP=P OO=O M+L)L#L=LLLLL=L L)| L#lLL\LL=PL LDL=8L J*,J J=J [6[ [ Z_)H_#8_=,___ __= _ _) _#_3___=_ __=_ adaa=Xa b5tb be9ee J ff=f f8fff=f g?  ggg4g g7gg=gi@i=4ii=(iii=ijjjCj jjCtj j jCdj jjjj j=Xjk kk7kkkk k=km m=m Bcollcheckinterval@?Bdrawcollspheres@B incollision@Bcollcheckstate@@B@?B@B@B@Btotaltraveldist@B kinematics@Bflipthreshold@f@Bpassimmediately@@Bpassto@treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**Pass to the object that is closest to the destination (if the object is on a network, then network travel is calculated; otherwise centroid-to-centroid distance is used).*/ /** \nConsider available objects only: */ int yes = 1; int no = 0; int onlyavailable =/**/yes/**/;/** (yes, no) */ /** \nIf none are found, then the tasksequence will be queued up using the Queue Strategy, and will be sent to the first available.*/ double curmin = GLOBAL_UNREACHABLE; int minindex = 0; treenode destination = NULL; for(int taskrank = 1; taskrank <= gettotalnroftasks(tasksequence) && destination == NULL; taskrank++) // this finds the first task in the tasksequence that is a travel task. { if(gettasktype(tasksequence,taskrank) == TASKTYPE_TRAVEL) destination = gettaskinvolved(tasksequence,taskrank,1); } if(destination==NULL) // first available if there is no travel task return 0; for(int index = 1; index <= nrop(current); index++) { treenode curobj = outobject(current, index); if(curobj && isclasstype(curobj, CLASSTYPE_TASKEXECUTER)) { int validcheck=1; if(onlyavailable && !(ipopen(curobj, opipno(current, index)) && inputopen(curobj)) ) validcheck=0; if(validcheck) { double curdist = distancetotravel(curobj, destination); if(curdist != GLOBAL_UNREACHABLE && (curmin == GLOBAL_UNREACHABLE || curmin > curdist)) { curmin = curdist; minindex = index; } } } } return minindex;@B DMAINodevcranndow to t",c? l?0$o6@6P6l4` 9|   6  ?6  #XH4<=0>4t=h5 )  #=&=4 ##=6  M?@ 04$ = 8A)xh=\ =P 6  )* ) = 4 == 45,  "4< !9p! !`!=T!!=H!  ,")"+ "%"7" "7""#""7""(""7" $8 $$7$ %5(%%4% 5  /&=4 0D*48*Btasksequencequeue@@Bqueuestrategy@treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**Prioritize by distance: \nSort the task sequences based on the closest involved object.*/ /** \n\nTask Rank: */ int taskrank = /**/4/**/; /** \nInvolved Object Number: */ int involvednum = /**/1/**/; /** \nConsider only partially completed tasksequences: */ int yes = 1; int no = 0; int onlypartial =/**/yes/**list:yes~no*/; /** \nCondition: */ int condition = /**/true/**/; /**\n\n*/ if(condition) { treenode station = gettaskinvolved(tasksequence,taskrank,involvednum); double dist = distancetotravel(current, station); double inversedist = 0; if((getnroftasks(tasksequence) < gettotalnroftasks(tasksequence) || !onlypartial) && dist != GLOBAL_UNREACHABLE) { if(dist > 0) { inversedist = 0.1 / dist; } else { inversedist = 0.1; } } //pt(getname(station));pr(); //pf(time());pt(" : ");pf(inversedist);pr(); return inversedist; } else return getpriority(tasksequence); /**Hints:*/ /**\nFor standard transport task sequences, use 4 / 1 / yes. */ /**\nFor standard request operators task sequences, use 4 / 2 / no. */ /**\nAs a Condition you can write getpriority(tasksequence)==0 such that task sequences with a specified priority are still handled first.*/ @BpZMAINodevcran??tr g? l?0$o6@6P 6`   6p   6  4 6 !:4? 44=9( = =98   )(7 + *4'xl=`T=H # %7 8  7  8< 05,"7L"  $%d%=X%icaBcoordinatedtasks@@Bonresourceavailable@treenode current = ownerobject(c); int port = parval(1); treenode resource = parnode(2); treenode nextts = parnode(3); treenode lastts = parnode(4); Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BLate Cranesubnode@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@@B@@Bx@?By@пBz@Bradius@@Bcollisionobjects@@B Early Crane@C/B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble lastxloc@Bdouble lastyloc@Bdouble lastzloc@Bdouble justcreated@Bdouble offsetloc[3] @Bfsnode* activetask@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@ Bshape@ufs3d\texturebox.wrlB shapeindex@v@Bpicture@cbitmaps\Cranepicturesmall.bmpB imageobject@qfs3d\concrete.bmpBimageindexobject@rE@B imagebase@s***Bimageindexbase@tBcolor@a@Bred@?Bgreen@Bblue@B nochildscale@_?Bspecial@@Btitle@dObjectB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/CraneParametersBspatial@@B spatialx@MCu?B spatialy@NпB spatialz@O@B spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UBoffsetx@VBoffsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@B objectinfo@@B Output: 3493@J@BStatus: off_shift@>@Blabels@@B connections@@Bconnectionsin@ @B@z1@B@?B@B@0@B@?B@Bconnectionsout@ @Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@B Early Crane$ @objectBclasses@@BCrane@`炐AB TaskExecuter@`6AB Dispatcher@4ABFlexsimObject@ AB superclasses@@B TaskExecuter@@߂AB Dispatcher@4ABFlexsimObject@ AB variables@@HB shellxloc@B shellyloc@@B shellzloc@B shellsizex@9@B shellsizey@@B shellsizez@@Bmoving@B liftheight@@Btravelsequence@L>XY>DB cranespeeds@@BGantry@@B Max_Speed@.@BAcceleration@?BDeceleration@?B Trolley@@B@.@B@?B@?B Hoist_Lift@@B@.@B@?B@?B Hoist_Drop@@B@.@B@?B@?BcranekinematicsA8 do not touch???@#A.R<#A狤#A @п? @пPD'J?>val.R<#A"JU#A?Hr?~?Hr?~?Hr?~?333333?333333?u?|h"JU#A$t#A?࿇@?@@@@@@ets("JU#A"JU#A??.@),">$t#A狤#A?Ws?Ws?Ws?ffffffffffff?This object is not configured to record data for this graph. The model must be run with the "Record data for Content and Staytime gr@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@  =     *   =x  h =\  H   =   =   u t| l od L < o4 >oAj o \LoD(3f<=i={7 focus = node("@>objectfocus+",c); treenode flags = node("../Flags",c); switch_hidelabel(focus, !getchecked(node("/Show Name",flags))); switch_hideconnectors(focus,!getchecked(node("/Show Ports",flags))); switch_hidebase(focus, !getchecked(node("/Show 2D Shape",flags))); switch_hideshape(focus, !getcB liftradius@Bactivetasksequence@@B maxcontent@?B loadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ 6` 7l  B loadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B unloadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ 6` 7l Bunloadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B maxspeed@@B acceleration@?B deceleration@?B navigator@Boldbreakrequirement@Bbreakto@treenode activets = parnode(1); treenode current = ownerobject(c); /**New Tasksequences Only*/ /** \nOnly break to task sequences that have not been started already.*/ treenode tsqueue = gettasksequencequeue(current); treenode returnts = NULL; for(int index = 1; index <= content(tsqueue) && ! returnts; index++) { treenode curts = rank(tsqueue, index); if(gettotalnroftasks(curts) == getnroftasks(curts)) returnts = curts; } return tonum(returnts);@Bl:MAINodev? l?0$o?XL=@?h 6x    ?    4  =   #` T =H  < =0  >|  =p  5     )  * =  &  =  4 9(c=B travelinfo@@B travelstartx@B travelstarty@B travelstartz@Btraveldistance@Btraveldirection@B travelendx@B travelendy@B travelendz@B travelacc@B traveldec@Btravelstarttime@~Btravelendtime@Btraveltimealpha@Btraveltimebeta@B travelvpeak@B travelvmax@B travelvstart@B travelvend@Bmodifyrotation@B useoffsets@?Boffsettingnow@Boffsetbegintime@.R<#ABoffsettotaltime@,G*@B offsetlocx@@B offsetlocy@B offsetlocz@433333ӿB offsetbeginx@ @B offsetbeginy@пB offsetbeginz@?Boffsetbeginxrot@Boffsetbeginyrot@Boffsetbeginzrot@B loadedspeed@@B emptyspeed@@Bcurloadunloadtime@Blastupdatedspeed@B travelvstart@B travelvend@Blastspeedupdatetime@.R<#ABcollisiontrigger@otreenode thisobject=ownerobject(c); treenode otherobject=parnode(1); treenode thissphere=parnode(2); treenode othersphere=parnode(3); /**Crane Logic: */ /** Cranes must not cross paths along the */ #define X 1 #define Y 2 #define Z 3 int axis = /**/X/**list:X~Y~Z*/; /**- axis. If a collision is detected, then priority of tasks is determined first by priority of the task sequence being executed. If the priorities are equal, then the crane with the highest label named */ string labelname = /**/"cranepriority"/**/; /** takes precedence. Create a preempting task sequence for the other crane to move out of the way */ double traveldist = /**/5/**/; /** units of length along the axis specified, then wait for */ double delaytime = /**/2/**/; /** units of time before trying again.*/ // Here I find out which way I'm supposed to travel. int donothingflag = 0; doublearray travelloc = makearray(3); fillarray(travelloc, 0,0,0); int delayflag = 0; switch(axis) { case X: if(xloc(otherobject) > xloc(thisobject)) travelloc[1] = -traveldist; else travelloc[1] = traveldist; break; case Y: if(yloc(otherobject) > yloc(thisobject)) travelloc[2] = -traveldist; else travelloc[2] = traveldist; break; case Z: if(zloc(otherobject) > zloc(thisobject)) travelloc[3] = -traveldist; else travelloc[3] = traveldist; break; } /* Here's the real complicated part, namely figuring out when I should and when I should not preempt myself to get out of the other guy's way. Realize that this is happening on both colliding objects, so each object will decide for itself whether it needs to preempt its own active task. If this works correctly, exactly one of the two objects should preempt. Note: whenever I create a task sequence to get out of someone's way, I give that task sequence a special tag so that I can know later on (within this same field, but on the next collision detection event) that it is a task sequence created within this field. The way that I do this is I give my preemting task sequence a TASKTYPE_TAG task as its first task. This tag task does nothing as far as execution. But, as the first and second involved objects for this tag task, I set the first to point to myself, and the second to point to the guy I'm getting out of the way of. Then, next time this field fires, I can know the state of the situation, whether I'm already getting out of the way of the other guy, or whether he's getting out of my way, etc. */ treenode otheractivets = gettasksequence(otherobject, 0); treenode activets = gettasksequence(thisobject, 0); // Here are the cases in which I preempt myself if( // 1. If I am not doing anything right now !objectexists(activets) // 2. Either I'm currently already being preempted to get out of the way of the other object || (objectexists(activets) && gettasktype(activets, 1) == TASKTYPE_TAG && gettaskinvolved(activets, 1, 2) == otherobject) || ( // or the other guy is working on a task that is not a task to get out of my way, and his task takes priority over my task. objectexists(otheractivets) && (gettasktype(otheractivets, 1) != TASKTYPE_TAG || gettaskinvolved(otheractivets, 1, 2) != thisobject) && ( getpriority(otheractivets) > getpriority(activets) || ( getpriority(otheractivets) == getpriority(activets) && getlabelnum(otherobject, labelname) > getlabelnum(thisobject, labelname) ) ) ) ) { int preempttype = PREEMPT_ONLY; // If I'm already working on a task to get out of his way, then I want to abort that task // because this task will basically do the same thinge, except go a further distance further. if(objectexists(activets) && gettasktype(activets, 1) == TASKTYPE_TAG && gettaskinvolved(activets, 1, 1) == thisobject) { setpreempt(activets, PREEMPT_NOT); preempttype = PREEMPT_AND_ABORT_ACTIVE; } double priority = 0; if(objectexists(otheractivets)) priority = getpriority(otheractivets); treenode newts = createemptytasksequence(thisobject, priority, preempttype); // this is the tag task inserttask(newts, TASKTYPE_TAG, thisobject, otherobject); inserttask(newts, TASKTYPE_TRAVELRELATIVE, NULL, NULL, travelloc[1], travelloc[2], travelloc[3], 2); inserttask(newts, TASKTYPE_DELAY, NULL, NULL, delaytime, STATE_IDLE); dispatchtasksequence(newts); } @B "MAINodevcranepriorityndowI2   0|T Libr ary >dran f); ?o?0l$?Ll@?hl\ 6x  <996E OPC 6 )4(  "%d"X"=L""@"=4"#D# ## #7t## $D$ $7$$ 0 ! ,(%("(=(("(=()D ) )) )7)) *D@* *74** 8  8.%.&x.=l..&`.=T./D/ // /7// %0D0 0700 3 26D?D DDD=DE?E EEE=E kY+HX)/W+xV)hV%X UHU:<UU=0UU U:UU=UT#TT=T TT=T S%RR=R RR=R Q)xP+hP(XP=LPP8PP P=,P P(PP PP=P OO=O M+L)L#L=LLLLL=L L)| L#lLL\LL=PL LDL=8L J*,J J=J [6[ [ Z_)H_#8_=,_____= _ _) _#____=_ __=_ adaa=Xa b5tb be9ee J ff=f f8fff=f g?  ggg4g g7gg=gi@i=4ii=(iii=ijjjCj jjCtj j jCdj jjjj j=Xjk kk7kkkk k=km m=mBcollcheckinterval@?Bdrawcollspheres@B incollision@Bcollcheckstate@@B@?B@B@B@Btotaltraveldist@B kinematics@Bflipthreshold@f@Bpassimmediately@@Bpassto@treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**Pass to the object that is closest to the destination (if the object is on a network, then network travel is calculated; otherwise centroid-to-centroid distance is used).*/ /** \nConsider available objects only: */ int yes = 1; int no = 0; int onlyavailable =/**/yes/**/;/** (yes, no) */ /** \nIf none are found, then the tasksequence will be queued up using the Queue Strategy, and will be sent to the first available.*/ double curmin = GLOBAL_UNREACHABLE; int minindex = 0; treenode destination = NULL; for(int taskrank = 1; taskrank <= gettotalnroftasks(tasksequence) && destination == NULL; taskrank++) // this finds the first task in the tasksequence that is a travel task. { if(gettasktype(tasksequence,taskrank) == TASKTYPE_TRAVEL) destination = gettaskinvolved(tasksequence,taskrank,1); } if(destination==NULL) // first available if there is no travel task return 0; for(int index = 1; index <= nrop(current); index++) { treenode curobj = outobject(current, index); if(curobj && isclasstype(curobj, CLASSTYPE_TASKEXECUTER)) { int validcheck=1; if(onlyavailable && !(ipopen(curobj, opipno(current, index)) && inputopen(curobj)) ) validcheck=0; if(validcheck) { double curdist = distancetotravel(curobj, destination); if(curdist != GLOBAL_UNREACHABLE && (curmin == GLOBAL_UNREACHABLE || curmin > curdist)) { curmin = curdist; minindex = index; } } } } return minindex;@B DMAINodevcranndow *" keni? l?0$o6@6P6l4` 9|   6  ?6  #XH4<=0>4t=h5 )  #=&=4 ##=6  M?@ 04$ = 8A)xh=\ =P 6  )* ) = 4 == 45,  "4< !9p! !`!=T!!=H!  ,")"+ "%"7" "7""#""7""(""7" $8 $$7$ %5(%%4% 5  /&=4 0D*48*athBtasksequencequeue@@Bqueuestrategy@treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**Prioritize by distance: \nSort the task sequences based on the closest involved object.*/ /** \n\nTask Rank: */ int taskrank = /**/4/**/; /** \nInvolved Object Number: */ int involvednum = /**/1/**/; /** \nConsider only partially completed tasksequences: */ int yes = 1; int no = 0; int onlypartial =/**/yes/**list:yes~no*/; /** \nCondition: */ int condition = /**/true/**/; /**\n\n*/ if(condition) { treenode station = gettaskinvolved(tasksequence,taskrank,involvednum); double dist = distancetotravel(current, station); double inversedist = 0; if((getnroftasks(tasksequence) < gettotalnroftasks(tasksequence) || !onlypartial) && dist != GLOBAL_UNREACHABLE) { if(dist > 0) { inversedist = 0.1 / dist; } else { inversedist = 0.1; } } //pt(getname(station));pr(); //pf(time());pt(" : ");pf(inversedist);pr(); return inversedist; } else return getpriority(tasksequence); /**Hints:*/ /**\nFor standard transport task sequences, use 4 / 1 / yes. */ /**\nFor standard request operators task sequences, use 4 / 2 / no. */ /**\nAs a Condition you can write getpriority(tasksequence)==0 such that task sequences with a specified priority are still handled first.*/ @BpZMAINodevcran?? ? l?0$o6@6P 6`   6p   6  4 6 !:4? 44=9( = =98   )(7 + *4'xl=`T=H # %7 8  7  8< 05,"7L"  $%d%=X%Bcoordinatedtasks@@Bonresourceavailable@treenode current = ownerobject(c); int port = parval(1); treenode resource = parnode(2); treenode nextts = parnode(3); treenode lastts = parnode(4); Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BEarly Cranesubnode@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@@B@@Bx@?By@пBz@Bradius@@Bcollisionobjects@@B Late Crane@-B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble lastxloc@Bdouble lastyloc@Bdouble lastzloc@Bdouble justcreated@Bdouble offsetloc[3] @Bfsnode* activetask@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@ Bshape@ufs3d\texturebox.wrlB shapeindex@v@Bpicture@cbitmaps\Cranepicturesmall.bmpB imageobject@qfs3d\concrete.bmpBimageindexobject@rE@B imagebase@s***Bimageindexbase@tBcolor@a@Bred@?Bgreen@?Bblue@?B nochildscale@_?Bspecial@@Btitle@dObjectB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/CraneParametersBspatial@@B spatialx@M @B spatialy@NпB spatialz@OPD'J?B spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UBoffsetx@VBoffsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@B objectinfo@@B Output: 3031@@BStatus: off_shift@>@Blabels@@B connections@@Bconnectionsin@ @B@0@B@?B@B@~1@B@?B@Bconnectionsout@ @Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BEarly Dispatcher$@objectB classes@@B Dispatcher@݂ABFlexsimObject@ `AB superclasses@@BFlexsimObject@AB variables@@Bpassimmediately@@Bpassto@"treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**First Available*/ /** \nIf there are no objects currently available, then queue the tasksequence up using the Queue Strategy and wait until someone connected to its output ports becomes available.*/ return 0;@Btasksequencequeue@@Bqueuestrategy@treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**Prioritize by distance: \nSort the task sequences based on the closest involved object.*/ /** \n\nTask Rank: */ int taskrank = /**/4/**/; /** \nInvolved Object Number: */ int involvednum = /**/1/**/; /** \nConsider only partially completed tasksequences: */ int yes = 1; int no = 0; int onlypartial =/**/yes/**list:yes~no*/; /** \nCondition: */ int condition = /**/true/**/; /**\n\n*/ if(condition) { treenode station = gettaskinvolved(tasksequence,taskrank,involvednum); double dist = distancetotravel(current, station); double inversedist = 0; if((getnroftasks(tasksequence) < gettotalnroftasks(tasksequence) || !onlypartial) && dist != GLOBAL_UNREACHABLE) { if(dist > 0) { inversedist = 0.1 / dist; } else { inversedist = 0.1; } } //pt(getname(station));pr(); //pf(time());pt(" : ");pf(inversedist);pr(); return inversedist; } else return getpriority(tasksequence); /**Hints:*/ /**\nFor standard transport task sequences, use 4 / 1 / yes. */ /**\nFor standard request operators task sequences, use 4 / 2 / no. */ /**\nAs a Condition you can write getpriority(tasksequence)==0 such that task sequences with a specified priority are still handled first.*/ @BpZMAINodevcran??tr g? l?0$o6@6P 6`   6p   6  4 6 !:4? 44=9( = =98   )(7 + *4'xl=`T=H # %7 8  7  8< 05,"7L"  $%d%=X%Bcoordinatedtasks@Bonresourceavailable@treenode current = ownerobject(c); int port = parval(1); treenode resource = parnode(2); treenode nextts = parnode(3); treenode lastts = parnode(4); Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@Bvisual@@ Bcolor@a@Bred@?Bgreen@?Bblue@?Bshape@ufs3d\dispatch.3dsB shapeindex@vA@Bpicture@c$bitmaps\taskmanagerpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?Bspecial@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}!VIEW:/pages/DispatcherParametersBspatial@@B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R@B spatialrx@SB spatialry@TB spatialrz@UBoffsetx@V?Boffsety@W?Boffsetz@XB offsetsx@\(\?B offsetsy@](\?B offsetsz@^(\?B offsetrx@YB offsetry@ZB offsetrz@[V@B centroid@e?B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @Bconnectionsout@ @B@/@B@?B@B@.@B@?B@Bconnectionscenter@ @B@ @B@B@B@L @B@B@B@'@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,>@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. TimeBstats_contentgraphmaxpoints@:@@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@?@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@BLate Dispatcher$@objectB classes@@B Dispatcher@݂ABFlexsimObject@ `AB superclasses@@BFlexsimObject@AB variables@@Bpassimmediately@@Bpassto@"treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**First Available*/ /** \nIf there are no objects currently available, then queue the tasksequence up using the Queue Strategy and wait until someone connected to its output ports becomes available.*/ return 0;@Btasksequencequeue@@Bqueuestrategy@treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**Prioritize by distance: \nSort the task sequences based on the closest involved object.*/ /** \n\nTask Rank: */ int taskrank = /**/4/**/; /** \nInvolved Object Number: */ int involvednum = /**/1/**/; /** \nConsider only partially completed tasksequences: */ int yes = 1; int no = 0; int onlypartial =/**/yes/**list:yes~no*/; /** \nCondition: */ int condition = /**/true/**/; /**\n\n*/ if(condition) { treenode station = gettaskinvolved(tasksequence,taskrank,involvednum); double dist = distancetotravel(current, station); double inversedist = 0; if((getnroftasks(tasksequence) < gettotalnroftasks(tasksequence) || !onlypartial) && dist != GLOBAL_UNREACHABLE) { if(dist > 0) { inversedist = 0.1 / dist; } else { inversedist = 0.1; } } //pt(getname(station));pr(); //pf(time());pt(" : ");pf(inversedist);pr(); return inversedist; } else return getpriority(tasksequence); /**Hints:*/ /**\nFor standard transport task sequences, use 4 / 1 / yes. */ /**\nFor standard request operators task sequences, use 4 / 2 / no. */ /**\nAs a Condition you can write getpriority(tasksequence)==0 such that task sequences with a specified priority are still handled first.*/ @BpZMAINodevcran?? ? l?0$o6@6P 6`   6p   6  4 6 !:4? 44=9( = =98   )(7 + *4'xl=`T=H # %7 8  7  8< 05,"7L"  $%d%=X%Bcoordinatedtasks@Bonresourceavailable@treenode current = ownerobject(c); int port = parval(1); treenode resource = parnode(2); treenode nextts = parnode(3); treenode lastts = parnode(4); Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@Bvisual@@ Bcolor@a@Bred@?Bgreen@?Bblue@?Bshape@ufs3d\dispatch.3dsB shapeindex@vA@Bpicture@c$bitmaps\taskmanagerpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?Bspecial@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}!VIEW:/pages/DispatcherParametersBspatial@@B spatialx@M$@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R@B spatialrx@SB spatialry@TB spatialrz@UBoffsetx@V?Boffsety@W?Boffsetz@XB offsetsx@\(\?B offsetsy@](\?B offsetsz@^(\?B offsetrx@YB offsetry@ZB offsetrz@[V@B centroid@e?B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @Bconnectionsout@ @B@.@B@?B@B@/@B@?B@Bconnectionscenter@ @B@ @B@B@B@ @B@B@B@ @B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,>@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. TimeBstats_contentgraphmaxpoints@:@@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@?@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@BCharger Loading$@objectBclasses@@B Processor@˂ABFixedResource@ `ABFlexsimObject@ `AB superclasses@@BFixedResource@ABFlexsimObject@ `AB variables@@9B cycletime@treenode current = ownerobject(c); treenode item = parnode(1);/**By Expression*/ /** \nExpression: */ double value = /**/2/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\MAINodev?o?0l$9@6P7P} B setuptime@treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2); /**No Setup Time (return zero)*/ return 0;@B maxcontent@?@Buseprocessoperators@?Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6P cx h 4\  =P ); Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6Pcxh4\=P); Bcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6P B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\ 6` c  4x  =l ); Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BCharger Loadingsubnode@BCharger Loadingsubnode@MB MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@ Bcolor@a@Bred@Bgreen@?Bblue@?Bshape@ufs3d\comb_color.3dsB shapeindex@v>@Bpicture@c"bitmaps\processorpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B special@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@} VIEW:/pages/ProcessorParametersB spatial@@B spatialx@M:@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WB offsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@B Output: 212@j@B %Idle: 61.8@~~N@B%Processing: 0.2@DR>7?B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@g:@B@?B@Bconnectionsout@ @B@M5@B@B@Bconnectionscenter@ @B@7@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BCharger Loading$@objectBclasses@@B Processor@˂ABFixedResource@ `ABFlexsimObject@ `AB superclasses@@BFixedResource@ABFlexsimObject@ `AB variables@@9B cycletime@treenode current = ownerobject(c); treenode item = parnode(1);/**By Expression*/ /** \nExpression: */ double value = /**/2/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\MAINodev?o?0l$9@6\7P} B setuptime@treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2); /**No Setup Time (return zero)*/ return 0;@B maxcontent@?@Buseprocessoperators@?Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\ cx h 4\  =P ); Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\cxh4\=P); Bcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6\ B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\ 6` c  4x  =l ); Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BCharger Loadingsubnode@BCharger Loadingsubnode@PB MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@ Bcolor@a@Bred@Bgreen@?Bblue@?Bshape@ufs3d\comb_color.3dsB shapeindex@v>@Bpicture@c"bitmaps\processorpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B special@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@} VIEW:/pages/ProcessorParametersB spatial@@B spatialx@M:@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WB offsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@B Output: 39@C@B %Idle: 61.9@=Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BCharger Unloading$@objectBclasses@@B Separator@ЂAB Processor@"`ABFixedResource@ `ABFlexsimObject@ `AB superclasses@@B Processor@˂ABFixedResource@ `ABFlexsimObject@ `AB variables@@=Bunpack@?Bsplitquantity@treenode item = parnode(1); treenode current = ownerobject(c); /**Entire Contents*/ /** \nUnpack the entire content of the flowitem which entered port 1.*/ return content(item); @BX MAINodev? l?0$o6LL=@Boverriddensendtoport@treenode item = parnode(1); treenode current = ownerobject(c); /**Default Separator Option*/ /** \nPort for container: */ int containerport = /**/1/**/; /** \nPort for contents: */ int contentport = /**/2/**/; /** \n\nNote: If not unpacking, just send to first available.*/ if(getvarnum(current,"unpack")) { if(getrank(parnode(1)) == 1) return containerport; else return contentport; } else return 0; B recycle@B cycletime@treenode current = ownerobject(c); treenode item = parnode(1);/**By Expression*/ /** \nExpression: */ double value = /**/2/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\MAINodev?o?0l$9@6\7P} B setuptime@treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2); /**No Setup Time (return zero)*/ return 0;@B maxcontent@?@Buseprocessoperators@?Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\ cx h 4\  =P ); Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\cxh4\=PBcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@treenode item = parnode(1); treenode current = ownerobject(c); /**Default Separator Option*/ /** \nPort for container: */ int containerport = /**/1/**/; /** \nPort for contents: */ int contentport = /**/2/**/; /** \n\nNote: If not unpacking, just send to first available.*/ if(getvarnum(current,"unpack")) { if(getrank(parnode(1)) == 1) return containerport; else return contentport; } else return 0; @Bx#MAINodevunpack? l?0$o6@6P  t l =`   #   l  6`4  6p4 ? t hBreceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6P B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@?@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\ 6` c  4x  =l ); Bnroftransportsout@@Bnroftransportsin@B outwaitinfo@@B@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BCharger Unloadingsubnode@BCharger Unloadingsubnode@\B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@Bvisual@@ Bcolor@a@Bred@Bgreen@Mb?Bblue@jt?Bshape@ufs3d\separate_color.3dsB shapeindex@v?@Bpicture@c"bitmaps\separatorpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?Bspecial@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@} VIEW:/pages/SeparatorParametersB spatial@@B spatialx@M;@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB offsetx@VB offsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B spatialrz@UB ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@B objectinfo@@B Output: 424@z@B %Idle: 61.8@~~N@B%Processing: 0.2@DR>7?Blabels@@B connections@@Bconnectionsin@ @B@2@B@?B@Bconnectionsout@ @B@@B@B@B@Z@B@B@Bconnectionscenter@ @B@7@B@B@B@@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BCharger Unloading$@objectBclasses@@B Separator@ЂAB Processor@"`ABFixedResource@ `ABFlexsimObject@ `AB superclasses@@B Processor@˂ABFixedResource@ `ABFlexsimObject@ `AB variables@@=Bunpack@?Bsplitquantity@treenode item = parnode(1); treenode current = ownerobject(c); /**Entire Contents*/ /** \nUnpack the entire content of the flowitem which entered port 1.*/ return content(item); @BX MAINodev? l?0$o6LL=@Boverriddensendtoport@treenode item = parnode(1); treenode current = ownerobject(c); /**Default Separator Option*/ /** \nPort for container: */ int containerport = /**/1/**/; /** \nPort for contents: */ int contentport = /**/2/**/; /** \n\nNote: If not unpacking, just send to first available.*/ if(getvarnum(current,"unpack")) { if(getrank(parnode(1)) == 1) return containerport; else return contentport; } else return 0; B recycle@B cycletime@treenode current = ownerobject(c); treenode item = parnode(1);/**By Expression*/ /** \nExpression: */ double value = /**/2/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B\MAINodev?o?0l$9@6\7P} B setuptime@treenode current = ownerobject(c); treenode item = parnode(1); treenode port = parval(2); /**No Setup Time (return zero)*/ return 0;@B maxcontent@?@Buseprocessoperators@?Busesetupoperators@Bnrofprocessoperators@?Bprocessoperatorpriority@Bpreemptprocessoperators@Bprocessdispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\ cx h 4\  =P ); Bsetupfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bprocessfinishtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @Bmtbf@mtreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Bbreakdowntrigger@%treenode current = ownerobject(c); @Bmttr@ltreenode current = ownerobject(c); /**No Breakdowns*/ /** \nReturn a 0 for MTBF and MTTR.*/ return 0; @Brepairtrigger@%treenode current = ownerobject(c); @Busedownoperators@Bnrofdownoperators@?Bdownoperatorpriority@Bpreemptdownoperators@Bdowndispatcher@Ptreenode current = ownerobject(c); treenode item = parnode(1); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BlMAINodev?o?0l$6@6\cxh4\=Pup(Bcurdowndispatcher@@B nextdown@Bconvey@?Bnextrepairtime@B usesameop@?Bnrofsetupoperators@?Bprocessingdownflag@?B mtbfstates@@B@@@B totaltime@B nrreleased@Bpull@B sendtoport@treenode item = parnode(1); treenode current = ownerobject(c); /**Default Separator Option*/ /** \nPort for container: */ int containerport = /**/1/**/; /** \nPort for contents: */ int contentport = /**/2/**/; /** \n\nNote: If not unpacking, just send to first available.*/ if(getvarnum(current,"unpack")) { if(getrank(parnode(1)) == 1) return containerport; else return contentport; } else return 0; @Bx#MAINodevunpack? l?0$o6@6P  t l =`   #   l  6`4  6p4 ? t hBreceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6P B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@?@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\ 6` c  4x  =l e aBnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BCharger Unloadingsubnode@BCharger Unloadingsubnode@_B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@Bvisual@@ Bcolor@a@Bred@Bgreen@Mb?Bblue@jt?Bshape@ufs3d\separate_color.3dsB shapeindex@v?@Bpicture@c"bitmaps\separatorpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?Bspecial@@Btitle@dFixed Resource MultiserviceB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@} VIEW:/pages/SeparatorParametersB spatial@@B spatialx@M;@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB offsetx@VB offsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B spatialrz@UB ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@B objectinfo@@B Output: 78@S@B %Idle: 61.9@=Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@B BasicTE41:@objectB classes@@B BasicTE@AB TaskExecuter@`6`AB Dispatcher@4`ABFlexsimObject@ `ABsuperclasses@@B TaskExecuter@@߂AB Dispatcher@4`ABFlexsimObject@ `AB variables@@EBonbeginoffset@treenode current = ownerobject(c); // the following x, y, and z values are requested x, y, and z offsets from this object's x/y center and z base. double x = parval(1); double y = parval(2); double z = parval(3); treenode item = parnode(4); double endspeed = parval(5); double maxspeed = parval(6); double acceleration = parval(7); double deceleration = parval(8); double lastupdatedspeed = parval(9); double rotatewhiletraveling = parval(10); Bonupdateoffset@Ftreenode current = ownerobject(c); double offsettingnow = parval(1); double offsettotaltime = parval(2); double maxspeed = parval(3); double acceleration = parval(4); double deceleration = parval(5); double lastupdatedspeed = parval(6); double rotatewhiletraveling = parval(7); double curloadunloadtime = parval(8); Bonfinishoffset@Ftreenode current = ownerobject(c); double offsettingnow = parval(1); double offsettotaltime = parval(2); double maxspeed = parval(3); double acceleration = parval(4); double deceleration = parval(5); double lastupdatedspeed = parval(6); double rotatewhiletraveling = parval(7); double curloadunloadtime = parval(8); Bpickplaceoffset@treenode current = ownerobject(c); int pickoperation = parval(1); treenode item = parnode(2); treenode otherobject = parnode(3); treenode xvalnode = parnode(4); treenode yvalnode = parnode(5); treenode zvalnode = parnode(6); B stopresume@treenode current = ownerobject(c); int stopoperation = parval(1); int stopstate = parval(2); treenode nrofstopsnode = parnode(3); treenode timeoflaststopnode = parnode(4); treenode statebeforestopnode = parnode(5); Badvancedfunctions@?treenode current = ownerobject(c); int msgtype = parval(1); B poffsetx@B poffsety@B poffsetz@Bactivetasksequence@@B maxcontent@?B loadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ 6` 7l B loadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B unloadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ 6` 7l Bunloadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B maxspeed@@B acceleration@?B deceleration@?B navigator@Boldbreakrequirement@Bbreakto@treenode activets = parnode(1); treenode current = ownerobject(c); /**New Tasksequences Only*/ /** \nOnly break to task sequences that have not been started already.*/ treenode tsqueue = gettasksequencequeue(current); treenode returnts = NULL; for(int index = 1; index <= content(tsqueue) && ! returnts; index++) { treenode curts = rank(tsqueue, index); if(gettotalnroftasks(curts) == getnroftasks(curts)) returnts = curts; } return tonum(returnts);@Bl:MAINodev? l?0$o?XL=@?h 6x    ?    4  =   #` T =H  < =0  >|  =p  5     )  * =  &  =  4 c=B travelinfo@@B travelstartx@B travelstarty@B travelstartz@Btraveldistance@Btraveldirection@B travelendx@B travelendy@B travelendz@B travelacc@B traveldec@Btravelstarttime@~Btravelendtime@Btraveltimealpha@Btraveltimebeta@B travelvpeak@B travelvmax@B travelvstart@B travelvend@Bmodifyrotation@?B useoffsets@?Boffsettingnow@Boffsetbegintime@s ABoffsettotaltime@B offsetlocx@ @B offsetlocy@333333B offsetlocz@B offsetbeginx@;@B offsetbeginy@B offsetbeginz@Boffsetbeginxrot@Boffsetbeginyrot@Boffsetbeginzrot@B loadedspeed@@B emptyspeed@@Bcurloadunloadtime@Blastupdatedspeed@B travelvstart@B travelvend@Blastspeedupdatetime@s ABcollisiontrigger@treenode thisobject=ownerobject(c); treenode otherobject=parnode(1); treenode thissphere=parnode(2); treenode othersphere=parnode(3); Bcollcheckinterval@?Bdrawcollspheres@B incollision@Bcollcheckstate@Btotaltraveldist@B kinematics@Bflipthreshold@f@Bpassimmediately@@Bpassto@"treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**First Available*/ /** \nIf there are no objects currently available, then queue the tasksequence up using the Queue Strategy and wait until someone connected to its output ports becomes available.*/ return 0;@Btasksequencequeue@@Bqueuestrategy@treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**Sort by TaskSequence Priority*/ return getpriority(tasksequence);@BX MAINodev? l?0$o?XL=@Bcoordinatedtasks@@Bonresourceavailable@treenode current = ownerobject(c); int port = parval(1); treenode resource = parnode(2); treenode nextts = parnode(3); treenode lastts = parnode(4); Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble offsetloc[3] @Bfsnode* activetask@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@ Bcolor@a@Bred@?Bgreen@?Bblue@?Bshape@ufs3d\texturesphere.wrlB shapeindex@v@B picture@cbitmaps\spheresmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B special@@Btitle@dObjectB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/BasicTEParametersB objectinfo@B ignoredraw@fBdisplaygroup@ standardBspatial@@B spatialx@M;@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UBoffsetx@VBoffsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?Bdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @Bconnectionsout@ @Bconnectionscenter@ @B@2@B@B@B@]5@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. TimeBstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@B BasicTE42:@objectB classes@@B BasicTE@AB TaskExecuter@`6`AB Dispatcher@4`ABFlexsimObject@ `ABsuperclasses@@B TaskExecuter@@߂AB Dispatcher@4`ABFlexsimObject@ `AB variables@@EBonbeginoffset@treenode current = ownerobject(c); // the following x, y, and z values are requested x, y, and z offsets from this object's x/y center and z base. double x = parval(1); double y = parval(2); double z = parval(3); treenode item = parnode(4); double endspeed = parval(5); double maxspeed = parval(6); double acceleration = parval(7); double deceleration = parval(8); double lastupdatedspeed = parval(9); double rotatewhiletraveling = parval(10); Bonupdateoffset@Ftreenode current = ownerobject(c); double offsettingnow = parval(1); double offsettotaltime = parval(2); double maxspeed = parval(3); double acceleration = parval(4); double deceleration = parval(5); double lastupdatedspeed = parval(6); double rotatewhiletraveling = parval(7); double curloadunloadtime = parval(8); Bonfinishoffset@Ftreenode current = ownerobject(c); double offsettingnow = parval(1); double offsettotaltime = parval(2); double maxspeed = parval(3); double acceleration = parval(4); double deceleration = parval(5); double lastupdatedspeed = parval(6); double rotatewhiletraveling = parval(7); double curloadunloadtime = parval(8); Bpickplaceoffset@treenode current = ownerobject(c); int pickoperation = parval(1); treenode item = parnode(2); treenode otherobject = parnode(3); treenode xvalnode = parnode(4); treenode yvalnode = parnode(5); treenode zvalnode = parnode(6); B stopresume@treenode current = ownerobject(c); int stopoperation = parval(1); int stopstate = parval(2); treenode nrofstopsnode = parnode(3); treenode timeoflaststopnode = parnode(4); treenode statebeforestopnode = parnode(5); Badvancedfunctions@?treenode current = ownerobject(c); int msgtype = parval(1); B poffsetx@B poffsety@B poffsetz@Bactivetasksequence@@B maxcontent@?B loadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ ?  7l B loadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B unloadtime@Etreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); /**By Expression*/ /** \nExpression: */ double value = /**/0/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return value;@B`xMAINodev? l?0$o?Ll@9\ ?  7l lorBunloadtrigger@btreenode item = parnode(1); treenode current = ownerobject(c); treenode station = parnode(2); @B maxspeed@@B acceleration@?B deceleration@?B navigator@Boldbreakrequirement@Bbreakto@treenode activets = parnode(1); treenode current = ownerobject(c); /**New Tasksequences Only*/ /** \nOnly break to task sequences that have not been started already.*/ treenode tsqueue = gettasksequencequeue(current); treenode returnts = NULL; for(int index = 1; index <= content(tsqueue) && ! returnts; index++) { treenode curts = rank(tsqueue, index); if(gettotalnroftasks(curts) == getnroftasks(curts)) returnts = curts; } return tonum(returnts);@Bl:MAINodev? l?0$o?XL=@?h 6x    ?    4  =   #` T =H  < =0  >|  =p  5     )  * =  &  =  4 c=B travelinfo@@B travelstartx@B travelstarty@B travelstartz@Btraveldistance@Btraveldirection@B travelendx@B travelendy@B travelendz@B travelacc@B traveldec@Btravelstarttime@~Btravelendtime@Btraveltimealpha@Btraveltimebeta@B travelvpeak@B travelvmax@B travelvstart@B travelvend@Bmodifyrotation@?B useoffsets@?Boffsettingnow@Boffsetbegintime@ |#ABoffsettotaltime@B offsetlocx@ffffff @B offsetlocy@ffffff@B offsetlocz@B offsetbeginx@;@B offsetbeginy@B offsetbeginz@Boffsetbeginxrot@Boffsetbeginyrot@Boffsetbeginzrot@B loadedspeed@@B emptyspeed@@Bcurloadunloadtime@Blastupdatedspeed@B travelvstart@B travelvend@Blastspeedupdatetime@ |#ABcollisiontrigger@treenode thisobject=ownerobject(c); treenode otherobject=parnode(1); treenode thissphere=parnode(2); treenode othersphere=parnode(3); Bcollcheckinterval@?Bdrawcollspheres@B incollision@Bcollcheckstate@Btotaltraveldist@B kinematics@Bflipthreshold@f@Bpassimmediately@@Bpassto@"treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**First Available*/ /** \nIf there are no objects currently available, then queue the tasksequence up using the Queue Strategy and wait until someone connected to its output ports becomes available.*/ return 0;@Btasksequencequeue@@Bqueuestrategy@treenode tasksequence = parnode(1); treenode current = ownerobject(c); /**Sort by TaskSequence Priority*/ return getpriority(tasksequence);@BX MAINodev? l?0$o?XL=@Bcoordinatedtasks@@Bonresourceavailable@treenode current = ownerobject(c); int port = parval(1); treenode resource = parnode(2); treenode nextts = parnode(3); treenode lastts = parnode(4); Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@@Bdouble offsetloc[3] @Bfsnode* activetask@Bdouble* protectlocs@Bunsigned char portinfoflag@Bvisual@@ Bcolor@a@Bred@?Bgreen@?Bblue@?Bshape@ufs3d\texturesphere.wrlB shapeindex@v@B picture@cbitmaps\spheresmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B special@@Btitle@dObjectB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/BasicTEParametersB objectinfo@B ignoredraw@fBdisplaygroup@ standardBspatial@@B spatialx@M;@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UBoffsetx@VBoffsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?Bdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @Bconnectionsout@ @Bconnectionscenter@ @B@4@B@B@B@6@B@B@Bevents@ @Bstats@@Bstate@@Bstate_current@,?Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. TimeBstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BQueue43$@objectB superclasses@@BFixedResource@ABFlexsimObject@ `ABclasses@@BQueue@ ʂABFixedResource@ `ABFlexsimObject@ `AB variables@@,B maxcontent@?@B usebatching@B batchsize@@B maxwaittime@Bflush@Bcurrentbatchsize@Bendcollectingtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @B placemode@?B stackinitz@B curxfringe@Bcuryloc@B curmaxysize@Bcurzloc@B curmaxzsize@Bproductspacing@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@?h B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\ ?  c  4x  =l  } Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@B@B@Bsendtocontinuous@?Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@Bcppvariables@@Bint lastpredrawoutput@Bint lastpredrawinput@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bspecial@@Btitle@dFixed Resource QueueB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/QueueParametersBvisual@@ Bcolor@a@Bred@MbX9?Bgreen@MbX9?Bblue@MbX9?Bshape@ufs3d\queue_n_color.3dsB shapeindex@v<@Bpicture@cbitmaps\queuepicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B spatial@@B spatialx@M8@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@BCurContent: 0@BMaxContent: 1@BAvgStaytime: 4.0@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@@B@?B@Bconnectionsout@ @B@@B@B@B@2@B@B@B@4@B@B@Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BQueue44$@objectB superclasses@@BFixedResource@ABFlexsimObject@ `ABclasses@@BQueue@ ʂABFixedResource@ `ABFlexsimObject@ `AB variables@@,B maxcontent@~.A@B usebatching@B batchsize@@B maxwaittime@Bflush@Bcurrentbatchsize@Bendcollectingtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @B placemode@?B stackinitz@B curxfringe@Bcuryloc@B curmaxysize@Bcurzloc@B curmaxzsize@Bproductspacing@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6\ B entrytrigger@treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); { //************* PickOption Start *************\\ /**Set Color by Value*/ /** \nValue: */ int value = /**/getitemtype(item)/**/; switch(value) { /** \nCases: */ /**/ case 1: colorred(item);break; case 2: colorgreen(item);break; case 3: colorblue(item);break; default: colorarray(item, value);break; /**/ } /**\n\n*/ } //******* PickOption End *******\\ @B+MAINodev ? l?0$o6Lk@ 6t  h =\  4  =  z=  w=  # u4=  B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\  c  4x  =l  } Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@Bcppvariables@@Bint lastpredrawoutput@Bint lastpredrawinput@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bspecial@@Btitle@dFixed Resource QueueB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/QueueParametersBvisual@@ Bcolor@a@Bred@MbX9?Bgreen@MbX9?Bblue@MbX9?Bshape@ufs3d\queue_n_color.3dsB shapeindex@v<@Bpicture@cbitmaps\queuepicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B spatial@@B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@BCurContent: 1390@BMaxContent: 1396@BAvgStaytime: 48573.4@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@@B@?B@Bconnectionsout@ @B@ @B@B@Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BTo EU By Rail$@objectB superclasses@@BFixedResource@ABFlexsimObject@ 0ABclasses@@BQueue@ ʂABFixedResource@ 0ABFlexsimObject@ 0AB variables@@,B maxcontent@5@@B usebatching@?B batchsize@5@B maxwaittime@e@Bflush@?Bcurrentbatchsize@Bendcollectingtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @B placemode@?B stackinitz@B curxfringe@Bcuryloc@B curmaxysize@Bcurzloc@B curmaxzsize@Bproductspacing@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6\ B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\  c  4x  =l Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@Bcppvariables@@Bint lastpredrawoutput@Bint lastpredrawinput@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bspecial@@Btitle@dFixed Resource QueueB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/QueueParametersBvisual@@ Bcolor@a@Bred@MbX9?Bgreen@MbX9?Bblue@MbX9?Bshape@ufs3d\queue_n_color.3dsB shapeindex@v<@Bpicture@cbitmaps\queuepicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B spatial@@B spatialx@MH@B spatialy@NB spatialz@OB spatialsx@P@B spatialsy@Q@B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@BCurContent: 0@BMaxContent: 2@BAvgStaytime: 190.2@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@!@B@?B@Bconnectionsout@ @B@>@B@B@Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BTo Japan by Sea$@objectB superclasses@@BFixedResource@ABFlexsimObject@ 0ABclasses@@BQueue@ ʂABFixedResource@ 0ABFlexsimObject@ 0AB variables@@,B maxcontent@5@@B usebatching@?B batchsize@5@B maxwaittime@e@Bflush@?Bcurrentbatchsize@Bendcollectingtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @B placemode@?B stackinitz@B curxfringe@Bcuryloc@B curmaxysize@Bcurzloc@B curmaxzsize@Bproductspacing@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6\ B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\  c  4x  =l Bnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@Bcppvariables@@Bint lastpredrawoutput@Bint lastpredrawinput@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bspecial@@Btitle@dFixed Resource QueueB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/QueueParametersBvisual@@ Bcolor@a@Bred@MbX9?Bgreen@MbX9?Bblue@MbX9?Bshape@ufs3d\queue_n_color.3dsB shapeindex@v<@Bpicture@cbitmaps\queuepicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B spatial@@B spatialx@MH@B spatialy@NB spatialz@OB spatialsx@P@B spatialsy@Q@B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@BCurContent: 1@BMaxContent: 8@BAvgStaytime: 130.1@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@!@B@?B@Bconnectionsout@ @B@>@B@B@Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BSimulation End@objectB superclasses@@BFixedResource@ABFlexsimObject@ 0ABclasses@@BSink@`͂ABFixedResource@ 0ABFlexsimObject@ 0AB variables@@B recycle@?B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6\ B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\  c  4x  =l Bnroftransportsout@Bnroftransportsin@B outwaitinfo@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@B MTBFMTTR8@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@B cppvariables@Bvisual@@ Bcolor@a@Bred@333333?Bgreen@?Bblue@333333?Bshape@ufs3d\Sink.3DSB shapeindex@v=@Bpicture@cbitmaps\sinkpicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B special@@Btitle@dFixed Resource SinkB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/SinkParametersB spatial@@B spatialx@MJ@B spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UBoffsetx@VBoffsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^1Zd?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@B Input: 1077@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@<@B@?B@B@=@B@?B@B@?@B@?B@Bconnectionsout@ @Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. TimeBstats_contentgraphmaxpoints@:Y@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@BTo UK Repository$@objectB superclasses@@BFixedResource@ABFlexsimObject@ 0ABclasses@@BQueue@ ʂABFixedResource@ 0ABFlexsimObject@ 0AB variables@@,B maxcontent@5@@B usebatching@?B batchsize@5@B maxwaittime@e@Bflush@?Bcurrentbatchsize@Bendcollectingtrigger@Btreenode item = parnode(1); treenode current = ownerobject(c); @B placemode@?B stackinitz@B curxfringe@Bcuryloc@B curmaxysize@Bcurzloc@B curmaxzsize@Bproductspacing@B nrreleased@Bpull@B sendtoport@ztreenode item = parnode(1); treenode current = ownerobject(c); /**First available*/ /** \nOpen all ports.*/ return 0 ;@Breceivefromport@@treenode current = ownerobject(c); /**Any Port*/ return 0; @Bpullrequirement@treenode current = ownerobject(c); treenode item = parnode(1); int port = parval(2); /**No Requirement*/ /** \nAlways return true.*/ return 1;@B\MAINodev?o?0l$6Lk@6\ B entrytrigger@Ztreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B exittrigger@[treenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); @B usetransport@@Btransportpriority@Bpreempttransport@Btransportdispatcher@gtreenode item = parnode(1); treenode current = ownerobject(c); int port = parval(2); /**Port by Expression*/ /** \nCenter port number: */ int portnum = /**/1/**/; /** \n\nNote: The expression may be a constant value or the result of a command (getitemtype(item), getlabelnum(item, "labelname"), etc).*/ return tonum(centerobject(current,portnum));@BMAINodev? l?0$o6Lk@6\  c  4x  =l  cBnroftransportsout@Bnroftransportsin@B outwaitinfo@@B@Bsendtocontinuous@Bpullcontinuous@Blifo@Bmessagetrigger@%treenode current = ownerobject(c); @Bondrawtrigger@treenode current = ownerobject(c); treenode view = parnode(1); // If this function returns a true, the default draw code of the object will not be executed. B timetables@@BAnnual ShutDown@B networknodes@Btimeoflaststop@B nrofstops@@Bstatebeforestop@Bcollisionspheres@Bcollisionobjects@B resettrigger@%treenode current = ownerobject(c); B savedstate@Bresetposition@B behaviour@@Beventfunctions@Bcppfunctions@@Bcppvariables@@Bint lastpredrawoutput@Bint lastpredrawinput@Bdouble inport@Bfsnode* lastreleased@Bfsnode* curtransporter@Bdouble* protectlocs@Bunsigned char portinfoflag@Bspecial@@Btitle@dFixed Resource QueueB description@bB guifocus@|%VIEW:/standardviews/ObjectPropertiesBguifocusclass@}VIEW:/pages/QueueParametersBvisual@@ Bcolor@a@Bred@MbX9?Bgreen@MbX9?Bblue@MbX9?Bshape@ufs3d\queue_n_color.3dsB shapeindex@v<@Bpicture@cbitmaps\queuepicturesmall.bmpB imageobject@q***Bimageindexobject@rB imagebase@s***Bimageindexbase@tB nochildscale@_?B spatial@@B spatialx@MH@B spatialy@N@B spatialz@OB spatialsx@P@B spatialsy@Q@B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UB offsetx@VB offsety@WBoffsetz@XB offsetsx@\?B offsetsy@]?B offsetsz@^?B offsetrx@YB offsetry@ZB offsetrz@[B centroid@e?B objectinfo@@BCurContent: 0@BMaxContent: 5@BAvgStaytime: 166.3@B ignoredraw@fB displaygroup@ standardBdisplaygrouplist@@B standard@Blabels@@B connections@@Bconnectionsin@ @B@!@B@?B@Bconnectionsout@ @B@>@B@B@Bconnectionscenter@ @Bevents@ @Bstats@@Bstate@@Bstate_current@,@Bstate_changetime@B state_since@-Bstate_profile@.State@2Bidle@B processing@Bbusy@Bblocked@B generating@Bempty@B collecting@B releasing@Bwaiting_for_operator@Bwaiting_for_transporter@B breakdown@Bscheduled_down@B conveying@B travel_empty@Btravel_loaded@Boffset_travel_empty@Boffset_travel_loaded@Bloading@B unloading@Bdown@Bsetup@Butilize@Bfull@B not_empty@Bfilling@Bstarved@Bmixing@Bflowing@Ballocated_idle@B off_shift@B change_over@Brepair@B maintenance@Blunch@B on_break@Bsuspend@B available@Bpreprocessing@Bpostprocessing@B inspecting@B operating@Bstandby@Bpurging@B cleaning@B accelerating@B maxspeed@B decelerating@Bstopped@Bwaiting@B accumulating@B state_graph@0Bcontent@@Bstats_contentmin@4Bstats_contentmax@5Bstats_contentavg@6Bstats_contentupdates@7Bstats_contentsince@8Bstats_contentgraph@9Content vs. Time@Bstats_contentgraphmaxpoints@:@Bstats_content@2B staytime@@Bstats_staytimemin@<Bstats_staytimemax@=Bstats_staytimeavg@>Bstats_staytimeupdates@?Bstats_staytimegraph@A StaytimeBstats_staytimehisto@C@B parameters@@B startvalue@B endvalue@Y@Bbuckets@4@Bdata@ Staytime@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B interval@@Bmean@Blo@Bhi@Bpercent@W@Bauto@?Bstats_staytimegraphmaxpoints@BY@Bstats_staytimesince@@B throughput@@B stats_input@KB stats_output@LBstats_throughput@DBstats_throughputgraph@E ThroughputBstats_throughputgraphmaxpoints@FBstats_creationtime@JBstats_lastmovetime@IBstored@@B AVIMaker*@object B classes@@BAvi@AB variables@@B starttime@r@B endtime@p@Bframespersecond@$@Btimebetweenframes@$@B aviname@H\\engscl3\users\esugdj\My Documents\_ES4xx simu\One Line Short V0.1.aviB makingavi@B flypath@Blabels@@B behaviour@@Beventfunctions@@Bspatial@@ B spatialx@MB spatialy@NB spatialz@OB spatialsx@P?B spatialsy@Q?B spatialsz@R?B spatialrx@SB spatialry@TB spatialrz@UBvisual@@B nochildscale@_?B connections@@Bconnectionsin@ @Bconnectionsout@ @Bconnectionscenter@ @Bevents@ @B special@@Btitle@dObjectB description@b