System Attribute: Difference between revisions

From Planimate Knowledge Base
Jump to navigation Jump to search
No edit summary
No edit summary
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== System Attributes ==
System 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.


<onlyinclude>
This page was automatically generated using Planimate 8.99.3. Do not edit the content below.
System Attributes are where Planimate® manages various attributes to run the model.  


These attributes (e.g. the clock time), may be referenced. In some cases they may be set by the modeller in a Routine.
== Time ==


</onlyinclude>
Attributes related to simulation time within the model, the computer system clock and timers.


=== Uses for System Attributes  ===
=== AdvanceToTime ===
{|class="wikitable"
| 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.


System Attributes are always available.  
=== Clock ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
Current simulated time in seconds. Starts at zero for a run.


You can derive information about time spent in various states or regions of the model.  
=== ClockDayCount ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
Days elapsed at the current simulation time (starts at 1).


They give access to time variables useful in developing or monitoring schedules of activity.  
=== ClockDayOfMonth ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
Day of month of the current simulated time (1..31) for calendar time mode only.


== Time-Related System Attributes ==
=== ClockDayOfWeek ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
Day of week of the current simulation time (1..7). In calendar time mode, 1 = Sunday.


{{Breakout|Time-Related System Attributes}}
=== ClockDaysInMonth ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
Days in the month of the current simulation time (28..31) for calendar mode only.


*[[Time-Related System Attributes#AdvanceToTime|AdvanceToTime]]
=== ClockHourOfDay ===
*[[Time-Related System Attributes#Clock|Clock]]
{|class="wikitable"
*[[Time-Related System Attributes#ClockDayCount|ClockDayCount]]
| Type || Value
*[[Time-Related System Attributes#ClockDayOfMonth|ClockDayOfMonth]]
|-
*[[Time-Related System Attributes#ClockDayOfWeek|ClockDayOfWeek]]
| Access || Read Only
*[[Time-Related System Attributes#ClockDaysInMonth|ClockDaysInMonth]]
|-
*[[Time-Related System Attributes#ClockHourOfDay|ClockHourOfDay]]
| Need Item || No
*[[Time-Related System Attributes#ClockHourOfDay_1|ClockHourOfDay_1]]
|}
*[[Time-Related System Attributes#ClockMonthCount|ClockMonthCount]]
Hour within the current simulated day, 0..23
*[[Time-Related System Attributes#ClockMonthOfYear|ClockMonthOfYear]]
*[[Time-Related System Attributes#ClockTimeOfDay|ClockTimeOfDay]]
*[[Time-Related System Attributes#ClockVisible|ClockVisible]]
*[[Time-Related System Attributes#ClockWeekCount|ClockWeekCount]]
*[[Time-Related System Attributes#ClockWeekOfYear|ClockWeekOfYear]]
*[[Time-Related System Attributes#ClockYear|ClockYear]]
*[[Time-Related System Attributes#RunInRealTime|RunInRealTime]]
*[[Time-Related System Attributes#RunStartTimeReference|RunStartTimeReference]]
*[[Time-Related System Attributes#SystemMultimediaTimer|SystemMultimediaTimer]]
*[[Time-Related System Attributes#SystemRealTime|SystemRealTime]]
*[[Time-Related System Attributes#SystemRealTimeOfDay|SystemRealTimeOfDay]]
*[[Time-Related System Attributes#TimeZoneCorrectionMIN|TimeZoneCorrectionMIN]]
== Item Related System Attributes ==


{{Breakout|Item Related System Attributes}}
=== ClockHourOfDay_1 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
Hour within the current simulated day plus 1, 1..24, useful as a table index.


*[[Item Related System Attributes#BroadcastReceivers|BroadcastReceivers]]
=== ClockMonthCount ===
*[[Item Related System Attributes#ItemActAsCarrier|ItemActAsCarrier]]
{|class="wikitable"
*[[Item Related System Attributes#ItemDelayLeft|ItemDelayLeft]]
| Type || Value
*[[Item Related System Attributes#ItemID|ItemID]]
|-
*[[Item Related System Attributes#ItemLocation|ItemLocation]]
| Access || Read Only
*[[Item Related System Attributes#ItemLocationDetail|ItemLocationDetail]]
|-
*[[Item Related System Attributes#ItemOwningItemID|ItemOwningItemID]]
| Need Item || No
*[[Item Related System Attributes#ItemPriority|ItemPriority]]
|}
*[[Item Related System Attributes#ItemsCarried|ItemsCarried]]
Months elapsed at the current simulation time (starts at 1). In relative time mode, 30 days a month is used.
*[[Item Related System Attributes#ItemShowInfoPanel|ItemShowInfoPanel]]
*[[Item Related System Attributes#ItemTotalDelay|ItemTotalDelay]]
*[[Item Related System Attributes#ItemTraceAnimation|ItemTraceAnimation]]
*[[Item Related System Attributes#ItemTransitDistance|ItemTransitDistance]]
*[[Item Related System Attributes#ItemTransitTarget|ItemTransitTarget]]
*[[Item Related System Attributes#ItemTransitTime|ItemTransitTime]]
== Item Animation Related System Attributes ==


{{Breakout|Item Animation Related System Attributes}}
=== ClockMonthOfYear ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
Month of year of the current simulation time (1..12) for calendar time mode only.


*[[Item Animation Related System Attributes#ItemImageTimeStepMS|ItemImageTimeStepMS]]
=== ClockTimeOfDay ===
*[[Item Animation Related System Attributes#ItemImageXStep|ItemImageXStep]]
{|class="wikitable"
*[[Item Animation Related System Attributes#ItemImageYStep|ItemImageYStep]]
| Type || Value
*[[Item Animation Related System Attributes#ItemXScale|ItemXScale]]
|-
*[[Item Animation Related System Attributes#ItemYScale|ItemYScale]]
| Access || Read Only
== Track-related System-Item Attributes ==
|-
| Need Item || No
|}
Time within the current simulated day, in seconds since midnight of the day.


{{Breakout|Track-related System-Item Attributes}}
=== ClockWeekCount ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
Weeks elapsed at the current simulation time (starts at 1).


*[[Track-related System-Item Attributes#ItemRouteDir|ItemRouteDir]]
=== ClockWeekOfYear ===
*[[Track-related System-Item Attributes#ItemRouteID|ItemRouteID]]
{|class="wikitable"
*[[Track-related System-Item Attributes#ItemRouteLocation|ItemRouteLocation]]
| Type || Value
*[[Track-related System-Item Attributes#ItemRouteStep|ItemRouteStep]]
|-
*[[Track-related System-Item Attributes#ItemRouteStepCount|ItemRouteStepCount]]
| Access || Read Only
*[[Track-related System-Item Attributes#ItemTrackForwardColumn|ItemTrackForwardColumn]]
|-
*[[Track-related System-Item Attributes#ItemTrackReverseColumn|ItemTrackReverseColumn]]
| Need Item || No
*[[Track-related System-Item Attributes#LoopDelayOverride|LoopDelayOverride]]
|}
*[[Track-related System-Item Attributes#RouteTestRow|RouteTestRow]]
Week of year of the current simulation time (1..52) for calendar time mode only.
*[[Track-related System-Item Attributes#TrackLastSectionId|TrackLastSectionId]]
*[[Track-related System-Item Attributes#TrackLastSectionRoad|TrackLastSectionRoad]]
*[[Track-related System-Item Attributes#TrackLoopEntryEnd|TrackLoopEntryEnd]]
*[[Track-related System-Item Attributes#TrackLoopEntryStart|TrackLoopEntryStart]]
*[[Track-related System-Item Attributes#TrackLoopExitEnd|TrackLoopExitEnd]]
*[[Track-related System-Item Attributes#TrackLoopExitStart|TrackLoopExitStart]]
*[[Track-related System-Item Attributes#TrackSectionNominalTime|TrackSectionNominalTime]]
== Owning Portal Object Related System Attributes ==


{{Breakout|Owning Portal Object Related System Attributes}}
=== ClockYear ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
Year of the current simulation time (calendar time mode only).


*[[Owning Portal Object Related System Attributes#CurrentPanelStatus|CurrentPanelStatus]]
=== RunEndTime ===
*[[Owning Portal Object Related System Attributes#CurrentPortalHeight|CurrentPortalHeight]]
{|class="wikitable"
*[[Owning Portal Object Related System Attributes#CurrentPortalWidth|CurrentPortalWidth]]
| Type || Value
*[[Owning Portal Object Related System Attributes#CurrentPortalX|CurrentPortalX]]
|-
*[[Owning Portal Object Related System Attributes#CurrentPortalXScale|CurrentPortalXScale]]
| Access || Read/Write
*[[Owning Portal Object Related System Attributes#CurrentPortalY|CurrentPortalY]]
|-
*[[Owning Portal Object Related System Attributes#CurrentPortalYScale|CurrentPortalYScale]]
| Need Item || No
*[[Owning Portal Object Related System Attributes#OwningPortalLocation|OwningPortalLocation]]
|}
== System String Related System Attributes ==
The time at which to force an end the current run.


{{Breakout|System String Related System Attributes}}
=== RunInRealTime ===
{|class="wikitable"
| 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.


*[[System String Related System Attributes#DatasetFileAndPath|DatasetFileAndPath]]
=== RunStartTimeReference ===
*[[System String Related System Attributes#LastAccessedDataFile|LastAccessedDataFile]]
{|class="wikitable"
*[[System String Related System Attributes#LastAccessedDataFilePath|LastAccessedDataFilePath]]
| Type || Value
*[[System String Related System Attributes#LastLockFileError|LastLockFileError]]
|-
*[[System String Related System Attributes#LocalComputerName|LocalComputerName]]
| Access || Read/Write
*[[System String Related System Attributes#ModelName|ModelName]]
|-
*[[System String Related System Attributes#ScenarioName|ScenarioName]]
| Need Item || No
== Model Run Engine Related System Attributes ==
|}
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.


{{Breakout|Model Run Engine Related System Attributes}}
=== SystemMultimediaTimer ===
{|class="wikitable"
| 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).


*[[Model Run Engine Related System Attributes#ActiveBroadcastIndex|ActiveBroadcastIndex]]
=== SystemRealTime ===
*[[Model Run Engine Related System Attributes#AnimationStartingMessage|AnimationStartingMessage]]
{|class="wikitable"
*[[Model Run Engine Related System Attributes#AutomaticRestartAfterError|AutomaticRestartAfterError]]
| Type || Value
*[[Model Run Engine Related System Attributes#BackgroundRun|BackgroundRun]]
|-
*[[Model Run Engine Related System Attributes#ContinueRun|ContinueRun]]
| Access || Read Only
*[[Model Run Engine Related System Attributes#DisableUndo|DisableUndo]]
|-
*[[Model Run Engine Related System Attributes#DoingTrackCheckNext|DoingTrackCheckNext]]
| Need Item || No
*[[Model Run Engine Related System Attributes#HandlingBroadcastOnly|HandlingBroadcastOnly]]
|}
*[[Model Run Engine Related System Attributes#HaveCurrentPendingEvents|HaveCurrentPendingEvents]]
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.
*[[Model Run Engine Related System Attributes#LastRunStopReason|LastRunStopReason]]
*[[Model Run Engine Related System Attributes#ModelNeedsSaving|ModelNeedsSaving]]
*[[Model Run Engine Related System Attributes#MultipleRunCount|MultipleRunCount]]
*[[Model Run Engine Related System Attributes#RandomSeedImmediate|RandomSeedImmediate]]
*[[Model Run Engine Related System Attributes#RandomSeedOnRestart|RandomSeedOnRestart]]
*[[Model Run Engine Related System Attributes#RealTimeTickEnable|RealTimeTickEnable]]
*[[Model Run Engine Related System Attributes#RoutineInLookahead|RoutineInLookahead]]
*[[Model Run Engine Related System Attributes#RunNumber|RunNumber]]
*[[Model Run Engine Related System Attributes#UserMode|UserMode]]
== Display Related System Attributes ==


{{Breakout|Display Related System Attributes}}
=== SystemRealTimeOfDay ===
{|class="wikitable"
| 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.


*[[Display Related System Attributes#ActivityBarColour|ActivityBarColour]]
=== TimeZoneCorrectionMIN ===
*[[Display Related System Attributes#ActivityState|ActivityState]]
{|class="wikitable"
*[[Display Related System Attributes#ActivityState0_1|ActivityState0_1]]
| Type || Value
*[[Display Related System Attributes#AnimationUpdateInterval|AnimationUpdateInterval]]
|-
*[[Display Related System Attributes#CurrentPanelVisible|CurrentPanelVisible]]
| Access || Read/Write
*[[Display Related System Attributes#EnableTableCellEdit|EnableTableCellEdit]]
|-
*[[Display Related System Attributes#ItemAnimateSpeed|ItemAnimateSpeed]]
| Need Item || No
*[[Display Related System Attributes#LockDrawing|LockDrawing]]
|}
*[[Display Related System Attributes#LockPortalDrag|LockPortalDrag]]
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.
*[[Display Related System Attributes#MouseX|MouseX]]
*[[Display Related System Attributes#MouseXPanel|MouseXPanel]]
*[[Display Related System Attributes#MouseY|MouseY]]
*[[Display Related System Attributes#MouseYPanel|MouseYPanel]]
*[[Display Related System Attributes#PanelOwnerVisible|PanelOwnerVisible]]
*[[Display Related System Attributes#TimerBroadcastIntervalMS|TimerBroadcastIntervalMS]]
*[[Display Related System Attributes#TimeScaling|TimeScaling]]
*[[Display Related System Attributes#TraceAnimation|TraceAnimation]]
*[[Display Related System Attributes#VisiblePanelID|VisiblePanelID]]
*[[Display Related System Attributes#VisiblePortalIndex|VisiblePortalIndex]]
== Table Related System Attributes ==


{{Breakout|Table Related System Attributes}}
== Item ==


*[[Table Related System Attributes#TableColumns|TableColumns]]
Predefined properties specific to the item triggering routine code or references to data. These are separate to modeller defined item attributes.
*[[Table Related System Attributes#TableRows|TableRows]]
== Other (General) System Attributes ==


{{Breakout|Other (General) System Attributes}}
=== FollowLimit ===
{|class="wikitable"
| 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.


*[[Other (General) System Attributes#ButtonPaintID|ButtonPaintID]]
=== ItemActAsCarrier ===
*[[Other (General) System Attributes#CPUID|CPUID]]
{|class="wikitable"
*[[Other (General) System Attributes#CurrentObjectLocation|CurrentObjectLocation]]
| Type || Value
*[[Other (General) System Attributes#JobID|JobID]]
|-
*[[Other (General) System Attributes#NullAttribute|NullAttribute]]
| Access || Read/Write
*[[Other (General) System Attributes#ODBCErrorStatus|ODBCErrorStatus]]
|-
*[[Other (General) System Attributes#RuntimeBreakPointControl|RuntimeBreakPointControl]]
| Need Item || Yes
*[[Other (General) System Attributes#SpatialLinkScanDepth|SpatialLinkScanDepth]]
|}
*[[Other (General) System Attributes#SystemID|SystemID]]
If this is set non zero, an item takes the role of a carrier at a pick up or drop off object.
*[[Other (General) System Attributes#TotalObjectLabelCount|TotalObjectLabelCount]]
 
*[[Other (General) System Attributes#UserEditedData|UserEditedData]]
=== ItemClassInfoHide ===
{|class="wikitable"
| Type || Value
|-
| Access || Read/Write
|-
| Need Item || Yes
|}
Hides all item info panels for the current item's class.
 
=== ItemClassScale ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || Yes
|}
Unique ID for the current item in a run, starts at 0.
 
=== ItemLinkRoad ===
{|class="wikitable"
| Type || Value
|-
| Access || Read/Write
|-
| Need Item || Yes
|}
The road on a spatial link an item will use.
 
=== ItemLocation ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read/Write
|-
| Need Item || Yes
|}
This is used as a counter when sending broadcasts or iterating messages over carried items.
 
=== ItemOwningItemID ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read/Write
|-
| Need Item || Yes
|}
Priority value, used some dispatcher queue modes.
 
=== ItemRotation ===
{|class="wikitable"
| Type || Value
|-
| Access || Read/Write
|-
| Need Item || Yes
|}
Rotation in degrees of item icon.
 
=== ItemRouteSectionID ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || Yes
|}
Number of Items an item is carrying (eg: due to Pick Up object).
 
=== ItemShowInfoPanel ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read/Write
|-
| Need Item || Yes
|}
Enables tracing movement of this item as it traverses flows on different panels.
 
=== ItemTransitDistance ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read/Write
|-
| Need Item || Yes
|}
Direction of a train item along a track, Forward (1) or Reverse (2).
 
=== ItemRouteID ===
{|class="wikitable"
| Type || Value
|-
| Access || Read/Write
|-
| Need Item || Yes
|}
Route ID when item has been assigned a globally defined track/rail route.
 
=== ItemRouteLocationID ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || Yes
|}
The number of steps in the current route of an item on a track network.
 
=== ItemTrackForwardColumn ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read/Write
|-
| Need Item || Yes
|}
Colour of the trail used to represent a train's length.
 
=== ItemTrailWidth ===
{|class="wikitable"
| Type || Value
|-
| Access || Read/Write
|-
| Need Item || Yes
|}
Width of the trail line used to represent a train's length.
 
=== LookThroughBlock ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Text
|-
| Access || Read Only
|-
| Need Item || No
|}
Textual description of any last track fill step error, after FillRouteStep() or CreateRoute().
 
=== TrackLastSectionID ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || Yes
|}
The road number a train used on the section it last exitted.
 
=== TrackLineWidth ===
{|class="wikitable"
| Type || Value
|-
| Access || Read/Write
|-
| Need Item || No
|}
The line width of track lines.
 
=== TrackLoopEntryEnd ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read/Write
|-
| Need Item || No
|}
The spacing between track roads, in pixels.
 
=== TrackSectionNominalTime ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
The height in pixels of the owning portal's current icon.
 
=== CurrentPortalWidth ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
The width in pixels of the owning portal's current icon.
 
=== CurrentPortalX ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read/Write
|-
| Need Item || No
|}
Percentage scaling to apply to the owning portal's width, normally 100.
 
=== CurrentPortalY ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read/Write
|-
| Need Item || No
|}
Percentage scaling to apply to the owning portal's height, normally 100.
 
=== OwningPortalLocation ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Text
|-
| Access || Read Only
|-
| Need Item || No
|}
File path and name the modeller last passed to SetLastDatasetFile().
 
=== DataSetName ===
{|class="wikitable"
| Type || Text
|-
| Access || Read Only
|-
| Need Item || No
|}
Name of file modeller last passed to SetLastDatasetFile().
 
=== LastAccessedDataFile ===
{|class="wikitable"
| Type || Text
|-
| Access || Read Only
|-
| Need Item || No
|}
Stores the last file read/written in file operations.
 
=== LastAccessedDataFilePath ===
{|class="wikitable"
| Type || Text
|-
| Access || Read Only
|-
| Need Item || No
|}
Stores last path/filename read/written in file operations.
 
=== LastErrorFileNamePath ===
{|class="wikitable"
| Type || Text
|-
| Access || Read Only
|-
| Need Item || No
|}
Path of last file where Ctrl-V paste errors were logged.
 
=== LastLockFileError ===
{|class="wikitable"
| Type || Text
|-
| Access || Read Only
|-
| Need Item || No
|}
Text giving detail on a failed AcquireFileLock().
 
=== LoadFileNamePath ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Text
|-
| Access || Read Only
|-
| Need Item || No
|}
Network name of the computer the model is running on.
 
=== ModelName ===
{|class="wikitable"
| Type || Text
|-
| Access || Read Only
|-
| Need Item || No
|}
Name of the model.
 
=== UseLocale ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Text
|-
| Access || Read Only
|-
| Need Item || No
|}
Retrieves the name of the user in the older NT compatible format.
 
=== UserNameQualified ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
This is non zero whilst Planimate is advancing to time without animation.
 
=== AnimationStartingMessage ===
{|class="wikitable"
| Type || Value
|-
| Access || Read/Write
|-
| Need Item || No
|}
Sets option that determines whether 'Animation Starting' dialogs are displayed after a run advance.
 
=== AutoRestartAfterError ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
This is non-zero if running in batch mode (no UI possible).
 
=== CancelClose ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
How many events pending on the FEC at the current time.
 
=== FECFutureEvents ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
How many events pending on the FEC at future times.
 
=== HaveCurrentPendingEvents ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
The clock value at the time the engine was last stopped.
 
=== ModelNeedsSaving ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
Zero for a normal run or the number of runs for a multiple run.
 
=== PauseAfterAdvance ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
This is non zero if running a 64 bit version of Planimate.
 
=== RandomSeedImmediate ===
{|class="wikitable"
| Type || Value
|-
| Access || Read/Write
|-
| Need Item || No
|}
Enables reinitialisation of random generator seeds without having to restart the engine.
 
=== RandomSeedOnRestart ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read/Write
|-
| Need Item || No
|}
Controls if a real time broadcast is processed whilst another event is being processed.
 
=== Rnd01 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
Run number when multiple runs are performed, starts at 1.
 
=== TestNumber ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read/Write
|-
| Need Item || No
|}
Alpha intensity of a dragged gantt block (0..255).
 
=== GanttDragIntensity ===
{|class="wikitable"
| Type || Value
|-
| Access || Read/Write
|-
| Need Item || No
|}
Brightness of a dragged gantt block (0..255).
 
=== ItemAnimateSpeed ===
{|class="wikitable"
| Type || Value
|-
| Access || Read/Write
|-
| Need Item || No
|}
Sets the Animation Speed value which controls how fast items move on paths between objects.
 
=== LockDrawing ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
Panel x co-ordinate where a mouse down occured. The mouse may have moved since.
 
=== MouseDownY ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
Panel y co-ordinate where a mouse down occured. Mouse may have moved since.
 
=== MouseX ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
Returns the current mouse X position in panel co-ordinates.
 
=== MouseXOwner ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
The current mouse x position in Windows screen co-ordinates..
 
=== MouseY ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
Returns the current Mouse Y position in panel co-ordinates.
 
=== MouseYOwner ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
The current mouse y position in Windows screen co-ordinates..
 
=== PanelOwnerVisible ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
Non zero if the the panel containing the current panel executing this operation is visible.
 
=== TimeScaling ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
Set when ReadFromFile() encounters an error to the first error row.
 
=== DataErrorRow ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
Set when ReadFromFile() encounters an error to the first error row.
 
=== TableColumns ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
Number of columns in a table being referenced in an operation.
 
=== TableRows ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Text
|-
| Access || Read/Write
|-
| Need Item || No
|}
Name of icon to use for bendpoints instead of the default bend point cross.
 
=== BendPointSize ===
{|class="wikitable"
| Type || Value
|-
| Access || Read/Write
|-
| Need Item || No
|}
Pixel width/height of the default bend point cross.
 
=== ButtonPaintID ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
Index of the location of the object triggering this. Does not require an item.
 
=== EnableDebugLogger ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
This gives access to the string passed using the command line /JobID option.
 
=== KeyDate ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
key bits for the current license keys, BitAnd with 7 for custom PBA sub-code.
 
=== KeyName ===
{|class="wikitable"
| Type || Text
|-
| Access || Read Only
|-
| Need Item || No
|}
The user name for the active key file.
 
=== KeyOrg ===
{|class="wikitable"
| Type || Text
|-
| Access || Read Only
|-
| Need Item || No
|}
The organisation name for the active key file.
 
=== KeySerial ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
The serial number of the active key file.
 
=== LineTestMargin ===
{|class="wikitable"
| Type || Value
|-
| Access || Read/Write
|-
| Need Item || No
|}
Threshold used to detect clicks near lines (eg: spatial links).
 
=== NullAttribute ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| Type || Value
|-
| Access || Read Only
|-
| Need Item || No
|}
Is non-zero if running as a compiled exe.
 
=== PipeTableRow ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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 ===
{|class="wikitable"
| 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.

Latest revision as of 22:36, 29 April 2017

System 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.