SNVT_alarm_2

Overview:

Alarm status 2..  Used to report alarm status for a functional block or device. Replaces SNVT_alarm. 

This is used as an output network variable within a Node Object functional block to report alarm status.  This type should be used instead of SNVT_alarm for all new designs.
Following are the summary requirements for this type:

  • Alarm values shall specify the alarm type, priority, time, and description.
  • Alarm descriptions shall support sufficient text description to be useful for a human interface like a summary log, historical log, Web page, email message, or SMS message.
  • Alarm descriptions should allow manufacturers to embed their own error codes.
  • Alarm descriptions may include references to strings defined in LonMark resource files.
  • Alarm time stamps shall support a resolution of up to 1 millisecond.
  • A receiving device shall be able to detect a missed update.
  • A receiving device shall be able to determine when all alarm updates from an alarm producer have been sent.
  • Multiple alarms may be reported for a single functional block.  Receiving devices or applications must be able to request an update of all alarms for a functional block, determine when an update sequence has started, and determine when an update sequence has ended.  This requirement will require support in the Node Object functional block.
  • Alarm processing should be simple enough to be implemented in a Neuron® Chip -hosted device or other embedded controller.
  • Alarm types should be compatible between SNVT_alarm and SNVT_alarm_2 to simplify handling of both types of alarms.

Details:

Resource Set: Standard 00:00:00:00:00:00:00:00-0
Index: 164
Obsolete: no
Size: 31
Programmatic Name: SNVT_alarm_2
Neuron C Type:
Structure
alarm_typeAlarm type.  (alarm type names.) .  Alarm condition reported by this update. 
 
alarm_type_t
priority_levelPriority level.  (priority level names.) .  Priority level of the alarm reported by this update. 
 
priority_level_t
alarm_timeAlarm time.  (seconds) .  Alarm time in seconds since 2000-01-01T00:00:00Z (the 0 hour of 1 January 2000, Coordinated Universal Time) 
 
s32_type
Minimum: -2147483648
Maximum: 2147483647
Scaling (A,B,C): 1,  0,  0
Scaled value: 1 *10 0 *(Raw+0)
Resolution: 1
millisecondsMilliseconds  (milliseconds) .  Alarm time in milliseconds since the second specified by the alarm_time field. 
 
signed long
Minimum: -1
Maximum: 999
Invalid: -1
Scaling (A,B,C): 1,  0,  0
Scaled value: 1 *10 0 *(Raw+0)
Resolution: 1
sequence_numberSequence number.  (count) .  Sequence number for this update. Incremented by one for each update from an alarm source. Wraps to zero after reaching 255. An alarm receiver can use the sequence number to detect missed alarm messages.  
 
unsigned short
Minimum: 0
Maximum: 255
Scaling (A,B,C): 1,  0,  0
Scaled value: 1 *10 0 *(Raw+0)
Resolution: 1
descriptionDescription  (array of 22 characters.) .  Alarm description with NUL terminator. The terminator is not required if the description requires 22 characters. May include a reference to a language string, delimited by a 0x80 value.  

Alarm description with NUL terminator. The NUL terminator is not required if the description requires all 22 characters of the array. The alarm description is manufacturer-defined, but may include the alarm location, an identification of the object in alarm, the current value of the data point in alarm, and the limit that caused the alarm. The alarm description may include a reference to a string defined in a language file. The 0x80 value is reserved to delimit a language string reference. See Language File String Reference below.

Language File String Reference

The description field of a SNVT_alarm_2 value can reference a language string using the reserved 0x80 value (represented as an “\x80” ASCII string). This string must be contained in one or more LONMARK language files (one for each supported language), and may optionally also be contained in an XML file derived from the language file by a development tool.

The syntax for a string reference is as follows:
\x80[programIDTemplate-][scopeSpecifier:]languageStringIndex;

The components of a string reference are the following:

A byte containing the value 0x80, represented by the “\x80” string.

  • programIDTemplateis a hex byte string of up to 16 characters specifying the program ID template of the resource file set containing the language string. Unused characters within the program ID template may be omitted, shortening the string at all scope levels other than 6. For example, the program ID template for a scope 3 resource file may consist of six characters representing the hex values of the format and manufacturer ID fields of the program ID template. If not included, the program ID template equals the program ID template of the device reporting the alarm.

  • A hyphen (“-”) follows the program ID template. The hyphen is not included if the program ID template is not included, otherwise it is mandatory.

  • scopeSpecifiermay be a “3”, “4”, “5”, or “6” to specify a scope 3, 4, 5, or 6 resource. If not included, the scope is 0.

  • A colon (“:”) following the scope specifier. The colon is not included if the scope specifier is not included, otherwise it is mandatory.

  • languageStringIndexis the index of the language string within the language file. This index ranges from 1 to 16’777’216.

  • A semicolon (“;”) terminates the string reference.

EXAMPLES

The following string reference specifies language string index 522 within the standard resource file set.

"\x80522;"

The following string reference specifies language string index 100 within a user resource file set at scope 3, with a program ID template matching the program ID of the device that originated the alarm.

"\x803:100;"

The following string reference specifies language string index 200 within a user resource file set with a program ID template of 80:00:9F:00:00:00:00:00 at scope 3.

"\x8080009F-3:200;"

 
unsigned char [22]
Minimum: 32
Maximum: 126
Scaling (A,B,C): 1,  0,  0
Scaled value: 1 *10 0 *(Raw+0)
Resolution: 1
Formats:

SNVT_alarm_2:  text("%m %m %d %d %d %s", alarm_type, priority_level, alarm_time, milliseconds, sequence_number, description)

Used by:

SFPTdataLogger  SFPTnodeObject