Next to each field in the spreadsheet is an empty cell used to define
the column name that will store the field's information in the specified
table. For example, if the column name that stores the Alarm Priority
is ALM_ALMPRIORITY, enter this text as the following figure shows.
Fields and Column Sizes
The exact fields you archive depend on the table that saves your alarms
and messages. The table must have one column for each field you select.
If you select more fields than the table can save, some or all of the
data will not be saved, depending on your relational database. The size
of each column must be at least the size specified in the following table.
Column Sizes iFIX Field Name | Default SQL Column Name | Data Type (Size) | Description |
Native Date/Time In | ALM_NATIVETIMEIN | datetime NOTE: On Oracle
databases, the datatype is DATE. | The time the tag originally went into alarm for the current instance of the alarm. |
Native Date/Time Last | ALM_NATIVETIMELAST | datetime NOTE: On Oracle
databases, the datatype is DATE. | The time the tag last transitioned Alarm State or Status for the current instance of the alarm. |
Logical Node Name | ALM_LOGNODENAME | CHAR (10) | The node where this event occurred. This value is the logical node name. |
Physical Node Name | ALM_PHYSLNODE | CHAR (10) | The physical node where this event occurred. This value is the local node name. |
Tag Name | ALM_TAGNAME | CHAR (256) NOTE: On Microsoft
Access databases, the datatype is Memo. | The tag's name. |
Tag Description | ALM_TAGDESC | CHAR (256) NOTE: On Microsoft
Access databases, the datatype is Memo. | The tag's description field as entered in the process database. |
Value | ALM_VALUE | CHAR (40) | The current value of the source when the condition occurred. |
Unit | ALM_UNIT | CHAR (13) | The engineering unit label for the current value. |
Message Type | ALM_MSGTYPE | CHAR (11) NOTE: Message
Types less than 11 characters in length use hard-coded trailing spaces
to make up the difference. For
instance, the "ESIGNATURE " Message Type includes a space at
the end, and the "DELETE "
message type includes five trailing spaces. See the Message Types and
Message Type Query Syntax sections below for further information and a
list of Message Types. | The iFIX message type. |
Message Description | ALM_DESCR | CHAR (480) NOTE: On Microsoft
Access databases, the datatype is Memo. | The message description. |
Alarm Status | ALM_ALMSTATUS | CHAR (9) | The iFIX status, such as OK, LO, LOLO, and so on, before it is translated to the sub-condition name. |
Alarm Priority | ALM_ALMPRIORITY | CHAR (10) | Priority value before it is translated to a severity number. For example: INFO, LOLO, LOW, MEDIUM, HIGH, HIHI, or CRITICAL. |
Alarm Area | ALM_ALMAREA | CHAR (500) NOTE: On Microsoft
Access databases, the datatype is Memo. | The iFIX alarm area to which the source belongs. |
Alarm Ext.Field1 | ALM_ALMEXTFLD1 | CHAR (79) | The text entered in the block's alarm extension field. Typically, the first extension field contains the name of the picture that shows alarms from the current block. |
Alarm Ext.Field2 | ALM_ALMEXTFLD2 | CHAR (79) | The text entered in the block's alarm extension field. |
Operator Login User Name | ALM_OPNAME | CHAR (32) | When security is enabled, this field represents the name of the currently logged in user. |
Operator Login Full Name | ALM_OPFULLNAME | CHAR (80) | When security is enabled, this field represents the full name of the currently logged in user. |
Operator Node Name | ALM_OPNODE | CHAR (10) | The name of the SCADA node where the operator acknowledged the event. |
Performed By User Name | ALM_PERFNAME | CHAR (32) | The first signature for this event. |
Performed By Full Name | ALM_PERFFULLNAME | CHAR (80) | The full name of the user who signed the first signature. |
Performed By Comment | ALM_PERFBYCOMMENT | CHAR (170) | The comment associated with the first signature. |
Verified By User Name | ALM_VERNAME | CHAR (32) | The second signature for this event. |
Verified By Full Name | ALM_VERFULLNAME | CHAR (80) | The full name of the user who signed the second signature. |
Verified By Comment | ALM_VERBYCOMMENT | CHAR (170) | The comment associated with the second signature. |
Message ID | ALM_MSGID | unique identifier NOTE: On Oracle
databases, the datatype is CHAR (128). On Microsoft Access databases,
the datatype is Number (Replication ID). | Globally Unique Identifier (GUID) that uniquely identifies the message. |
Date In | ALM_DATEIN | CHAR (12) | The date at which the block generated the alarm. |
Time In | ALM_TIMEIN | CHAR (15) | The time at which the block generated the alarm. |
Date Last | ALM_DATELAST | CHAR (12) | The date at which the block last generated an alarm. |
Time Last | ALM_TIMELAST | CHAR (15) | The time at which the block last generated an alarm. |
User Field1 | ALM_USERFLD1 | CHAR (80) | User-configurable field name. |
User Field2 | ALM_USERFLD2 | CHAR (80) | User-configurable field name. |
User Field3 | ALM_USERFLD3 | CHAR (80) | User-configurable field name. |
User Field4 | ALM_USERFLD4 | CHAR (80) | User-configurable field name. |
Alarm Shelvable | A_ALMSHLVENAB | CHAR (10) | Defines whether alarm shelving is enabled (YES/NO) for a block. |
Alarm Shelved | A_ALMSHELVED | CHAR (10) | Indicates whether a specified alarm is shelved. |
Rem Shelf Duration | A_ALMSHELFREMTIME | CHAR (30) | The remaining time left for a shelved alarm. |
You must also set up your relational database to accept null strings.
Consult your relational database manuals to learn how to enable this feature.
IMPORTANT: Do not use
reserved SQL keywords as column or table names. Doing so can result in
data loss. For a list of reserved keywords, consult your SQL manuals.
NOTE: If you
want to change the fields that are in an existing table, you must create
a new table with a new name, and then transfer data from the existing
table to the new table. You cannot modify an existing table's fields by
selecting or deselecting fields in the Column Configuration spreadsheet.
Message Types
The following Message Types can be generated in an alarm message:
Message Types Message Type | SQL Column Name | Description |
UNKNOWN | ALM_MSG_UNKNOWN | Unknown type of message |
ALARM | ALM_MSG_ALM | Typical alarm (e.g. block alarms) |
HARDWARE | ALM_MSG_HARDWARE | Hardware I/O alarm |
NETWORK | ALM_MSG_NETWORK | Network notification |
SYSALERT | ALM_MSG_SYSTEM_ALERT | System alert notification |
USER | ALM_MSG_USER | User-defined message |
ACKNOWLEDGE | ALM_MSG_FLAG_ACK | Acknowledgement notification |
DELETE | ALM_MSG_FLAG_DEL | Manual delete notification |
OPERATOR | ALM_MSG_OPERATOR | Operator action |
RECIPE | ALM_MSG_RECIPE | Recipe message |
EVENT | ALM_MSG_EVENT | Event message |
TEXT | ALM_MSG_TEXT | Generic text message |
6XTXT | ALM_MSG_TEXT_6X | Generic or unknown message from v6.x nodes |
AAM | ALM_MSG_AAM | Auto Alarm Manager message |
SQL | ALM_MSG_SQL | SQL messages |
ESIGNATURE | ALM_MSG_SIGNED | Electronic Signature |
Message Type Query Syntax
The Message Type field is 11 characters in length. If
a Message Type contains less than 11 characters, hard-coded trailing spaces
are included to make up the difference.
For example, in this statement, the extra characters explicitly appear
at the end of the DELETE string:
SELECT * FROM FIXALARM WHERE (FIXALARM.ALM_MSGTYPE = 'DELETE ').
Alternatively, this example demonstrates the use of wildcards to make
the statement more generic:
SELECT * FROM FIXALARM WHERE (FIXALARM.ALM_MSGTYPE Like '%DELETE%').
In addition, a query statement like the following example will also
return matches:
SELECT * FROM FIXALARM WHERE (FIXALARM.ALM_MSGTYPE = 'DELETE').