Maybe this would be a good time to back up and talk about design philosophy. I think users sometimes have a mental image that prevents them from seeing the forest for the trees. Maybe I can help.
We could have built a PID box that had an input parameter for every single value used: PV, SP, Output, Gain, Rate, Reset, etc...and that might actually be easier to grasp, but it isn't super convenient. What we realized though was that since we already needed to allocate some work space for internal loop variables, we could expand the structure to include every input and output variable for the entire loop. So instead of creating 20 different tags, you just create one. And it really becomes self documenting.
Let's say you need a loop to control a tank temperature, so you create a loop tag called TankTemp. So rather than documenting 20 different tags, it's one and done. PV? TankTemp.PV. SP? TankTemp.SP. Gain? TankTemp.Gain. Etc. Those variable can be referenced throughout the program like V10 or N7 or R15...they are no different. There is no real benefit to using N7 to reference the PV and then copy into TankTemp.PV.
Maybe you don't like the name of a field. Let's say that the loop output is actually driving the tank's burner, and you don't like TankTemp.Output. No problem. Individual structure fields can have their own nickname, so you can assign TankBurner as the nickname for TankTemp.Output.
Since we realized that in some cases, your PV and Output would be directly tied to their respective analog channels, we added the scale options to simplify the hookup. They aren't required, just there for convenience.
The decision to use 0-100% for the output was also intended to simplify. We don't know what your physical output is: bang bang, PWM, 12 bit analog, 16 bit analog, scaled engineering units...we don't care, it's all 0-100%. And in reality, it is. Somewhere between fully off and fully on. By using a normalized output, we didn't need the loop to have more knowledge when auto tuning. One less thing to get wrong.
While it may be different than other products, our intention was to simplify. Sadly, I think we did the opposite, at least at first. But once you understand, you can create a brand new loop, wire it to the associated I/O, and auto-tune it in a couple of minutes. With other implementations you'd still be creating tags.