Auxiliary States and Auxiliary State Management

Objects in inmation can also have auxiliary states. These are not covered by the state flag group described above and are indicated by the Auxiliary State Management when changes to objects happen in certain situations. An example of one of these situations is an I/O item in an OPC server namespace at system startup: when the Connector starts, it connects to the OPC server and starts to receive data. Before the connection is fully established though, the I/O items are in a certain state while the system waits for data, this is recognized by the system and classified as an auxiliary state. This is also the case when an item is disabled and enabled again, the I/O item exists in an auxiliary state after being disabled. Auxiliary states are important for the user to know as they indicate when a service has gone down or was restarted. If an item remains in an auxiliary state for a continuing period of time, it can be indicative of other problems present in the system and help with diagnosing the root cause of the problem.

Viewing Auxiliary States for an Object

Auxiliary states are visible in real-time from I/O items like any other VQT. When a history call is made on an object, the auxiliary states for that object will be returned as a raw value alongside the other historical VQT for the time period. The auxiliary state is returned as "bad", with the state type given in quality element of the returned VQT, along with a timestamp. Auxiliary state indications are also visible if using the SCI Events to subscribe to data items. For example, the returned VQT for an I/O object just after startup or enabling is:

2017-01-22T12:00:00Z <No Value> BadWaitingForInitialData

The timestamp corresponds to the time enters the auxiliary state, i.e the time the service was started up or the object was enabled. The ASM indication for an I/O object upon disabling is:

2017-01-22T12:00:00Z <No Value> BadOutOfService

The length of time between the returned auxiliary state VQT and the next VQT can indicate the period of disconnection/disabling. If viewing a History Trend display, the incidents of objects being in an auxiliary state will be shown by breaks in the trendline and red, bad quality indicators.

The ASM is not responsible for all bad quality VQT indications from an I/O item. Other messages, such as BadCommunicationError, are not produced by the ASM and therefore unaffected by changes to the ASM settings.

Auxiliary State Management

The management of auxiliary states can be configured by the user. The options allow the user to turn off or Inhibit the auxiliary state indications. This can be useful when making history calls as breaks in service or disconnections are often expected as a regular part of normal operations and are not always problematic. Inhibiting the auxiliary state management (ASM) prevents the states from being recognized and persisted to the archive. Therefore, History Trend displays will show uninterrupted trendlines, even if there were breaks in service or disconnections. In the default ASM mode, objects Inherit ASM settings from the parent object. If all objects in the tree inherit the ASM settings up to the Root object then the ASM mode is Persist (see table below). In this mode, individual objects can be electively set to Inhibit the auxiliary states. The full list of Auxiliary state management modes is shown in the table below:

Table 1. Auxiliary State Management Modes
Auxiliary State Management Mode Auxiliary State Persisted Description

Inherit

Depends on parent object

The auxiliary state management (ASM) mode is inherited from its parent object or an object higher up the tree (if the parent ASM is also set to Inherit). This is the default setting for all objects in the system. If the inheritance chain reaches the root object then the mode is Persist.

Inhibit

No

The ASM is turned off completely. Objects do not enter auxiliary states in the situations described above. Therefore, auxiliary states are not indicated or persisted to the archive.

Persist

Yes

All object auxiliary states are indicated and persisted to the archive.

Volatile

No

ASM changes are indicated but not historized.

Auxiliary states provide important information about the system and can be useful in identifying problems with loss of service and disconnections. For this reason, choosing to switch off the ASM with the Inhibit mode should be considered carefully.