I/O tags - processing a value acquired from the communication
An object of the I/O tag type allows configuring a sizeable quantity of parameters, which determine the procedure of processing of so-called "raw" value acquired from communication. This document describes in detail individual steps for each of the value types separately. The listed information can helpful during analysis and comparison of values with process level and for programmers and users of the D2000 KomAPI open interface.
Processing of a new value of the I/O tag is performed within the call of PointNewValue call-back function of the D2000 KomAPI interface.
Value types of I/O tags in the D2000 system: DI, AI, CI, TIR, TIA, QI, TXTI, DOUT, AO, CO, TOR, TOA, TXTO.
DI value type
If the entered value is valid ("Valid" status bit is set) and the value is not a default one (the "Default" status bit is not set), the following will be performed:
- Polarity inversion of this input value will be performed if "Inverse" polarity is configured (the Polarity tab, Logical polarity parameter in a particular I/O tag configuration dialog box).
The value is ignored if the I/O tag is in default value mode. For further information see the Default value chapter.
A value change check is carried out, comparing the value with the previous one. If a change has been detected, then the value is sent to the D2000 Server after processing the process alarms.
AI, CI value types
In the case of AI type, if the value is valid, the validity check of the number in the floating-point format is executed. If the number is not valid, then the invalid value is sent to the D2000 Server.
If the entered value is valid ("Valid" status bit is set) and the value is neither default (the "Default" status bit is not set) nor simulated, the following steps will be performed:
- Conversion to technical units (None / Linear conversion / Polynomial conversion / Pt 100 conversion). The value of CI type is converted to a real number in the floating-point format and after the conversion to technical units, it is converted in a saturation way back to the integer form.
- Value filtering (None / First order filter / Out of limits values are undefined / Value kept always in limits).
- Filtering based on the defined value absorption.
- Filtering based on the defined dead band.
- Value limits are checked.
The value is ignored if the tag is in default value mode. For further information see the Default value chapter.
A value change check is carried out, comparing the value with the previous one. If a change has been detected, then the value is sent to the D2000 Server after processing the process alarms.
TIR, TIA value types
If the entered value is valid ("Valid" status bit is set) and the value is neither default (the "Default" status bit is not set) nor simulated, the following steps will be performed:
- Conversion to technical units (None / Linear conversion) in case of TIR type.
- Value filtering (None / First order filter / Out of limits values are undefined / Value kept always in limits) in case of TIR type.
- Filtering based on the defined dead band in case of TIR type.
- Value limits are checked in the case of TIR type.
The value is ignored if the tag is in default value mode. For further information see the Default value chapter.
A value change check is carried out, comparing the value with the previous one. If a change has been detected, then the value is sent to the D2000 Server after processing the process alarms.
QI, TXTI value types
The value is ignored if the tag is in default value mode. For further information see the Default value chapter.
A value change check is carried out, comparing the value with the previous one. If a change has been detected, then the value is sent to the D2000 Server after processing the process alarms.
DOUT value type
The value is ignored if the tag is in default value mode. For further information see the Default value chapter.
A value change check is carried out, comparing the value with the previous one. If a change has been detected, then the value is sent to the D2000 Server after processing the process alarms.
AO, CO value types
If the value is valid, the following steps will be performed:
- Conversion to technical units (None / Inverse linear conversion). The value of CO type is converted to a real number in the floating-point format and after the conversion to technical units, it is converted in a saturation way back to the integer form.
- If the "Transient" status bit of the value is not set, then the value limits check will be performed.
The value is ignored if the tag is in default value mode. For further information see the Default value chapter.
A value change check is carried out, comparing the value with the previous one. If a change has been detected, then the value is sent to the D2000 Server after processing the process alarms.
TOR, TOA value types
If the value is valid, the following steps will be performed:
- Conversion to technical units (None / Inverse linear conversion) in case of TOR type.
- Value limits are checked in the case of a TOR type.
The value is ignored if the tag is in default value mode. For further information see the Default value chapter.
A value change check is carried out, comparing the value with the previous one. If a change has been detected, then the value is sent to the D2000 Server after processing the process alarms.
TXTO value type
The value is ignored if the tag is in default value mode. For further information see the Default value chapter.
A value change check is carried out, comparing the value with the previous one. If a change has been detected, then the value is sent to the D2000 Server after processing the process alarms.
Value limits check
The check is also executed internally for CI and CO types in the floating-point form. Checking of limits is executed, to verify the validity of the condition:
VMin_Limit <= Min_Limit <= Max_Limit <= VMax_Limit
If not (wrong values of dynamic limits), the "LimitsProblem" limit flag is set, otherwise, processing of the hysteresis and setting of a particular limit flag will be executed.
Value change check
Value change check, that is comparing the value with the last value that was acquired from communication, is used to reduce the number of data changes that are sent from the communication process to the D2000 Server and from the D2000 Server to other client processes of the D2000 system, such as the D2000 HI process, fully in accordance with the DODM design. The check proceeds as follows:
- If the new value is valid, then the check of the value is executed. If the previous value differs from the new value, the "NoAckValue" status bit is set.
- Check of status flags.
- Check of limits.
- Check of process alarm change.
- If the ST_TIME_CHANGE flag is set in the call of PointNewValue function of the D2000 KomAPI interface, then the check of the time of previous and new value will be executed.
If any of the condition mentioned above is met and the new value differs from the old one, then the new value is sent to the D2000 Server.
Default value
The default value is activated by:
- enabling Use default value option,
- enabling Force default value on HardError option when the status of parent station changes from ST_COMMERR into ST_HARDERR state or after the value of I/O tag acquired from communication is evaluated as invalid,
- an operator from the D2000 HI process, if they are allowed to activate the default value by the Switch to default value option.
All valid values acquired during communication with the device (station) are saved and in case of the cancellation of the default value (by the operator from the D2000 HI process or by means of disabling the Use default value option) they are immediately sent into the system.
All the abovementioned options are configured in the Default value tab of the I/O tag control window.
Related pages:
Pridať komentár