Understanding Alarm Statuses

iFIX can process alarm status information from I/O drivers. This information complements the alarms generated by iFIX database blocks. When an alarm is returned from a driver, iFIX compares the driver alarm against the block alarm. The alarm with the higher severity is used as the block alarm and the other alarm is ignored.

NOTE: As of iFIX 4.5, only the alarm statuses IA_OK and IA_COMM are supported for use through the SM2 driver.

iFIX defines the following alarms with the following severity:

Severity

Alarm Status

Description

16 (highest)

IA_COMM

Communication error ("BAD" value).

16 (highest)

IA_IOF

General I/O failure.

16 (highest)

IA_OCD

Open circuit.

16 (highest)

IA_URNG

Under range (clamped at 0).

16 (highest)

IA_ORNG

Over range (clamped at MAX).

16 (highest)

IA_RANG

Out of range (value unknown).

16 (highest)

IA_DEVICE

Device failure.

16 (highest)

IA_STATION

Station failure.

16 (highest)

IA_ACCESS

Access denied (privilege).

16 (highest)

IA_NODATA

On poll, but no data yet.

16 (highest)

IA_NOXDATA

Exception item, but no data yet.

16 (highest)

IA_MANL

Special code for MANL/MAINT (for inputs).

8

IA_FLT

Floating point error.

8

IA_ERROR

General block error.

8

IA_ANY

Any block alarm.

8

IA_NEW

New block alarm.

7

IA_HIHI

The block is in the HIHI alarm state (High High).

7

IA_LOLO

The block is in the LOLO alarm state (Low Low).

7

IA_COS

Change of state.

7

IA_CFN

Change From Normal (Digital block only).

7

IA_TIME

Time-out alarm.

7

IA_SQL_LOG

Not connected to database.

6

IA_HI

The block is in the HI alarm state (High).

6

IA_LO

The block is in the LO alarm state (Low).

6

IA_RATE

Value exceeds rate of change setting since last scan period.

6

IA_SQL_CMD

SQL command not found or invalid.

5

IA_DEV

Deviation from the set point.

5

IA_DATA_MATCH

SQL command does not match data list.

4

IA_FIELD_READ

Error reading tag values.

4

IA_FIELD_WRITE

Error writing tag values.

1

IA_DSAB

Alarms disabled.

0 (lowest)

IA_OK

The block is in normal state.

Using the preceding table, you can see that if a driver returns a HIHI alarm to a block that is in HI alarm, iFIX changes the alarm state to HIHI because the driver alarm is more severe. However, if the alarms are of equal severity, iFIX does not change the alarm state of the block. For example, if the block is in HI alarm and the driver returns a LO alarm, the block's alarm state does not change because both alarms have equal severity. Once an operator acknowledges the HI alarm, iFIX changes the block's alarm state.

NOTE: If you set a communication error to the S register with the SetCommError function, then all SM2 registers show a COMM alarm status. When examining the alarm status of text, only the status of the first character (byte) is read. You can control the alarm status functions of the SM2 driver using its C API only. Refer more information about this API, refer to the Using the SM2 C API section.

 

See Also