DaztheGas,
I tried your nice script in the screen load and in the PLC script but nothing happens. Not sure why.
My version placed in the PLC script works.
mc.mcSoftLimitSetState(inst, mc.Z_AXIS, mc.MC_ON);
mc.mcSoftLimitSetState(inst, mc.Y_AXIS, mc.MC_ON);
mc.mcSoftLimitSetState(inst, mc.X_AXIS, mc.MC_ON);