PLC Alarm Tag

Counted towards your tag license limit.

This tag is designed to read alarm status and configuration from the PLC (where supported by your PLC and device driver protocol) for display in the SCADA system.

Use PLC Alarm tags where alarm logic is configured in the PLC rather than within VTScada. Alarm status and configuration is determined from the state of the PLC. The value of the PLC Alarm tag will be 1 when the alarm it monitors on the PLC is active and 0 otherwise, reflecting the state of the PLC.

By design, if communication with the PLC is lost after an alarm is reported, the PLC Alarm tag will continue to indicate the alarm until communication is reestablished and the alarm is cleared on the PLC. When using the PLC Alarm tag, the PLC is the alarm master, not VTScada.

 

If using this tag with an Allen Bradley CIP device, the name (address) of the alarm block in the PLC must be provided as a parameter to this tag, as well as the alarm type (Analog High, Digital, etc.). Using this information, the PLC Alarm tag will build all the necessary addresses. This note does not apply to other devices.

 

For customers using the legacy Oil & Gas Solutions layer, see: Deprecated PLC Alarm (OGS)

Notes:

Alarm Status

The status-related alarm controls issued from VTScada are to acknowledge, shelve or unshelve alarms. Limited support is also provided to enable or disable the alarm status (see following notes.) These status values are written to the PLC and read back into VTScada, where the current status of the PLC will be shown. The full set of PLC alarm status information, and how each status is handled by VTScada follows:

  • Active / Normal:
    This is a read-only status for VTScada. The value from the PLC tells the PLC Alarm tag whether it is in alarm or not, having value of 1 or 0 respectively.
  • Acked / Unacked:
    VTScada will read this status, but is able to write only an Ack to the PLC. VTScada cannot write an Unack status.
  • Shelved / UnShelved:
    VTScada will read this status and can also shelve or unshelve alarms within the PLC.
    Both the PLC and VTScada support their own shelving time. In an Allen Bradley CIP PLC, there is a single shelving time for a single alarm block, which is required to allow shelving at all. This shelving time would apply to a single digital alarm, or the set of all 6 analog alarms in a given block. If a shelving time is configured in VTScada for a given alarm, the alarm will be unshelved at the Internal PLC time, or the VTScada shelving time, depending on which happens first. This allows different alarms in the same block to be shelved for different amounts of time in VTScada only.
  • Suppressed / Unsuppressed:
    This concept does not exist in VTScada, and is therefore not supported.

Auto unshelve causes the alarm to become unshelved.
Manual unshelve causes the alarm to become unshelved AND Ack'd in both the PLC and the VTScada alarm system

Alarm Configuration

Some users may want to issue configuration controls to the PLC via VTScada rather than use third-party software to do their PLC alarm configuration. The PLC alarm tag is able to configure Setpoint, Priority, Deadband, Delay and Disabled status. The PLC alarm tag has a custom widget for reading these configuration values as a reference, and outputting user-defined values to the correct address in the PLC.

To achieve this, the custom widget can be opened from the properties folder of the PLC Alarm tag. Control actions can be issued from the properties folder or from a page using the widget.

Rate of Change Alarms

VTScada will display positive values for both positive and negative rate of change values and setpoint on the alarm page. That is to say, if a tag’s value is rapidly decreasing, the positive ROC is not used, and the negative ROC with have a positive setpoint and positive value, with the implication that the rate of change being negative comes from the alarm type, rather than its value

Application Properties

The following properties apply to PLC Alarm tags:

PLCAlarmCfgDeadbandDigits

PLCAlarmCfgDelayDigits

PLCAlarmCfgSetpointDigits

PLC Alarm properties I/O tab

I/O configuration of a PLC Alarm tag

The I/O Tab includes properties used to identify and establish a connection to the communication driver tag being used to exchange data with your physical I/O device (e.g. PLC or RTU), or to the polling driver responsible for determining the order and rate at which data polls will occur.

I/O Device

Select the communication driver tag from which data will be read.

By default, the tag will look for a parent tag that is a device driver (*Driver). If none is found, the text "--Missing--" will be displayed. The tag button to the right of the field opens the tag browser, from which you can either select an existing communication driver tag or add a new one. The X button will clear the field. Right-clicking on a tag in the field will open a dialog with which you can add or remove a Snapshot Expression or open a selected driver's properties dialog.

PLC Type

Choose between Allen Bradley CIP PLC (addresses are pre-configured) or Custom PLC (addresses must be provided).

Alarm Type

A selection of Digital, Analog High, Analog Low, etc.
Required when configuring an alarm for an Allen Bradley CIP driver. For custom PLC's this is used as a label to distinguish between alarm types on the alarm page and to determine the behavior of the tag based on whether it is an analog or digital alarm.

PLC Alarm Block Name

If a PLC alarm block name is given, it will preface the address parameters. If there is no alarm block name given, the addresses are complete.

For CIP drivers, this is the folder in the PLC that holds all the addresses of the alarm block registers. This is an address in the form, MyProgram:MyAnalogAlarm, under which the relevant alarms will be located. (For example, MyProgram:MyAnalogAlarm.HiHiEnable)

Privilege

Select a custom security privilege (Protect Pages and Output Tags) from this drop down to limit the operation of this control to only those operators who have been granted the matching security privilege.

Scan Interval

Provide the frequency, measured in seconds, that the device should be scanned for new data. If the I/O Device is a Polling driver, which provides its own scan interval, then this field will not accept data.

Questionable Data

Use the Questionable Data parameter to flag this tag’s data in the event that you suspect the values it is reporting might not be accurate, or when this tag has initially been created and you wish to ensure that its data is marked for extra monitoring.

PLC Alarm Properties Addresses tab

Address configuration for custom PLC alarms

For Allen Bradley CIP PLCs, these show the pre-configured addresses based on the alarm type. (Addresses cannot be modified.)

For custom PLC Alarm tags, use this to input the PLC alarm’s function addresses. An address assist is provided as a convenience. If a PLC alarm block name is configured on the I/O tab, it will preface the address parameters. If no alarm block name is given, the addresses are complete. Only the Active address is required for the PLC alarm tag to work, but each address provides additional functionality and information.

Active address (Read):

Used to read the digital status of the PLC alarm, 1 if it is in alarm, 0 if it is not.

Value address (Read):

Used to read the value in the PLC, used to determine its active status internally.

Acked address (Read):

Used to read the acked status of the alarm. 1 is acknowledged, 0 is not.

Ack address (Write):

Used to set the alarm to be acknowleged.

Disabled address (Read):

Used to read the disabled status of the alarm. 1 is disabled, 0 is not.

Disable address (Write):

Used to set the alarm to be disabled.

Enable address (Write):

Used to set the alarm to be enabled.

Shelved address (Read):

Used to read the shelved status of the alarm. 1 is shelved, 0 is not.

Shelve address (Write):

Used to set the alarm to be Shelved.

Unshelve address (Write):

Used to set the alarm to be Unshelved.

Setpoint address (Read/Write):

Used to set the alarm’s setpoint (Analogs only). Also read for display.

Priority address (Read/Write):

Used to set the alarm’s priority. Also read for display.

Deadband address (Read/Write):

Used to set the alarm’s deadband. Also read for display.

Delay address (Read/Write):

Used to set the alarm’s delay. Also read for display.

Condition address (Read/Write):

Used to set the alarm’s condition (digitals only). Also read for display.

 

Not all addresses need be configured for a given PLC alarm. If there are not separate Acked/Ack bits in a given PLC, it is only required to configure one of them with the single read/write acknowledging bit. Similarly, for Disabling and Shelving, a single read/write address can be configured rather than using all 3 addresses, depending on the PLC in use. The table below shows the read/write behavior for various address configurations, using Disabled/Disable/Enable as an example. The same logic applies to the shelving/unshelving addresses.

Available Addresses Read disabled status from
(Address : Value)
For disabling write to
(Address : Value)
For enabling write to
(Address : Value)
Disabled    
Disabled : 1 Disabled : 1 Disabled : 0
  Disable  
Disable : 1 Disable : 1 Disable : 0
    Enable
Enable : 0 Enable : 0 Enable : 1
Disabled Disable  
Disabled : 1 Disable : 1 Disable : 0
Disabled   Enable
Disabled : 1 Enable : 0 Enable : 1
  Disable Enable
N/A N/A N/A
Disabled Disable Enable
Disabled : 1 Disable : 1 Enable : 1

PLC Alarm properties Alarm Setup tab

Alarm Setup configuration of a PLC Alarm tag

Priority

For Allen Bradley CIP alarms, there are two parts to priority mapping: The selection of the VTScada Alarm Priority, and the selection of the corresponding alarm severity value in the PLC.

In the case of a custom PLC there are two methods by which to set the VTScada alarm priority, depending on the existence of a priority address. If a priority address is given, we read the priority of the alarm from the PLC through the priority map. If no priority address is given, the PLC does not govern the alarm priority, and we must assign a priority to the alarm internally. This is done through a priority selection droplist.

PLC Delay Units

The internal units of a custom PLC may be in seconds or milliseconds, while the delay of the PLC alarm tag is written and displayed in seconds. This configuration allows proper configuration (and therefore display in VTScada) of the delay from the PLC.

Configure PLC Alarm

Opens the following dialog...

PLC Alarm properties Configuration dialog

Properties you configure in this dialog are read from and written to the PLC.

Controls on this tab write to the PLC immediately upon change.

I/O configuration of a PLC Alarm tag

Setpoint

The setpoint for the alarm

Priority

Use Priority drop-down tool to select the priority of the alarm that will be triggered for this tag. The available priorities are:

  • None
  • 0 - Event
  • 1 - Critical Alarm
  • 2 - High Alarm
  • 3 - Warning Alarm
  • 4 - Notice Alarm

Deadband (Not relevant to digital alarms)

The Deadband field specifies how far the triggering value must return into the safe (normal) zone before the alarm is no longer considered active. Deadband values are used in systems where analog values fluctuate often, sometimes providing a false data reading.

Delay

For the AB PLC, there is a conversion that must occur between VTScada and the PLC. The delay in the PLC is measured in ms, while the standard VTScada delay is in s. Therefore, a factor as defined according to the property, PLC Delay Units, is applied to the incoming / outgoing delay.

Disable

Use the Disable Alarm field to disable or enable this Alarm tag, using a 0 (not disabled) or 1 (disabled). This feature is typically used in situations such as when routine maintenance is being performed. In such a situation, an alarm can be disabled until the maintenance is complete and communications are reestablished, thus avoiding false alarms.

Driver Status Message

An error message returned from the driver if there is a problem. For example, if you are unable to change a setpoint, it may be due to a driver problem, as reported here.

Alarm Condition

The condition bit is used to set the alarm condition for the digital AB alarm. For example, if condition is 1, the PLC will trigger an alarm when its internal value is 1. If condition is 0, the PLC will trigger its alarm when its internal value is 0.

Note that condition can also be used to control the "Invert Input" bit if the PLC is configured in such a way that Low analog alarms or inverted digital alarms (alarm on 0) are only possible if the invert input bit is TRUE.

This is tied to the Invert Condition parameter of the Display tab.

PLC Alarm properties Display tab

(Digital alarm version shown)

Associated Tag

If an I/O tag is reading a specific value from the PLC while the PLC alarm block is alarming on that value, it makes sense for the name of the alarm in VTScada to match the name of the I/O tag, rather than the name of the PLC alarm tag. Therefore, the alarm record will contain the name of the associated value I/O tag, which is obtained by setting the Associated Tag parameter of each PLC Alarm tag to be the tag from which the source value is read. The alarm record will show the description, units, and area of the associated tag, allowing the PLC Alarm tag to behave like a built-in alarm of an I/O tag.

Typically, this is done by making the PLC Alarm tag a child of the associated I/O tag.

Use Associated Tag's Info

Deselect if you have an associated tag, but do not want to use information from that tag for display purposes.

Style

When this tag is represented on screen by widgets that can use a Style Settings tag, you can save development time by choosing the Style Settings tag that holds the correct display configuration for this tag instance. (See: Style Settings Tags)

The default configuration will search for the first parent tag of the Style Settings type. If there is none, it will use System Style, which is the default style tag that is automatically part of every new VTScada application.

Popup

If the configuration variable AlarmPopupsEnable is set to 1, then selecting this option will result in a pop-up dialog being displayed whenever the alarm is triggered. The variable can be set using a check box within the Application Configuration dialog, Alarms tab.

The pop-up will display the names of all active alarms for which the Pop-up option has been selected. As alarms are acknowledged, they will be removed from the pop-up. Should all the alarms be acknowledged while the pop-up is displayed, it will close. You may close the pop-up at any time by selecting the Close button. The pop-up will not be displayed again until a fresh alarm event occurs.

Invert Condition (Digital alarms only)

A display option, relevant only to digital PLC alarms in the case where the Condition bit is being used as an invert input.

Append state to alarm description (Digital alarm only)

When selected, VTScada will append the text used for the state of the tag, as taken from the Off Text and On Text fields in the associated tag’s I/O tab, to the alarm message.

Engineering Units (Analog alarms only)

Enter the units that should be displayed with the alarm.