Memory Slots
Last updated
Last updated
Pathfinder Core Pro's memory slots provide a named location for storing data that can be used in Logic Flows. You can create and view memory slots via this link. You can also monitor the slot’s changes in real-time and alter the value of a memory slot directly from this page.
Add a memory slot by clicking the plus icon on the bottom-right corner of the memory slot list.
Select the memory slot type you wish to create from the Type drop-down. The available properties will change depending on the memory slot type. Several of the memory slot properties are present in all or most of the memory slots as described here.
Each memory slot may also have additional properties according to their type as described below.
Pathfinder Core PRO has six different types of memory slots, each with its own options and properties.
This is the traditional memory slot into which any kind of data may be stored. Its parameters are shown below:
All parameters for this memory slot are described in the common properties section above.
The Latching memory slot can only have a value of True or False. It has a write-only property called Trigger which will change the memory slot's value. Using a Logic Flow end-point, you can set the trigger property to true and the slot value will toggle from true to false, or from false to true depending on its current value. See the latching example in the Logic Flows section of this manual for more details. The configuration properties for this slot type are shown below:
All parameters for this memory slot are described in the common properties section above. However, note that the value property field becomes a drop-down that only allows a value of True or False.
Numeric memory slots allow you to store, retrieve, increment, and decrement a numeric value. Its write-only properties are increment and decrement, and can be used in Logic Flows to change the value of a memory slot. This type of memory slot can also accept a range to specify what happens when the value increments or decrements outside of the range using the loop action option. Its parameters are shown below:
In addition to the properties outlined in the common properties section above, this memory slot type includes two additional properties: Range and Loop Action. If the range field is left blank, then the numeric memory slot may accept any numeric value. If you apply a range by filling the range field with a low and high value separated by a hyphen, then increment and decrement will not exceed the specified range. The Loop Action property only works in conjunction with a range and does nothing if no range is specified. The loop action field defines what happens when you try to increment or decrement beyond the specified range as follows:
None = Incrementing beyond the max or decrementing below the min will do nothing and no change will be applied to the Value.
Forward = Incrementing beyond the max will cause the value to loop back to the min, but decrementing below the min will make no changes.
Backward = Decrementing below the min will cause the value to loop to the max, but incrementing beyond the max will make no changes.
Both = Incrementing beyond the max will cause the value to loop to the min value, and decrementing below the min value will cause it to loop to the max value.
These properties make it easy to assert a valid range to a numeric memory slot as well as to implement things like paging functions where paging beyond the maximum number of pages will take you back to page 1.
SapProperty memory slots allow you to map the value of any Sap Property in the system to this memory slot's value. When this Sap Property value changes, the slot is updated with that value. Its configuration parameters are shown below:
In addition to the properties outlined in the common properties section above, this memory slot type includes two additional properties: Object Path and Property Name. The ellipsis button next to Object Path can be used to select the Sap Property to be used with this slot and when selected will present a property selection dialog similar to that of the dialog in Logic Flow endpoint editing. Once a property is selected, the object path and property name will be filled in based on the dialog selection. The value property is not present in the configuration as it gets filled dynamically over time according to the value of the selected Sap Property. This value is then available to be used with Logic Flows. It can also be used to create custom values when used in conjunction with the String Builder memory slot.
The string builder slot allows you to build a string based on values in other Memory Slots. The parameters that will be presented when selecting this type of memory slot are shown below:
In addition to the properties outlined in the common properties section above, this memory slot type includes two additional properties; IncludedSlots and Pattern. The IncludedSlots field is used to enter a comma-delineated list of memory slot names to use in the builder. The ellipsis button will present a list of slots to select from. The order is important as described by the Pattern. The Pattern field is a text pattern with bracketed numbers used where slot values from the comma-delineated list should be inserted.
In the example above, case {0} will be replaced with the value of slot A and {1} will be replaced with the value of slot B. If Slot A’s value is "Fred" and Slot B’s value is "Telos Alliance", the value of this new memory slot called MyBuiltSlot would be: The Name is Fred and it is located at Telos Alliance. The value of this slot will update whenever Slot A or Slot B updates. This slot can be used to build text which is then used as labels on buttons or commands to generic emulators. When the included slot list contains slots that are Sap Property Memory Slots, this memory slot type can become even more powerful.
The Time Stamp Memory Slot can be used to grab time stamps, which can be useful in displaying the last time something happened in a user panel. The parameters that will be presented when selecting this type of memory slot are shown below:
In addition to the properties outlined in the common properties section above, this memory slot type includes one additional property: Pattern. When you first create a time stamp memory slot, you will probably not apply a value. The pattern field can also be left blank. It can be used to specify the format of the time stamp which we will describe in more detail below. After creating the timestamp memory slot, it can be used in Logic Flows by applying an endpoint to the SetTimeStamp write-only property of the memory slot. For example:
This Logic Flow will set the memory slot to the current date and time every time the specified GPIO pin goes low.
The format of the date time stamp can be changed using the pattern field. If you edit the memory slot again you will see that the default format has been assigned to the memory slot:
The time stamp memory slot can also be used to convert values from one time format to the pattern specified in the time stamp memory slot. This is accomplished using the write only CalculateTime property. For example, you could assign a number with either m, h, or s to the end, and it would convert the value to the requested format in minutes hours or seconds. If the time stamp memory slot pattern was:
hh:mm:ss
and you passed in
100s
to the CalculateTime property, the value of the memory slot would become 00:01:40.
Passing other time values than just numbers will try to interpret the value as time, convert it, and then express it in the correct pattern.
The startup state drop-down applies to each of the memory slot types above and requires some explanation. This option allows you to determine the value of the slot when the system first starts up and before any flows are executed. It can be blank, a fixed value as defined when you create the slot, or last known. It is important to understand the last known option will attempt to store the state in the database each time the memory slot state changes. This can be more CPU- and time-intensive because of the compact flash storage within the Pathfinder Core PRO. As a result, this option should not be used in situations where the existing state of Axia devices will reset the memory slot to the correct state via the flows as the flows start-up anyway.
Property Name
Description
Name
Each memory slot must have a unique name within the system
Value
Except in cases where the memory slot's value is derived from other information, the value property allows you to define an initial value for the memory slot and/or to change the current value
Startup State
The startup state defines how an initial value for the memory slot is obtained when the system first starts; for details see the section on startup states.
Persistent
Defines whether the memory slot will be retained between restarts or is just a temporary memory slot; the default and by far most used option here is persistent