I/O Device Promotion
- Last UpdatedFeb 06, 2024
- 2 minute read
I/O device promotion refers to when a system event forces a standby I/O device to assume a primary role during Runtime.
If there is more than one standby device available within a cluster, the order in which they are promoted will depend on how your project has been configured.
If necessary, you can manually set the order your standby devices are promoted in via the I/O device's Priority property (see Add an I/O Device). If priorities are not set, the compiler automatically allocates a priority value to each standby device based on the following rules:
-
User-configured priority settings take precedence
-
Any standby devices without a priority setting will follow those that do, their priority being allocated in the order they were configured
-
If no standby devices have a priority setting, they will be assigned priority according to the order they were configured.
These rules apply regardless of the connections between the I/O devices and I/O Servers configured in a cluster.
The standby device priorities are confirmed and/or allocated during project compilation. Notification is provided for each allocation issued by the compiler. Compile error messages will result from the following circumstances:
-
If a primary device has a priority setting other than the default value of 1
-
If standby devices have duplicated priority values.
Example
The following diagram shows four I/O devices connected to two I/O Servers, with just one primary device configured.

If no priorities were set for the standby devices, the compiler would allocate the following:
-
I/O Device1 is allocated Priority 1 by default (no compiler alert)
-
I/O Device2 is allocated Priority 2 (compiler alert generated)
-
I/O Device3 is allocated Priority 3 (compiler alert generated)
-
I/O Device4 is allocated Priority 4 (compiler alert generated)
This presumes the devices were configured in numerical order.
If I/O Device3 has been manually set to priority 2, the compiler would allocate the following:
-
I/O Device1 is allocated Priority 1 by default (no compiler alert)
-
I/O Device2 is allocated Priority 3 (compiler alert generated)
-
I/O Device3 is allocated Priority 2 (no compiler alert)
-
I/O Device4 is allocated Priority 4 (compiler alert generated)
In this case, the setting for I/O Device3 has taken precedence. The remaining standby devices are set for promotion based on the order they were configured.
Note: The automated priorities work on an n+1 equation; if I/O Device3 has been set to Priority 5, the remaining devices would have been allocated priority 6 and 7.