I/O tags - processing a value acquired from the communication
An object of I/O tag type allows to configure sizeable quantity of parameters, which determine the procedure of processing of so-called "raw" value acquired from communication. This document describes in detail individual processes for each of value types separately. The listed information can helpful during analysis and comparison of values with process level and for programmers and users of the open interface D2000 KomAPI.
Processing of a new value of I/O tag is executed by calling PointNewValue call-back function of the interface D2000 KomAPI.
Value types of I/O tags in 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 adjusted) and the value is not the default one ("Default" status bit is not adjusted), the following will be executed:
- Polarity inversion of this input value if "Inverse" polarity is adjusted (Polarity tab, Logical polarity parameter in particular I/O tag configuration dialog box).
Value is ignored if I/O tag is in default value mode. For further information see Default value.
Value change check in comparison with the previous state will be carried out. If a change has been performed, then the value is sent to Server after process alarm check.
AI, CI value types
In case of AI type, at first, if the value is valid, the validity check of the number in the floating point form is executed. If the number is not valid, then the invalid value is sent to Server.
If the entered value is valid ("Valid" status bit is adjusted) and the value is neither the default one ("Default" status bit is not adjusted) nor simulated, there will be executed:
- Conversion to technical units (None / Linear conversion / Polynomial conversion / Pt 100 conversion). Value of CI type is converted to a real number in the floating point form and after the conversion to technical units is converted by saturation mode back to the cardinal form.
- Value filtering (None / First order filter / Out of limits values are undefined / Value kept always in limits).
- Filtering according to the defined value absorption.
- Filtering according to the defined dead band.
- State check of value limits.
Value is ignored if I/O tag is in default value mode. For further information see Default value.
Value change check in comparison with the previous state will be executed. If a change has been performed, then the value is sent to Server after process alarm check.
TIR, TIA value types
If the entered value is valid ("Valid" status bit is adjusted) and the value is neither the default one ("Default" status bit is not adjusted) nor simulated, there will be executed:
- 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 according to the defined dead band in case of TIR type.
- State check of value limits in case of TIR type.
Value is ignored if I/O tag is in default value mode. For further information see Default value..
Value change check in comparison with the previous state will be executed. If a change has been made, then the value is sent to Server after process alarm check.
QI, TXTI value types
Value is ignored if I/O tag is in default value mode. For further information see Default value.
There will be executed the value change check in comparison with the previous state. If a change has been made, then the value is sent to Server after process alarm check.
DOUT value type
Value is ignored if I/O tag is in default value mode. For further information see Default value..
There will be executed the value change check in comparison with the previous state. If the change was performed, then the value is sent to Server after process alarm check.
AO, CO value types
If the value is valid, the following steps will be executed:
- Conversion to technical units (None / Inverse linear conversion). Value of CO type is converted to a real number in the floating point form and after the conversion to technical units is converted by saturation mode back to the cardinal form.
- If "Transient" status bit of the value is not adjusted, then the state check of value limits will be executed.
Value is ignored if I/O tag is in default value mode. For further information see Default value.
Value change check in comparison with the previous state will be executed. If a change has been performed, then the value is sent to Server after process alarm check.
TOR, TOA value types
If the value is valid, there will be executed:
- Conversion to technical units (None / Inverse linear conversion) in case of TOR type.
- State check of value limits in case of TOR type.
Value is ignored if I/O tag is in default value mode. For further information see Default value.
Value change check in comparison with the previous state will be executed. If the change was performed, then the value is sent to Server after process alarm check.
TXTO value type
Value is ignored if I/O tag is in default value mode. For further information see Default value.
There will be executed the value change check in comparison with the previous state. If a change has been made, then the value is sent to Server after process alarm check.
State check of value limits
The check is also executed internally for CI and CO types in the floating point form. Check 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), "LimitsProblem" limit flag is set, on the contrary an own check regarding the hysteresis and setting of particular limit flag will be executed.
Value change check
Value change check, compared with the last status that is acquired from communication, is used to eliminate data quantity that is sent among the communication process and Server and Server and other client processes of D2000 system such as process D2000 HI, fully in the sense of DODM. The check proceeds as follows:
- If the new value is valid, then the check of own values is executed. If the previous value is other than the new value, "NoAckValue" status bite is adjusted.
- Check of state flags.
- State check of limits.
- State change of process alarms.
- If ST_TIME_CHANGE flag is set to the calling PointNewValue of the interface D2000 KomAPI, then the generation time check of the previous and the new value will be executed.
If any of the condition mentioned above is met and the new value is other than the old one, then this new value is sent to Server.
Default value
Default value is initialized by:
- enabling Use default value option,
- enabling Force default value on HardError option during the state change of parent-station from ST_COMMERR into ST_HARDERR state or after the evaluation of the I/O tag invalid state acquired from communication,
- Operator from process D2000 HI, if it is allowed to him/her by means of enabled Switch to default value option.
All valid values acquired during communication with device-station are saved and in case of the cancellation of manual value (by operator from process D2000 HI or by means of disabled Use default value option) they are immediately sent into the system.
All the mentioned options are configured in Default value tab of I/O tag control window.
Related pages: