Class SimControl.Cycle is the simulation control class for an in-process, cycle-driven simulator. Create a subclass from this class to select this type of simulation control. It is abstract and non-terminal.
Program Location (sSimProg): an optional cell attribute of SG_TYPE_URL type for the simulator dynamic linked library (DLL) file path. If present, it will be used; otherwise, the default DLL in the sim directory will be used.
Log File Name (sSimLog): an optional cell attribute of SG_TYPE_URL type for the simulation output. If not specified, the file name with a .log extension to the Project Model name in the current working directory (the directory where the Project Model file resides) will be used. This file is opened by SansGUI and a pointer to the file is passed to the class functions.
Beginning Cycle Number (iBgnCycle): a cell attribute of SG_TYPE_INT, representing the number of the first cycle. Normally, the value is 1.
Current Cycle Number (iCycle): a cell attribute of SG_TYPE_INT, representing the current cycle number during a simulation run, updated by SansGUI automatically.
Pause at Cycle Number (iPause): a cell attribute of SG_TYPE_INT, specified by the user to pause the simulation when the current cycle number reaches this number. Enter the value 0 to indicate no pause.
Ending Cycle Number (iEndCycle): a cell attribute of SG_TYPE_INT, representing the cycle number for the simulation to end. SansGUI terminates a simulation run when the current cycle number reaches or goes beyond this number. When it is set to 0, however, SansGUI will not check this condition and will let the simulation run forever.
Cycle Increment (iIncrement): a cell attribute of SG_TYPE_INT, representing the count to be added to the current cycle number after each simulation cycle.
Screen Refresh Interval (iRefresh): a cell attribute of SG_TYPE_INT, representing the interval for SansGUI to update the simulation result log. SansGUI checks the number of times the cycle increment being added to the current cycle number against this number to decide if the results from the current cycle should be entered into the log. Therefore, if the cycle increment is I and the screen refresh interval is R, at every I × R cycles the simulation output will be logged. The user can use this parameter to control the "resolution" of the output.
Part Evaluation Order (iOrder): a cell attribute of SG_TYPE_INT for specifying the sequence of evaluation of the parts in the same assembly level in the Canvas View. Using the 0-based index system, the values can be: 0) Name, using the parts' names in the lexical order, 1) Z-Order, from back to front, 2) Horizontal Scan Lines, from top to bottom and left to right in each scan line, 3) Vertical Scan Lines, from left to right and top to bottom in each scan line, and 4) Random, using a random sequence generated by SansGUI before a simulation run. Normally, the part evaluation order does not matter. At times, however, the simulation developer or the simulation user may want to control it by this means.
None.
Not applicable.
For a cycle-driven simulator, a subclass from this class has to be defined. It can be used in conjunction with the external process simulation control, but cannot coexist with other in-process simulation controls. New cell attributes can be added to the subclass for globally accessible values. The subclass of this class is terminal.
Accessing Class Properties and Defining Simulation Control Classes in the SansGUI Developer's Guide
SansGUI Modeling and Simulation Environment Version 1.2
Copyright © 2000-2003 ProtoDesign, Inc. All rights reserved.