7 DEVICE SUPPORT BLOCK (DSB)
7.3 Data processing
When a DSB is loaded, it performs the following:
Checks for communication status with slave device.
– If the DSB is communicating with the slave device, the SLAVESTATE parameter is set to
– If there is a communication error between the DSB and the slave device, the SLAVESTATE parameter is
set to "Communication error" and notifications are sent accordingly.
For each configured PDC, checks its communication with PB and PIOMB and sets the PDCSTATE
For PDCs that are configured as AI or DI module, the DSB performs the following:
– Receives extended diagnostic data and process data from the slave device.
– Updates CHDATARAW parameter for AI modules, performs percentage range conversion, and updates
– Updates CHDATABOOL parameter with the value of each channel.
– Processes extended diagnostic data and sends notification based on extended diagnostic data.
– Updates channel status based on extended diagnostics.
For PDCs that are configured as AO or DO module, the DSB performs the following.
– Processes extended diagnostic data, updates channel status, and sends notifications based on channel
– Checks if the configured PDC is associated with a PIOMB.
If a configured PDC is associated with a PIOMB, the DSB performs the following:
– Receives recent data from the PIOMB and sends it to the device.
– Updates the CHDATARAW and CHDATAREAL parameters of the configured AO module with the data
sent to end device.
– Updates the CHDATABOOL parameter of the configured DO module with the data sent to the end
If a configured PDC is not associated with a PIOMB, the DSB sets the channel values to 0.
7.3.1 Extended range handling
For output channels, whenever the output value received from the C300 is greater than the maximum range, the
output value is clamped to the maximum possible value maintaining the channel status as
For example, consider the following scenario.
The high range of a channel is 20000 and the extended high range of a channel is value 25000. In such a
scenario, if the value received from the C300 is 27000, then this value is clamped to 25000.
However, when there is no association of a PDC to a PIOMB, and when you try to enter the output values that
are out of range, the following error message "kVAStsLimitOrRangeExceeded" appears. In such a case, the last
good value is retained.
For input values which are out of the maximum extended range, the input channel status is set to
"Bad_DevError." However, the same value is sent to the C300. The DSB does not clamp the value received
from the device to extended range limits.
The extended range lower limit for all the analog input modules is "0."