Home      Factory simulation      About FabSim      Simulation results      Interactive simulation      User Interfaces

Mini-fab example      Downloads      News      Interesting links      Contact

User Interfaces

FabSim.dll

FabSim Interactive resides inside a dynamic link library (dll). The dll exports functions which control the simulator. A supervisor program (e.g. FabStart.exe or user supplied) may take full control of the simulator.

As a first step the simulator is initialized with toolset and lot start data. A lot may now be entered. The supervisor then starts FabSim.dll for at least one clock cycle. After this simula-tion period has passed, FabSim stops and waits for input. All data are stored and are accessible by several of the ex-ported functions. You may search for lots, save the complete lot or fab status, enter a new lot, move a lot out of the process flow and onto a shelf, retrieve another lot from the shelf for further processing, set machines down for a given period, change lot priority, ask for toolset and machine utilization. You may even toggle from the push mode (each lot leaving a toolset will find its way into the buffer and then into an idle machine of the following toolset) into a mode where the supervisor actively has to move each lot from the toolset buffer into a machine currently available. Thus the supervisor has full control over the simulation procedure. During periods where FabSim.dll is allowed to run uninterrupted, it will retain the same high simulation speed as the command line version.

 

Cdispatch.dll

FabSim.exe and FabSim.dll 3.0 now have another interface open to the user. By setting the appropriate command on the command line or a flag within the toolset data, an external dispatching rule is requested. FabSim then calls for Cdispatch.dll, a dynamic link library. This dll is supplied by the user. All relevant FabSim internal data, e.g. toolset, lot, buffer, timing and other data are provided by FabSim to the dll. Cdispatch.dll then sorts the lots waiting in the buffers in front of user selected toolsets and thus determines the next lot to be loaded into the machine, using code supplied by the user. Any model may be programmed, e.g. new priority rules, including cost functions, or a more complex rule set like a minimum inventory variability scheduling, which may look ahead one or many steps or even may look back and buffer states and other data from everywhere in the factory. In parallel the internal dispatching rules like CR, EDD, WSPT are still available for combined use. A well documented sample file set will be provided with FabSim. The user then applies a C++ compiler (MS VC++ 6, Intel 8.x, Borland) to compile the dll.