This TechTip is about using a macro for a simple calculation to determine the difference between 2 values. To calculate the difference between 2 values, first we use the “>=” operator to determine if value1 is greater than or equal to value2, if this is the case, our result is calculated value1 – value2. If value2 is greater than value1 then our result calculation is value2 – value1.
The macro is shown below:
macro_command main()
short value1 // value1 is a 16bit word
short value2 // value2 is a 16bit word
short result // result is a 16bit word
GetData(value1, "Local HMI", LW, 0, 1) // get value1 from HMI LW 0
GetData(value2, "Local HMI", LW, 1, 1) // get value2 from HMI LW 1
if value1 >= value2 then // if value 1 is greater than or equal to value2 then...
result = value1 - value2 // result = value1 - value2
else if value2 > value1 then // if value 2 is greater than value1 then...
result = value2 - value1 // result = value2 - value1
end if
SetData(result, "Local HMI", LW, 10, 1) // put result in LW 10
end macro_command
As usual there’s a demo project available for you to try out using EasyBuilder Pro’s excellent simulator. Download the demo here.
