The Make String Permanent symbol is available only in 2-Series and 3-Series processors.
Speed Key Names: msp, perm$
Signals
Serial inputs: <string-i1$> through <string-i999$>
Parameter: <PermanentStringSize>
Description
The Make String Permanent makes the connected input strings permanent; that is, the serial data remains in memory for as long as the program is running. The serial data is removed from memory when the program resets or shuts down. This facilitates serial strings being updated automatically to the panel when the panel sends an update request, without need for extra logic.
To prevent memory fragmentation, which can occur when the system frequently allocates and de-allocates memory to handle strings of different sizes, the <Permanent String Size> parameter sets the maximum size of the input string in bytes (1d = 1 byte). This parameter applies to all input strings and should be set to a size that would accommodate the longest expected string length.
If the size of the string on <string-i#$> is larger than <PermanentStringSize>, then the string will be truncated to <PermanentStringSize>. The control system will also issue an error into the error log similar to the below message:
Cannot set permanent string value to "ABCDEFGHIJLMNLOPQRST...". Maximum Length = 30, New Length would be 40. Truncating string to 30 characters.
The error example above shows a fragment (up to 20 characters) of the string that is trying to be set into the field, the length of that string (40 characters), and how big the permanent size of that string is as declared in the Make String Permanent symbol (30d).
Note that a Make String Permanent symbol should NOT be used to clip text to a specific length, as the error log will get filled with errors.
(This symbol should only be used with CUZ version 3.137 and later. For CUZ versions earlier than 3.137, use the Make String Permanent w/o parameter symbol.)