Attribute: Difference between revisions

From Planimate Knowledge Base
Jump to navigation Jump to search
No edit summary
mNo edit summary
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
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 and agents, item or agent classes, Sub-systems and the overall system model can have identifiable attributes.
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.
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.
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==
== Portal Attributes ==
{{Main|Portal Attribute}}
{{:Portal Attribute}}


==Item Attributes==
{{Main|Portal Attribute}} {{:Portal Attribute}}  
{{Main|Item Attribute}}
{{:Item Attribute}}


==Class Attributes==
== Item Attributes ==
{{Main|Class Attribute}}
{{:Class Attribute}}


==Routine Attributes==
{{Main|Item Attribute}} {{:Item Attribute}}  
{{Main|Routine Attribute}}
{{:Routine Attribute}}


[[Category:Attribute]]
== Class Attributes ==
[[Category:Data]]
 
{{Main|Class Attribute}} {{:Class Attribute}}
 
== Routine Attributes ==
 
{{Main|Routine Attribute}} {{:Routine Attribute}}
 
== System Attributes ==
 
{{Main|System Attribute}} {{:System Attribute}}
 
[[Category:Attribute]] [[Category:Data]]

Latest revision as of 23:55, 18 December 2008

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 Attribute
Portal 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 Attribute
Item 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 Attribute
These 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 Attribute
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.