Getting to know objects
The root term in OOP stems from objects, which are things. Essentially, the c1 and c2 variables in the PLC_PRG file are objects; they are different instances of the Calculator function block. In other words, the variables are compact copies of the function block. This is a very powerful concept because though the variables reference the same code in the function block, they can hold different data. To demonstrate this, match the following code snippet to your Calculator function block:
FUNCTION_BLOCK PUBLIC Calculator VAR_INPUT input : INT; END_VAR VAR_OUTPUT output : INT; END_VAR VAR END_VAR
In this demonstration, we have simple input and output variables. This code will require an input variable to be provided when the object variable is initialized. All the logic will do is assign the input to the output, as in the following snippet:
output := input;
To provide an argument to the function block, we have to use named parameters. As such, we are...