# Notes: # 1) [AXIS_n]OFFSET_AV_RATIO= controls external offsets a,v # Allowed values are 0.0 <= OFFSET_AV_RATIO <= 0.9 # Value of 0.0 disables external offsets # Disallowed values are superseded with msg to stdout # 2) Immediate homing herein # ([JOINT_*]HOME_SEQUENCE=0, other HOME_* items omitted) # 3) uncomment [JOINT_0]HOME_SEARCH_VEL,HOME_LATCH_VEL # to demonstrate non-zero joint.0.motor-offset [APPLICATIONS] APP = sim_pin --title "MPG Simulator" \ e:xcounts \ e:ycounts \ e:zcounts # make sure [xyz]:ecounts are zero if machine off: APP = eoffsets_monitor.tcl [HAL] HALUI = halui HALFILE = LIB:basic_sim.tcl -no_use_hal_manualtoolchange HALFILE = eoffsets.hal POSTGUI_HALFILE = eoffsets_panel.hal [EMC] MACHINE = External Offsets Demo VERSION = 1.1 [DISPLAY] PYVCP = eoffsets_panel.xml DISPLAY = axis POSITION_OFFSET = RELATIVE POSITION_FEEDBACK = ACTUAL MAX_LINEAR_VELOCITY = 2 OPEN_FILE = ./eoffsets.ngc TKPKG = Ngcgui 1.0 NGCGUI_FONT = Helvetica -12 normal NGCGUI_SUBFILE = queuebuster.ngc [TASK] TASK = milltask CYCLE_TIME = 0.001 [RS274NGC] SUBROUTINE_PATH = . USER_M_PATH = . PARAMETER_FILE = sim.var [EMCIO] TOOL_TABLE = eoffset.tbl EMCIO = io CYCLE_TIME = 0.100 [EMCMOT] EMCMOT = motmod SERVO_PERIOD = 1000000 [TRAJ] COORDINATES = XYZ LINEAR_UNITS = inch ANGULAR_UNITS = degree [KINS] JOINTS = 3 KINEMATICS = trivkins coordinates=XYZ [AXIS_X] OFFSET_AV_RATIO = 0.2 MAX_VELOCITY = 2 MAX_ACCELERATION = 20 MIN_LIMIT = -0.1 MAX_LIMIT = 10 [AXIS_Y] OFFSET_AV_RATIO = 0.2 MAX_VELOCITY = 2 MAX_ACCELERATION = 20 MIN_LIMIT = -0.1 MAX_LIMIT = 5 [AXIS_Z] OFFSET_AV_RATIO = 0.2 MAX_VELOCITY = 2 MAX_ACCELERATION = 20 MIN_LIMIT = -1 MAX_LIMIT = 1 [JOINT_0] TYPE = LINEAR HOME_SEQUENCE = 0 MAX_VELOCITY = 2 MAX_ACCELERATION = 20 [JOINT_1] TYPE = LINEAR HOME_SEQUENCE = 0 MAX_VELOCITY = 2 MAX_ACCELERATION = 20 [JOINT_2] TYPE = LINEAR HOME_SEQUENCE = 0 MAX_VELOCITY = 2 MAX_ACCELERATION = 20