Thanks, I'm trying to show what can be done and create Ideas that other fly with.

Steve your the main man that's making this all possible,

Thanks again
this code is what was added to the PLC script, and of course had to make some additions and changes to the screen
I did add some registers to beable to pass the data to other resources.
but it takes very little to get a screen you might like.
local valxinch = mc.mcAxisGetPos(inst, 0);
local valyinch = mc.mcAxisGetPos(inst, 1);
local valzinch = mc.mcAxisGetPos(inst, 2);
local valadeg = mc.mcAxisGetPos(inst, 3);
local metricConvert = 25.40007660663105
local valxmm = valxinch * metricConvert;
local valymm = valyinch * metricConvert;
local valzmm = valzinch * metricConvert;
hReg = mc.mcRegGetHandle(inst, "iRegs0/xmm");
mc.mcRegSetValue(hReg,valxmm);
hReg = mc.mcRegGetHandle(inst, "iRegs0/ymm");
mc.mcRegSetValue(hReg,valymm);
hReg = mc.mcRegGetHandle(inst, "iRegs0/zmm");
mc.mcRegSetValue(hReg,valzmm);
hReg = mc.mcRegGetHandle(inst, "iRegs0/xinch");
mc.mcRegSetValue(hReg,valxinch);
hReg = mc.mcRegGetHandle(inst, "iRegs0/yinch");
mc.mcRegSetValue(hReg,valyinch);
hReg = mc.mcRegGetHandle(inst, "iRegs0/zinch");
mc.mcRegSetValue(hReg,valzinch);
hReg = mc.mcRegGetHandle(inst, "iRegs0/adeg");
mc.mcRegSetValue(hReg,valadeg);
scr.SetProperty('xdro1', 'Units', '0');
scr.SetProperty('ydro1', 'Units', '0');
scr.SetProperty('zdro1', 'Units', '0');
scr.SetProperty('xdro1mm', 'Units', '1');
scr.SetProperty('ydro1mm', 'Units', '1');
scr.SetProperty('zdro1mm', 'Units', '1');
scr.SetProperty('xdro1', 'Value', tostring(valxinch));
scr.SetProperty('ydro1', 'Value', tostring(valyinch));
scr.SetProperty('zdro1', 'Value', tostring(valzinch));
scr.SetProperty('xdro1mm', 'Value', tostring(valxmm));
scr.SetProperty('ydro1mm', 'Value', tostring(valymm));
scr.SetProperty('zdro1mm', 'Value', tostring(valzmm));