Files
2026-08-20 06:17:39 +08:00

201 lines
4.5 KiB
INI

[EMC]
VERSION = 1.1
MACHINE = Sim-5Axis Bridge Mill (xyzbcw)
DEBUG = 0
[DISPLAY]
GEOMETRY = XYZCBW
OPEN_FILE = ./5axisgui.ngc
INCREMENTS = 10 mm, 1 mm, .1 mm
JOG_AXES = XYZC
DISPLAY = axis
CYCLE_TIME = 0.200
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 2.0
PROGRAM_PREFIX = ../../nc_files/
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
TOOL_EDITOR = tooledit z diam
#EDITOR = geany
PYVCP = 5axis.xml
[RS274NGC]
SUBROUTINE_PATH = ./remap_subs
HAL_PIN_VARS = 1
REMAP = M428 modalgroup=10 ngc=428remap
REMAP = M429 modalgroup=10 ngc=429remap
REMAP = M430 modalgroup=10 ngc=430remap
PARAMETER_FILE = 5axis.var
[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
SERVO_PERIOD = 1000000
[TASK]
TASK = milltask
CYCLE_TIME = 0.010
[HAL]
HALUI = halui
HALFILE = LIB:basic_sim.tcl
HALFILE = 5axisgui.hal
HALCMD = net :kinstype-select <= motion.analog-out-03 => motion.switchkins-type
POSTGUI_HALFILE = 5axis_postgui.hal
[HALUI]
# M428:bridgemill (kinstype==0 startupDEFAULT)
# M429:identity kins (kinstype==1)
# M430:userk kins (kinstype==2)
MDI_COMMAND = M428
MDI_COMMAND = M429
MDI_COMMAND = M430
[TRAJ]
COORDINATES = XYZBCWY
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
MAX_ANGULAR_VELOCITY = 360.0
DEFAULT_LINEAR_VELOCITY = 200.0
MAX_LINEAR_VELOCITY = 346.0
MAX_LINEAR_ACCELERATION = 800.0
DEFAULT_LINEAR_ACCELERATION = 800.0
[EMCIO]
TOOL_TABLE = 5axis.tbl
[KINS]
# Note: Supported coordinates are XYZBCW but the W coordinate
# motion is incorporated into the X,Y,Z axes.
# Use of the W coordinate requires a joint (5)
# in order to allow display of W values.
# Use immediate homing for this joint (JOINT_5)
# Note: 5axiskins is misnomer
# (xyzbcw uses 6 joints)
# (xyzbcwy uses 7 joints)
# xyzbcw
# type0:5axiskins, type1:identity, type2:userk
# x:joint0,y:joint1,z:joint2,b:joint3,c:joint4,w:joint5
# JOINTS = 6
# KINEMATICS = 5axiskins
# illustraed below is complex example with duplicate
# coord letters for y, 7 joints total):
# type0:5axiskins, type1:identity, type2:userk
# x:joint0
# y:joint1 AND joint6
# z:joint2
# b:joint3
# c:joint4
# w:joint5
JOINTS = 7
KINEMATICS = 5axiskins coordinates=xyzbcwy
[AXIS_X]
MIN_LIMIT = -500
MAX_LIMIT = 500
MAX_VELOCITY = 200
MAX_ACCELERATION = 800
[AXIS_Y]
MIN_LIMIT = -500
MAX_LIMIT = 500
MAX_VELOCITY = 200
MAX_ACCELERATION = 800
[AXIS_Z]
MIN_LIMIT = -500
MAX_LIMIT = 100
MAX_VELOCITY = 200
MAX_ACCELERATION = 800
# B is one-to-one to JOINT_3
[AXIS_B]
MIN_LIMIT = -120
MAX_LIMIT = 120
MAX_VELOCITY = 60
MAX_ACCELERATION = 200
# C is one-to-one to JOINT_4
[AXIS_C]
MIN_LIMIT = -36000
MAX_LIMIT = 36000
MAX_VELOCITY = 60
MAX_ACCELERATION = 200
# W motion is incorporated in Z motion
# but a joint (JOINT_5) must be configured
# to support display of W values
[AXIS_W]
MIN_LIMIT = -100
MAX_LIMIT = 500
MAX_VELOCITY = 200
MAX_ACCELERATION = 800
[JOINT_0]
TYPE = LINEAR
MAX_VELOCITY = 200
MAX_ACCELERATION = 800
MIN_LIMIT = -500
MAX_LIMIT = 500
HOME_SEARCH_VEL = 0
HOME_SEQUENCE = 0
[JOINT_1]
TYPE = LINEAR
MAX_VELOCITY = 200
MAX_ACCELERATION = 800
MIN_LIMIT = -500
MAX_LIMIT = 500
HOME_SEARCH_VEL = 0
HOME_SEQUENCE = -1
# joints 1 and 6 used for y
[JOINT_6]
TYPE = LINEAR
MAX_VELOCITY = 200
MAX_ACCELERATION = 800
MIN_LIMIT = -500
MAX_LIMIT = 500
HOME_SEARCH_VEL = 0
HOME_SEQUENCE = -1
[JOINT_2]
TYPE = LINEAR
MAX_VELOCITY = 200
MAX_ACCELERATION = 800
MIN_LIMIT = -500
MAX_LIMIT = 100
HOME_SEARCH_VEL = 0
HOME_SEQUENCE = 0
[JOINT_3]
TYPE = ANGULAR
MAX_VELOCITY = 60
MAX_ACCELERATION = 200
MIN_LIMIT = -120
MAX_LIMIT = 120
HOME_SEARCH_VEL = 0
HOME_SEQUENCE = 0
[JOINT_4]
TYPE = ANGULAR
MAX_VELOCITY = 60
MAX_ACCELERATION = 200
MIN_LIMIT = -36000
MAX_LIMIT = 36000
HOME_SEARCH_VEL = 0
HOME_SEQUENCE = 0
# immediate homing for JOINT_5 (w coordinate)
[JOINT_5]
TYPE = LINEAR
MIN_LIMIT = -100
MAX_LIMIT = 500
MAX_VELOCITY = 200
MAX_ACCELERATION = 800
HOME_SEARCH_VEL = 0
HOME_SEQUENCE = 0