I don’t often hear the terms "Positional" or "Velocity" (or the equivalent,
”full value” and “incremental”) anymore.
Back (1970’s through 1980’s), control was often implemented on a mini-computer connected to analog instruments on a panel-board. The analog instrument would provide the 4 to 20 ma signal that actually was connected to the equipment in the plant (typically a valve). There were two ways to connect the output signal to the analog instrument using a Digital to Analog converter in the computer.
One method, the velocity or incremental method, transmitted a rate of change to the analog instrument, which then integrated the rate of change to provide the actual current output to the valve.
The other method, the position or full value method, transmitted an analog voltage that corresponded to the actual position of the valve.
The advantage of the velocity form is that if the computer failed (quite common in those days) the analog instrument held its value and allowed the operator to adjust the output manually.
The advantage of the positional form is that the compute actually determines the valve position, can indicate it to the operator, and allow the operator to set the valve position through the computer.
The PID algorithm had to be different for the two methods. The velocity form will be integrated in the external analog device, so the equation is actually the derivative of the PID algorithm:
DeltaOut = Kp(dE/dt + Ki x E + Kd x d2E/dt2)
Where Kp is gain, Ki is Reset Rate, Kd is Derivative, E is error, and DeltaOut is what is actually output to the analog device.
ELast is the error from the previous execution of the code, ELastLast is the error from two passes before. The code is executed at some rate, perhaps once per second.
For the position form, the above equation is integrated. So the code would be: