Attribute
Attribute is a general term used in Planimate® to denote a characteristic that belongs to some component or aspect of a dynamic system model. When you build a model, the Attribute is given a value. Attributes are an essential part of your description of a system model. Objects, individual items, item classes, Sub-systems and the overall system model can have identifiable attributes.
The value of an Attribute can remain constant during the course of a model run, or be dynamic. Some Attributes are generally available to the model. This means that their values can be referred to and read by objects.
Attributes are listed and edited in various places in your model. You specify your references to them from other locations. The key means of referring to attributes is the Attribute Selection Dialog. The key means of changing attribute values is either via a Routine in a Change Object, or through the binding of an Attribute to an Object.
Portal Attributes
- Main article: Portal AttributePortal Attributes enable modular models to be built since their Attributes are only used within the sub-system concerned. Portal Attributes get copied and pasted along with the Portal. Portal Attributes can be accessed and edited from the Portal Object's Edit Menu, or the Portal Entry inside the sub-system itself. They are also visible and available for editing and referencing from any subsystem within the portal at which they are defined, when the Portal Attributes option under Data in the Menu Bar is selected.
Item Attributes
- Main article: Item AttributeItem attributes typically give unique qualities to each individual item within a class.
This uniqueness can be used to further refine the details of how that item behaves within the model, even the behaviour of the model itself.
For example, it would be possible to use an attribute to represent the weight of an item and have the weight affect the delays experienced by that item.
Other uses include path assignment (routing information) based upon an attribute representing sub-types of items in a Class.
Class Attributes
- Main article: Class Attribute== Class Attributes ==
A Class Attribute is an attribute that is SHARED between all items of a particular class.
Because the Attribute is a single figure, it is capable of being logged and displayed using a Attribute View.
Class Attributes are found in the Item Edit Menu of each Item Class.
When this option is selected, a list appears.
If the list has no entries, then a single line will appear, prompting you to Add a New Class Attribute. Class Attributes are created and edited in the same manner as other Attributes, with similar dialogs and options.
Uses for Class Attributes
When an attribute applies to EVERY item in one class, then it is much more efficient to keep one common copy of the value, as a Class Attribute. Class Attributes are useful for deriving information about behaviour or results from the group of items as a whole. Class Attributes become group counters or accumulators because only the items of that class can contribute to their own class attribute.
Class Attributes are the obvious place that a class can accumulate information on itself.
For Example:
- total trips for a specific class of transport.
- total overtime worked by a shift,
- maximum overtime worked by a class of employee,
- total kilometres travelled
- carrying capacity
A Class Attribute name can be applied to a range of item classes, with each class given a different setting. This enables the Attribute to be generically referenced in the model.
Generically Referencing Class Attributes
This enables the Attribute to be generically referenced in the model.
Having the ability to generically reference a number of Class's Attributes enables you to cut down on the number of Portal Attributes, Change Objects and Switches you require to control attribute calculations, path selection and model behaviour.
- For example, you can set the Maximum Quantity of items picked up from a PickUp to reference a Class Attribute of the Carrier Item doing the pick-up.
- If a Portal Attribute was used by the PickUp/DropOff, you would require a series of Change Objects and perhaps Switches to achieve the same result.
When Class Attributes are referenced in a Distribution Dialog, then they are acting similarly to a standard interaction parameter, in that the attribute only needs to be specified in (and referenced from) one place, and the delay time will vary from class to class.
Creating, Editing Class Attributes
Right Click on an Item Class in the Item Palette and select Class Attributes from the Menu.
Attributes already present are then displayed in a list, along with their initial values.
Right Click to select an Item Attribute to be edited or Click the Add Attribute button to create a new Class Attribute.
Fields, Settings and Buttons
These are the fields, settings and buttons that are available when creating or editing Class Attributes.
- Field/Setting
- Description
- Name
- Enter/Edit the Name of the Attribute.
- Attribute names do NOT carry any case sensitivity in Planimate®.
- Comment
- Enter/Edit an optional comment, to guide those who come after you.
- Initial Value
- Enter/Edit the value applied to this Attribute upon the model being loaded.
- Units
- Select a Display format for this Attribute.
Planimate® tries to determine the format automatically. eg. typing 100s or 25:32 or 3d will interpret as a time; typing $123.45 will interpret as money; typing values greater than 60 will interpret as a value.
Option Settings
- Clear Contents at Start
- The Attribute's Clear Value will be applied to the Attribute at the beginning of each run.
- Clear Value
- The value applied to the Attribute whenever its contents are cleared (at Run Start or via an Operation in a routine).
- Constant During Run
- Specifies a condition that the Attribute can only be Read, and not be written to, during a run. An attempt to alter the value of this attribute will be detected and produce a run time error. This speeds up comparisons, and detects model errors where the "constant" may be accidentally modified.
- Retain on Paste Replace
- (Usage unknown, possibly not a valid option)
Buttons
- Attribute
- Displays a Menu of Options
- Show References
- Displays a References list showing (if relevant): Source Object; Location; Modified Flag; Reference; Routine Line Number; Routine Operation. Right Click on a Source to switch to that object's panel and have it highlighted by a flashing box.
- Add View
- Adds a View of this Attribute to the currently visible Panel.
- Remove
- Deletes the Attribute.
- Warns if any references exist for this Attribute.
Routine Attributes
- Main article: Routine AttributeThese attributes are private to a Routine. They can be edited and formatted just as for Portal and other attributes. Routine attributes get set to the initial (edit) value whenever the routine is invoked.
System Attributes
- Main article: System AttributeSystem Attributes provide a way to access many important numeric and text parameters provided by the Planimate® platform. They are accessed using references beginning with "s." such as s.Clock. They are often used in routine code but can also be used anywhere a data reference is used, such as in numerical distributions and parameters to objects.
This page was automatically generated using Planimate 8.99.3. Do not edit the content below.
Time
Attributes related to simulation time within the model, the computer system clock and timers.
AdvanceToTime
Type | Value |
Access | Read/Write |
Need Item | No |
Setting this to a time in the future (ie: greater than s.Clock) will cause the engine to rapidly advance the model without animation. Setting it to s.Clock will stop any advance.
Clock
Type | Value |
Access | Read Only |
Need Item | No |
Current simulated time in seconds. Starts at zero for a run.
ClockDayCount
Type | Value |
Access | Read Only |
Need Item | No |
Days elapsed at the current simulation time (starts at 1).
ClockDayOfMonth
Type | Value |
Access | Read Only |
Need Item | No |
Day of month of the current simulated time (1..31) for calendar time mode only.
ClockDayOfWeek
Type | Value |
Access | Read Only |
Need Item | No |
Day of week of the current simulation time (1..7). In calendar time mode, 1 = Sunday.
ClockDaysInMonth
Type | Value |
Access | Read Only |
Need Item | No |
Days in the month of the current simulation time (28..31) for calendar mode only.
ClockHourOfDay
Type | Value |
Access | Read Only |
Need Item | No |
Hour within the current simulated day, 0..23
ClockHourOfDay_1
Type | Value |
Access | Read Only |
Need Item | No |
Hour within the current simulated day plus 1, 1..24, useful as a table index.
ClockMonthCount
Type | Value |
Access | Read Only |
Need Item | No |
Months elapsed at the current simulation time (starts at 1). In relative time mode, 30 days a month is used.
ClockMonthOfYear
Type | Value |
Access | Read Only |
Need Item | No |
Month of year of the current simulation time (1..12) for calendar time mode only.
ClockTimeOfDay
Type | Value |
Access | Read Only |
Need Item | No |
Time within the current simulated day, in seconds since midnight of the day.
ClockWeekCount
Type | Value |
Access | Read Only |
Need Item | No |
Weeks elapsed at the current simulation time (starts at 1).
ClockWeekOfYear
Type | Value |
Access | Read Only |
Need Item | No |
Week of year of the current simulation time (1..52) for calendar time mode only.
ClockYear
Type | Value |
Access | Read Only |
Need Item | No |
Year of the current simulation time (calendar time mode only).
RunEndTime
Type | Value |
Access | Read/Write |
Need Item | No |
The time at which to force an end the current run.
RunInRealTime
Type | Value |
Access | Read/Write |
Need Item | No |
Controls the real-time run mode of the engine, where the simulation clock is stepped along system real time clock. A 'continue' message occurs silently twice a second to process events.
RunStartTimeReference
Type | Value |
Access | Read/Write |
Need Item | No |
For calendar time mode models, this enables the run start date to be changed. A change will force a restart of a model, so use with care. A new calendar datetime is specified as an offset in seconds to the currently active model run start date.
SystemMultimediaTimer
Type | Value |
Access | Read Only |
Need Item | No |
Returns a millisecond level counter in the operating system. This is useful for profiling. Not this wraps after reaching 2^32 (about every 50 days).
SystemRealTime
Type | Value |
Access | Read Only |
Need Item | No |
The real date/time as reported by the computer. This is represented as the offset in seconds to the model's run start date. Requires the Time Field Format is set to Actual Calendar Times.
SystemRealTimeOfDay
Type | Value |
Access | Read Only |
Need Item | No |
The real time of day in seconds since midnight, as read from the computers's real time clock.
TimeZoneCorrectionMIN
Type | Value |
Access | Read/Write |
Need Item | No |
Offset in minutes to calendar times. Useful when UTC is used and you want to display/input times in a dynamic region, leaving the internal values as UTC, eg: +600 displays UTC dates in Brisbane time.
Item
Predefined properties specific to the item triggering routine code or references to data. These are separate to modeller defined item attributes.
FollowLimit
Type | Value |
Access | Read/Write |
Need Item | No |
Limits follow broadcasts, modeller must explicitly set this to a non-zero value to receive subsequent follow broadcasts.
ItemActAsCarrier
Type | Value |
Access | Read/Write |
Need Item | Yes |
If this is set non zero, an item takes the role of a carrier at a pick up or drop off object.
ItemClassInfoHide
Type | Value |
Access | Read/Write |
Need Item | Yes |
Hides all item info panels for the current item's class.
ItemClassScale
Type | Value |
Access | Read/Write |
Need Item | Yes |
A percentage value that sets an overall scaling of item icons for the current item's class.
ItemDelayLeft
Type | Value |
Access | Read/Write |
Need Item | Yes |
Delay remaining for item in a delay. This should be set before using a Throw Exit to remotely place an item. Only set this AFTER setting s.ItemTotalDelay.
ItemFollow
Type | Value |
Access | Read/Write |
Need Item | Yes |
When this is set non zero, the item's position is broadcast (FollowItem broadcast) as it moves.
ItemID
Type | Value |
Access | Read Only |
Need Item | Yes |
Unique ID for the current item in a run, starts at 0.
ItemLinkRoad
Type | Value |
Access | Read/Write |
Need Item | Yes |
The road on a spatial link an item will use.
ItemLocation
Type | Value |
Access | Read/Write |
Need Item | Yes |
Index of the location an item is in (_Model_Objects list). Set this to the target before using a Throw Exit.
ItemLocationDetail
Type | Value |
Access | Read/Write |
Need Item | Yes |
This is used as a counter when sending broadcasts or iterating messages over carried items.
ItemOwningItemID
Type | Value |
Access | Read Only |
Need Item | Yes |
The item ID of the original item when the current item is a message item or -1 if no associated owner.
ItemPriority
Type | Value |
Access | Read/Write |
Need Item | Yes |
Priority value, used some dispatcher queue modes.
ItemRotation
Type | Value |
Access | Read/Write |
Need Item | Yes |
Rotation in degrees of item icon.
ItemRouteSectionID
Type | Value |
Access | Read Only |
Need Item | Yes |
For a train item which is on a route, this returns the section object label index that the train would take if it went through a portal exit. Returns 0 if the section has no object index or if a viable section could not be found. Note the section is not tested for availability.
ItemsCarried
Type | Value |
Access | Read Only |
Need Item | Yes |
Number of Items an item is carrying (eg: due to Pick Up object).
ItemShowInfoPanel
Type | Value |
Access | Read/Write |
Need Item | Yes |
Enables the item's Info Panel to be hidden/shown on an item by item basis.
ItemTotalDelay
Type | Value |
Access | Read/Write |
Need Item | Yes |
Total delay an item will experience in a delay. This should be set before using a Throw Exit to remotely place an item.
ItemTraceAnimation
Type | Value |
Access | Read/Write |
Need Item | Yes |
Enables tracing movement of this item as it traverses flows on different panels.
ItemTransitDistance
Type | Value |
Access | Read/Write |
Need Item | Yes |
This is set when an item first enters a spatial link after a spatial link target is set. It is the total distance to the specified target, the sum of all link costs which by default are computed based on the pixel length of the link lines.
ItemTransitTarget
Type | Value |
Access | Read/Write |
Need Item | Yes |
This reads or sets the destination for an item about to enter a spatial link. You can use SetItemLinkTarget() to set this and the transit time.
ItemTransitTime
Type | Value |
Access | Read/Write |
Need Item | Yes |
This reads or sets the total travel time to the target location for an item about to enter a spatial link. SetItemLinkTarget() sets this and the target object.
ItemTransparency
Type | Value |
Access | Read/Write |
Need Item | Yes |
Transparency (0..255, 255 is opaque) of item icon.
Item Animation
Item properties that control how a specific item appears and animates.
ItemImageTimeStepMS
Type | Value |
Access | Read/Write |
Need Item | Yes |
Controls how stepping through multiple images (for multi-icons like GIF or name@01,name@02 notation) is affected by the passing of actual time. This value is in milliseconds and enables an icon to change regardless of how fast it is moving.
ItemImageXStep
Type | Value |
Access | Read/Write |
Need Item | Yes |
Controls how stepping through multiple images is performed (for multi-icons like GIF or name@01,name@02 notation. For a non zero value, the x co-ordiante divided by the value is used to index an image, eg: a value of 8 changes the image every 8 screen pixels the item moves.
ItemImageYStep
Type | Value |
Access | Read/Write |
Need Item | Yes |
Controls how stepping through multiple images is performed (for multi-icons like GIF or name@01,name@02 notation. For a non zero value, the y co-ordiante divided by the value is used to index an image as the item moves.
ItemXScale
Type | Value |
Access | Read/Write |
Need Item | Yes |
Enables scaling of an item's icon in the X axis. This is a percentage, the default value of 100 is no scaling.
ItemYScale
Type | Value |
Access | Read/Write |
Need Item | Yes |
Enables scaling of an item's icon in the y axis. This is a percentage, the default value of 100 is no scaling.
Track
Track related properties specific to a train item, including automatically logged values and control over road allocation.
ItemLength
Type | Value |
Access | Read/Write |
Need Item | Yes |
Length value of the item, used with track models where length is used instead of loop delays.
ItemRouteDir
Type | Value |
Access | Read/Write |
Need Item | Yes |
Direction of a train item along a track, Forward (1) or Reverse (2).
ItemRouteID
Type | Value |
Access | Read/Write |
Need Item | Yes |
Route ID when item has been assigned a globally defined track/rail route.
ItemRouteLocationID
Type | Value |
Access | Read Only |
Need Item | Yes |
The object index (_Model_Objects list) of the next location specified by the train item's route.
ItemRouteSectionRoad
Type | Value |
Access | Read Only |
Need Item | Yes |
Enables a location to determine which road within a section a train has been assigned to.
ItemRouteStep
Type | Value |
Access | Read/Write |
Need Item | Yes |
Track route step number (from 1), Always indicates the next location when the item is at a portal.
ItemRouteStepCount
Type | Value |
Access | Read Only |
Need Item | Yes |
The number of steps in the current route of an item on a track network.
ItemTrackForwardColumn
Type | Value |
Access | Read/Write |
Need Item | Yes |
This sets the column that is used to look up a train's forward direction section running time. It needs to be set for each new train.
ItemTrackReverseColumn
Type | Value |
Access | Read/Write |
Need Item | Yes |
This sets the column that is used to look up a train's reverse direction section running time. It needs to be set for each new train.
ItemTrailColor
Type | Value |
Access | Read/Write |
Need Item | Yes |
Colour of the trail used to represent a train's length.
ItemTrailWidth
Type | Value |
Access | Read/Write |
Need Item | Yes |
Width of the trail line used to represent a train's length.
LookThroughBlock
Type | Value |
Access | Read Only |
Need Item | Yes |
Set non zero at the time a multi-server's delay time is evaluated if the look-through option is enabled and the entering item would be blocked from leaving the multi-server. This can be used to extend the delay time.
LoopDelayOverride
Type | Value |
Access | Read/Write |
Need Item | No |
Enables a model to override the track portal loop delay testing/assignment (when an item performs a TestEnter on a portal exit leading up to the track). It is useful when advanced lookahead is used in evaluating possible train routes. Planimate will revert any changes made to this attribute during lookahead. Ensure any 'Move' code does not leave this attribute in a non-zero value or portal loop delays will fail.
MultiServerLookThrough
Type | Value |
Access | Read Only |
Need Item | No |
Set if a multi-server is performing a look-through (lookahead past itself as an item enters it.
RouteTestRow
Type | Value |
Access | Read Only |
Need Item | No |
The row of a Route Selection table that is being tested. Useful when the Change Route multiple test capability is being used. This value is set only during lookahead for Change Objects immediately downstream of the object testing the routes. Otherwise this value should not be relied upon for any purpose.
TrackFillStepError
Type | Text |
Access | Read Only |
Need Item | No |
Textual description of any last track fill step error, after FillRouteStep() or CreateRoute().
TrackLastSectionID
Type | Value |
Access | Read Only |
Need Item | Yes |
The _Model_Objects index of the last section the train entered. This is also set during lookahead so a node can determine the section the train item will potentially arrive from.
TrackLastSectionRoad
Type | Value |
Access | Read Only |
Need Item | Yes |
The road number a train used on the section it last exitted.
TrackLineWidth
Type | Value |
Access | Read/Write |
Need Item | No |
The line width of track lines.
TrackLoopEntryEnd
Type | Value |
Access | Read Only |
Need Item | Yes |
This is the time that the train completed arrival at a location. If the Portal Option 'Track:Does Loop Delays' is set, but there was no entry delay, this time will be the same as the TrackLoopEntryStart time.
TrackLoopEntryStart
Type | Value |
Access | Read Only |
Need Item | Yes |
This is the time that a train arrived at a location. If the Portal Option 'Track:Does Loop Delays' is set, and a loop entry delay was required, this is the start time of the loop entry delay period. During the Loop Entry Delay period, the section remains unavailable and the train cannot begin to leave the Portal.
TrackLoopExitEnd
Type | Value |
Access | Read Only |
Need Item | Yes |
This is the time that a train actually began to move in the previous section (after it completed its Loop Exit Delay). If the Portal Option 'Track:Does Loop Delays' is set, but there is no exit delay, this time will be the same as the TrackLoopExitStart time.
TrackLoopExitStart
Type | Value |
Access | Read Only |
Need Item | Yes |
This is the time that a train began to leave the previous location. If the portal Option 'Track:Does Loop Delays' is set and a loop exit delay was required, this is the start time of the loop exit delay.
TrackRoadSpacing
Type | Value |
Access | Read/Write |
Need Item | No |
The spacing between track roads, in pixels.
TrackSectionNominalTime
Type | Value |
Access | Read Only |
Need Item | Yes |
The nominal running time for the Track section that the train last used. This may different to the actual running time which could be modified by section restrictions.
TrainTailData1
Type | Value |
Access | Read/Write |
Need Item | Yes |
Data set here at a location will be broadcast to the current location in item attribute _taildata1 when the tail of the train enters it.
TrainTailData2
Type | Value |
Access | Read/Write |
Need Item | Yes |
Data set here at a location will be broadcast to the current location in item attribute _taildata2 when the tail of the train enters it.
TrainTailData3
Type | Value |
Access | Read/Write |
Need Item | Yes |
Data set here at a location will be broadcast to the current location in item attribute _taildata3 when the tail of the train enters it.
TrainTailData4
Type | Value |
Access | Read/Write |
Need Item | Yes |
Data set here at a location will be broadcast to the current location in item attribute _taildata4 when the tail of the train enters it.
Owning Portal
These enable code in a sub-system to access properties of the portal owning that sub-system which is particularly useful when those portals are nodes or locations on a network. They work by proximity in the hierarchy and do not require use of an object label.
CurrentPanelStatus
Type | Value |
Access | Read/Write |
Need Item | No |
The object state of the portal owning the panel on which this attribute is referenced. The portal doesn't need an object label but it must be configured for custom states.
CurrentPortalHeight
Type | Value |
Access | Read Only |
Need Item | No |
The height in pixels of the owning portal's current icon.
CurrentPortalWidth
Type | Value |
Access | Read Only |
Need Item | No |
The width in pixels of the owning portal's current icon.
CurrentPortalX
Type | Value |
Access | Read/Write |
Need Item | No |
X position (in panel co-ordinates) of the owning portal to the panel where this executes. Does not require an object label.
CurrentPortalXScale
Type | Value |
Access | Read/Write |
Need Item | No |
Percentage scaling to apply to the owning portal's width, normally 100.
CurrentPortalY
Type | Value |
Access | Read/Write |
Need Item | No |
Y position (in panel co-ordinates) of the owning portal to the panel where this executes. Does not require an object label.
CurrentPortalYScale
Type | Value |
Access | Read/Write |
Need Item | No |
Percentage scaling to apply to the owning portal's height, normally 100.
OwningPortalLocation
Type | Value |
Access | Read Only |
Need Item | No |
The object index (_Model_Objects list) of the first portal above the object executing this in the hierarchy that has an object label in the _Model Objects Label List. Typically this is a location on a map.
Strings
These are text formatted attributes, useful with string assignment ($=) and string operations such as strfind().
DatasetFileAndPath
Type | Text |
Access | Read Only |
Need Item | No |
File path and name the modeller last passed to SetLastDatasetFile().
DataSetName
Type | Text |
Access | Read Only |
Need Item | No |
Name of file modeller last passed to SetLastDatasetFile().
LastAccessedDataFile
Type | Text |
Access | Read Only |
Need Item | No |
Stores the last file read/written in file operations.
LastAccessedDataFilePath
Type | Text |
Access | Read Only |
Need Item | No |
Stores last path/filename read/written in file operations.
LastErrorFileNamePath
Type | Text |
Access | Read Only |
Need Item | No |
Path of last file where Ctrl-V paste errors were logged.
LastLockFileError
Type | Text |
Access | Read Only |
Need Item | No |
Text giving detail on a failed AcquireFileLock().
LoadFileNamePath
Type | Text |
Access | Read/Write |
Need Item | No |
Path of /DATASET command line parameter or any file name parameter (eg: via a file association) for a compiled application.
LocalComputerName
Type | Text |
Access | Read Only |
Need Item | No |
Network name of the computer the model is running on.
ModelName
Type | Text |
Access | Read Only |
Need Item | No |
Name of the model.
UseLocale
Type | Value |
Access | Read/Write |
Need Item | No |
Determines if internationalisation is used when comparing strings. This handles proper comparison of non English languages but is much slower.
UserName
Type | Text |
Access | Read Only |
Need Item | No |
The name of the user, eg: 'John Smith'. This name is not necessarily unique. Only supported in domain environments.
UserNameCanonical
Type | Text |
Access | Read Only |
Need Item | No |
The name of the user in canonical format as used on domains, eg: 'somewhere.com/sales/jsmith'. Only supported in domain environments.
UserNameNTCompatible
Type | Text |
Access | Read Only |
Need Item | No |
Retrieves the name of the user in the older NT compatible format.
UserNameQualified
Type | Text |
Access | Read Only |
Need Item | No |
Retrieves a comma delimited list of attributes and values that uniquely define the user, eg: 'CN=John Smith, OU=sales, DC=somewhere, DC=com'. Only supported in domain environments.
Run Engine
These provide information and control over the Planimate simulation engine.
ActiveBroadcastIndex
Type | Value |
Access | Read Only |
Need Item | No |
Returns the _Broadcasts label list index of a currently active broadcast or 0 if none active.
AdvancingToTime
Type | Value |
Access | Read Only |
Need Item | No |
This is non zero whilst Planimate is advancing to time without animation.
AnimationStartingMessage
Type | Value |
Access | Read/Write |
Need Item | No |
Sets option that determines whether 'Animation Starting' dialogs are displayed after a run advance.
AutoRestartAfterError
Type | Value |
Access | Read/Write |
Need Item | No |
Setting this causes the engine to restart a run after a model error. Requires option 'Restart When Model Stops' to be enabled. Dependence on this should be avoided. Does not work if 'Friendly Error Messages' is enabled. The usual model error dialog appears for 10 seconds then if no interaction, the model restarts. Use s.LastRunStopReason if relying on restarts.
BatchRun
Type | Value |
Access | Read Only |
Need Item | No |
This is non-zero if running in batch mode (no UI possible).
CancelClose
Type | Value |
Access | Read/Write |
Need Item | No |
Set to cancel a previous stop run/close, as may have been triggered by a stop exit.
ContinueCurrentTimeOnly
Type | Value |
Access | Write Only |
Need Item | No |
Set non-zero during a broadcast to Continue the run and pause after all events at the current time have been processed. Useful with the low priority zero delay multiserver option.
ContinueRun
Type | Value |
Access | Read/Write |
Need Item | No |
Setting this non zero during the processing of a broadcast from a button press will cause the simulation to continue instead of pausing after the broadcast item completes.
DisableColumnRefUpdates
Type | Value |
Access | Read/Write |
Need Item | No |
Set this non-zero to disable automatic updates of column references when a large number of labelled table columns are added or removed.
DisableUndo
Type | Value |
Access | Read/Write |
Need Item | No |
Setting this non-zero during lookahead disables the revert mechanism that normally occurs when a routine is executed during lookahead (before the item actually moves). Once set, attributes and tables altered during lookahead will not be reverted. This value must be reset before the routine finishes. Modified data does not initiate dependency unblocks. For advanced routing use only.
DoingTrackCheckNext
Type | Value |
Access | Read Only |
Need Item | No |
This is set non-zero whilst a track capacity lookahead is being performed. Track locations use this to respond to requests for capacity, typically by presenting capacity (allow), a block (deny) or deferring to another object via a portal exit.
DS2LoadObjectLabelByIndex
Type | Value |
Access | Read/Write |
Need Item | No |
If set, DataSet2 loads will use the index of labels in lists instead of matching the text of attributes and columns formatted as label lists.
FECFrontEvents
Type | Value |
Access | Read Only |
Need Item | No |
How many events pending on the FEC at the current time.
FECFutureEvents
Type | Value |
Access | Read Only |
Need Item | No |
How many events pending on the FEC at future times.
HaveCurrentPendingEvents
Type | Value |
Access | Read Only |
Need Item | No |
Is non-zero if the FEC has any events scheduled to occur at the current time. This can indicate unfinished dependencies that have yet to be processed. Modellers may want to use this to avoid new actions in some cases.
LastRunStopReason
Type | Value |
Access | Read Only |
Need Item | No |
Reason code (from _stop_reasons list) why the run engine last stopped. Useful in handling restarts and model loaded conditions as not yet run is a reported reason.
LastRunStopTime
Type | Value |
Access | Read Only |
Need Item | No |
The clock value at the time the engine was last stopped.
ModelNeedsSaving
Type | Value |
Access | Read/Write |
Need Item | No |
This is the changed flag for a model, a modeller can reset it. This is not used for compiled applications.
MultipleRunCount
Type | Value |
Access | Read Only |
Need Item | No |
Zero for a normal run or the number of runs for a multiple run.
PauseAfterAdvance
Type | Value |
Access | Read/Write |
Need Item | No |
Set this to a non-zero value to make the run engine pause after an advance-to-time is performed.
Planimate64
Type | Value |
Access | Read Only |
Need Item | No |
This is non zero if running a 64 bit version of Planimate.
RandomSeedImmediate
Type | Value |
Access | Read/Write |
Need Item | No |
Enables reinitialisation of random generator seeds without having to restart the engine.
RandomSeedOnRestart
Type | Value |
Access | Read/Write |
Need Item | No |
Sets the random seed for the NEXT run, used when a run restart dispatcher is used.
RealTimeBCInEvent
Type | Value |
Access | Read/Write |
Need Item | No |
Controls if a real time broadcast is processed whilst another event is being processed.
Rnd01
Type | Value |
Access | Read Only |
Need Item | No |
A uniformly distributed random balue from 0..1 for use in the distribution pattern dialog. This is useful when creating custom distributions, calling DLLs etc.
RoutineInLookahead
Type | Value |
Access | Read Only |
Need Item | No |
This is non zero if a routine is being executed in look-ahead, before an item actually moves. For very special cases only. This is always set for messages sent in lookahead.
RunNumber
Type | Value |
Access | Read Only |
Need Item | No |
Run number when multiple runs are performed, starts at 1.
TestNumber
Type | Value |
Access | Read Only |
Need Item | No |
This is non zero when running with /TESTRUN. Multiple tests for a given model (in TESTS.CSV for the test suite scripts) use increasing values startng at 1.
TestResult
Type | Value |
Access | Read/Write |
Need Item | No |
A model undergoing a test must set this to a value from l._test_results to report success or failure. Not setting this value is a failure of the test.
TestTarget
Type | Text |
Access | Read Only |
Need Item | No |
A string a model can compare against for a successful test run, typically a SHA256 hash of key output tables.
UserMode
Type | Value |
Access | Read Only |
Need Item | No |
This is non-zero if the editing tools are unavailable (ie: the system is in user mode or a compiled EXE).
Display/Mouse
These control display, animation and give access to the mouse co-ordinates.
ActivityBarColour
Type | Value |
Access | Read/Write |
Need Item | No |
Colour of the activity state bar in the status bar. This is either a colour index or an ARGB value.
ActivityState
Type | Value |
Access | Read/Write |
Need Item | No |
This controls a horizontal bar in the status bar which can be used to indicate progress. A value from 0..100 controls the proportion of the bar that is filled. A value of 0 removes the bar. It is auto-zeroed at the start and end of a run. As this updates even when fast-advancing without animation, avoid setting this too often to avoid impacting the run time.
ActivityState0_1
Type | Value |
Access | Read/Write |
Need Item | No |
This is like s.ActivityState except a value from 0 to 1 controls the bar. As with s.ActivityState, do not set too often if advance to time performance is important.
AnimationUpdateInterval
Type | Value |
Access | Read/Write |
Need Item | No |
Determines how often (in model time) animation updates occur, 0 prevents animation updates except when items enter or leave an object. USeful with spatial networks and tracks.
CurrentPanelVisible
Type | Value |
Access | Read/Write |
Need Item | No |
On read it returns non zero if the panel where the read is executed is visible. If a non zero value is written, the owning panel is made the active panel in the main window.
EnableRepaintBC
Type | Value |
Access | Read/Write |
Need Item | No |
Set this to a non-zero value to receive a _Panel_Repainted broadcast. This is automatically reset after sent.
EnableTableCellEdit
Type | Value |
Access | Read/Write |
Need Item | No |
Setting this non-zero in a 'before edit' table cell click broadcast enables the default cell click edit to occur. This is automatically reset. The table view option Don't Defer BC on FEC' must be enabled and the broadcast handler must not change panel.
GanttDragAlpha
Type | Value |
Access | Read/Write |
Need Item | No |
Alpha intensity of a dragged gantt block (0..255).
GanttDragIntensity
Type | Value |
Access | Read/Write |
Need Item | No |
Brightness of a dragged gantt block (0..255).
ItemAnimateSpeed
Type | Value |
Access | Read/Write |
Need Item | No |
Sets the Animation Speed value which controls how fast items move on paths between objects.
LockDrawing
Type | Value |
Access | Read/Write |
Need Item | No |
Set non zero to block updates to the window. You may need to force a repaint when resetting this value to ensure the window is properly updated.
LockPortalDrag
Type | Value |
Access | Read/Write |
Need Item | No |
Enables the modeller to enable/disable dragging of portals by end users. Used in conjunction with portal specific options to enable dragging.
MouseDownX
Type | Value |
Access | Read Only |
Need Item | No |
Panel x co-ordinate where a mouse down occured. The mouse may have moved since.
MouseDownY
Type | Value |
Access | Read Only |
Need Item | No |
Panel y co-ordinate where a mouse down occured. Mouse may have moved since.
MouseX
Type | Value |
Access | Read Only |
Need Item | No |
Returns the current mouse X position in panel co-ordinates.
MouseXOwner
Type | Value |
Access | Read Only |
Need Item | No |
The current mouse x co-ordinate in co-ordinates of the first visible panel which owns the panel where this executes.
MouseXWindow
Type | Value |
Access | Read Only |
Need Item | No |
The current mouse x position in Windows screen co-ordinates..
MouseY
Type | Value |
Access | Read Only |
Need Item | No |
Returns the current Mouse Y position in panel co-ordinates.
MouseYOwner
Type | Value |
Access | Read Only |
Need Item | No |
The current mouse y co-ordinate in co-ordinates of the first visible panel which owns the panel where this executes.
MouseYWindow
Type | Value |
Access | Read Only |
Need Item | No |
The current mouse y position in Windows screen co-ordinates..
PanelOwnerVisible
Type | Value |
Access | Read Only |
Need Item | No |
Non zero if the the panel containing the current panel executing this operation is visible.
TimeScaling
Type | Value |
Access | Read/Write |
Need Item | No |
Sets the Real Time Scaling value which causes delays in a model to be reflected as delays in real time.
TraceAnimation
Type | Value |
Access | Read/Write |
Need Item | No |
Set to 1/0 to enable/disable the Trace Animation debugging option, where all items are followed as they move between panels.
VisiblePanelID
Type | Value |
Access | Read Only |
Need Item | No |
The _Model_Panels index of the panel in the main window. This is superceded by s.VisiblePortalIndex.
VisiblePortalIndex
Type | Value |
Access | Read Only |
Need Item | No |
Returns the owning portal index (_Model_Objects list) of the owning portal of the current panel, or 0 for the top level panel. If no owning portal index is assigned, it returns -1.
Referenced Table
These give properties of a table referenced elsewhere in a routine operation without having to re-specify the table.
DataErrorColumn
Type | Value |
Access | Read Only |
Need Item | No |
Set when ReadFromFile() encounters an error to the first error row.
DataErrorRow
Type | Value |
Access | Read Only |
Need Item | No |
Set when ReadFromFile() encounters an error to the first error row.
TableColumns
Type | Value |
Access | Read Only |
Need Item | No |
Number of columns in a table being referenced in an operation.
TableRows
Type | Value |
Access | Read Only |
Need Item | No |
Number of rows in a table being referenced in an operation.
Other
Miscellaneous other system attributes.r
BendPointIcon
Type | Text |
Access | Read/Write |
Need Item | No |
Name of icon to use for bendpoints instead of the default bend point cross.
BendPointSize
Type | Value |
Access | Read/Write |
Need Item | No |
Pixel width/height of the default bend point cross.
ButtonPaintID
Type | Value |
Access | Read Only |
Need Item | No |
Set while a paint object checks its visibility/state attribute reference. If the object is in the _Paint_Objects label list, it can be used to assist in looking up visibility for that paint object.
CPUID
Type | Value |
Access | Read Only |
Need Item | No |
A value identifying the type and revision of the CPU. This is not a unique identifier as modern cpus do not support this.
CurrentObjectLocation
Type | Value |
Access | Read Only |
Need Item | No |
Index of the location of the object triggering this. Does not require an item.
EnableDebugLogger
Type | Value |
Access | Read/Write |
Need Item | No |
Enable the event logger/debugger system. This is useful where a modeller wants to start logging in a specific condition.
JobID
Type | Value |
Access | Read Only |
Need Item | No |
This gives access to the string passed using the command line /JobID option.
KeyDate
Type | Value |
Access | Read Only |
Need Item | No |
The date (based on the run calendar time reference) that the active key file was created.
KeyFlags
Type | Value |
Access | Read Only |
Need Item | No |
key bits for the current license keys, BitAnd with 7 for custom PBA sub-code.
KeyName
Type | Text |
Access | Read Only |
Need Item | No |
The user name for the active key file.
KeyOrg
Type | Text |
Access | Read Only |
Need Item | No |
The organisation name for the active key file.
KeySerial
Type | Value |
Access | Read Only |
Need Item | No |
The serial number of the active key file.
LineTestMargin
Type | Value |
Access | Read/Write |
Need Item | No |
Threshold used to detect clicks near lines (eg: spatial links).
NullAttribute
Type | Value |
Access | Read/Write |
Need Item | No |
A null location enabling data to be ignored, typically used for return results. Some operations report errors instead of returning the error code if their target is this.
ODBCErrorStatus
Type | Value |
Access | Read Only |
Need Item | No |
ODBC operations have an option to not stop the run on error. A non zero value indicates an error in the most recent ODBC operation. This must be read immediately after code that performs the ODBC operation.
PBA
Type | Value |
Access | Read Only |
Need Item | No |
Is non-zero if running as a compiled exe.
PipeTableRow
Type | Value |
Access | Read Only |
Need Item | No |
Pipe table row for use with pipe properties only. Enables a pipe to reference its own configuration row within its properties.
PrintOrientation
Type | Value |
Access | Read/Write |
Need Item | No |
Enables setting the page orientation before a print. Use a value from the _print_orientation label list. The value is set to the actual orientation after a printout.
PrintPaperSize
Type | Value |
Access | Read/Write |
Need Item | No |
Enables setting the paper size for printing. Use a value from the _print_papersize label list. The vlaue is set to the actual paper size code after a printout.
RuntimeBreakPointControl
Type | Value |
Access | Read/Write |
Need Item | No |
Provides control of any breakpoint(s) in the model. This works in addition to modeller defined breakpoint control conditions, and is useful where a remote condition determiens whether existing breakpoints in the code should be active.
SpatialLinkScanDepth
Type | Value |
Access | Read/Write |
Need Item | No |
Limits how deep the engine will scan a spatial link network looking for the closest route to the target. This value is not saved with the model. The default is not to limit the search which may create problems with dense complex networks. This only impacts animation, not simulation result as the time to target is explicitly set.
SystemID
Type | Value |
Access | Read Only |
Need Item | No |
The Volume Serial Number of the drive containing the Windows system32 directory. It may be useful in determining a unique installation ID but remember users can set the volume serial number of a drive.
TotalObjectLabelCount
Type | Value |
Access | Read Only |
Need Item | No |
This returns the number of objects which have labels registered in the _Model_Objects label list.
UserEditedData
Type | Value |
Access | Read/Write |
Need Item | No |
Set non zero when a user edits an attribute view or table view/editor. The modeller can reset this. Is reset when the model is saved. Tables and Attribute Views have a Track Changes option to not set this when they are edited.