Input with Range Monitoring (v1.3)
Full Name
Lib.Mervis.v1_3.SafeInput
Description
The auxiliary block is used for monitoring the range of the input variable, filtering it, and potentially switching to a backup value.
Required Project References
- Lib.Mervis
Usage in ST
program test
    var
        inp: lib.mervis.v1_3.SafeInput;
    end_var
    inp();
end_program
Input and Output Description
| Inputs | Name | Data Type | Retain | Mandatory Connection | Meaning | 
| AlarmPriority | AlarmPriorityType | No | No | Class of generated alarm | |
| Input | real | No | Yes | Input value | |
| Minimum | real | No | No | Minimum allowed value | |
| Maximum | real | No | No | Maximum allowed value | |
| Hysteresis | real | No | No | Hysteresis around Minimum and Maximum | |
| SafeInput | real | No | No | Backup value in case of failure | |
| FilterTimeConstant | time | No | No | Time constant of the filter for value filtering. If it has a zero value (t#0s), no filtering is performed | |
| Override | bool | No | No | Input for forced switching to backup value | 
| Outputs | Name | Data Type | Meaning | 
| Alarm | AlarmTrigger | Trigger variable for alarm | |
| Output | real | Output | 
Detailed Function Description
The block is used to handle the value, for example from sensors, where in the case of its failure it is replaced by a safe value to prevent inappropriate action by the following blocks. If the Override input is true, it forces a switch to the safe value and simultaneously triggers an alarm state. A failure is considered when:
- The input value is outside the Minimum - Maximum range
- The value is NaN (not a number)
- The value is +inf, -inf
