Setting the limits at the translation stage generated a bug in the part of the VI where it sends the positioning commands: if the position exceeds the axis range, the VI goes in loop. I fixed it making a subVI "Read limits axis.vi" that reads the limits from the translation stage controller and set the minimum and maximum positions in the property node of the position controls of the VI.