The purpose of this logic below is to determine if a valve position is within +/-5% difference from CV (PID output). If it is over +/-5%, the tag EXP-ZT1505-DEV will be set to 1 (alarm)
Let dissect the logic.
The summation function block (Sum K, FC 15 – SUM 2-INPUT) performs a weighted sum of two inputs. By choosing the proper gains and inputs this block can perform
proportional, bias or difference functions. But for our application we are looking to find the difference between S1 and S2. this is the equation it uses.
Output = ( * S3) + ( * S4)
This will what out Output equation looks like
Output = (64.488 * 1) + (64.594 * -1)
The output from the above function block (FC 15 – SUM 2-INPUT) is compared using the H//L function block.
This is the logic behind this function block.
If S1 > S2, the H (N1, output from this function block) will return 1, else it is zero.
If S1 > S3, the L (N2, output from this function block) will return 1, else it is zero.
For our example, since out Output is -0.106, both the H and L will be zero.
The output from the H//L function block is put through an OR function block.
If any of the S1 or S2 is 1, N1 from OR function block will return 1 else it will return zero.
The output from the OR function block goes to TD-DIG function block (FC 35 – TIME DELAY OR PULSE). This is basically a debouncer timer, that is, if the S1 is 1 for 10 seconds (as set in S3), the function block TD-DIG will return 1 (after 10 seconds expiration).
Just as a note, S2 has an option of 0 (pulse output), 1 (timed out) and 2 (timing).
If you click the browse button (..), you will get a full literate of what can be selected.
And finally the output from TD-DIG funcion block is input to S1 of the DO/L function block (FC 45 – DIGITAL EXCEPTION REPORT).
Note that S2 is the location where you can defined if the DCS should alarm on 1 or 0. Or no alarm at all.