Thanks @smurph,
I'm a real rookie when it comes to programming, and making a ATC work might not be the easiest or smartest thing to start with. However I'm comitted and I will make this work!
There are some elementary stuff I'm yet not aware of, but I think the pieces will fall in place sooner or later.

- Counts per revolution in the config, would that be for the motor-shaft or the tool-turret? Our turret is geared/have ratio.
- We will home the axis, when referencing the machine. But not in the middle of program (I guess this was what you meant).
I looked in the manual and found the examples and some questions arised:
1. In the example, where in the script is the Axis defined? Can't really figure out where I could define it's all about the OB2 i.e?
Or is that simple as when I assign the DRO Code of OB2 for the DRO in the GUI, the script that goes inside DRO will keep track of where it is and what to update?
2. If I just Copy&Paste the example update script, then the DRO will update if my M6 script or if my Signal script in event of manual button push jog the OB2 axis?
I can't really see that I would need to modify the example?
-- Example encoder update script.
local inst = mc.mcGetInstance()
local val = select(1,...) -- Get the system value.
val = tonumber(val) -- The value may be a number or a string. Convert as needed.
local name = select(2, ...) -- Get the control name. It is always a string.
val = val / 1024 -- convert the encoder value to a decimal (assumes 1024 counts per unit).
return val -- the script MUST return a value, otherwise, the control will not be updated.
3. Now to the modify script, I guess this is where I should "zero"/roll over the axis in event of >360 degrees?
I'm in the right direction with this code? (modyfied the example a bit, haven't debugged it though.)
local inst = mc.mcGetInstance()
local val = select(1,...) -- Get the user supplied value.
val = tonumber(val) -- The value may be a number or a string. Convert as needed.
local name = select(2, ...) -- Get the control name. It is always a string.
if val > 359.999 then
val = 0
end
val = val * 1024 -- convert the decimal value to encoder counts (assumes 1024 counts per unit).
return val -- the script MUST return a value, otherwise, the encoder register will not be updated.