FUNCTION_BLOCK ADD_ANALOG_DATA

Upon the occurrence of an event at the REQ input of an instance of this simple function block type, the ANALOG_DATA values of the IN1 and IN2 variables are added together and the result is limited to the subrange {-4095..4095} to produce the value of the OUT variable, and an event is produced at the CNF output.

The operation of an instance of this FB type is illustrated below, using the Run option of the FBDK:

  1. The initial situation before clicking the REQ button.
  2. The situation after clicking the REQ button. The empty string is not a valid value for the ANALOG_DATA data type, so the default initial value of -4095 is used for both the IN1 and IN2 inputs, and the sum (-8190) is then limited to the lower bound to give an OUT value of -4095.
  3. The situation after entering a value of 4095 for the IN1 input and clicking the REQ button. The initial value of -4095 continues to be used for the IN2 input, giving an OUT value of 0.
  4. The situation after entering a value of 1 for the IN2 input and clicking the REQ button. The sum (4096) is now limited to the upper bound to give an OUT value of 4095.
  5. The situation after entering a value of -5000 for the IN1 input and clicking the REQ button. The IN1 input is automatically limited to the lower bound of -4095, and the resulting sum is now -4094.
1
2
3
4
5