Import LinuxCNC source tree
This commit is contained in:
271
configs/by_machine/smithy/1034gecko.ini
Normal file
271
configs/by_machine/smithy/1034gecko.ini
Normal file
@@ -0,0 +1,271 @@
|
||||
# EMC controller parameters for Parallel Port controlled Smithy 1034 Gecko Mill
|
||||
|
||||
[EMC]
|
||||
MACHINE = Smithy 1034 Gecko Mill
|
||||
VERSION = 1.1
|
||||
DEBUG = 0x00000000
|
||||
#DEBUG = 0x7FFFFFFF
|
||||
|
||||
[DISPLAY]
|
||||
#DISPLAY = eztrol
|
||||
# CYCLE_TIME is used by eztrol
|
||||
CYCLE_TIME = .1
|
||||
DISPLAY = axis
|
||||
#DISPLAY = tklinuxcnc
|
||||
#HELP_FILE = /usr/share/doc/linuxcnc/tklinuxcnc.txt
|
||||
TKPKG = Ngcgui 1.0
|
||||
TKPKG = Ngcguittt 1.0
|
||||
# note: ngcgui_app.tcl must precede ngcgui_ttt.tcl
|
||||
NGCGUI_FONT = Helvetica -12 normal
|
||||
TTT = truetype-tracer
|
||||
TTT_PREAMBLE = in_std.ngc
|
||||
NGCGUI_PREAMBLE = in_std.ngc
|
||||
NGCGUI_POSTAMBLE = bye.ngc
|
||||
NGCGUI_SUBFILE = backlash.ngc
|
||||
NGCGUI_SUBFILE = hole_circle.ngc
|
||||
NGCGUI_SUBFILE = helix.ngc
|
||||
NGCGUI_SUBFILE = helix_rtheta.ngc
|
||||
NGCGUI_SUBFILE = slot.ngc
|
||||
NGCGUI_SUBFILE = simp.ngc
|
||||
NGCGUI_SUBFILE = xyz.ngc
|
||||
NGCGUI_SUBFILE = iquad.ngc
|
||||
NGCGUI_SUBFILE = oquad.ngc
|
||||
NGCGUI_SUBFILE = db25.ngc
|
||||
NGCGUI_SUBFILE = ihex.ngc
|
||||
NGCGUI_SUBFILE = ohex.ngc
|
||||
NGCGUI_SUBFILE = gosper.ngc
|
||||
NGCGUI_SUBFILE = ""
|
||||
#NGCGUI_SUBFILE = "" use when imageframe is specified if
|
||||
# opening other files is required
|
||||
# images will be put in a toplevel window
|
||||
NGCGUI_OPTIONS =
|
||||
#NGCGUI_OPTIONS = opt1 opt2 ...
|
||||
# opt items:
|
||||
# nonew -- disallow making a new tab page
|
||||
# noremove -- disallow removing any tab page
|
||||
# noauto -- no autosend (makeFile, then manually send)
|
||||
# noiframe -- no internal image, image on separate toplevel
|
||||
POSITION_OFFSET = RELATIVE
|
||||
POSITION_FEEDBACK = ACTUAL
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MIN_SPINDLE_OVERRIDE = 0.2
|
||||
MAX_SPINDLE_OVERRIDE = 1.5
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in
|
||||
PROGRAM_PREFIX = ../../nc_files/
|
||||
#EDITOR = geany
|
||||
TOOL_EDITOR = tooledit
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
MAX_LINEAR_VELOCITY = 2.0
|
||||
DEFAULT_ANGULAR_VELOCITY = 12.0
|
||||
MAX_ANGULAR_VELOCITY = 60
|
||||
|
||||
[FILTER]
|
||||
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
|
||||
PROGRAM_EXTENSION = .py Python Script
|
||||
png = image-to-gcode
|
||||
gif = image-to-gcode
|
||||
jpg = image-to-gcode
|
||||
py = python3
|
||||
|
||||
[RS274NGC]
|
||||
PARAMETER_FILE = emc.var
|
||||
SUBROUTINE_PATH = ../../nc_files/ngcgui_lib:../../nc_files/ngcgui_lib/utilitysubs
|
||||
USER_M_PATH = ../../nc_files/ngcgui_lib/mfiles
|
||||
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
SHMEM_KEY = 111
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 50000
|
||||
SERVO_PERIOD = 1000000
|
||||
TRAJ_PERIOD = 10000000
|
||||
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.010
|
||||
|
||||
[HAL]
|
||||
HALUI = halui
|
||||
HALFILE = 1240gecko.hal
|
||||
EZTROL_HALFILE = eztrol.hal
|
||||
HALFILE = axis_manualtoolchange.hal
|
||||
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z A
|
||||
LINEAR_UNITS = inch
|
||||
ANGULAR_UNITS = degree
|
||||
MAX_LINEAR_VELOCITY = 2.0
|
||||
MAX_LINEAR_ACCELERATION = 1.5
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
|
||||
[EMCIO]
|
||||
TOOL_TABLE = mill.tbl
|
||||
#TOOL_CHANGE_POSITION = 0 0 2
|
||||
#TOOL_CHANGE_WITH_SPINDLE_ON = 1
|
||||
TOOL_CHANGE_QUILL_UP = 1
|
||||
#TOOL_CHANGE_AT_G30 = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins
|
||||
JOINTS = 4
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -14.7
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 2.0
|
||||
MAX_ACCELERATION = 1.5
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 2.0
|
||||
MAX_ACCELERATION = 1.5
|
||||
STEPGEN_MAXVEL = 2.2
|
||||
STEPGEN_MAXACCEL = 1.7
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 10uSteps = 2000
|
||||
# Vel at 200k Steps/S = 1181"/min
|
||||
SCALE = 10160
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -14.7
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.05
|
||||
MIN_FERROR = 0.01
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = -0.1
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 2
|
||||
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -7.7
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 2.0
|
||||
MAX_ACCELERATION = 1.5
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 2.0
|
||||
MAX_ACCELERATION = 1.5
|
||||
STEPGEN_MAXVEL = 2.2
|
||||
STEPGEN_MAXACCEL = 1.7
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 10uSteps = 2000
|
||||
# Vel at 200k Steps/S = 1181"/min
|
||||
SCALE = -10160
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -7.7
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.05
|
||||
MIN_FERROR = 0.01
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = -0.1
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -9.0
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 1.2
|
||||
MAX_ACCELERATION = 1.5
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 1.2
|
||||
MAX_ACCELERATION = 1.5
|
||||
STEPGEN_MAXVEL = 1.4
|
||||
STEPGEN_MAXACCEL = 1.7
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 10uSteps = 2000
|
||||
# Vel at 200k Steps/S = 1181"/min
|
||||
SCALE = -10160
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -9.0
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.05
|
||||
MIN_FERROR = 0.01
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = -0.1
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[AXIS_A]
|
||||
MIN_LIMIT = -36000.0
|
||||
MAX_LIMIT = 36000.0
|
||||
MAX_VELOCITY = 30.0
|
||||
MAX_ACCELERATION = 300.0
|
||||
|
||||
[JOINT_3]
|
||||
TYPE = ANGULAR
|
||||
HOME = 0.0
|
||||
MAX_VELOCITY = 30.0
|
||||
MAX_ACCELERATION = 300.0
|
||||
STEPGEN_MAXVEL = 33.0
|
||||
STEPGEN_MAXACCEL = 330.0
|
||||
BACKLASH = 0.0000
|
||||
SCALE = -500
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -36000.0
|
||||
MAX_LIMIT = 36000.0
|
||||
FERROR = 5.0
|
||||
MIN_FERROR = 1.0
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 0.0
|
||||
HOME_LATCH_VEL = 0.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 3
|
||||
|
||||
[EZTROL]
|
||||
QTEMC_PLUGIN = /usr/share/eztrol/lib/libqtemc-2.4.6.so
|
||||
QTEMCHAL_PLUGIN = /usr/share/eztrol/lib/libqtemchal-2.4.6.so
|
||||
EZTROLGUI = /usr/share/eztrol/eztrolgui/libguimill2.so
|
||||
MAX_SPINDLE_RPM = 5000
|
||||
DIR_PLUGIN = /usr/share/eztrol/eztrolplugins
|
||||
PLUGIN = libeztrol_wizard_plugin.so
|
||||
PLUGIN = libeztrol_webwizard_plugin.so
|
||||
# disabling settings gcode editor will benefit systems with small memory size
|
||||
ENABLE_SETTINGS_EDITOR = true
|
||||
# disable OpenGL 3D Preview
|
||||
ENABLE_3D_PREVIEW = true
|
||||
# set to Full Screen TRUE/FALSE
|
||||
FULLSCREEN = false
|
||||
# Settings Tab GCode Editor Syntax Highlight
|
||||
# color guide - http://www.w3.org/TR/SVG/types.html#ColorKeywords
|
||||
AXIS_COLOR = magenta
|
||||
LINENUMBER_COLOR = rosybrown
|
||||
GM_COLOR = blue
|
||||
STFDRLPQH_COLOR = red
|
||||
O_COLOR = blue
|
||||
RESERVEDWORDS_COLOR = darkviolet
|
||||
VARIABLE_COLOR = olive
|
||||
COMMENT_COLOR = seagreen
|
||||
GUI_STYLESHEET = eztrolstyle1.qss
|
||||
|
||||
[EZTROLWIZARDS]
|
||||
WIZARD_DIRECTORY = /usr/share/eztrol/eztrolwizards
|
||||
SAVE_DIRECTORY = ../../nc_files
|
||||
|
||||
[EZTROLWEBWIZARD]
|
||||
URL = http://www.mattshaver.com/ecmacam/ecmacam.htm
|
||||
187
configs/by_machine/smithy/1240.hal
Normal file
187
configs/by_machine/smithy/1240.hal
Normal file
@@ -0,0 +1,187 @@
|
||||
# 5i20 config file for Smithy 1240 Mill
|
||||
|
||||
# load the hostmot2 driver, this doesn't do anything by itself,
|
||||
# it just waits for low-level drivers to register boards
|
||||
loadrt hostmot2 debug_idrom=1 debug_module_descriptors=1 debug_pin_descriptors=1 debug_modules=1
|
||||
|
||||
# load the low-level driver for the board
|
||||
# this will load the board's firmware and register it with the hostmot2
|
||||
# driver loaded above, and it'll show up in HAL
|
||||
loadrt hm2_pci config="firmware=hm2/5i20/SVST2_4_7I47.BIT num_encoders=1 num_pwmgens=1 num_stepgens=4 enable_raw"
|
||||
|
||||
# 13312 = 0x3400 = Encoder Sample Rate Register
|
||||
setp hm2_5i20.0.raw.write_address 13312
|
||||
# sample rate is clock (33 MHz)/SRR+2 = 33MHz/10 = 3.3MHz
|
||||
setp hm2_5i20.0.raw.write_data 8
|
||||
# write data
|
||||
setp hm2_5i20.0.raw.write_strobe 1
|
||||
|
||||
# set up the watchdog
|
||||
#setp hm2_5i20.0.watchdog.timeout_ns 10000000
|
||||
|
||||
# load kinematics
|
||||
loadrt [KINS]KINEMATICS
|
||||
|
||||
# load motion controller, get name and thread periods from ini file
|
||||
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD traj_period_nsec=[EMCMOT]TRAJ_PERIOD key=[EMCMOT]SHMEM_KEY num_joints=[KINS]JOINTS
|
||||
|
||||
# load charge pump
|
||||
loadrt charge_pump
|
||||
|
||||
# These loopbacks are usually disconnected by a postgui halfile
|
||||
net tool-change-loop iocontrol.0.tool-change iocontrol.0.tool-changed
|
||||
net tool-prepare-loopback iocontrol.0.tool-prepare iocontrol.0.tool-prepared
|
||||
|
||||
#the Enable signal is used to permanently enable things
|
||||
newsig Enable bit
|
||||
sets Enable TRUE
|
||||
|
||||
#configure the spindle speed
|
||||
net scmd spindle.0.speed-out hm2_5i20.0.pwmgen.00.value
|
||||
setp hm2_5i20.0.pwmgen.00.scale 4000
|
||||
setp hm2_5i20.0.pwmgen.00.output-type 1
|
||||
setp hm2_5i20.0.pwmgen.pwm_frequency 100
|
||||
|
||||
# invert the step pulse polarity
|
||||
setp hm2_5i20.0.gpio.000.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.002.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.016.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.018.invert_output TRUE
|
||||
|
||||
# configure the stepgen parameters
|
||||
setp hm2_5i20.0.stepgen.00.dirsetup 5000
|
||||
setp hm2_5i20.0.stepgen.00.dirhold 1250
|
||||
setp hm2_5i20.0.stepgen.00.steplen 1250
|
||||
setp hm2_5i20.0.stepgen.00.stepspace 1250
|
||||
setp hm2_5i20.0.stepgen.00.position-scale [JOINT_0]SCALE
|
||||
setp hm2_5i20.0.stepgen.00.maxaccel [JOINT_0]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.00.maxvel [JOINT_0]STEPGEN_MAXVEL
|
||||
setp hm2_5i20.0.stepgen.01.dirsetup 5000
|
||||
setp hm2_5i20.0.stepgen.01.dirhold 1250
|
||||
setp hm2_5i20.0.stepgen.01.steplen 1250
|
||||
setp hm2_5i20.0.stepgen.01.stepspace 1250
|
||||
setp hm2_5i20.0.stepgen.01.position-scale [JOINT_1]SCALE
|
||||
setp hm2_5i20.0.stepgen.01.maxaccel [JOINT_1]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.01.maxvel [JOINT_1]STEPGEN_MAXVEL
|
||||
setp hm2_5i20.0.stepgen.02.dirsetup 5000
|
||||
setp hm2_5i20.0.stepgen.02.dirhold 1250
|
||||
setp hm2_5i20.0.stepgen.02.steplen 1250
|
||||
setp hm2_5i20.0.stepgen.02.stepspace 1250
|
||||
setp hm2_5i20.0.stepgen.02.position-scale [JOINT_2]SCALE
|
||||
setp hm2_5i20.0.stepgen.02.maxaccel [JOINT_2]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.02.maxvel [JOINT_2]STEPGEN_MAXVEL
|
||||
setp hm2_5i20.0.stepgen.03.dirsetup 5000
|
||||
setp hm2_5i20.0.stepgen.03.dirhold 1250
|
||||
setp hm2_5i20.0.stepgen.03.steplen 1250
|
||||
setp hm2_5i20.0.stepgen.03.stepspace 1250
|
||||
setp hm2_5i20.0.stepgen.03.position-scale [JOINT_3]SCALE
|
||||
setp hm2_5i20.0.stepgen.03.maxaccel [JOINT_3]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.03.maxvel [JOINT_3]STEPGEN_MAXVEL
|
||||
|
||||
# connect position commands from motion module to step generator
|
||||
net Xpos-cmd joint.0.motor-pos-cmd => hm2_5i20.0.stepgen.00.position-cmd
|
||||
net Ypos-cmd joint.1.motor-pos-cmd => hm2_5i20.0.stepgen.01.position-cmd
|
||||
net Zpos-cmd joint.2.motor-pos-cmd => hm2_5i20.0.stepgen.02.position-cmd
|
||||
#net Apos-cmd joint.3.motor-pos-cmd => hm2_5i20.0.stepgen.03.position-cmd
|
||||
|
||||
# connect position feedback from step generators to motion module
|
||||
net Xpos-fb hm2_5i20.0.stepgen.00.position-fb => joint.0.motor-pos-fb
|
||||
net Ypos-fb hm2_5i20.0.stepgen.01.position-fb => joint.1.motor-pos-fb
|
||||
net Zpos-fb hm2_5i20.0.stepgen.02.position-fb => joint.2.motor-pos-fb
|
||||
#net Apos-fb hm2_5i20.0.stepgen.03.position-fb => joint.3.motor-pos-fb
|
||||
|
||||
# connect enable signals for step generators
|
||||
net Xen joint.0.amp-enable-out => hm2_5i20.0.stepgen.00.enable
|
||||
net Yen joint.1.amp-enable-out => hm2_5i20.0.stepgen.01.enable
|
||||
net Zen joint.2.amp-enable-out => hm2_5i20.0.stepgen.02.enable
|
||||
#net Aen joint.3.amp-enable-out => hm2_5i20.0.stepgen.03.enable
|
||||
|
||||
# enable velocity mode jogging
|
||||
net Enable joint.0.jog-vel-mode
|
||||
net Enable joint.1.jog-vel-mode
|
||||
net Enable joint.2.jog-vel-mode
|
||||
#net Enable joint.3.jog-vel-mode
|
||||
|
||||
# enable the PWM generator
|
||||
net Enable => hm2_5i20.0.pwmgen.00.enable
|
||||
|
||||
# enable the charge pump
|
||||
net Enable charge-pump.enable
|
||||
|
||||
# connect the charge pump signal to an output
|
||||
setp hm2_5i20.0.gpio.022.is_output TRUE
|
||||
net chargepump hm2_5i20.0.gpio.022.out => charge-pump.out
|
||||
|
||||
# Safety Relay Monitoring Contacts
|
||||
net estop-enable hm2_5i20.0.gpio.037.in => iocontrol.0.emc-enable-in
|
||||
# Run Switch
|
||||
net machine-on hm2_5i20.0.gpio.039.in_not => halui.machine.on
|
||||
|
||||
#connect limit switches to limit inputs
|
||||
net Xmax hm2_5i20.0.gpio.024.in_not => joint.0.pos-lim-sw-in
|
||||
net Xmin hm2_5i20.0.gpio.026.in_not => joint.0.neg-lim-sw-in
|
||||
net Ymax hm2_5i20.0.gpio.028.in_not => joint.1.pos-lim-sw-in
|
||||
net Ymin hm2_5i20.0.gpio.030.in_not => joint.1.neg-lim-sw-in
|
||||
net Zmax hm2_5i20.0.gpio.032.in_not => joint.2.pos-lim-sw-in
|
||||
net Zmin hm2_5i20.0.gpio.034.in_not => joint.2.neg-lim-sw-in
|
||||
|
||||
#connect positive limit signals to home inputs
|
||||
net Xmax => joint.0.home-sw-in
|
||||
net Ymax => joint.1.home-sw-in
|
||||
net Zmax => joint.2.home-sw-in
|
||||
|
||||
# Spindle Contactor Enable
|
||||
setp hm2_5i20.0.gpio.041.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.041.invert_output TRUE
|
||||
# Door Closed - Energizes spindle contactor
|
||||
net CLOSED hm2_5i20.0.gpio.029.in_not hm2_5i20.0.gpio.041.out
|
||||
|
||||
# Main Contactors - True when both contactors are energized
|
||||
net ACOK hm2_5i20.0.gpio.035.in_not
|
||||
# VFD Fault Relay - True when VFD is not faulted
|
||||
#net VFDOK hm2_5i20.0.gpio.031.in_not
|
||||
# A Axis Home - On Sieg machines there is no VFD fault signal,
|
||||
# it is used for the A axis home sensor on 4 axis machines
|
||||
net VFDOK hm2_5i20.0.gpio.031.in_not
|
||||
#net AHOME hm2_5i20.0.gpio.031.in joint.3.home-sw-in
|
||||
# Spindle Contactor - False when spindle contactor is energized
|
||||
net SOFF hm2_5i20.0.gpio.033.in halui.program.pause motion.feed-hold
|
||||
|
||||
# Axis Drive Status Signals
|
||||
# True when YAKO stepper drive is on a full step position
|
||||
# True when a Leadshine stepper drive is in the READY state
|
||||
net DRV0 hm2_5i20.0.gpio.025.in_not
|
||||
net DRV1 hm2_5i20.0.gpio.027.in_not
|
||||
net DRV2 hm2_5i20.0.gpio.036.in_not
|
||||
net DRV3 hm2_5i20.0.gpio.038.in_not
|
||||
|
||||
# Output Bits
|
||||
# KA1
|
||||
setp hm2_5i20.0.gpio.040.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.040.invert_output TRUE
|
||||
net KA1 spindle.0.reverse => hm2_5i20.0.gpio.040.out
|
||||
# KA2
|
||||
setp hm2_5i20.0.gpio.042.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.042.invert_output TRUE
|
||||
net KA2 spindle.0.forward => hm2_5i20.0.gpio.042.out
|
||||
# Flood Coolant
|
||||
setp hm2_5i20.0.gpio.043.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.043.invert_output TRUE
|
||||
net M8 hm2_5i20.0.gpio.043.out => iocontrol.0.coolant-flood
|
||||
# Mist Coolant
|
||||
setp hm2_5i20.0.gpio.045.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.045.invert_output TRUE
|
||||
net M7 hm2_5i20.0.gpio.045.out => iocontrol.0.coolant-mist
|
||||
|
||||
# hook the functions to threads
|
||||
# read inputs
|
||||
addf hm2_5i20.0.read servo-thread
|
||||
# handle motion commands
|
||||
addf motion-command-handler servo-thread
|
||||
# run the motion controller
|
||||
addf motion-controller servo-thread
|
||||
# write outputs
|
||||
addf hm2_5i20.0.write servo-thread
|
||||
# toggle the charge pump
|
||||
addf charge-pump servo-thread
|
||||
|
||||
285
configs/by_machine/smithy/1240.ini
Normal file
285
configs/by_machine/smithy/1240.ini
Normal file
@@ -0,0 +1,285 @@
|
||||
# EMC controller parameters for Mesa 5i20 controlled Smithy 1240 Mill
|
||||
|
||||
[EMC]
|
||||
MACHINE = Smithy 1240 Mill
|
||||
VERSION = 1.1
|
||||
DEBUG = 0x00000000
|
||||
#DEBUG = 0x7FFFFFFF
|
||||
|
||||
[DISPLAY]
|
||||
#DISPLAY = eztrol
|
||||
# CYCLE_TIME is used by eztrol
|
||||
CYCLE_TIME = .1
|
||||
DISPLAY = axis
|
||||
#DISPLAY = tklinuxcnc
|
||||
#HELP_FILE = /usr/share/doc/linuxcnc/tklinuxcnc.txt
|
||||
TKPKG = Ngcgui 1.0
|
||||
TKPKG = Ngcguittt 1.0
|
||||
# note: ngcgui_app.tcl must precede ngcgui_ttt.tcl
|
||||
NGCGUI_FONT = Helvetica -12 normal
|
||||
TTT = truetype-tracer
|
||||
TTT_PREAMBLE = in_std.ngc
|
||||
NGCGUI_PREAMBLE = in_std.ngc
|
||||
NGCGUI_POSTAMBLE = bye.ngc
|
||||
NGCGUI_SUBFILE = backlash.ngc
|
||||
NGCGUI_SUBFILE = hole_circle.ngc
|
||||
NGCGUI_SUBFILE = helix.ngc
|
||||
NGCGUI_SUBFILE = helix_rtheta.ngc
|
||||
NGCGUI_SUBFILE = slot.ngc
|
||||
NGCGUI_SUBFILE = simp.ngc
|
||||
NGCGUI_SUBFILE = xyz.ngc
|
||||
NGCGUI_SUBFILE = iquad.ngc
|
||||
NGCGUI_SUBFILE = oquad.ngc
|
||||
NGCGUI_SUBFILE = db25.ngc
|
||||
NGCGUI_SUBFILE = ihex.ngc
|
||||
NGCGUI_SUBFILE = ohex.ngc
|
||||
NGCGUI_SUBFILE = gosper.ngc
|
||||
NGCGUI_SUBFILE = ""
|
||||
#NGCGUI_SUBFILE = "" use when imageframe is specified if
|
||||
# opening other files is required
|
||||
# images will be put in a toplevel window
|
||||
NGCGUI_OPTIONS =
|
||||
#NGCGUI_OPTIONS = opt1 opt2 ...
|
||||
# opt items:
|
||||
# nonew -- disallow making a new tab page
|
||||
# noremove -- disallow removing any tab page
|
||||
# noauto -- no autosend (makeFile, then manually send)
|
||||
# noiframe -- no internal image, image on separate toplevel
|
||||
POSITION_OFFSET = RELATIVE
|
||||
POSITION_FEEDBACK = ACTUAL
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MIN_SPINDLE_OVERRIDE = 0.2
|
||||
MAX_SPINDLE_OVERRIDE = 1.5
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in
|
||||
PROGRAM_PREFIX = ../../nc_files/
|
||||
#EDITOR = geany
|
||||
TOOL_EDITOR = tooledit
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
#MAX_LINEAR_VELOCITY = 7.0
|
||||
MAX_LINEAR_VELOCITY = 5.0
|
||||
DEFAULT_ANGULAR_VELOCITY = 12.0
|
||||
MAX_ANGULAR_VELOCITY = 150.0
|
||||
|
||||
[FILTER]
|
||||
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
|
||||
PROGRAM_EXTENSION = .py Python Script
|
||||
png = image-to-gcode
|
||||
gif = image-to-gcode
|
||||
jpg = image-to-gcode
|
||||
py = python3
|
||||
|
||||
[RS274NGC]
|
||||
PARAMETER_FILE = emc.var
|
||||
SUBROUTINE_PATH = ../../nc_files/ngcgui_lib:../../nc_files/ngcgui_lib/utilitysubs
|
||||
USER_M_PATH = ../../nc_files/ngcgui_lib/mfiles
|
||||
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
SHMEM_KEY = 111
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 1000000
|
||||
SERVO_PERIOD = 1000000
|
||||
TRAJ_PERIOD = 1000000
|
||||
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
[HAL]
|
||||
HALUI = halui
|
||||
HALFILE = 1240.hal
|
||||
#HALFILE = naiky.hal
|
||||
EZTROL_HALFILE = 5i20eztrol.hal
|
||||
HALFILE = axis_manualtoolchange.hal
|
||||
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z
|
||||
LINEAR_UNITS = inch
|
||||
ANGULAR_UNITS = degree
|
||||
#MAX_VELOCITY = 7.0
|
||||
#MAX_ACCELERATION = 20.0
|
||||
MAX_LINEAR_VELOCITY = 5.0
|
||||
MAX_LINEAR_ACCELERATION = 7.5
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
|
||||
[EMCIO]
|
||||
TOOL_TABLE = mill.tbl
|
||||
#TOOL_CHANGE_POSITION = 0 0 2
|
||||
#TOOL_CHANGE_WITH_SPINDLE_ON = 1
|
||||
TOOL_CHANGE_QUILL_UP = 1
|
||||
#TOOL_CHANGE_AT_G30 = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins
|
||||
JOINTS = 4
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -21.8
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 5.0
|
||||
MAX_ACCELERATION = 7.5
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
#MAX_VELOCITY = 7.0
|
||||
#MAX_ACCELERATION = 10.0
|
||||
MAX_VELOCITY = 5.0
|
||||
MAX_ACCELERATION = 7.5
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 400k Steps/S = 472 in/min
|
||||
SCALE = 50800
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -21.8
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 2
|
||||
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -11.8
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 5.0
|
||||
MAX_ACCELERATION = 7.5
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
#MAX_VELOCITY = 7.0
|
||||
#MAX_ACCELERATION = 10.0
|
||||
MAX_VELOCITY = 5.0
|
||||
MAX_ACCELERATION = 7.5
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 400k Steps/S = 472 in/min
|
||||
SCALE = -50800
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -11.8
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -11.8
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 5.0
|
||||
MAX_ACCELERATION = 7.5
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
#MAX_VELOCITY = 7.0
|
||||
#MAX_ACCELERATION = 10.0
|
||||
MAX_VELOCITY = 5.0
|
||||
MAX_ACCELERATION = 7.5
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 400k Steps/S = 472 in/min
|
||||
SCALE = -50800
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -11.8
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[AXIS_A]
|
||||
MIN_LIMIT = -360000.0
|
||||
MAX_LIMIT = 360000.0
|
||||
MAX_VELOCITY = 150.0
|
||||
MAX_ACCELERATION = 450.0
|
||||
|
||||
[JOINT_3]
|
||||
TYPE = ANGULAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 150.0
|
||||
MAX_ACCELERATION = 450.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Drive Ratio = 90:360 = 1:4
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 400k Steps/S = 9600 deg/min
|
||||
SCALE = 2500.0
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -360000.0
|
||||
MAX_LIMIT = 360000.0
|
||||
FERROR = 2.0
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 0.0
|
||||
HOME_LATCH_VEL = 0.0
|
||||
#HOME_FINAL_VEL = 0.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 3
|
||||
|
||||
[EZTROL]
|
||||
QTEMC_PLUGIN = /usr/share/eztrol/lib/libqtemc-2.4.6.so
|
||||
QTEMCHAL_PLUGIN = /usr/share/eztrol/lib/libqtemchal-2.4.6.so
|
||||
EZTROLGUI = /usr/share/eztrol/eztrolgui/libguimill2.so
|
||||
MAX_SPINDLE_RPM = 4000
|
||||
DIR_PLUGIN = /usr/share/eztrol/eztrolplugins
|
||||
PLUGIN = libeztrol_wizard_plugin.so
|
||||
PLUGIN = libeztrol_webwizard_plugin.so
|
||||
# disabling settings gcode editor will benefit systems with small memory size
|
||||
ENABLE_SETTINGS_EDITOR = true
|
||||
# disable OpenGL 3D Preview
|
||||
ENABLE_3D_PREVIEW = true
|
||||
# set to Full Screen TRUE/FALSE
|
||||
FULLSCREEN = false
|
||||
# Settings Tab GCode Editor Syntax Highlight
|
||||
# color guide - http://www.w3.org/TR/SVG/types.html#ColorKeywords
|
||||
AXIS_COLOR = magenta
|
||||
LINENUMBER_COLOR = rosybrown
|
||||
GM_COLOR = blue
|
||||
STFDRLPQH_COLOR = red
|
||||
O_COLOR = blue
|
||||
RESERVEDWORDS_COLOR = darkviolet
|
||||
VARIABLE_COLOR = olive
|
||||
COMMENT_COLOR = seagreen
|
||||
GUI_STYLESHEET = eztrolstyle1.qss
|
||||
|
||||
[EZTROLWIZARDS]
|
||||
WIZARD_DIRECTORY = /usr/share/eztrol/eztrolwizards
|
||||
SAVE_DIRECTORY = ../../nc_files
|
||||
|
||||
[EZTROLWEBWIZARD]
|
||||
URL = http://www.mattshaver.com/ecmacam/ecmacam.htm
|
||||
187
configs/by_machine/smithy/1240_4axis.hal
Normal file
187
configs/by_machine/smithy/1240_4axis.hal
Normal file
@@ -0,0 +1,187 @@
|
||||
# 5i20 config file for 4 Axis Smithy 1240 Mill
|
||||
|
||||
# load the hostmot2 driver, this doesn't do anything by itself,
|
||||
# it just waits for low-level drivers to register boards
|
||||
loadrt hostmot2 debug_idrom=1 debug_module_descriptors=1 debug_pin_descriptors=1 debug_modules=1
|
||||
|
||||
# load the low-level driver for the board
|
||||
# this will load the board's firmware and register it with the hostmot2
|
||||
# driver loaded above, and it'll show up in HAL
|
||||
loadrt hm2_pci config="firmware=hm2/5i20/SVST2_4_7I47.BIT num_encoders=1 num_pwmgens=1 num_stepgens=4 enable_raw"
|
||||
|
||||
# 13312 = 0x3400 = Encoder Sample Rate Register
|
||||
setp hm2_5i20.0.raw.write_address 13312
|
||||
# sample rate is clock (33 MHz)/SRR+2 = 33MHz/10 = 3.3MHz
|
||||
setp hm2_5i20.0.raw.write_data 8
|
||||
# write data
|
||||
setp hm2_5i20.0.raw.write_strobe 1
|
||||
|
||||
# set up the watchdog
|
||||
#setp hm2_5i20.0.watchdog.timeout_ns 10000000
|
||||
|
||||
# load kinematics
|
||||
loadrt [KINS]KINEMATICS
|
||||
|
||||
# load motion controller, get name and thread periods from ini file
|
||||
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD traj_period_nsec=[EMCMOT]TRAJ_PERIOD key=[EMCMOT]SHMEM_KEY num_joints=[KINS]JOINTS
|
||||
|
||||
# load charge pump
|
||||
loadrt charge_pump
|
||||
|
||||
# These loopbacks are usually disconnected by a postgui halfile
|
||||
net tool-change-loop iocontrol.0.tool-change iocontrol.0.tool-changed
|
||||
net tool-prepare-loopback iocontrol.0.tool-prepare iocontrol.0.tool-prepared
|
||||
|
||||
#the Enable signal is used to permanently enable things
|
||||
newsig Enable bit
|
||||
sets Enable TRUE
|
||||
|
||||
#configure the spindle speed
|
||||
net scmd spindle.0.speed-out hm2_5i20.0.pwmgen.00.value
|
||||
setp hm2_5i20.0.pwmgen.00.scale 4000
|
||||
setp hm2_5i20.0.pwmgen.00.output-type 1
|
||||
setp hm2_5i20.0.pwmgen.pwm_frequency 100
|
||||
|
||||
# invert the step pulse polarity
|
||||
setp hm2_5i20.0.gpio.000.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.002.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.016.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.018.invert_output TRUE
|
||||
|
||||
# configure the stepgen parameters
|
||||
setp hm2_5i20.0.stepgen.00.dirsetup 5000
|
||||
setp hm2_5i20.0.stepgen.00.dirhold 1250
|
||||
setp hm2_5i20.0.stepgen.00.steplen 1250
|
||||
setp hm2_5i20.0.stepgen.00.stepspace 1250
|
||||
setp hm2_5i20.0.stepgen.00.position-scale [JOINT_0]SCALE
|
||||
setp hm2_5i20.0.stepgen.00.maxaccel [JOINT_0]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.00.maxvel [JOINT_0]STEPGEN_MAXVEL
|
||||
setp hm2_5i20.0.stepgen.01.dirsetup 5000
|
||||
setp hm2_5i20.0.stepgen.01.dirhold 1250
|
||||
setp hm2_5i20.0.stepgen.01.steplen 1250
|
||||
setp hm2_5i20.0.stepgen.01.stepspace 1250
|
||||
setp hm2_5i20.0.stepgen.01.position-scale [JOINT_1]SCALE
|
||||
setp hm2_5i20.0.stepgen.01.maxaccel [JOINT_1]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.01.maxvel [JOINT_1]STEPGEN_MAXVEL
|
||||
setp hm2_5i20.0.stepgen.02.dirsetup 5000
|
||||
setp hm2_5i20.0.stepgen.02.dirhold 1250
|
||||
setp hm2_5i20.0.stepgen.02.steplen 1250
|
||||
setp hm2_5i20.0.stepgen.02.stepspace 1250
|
||||
setp hm2_5i20.0.stepgen.02.position-scale [JOINT_2]SCALE
|
||||
setp hm2_5i20.0.stepgen.02.maxaccel [JOINT_2]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.02.maxvel [JOINT_2]STEPGEN_MAXVEL
|
||||
setp hm2_5i20.0.stepgen.03.dirsetup 5000
|
||||
setp hm2_5i20.0.stepgen.03.dirhold 1250
|
||||
setp hm2_5i20.0.stepgen.03.steplen 1250
|
||||
setp hm2_5i20.0.stepgen.03.stepspace 1250
|
||||
setp hm2_5i20.0.stepgen.03.position-scale [JOINT_3]SCALE
|
||||
setp hm2_5i20.0.stepgen.03.maxaccel [JOINT_3]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.03.maxvel [JOINT_3]STEPGEN_MAXVEL
|
||||
|
||||
# connect position commands from motion module to step generator
|
||||
net Xpos-cmd joint.0.motor-pos-cmd => hm2_5i20.0.stepgen.00.position-cmd
|
||||
net Ypos-cmd joint.1.motor-pos-cmd => hm2_5i20.0.stepgen.01.position-cmd
|
||||
net Zpos-cmd joint.2.motor-pos-cmd => hm2_5i20.0.stepgen.02.position-cmd
|
||||
net Apos-cmd joint.3.motor-pos-cmd => hm2_5i20.0.stepgen.03.position-cmd
|
||||
|
||||
# connect position feedback from step generators to motion module
|
||||
net Xpos-fb hm2_5i20.0.stepgen.00.position-fb => joint.0.motor-pos-fb
|
||||
net Ypos-fb hm2_5i20.0.stepgen.01.position-fb => joint.1.motor-pos-fb
|
||||
net Zpos-fb hm2_5i20.0.stepgen.02.position-fb => joint.2.motor-pos-fb
|
||||
net Apos-fb hm2_5i20.0.stepgen.03.position-fb => joint.3.motor-pos-fb
|
||||
|
||||
# connect enable signals for step generators
|
||||
net Xen joint.0.amp-enable-out => hm2_5i20.0.stepgen.00.enable
|
||||
net Yen joint.1.amp-enable-out => hm2_5i20.0.stepgen.01.enable
|
||||
net Zen joint.2.amp-enable-out => hm2_5i20.0.stepgen.02.enable
|
||||
net Aen joint.3.amp-enable-out => hm2_5i20.0.stepgen.03.enable
|
||||
|
||||
# enable velocity mode jogging
|
||||
net Enable joint.0.jog-vel-mode
|
||||
net Enable joint.1.jog-vel-mode
|
||||
net Enable joint.2.jog-vel-mode
|
||||
net Enable joint.3.jog-vel-mode
|
||||
|
||||
# enable the PWM generator
|
||||
net Enable => hm2_5i20.0.pwmgen.00.enable
|
||||
|
||||
# enable the charge pump
|
||||
net Enable charge-pump.enable
|
||||
|
||||
# connect the charge pump signal to an output
|
||||
setp hm2_5i20.0.gpio.022.is_output TRUE
|
||||
net chargepump hm2_5i20.0.gpio.022.out => charge-pump.out
|
||||
|
||||
# Safety Relay Monitoring Contacts
|
||||
net estop-enable hm2_5i20.0.gpio.037.in => iocontrol.0.emc-enable-in
|
||||
# Run Switch
|
||||
net machine-on hm2_5i20.0.gpio.039.in_not => halui.machine.on
|
||||
|
||||
#connect limit switches to limit inputs
|
||||
net Xmax hm2_5i20.0.gpio.024.in_not => joint.0.pos-lim-sw-in
|
||||
net Xmin hm2_5i20.0.gpio.026.in_not => joint.0.neg-lim-sw-in
|
||||
net Ymax hm2_5i20.0.gpio.028.in_not => joint.1.pos-lim-sw-in
|
||||
net Ymin hm2_5i20.0.gpio.030.in_not => joint.1.neg-lim-sw-in
|
||||
net Zmax hm2_5i20.0.gpio.032.in_not => joint.2.pos-lim-sw-in
|
||||
net Zmin hm2_5i20.0.gpio.034.in_not => joint.2.neg-lim-sw-in
|
||||
|
||||
#connect positive limit signals to home inputs
|
||||
net Xmax => joint.0.home-sw-in
|
||||
net Ymax => joint.1.home-sw-in
|
||||
net Zmax => joint.2.home-sw-in
|
||||
|
||||
# Spindle Contactor Enable
|
||||
setp hm2_5i20.0.gpio.041.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.041.invert_output TRUE
|
||||
# Door Closed - Energizes spindle contactor
|
||||
net CLOSED hm2_5i20.0.gpio.029.in_not hm2_5i20.0.gpio.041.out
|
||||
|
||||
# Main Contactors - True when both contactors are energized
|
||||
net ACOK hm2_5i20.0.gpio.035.in_not
|
||||
# VFD Fault Relay - True when VFD is not faulted
|
||||
#net VFDOK hm2_5i20.0.gpio.031.in_not
|
||||
# A Axis Home - On Sieg machines there is no VFD fault signal,
|
||||
# it is used for the A axis home sensor on 4 axis machines
|
||||
net VFDOK hm2_5i20.0.gpio.031.in_not
|
||||
#net AHOME hm2_5i20.0.gpio.031.in joint.3.home-sw-in
|
||||
# Spindle Contactor - False when spindle contactor is energized
|
||||
net SOFF hm2_5i20.0.gpio.033.in halui.program.pause motion.feed-hold
|
||||
|
||||
# Axis Drive Status Signals
|
||||
# True when YAKO stepper drive is on a full step position
|
||||
# True when a Leadshine stepper drive is in the READY state
|
||||
net DRV0 hm2_5i20.0.gpio.025.in_not
|
||||
net DRV1 hm2_5i20.0.gpio.027.in_not
|
||||
net DRV2 hm2_5i20.0.gpio.036.in_not
|
||||
net DRV3 hm2_5i20.0.gpio.038.in_not
|
||||
|
||||
# Output Bits
|
||||
# KA1
|
||||
setp hm2_5i20.0.gpio.040.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.040.invert_output TRUE
|
||||
net KA1 spindle.0.reverse => hm2_5i20.0.gpio.040.out
|
||||
# KA2
|
||||
setp hm2_5i20.0.gpio.042.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.042.invert_output TRUE
|
||||
net KA2 spindle.0.forward => hm2_5i20.0.gpio.042.out
|
||||
# Flood Coolant
|
||||
setp hm2_5i20.0.gpio.043.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.043.invert_output TRUE
|
||||
net M8 hm2_5i20.0.gpio.043.out => iocontrol.0.coolant-flood
|
||||
# Mist Coolant
|
||||
setp hm2_5i20.0.gpio.045.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.045.invert_output TRUE
|
||||
net M7 hm2_5i20.0.gpio.045.out => iocontrol.0.coolant-mist
|
||||
|
||||
# hook the functions to threads
|
||||
# read inputs
|
||||
addf hm2_5i20.0.read servo-thread
|
||||
# handle motion commands
|
||||
addf motion-command-handler servo-thread
|
||||
# run the motion controller
|
||||
addf motion-controller servo-thread
|
||||
# write outputs
|
||||
addf hm2_5i20.0.write servo-thread
|
||||
# toggle the charge pump
|
||||
addf charge-pump servo-thread
|
||||
|
||||
285
configs/by_machine/smithy/1240_4axis.ini
Normal file
285
configs/by_machine/smithy/1240_4axis.ini
Normal file
@@ -0,0 +1,285 @@
|
||||
# EMC controller parameters for Mesa 5i20 controlled 4 Axis Smithy 1240 Mill
|
||||
|
||||
[EMC]
|
||||
MACHINE = 4 Axis Smithy 1240 Mill
|
||||
VERSION = 1.1
|
||||
DEBUG = 0x00000000
|
||||
#DEBUG = 0x7FFFFFFF
|
||||
|
||||
[DISPLAY]
|
||||
#DISPLAY = eztrol
|
||||
# CYCLE_TIME is used by eztrol
|
||||
CYCLE_TIME = .1
|
||||
DISPLAY = axis
|
||||
#DISPLAY = tklinuxcnc
|
||||
#HELP_FILE = /usr/share/doc/linuxcnc/tklinuxcnc.txt
|
||||
TKPKG = Ngcgui 1.0
|
||||
TKPKG = Ngcguittt 1.0
|
||||
# note: ngcgui_app.tcl must precede ngcgui_ttt.tcl
|
||||
NGCGUI_FONT = Helvetica -12 normal
|
||||
TTT = truetype-tracer
|
||||
TTT_PREAMBLE = in_std.ngc
|
||||
NGCGUI_PREAMBLE = in_std.ngc
|
||||
NGCGUI_POSTAMBLE = bye.ngc
|
||||
NGCGUI_SUBFILE = backlash.ngc
|
||||
NGCGUI_SUBFILE = hole_circle.ngc
|
||||
NGCGUI_SUBFILE = helix.ngc
|
||||
NGCGUI_SUBFILE = helix_rtheta.ngc
|
||||
NGCGUI_SUBFILE = slot.ngc
|
||||
NGCGUI_SUBFILE = simp.ngc
|
||||
NGCGUI_SUBFILE = xyz.ngc
|
||||
NGCGUI_SUBFILE = iquad.ngc
|
||||
NGCGUI_SUBFILE = oquad.ngc
|
||||
NGCGUI_SUBFILE = db25.ngc
|
||||
NGCGUI_SUBFILE = ihex.ngc
|
||||
NGCGUI_SUBFILE = ohex.ngc
|
||||
NGCGUI_SUBFILE = gosper.ngc
|
||||
NGCGUI_SUBFILE = ""
|
||||
#NGCGUI_SUBFILE = "" use when imageframe is specified if
|
||||
# opening other files is required
|
||||
# images will be put in a toplevel window
|
||||
NGCGUI_OPTIONS =
|
||||
#NGCGUI_OPTIONS = opt1 opt2 ...
|
||||
# opt items:
|
||||
# nonew -- disallow making a new tab page
|
||||
# noremove -- disallow removing any tab page
|
||||
# noauto -- no autosend (makeFile, then manually send)
|
||||
# noiframe -- no internal image, image on separate toplevel
|
||||
POSITION_OFFSET = RELATIVE
|
||||
POSITION_FEEDBACK = ACTUAL
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MIN_SPINDLE_OVERRIDE = 0.2
|
||||
MAX_SPINDLE_OVERRIDE = 1.5
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in
|
||||
PROGRAM_PREFIX = ../../nc_files/
|
||||
#EDITOR = geany
|
||||
TOOL_EDITOR = tooledit
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
#MAX_LINEAR_VELOCITY = 7.0
|
||||
MAX_LINEAR_VELOCITY = 5.0
|
||||
DEFAULT_ANGULAR_VELOCITY = 12.0
|
||||
MAX_ANGULAR_VELOCITY = 150.0
|
||||
|
||||
[FILTER]
|
||||
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
|
||||
PROGRAM_EXTENSION = .py Python Script
|
||||
png = image-to-gcode
|
||||
gif = image-to-gcode
|
||||
jpg = image-to-gcode
|
||||
py = python3
|
||||
|
||||
[RS274NGC]
|
||||
PARAMETER_FILE = emc.var
|
||||
SUBROUTINE_PATH = ../../nc_files/ngcgui_lib:../../nc_files/ngcgui_lib/utilitysubs
|
||||
USER_M_PATH = ../../nc_files/ngcgui_lib/mfiles
|
||||
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
SHMEM_KEY = 111
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 1000000
|
||||
SERVO_PERIOD = 1000000
|
||||
TRAJ_PERIOD = 1000000
|
||||
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
[HAL]
|
||||
HALUI = halui
|
||||
HALFILE = 1240_4axis.hal
|
||||
#HALFILE = naiky.hal
|
||||
EZTROL_HALFILE = 5i20eztrol.hal
|
||||
HALFILE = axis_manualtoolchange.hal
|
||||
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z A
|
||||
LINEAR_UNITS = inch
|
||||
ANGULAR_UNITS = degree
|
||||
#MAX_VELOCITY = 7.0
|
||||
#MAX_ACCELERATION = 20.0
|
||||
MAX_LINEAR_VELOCITY = 5.0
|
||||
MAX_LINEAR_ACCELERATION = 7.5
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
|
||||
[EMCIO]
|
||||
TOOL_TABLE = mill.tbl
|
||||
#TOOL_CHANGE_POSITION = 0 0 2
|
||||
#TOOL_CHANGE_WITH_SPINDLE_ON = 1
|
||||
TOOL_CHANGE_QUILL_UP = 1
|
||||
#TOOL_CHANGE_AT_G30 = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins
|
||||
JOINTS = 4
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -21.8
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 5.0
|
||||
MAX_ACCELERATION = 7.5
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
#MAX_VELOCITY = 7.0
|
||||
#MAX_ACCELERATION = 10.0
|
||||
MAX_VELOCITY = 5.0
|
||||
MAX_ACCELERATION = 7.5
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 400k Steps/S = 472 in/min
|
||||
SCALE = 50800
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -21.8
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 2
|
||||
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -11.8
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 5.0
|
||||
MAX_ACCELERATION = 7.5
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
#MAX_VELOCITY = 7.0
|
||||
#MAX_ACCELERATION = 10.0
|
||||
MAX_VELOCITY = 5.0
|
||||
MAX_ACCELERATION = 7.5
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 400k Steps/S = 472 in/min
|
||||
SCALE = -50800
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -11.8
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -11.8
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 5.0
|
||||
MAX_ACCELERATION = 7.5
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
#MAX_VELOCITY = 7.0
|
||||
#MAX_ACCELERATION = 10.0
|
||||
MAX_VELOCITY = 5.0
|
||||
MAX_ACCELERATION = 7.5
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 400k Steps/S = 472 in/min
|
||||
SCALE = -50800
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -11.8
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[AXIS_A]
|
||||
MIN_LIMIT = -360000.0
|
||||
MAX_LIMIT = 360000.0
|
||||
MAX_VELOCITY = 150.0
|
||||
MAX_ACCELERATION = 450.0
|
||||
|
||||
[JOINT_3]
|
||||
TYPE = ANGULAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 150.0
|
||||
MAX_ACCELERATION = 450.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Drive Ratio = 90:360 = 1:4
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 400k Steps/S = 9600 deg/min
|
||||
SCALE = 2500.0
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -360000.0
|
||||
MAX_LIMIT = 360000.0
|
||||
FERROR = 2.0
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 0.0
|
||||
HOME_LATCH_VEL = 0.0
|
||||
#HOME_FINAL_VEL = 0.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 3
|
||||
|
||||
[EZTROL]
|
||||
QTEMC_PLUGIN = /usr/share/eztrol/lib/libqtemc-2.4.6.so
|
||||
QTEMCHAL_PLUGIN = /usr/share/eztrol/lib/libqtemchal-2.4.6.so
|
||||
EZTROLGUI = /usr/share/eztrol/eztrolgui/libguimill2.so
|
||||
MAX_SPINDLE_RPM = 4000
|
||||
DIR_PLUGIN = /usr/share/eztrol/eztrolplugins
|
||||
PLUGIN = libeztrol_wizard_plugin.so
|
||||
PLUGIN = libeztrol_webwizard_plugin.so
|
||||
# disabling settings gcode editor will benefit systems with small memory size
|
||||
ENABLE_SETTINGS_EDITOR = true
|
||||
# disable OpenGL 3D Preview
|
||||
ENABLE_3D_PREVIEW = true
|
||||
# set to Full Screen TRUE/FALSE
|
||||
FULLSCREEN = false
|
||||
# Settings Tab GCode Editor Syntax Highlight
|
||||
# color guide - http://www.w3.org/TR/SVG/types.html#ColorKeywords
|
||||
AXIS_COLOR = magenta
|
||||
LINENUMBER_COLOR = rosybrown
|
||||
GM_COLOR = blue
|
||||
STFDRLPQH_COLOR = red
|
||||
O_COLOR = blue
|
||||
RESERVEDWORDS_COLOR = darkviolet
|
||||
VARIABLE_COLOR = olive
|
||||
COMMENT_COLOR = seagreen
|
||||
GUI_STYLESHEET = eztrolstyle1.qss
|
||||
|
||||
[EZTROLWIZARDS]
|
||||
WIZARD_DIRECTORY = /usr/share/eztrol/eztrolwizards
|
||||
SAVE_DIRECTORY = ../../nc_files
|
||||
|
||||
[EZTROLWEBWIZARD]
|
||||
URL = http://www.mattshaver.com/ecmacam/ecmacam.htm
|
||||
277
configs/by_machine/smithy/1240combined.hal
Normal file
277
configs/by_machine/smithy/1240combined.hal
Normal file
@@ -0,0 +1,277 @@
|
||||
# 5i20 config file for Smithy 1240 Mill
|
||||
|
||||
# load the hostmot2 driver, this doesn't do anything by itself,
|
||||
# it just waits for low-level drivers to register boards
|
||||
loadrt hostmot2 debug_idrom=1 debug_module_descriptors=1 debug_pin_descriptors=1 debug_modules=1
|
||||
|
||||
# load the low-level driver for the board
|
||||
# this will load the board's firmware and register it with the hostmot2
|
||||
# driver loaded above, and it'll show up in HAL
|
||||
loadrt hm2_pci config="firmware=hm2/5i20/sssvst2_2_4_v31.bit num_encoders=1 num_pwmgens=0 num_stepgens=4 sserial_port_0=0xxxxxxx enable_raw"
|
||||
#loadrt hm2_pci config="firmware=hm2/5i20/sssvst2_2_2_v35.bit num_encoders=1 num_pwmgens=0 num_stepgens=4 enable_raw"
|
||||
|
||||
# 13312 = 0x3400 = Encoder Sample Rate Register
|
||||
setp hm2_5i20.0.raw.write_address 13312
|
||||
# sample rate is clock (33 MHz)/SRR+2 = 33MHz/10 = 3.3MHz
|
||||
setp hm2_5i20.0.raw.write_data 8
|
||||
# write data
|
||||
setp hm2_5i20.0.raw.write_strobe 1
|
||||
|
||||
# set up the watchdog
|
||||
#setp hm2_5i20.0.watchdog.timeout_ns 10000000
|
||||
|
||||
# load kinematics
|
||||
loadrt [KINS]KINEMATICS
|
||||
|
||||
# load motion controller, get name and thread periods from ini file
|
||||
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD traj_period_nsec=[EMCMOT]TRAJ_PERIOD key=[EMCMOT]SHMEM_KEY num_joints=[KINS]JOINTS
|
||||
|
||||
# load charge pump
|
||||
loadrt charge_pump
|
||||
setp charge-pump.enable TRUE
|
||||
|
||||
# load and configure the spindle speed PID
|
||||
loadrt pid num_chan=1
|
||||
setp pid.0.Pgain 0.1
|
||||
setp pid.0.Igain 100.0
|
||||
setp pid.0.Dgain 0.0
|
||||
setp pid.0.maxoutput 1.0
|
||||
setp pid.0.deadband 0.01
|
||||
|
||||
# load and configure the spindle speed limiting, filtering, and comparison blocks
|
||||
# Need this line so AXIS shows +/- buttons
|
||||
net srpm spindle.0.speed-out
|
||||
# Limit bounds and slew rate/second
|
||||
loadrt limit2
|
||||
setp limit2.0.min -100
|
||||
setp limit2.0.max 100
|
||||
setp limit2.0.maxv 50
|
||||
# Stalled spindle detector
|
||||
loadrt abs
|
||||
loadrt comp count=2
|
||||
setp comp.0.in0 1.0
|
||||
setp comp.1.in0 0.0
|
||||
loadrt and2 count=2
|
||||
# Filter srps
|
||||
loadrt lowpass
|
||||
setp lowpass.0.gain 0.07
|
||||
# Spindle at-speed detection
|
||||
loadrt near
|
||||
setp near.0.scale 1.1
|
||||
setp near.0.difference 0.1
|
||||
net srps spindle.0.speed-out-rps limit2.0.in near.0.in1
|
||||
net scmd limit2.0.out pid.0.command
|
||||
net fb hm2_5i20.0.encoder.00.velocity pid.0.feedback spindle.0.speed-in lowpass.0.in comp.1.in1
|
||||
net sflt lowpass.0.out near.0.in2
|
||||
net at-speed near.0.out spindle.0.at-speed
|
||||
net scur-abs abs.0.out comp.0.in1
|
||||
net scmd-ok comp.0.equal and2.0.in0
|
||||
net sfb-ok comp.1.equal and2.0.in1
|
||||
net stall and2.0.out
|
||||
|
||||
# These loopbacks are usually disconnected by a postgui halfile
|
||||
net tool-change-loop iocontrol.0.tool-change iocontrol.0.tool-changed
|
||||
net tool-prepare-loopback iocontrol.0.tool-prepare iocontrol.0.tool-prepared
|
||||
|
||||
### q = encoder, h=hall sensors, i=index
|
||||
loadrt bldc cfg=qh
|
||||
setp bldc.0.rev 1
|
||||
setp hm2_5i20.0.encoder.00.scale 2880
|
||||
net Spos hm2_5i20.0.encoder.00.position spindle.0.revs
|
||||
net Sidx hm2_5i20.0.encoder.00.index-enable spindle.0.index-enable
|
||||
net pid-out pid.0.output bldc.0.value
|
||||
net rawcount hm2_5i20.0.encoder.00.rawcounts
|
||||
net rotor_angle hm2_5i20.0.8i20.0.0.angle bldc.0.rotor-angle
|
||||
setp hm2_5i20.0.8i20.0.0.max_current 30.0
|
||||
net current bldc.0.out hm2_5i20.0.8i20.0.0.current abs.0.in
|
||||
|
||||
### IF cfg==*q* uncomment these lines
|
||||
setp bldc.0.initvalue 0.8
|
||||
setp bldc.0.lead-angle 0
|
||||
### 2.2kW Motor
|
||||
setp bldc.0.poles 4
|
||||
### 1kW Motor
|
||||
#setp bldc.0.poles 8
|
||||
setp bldc.0.scale -2880
|
||||
net rawcount bldc.0.rawcounts
|
||||
|
||||
### IF cfg==*h* uncomment these lines
|
||||
net spindle-on spindle.0.on pid.0.enable
|
||||
net sa bldc.0.hall1 hm2_5i20.0.gpio.005.in
|
||||
net sb bldc.0.hall2 hm2_5i20.0.gpio.007.in
|
||||
net sc bldc.0.hall3 hm2_5i20.0.gpio.009.in
|
||||
### 2.2kW Motor
|
||||
setp bldc.0.pattern 17 # 17 or 44
|
||||
### 1kW Motor
|
||||
#setp bldc.0.pattern 34 # 15 or 34
|
||||
### ELSE uncomment these lines
|
||||
#net amp-enable bldc.0.init
|
||||
#net init-done bldc.0.init-done
|
||||
|
||||
### IF cfg==*i* uncomment this line
|
||||
#net Sidx bldc.0.index-enable
|
||||
|
||||
# invert the step pulse polarity
|
||||
setp hm2_5i20.0.gpio.000.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.002.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.016.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.018.invert_output TRUE
|
||||
|
||||
# configure the stepgen parameters
|
||||
setp hm2_5i20.0.stepgen.00.dirsetup 5000
|
||||
setp hm2_5i20.0.stepgen.00.dirhold 2000
|
||||
setp hm2_5i20.0.stepgen.00.steplen 2000
|
||||
setp hm2_5i20.0.stepgen.00.stepspace 2000
|
||||
setp hm2_5i20.0.stepgen.00.position-scale [JOINT_0]SCALE
|
||||
setp hm2_5i20.0.stepgen.00.maxaccel [JOINT_0]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.00.maxvel [JOINT_0]STEPGEN_MAXVEL
|
||||
setp hm2_5i20.0.stepgen.01.dirsetup 5000
|
||||
setp hm2_5i20.0.stepgen.01.dirhold 2000
|
||||
setp hm2_5i20.0.stepgen.01.steplen 2000
|
||||
setp hm2_5i20.0.stepgen.01.stepspace 2000
|
||||
setp hm2_5i20.0.stepgen.01.position-scale [JOINT_1]SCALE
|
||||
setp hm2_5i20.0.stepgen.01.maxaccel [JOINT_1]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.01.maxvel [JOINT_1]STEPGEN_MAXVEL
|
||||
setp hm2_5i20.0.stepgen.02.dirsetup 5000
|
||||
setp hm2_5i20.0.stepgen.02.dirhold 2000
|
||||
setp hm2_5i20.0.stepgen.02.steplen 2000
|
||||
setp hm2_5i20.0.stepgen.02.stepspace 2000
|
||||
setp hm2_5i20.0.stepgen.02.position-scale [JOINT_2]SCALE
|
||||
setp hm2_5i20.0.stepgen.02.maxaccel [JOINT_2]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.02.maxvel [JOINT_2]STEPGEN_MAXVEL
|
||||
setp hm2_5i20.0.stepgen.03.dirsetup 5000
|
||||
setp hm2_5i20.0.stepgen.03.dirhold 2000
|
||||
setp hm2_5i20.0.stepgen.03.steplen 2000
|
||||
setp hm2_5i20.0.stepgen.03.stepspace 2000
|
||||
setp hm2_5i20.0.stepgen.03.position-scale [JOINT_3]SCALE
|
||||
setp hm2_5i20.0.stepgen.03.maxaccel [JOINT_3]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.03.maxvel [JOINT_3]STEPGEN_MAXVEL
|
||||
|
||||
# connect position commands from motion module to step generator
|
||||
net Xpos-cmd joint.0.motor-pos-cmd hm2_5i20.0.stepgen.00.position-cmd
|
||||
net Ypos-cmd joint.1.motor-pos-cmd hm2_5i20.0.stepgen.01.position-cmd
|
||||
net Zpos-cmd joint.2.motor-pos-cmd hm2_5i20.0.stepgen.02.position-cmd
|
||||
#net Apos-cmd joint.3.motor-pos-cmd hm2_5i20.0.stepgen.03.position-cmd
|
||||
|
||||
# connect position feedback from step generators to motion module
|
||||
net Xpos-fb hm2_5i20.0.stepgen.00.position-fb joint.0.motor-pos-fb
|
||||
net Ypos-fb hm2_5i20.0.stepgen.01.position-fb joint.1.motor-pos-fb
|
||||
net Zpos-fb hm2_5i20.0.stepgen.02.position-fb joint.2.motor-pos-fb
|
||||
#net Apos-fb hm2_5i20.0.stepgen.03.position-fb joint.3.motor-pos-fb
|
||||
|
||||
# connect enable signals for step generators
|
||||
net Xen joint.0.amp-enable-out hm2_5i20.0.stepgen.00.enable
|
||||
net Yen joint.1.amp-enable-out hm2_5i20.0.stepgen.01.enable
|
||||
net Zen joint.2.amp-enable-out hm2_5i20.0.stepgen.02.enable
|
||||
#net Aen joint.3.amp-enable-out hm2_5i20.0.stepgen.03.enable
|
||||
|
||||
# enable velocity mode jogging
|
||||
setp joint.0.jog-vel-mode TRUE
|
||||
setp joint.1.jog-vel-mode TRUE
|
||||
setp joint.2.jog-vel-mode TRUE
|
||||
#setp joint.3.jog-vel-mode TRUE
|
||||
|
||||
# connect the charge pump signal to an output
|
||||
setp hm2_5i20.0.gpio.022.is_output TRUE
|
||||
net chargepump hm2_5i20.0.gpio.022.out charge-pump.out
|
||||
|
||||
# Safety Relay Monitoring Contacts
|
||||
net estop-enable hm2_5i20.0.gpio.037.in iocontrol.0.emc-enable-in
|
||||
# Run Switch
|
||||
loadrt debounce cfg=1
|
||||
setp debounce.0.delay 1000
|
||||
net key-on hm2_5i20.0.gpio.039.in_not debounce.0.0.in
|
||||
net machine-on debounce.0.0.out hm2_5i20.0.sserial.port-0.run hm2_5i20.0.8i20.0.0.amp_enable halui.machine.on
|
||||
|
||||
#connect limit switches to limit inputs
|
||||
net Xmax hm2_5i20.0.gpio.024.in_not joint.0.pos-lim-sw-in
|
||||
net Xmin hm2_5i20.0.gpio.026.in_not joint.0.neg-lim-sw-in
|
||||
net Ymax hm2_5i20.0.gpio.028.in_not joint.1.pos-lim-sw-in
|
||||
net Ymin hm2_5i20.0.gpio.030.in_not joint.1.neg-lim-sw-in
|
||||
net Zmax hm2_5i20.0.gpio.032.in_not joint.2.pos-lim-sw-in
|
||||
net Zmin hm2_5i20.0.gpio.034.in_not joint.2.neg-lim-sw-in
|
||||
|
||||
#connect positive limit signals to home inputs
|
||||
net Xmax joint.0.home-sw-in
|
||||
net Ymax joint.1.home-sw-in
|
||||
net Zmax joint.2.home-sw-in
|
||||
|
||||
# Spindle Contactor Enable
|
||||
setp hm2_5i20.0.gpio.041.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.041.invert_output TRUE
|
||||
# Door Closed - Energizes spindle contactor
|
||||
net CLOSED hm2_5i20.0.gpio.029.in_not hm2_5i20.0.gpio.041.out
|
||||
|
||||
# Main Contactors - True when both contactors are energized
|
||||
net ACOK hm2_5i20.0.gpio.035.in_not
|
||||
# VFD Fault Relay - True when VFD is not faulted
|
||||
#net VFDOK hm2_5i20.0.gpio.031.in_not
|
||||
# A Axis Home - On Sieg machines there is no VFD fault signal,
|
||||
# it is used for the A axis home sensor on 4 axis machines
|
||||
#net AHOME hm2_5i20.0.gpio.031.in joint.3.home-sw-in
|
||||
|
||||
# Stop on any spindle fault
|
||||
loadrt or2
|
||||
#net VFDOK hm2_5i20.0.gpio.031.in_not and2.1.in0
|
||||
net VFDOK hm2_5i20.0.gpio.031.in_not or2.0.in0
|
||||
#net AUTO halui.mode.is-auto and2.1.in1
|
||||
net stall or2.0.in1
|
||||
#net ABORT and2.1.out halui.abort
|
||||
net ABORT or2.0.out halui.abort
|
||||
|
||||
# Spindle Contactor - False when spindle contactor is energized
|
||||
net SOFF hm2_5i20.0.gpio.033.in halui.program.pause motion.feed-hold
|
||||
|
||||
# Axis Drive Status Signals
|
||||
# True when YAKO stepper drive is on a full step position
|
||||
# True when a Leadshine stepper drive is in the READY state
|
||||
net DRV0 hm2_5i20.0.gpio.025.in_not
|
||||
net DRV1 hm2_5i20.0.gpio.027.in_not
|
||||
net DRV2 hm2_5i20.0.gpio.036.in_not
|
||||
net DRV3 hm2_5i20.0.gpio.038.in_not
|
||||
|
||||
# Output Bits
|
||||
# Link Spindle Direction Signals to make AXIS Display Buttons
|
||||
net FWD spindle.0.reverse
|
||||
net REV spindle.0.forward
|
||||
# Flood Coolant
|
||||
setp hm2_5i20.0.gpio.043.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.043.invert_output TRUE
|
||||
net M8 hm2_5i20.0.gpio.043.out iocontrol.0.coolant-flood
|
||||
# Mist Coolant
|
||||
setp hm2_5i20.0.gpio.045.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.045.invert_output TRUE
|
||||
net M7 hm2_5i20.0.gpio.045.out iocontrol.0.coolant-mist
|
||||
|
||||
# hook the functions to threads
|
||||
# read inputs
|
||||
addf hm2_5i20.0.read servo-thread
|
||||
# handle motion commands
|
||||
addf motion-command-handler servo-thread
|
||||
# run the motion controller
|
||||
addf motion-controller servo-thread
|
||||
# limit the spindle speed command
|
||||
addf limit2.0 servo-thread
|
||||
# do spindle pid calcs
|
||||
addf pid.0.do-pid-calcs servo-thread
|
||||
# filter encoder velocity
|
||||
addf lowpass.0 servo-thread
|
||||
# compare filtered encoder velocity to commanded
|
||||
addf near.0 servo-thread
|
||||
# detect a stalled spindle
|
||||
addf abs.0 servo-thread
|
||||
addf comp.0 servo-thread
|
||||
addf comp.1 servo-thread
|
||||
addf and2.0 servo-thread
|
||||
# delay running the 8i20 smart serial channel
|
||||
addf debounce.0 servo-thread
|
||||
# detect a spindle fault
|
||||
#addf and2.1 servo-thread
|
||||
addf or2.0 servo-thread
|
||||
# write outputs
|
||||
addf hm2_5i20.0.write servo-thread
|
||||
# run bldc function
|
||||
addf bldc.0 servo-thread
|
||||
# toggle the charge pump
|
||||
addf charge-pump servo-thread
|
||||
|
||||
302
configs/by_machine/smithy/1240combined.ini
Normal file
302
configs/by_machine/smithy/1240combined.ini
Normal file
@@ -0,0 +1,302 @@
|
||||
# EMC controller parameters for Mesa 5i20 controlled Smithy 1240 Mill
|
||||
|
||||
[EMC]
|
||||
MACHINE = Smithy 1240 Combined Box Mill
|
||||
VERSION = 1.1
|
||||
DEBUG = 0x00000000
|
||||
#DEBUG = 0x7FFFFFFF
|
||||
|
||||
[DISPLAY]
|
||||
#DISPLAY = eztrol
|
||||
# CYCLE_TIME is used by eztrol
|
||||
CYCLE_TIME = .1
|
||||
DISPLAY = axis
|
||||
#DISPLAY = tklinuxcnc
|
||||
#HELP_FILE = /usr/share/doc/linuxcnc/tklinuxcnc.txt
|
||||
TKPKG = Ngcgui 1.0
|
||||
TKPKG = Ngcguittt 1.0
|
||||
# note: ngcgui_app.tcl must precede ngcgui_ttt.tcl
|
||||
NGCGUI_FONT = Helvetica -12 normal
|
||||
TTT = truetype-tracer
|
||||
TTT_PREAMBLE = in_std.ngc
|
||||
NGCGUI_PREAMBLE = in_std.ngc
|
||||
NGCGUI_POSTAMBLE = bye.ngc
|
||||
NGCGUI_SUBFILE = backlash.ngc
|
||||
NGCGUI_SUBFILE = hole_circle.ngc
|
||||
NGCGUI_SUBFILE = helix.ngc
|
||||
NGCGUI_SUBFILE = helix_rtheta.ngc
|
||||
NGCGUI_SUBFILE = slot.ngc
|
||||
NGCGUI_SUBFILE = simp.ngc
|
||||
NGCGUI_SUBFILE = xyz.ngc
|
||||
NGCGUI_SUBFILE = iquad.ngc
|
||||
NGCGUI_SUBFILE = oquad.ngc
|
||||
NGCGUI_SUBFILE = db25.ngc
|
||||
NGCGUI_SUBFILE = ihex.ngc
|
||||
NGCGUI_SUBFILE = ohex.ngc
|
||||
NGCGUI_SUBFILE = gosper.ngc
|
||||
NGCGUI_SUBFILE = ""
|
||||
#NGCGUI_SUBFILE = "" use when imageframe is specified if
|
||||
# opening other files is required
|
||||
# images will be put in a toplevel window
|
||||
NGCGUI_OPTIONS =
|
||||
#NGCGUI_OPTIONS = opt1 opt2 ...
|
||||
# opt items:
|
||||
# nonew -- disallow making a new tab page
|
||||
# noremove -- disallow removing any tab page
|
||||
# noauto -- no autosend (makeFile, then manually send)
|
||||
# noiframe -- no internal image, image on separate toplevel
|
||||
POSITION_OFFSET = RELATIVE
|
||||
POSITION_FEEDBACK = ACTUAL
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MIN_SPINDLE_OVERRIDE = 0.2
|
||||
MAX_SPINDLE_OVERRIDE = 1.5
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in
|
||||
PROGRAM_PREFIX = ../../nc_files/
|
||||
#EDITOR = geany
|
||||
TOOL_EDITOR = tooledit
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
# @SCALE = 25600
|
||||
#MAX_LINEAR_VELOCITY = 1.9
|
||||
# @SCALE = 10000
|
||||
MAX_LINEAR_VELOCITY = 4.2
|
||||
DEFAULT_ANGULAR_VELOCITY = 12.0
|
||||
MAX_ANGULAR_VELOCITY = 85.0
|
||||
PYVCP = 8i20.xml
|
||||
|
||||
[FILTER]
|
||||
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
|
||||
PROGRAM_EXTENSION = .py Python Script
|
||||
png = image-to-gcode
|
||||
gif = image-to-gcode
|
||||
jpg = image-to-gcode
|
||||
py = python3
|
||||
|
||||
[RS274NGC]
|
||||
PARAMETER_FILE = emc.var
|
||||
SUBROUTINE_PATH = ../../nc_files/ngcgui_lib:../../nc_files/ngcgui_lib/utilitysubs
|
||||
USER_M_PATH = ../../nc_files/ngcgui_lib/mfiles
|
||||
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
SHMEM_KEY = 111
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 250000
|
||||
SERVO_PERIOD = 250000
|
||||
TRAJ_PERIOD = 250000
|
||||
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
[HAL]
|
||||
HALUI = halui
|
||||
HALFILE = 1240combined.hal
|
||||
#HALFILE = naiky.hal
|
||||
EZTROL_HALFILE = 5i20eztrol.hal
|
||||
#HALFILE = axis_manualtoolchange.hal
|
||||
POSTGUI_HALFILE = 8i20postgui.hal
|
||||
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z
|
||||
LINEAR_UNITS = inch
|
||||
ANGULAR_UNITS = degree
|
||||
# @SCALE = 25600
|
||||
#MAX_VELOCITY = 1.9
|
||||
# @SCALE = 10000
|
||||
MAX_LINEAR_VELOCITY = 4.2
|
||||
MAX_LINEAR_ACCELERATION = 10.0
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
|
||||
[EMCIO]
|
||||
TOOL_TABLE = mill.tbl
|
||||
#TOOL_CHANGE_POSITION = 0 0 2
|
||||
#TOOL_CHANGE_WITH_SPINDLE_ON = 1
|
||||
TOOL_CHANGE_QUILL_UP = 1
|
||||
#TOOL_CHANGE_AT_G30 = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins
|
||||
JOINTS = 4
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -21.8
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 4.2
|
||||
MAX_ACCELERATION = 10.0
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
# @SCALE = 25600
|
||||
#MAX_VELOCITY = 1.9
|
||||
# @SCALE = 10000
|
||||
MAX_VELOCITY = 4.2
|
||||
MAX_ACCELERATION = 10.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 25600
|
||||
# Vel at 250k Steps/S = 115"/min
|
||||
#SCALE = 130048
|
||||
# Steps/Rev = 10000
|
||||
# Vel at 250k Steps/S = 295"/min
|
||||
SCALE = 50800
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -21.8
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 2
|
||||
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -11.8
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 4.2
|
||||
MAX_ACCELERATION = 10.0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
# @SCALE = 25600
|
||||
#MAX_VELOCITY = 1.9
|
||||
# @SCALE = 10000
|
||||
MAX_VELOCITY = 4.2
|
||||
MAX_ACCELERATION = 10.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 25600
|
||||
# Vel at 250k Steps/S = 115"/min
|
||||
#SCALE = -130048
|
||||
# Steps/Rev = 10000
|
||||
# Vel at 250k Steps/S = 295"/min
|
||||
SCALE = -50800
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -11.8
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -11.8
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 4.2
|
||||
MAX_ACCELERATION = 10.0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
# @SCALE = 25600
|
||||
#MAX_VELOCITY = 1.9
|
||||
# @SCALE = 10000
|
||||
MAX_VELOCITY = 4.2
|
||||
MAX_ACCELERATION = 10.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 25600
|
||||
# Vel at 250k Steps/S = 115"/min
|
||||
#SCALE = -130048
|
||||
# Steps/Rev = 10000
|
||||
# Vel at 250k Steps/S = 295"/min
|
||||
SCALE = -50800
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -11.8
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[AXIS_A]
|
||||
MIN_LIMIT = -360000.0
|
||||
MAX_LIMIT = 360000.0
|
||||
MAX_VELOCITY = 85.0
|
||||
MAX_ACCELERATION = 450.0
|
||||
|
||||
[JOINT_3]
|
||||
TYPE = ANGULAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 85.0
|
||||
MAX_ACCELERATION = 450.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Drive Ratio = 90:360 = 1:4
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 400k Steps/S = 9600 deg/min
|
||||
SCALE = 2500.0
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -360000.0
|
||||
MAX_LIMIT = 360000.0
|
||||
FERROR = 2.0
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 0.0
|
||||
HOME_LATCH_VEL = 0.0
|
||||
#HOME_FINAL_VEL = 0.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 3
|
||||
|
||||
[EZTROL]
|
||||
QTEMC_PLUGIN = /usr/share/eztrol/lib/libqtemc-2.4.6.so
|
||||
QTEMCHAL_PLUGIN = /usr/share/eztrol/lib/libqtemchal-2.4.6.so
|
||||
EZTROLGUI = /usr/share/eztrol/eztrolgui/libguimill2.so
|
||||
MAX_SPINDLE_RPM = 6000
|
||||
DIR_PLUGIN = /usr/share/eztrol/eztrolplugins
|
||||
PLUGIN = libeztrol_wizard_plugin.so
|
||||
PLUGIN = libeztrol_webwizard_plugin.so
|
||||
# disabling settings gcode editor will benefit systems with small memory size
|
||||
ENABLE_SETTINGS_EDITOR = true
|
||||
# disable OpenGL 3D Preview
|
||||
ENABLE_3D_PREVIEW = true
|
||||
# set to Full Screen TRUE/FALSE
|
||||
FULLSCREEN = false
|
||||
# Settings Tab GCode Editor Syntax Highlight
|
||||
# color guide - http://www.w3.org/TR/SVG/types.html#ColorKeywords
|
||||
AXIS_COLOR = magenta
|
||||
LINENUMBER_COLOR = rosybrown
|
||||
GM_COLOR = blue
|
||||
STFDRLPQH_COLOR = red
|
||||
O_COLOR = blue
|
||||
RESERVEDWORDS_COLOR = darkviolet
|
||||
VARIABLE_COLOR = olive
|
||||
COMMENT_COLOR = seagreen
|
||||
GUI_STYLESHEET = eztrolstyle1.qss
|
||||
|
||||
[EZTROLWIZARDS]
|
||||
WIZARD_DIRECTORY = /usr/share/eztrol/eztrolwizards
|
||||
SAVE_DIRECTORY = ../../nc_files
|
||||
|
||||
[EZTROLWEBWIZARD]
|
||||
URL = http://www.mattshaver.com/ecmacam/ecmacam.htm
|
||||
277
configs/by_machine/smithy/1240combined_4axis.hal
Normal file
277
configs/by_machine/smithy/1240combined_4axis.hal
Normal file
@@ -0,0 +1,277 @@
|
||||
# 5i20 config file for a 4 Axis Smithy 1240 Mill
|
||||
|
||||
# load the hostmot2 driver, this doesn't do anything by itself,
|
||||
# it just waits for low-level drivers to register boards
|
||||
loadrt hostmot2 debug_idrom=1 debug_module_descriptors=1 debug_pin_descriptors=1 debug_modules=1
|
||||
|
||||
# load the low-level driver for the board
|
||||
# this will load the board's firmware and register it with the hostmot2
|
||||
# driver loaded above, and it'll show up in HAL
|
||||
loadrt hm2_pci config="firmware=hm2/5i20/sssvst2_2_4_v31.bit num_encoders=1 num_pwmgens=0 num_stepgens=4 sserial_port_0=0xxxxxxx enable_raw"
|
||||
#loadrt hm2_pci config="firmware=hm2/5i20/sssvst2_2_2_v35.bit num_encoders=1 num_pwmgens=0 num_stepgens=4 enable_raw"
|
||||
|
||||
# 13312 = 0x3400 = Encoder Sample Rate Register
|
||||
setp hm2_5i20.0.raw.write_address 13312
|
||||
# sample rate is clock (33 MHz)/SRR+2 = 33MHz/10 = 3.3MHz
|
||||
setp hm2_5i20.0.raw.write_data 8
|
||||
# write data
|
||||
setp hm2_5i20.0.raw.write_strobe 1
|
||||
|
||||
# set up the watchdog
|
||||
#setp hm2_5i20.0.watchdog.timeout_ns 10000000
|
||||
|
||||
# load kinematics
|
||||
loadrt [KINS]KINEMATICS
|
||||
|
||||
# load motion controller, get name and thread periods from ini file
|
||||
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD traj_period_nsec=[EMCMOT]TRAJ_PERIOD key=[EMCMOT]SHMEM_KEY num_joints=[KINS]JOINTS
|
||||
|
||||
# load charge pump
|
||||
loadrt charge_pump
|
||||
setp charge-pump.enable TRUE
|
||||
|
||||
# load and configure the spindle speed PID
|
||||
loadrt pid num_chan=1
|
||||
setp pid.0.Pgain 0.1
|
||||
setp pid.0.Igain 100.0
|
||||
setp pid.0.Dgain 0.0
|
||||
setp pid.0.maxoutput 1.0
|
||||
setp pid.0.deadband 0.01
|
||||
|
||||
# load and configure the spindle speed limiting, filtering, and comparison blocks
|
||||
# Need this line so AXIS shows +/- buttons
|
||||
net srpm spindle.0.speed-out
|
||||
# Limit bounds and slew rate/second
|
||||
loadrt limit2
|
||||
setp limit2.0.min -100
|
||||
setp limit2.0.max 100
|
||||
setp limit2.0.maxv 50
|
||||
# Stalled spindle detector
|
||||
loadrt abs
|
||||
loadrt comp count=2
|
||||
setp comp.0.in0 1.0
|
||||
setp comp.1.in0 0.0
|
||||
loadrt and2 count=2
|
||||
# Filter srps
|
||||
loadrt lowpass
|
||||
setp lowpass.0.gain 0.07
|
||||
# Spindle at-speed detection
|
||||
loadrt near
|
||||
setp near.0.scale 1.1
|
||||
setp near.0.difference 0.1
|
||||
net srps spindle.0.speed-out-rps limit2.0.in near.0.in1
|
||||
net scmd limit2.0.out pid.0.command
|
||||
net fb hm2_5i20.0.encoder.00.velocity pid.0.feedback spindle.0.speed-in lowpass.0.in comp.1.in1
|
||||
net sflt lowpass.0.out near.0.in2
|
||||
net at-speed near.0.out spindle.0.at-speed
|
||||
net scur-abs abs.0.out comp.0.in1
|
||||
net scmd-ok comp.0.equal and2.0.in0
|
||||
net sfb-ok comp.1.equal and2.0.in1
|
||||
net stall and2.0.out
|
||||
|
||||
# These loopbacks are usually disconnected by a postgui halfile
|
||||
net tool-change-loop iocontrol.0.tool-change iocontrol.0.tool-changed
|
||||
net tool-prepare-loopback iocontrol.0.tool-prepare iocontrol.0.tool-prepared
|
||||
|
||||
### q = encoder, h=hall sensors, i=index
|
||||
loadrt bldc cfg=qh
|
||||
setp bldc.0.rev 1
|
||||
setp hm2_5i20.0.encoder.00.scale 2880
|
||||
net Spos hm2_5i20.0.encoder.00.position spindle.0.revs
|
||||
net Sidx hm2_5i20.0.encoder.00.index-enable spindle.0.index-enable
|
||||
net pid-out pid.0.output bldc.0.value
|
||||
net rawcount hm2_5i20.0.encoder.00.rawcounts
|
||||
net rotor_angle hm2_5i20.0.8i20.0.0.angle bldc.0.rotor-angle
|
||||
setp hm2_5i20.0.8i20.0.0.max_current 30.0
|
||||
net current bldc.0.out hm2_5i20.0.8i20.0.0.current abs.0.in
|
||||
|
||||
### IF cfg==*q* uncomment these lines
|
||||
setp bldc.0.initvalue 0.8
|
||||
setp bldc.0.lead-angle 0
|
||||
### 2.2kW Motor
|
||||
setp bldc.0.poles 4
|
||||
### 1kW Motor
|
||||
#setp bldc.0.poles 8
|
||||
setp bldc.0.scale -2880
|
||||
net rawcount bldc.0.rawcounts
|
||||
|
||||
### IF cfg==*h* uncomment these lines
|
||||
net spindle-on spindle.0.on pid.0.enable
|
||||
net sa bldc.0.hall1 hm2_5i20.0.gpio.005.in
|
||||
net sb bldc.0.hall2 hm2_5i20.0.gpio.007.in
|
||||
net sc bldc.0.hall3 hm2_5i20.0.gpio.009.in
|
||||
### 2.2kW Motor
|
||||
setp bldc.0.pattern 17 # 17 or 44
|
||||
### 1kW Motor
|
||||
#setp bldc.0.pattern 34 # 15 or 34
|
||||
### ELSE uncomment these lines
|
||||
#net amp-enable bldc.0.init
|
||||
#net init-done bldc.0.init-done
|
||||
|
||||
### IF cfg==*i* uncomment this line
|
||||
#net Sidx bldc.0.index-enable
|
||||
|
||||
# invert the step pulse polarity
|
||||
setp hm2_5i20.0.gpio.000.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.002.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.016.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.018.invert_output TRUE
|
||||
|
||||
# configure the stepgen parameters
|
||||
setp hm2_5i20.0.stepgen.00.dirsetup 5000
|
||||
setp hm2_5i20.0.stepgen.00.dirhold 2000
|
||||
setp hm2_5i20.0.stepgen.00.steplen 2000
|
||||
setp hm2_5i20.0.stepgen.00.stepspace 2000
|
||||
setp hm2_5i20.0.stepgen.00.position-scale [JOINT_0]SCALE
|
||||
setp hm2_5i20.0.stepgen.00.maxaccel [JOINT_0]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.00.maxvel [JOINT_0]STEPGEN_MAXVEL
|
||||
setp hm2_5i20.0.stepgen.01.dirsetup 5000
|
||||
setp hm2_5i20.0.stepgen.01.dirhold 2000
|
||||
setp hm2_5i20.0.stepgen.01.steplen 2000
|
||||
setp hm2_5i20.0.stepgen.01.stepspace 2000
|
||||
setp hm2_5i20.0.stepgen.01.position-scale [JOINT_1]SCALE
|
||||
setp hm2_5i20.0.stepgen.01.maxaccel [JOINT_1]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.01.maxvel [JOINT_1]STEPGEN_MAXVEL
|
||||
setp hm2_5i20.0.stepgen.02.dirsetup 5000
|
||||
setp hm2_5i20.0.stepgen.02.dirhold 2000
|
||||
setp hm2_5i20.0.stepgen.02.steplen 2000
|
||||
setp hm2_5i20.0.stepgen.02.stepspace 2000
|
||||
setp hm2_5i20.0.stepgen.02.position-scale [JOINT_2]SCALE
|
||||
setp hm2_5i20.0.stepgen.02.maxaccel [JOINT_2]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.02.maxvel [JOINT_2]STEPGEN_MAXVEL
|
||||
setp hm2_5i20.0.stepgen.03.dirsetup 5000
|
||||
setp hm2_5i20.0.stepgen.03.dirhold 2000
|
||||
setp hm2_5i20.0.stepgen.03.steplen 2000
|
||||
setp hm2_5i20.0.stepgen.03.stepspace 2000
|
||||
setp hm2_5i20.0.stepgen.03.position-scale [JOINT_3]SCALE
|
||||
setp hm2_5i20.0.stepgen.03.maxaccel [JOINT_3]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.03.maxvel [JOINT_3]STEPGEN_MAXVEL
|
||||
|
||||
# connect position commands from motion module to step generator
|
||||
net Xpos-cmd joint.0.motor-pos-cmd hm2_5i20.0.stepgen.00.position-cmd
|
||||
net Ypos-cmd joint.1.motor-pos-cmd hm2_5i20.0.stepgen.01.position-cmd
|
||||
net Zpos-cmd joint.2.motor-pos-cmd hm2_5i20.0.stepgen.02.position-cmd
|
||||
net Apos-cmd joint.3.motor-pos-cmd hm2_5i20.0.stepgen.03.position-cmd
|
||||
|
||||
# connect position feedback from step generators to motion module
|
||||
net Xpos-fb hm2_5i20.0.stepgen.00.position-fb joint.0.motor-pos-fb
|
||||
net Ypos-fb hm2_5i20.0.stepgen.01.position-fb joint.1.motor-pos-fb
|
||||
net Zpos-fb hm2_5i20.0.stepgen.02.position-fb joint.2.motor-pos-fb
|
||||
net Apos-fb hm2_5i20.0.stepgen.03.position-fb joint.3.motor-pos-fb
|
||||
|
||||
# connect enable signals for step generators
|
||||
net Xen joint.0.amp-enable-out hm2_5i20.0.stepgen.00.enable
|
||||
net Yen joint.1.amp-enable-out hm2_5i20.0.stepgen.01.enable
|
||||
net Zen joint.2.amp-enable-out hm2_5i20.0.stepgen.02.enable
|
||||
net Aen joint.3.amp-enable-out hm2_5i20.0.stepgen.03.enable
|
||||
|
||||
# enable velocity mode jogging
|
||||
setp joint.0.jog-vel-mode TRUE
|
||||
setp joint.1.jog-vel-mode TRUE
|
||||
setp joint.2.jog-vel-mode TRUE
|
||||
setp joint.3.jog-vel-mode TRUE
|
||||
|
||||
# connect the charge pump signal to an output
|
||||
setp hm2_5i20.0.gpio.022.is_output TRUE
|
||||
net chargepump hm2_5i20.0.gpio.022.out charge-pump.out
|
||||
|
||||
# Safety Relay Monitoring Contacts
|
||||
net estop-enable hm2_5i20.0.gpio.037.in iocontrol.0.emc-enable-in
|
||||
# Run Switch
|
||||
loadrt debounce cfg=1
|
||||
setp debounce.0.delay 1000
|
||||
net key-on hm2_5i20.0.gpio.039.in_not debounce.0.0.in
|
||||
net machine-on debounce.0.0.out hm2_5i20.0.sserial.port-0.run hm2_5i20.0.8i20.0.0.amp_enable halui.machine.on
|
||||
|
||||
#connect limit switches to limit inputs
|
||||
net Xmax hm2_5i20.0.gpio.024.in_not joint.0.pos-lim-sw-in
|
||||
net Xmin hm2_5i20.0.gpio.026.in_not joint.0.neg-lim-sw-in
|
||||
net Ymax hm2_5i20.0.gpio.028.in_not joint.1.pos-lim-sw-in
|
||||
net Ymin hm2_5i20.0.gpio.030.in_not joint.1.neg-lim-sw-in
|
||||
net Zmax hm2_5i20.0.gpio.032.in_not joint.2.pos-lim-sw-in
|
||||
net Zmin hm2_5i20.0.gpio.034.in_not joint.2.neg-lim-sw-in
|
||||
|
||||
#connect positive limit signals to home inputs
|
||||
net Xmax joint.0.home-sw-in
|
||||
net Ymax joint.1.home-sw-in
|
||||
net Zmax joint.2.home-sw-in
|
||||
|
||||
# Spindle Contactor Enable
|
||||
setp hm2_5i20.0.gpio.041.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.041.invert_output TRUE
|
||||
# Door Closed - Energizes spindle contactor
|
||||
net CLOSED hm2_5i20.0.gpio.029.in_not hm2_5i20.0.gpio.041.out
|
||||
|
||||
# Main Contactors - True when both contactors are energized
|
||||
net ACOK hm2_5i20.0.gpio.035.in_not
|
||||
# VFD Fault Relay - True when VFD is not faulted
|
||||
#net VFDOK hm2_5i20.0.gpio.031.in_not
|
||||
# A Axis Home - On Sieg machines there is no VFD fault signal,
|
||||
# it is used for the A axis home sensor on 4 axis machines
|
||||
#net AHOME hm2_5i20.0.gpio.031.in joint.3.home-sw-in
|
||||
|
||||
# Stop on any spindle fault
|
||||
loadrt or2
|
||||
#net VFDOK hm2_5i20.0.gpio.031.in_not and2.1.in0
|
||||
net VFDOK hm2_5i20.0.gpio.031.in_not or2.0.in0
|
||||
#net AUTO halui.mode.is-auto and2.1.in1
|
||||
net stall or2.0.in1
|
||||
#net ABORT and2.1.out halui.abort
|
||||
net ABORT or2.0.out halui.abort
|
||||
|
||||
# Spindle Contactor - False when spindle contactor is energized
|
||||
net SOFF hm2_5i20.0.gpio.033.in halui.program.pause motion.feed-hold
|
||||
|
||||
# Axis Drive Status Signals
|
||||
# True when YAKO stepper drive is on a full step position
|
||||
# True when a Leadshine stepper drive is in the READY state
|
||||
net DRV0 hm2_5i20.0.gpio.025.in_not
|
||||
net DRV1 hm2_5i20.0.gpio.027.in_not
|
||||
net DRV2 hm2_5i20.0.gpio.036.in_not
|
||||
net DRV3 hm2_5i20.0.gpio.038.in_not
|
||||
|
||||
# Output Bits
|
||||
# Link Spindle Direction Signals to make AXIS Display Buttons
|
||||
net FWD spindle.0.reverse
|
||||
net REV spindle.0.forward
|
||||
# Flood Coolant
|
||||
setp hm2_5i20.0.gpio.043.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.043.invert_output TRUE
|
||||
net M8 hm2_5i20.0.gpio.043.out iocontrol.0.coolant-flood
|
||||
# Mist Coolant
|
||||
setp hm2_5i20.0.gpio.045.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.045.invert_output TRUE
|
||||
net M7 hm2_5i20.0.gpio.045.out iocontrol.0.coolant-mist
|
||||
|
||||
# hook the functions to threads
|
||||
# read inputs
|
||||
addf hm2_5i20.0.read servo-thread
|
||||
# handle motion commands
|
||||
addf motion-command-handler servo-thread
|
||||
# run the motion controller
|
||||
addf motion-controller servo-thread
|
||||
# limit the spindle speed command
|
||||
addf limit2.0 servo-thread
|
||||
# do spindle pid calcs
|
||||
addf pid.0.do-pid-calcs servo-thread
|
||||
# filter encoder velocity
|
||||
addf lowpass.0 servo-thread
|
||||
# compare filtered encoder velocity to commanded
|
||||
addf near.0 servo-thread
|
||||
# detect a stalled spindle
|
||||
addf abs.0 servo-thread
|
||||
addf comp.0 servo-thread
|
||||
addf comp.1 servo-thread
|
||||
addf and2.0 servo-thread
|
||||
# delay running the 8i20 smart serial channel
|
||||
addf debounce.0 servo-thread
|
||||
# detect a spindle fault
|
||||
#addf and2.1 servo-thread
|
||||
addf or2.0 servo-thread
|
||||
# write outputs
|
||||
addf hm2_5i20.0.write servo-thread
|
||||
# run bldc function
|
||||
addf bldc.0 servo-thread
|
||||
# toggle the charge pump
|
||||
addf charge-pump servo-thread
|
||||
|
||||
302
configs/by_machine/smithy/1240combined_4axis.ini
Normal file
302
configs/by_machine/smithy/1240combined_4axis.ini
Normal file
@@ -0,0 +1,302 @@
|
||||
# EMC controller parameters for Mesa 5i20 controlled 4 Axis Smithy 1240 Mill
|
||||
|
||||
[EMC]
|
||||
MACHINE = 4 Axis Smithy 1240 Combined Box Mill
|
||||
VERSION = 1.1
|
||||
DEBUG = 0x00000000
|
||||
#DEBUG = 0x7FFFFFFF
|
||||
|
||||
[DISPLAY]
|
||||
#DISPLAY = eztrol
|
||||
# CYCLE_TIME is used by eztrol
|
||||
CYCLE_TIME = .1
|
||||
DISPLAY = axis
|
||||
#DISPLAY = tklinuxcnc
|
||||
#HELP_FILE = /usr/share/doc/linuxcnc/tklinuxcnc.txt
|
||||
TKPKG = Ngcgui 1.0
|
||||
TKPKG = Ngcguittt 1.0
|
||||
# note: ngcgui_app.tcl must precede ngcgui_ttt.tcl
|
||||
NGCGUI_FONT = Helvetica -12 normal
|
||||
TTT = truetype-tracer
|
||||
TTT_PREAMBLE = in_std.ngc
|
||||
NGCGUI_PREAMBLE = in_std.ngc
|
||||
NGCGUI_POSTAMBLE = bye.ngc
|
||||
NGCGUI_SUBFILE = backlash.ngc
|
||||
NGCGUI_SUBFILE = hole_circle.ngc
|
||||
NGCGUI_SUBFILE = helix.ngc
|
||||
NGCGUI_SUBFILE = helix_rtheta.ngc
|
||||
NGCGUI_SUBFILE = slot.ngc
|
||||
NGCGUI_SUBFILE = simp.ngc
|
||||
NGCGUI_SUBFILE = xyz.ngc
|
||||
NGCGUI_SUBFILE = iquad.ngc
|
||||
NGCGUI_SUBFILE = oquad.ngc
|
||||
NGCGUI_SUBFILE = db25.ngc
|
||||
NGCGUI_SUBFILE = ihex.ngc
|
||||
NGCGUI_SUBFILE = ohex.ngc
|
||||
NGCGUI_SUBFILE = gosper.ngc
|
||||
NGCGUI_SUBFILE = ""
|
||||
#NGCGUI_SUBFILE = "" use when imageframe is specified if
|
||||
# opening other files is required
|
||||
# images will be put in a toplevel window
|
||||
NGCGUI_OPTIONS =
|
||||
#NGCGUI_OPTIONS = opt1 opt2 ...
|
||||
# opt items:
|
||||
# nonew -- disallow making a new tab page
|
||||
# noremove -- disallow removing any tab page
|
||||
# noauto -- no autosend (makeFile, then manually send)
|
||||
# noiframe -- no internal image, image on separate toplevel
|
||||
POSITION_OFFSET = RELATIVE
|
||||
POSITION_FEEDBACK = ACTUAL
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MIN_SPINDLE_OVERRIDE = 0.2
|
||||
MAX_SPINDLE_OVERRIDE = 1.5
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in
|
||||
PROGRAM_PREFIX = ../../nc_files/
|
||||
#EDITOR = geany
|
||||
TOOL_EDITOR = tooledit
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
# @SCALE = 25600
|
||||
#MAX_LINEAR_VELOCITY = 1.9
|
||||
# @SCALE = 10000
|
||||
MAX_LINEAR_VELOCITY = 4.2
|
||||
DEFAULT_ANGULAR_VELOCITY = 12.0
|
||||
MAX_ANGULAR_VELOCITY = 85.0
|
||||
PYVCP = 8i20.xml
|
||||
|
||||
[FILTER]
|
||||
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
|
||||
PROGRAM_EXTENSION = .py Python Script
|
||||
png = image-to-gcode
|
||||
gif = image-to-gcode
|
||||
jpg = image-to-gcode
|
||||
py = python3
|
||||
|
||||
[RS274NGC]
|
||||
PARAMETER_FILE = emc.var
|
||||
SUBROUTINE_PATH = ../../nc_files/ngcgui_lib:../../nc_files/ngcgui_lib/utilitysubs
|
||||
USER_M_PATH = ../../nc_files/ngcgui_lib/mfiles
|
||||
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
SHMEM_KEY = 111
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 250000
|
||||
SERVO_PERIOD = 250000
|
||||
TRAJ_PERIOD = 250000
|
||||
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
[HAL]
|
||||
HALUI = halui
|
||||
HALFILE = 1240combined_4axis.hal
|
||||
#HALFILE = naiky_4axis.hal
|
||||
EZTROL_HALFILE = 5i20eztrol.hal
|
||||
#HALFILE = axis_manualtoolchange.hal
|
||||
POSTGUI_HALFILE = 8i20postgui.hal
|
||||
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z A
|
||||
LINEAR_UNITS = inch
|
||||
ANGULAR_UNITS = degree
|
||||
# @SCALE = 25600
|
||||
#MAX_VELOCITY = 1.9
|
||||
# @SCALE = 10000
|
||||
MAX_LINEAR_VELOCITY = 4.2
|
||||
MAX_LINEAR_ACCELERATION = 10.0
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
|
||||
[EMCIO]
|
||||
TOOL_TABLE = mill.tbl
|
||||
#TOOL_CHANGE_POSITION = 0 0 2
|
||||
#TOOL_CHANGE_WITH_SPINDLE_ON = 1
|
||||
TOOL_CHANGE_QUILL_UP = 1
|
||||
#TOOL_CHANGE_AT_G30 = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins
|
||||
JOINTS = 4
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -21.8
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 4.2
|
||||
MAX_ACCELERATION = 10.0
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
# @SCALE = 25600
|
||||
#MAX_VELOCITY = 1.9
|
||||
# @SCALE = 10000
|
||||
MAX_VELOCITY = 4.2
|
||||
MAX_ACCELERATION = 10.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 25600
|
||||
# Vel at 250k Steps/S = 115"/min
|
||||
#SCALE = 130048
|
||||
# Steps/Rev = 10000
|
||||
# Vel at 250k Steps/S = 295"/min
|
||||
SCALE = 50800
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -21.8
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 2
|
||||
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -11.8
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 4.2
|
||||
MAX_ACCELERATION = 10.0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
# @SCALE = 25600
|
||||
#MAX_VELOCITY = 1.9
|
||||
# @SCALE = 10000
|
||||
MAX_VELOCITY = 4.2
|
||||
MAX_ACCELERATION = 10.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 25600
|
||||
# Vel at 250k Steps/S = 115"/min
|
||||
#SCALE = -130048
|
||||
# Steps/Rev = 10000
|
||||
# Vel at 250k Steps/S = 295"/min
|
||||
SCALE = -50800
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -11.8
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -11.8
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 4.2
|
||||
MAX_ACCELERATION = 10.0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
# @SCALE = 25600
|
||||
#MAX_VELOCITY = 1.9
|
||||
# @SCALE = 10000
|
||||
MAX_VELOCITY = 4.2
|
||||
MAX_ACCELERATION = 10.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 25600
|
||||
# Vel at 250k Steps/S = 115"/min
|
||||
#SCALE = -130048
|
||||
# Steps/Rev = 10000
|
||||
# Vel at 250k Steps/S = 295"/min
|
||||
SCALE = -50800
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -11.8
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[AXIS_A]
|
||||
MIN_LIMIT = -360000.0
|
||||
MAX_LIMIT = 360000.0
|
||||
MAX_VELOCITY = 85.0
|
||||
MAX_ACCELERATION = 450.0
|
||||
|
||||
[JOINT_3]
|
||||
TYPE = ANGULAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 85.0
|
||||
MAX_ACCELERATION = 450.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Drive Ratio = 90:360 = 1:4
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 400k Steps/S = 9600 deg/min
|
||||
SCALE = 2500.0
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -360000.0
|
||||
MAX_LIMIT = 360000.0
|
||||
FERROR = 2.0
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 0.0
|
||||
HOME_LATCH_VEL = 0.0
|
||||
#HOME_FINAL_VEL = 0.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 3
|
||||
|
||||
[EZTROL]
|
||||
QTEMC_PLUGIN = /usr/share/eztrol/lib/libqtemc-2.4.6.so
|
||||
QTEMCHAL_PLUGIN = /usr/share/eztrol/lib/libqtemchal-2.4.6.so
|
||||
EZTROLGUI = /usr/share/eztrol/eztrolgui/libguimill2.so
|
||||
MAX_SPINDLE_RPM = 4000
|
||||
DIR_PLUGIN = /usr/share/eztrol/eztrolplugins
|
||||
PLUGIN = libeztrol_wizard_plugin.so
|
||||
PLUGIN = libeztrol_webwizard_plugin.so
|
||||
# disabling settings gcode editor will benefit systems with small memory size
|
||||
ENABLE_SETTINGS_EDITOR = true
|
||||
# disable OpenGL 3D Preview
|
||||
ENABLE_3D_PREVIEW = true
|
||||
# set to Full Screen TRUE/FALSE
|
||||
FULLSCREEN = false
|
||||
# Settings Tab GCode Editor Syntax Highlight
|
||||
# color guide - http://www.w3.org/TR/SVG/types.html#ColorKeywords
|
||||
AXIS_COLOR = magenta
|
||||
LINENUMBER_COLOR = rosybrown
|
||||
GM_COLOR = blue
|
||||
STFDRLPQH_COLOR = red
|
||||
O_COLOR = blue
|
||||
RESERVEDWORDS_COLOR = darkviolet
|
||||
VARIABLE_COLOR = olive
|
||||
COMMENT_COLOR = seagreen
|
||||
GUI_STYLESHEET = eztrolstyle1.qss
|
||||
|
||||
[EZTROLWIZARDS]
|
||||
WIZARD_DIRECTORY = /usr/share/eztrol/eztrolwizards
|
||||
SAVE_DIRECTORY = ../../nc_files
|
||||
|
||||
[EZTROLWEBWIZARD]
|
||||
URL = http://www.mattshaver.com/ecmacam/ecmacam.htm
|
||||
282
configs/by_machine/smithy/1240combined_mm.ini
Normal file
282
configs/by_machine/smithy/1240combined_mm.ini
Normal file
@@ -0,0 +1,282 @@
|
||||
# EMC controller parameters for Mesa 5i20 controlled Smithy 1240 Mill
|
||||
|
||||
[EMC]
|
||||
MACHINE = Smithy 1240 Combined Box Mill (metric operation)
|
||||
VERSION = 1.1
|
||||
DEBUG = 0x00000000
|
||||
#DEBUG = 0x7FFFFFFF
|
||||
|
||||
[DISPLAY]
|
||||
#DISPLAY = eztrol
|
||||
# CYCLE_TIME is used by eztrol
|
||||
CYCLE_TIME = .1
|
||||
DISPLAY = axis
|
||||
#DISPLAY = tklinuxcnc
|
||||
#HELP_FILE = /usr/share/doc/linuxcnc/tklinuxcnc.txt
|
||||
TKPKG = Ngcgui 1.0
|
||||
TKPKG = Ngcguittt 1.0
|
||||
# note: ngcgui_app.tcl must precede ngcgui_ttt.tcl
|
||||
NGCGUI_FONT = Helvetica -12 normal
|
||||
TTT = truetype-tracer
|
||||
TTT_PREAMBLE = in_std.ngc
|
||||
NGCGUI_PREAMBLE = in_std.ngc
|
||||
NGCGUI_POSTAMBLE = bye.ngc
|
||||
NGCGUI_SUBFILE = backlash.ngc
|
||||
NGCGUI_SUBFILE = hole_circle.ngc
|
||||
NGCGUI_SUBFILE = helix.ngc
|
||||
NGCGUI_SUBFILE = helix_rtheta.ngc
|
||||
NGCGUI_SUBFILE = slot.ngc
|
||||
NGCGUI_SUBFILE = simp.ngc
|
||||
NGCGUI_SUBFILE = xyz.ngc
|
||||
NGCGUI_SUBFILE = iquad.ngc
|
||||
NGCGUI_SUBFILE = oquad.ngc
|
||||
NGCGUI_SUBFILE = db25.ngc
|
||||
NGCGUI_SUBFILE = ihex.ngc
|
||||
NGCGUI_SUBFILE = ohex.ngc
|
||||
NGCGUI_SUBFILE = gosper.ngc
|
||||
NGCGUI_SUBFILE = ""
|
||||
#NGCGUI_SUBFILE = "" use when imageframe is specified if
|
||||
# opening other files is required
|
||||
# images will be put in a toplevel window
|
||||
NGCGUI_OPTIONS =
|
||||
#NGCGUI_OPTIONS = opt1 opt2 ...
|
||||
# opt items:
|
||||
# nonew -- disallow making a new tab page
|
||||
# noremove -- disallow removing any tab page
|
||||
# noauto -- no autosend (makeFile, then manually send)
|
||||
# noiframe -- no internal image, image on separate toplevel
|
||||
POSITION_OFFSET = RELATIVE
|
||||
POSITION_FEEDBACK = ACTUAL
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MIN_SPINDLE_OVERRIDE = 0.2
|
||||
MAX_SPINDLE_OVERRIDE = 1.5
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
INCREMENTS = 1mm .5mm .1mm .05mm .01mm .005mm .001mm .0005mm
|
||||
PROGRAM_PREFIX = ../../nc_files/
|
||||
#EDITOR = geany
|
||||
TOOL_EDITOR = tooledit
|
||||
DEFAULT_LINEAR_VELOCITY = 5.08
|
||||
MAX_LINEAR_VELOCITY = 124.46
|
||||
DEFAULT_ANGULAR_VELOCITY = 12.0
|
||||
MAX_ANGULAR_VELOCITY = 150.0
|
||||
PYVCP = 8i20.xml
|
||||
|
||||
[FILTER]
|
||||
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
|
||||
PROGRAM_EXTENSION = .py Python Script
|
||||
png = image-to-gcode
|
||||
gif = image-to-gcode
|
||||
jpg = image-to-gcode
|
||||
py = python3
|
||||
|
||||
[RS274NGC]
|
||||
PARAMETER_FILE = emc.var
|
||||
RS274NGC_STARTUP_CODE = G21
|
||||
SUBROUTINE_PATH = ../../nc_files/ngcgui_lib:../../nc_files/ngcgui_lib/utilitysubs
|
||||
USER_M_PATH = ../../nc_files/ngcgui_lib/mfiles
|
||||
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
SHMEM_KEY = 111
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 250000
|
||||
SERVO_PERIOD = 250000
|
||||
TRAJ_PERIOD = 250000
|
||||
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
[HAL]
|
||||
HALUI = halui
|
||||
HALFILE = 1240combined.hal
|
||||
#HALFILE = naiky.hal
|
||||
EZTROL_HALFILE = 5i20eztrol.hal
|
||||
#HALFILE = axis_manualtoolchange.hal
|
||||
POSTGUI_HALFILE = 8i20postgui.hal
|
||||
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z
|
||||
LINEAR_UNITS = mm
|
||||
ANGULAR_UNITS = degree
|
||||
MAX_LINEAR_VELOCITY = 124.46
|
||||
MAX_LINEAR_ACCELERATION = 254.0
|
||||
DEFAULT_LINEAR_VELOCITY = 5.08
|
||||
|
||||
[EMCIO]
|
||||
TOOL_TABLE = mill.tbl
|
||||
#TOOL_CHANGE_POSITION = 0 0 0
|
||||
#TOOL_CHANGE_WITH_SPINDLE_ON = 1
|
||||
TOOL_CHANGE_QUILL_UP = 1
|
||||
#TOOL_CHANGE_AT_G30 = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins
|
||||
JOINTS = 4
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -553.72
|
||||
MAX_LIMIT = 5.08
|
||||
MAX_VELOCITY = 124.46
|
||||
MAX_ACCELERATION = 254.0
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 124.46
|
||||
MAX_ACCELERATION = 254.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 10000
|
||||
# Vel at 250k Steps/S = 7493mm/min
|
||||
SCALE = 2000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -553.72
|
||||
MAX_LIMIT = 5.08
|
||||
FERROR = 6.35
|
||||
MIN_FERROR = 2.54
|
||||
HOME_OFFSET = 6.35
|
||||
HOME_SEARCH_VEL = 12.7
|
||||
HOME_LATCH_VEL = 1.27
|
||||
HOME_FINAL_VEL = 12.7
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 2
|
||||
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -299.72
|
||||
MAX_LIMIT = 5.08
|
||||
MAX_VELOCITY = 124.46
|
||||
MAX_ACCELERATION = 254.0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 124.46
|
||||
MAX_ACCELERATION = 254.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 10000
|
||||
# Vel at 250k Steps/S = 7493mm/min
|
||||
SCALE = -2000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -299.72
|
||||
MAX_LIMIT = 5.08
|
||||
FERROR = 6.35
|
||||
MIN_FERROR = 2.54
|
||||
HOME_OFFSET = 6.35
|
||||
HOME_SEARCH_VEL = 12.7
|
||||
HOME_LATCH_VEL = 1.27
|
||||
HOME_FINAL_VEL = 12.7
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -299.72
|
||||
MAX_LIMIT = 5.08
|
||||
MAX_VELOCITY = 124.46
|
||||
MAX_ACCELERATION = 254.0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
# @SCALE = 25600
|
||||
#MAX_VELOCITY = 1.9
|
||||
# @SCALE = 10000
|
||||
MAX_VELOCITY = 124.46
|
||||
MAX_ACCELERATION = 254.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 10000
|
||||
# Vel at 250k Steps/S = 7493mm/min
|
||||
SCALE = -2000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -299.72
|
||||
MAX_LIMIT = 5.08
|
||||
FERROR = 6.35
|
||||
MIN_FERROR = 2.54
|
||||
HOME_OFFSET = 6.35
|
||||
HOME_SEARCH_VEL = 12.7
|
||||
HOME_LATCH_VEL = 1.27
|
||||
HOME_FINAL_VEL = 12.7
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[AXIS_A]
|
||||
MIN_LIMIT = -360000.0
|
||||
MAX_LIMIT = 360000.0
|
||||
MAX_VELOCITY = 150.0
|
||||
MAX_ACCELERATION = 450.0
|
||||
|
||||
[JOINT_3]
|
||||
TYPE = ANGULAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 150.0
|
||||
MAX_ACCELERATION = 450.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Drive Ratio = 90:360 = 1:4
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 400k Steps/S = 9600 deg/min
|
||||
SCALE = 2500.0
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -360000.0
|
||||
MAX_LIMIT = 360000.0
|
||||
FERROR = 2.0
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 0.0
|
||||
HOME_LATCH_VEL = 0.0
|
||||
#HOME_FINAL_VEL = 0.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 3
|
||||
|
||||
[EZTROL]
|
||||
QTEMC_PLUGIN = /usr/share/eztrol/lib/libqtemc-2.4.6.so
|
||||
QTEMCHAL_PLUGIN = /usr/share/eztrol/lib/libqtemchal-2.4.6.so
|
||||
EZTROLGUI = /usr/share/eztrol/eztrolgui/libguimill2.so
|
||||
MAX_SPINDLE_RPM = 4000
|
||||
DIR_PLUGIN = /usr/share/eztrol/eztrolplugins
|
||||
PLUGIN = libeztrol_wizard_plugin.so
|
||||
PLUGIN = libeztrol_webwizard_plugin.so
|
||||
# disabling settings gcode editor will benefit systems with small memory size
|
||||
ENABLE_SETTINGS_EDITOR = true
|
||||
# disable OpenGL 3D Preview
|
||||
ENABLE_3D_PREVIEW = true
|
||||
# set to Full Screen TRUE/FALSE
|
||||
FULLSCREEN = false
|
||||
# Settings Tab GCode Editor Syntax Highlight
|
||||
# color guide - http://www.w3.org/TR/SVG/types.html#ColorKeywords
|
||||
AXIS_COLOR = magenta
|
||||
LINENUMBER_COLOR = rosybrown
|
||||
GM_COLOR = blue
|
||||
STFDRLPQH_COLOR = red
|
||||
O_COLOR = blue
|
||||
RESERVEDWORDS_COLOR = darkviolet
|
||||
VARIABLE_COLOR = olive
|
||||
COMMENT_COLOR = seagreen
|
||||
GUI_STYLESHEET = eztrolstyle1.qss
|
||||
|
||||
[EZTROLWIZARDS]
|
||||
WIZARD_DIRECTORY = /usr/share/eztrol/eztrolwizards
|
||||
SAVE_DIRECTORY = ../../nc_files
|
||||
|
||||
[EZTROLWEBWIZARD]
|
||||
URL = http://www.mattshaver.com/ecmacam/ecmacam.htm
|
||||
125
configs/by_machine/smithy/1240gecko.hal
Normal file
125
configs/by_machine/smithy/1240gecko.hal
Normal file
@@ -0,0 +1,125 @@
|
||||
loadrt [KINS]KINEMATICS
|
||||
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD traj_period_nsec=[EMCMOT]SERVO_PERIOD key=[EMCMOT]SHMEM_KEY num_joints=[KINS]JOINTS
|
||||
loadrt hal_parport cfg=0x378
|
||||
setp parport.0.reset-time 4000
|
||||
loadrt stepgen step_type=0,0,0,0
|
||||
loadrt charge_pump
|
||||
loadrt match8 count=1
|
||||
|
||||
loadrt pwmgen output_type=1
|
||||
setp pwmgen.0.pwm-freq 5.0
|
||||
setp pwmgen.0.scale 4000
|
||||
setp pwmgen.0.offset 0.0
|
||||
setp pwmgen.0.min-dc 0.01
|
||||
setp pwmgen.0.max-dc 0.99
|
||||
setp pwmgen.0.dither-pwm true
|
||||
|
||||
addf parport.0.read base-thread
|
||||
addf stepgen.make-pulses base-thread
|
||||
addf charge-pump base-thread
|
||||
addf pwmgen.make-pulses base-thread
|
||||
addf parport.0.write base-thread
|
||||
addf parport.0.reset base-thread
|
||||
|
||||
addf stepgen.capture-position servo-thread
|
||||
addf motion-command-handler servo-thread
|
||||
addf motion-controller servo-thread
|
||||
addf stepgen.update-freq servo-thread
|
||||
addf pwmgen.update servo-thread
|
||||
addf match8.0 servo-thread
|
||||
|
||||
net spindle-cmd spindle.0.speed-out pwmgen.0.value
|
||||
net spindle-enable spindle.0.on pwmgen.0.enable
|
||||
|
||||
net coolant-flood parport.0.pin-01-out iocontrol.0.coolant-flood
|
||||
net xdir parport.0.pin-02-out stepgen.0.dir
|
||||
net xstep parport.0.pin-03-out stepgen.0.step
|
||||
setp parport.0.pin-03-out-reset 1
|
||||
net ydir parport.0.pin-04-out stepgen.1.dir
|
||||
net ystep parport.0.pin-05-out stepgen.1.step
|
||||
setp parport.0.pin-05-out-reset 1
|
||||
net zdir parport.0.pin-06-out stepgen.2.dir
|
||||
net zstep parport.0.pin-07-out stepgen.2.step
|
||||
setp parport.0.pin-07-out-reset 1
|
||||
net adir parport.0.pin-08-out stepgen.3.dir
|
||||
net astep parport.0.pin-09-out stepgen.3.step
|
||||
setp parport.0.pin-09-out-reset 1
|
||||
|
||||
#PMDX-110
|
||||
# Need this line so AXIS shows the reverse button
|
||||
net spindle-rev spindle.0.reverse
|
||||
net spindle-fwd parport.0.pin-14-out spindle.0.forward
|
||||
#--OR--
|
||||
#PMDX-131
|
||||
# Need this line so AXIS shows the forward button
|
||||
#net spindle-fwd spindle.0.forward
|
||||
#net spindle-rev parport.0.pin-14-out spindle.0.reverse
|
||||
|
||||
net spindle-pwm parport.0.pin-16-out pwmgen.0.pwm
|
||||
net charge-pump parport.0.pin-17-out charge-pump.out
|
||||
net estop-in parport.0.pin-10-in-not iocontrol.0.emc-enable-in
|
||||
net estop-out charge-pump.enable halui.machine.is-on
|
||||
|
||||
#PMDX-110
|
||||
#net run parport.0.pin-11-in-not halui.program.pause motion.feed-hold
|
||||
#--OR--
|
||||
#PMDX-131
|
||||
net run parport.0.pin-11-in halui.program.pause motion.feed-hold
|
||||
|
||||
net all-home parport.0.pin-12-in-not
|
||||
|
||||
setp stepgen.0.position-scale [JOINT_0]SCALE
|
||||
setp stepgen.0.steplen 1
|
||||
setp stepgen.0.stepspace 0
|
||||
setp stepgen.0.dirhold 35000
|
||||
setp stepgen.0.dirsetup 16000
|
||||
setp stepgen.0.maxaccel [JOINT_0]STEPGEN_MAXACCEL
|
||||
net xpos-cmd joint.0.motor-pos-cmd stepgen.0.position-cmd
|
||||
net xpos-fb stepgen.0.position-fb joint.0.motor-pos-fb
|
||||
net xenable joint.0.amp-enable-out stepgen.0.enable
|
||||
net all-home joint.0.home-sw-in
|
||||
|
||||
setp stepgen.1.position-scale [JOINT_1]SCALE
|
||||
setp stepgen.1.steplen 1
|
||||
setp stepgen.1.stepspace 0
|
||||
setp stepgen.1.dirhold 35000
|
||||
setp stepgen.1.dirsetup 16000
|
||||
setp stepgen.1.maxaccel [JOINT_1]STEPGEN_MAXACCEL
|
||||
net ypos-cmd joint.1.motor-pos-cmd stepgen.1.position-cmd
|
||||
net ypos-fb stepgen.1.position-fb joint.1.motor-pos-fb
|
||||
net yenable joint.1.amp-enable-out stepgen.1.enable
|
||||
net all-home joint.1.home-sw-in
|
||||
|
||||
setp stepgen.2.position-scale [JOINT_2]SCALE
|
||||
setp stepgen.2.steplen 1
|
||||
setp stepgen.2.stepspace 0
|
||||
setp stepgen.2.dirhold 35000
|
||||
setp stepgen.2.dirsetup 16000
|
||||
setp stepgen.2.maxaccel [JOINT_2]STEPGEN_MAXACCEL
|
||||
net zpos-cmd joint.2.motor-pos-cmd stepgen.2.position-cmd
|
||||
net zpos-fb stepgen.2.position-fb joint.2.motor-pos-fb
|
||||
net zenable joint.2.amp-enable-out stepgen.2.enable
|
||||
net all-home joint.2.home-sw-in
|
||||
|
||||
setp stepgen.3.position-scale [JOINT_3]SCALE
|
||||
setp stepgen.3.steplen 1
|
||||
setp stepgen.3.stepspace 0
|
||||
setp stepgen.3.dirhold 35000
|
||||
setp stepgen.3.dirsetup 16000
|
||||
setp stepgen.3.maxaccel [JOINT_3]STEPGEN_MAXACCEL
|
||||
net apos-cmd joint.3.motor-pos-cmd stepgen.3.position-cmd
|
||||
net apos-fb stepgen.3.position-fb joint.3.motor-pos-fb
|
||||
net aenable joint.3.amp-enable-out stepgen.3.enable
|
||||
|
||||
newsig false bit
|
||||
sets false FALSE
|
||||
net xhoming joint.0.homing match8.0.a0
|
||||
net yhoming joint.1.homing match8.0.a1
|
||||
net zhoming joint.2.homing match8.0.a2
|
||||
net false match8.0.b0 match8.0.b1 match8.0.b2
|
||||
net all-home match8.0.in
|
||||
net limit match8.0.out joint.0.neg-lim-sw-in
|
||||
|
||||
# These loopbacks are usually disconnected by a postgui halfile
|
||||
net tool-change-loop iocontrol.0.tool-change iocontrol.0.tool-changed
|
||||
net tool-prepare-loopback iocontrol.0.tool-prepare iocontrol.0.tool-prepared
|
||||
272
configs/by_machine/smithy/1240gecko.ini
Normal file
272
configs/by_machine/smithy/1240gecko.ini
Normal file
@@ -0,0 +1,272 @@
|
||||
# EMC controller parameters for Parallel Port controlled Smithy 1240 Gecko Mill
|
||||
|
||||
[EMC]
|
||||
MACHINE = Smithy 1240 Gecko Mill
|
||||
VERSION = 1.1
|
||||
DEBUG = 0x00000000
|
||||
#DEBUG = 0x7FFFFFFF
|
||||
|
||||
[DISPLAY]
|
||||
#DISPLAY = eztrol
|
||||
# CYCLE_TIME is used by eztrol
|
||||
CYCLE_TIME = .1
|
||||
DISPLAY = axis
|
||||
#DISPLAY = tklinuxcnc
|
||||
#HELP_FILE = /usr/share/doc/linuxcnc/tklinuxcnc.txt
|
||||
TKPKG = Ngcgui 1.0
|
||||
TKPKG = Ngcguittt 1.0
|
||||
# note: ngcgui_app.tcl must precede ngcgui_ttt.tcl
|
||||
NGCGUI_FONT = Helvetica -12 normal
|
||||
TTT = truetype-tracer
|
||||
TTT_PREAMBLE = in_std.ngc
|
||||
NGCGUI_PREAMBLE = in_std.ngc
|
||||
NGCGUI_POSTAMBLE = bye.ngc
|
||||
NGCGUI_SUBFILE = backlash.ngc
|
||||
NGCGUI_SUBFILE = hole_circle.ngc
|
||||
NGCGUI_SUBFILE = helix.ngc
|
||||
NGCGUI_SUBFILE = helix_rtheta.ngc
|
||||
NGCGUI_SUBFILE = slot.ngc
|
||||
NGCGUI_SUBFILE = simp.ngc
|
||||
NGCGUI_SUBFILE = xyz.ngc
|
||||
NGCGUI_SUBFILE = iquad.ngc
|
||||
NGCGUI_SUBFILE = oquad.ngc
|
||||
NGCGUI_SUBFILE = db25.ngc
|
||||
NGCGUI_SUBFILE = ihex.ngc
|
||||
NGCGUI_SUBFILE = ohex.ngc
|
||||
NGCGUI_SUBFILE = gosper.ngc
|
||||
NGCGUI_SUBFILE = ""
|
||||
#NGCGUI_SUBFILE = "" use when imageframe is specified if
|
||||
# opening other files is required
|
||||
# images will be put in a toplevel window
|
||||
NGCGUI_OPTIONS =
|
||||
#NGCGUI_OPTIONS = opt1 opt2 ...
|
||||
# opt items:
|
||||
# nonew -- disallow making a new tab page
|
||||
# noremove -- disallow removing any tab page
|
||||
# noauto -- no autosend (makeFile, then manually send)
|
||||
# noiframe -- no internal image, image on separate toplevel
|
||||
POSITION_OFFSET = RELATIVE
|
||||
POSITION_FEEDBACK = ACTUAL
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MIN_SPINDLE_OVERRIDE = 0.2
|
||||
MAX_SPINDLE_OVERRIDE = 1.5
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in
|
||||
PROGRAM_PREFIX = ../../nc_files/
|
||||
#EDITOR = geany
|
||||
TOOL_EDITOR = tooledit
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
MAX_LINEAR_VELOCITY = 2.0
|
||||
DEFAULT_ANGULAR_VELOCITY = 12.0
|
||||
MAX_ANGULAR_VELOCITY = 60
|
||||
PYVCP = gecko.xml
|
||||
|
||||
[FILTER]
|
||||
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
|
||||
PROGRAM_EXTENSION = .py Python Script
|
||||
png = image-to-gcode
|
||||
gif = image-to-gcode
|
||||
jpg = image-to-gcode
|
||||
py = python3
|
||||
|
||||
[RS274NGC]
|
||||
PARAMETER_FILE = emc.var
|
||||
SUBROUTINE_PATH = ../../nc_files/ngcgui_lib:../../nc_files/ngcgui_lib/utilitysubs
|
||||
USER_M_PATH = ../../nc_files/ngcgui_lib/mfiles
|
||||
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
SHMEM_KEY = 111
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 50000
|
||||
SERVO_PERIOD = 1000000
|
||||
TRAJ_PERIOD = 10000000
|
||||
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.010
|
||||
|
||||
[HAL]
|
||||
HALUI = halui
|
||||
HALFILE = 1240gecko.hal
|
||||
EZTROL_HALFILE = eztrol.hal
|
||||
POSTGUI_HALFILE = gecko_postgui.hal
|
||||
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z A
|
||||
LINEAR_UNITS = inch
|
||||
ANGULAR_UNITS = degree
|
||||
MAX_LINEAR_VELOCITY = 2.0
|
||||
MAX_LINEAR_ACCELERATION = 1.5
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
|
||||
[EMCIO]
|
||||
TOOL_TABLE = mill.tbl
|
||||
#TOOL_CHANGE_POSITION = 0 0 2
|
||||
#TOOL_CHANGE_WITH_SPINDLE_ON = 1
|
||||
TOOL_CHANGE_QUILL_UP = 1
|
||||
#TOOL_CHANGE_AT_G30 = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins
|
||||
JOINTS = 4
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -21.8
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 2.0
|
||||
MAX_ACCELERATION = 1.5
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 2.0
|
||||
MAX_ACCELERATION = 1.5
|
||||
STEPGEN_MAXVEL = 2.2
|
||||
STEPGEN_MAXACCEL = 1.7
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 10uSteps = 2000
|
||||
# Vel at 200k Steps/S = 1181"/min
|
||||
SCALE = 10160
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -21.8
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.05
|
||||
MIN_FERROR = 0.01
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = -0.1
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 2
|
||||
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -10.8
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 2.0
|
||||
MAX_ACCELERATION = 1.5
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 2.0
|
||||
MAX_ACCELERATION = 1.5
|
||||
STEPGEN_MAXVEL = 2.2
|
||||
STEPGEN_MAXACCEL = 1.7
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 10uSteps = 2000
|
||||
# Vel at 200k Steps/S = 1181"/min
|
||||
SCALE = -10160
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -10.8
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.05
|
||||
MIN_FERROR = 0.01
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = -0.1
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -11.3
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 1.2
|
||||
MAX_ACCELERATION = 1.5
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 1.2
|
||||
MAX_ACCELERATION = 1.5
|
||||
STEPGEN_MAXVEL = 1.4
|
||||
STEPGEN_MAXACCEL = 1.7
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 10uSteps = 2000
|
||||
# Vel at 200k Steps/S = 1181"/min
|
||||
SCALE = -10160
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -11.3
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.05
|
||||
MIN_FERROR = 0.01
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = -0.1
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[AXIS_A]
|
||||
MIN_LIMIT = -36000.0
|
||||
MAX_LIMIT = 36000.0
|
||||
MAX_VELOCITY = 30.0
|
||||
MAX_ACCELERATION = 300.0
|
||||
|
||||
[JOINT_3]
|
||||
TYPE = ANGULAR
|
||||
HOME = 0.0
|
||||
MAX_VELOCITY = 30.0
|
||||
MAX_ACCELERATION = 300.0
|
||||
STEPGEN_MAXVEL = 33.0
|
||||
STEPGEN_MAXACCEL = 330.0
|
||||
BACKLASH = 0.0000
|
||||
SCALE = -500
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -36000.0
|
||||
MAX_LIMIT = 36000.0
|
||||
FERROR = 5.0
|
||||
MIN_FERROR = 1.0
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 0.0
|
||||
HOME_LATCH_VEL = 0.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 3
|
||||
|
||||
[EZTROL]
|
||||
QTEMC_PLUGIN = /usr/share/eztrol/lib/libqtemc-2.4.6.so
|
||||
QTEMCHAL_PLUGIN = /usr/share/eztrol/lib/libqtemchal-2.4.6.so
|
||||
EZTROLGUI = /usr/share/eztrol/eztrolgui/libguimill2.so
|
||||
MAX_SPINDLE_RPM = 5000
|
||||
DIR_PLUGIN = /usr/share/eztrol/eztrolplugins
|
||||
PLUGIN = libeztrol_wizard_plugin.so
|
||||
PLUGIN = libeztrol_webwizard_plugin.so
|
||||
# disabling settings gcode editor will benefit systems with small memory size
|
||||
ENABLE_SETTINGS_EDITOR = true
|
||||
# disable OpenGL 3D Preview
|
||||
ENABLE_3D_PREVIEW = true
|
||||
# set to Full Screen TRUE/FALSE
|
||||
FULLSCREEN = false
|
||||
# Settings Tab GCode Editor Syntax Highlight
|
||||
# color guide - http://www.w3.org/TR/SVG/types.html#ColorKeywords
|
||||
AXIS_COLOR = magenta
|
||||
LINENUMBER_COLOR = rosybrown
|
||||
GM_COLOR = blue
|
||||
STFDRLPQH_COLOR = red
|
||||
O_COLOR = blue
|
||||
RESERVEDWORDS_COLOR = darkviolet
|
||||
VARIABLE_COLOR = olive
|
||||
COMMENT_COLOR = seagreen
|
||||
GUI_STYLESHEET = eztrolstyle1.qss
|
||||
|
||||
[EZTROLWIZARDS]
|
||||
WIZARD_DIRECTORY = /usr/share/eztrol/eztrolwizards
|
||||
SAVE_DIRECTORY = ../../nc_files
|
||||
|
||||
[EZTROLWEBWIZARD]
|
||||
URL = http://www.mattshaver.com/ecmacam/ecmacam.htm
|
||||
77
configs/by_machine/smithy/1240rutex.hal
Normal file
77
configs/by_machine/smithy/1240rutex.hal
Normal file
@@ -0,0 +1,77 @@
|
||||
loadrt [KINS]KINEMATICS
|
||||
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD traj_period_nsec=[EMCMOT]TRAJ_PERIOD key=[EMCMOT]SHMEM_KEY num_joints=[KINS]JOINTS
|
||||
loadrt stepgen step_type=0,0,0
|
||||
loadrt match8 count=1
|
||||
# Used to filter out spurious limit switch signals
|
||||
# THIS IS VERY BAD & SHOULD BE FIXED IN HARDWARE!!!
|
||||
loadrt debounce cfg=1
|
||||
setp debounce.0.delay 2
|
||||
loadrt hal_parport cfg="0x378"
|
||||
|
||||
addf parport.0.read base-thread
|
||||
addf stepgen.make-pulses base-thread
|
||||
addf debounce.0 base-thread
|
||||
addf parport.0.write base-thread
|
||||
|
||||
addf stepgen.capture-position servo-thread
|
||||
addf match8.0 servo-thread
|
||||
addf motion-command-handler servo-thread
|
||||
addf motion-controller servo-thread
|
||||
addf stepgen.update-freq servo-thread
|
||||
|
||||
net Xpos-cmd joint.0.motor-pos-cmd stepgen.0.position-cmd
|
||||
net Ypos-cmd joint.1.motor-pos-cmd stepgen.1.position-cmd
|
||||
net Zpos-cmd joint.2.motor-pos-cmd stepgen.2.position-cmd
|
||||
|
||||
net Xpos-fb stepgen.0.position-fb joint.0.motor-pos-fb
|
||||
net Ypos-fb stepgen.1.position-fb joint.1.motor-pos-fb
|
||||
net Zpos-fb stepgen.2.position-fb joint.2.motor-pos-fb
|
||||
|
||||
net Xen <= joint.0.amp-enable-out stepgen.0.enable
|
||||
net Yen <= joint.1.amp-enable-out stepgen.1.enable
|
||||
net Zen <= joint.2.amp-enable-out stepgen.2.enable
|
||||
|
||||
net Xstep stepgen.0.step parport.0.pin-03-out
|
||||
net Xdir stepgen.0.dir parport.0.pin-02-out
|
||||
net Ystep stepgen.1.step parport.0.pin-05-out
|
||||
net Ydir stepgen.1.dir parport.0.pin-04-out
|
||||
net Zstep stepgen.2.step parport.0.pin-07-out
|
||||
net Zdir stepgen.2.dir parport.0.pin-06-out
|
||||
|
||||
setp stepgen.0.position-scale [JOINT_0]SCALE
|
||||
setp stepgen.1.position-scale [JOINT_1]SCALE
|
||||
setp stepgen.2.position-scale [JOINT_2]SCALE
|
||||
setp stepgen.0.maxvel [JOINT_0]STEPGEN_MAXVEL
|
||||
setp stepgen.1.maxvel [JOINT_1]STEPGEN_MAXVEL
|
||||
setp stepgen.2.maxvel [JOINT_2]STEPGEN_MAXVEL
|
||||
setp stepgen.0.maxaccel [JOINT_0]STEPGEN_MAXACCEL
|
||||
setp stepgen.1.maxaccel [JOINT_1]STEPGEN_MAXACCEL
|
||||
setp stepgen.2.maxaccel [JOINT_2]STEPGEN_MAXACCEL
|
||||
|
||||
# three axis motion allows 6 other outputs on pins 8,9,1,14,16,17
|
||||
# five additional input pins are available 10,11,12,13,15
|
||||
|
||||
setp parport.0.pin-01-out-invert true
|
||||
net estop iocontrol.0.user-enable-out parport.0.pin-01-out iocontrol.0.emc-enable-in
|
||||
|
||||
setp parport.0.pin-14-out-invert true
|
||||
net flood iocontrol.0.coolant-flood parport.0.pin-14-out
|
||||
|
||||
setp parport.0.pin-17-out-invert true
|
||||
net forward spindle.0.forward parport.0.pin-16-out
|
||||
net reverse spindle.0.reverse parport.0.pin-17-out
|
||||
|
||||
# These loopbacks are usually disconnected by a postgui halfile
|
||||
net tool-change-loop iocontrol.0.tool-change iocontrol.0.tool-changed
|
||||
net tool-prepare-loopback iocontrol.0.tool-prepare iocontrol.0.tool-prepared
|
||||
|
||||
newsig false bit
|
||||
sets false FALSE
|
||||
net xhoming joint.0.homing match8.0.a0
|
||||
net yhoming joint.1.homing match8.0.a1
|
||||
net zhoming joint.2.homing match8.0.a2
|
||||
net false match8.0.b0 match8.0.b1 match8.0.b2
|
||||
net home-raw parport.0.pin-15-in-not debounce.0.0.in
|
||||
net home-filtered debounce.0.0.out joint.0.home-sw-in joint.1.home-sw-in joint.2.home-sw-in match8.0.in
|
||||
net limit match8.0.out joint.0.neg-lim-sw-in
|
||||
|
||||
270
configs/by_machine/smithy/1240rutex.ini
Normal file
270
configs/by_machine/smithy/1240rutex.ini
Normal file
@@ -0,0 +1,270 @@
|
||||
# EMC controller parameters for Parallel Port controlled Smithy 1240 Rutex Mill
|
||||
|
||||
[EMC]
|
||||
MACHINE = Smithy 1240 Rutex Mill
|
||||
VERSION = 1.1
|
||||
DEBUG = 0x00000000
|
||||
#DEBUG = 0x7FFFFFFF
|
||||
|
||||
[DISPLAY]
|
||||
#DISPLAY = eztrol
|
||||
# CYCLE_TIME is used by eztrol
|
||||
CYCLE_TIME = .1
|
||||
DISPLAY = axis
|
||||
#DISPLAY = tklinuxcnc
|
||||
#HELP_FILE = /usr/share/doc/linuxcnc/tklinuxcnc.txt
|
||||
TKPKG = Ngcgui 1.0
|
||||
TKPKG = Ngcguittt 1.0
|
||||
# note: ngcgui_app.tcl must precede ngcgui_ttt.tcl
|
||||
NGCGUI_FONT = Helvetica -12 normal
|
||||
TTT = truetype-tracer
|
||||
TTT_PREAMBLE = in_std.ngc
|
||||
NGCGUI_PREAMBLE = in_std.ngc
|
||||
NGCGUI_POSTAMBLE = bye.ngc
|
||||
NGCGUI_SUBFILE = backlash.ngc
|
||||
NGCGUI_SUBFILE = hole_circle.ngc
|
||||
NGCGUI_SUBFILE = helix.ngc
|
||||
NGCGUI_SUBFILE = helix_rtheta.ngc
|
||||
NGCGUI_SUBFILE = slot.ngc
|
||||
NGCGUI_SUBFILE = simp.ngc
|
||||
NGCGUI_SUBFILE = xyz.ngc
|
||||
NGCGUI_SUBFILE = iquad.ngc
|
||||
NGCGUI_SUBFILE = oquad.ngc
|
||||
NGCGUI_SUBFILE = db25.ngc
|
||||
NGCGUI_SUBFILE = ihex.ngc
|
||||
NGCGUI_SUBFILE = ohex.ngc
|
||||
NGCGUI_SUBFILE = gosper.ngc
|
||||
NGCGUI_SUBFILE = ""
|
||||
#NGCGUI_SUBFILE = "" use when imageframe is specified if
|
||||
# opening other files is required
|
||||
# images will be put in a toplevel window
|
||||
NGCGUI_OPTIONS =
|
||||
#NGCGUI_OPTIONS = opt1 opt2 ...
|
||||
# opt items:
|
||||
# nonew -- disallow making a new tab page
|
||||
# noremove -- disallow removing any tab page
|
||||
# noauto -- no autosend (makeFile, then manually send)
|
||||
# noiframe -- no internal image, image on separate toplevel
|
||||
POSITION_OFFSET = RELATIVE
|
||||
POSITION_FEEDBACK = ACTUAL
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MIN_SPINDLE_OVERRIDE = 0.2
|
||||
MAX_SPINDLE_OVERRIDE = 1.5
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in
|
||||
PROGRAM_PREFIX = ../../nc_files/
|
||||
#EDITOR = geany
|
||||
TOOL_EDITOR = tooledit
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
MAX_LINEAR_VELOCITY = 3.0
|
||||
DEFAULT_ANGULAR_VELOCITY = 12.0
|
||||
MAX_ANGULAR_VELOCITY = 60
|
||||
|
||||
[FILTER]
|
||||
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
|
||||
PROGRAM_EXTENSION = .py Python Script
|
||||
png = image-to-gcode
|
||||
gif = image-to-gcode
|
||||
jpg = image-to-gcode
|
||||
py = python3
|
||||
|
||||
[RS274NGC]
|
||||
PARAMETER_FILE = emc.var
|
||||
SUBROUTINE_PATH = ../../nc_files/ngcgui_lib:../../nc_files/ngcgui_lib/utilitysubs
|
||||
USER_M_PATH = ../../nc_files/ngcgui_lib/mfiles
|
||||
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
SHMEM_KEY = 111
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 50000
|
||||
SERVO_PERIOD = 1000000
|
||||
TRAJ_PERIOD = 10000000
|
||||
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.010
|
||||
|
||||
[HAL]
|
||||
HALUI = halui
|
||||
HALFILE = 1240rutex.hal
|
||||
EZTROL_HALFILE = eztrol.hal
|
||||
HALFILE = axis_manualtoolchange.hal
|
||||
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z
|
||||
LINEAR_UNITS = inch
|
||||
ANGULAR_UNITS = degree
|
||||
MAX_LINEAR_VELOCITY = 3.0
|
||||
MAX_LINEAR_ACCELERATION = 3.0
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
|
||||
[EMCIO]
|
||||
TOOL_TABLE = mill.tbl
|
||||
#TOOL_CHANGE_POSITION = 0 0 2
|
||||
#TOOL_CHANGE_WITH_SPINDLE_ON = 1
|
||||
TOOL_CHANGE_QUILL_UP = 1
|
||||
#TOOL_CHANGE_AT_G30 = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins
|
||||
JOINTS = 4
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -22.0
|
||||
MAX_LIMIT = 0.25
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 3.0
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 3.0
|
||||
STEPGEN_MAXVEL = 3.4
|
||||
STEPGEN_MAXACCEL = 4.0
|
||||
BACKLASH = 0.0000
|
||||
SCALE = 2033.2
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -22.0
|
||||
MAX_LIMIT = 0.25
|
||||
FERROR = 0.05
|
||||
MIN_FERROR = 0.01
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = -0.1
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 2
|
||||
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -11.0
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 3.0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 3.0
|
||||
STEPGEN_MAXVEL = 3.4
|
||||
STEPGEN_MAXACCEL = 4.0
|
||||
BACKLASH = 0.0000
|
||||
SCALE = -2033.2
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -11.0
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.05
|
||||
MIN_FERROR = 0.01
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = -0.1
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -11.0
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 1.2
|
||||
MAX_ACCELERATION = 20.0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 1.2
|
||||
MAX_ACCELERATION = 20.0
|
||||
STEPGEN_MAXVEL = 1.4
|
||||
STEPGEN_MAXACCEL = 21.0
|
||||
BACKLASH = 0.0000
|
||||
SCALE = -2033.2
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -11.0
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.05
|
||||
MIN_FERROR = 0.01
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = -0.1
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[AXIS_A]
|
||||
MIN_LIMIT = -360000.0
|
||||
MAX_LIMIT = 360000.0
|
||||
MAX_VELOCITY = 10.0
|
||||
MAX_ACCELERATION = 30.0
|
||||
|
||||
[JOINT_3]
|
||||
TYPE = ANGULAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 10.0
|
||||
MAX_ACCELERATION = 30.0
|
||||
STEPGEN_MAXVEL = 11.0
|
||||
STEPGEN_MAXACCEL = 31.0
|
||||
BACKLASH = 0.0000
|
||||
# Drive Ratio = 40:360 = 1:9
|
||||
# Steps/Rev = 200 * 10uSteps = 2000
|
||||
# Vel at 50k Steps/S = 13500 deg/min
|
||||
#SCALE = -222.22222222
|
||||
# Drive Ratio = 72:360 = 1:5
|
||||
# Steps/Rev = 200 * 10uSteps = 2000
|
||||
# Vel at 50k Steps/S = 7500 deg/min
|
||||
#SCALE = -400.0
|
||||
# Drive Ratio = 90:360 = 1:4
|
||||
# Steps/Rev = 200 * 10uSteps = 2000
|
||||
# Vel at 50k Steps/S = 6000 deg/min
|
||||
SCALE = -500.0
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -360000.0
|
||||
MAX_LIMIT = 360000.0
|
||||
FERROR = 50.0
|
||||
MIN_FERROR = 10.0
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 0.0
|
||||
HOME_LATCH_VEL = 0.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 3
|
||||
|
||||
[EZTROL]
|
||||
QTEMC_PLUGIN = /usr/share/eztrol/lib/libqtemc-2.4.6.so
|
||||
QTEMCHAL_PLUGIN = /usr/share/eztrol/lib/libqtemchal-2.4.6.so
|
||||
EZTROLGUI = /usr/share/eztrol/eztrolgui/libguimill2.so
|
||||
MAX_SPINDLE_RPM = 5000
|
||||
DIR_PLUGIN = /usr/share/eztrol/eztrolplugins
|
||||
PLUGIN = libeztrol_wizard_plugin.so
|
||||
PLUGIN = libeztrol_webwizard_plugin.so
|
||||
# disabling settings gcode editor will benefit systems with small memory size
|
||||
ENABLE_SETTINGS_EDITOR = true
|
||||
# disable OpenGL 3D Preview
|
||||
ENABLE_3D_PREVIEW = true
|
||||
# set to Full Screen TRUE/FALSE
|
||||
FULLSCREEN = false
|
||||
# Settings Tab GCode Editor Syntax Highlight
|
||||
# color guide - http://www.w3.org/TR/SVG/types.html#ColorKeywords
|
||||
AXIS_COLOR = magenta
|
||||
LINENUMBER_COLOR = rosybrown
|
||||
GM_COLOR = blue
|
||||
STFDRLPQH_COLOR = red
|
||||
O_COLOR = blue
|
||||
RESERVEDWORDS_COLOR = darkviolet
|
||||
VARIABLE_COLOR = olive
|
||||
COMMENT_COLOR = seagreen
|
||||
GUI_STYLESHEET = eztrolstyle1.qss
|
||||
|
||||
[EZTROLWIZARDS]
|
||||
WIZARD_DIRECTORY = /usr/share/eztrol/eztrolwizards
|
||||
SAVE_DIRECTORY = ../../nc_files
|
||||
|
||||
[EZTROLWEBWIZARD]
|
||||
URL = http://www.mattshaver.com/ecmacam/ecmacam.htm
|
||||
86
configs/by_machine/smithy/1240rutex_4axis.hal
Normal file
86
configs/by_machine/smithy/1240rutex_4axis.hal
Normal file
@@ -0,0 +1,86 @@
|
||||
loadrt [KINS]KINEMATICS
|
||||
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD traj_period_nsec=[EMCMOT]TRAJ_PERIOD key=[EMCMOT]SHMEM_KEY num_joints=[KINS]JOINTS
|
||||
loadrt stepgen step_type=0,0,0,0
|
||||
loadrt match8 count=1
|
||||
# Used to filter out spurious limit switch signals
|
||||
# THIS IS VERY BAD & SHOULD BE FIXED IN HARDWARE!!!
|
||||
loadrt debounce cfg=1
|
||||
setp debounce.0.delay 2
|
||||
loadrt hal_parport cfg="0x378"
|
||||
|
||||
addf parport.0.read base-thread
|
||||
addf stepgen.make-pulses base-thread
|
||||
addf debounce.0 base-thread
|
||||
addf parport.0.write base-thread
|
||||
|
||||
addf stepgen.capture-position servo-thread
|
||||
addf match8.0 servo-thread
|
||||
addf motion-command-handler servo-thread
|
||||
addf motion-controller servo-thread
|
||||
addf stepgen.update-freq servo-thread
|
||||
|
||||
net Xpos-cmd joint.0.motor-pos-cmd stepgen.0.position-cmd
|
||||
net Ypos-cmd joint.1.motor-pos-cmd stepgen.1.position-cmd
|
||||
net Zpos-cmd joint.2.motor-pos-cmd stepgen.2.position-cmd
|
||||
net Apos-cmd joint.3.motor-pos-cmd stepgen.3.position-cmd
|
||||
|
||||
net Xpos-fb stepgen.0.position-fb joint.0.motor-pos-fb
|
||||
net Ypos-fb stepgen.1.position-fb joint.1.motor-pos-fb
|
||||
net Zpos-fb stepgen.2.position-fb joint.2.motor-pos-fb
|
||||
net Apos-fb stepgen.3.position-fb joint.3.motor-pos-fb
|
||||
|
||||
net Xen <= joint.0.amp-enable-out stepgen.0.enable
|
||||
net Yen <= joint.1.amp-enable-out stepgen.1.enable
|
||||
net Zen <= joint.2.amp-enable-out stepgen.2.enable
|
||||
net Aen <= joint.3.amp-enable-out stepgen.3.enable
|
||||
|
||||
net Xstep stepgen.0.step parport.0.pin-03-out
|
||||
net Xdir stepgen.0.dir parport.0.pin-02-out
|
||||
net Ystep stepgen.1.step parport.0.pin-05-out
|
||||
net Ydir stepgen.1.dir parport.0.pin-04-out
|
||||
net Zstep stepgen.2.step parport.0.pin-07-out
|
||||
net Zdir stepgen.2.dir parport.0.pin-06-out
|
||||
net Astep stepgen.3.step parport.0.pin-09-out
|
||||
net Adir stepgen.3.dir parport.0.pin-08-out
|
||||
|
||||
setp stepgen.0.position-scale [JOINT_0]SCALE
|
||||
setp stepgen.1.position-scale [JOINT_1]SCALE
|
||||
setp stepgen.2.position-scale [JOINT_2]SCALE
|
||||
setp stepgen.3.position-scale [JOINT_3]SCALE
|
||||
setp stepgen.0.maxvel [JOINT_0]STEPGEN_MAXVEL
|
||||
setp stepgen.1.maxvel [JOINT_1]STEPGEN_MAXVEL
|
||||
setp stepgen.2.maxvel [JOINT_2]STEPGEN_MAXVEL
|
||||
setp stepgen.3.maxvel [JOINT_3]STEPGEN_MAXVEL
|
||||
setp stepgen.0.maxaccel [JOINT_0]STEPGEN_MAXACCEL
|
||||
setp stepgen.1.maxaccel [JOINT_1]STEPGEN_MAXACCEL
|
||||
setp stepgen.2.maxaccel [JOINT_2]STEPGEN_MAXACCEL
|
||||
setp stepgen.3.maxaccel [JOINT_3]STEPGEN_MAXACCEL
|
||||
|
||||
# four axis motion allows 4 other outputs on pins 1,14,16,17
|
||||
# five additional input pins are available 10,11,12,13,15
|
||||
|
||||
setp parport.0.pin-01-out-invert true
|
||||
net estop iocontrol.0.user-enable-out parport.0.pin-01-out iocontrol.0.emc-enable-in
|
||||
|
||||
setp parport.0.pin-14-out-invert true
|
||||
net flood iocontrol.0.coolant-flood parport.0.pin-14-out
|
||||
|
||||
setp parport.0.pin-17-out-invert true
|
||||
net forward spindle.0.forward parport.0.pin-16-out
|
||||
net reverse spindle.0.reverse parport.0.pin-17-out
|
||||
|
||||
# These loopbacks are usually disconnected by a postgui halfile
|
||||
net tool-change-loop iocontrol.0.tool-change iocontrol.0.tool-changed
|
||||
net tool-prepare-loopback iocontrol.0.tool-prepare iocontrol.0.tool-prepared
|
||||
|
||||
newsig false bit
|
||||
sets false FALSE
|
||||
net xhoming joint.0.homing match8.0.a0
|
||||
net yhoming joint.1.homing match8.0.a1
|
||||
net zhoming joint.2.homing match8.0.a2
|
||||
net ahoming joint.3.homing match8.0.a3
|
||||
net false match8.0.b0 match8.0.b1 match8.0.b2 match8.0.b3
|
||||
net home-raw parport.0.pin-15-in-not debounce.0.0.in
|
||||
net home-filtered debounce.0.0.out joint.0.home-sw-in joint.1.home-sw-in joint.2.home-sw-in joint.3.home-sw-in match8.0.in
|
||||
net limit match8.0.out joint.0.neg-lim-sw-in
|
||||
|
||||
270
configs/by_machine/smithy/1240rutex_4axis.ini
Normal file
270
configs/by_machine/smithy/1240rutex_4axis.ini
Normal file
@@ -0,0 +1,270 @@
|
||||
# EMC controller parameters for Parallel Port controlled Smithy 1240 Rutex Mill
|
||||
|
||||
[EMC]
|
||||
MACHINE = 4 Axis Smithy 1240 Rutex Mill
|
||||
VERSION = 1.1
|
||||
DEBUG = 0x00000000
|
||||
#DEBUG = 0x7FFFFFFF
|
||||
|
||||
[DISPLAY]
|
||||
#DISPLAY = eztrol
|
||||
# CYCLE_TIME is used by eztrol
|
||||
CYCLE_TIME = .1
|
||||
DISPLAY = axis
|
||||
#DISPLAY = tklinuxcnc
|
||||
#HELP_FILE = /usr/share/doc/linuxcnc/tklinuxcnc.txt
|
||||
TKPKG = Ngcgui 1.0
|
||||
TKPKG = Ngcguittt 1.0
|
||||
# note: ngcgui_app.tcl must precede ngcgui_ttt.tcl
|
||||
NGCGUI_FONT = Helvetica -12 normal
|
||||
TTT = truetype-tracer
|
||||
TTT_PREAMBLE = in_std.ngc
|
||||
NGCGUI_PREAMBLE = in_std.ngc
|
||||
NGCGUI_POSTAMBLE = bye.ngc
|
||||
NGCGUI_SUBFILE = backlash.ngc
|
||||
NGCGUI_SUBFILE = hole_circle.ngc
|
||||
NGCGUI_SUBFILE = helix.ngc
|
||||
NGCGUI_SUBFILE = helix_rtheta.ngc
|
||||
NGCGUI_SUBFILE = slot.ngc
|
||||
NGCGUI_SUBFILE = simp.ngc
|
||||
NGCGUI_SUBFILE = xyz.ngc
|
||||
NGCGUI_SUBFILE = iquad.ngc
|
||||
NGCGUI_SUBFILE = oquad.ngc
|
||||
NGCGUI_SUBFILE = db25.ngc
|
||||
NGCGUI_SUBFILE = ihex.ngc
|
||||
NGCGUI_SUBFILE = ohex.ngc
|
||||
NGCGUI_SUBFILE = gosper.ngc
|
||||
NGCGUI_SUBFILE = ""
|
||||
#NGCGUI_SUBFILE = "" use when imageframe is specified if
|
||||
# opening other files is required
|
||||
# images will be put in a toplevel window
|
||||
NGCGUI_OPTIONS =
|
||||
#NGCGUI_OPTIONS = opt1 opt2 ...
|
||||
# opt items:
|
||||
# nonew -- disallow making a new tab page
|
||||
# noremove -- disallow removing any tab page
|
||||
# noauto -- no autosend (makeFile, then manually send)
|
||||
# noiframe -- no internal image, image on separate toplevel
|
||||
POSITION_OFFSET = RELATIVE
|
||||
POSITION_FEEDBACK = ACTUAL
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MIN_SPINDLE_OVERRIDE = 0.2
|
||||
MAX_SPINDLE_OVERRIDE = 1.5
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in
|
||||
PROGRAM_PREFIX = ../../nc_files/
|
||||
#EDITOR = geany
|
||||
TOOL_EDITOR = tooledit
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
MAX_LINEAR_VELOCITY = 3.0
|
||||
DEFAULT_ANGULAR_VELOCITY = 12.0
|
||||
MAX_ANGULAR_VELOCITY = 60
|
||||
|
||||
[FILTER]
|
||||
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
|
||||
PROGRAM_EXTENSION = .py Python Script
|
||||
png = image-to-gcode
|
||||
gif = image-to-gcode
|
||||
jpg = image-to-gcode
|
||||
py = python3
|
||||
|
||||
[RS274NGC]
|
||||
PARAMETER_FILE = emc.var
|
||||
SUBROUTINE_PATH = ../../nc_files/ngcgui_lib:../../nc_files/ngcgui_lib/utilitysubs
|
||||
USER_M_PATH = ../../nc_files/ngcgui_lib/mfiles
|
||||
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
SHMEM_KEY = 111
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 50000
|
||||
SERVO_PERIOD = 1000000
|
||||
TRAJ_PERIOD = 10000000
|
||||
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.010
|
||||
|
||||
[HAL]
|
||||
HALUI = halui
|
||||
HALFILE = 1240rutex_4axis.hal
|
||||
EZTROL_HALFILE = eztrol.hal
|
||||
HALFILE = axis_manualtoolchange.hal
|
||||
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z A
|
||||
LINEAR_UNITS = inch
|
||||
ANGULAR_UNITS = degree
|
||||
MAX_LINEAR_VELOCITY = 3.0
|
||||
MAX_LINEAR_ACCELERATION = 3.0
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
|
||||
[EMCIO]
|
||||
TOOL_TABLE = mill.tbl
|
||||
#TOOL_CHANGE_POSITION = 0 0 2
|
||||
#TOOL_CHANGE_WITH_SPINDLE_ON = 1
|
||||
TOOL_CHANGE_QUILL_UP = 1
|
||||
#TOOL_CHANGE_AT_G30 = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins
|
||||
JOINTS = 4
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -22.0
|
||||
MAX_LIMIT = 0.25
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 3.0
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 3.0
|
||||
STEPGEN_MAXVEL = 3.4
|
||||
STEPGEN_MAXACCEL = 4.0
|
||||
BACKLASH = 0.0000
|
||||
SCALE = 2033.2
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -22.0
|
||||
MAX_LIMIT = 0.25
|
||||
FERROR = 0.05
|
||||
MIN_FERROR = 0.01
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = -0.1
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 2
|
||||
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -11.0
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 3.0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 3.0
|
||||
STEPGEN_MAXVEL = 3.4
|
||||
STEPGEN_MAXACCEL = 4.0
|
||||
BACKLASH = 0.0000
|
||||
SCALE = -2033.2
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -11.0
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.05
|
||||
MIN_FERROR = 0.01
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = -0.1
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -11.0
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 1.2
|
||||
MAX_ACCELERATION = 20.0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 1.2
|
||||
MAX_ACCELERATION = 20.0
|
||||
STEPGEN_MAXVEL = 1.4
|
||||
STEPGEN_MAXACCEL = 21.0
|
||||
BACKLASH = 0.0000
|
||||
SCALE = -2033.2
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -11.0
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.05
|
||||
MIN_FERROR = 0.01
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = -0.1
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[AXIS_A]
|
||||
MIN_LIMIT = -360000.0
|
||||
MAX_LIMIT = 360000.0
|
||||
MAX_VELOCITY = 10.0
|
||||
MAX_ACCELERATION = 30.0
|
||||
|
||||
[JOINT_3]
|
||||
TYPE = ANGULAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 10.0
|
||||
MAX_ACCELERATION = 30.0
|
||||
STEPGEN_MAXVEL = 11.0
|
||||
STEPGEN_MAXACCEL = 31.0
|
||||
BACKLASH = 0.0000
|
||||
# Drive Ratio = 40:360 = 1:9
|
||||
# Steps/Rev = 200 * 10uSteps = 2000
|
||||
# Vel at 50k Steps/S = 13500 deg/min
|
||||
#SCALE = -222.22222222
|
||||
# Drive Ratio = 72:360 = 1:5
|
||||
# Steps/Rev = 200 * 10uSteps = 2000
|
||||
# Vel at 50k Steps/S = 7500 deg/min
|
||||
#SCALE = -400.0
|
||||
# Drive Ratio = 90:360 = 1:4
|
||||
# Steps/Rev = 200 * 10uSteps = 2000
|
||||
# Vel at 50k Steps/S = 6000 deg/min
|
||||
SCALE = -500.0
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -360000.0
|
||||
MAX_LIMIT = 360000.0
|
||||
FERROR = 50.0
|
||||
MIN_FERROR = 10.0
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 0.0
|
||||
HOME_LATCH_VEL = 0.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 3
|
||||
|
||||
[EZTROL]
|
||||
QTEMC_PLUGIN = /usr/share/eztrol/lib/libqtemc-2.4.6.so
|
||||
QTEMCHAL_PLUGIN = /usr/share/eztrol/lib/libqtemchal-2.4.6.so
|
||||
EZTROLGUI = /usr/share/eztrol/eztrolgui/libguimill2.so
|
||||
MAX_SPINDLE_RPM = 5000
|
||||
DIR_PLUGIN = /usr/share/eztrol/eztrolplugins
|
||||
PLUGIN = libeztrol_wizard_plugin.so
|
||||
PLUGIN = libeztrol_webwizard_plugin.so
|
||||
# disabling settings gcode editor will benefit systems with small memory size
|
||||
ENABLE_SETTINGS_EDITOR = true
|
||||
# disable OpenGL 3D Preview
|
||||
ENABLE_3D_PREVIEW = true
|
||||
# set to Full Screen TRUE/FALSE
|
||||
FULLSCREEN = false
|
||||
# Settings Tab GCode Editor Syntax Highlight
|
||||
# color guide - http://www.w3.org/TR/SVG/types.html#ColorKeywords
|
||||
AXIS_COLOR = magenta
|
||||
LINENUMBER_COLOR = rosybrown
|
||||
GM_COLOR = blue
|
||||
STFDRLPQH_COLOR = red
|
||||
O_COLOR = blue
|
||||
RESERVEDWORDS_COLOR = darkviolet
|
||||
VARIABLE_COLOR = olive
|
||||
COMMENT_COLOR = seagreen
|
||||
GUI_STYLESHEET = eztrolstyle1.qss
|
||||
|
||||
[EZTROLWIZARDS]
|
||||
WIZARD_DIRECTORY = /usr/share/eztrol/eztrolwizards
|
||||
SAVE_DIRECTORY = ../../nc_files
|
||||
|
||||
[EZTROLWEBWIZARD]
|
||||
URL = http://www.mattshaver.com/ecmacam/ecmacam.htm
|
||||
181
configs/by_machine/smithy/1315.hal
Normal file
181
configs/by_machine/smithy/1315.hal
Normal file
@@ -0,0 +1,181 @@
|
||||
# 5i20 config file for Smithy 1315 Lathe
|
||||
|
||||
# load the hostmot2 driver, this doesn't do anything by itself,
|
||||
# it just waits for low-level drivers to register boards
|
||||
loadrt hostmot2 debug_idrom=1 debug_module_descriptors=1 debug_pin_descriptors=1 debug_modules=1
|
||||
|
||||
# load the low-level driver for the board
|
||||
# this will load the board's firmware and register it with the hostmot2
|
||||
# driver loaded above, and it'll show up in HAL
|
||||
loadrt hm2_pci config="firmware=hm2/5i20/SVST2_4_7I47.BIT num_encoders=2 num_pwmgens=1 num_stepgens=2 enable_raw"
|
||||
|
||||
# 13312 = 0x3400 = Encoder Sample Rate Register
|
||||
setp hm2_5i20.0.raw.write_address 13312
|
||||
# sample rate is clock (33 MHz)/SRR+2 = 33MHz/10 = 3.3MHz
|
||||
setp hm2_5i20.0.raw.write_data 8
|
||||
# write data
|
||||
setp hm2_5i20.0.raw.write_strobe 1
|
||||
|
||||
# set up the watchdog
|
||||
#setp hm2_5i20.0.watchdog.timeout_ns 10000000
|
||||
|
||||
# load kinematics
|
||||
loadrt [KINS]KINEMATICS
|
||||
|
||||
# load motion controller, get name and thread periods from ini file
|
||||
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD traj_period_nsec=[EMCMOT]TRAJ_PERIOD key=[EMCMOT]SHMEM_KEY num_joints=[KINS]JOINTS
|
||||
|
||||
# classicladder for machine logic
|
||||
# (load the realtime portion)
|
||||
loadrt classicladder_rt
|
||||
# invoke the user part of CL to silently load the program
|
||||
loadusr -w classicladder --nogui 924.clp
|
||||
|
||||
# load charge pump
|
||||
loadrt charge_pump
|
||||
setp charge-pump.enable TRUE
|
||||
|
||||
#configure the spindle encoder
|
||||
#encoder scale was 4800 on Pete's machine
|
||||
setp hm2_5i20.0.encoder.00.scale -4096
|
||||
net Spos hm2_5i20.0.encoder.00.position spindle.0.revs
|
||||
net Svel hm2_5i20.0.encoder.00.velocity spindle.0.speed-in
|
||||
net Sidx hm2_5i20.0.encoder.00.index-enable spindle.0.index-enable
|
||||
|
||||
#configure the spindle speed PWM generator
|
||||
net Scmd spindle.0.speed-out hm2_5i20.0.pwmgen.00.value
|
||||
setp hm2_5i20.0.pwmgen.00.scale 3000
|
||||
setp hm2_5i20.0.pwmgen.00.output-type 1
|
||||
setp hm2_5i20.0.pwmgen.pwm_frequency 100
|
||||
|
||||
# invert the step pulse polarity
|
||||
setp hm2_5i20.0.gpio.000.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.002.invert_output TRUE
|
||||
|
||||
# configure the stepgen parameters
|
||||
setp hm2_5i20.0.stepgen.00.dirsetup 5000
|
||||
setp hm2_5i20.0.stepgen.00.dirhold 2000
|
||||
setp hm2_5i20.0.stepgen.00.steplen 2000
|
||||
setp hm2_5i20.0.stepgen.00.stepspace 2000
|
||||
setp hm2_5i20.0.stepgen.00.position-scale [JOINT_0]SCALE
|
||||
setp hm2_5i20.0.stepgen.00.maxaccel [JOINT_0]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.00.maxvel [JOINT_0]STEPGEN_MAXVEL
|
||||
setp hm2_5i20.0.stepgen.01.dirsetup 5000
|
||||
setp hm2_5i20.0.stepgen.01.dirhold 2000
|
||||
setp hm2_5i20.0.stepgen.01.steplen 2000
|
||||
setp hm2_5i20.0.stepgen.01.stepspace 2000
|
||||
setp hm2_5i20.0.stepgen.01.position-scale [JOINT_2]SCALE
|
||||
setp hm2_5i20.0.stepgen.01.maxaccel [JOINT_2]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.01.maxvel [JOINT_2]STEPGEN_MAXVEL
|
||||
|
||||
# connect position commands from motion module to step generator
|
||||
net Xpos-cmd joint.0.motor-pos-cmd hm2_5i20.0.stepgen.00.position-cmd
|
||||
net Zpos-cmd joint.2.motor-pos-cmd hm2_5i20.0.stepgen.01.position-cmd
|
||||
|
||||
# connect position feedback from step generators to motion module
|
||||
net Xpos-fb hm2_5i20.0.stepgen.00.position-fb joint.0.motor-pos-fb
|
||||
net Zpos-fb hm2_5i20.0.stepgen.01.position-fb joint.2.motor-pos-fb
|
||||
|
||||
# connect enable signals for amplifiers and step generators
|
||||
setp hm2_5i20.0.gpio.018.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.018.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.019.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.019.invert_output TRUE
|
||||
net Xen joint.0.amp-enable-out hm2_5i20.0.gpio.018.out hm2_5i20.0.stepgen.00.enable
|
||||
net Zen joint.2.amp-enable-out hm2_5i20.0.gpio.019.out hm2_5i20.0.stepgen.01.enable
|
||||
|
||||
# enable velocity mode jogging
|
||||
setp joint.0.jog-vel-mode TRUE
|
||||
setp joint.2.jog-vel-mode TRUE
|
||||
|
||||
# enable the PWM generator
|
||||
setp hm2_5i20.0.pwmgen.00.enable TRUE
|
||||
|
||||
# connect the charge pump signal to an output
|
||||
setp hm2_5i20.0.gpio.022.is_output TRUE
|
||||
net chargepump hm2_5i20.0.gpio.022.out charge-pump.out
|
||||
|
||||
# Safety Relay Monitoring Contacts
|
||||
net estop-enable hm2_5i20.0.gpio.037.in iocontrol.0.emc-enable-in
|
||||
# Run Switch
|
||||
loadrt debounce cfg=1
|
||||
setp debounce.0.delay 1000
|
||||
net key-on hm2_5i20.0.gpio.039.in_not debounce.0.0.in
|
||||
net machine-on debounce.0.0.out halui.machine.on
|
||||
|
||||
# Spindle Contactor - False when spindle contactor is energized
|
||||
net SOFF hm2_5i20.0.gpio.033.in halui.program.pause motion.feed-hold
|
||||
|
||||
#connect limit/home switches
|
||||
#Brown Wire - Was Zhome, now Xpos
|
||||
net Xpos_lim hm2_5i20.0.gpio.024.in joint.0.pos-lim-sw-in joint.0.home-sw-in
|
||||
#Brown/White Wire - Was Xhome, now Xneg
|
||||
net Xneg_lim hm2_5i20.0.gpio.026.in joint.0.neg-lim-sw-in
|
||||
#Green Wire - Was XZpos, now Zpos
|
||||
net Zpos_lim hm2_5i20.0.gpio.028.in joint.2.pos-lim-sw-in joint.2.home-sw-in
|
||||
#Green/White Wire - Was XZneg, now Zneg
|
||||
net Zneg_lim hm2_5i20.0.gpio.030.in joint.2.neg-lim-sw-in
|
||||
|
||||
#Tool Post Control Inputs
|
||||
net PrepNo iocontrol.0.tool-prep-number classicladder.0.s32in-00
|
||||
net TC iocontrol.0.tool-change classicladder.0.in-00
|
||||
net T1 hm2_5i20.0.gpio.032.in classicladder.0.in-01
|
||||
net T2 hm2_5i20.0.gpio.034.in classicladder.0.in-02
|
||||
net T3 hm2_5i20.0.gpio.036.in classicladder.0.in-03
|
||||
net T4 hm2_5i20.0.gpio.038.in classicladder.0.in-04
|
||||
net TP iocontrol.0.tool-prepare classicladder.0.in-05
|
||||
|
||||
#Door Sensor
|
||||
net SS hm2_5i20.0.gpio.029.in
|
||||
|
||||
#Output Bits
|
||||
#AIN
|
||||
#setp hm2_5i20.0.gpio.041.is_output TRUE
|
||||
#setp hm2_5i20.0.gpio.041.invert_output TRUE
|
||||
#KA1
|
||||
setp hm2_5i20.0.gpio.040.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.040.invert_output TRUE
|
||||
net KA1 spindle.0.forward hm2_5i20.0.gpio.040.out
|
||||
#KA2
|
||||
setp hm2_5i20.0.gpio.042.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.042.invert_output TRUE
|
||||
net KA2 spindle.0.reverse hm2_5i20.0.gpio.042.out
|
||||
#Tool Post Control Outputs
|
||||
net TD classicladder.0.out-00 iocontrol.0.tool-changed
|
||||
net TQ classicladder.0.out-03 iocontrol.0.tool-prepared
|
||||
#KA3
|
||||
setp hm2_5i20.0.gpio.044.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.044.invert_output TRUE
|
||||
net KA3 hm2_5i20.0.gpio.044.out classicladder.0.out-01
|
||||
#KA4
|
||||
setp hm2_5i20.0.gpio.046.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.046.invert_output TRUE
|
||||
net KA4 hm2_5i20.0.gpio.046.out classicladder.0.out-02
|
||||
#Spindle Enable
|
||||
setp hm2_5i20.0.gpio.041.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.041.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.041.out TRUE
|
||||
#Flood Coolant
|
||||
setp hm2_5i20.0.gpio.043.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.043.invert_output TRUE
|
||||
net M8 hm2_5i20.0.gpio.043.out iocontrol.0.coolant-flood
|
||||
# Mist Coolant
|
||||
setp hm2_5i20.0.gpio.045.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.045.invert_output TRUE
|
||||
net M7 hm2_5i20.0.gpio.045.out iocontrol.0.coolant-mist
|
||||
|
||||
# hook the functions to threads
|
||||
# read inputs
|
||||
addf hm2_5i20.0.read servo-thread
|
||||
# handle motion commands
|
||||
addf motion-command-handler servo-thread
|
||||
# run the motion controller
|
||||
addf motion-controller servo-thread
|
||||
# debounce the keyswitch
|
||||
addf debounce.0 servo-thread
|
||||
# refresh classicladder
|
||||
addf classicladder.0.refresh servo-thread
|
||||
# write outputs
|
||||
addf hm2_5i20.0.write servo-thread
|
||||
# toggle the charge pump
|
||||
addf charge-pump servo-thread
|
||||
158
configs/by_machine/smithy/1315.ini
Normal file
158
configs/by_machine/smithy/1315.ini
Normal file
@@ -0,0 +1,158 @@
|
||||
# EMC controller parameters for Mesa 5i20 controlled Smithy 6130 Lathe
|
||||
|
||||
[EMC]
|
||||
MACHINE = Smithy 1315 Lathe
|
||||
VERSION = 1.1
|
||||
DEBUG = 0x00000000
|
||||
#DEBUG = 0x7FFFFFFF
|
||||
|
||||
[DISPLAY]
|
||||
DISPLAY = axis
|
||||
#DISPLAY = tklinuxcnc
|
||||
# Path to help file for tklinuxcnc
|
||||
HELP_FILE = /usr/share/doc/linuxcnc/tklinuxcnc.txt
|
||||
LATHE = 1
|
||||
TKPKG = Ngcgui 1.0
|
||||
NGCGUI_FONT = Helvetica -12 normal
|
||||
NGCGUI_PREAMBLE = lathe_std.ngc
|
||||
NGCGUI_POSTAMBLE = bye.ngc
|
||||
NGCGUI_SUBFILE = backlash.ngc
|
||||
NGCGUI_SUBFILE = id.ngc
|
||||
NGCGUI_SUBFILE = od.ngc
|
||||
NGCGUI_SUBFILE = taper-od.ngc
|
||||
NGCGUI_SUBFILE = ""
|
||||
#NGCGUI_SUBFILE = "" use when imageframe is specified if
|
||||
# opening other files is required
|
||||
# images will be put in a toplevel window
|
||||
NGCGUI_OPTIONS =
|
||||
#NGCGUI_OPTIONS = opt1 opt2 ...
|
||||
# opt items:
|
||||
# nonew -- disallow making a new tab page
|
||||
# noremove -- disallow removing any tab page
|
||||
# noauto -- no autosend (makeFile, then manually send)
|
||||
# noiframe -- no internal image, image on separate toplevel
|
||||
POSITION_OFFSET = RELATIVE
|
||||
POSITION_FEEDBACK = ACTUAL
|
||||
MAX_FEED_OVERRIDE = 1.2
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
MAX_LINEAR_VELOCITY = 1.5
|
||||
DEFAULT_ANGULAR_VELOCITY = 0.1
|
||||
PROGRAM_PREFIX = ../../nc_files/
|
||||
#EDITOR = geany
|
||||
TOOL_EDITOR = tooledit
|
||||
PYVCP = 1315.xml
|
||||
|
||||
[FILTER]
|
||||
#No Content
|
||||
|
||||
[RS274NGC]
|
||||
PARAMETER_FILE = emc.var
|
||||
RS274NGC_STARTUP_CODE = G18 G54
|
||||
SUBROUTINE_PATH = ../../nc_files/ngcgui_lib:../../nc_files/ngcgui_lib/lathe:../../nc_files/ngcgui_lib/utilitysubs
|
||||
USER_M_PATH = ../../nc_files/ngcgui_lib/mfiles
|
||||
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
SHMEM_KEY = 111
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 250000
|
||||
SERVO_PERIOD = 250000
|
||||
TRAJ_PERIOD = 250000
|
||||
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.010
|
||||
|
||||
[HAL]
|
||||
HALUI = halui
|
||||
HALFILE = 1315.hal
|
||||
#HALFILE = naiky.hal
|
||||
POSTGUI_HALFILE = 1315postgui.hal
|
||||
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Z
|
||||
HOME = 0 0
|
||||
LINEAR_UNITS = inch
|
||||
ANGULAR_UNITS = degree
|
||||
MAX_LINEAR_VELOCITY = 1.5
|
||||
MAX_LINEAR_ACCELERATION = 5.0
|
||||
|
||||
[EMCIO]
|
||||
TOOL_TABLE = lathe.tbl
|
||||
TOOL_CHANGE_POSITION = 0 0 0
|
||||
TOOL_CHANGE_WITH_SPINDLE_ON = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins
|
||||
JOINTS = 3
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -5.75
|
||||
MAX_LIMIT = 0.15
|
||||
MAX_VELOCITY = 1.0
|
||||
MAX_ACCELERATION = 5.0
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 1.0
|
||||
MAX_ACCELERATION = 5.0
|
||||
STEPGEN_MAXACCEL = 0
|
||||
STEPGEN_MAXVEL = 0
|
||||
BACKLASH = 0.0005
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 21:35
|
||||
# Steps/Rev = 10000
|
||||
# Vel at 200k Steps/S = 2.4 in/min
|
||||
SCALE = 84666.666666667
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -5.75
|
||||
MAX_LIMIT = 0.15
|
||||
FERROR = 0.250
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.20
|
||||
HOME_SEARCH_VEL = 1.0
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -7.8
|
||||
MAX_LIMIT = 0.15
|
||||
MAX_VELOCITY = 1.0
|
||||
MAX_ACCELERATION = 5.0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 1.0
|
||||
MAX_ACCELERATION = 5.0
|
||||
STEPGEN_MAXACCEL = 0
|
||||
STEPGEN_MAXVEL = 0
|
||||
BACKLASH = 0.0010
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 21:35
|
||||
# Steps/Rev = 10000
|
||||
# Vel at 200k Steps/S = 2.4 in/min
|
||||
SCALE = 84666.666666667
|
||||
OUTPUT_SCALE = 1.000
|
||||
#MIN_LIMIT = -10.1
|
||||
MIN_LIMIT = -7.8
|
||||
MAX_LIMIT = 0.15
|
||||
FERROR = 0.250
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.20
|
||||
HOME_SEARCH_VEL = 1.0
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 1
|
||||
21
configs/by_machine/smithy/1315.xml
Normal file
21
configs/by_machine/smithy/1315.xml
Normal file
@@ -0,0 +1,21 @@
|
||||
<pyvcp>
|
||||
<label>
|
||||
<text>"Commanded:"</text>
|
||||
</label>
|
||||
<number>
|
||||
<halpin>"commanded-spindle-speed"</halpin>
|
||||
<font>("Helvetica",12)</font>
|
||||
<format>"6d"</format>
|
||||
<width>6</width>
|
||||
</number>
|
||||
<label>
|
||||
<text>"Actual:"</text>
|
||||
</label>
|
||||
<number>
|
||||
<halpin>"actual-spindle-speed"</halpin>
|
||||
<font>("Helvetica",12)</font>
|
||||
<format>"6d"</format>
|
||||
<width>6</width>
|
||||
</number>
|
||||
</pyvcp>
|
||||
|
||||
8
configs/by_machine/smithy/1315postgui.hal
Normal file
8
configs/by_machine/smithy/1315postgui.hal
Normal file
@@ -0,0 +1,8 @@
|
||||
loadrt scale count=1
|
||||
net Svel scale.0.in
|
||||
setp scale.0.gain 60
|
||||
net Scmd pyvcp.commanded-spindle-speed
|
||||
net Sact pyvcp.actual-spindle-speed scale.0.out
|
||||
addf scale.0 servo-thread
|
||||
|
||||
|
||||
121
configs/by_machine/smithy/516gecko.hal
Normal file
121
configs/by_machine/smithy/516gecko.hal
Normal file
@@ -0,0 +1,121 @@
|
||||
loadrt [KINS]KINEMATICS
|
||||
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD traj_period_nsec=[EMCMOT]SERVO_PERIOD key=[EMCMOT]SHMEM_KEY num_joints=[KINS]JOINTS
|
||||
loadrt hal_parport cfg=0x378
|
||||
setp parport.0.reset-time 4000
|
||||
loadrt stepgen step_type=0,0,0,0
|
||||
loadrt charge_pump
|
||||
loadrt match8 count=1
|
||||
|
||||
loadrt pwmgen output_type=1
|
||||
setp pwmgen.0.pwm-freq 5.0
|
||||
#5000 RPM spindles (early production)
|
||||
setp pwmgen.0.scale 5000
|
||||
#7000 RPM spindles (late production)
|
||||
#setp pwmgen.0.scale 7000
|
||||
setp pwmgen.0.offset 0.0
|
||||
setp pwmgen.0.min-dc 0.01
|
||||
setp pwmgen.0.max-dc 0.99
|
||||
setp pwmgen.0.dither-pwm true
|
||||
|
||||
addf parport.0.read base-thread
|
||||
addf stepgen.make-pulses base-thread
|
||||
addf charge-pump base-thread
|
||||
addf pwmgen.make-pulses base-thread
|
||||
addf parport.0.write base-thread
|
||||
addf parport.0.reset base-thread
|
||||
|
||||
addf stepgen.capture-position servo-thread
|
||||
addf motion-command-handler servo-thread
|
||||
addf motion-controller servo-thread
|
||||
addf stepgen.update-freq servo-thread
|
||||
addf pwmgen.update servo-thread
|
||||
addf match8.0 servo-thread
|
||||
|
||||
net spindle-cmd motion.spindle-speed-out pwmgen.0.value
|
||||
net spindle-enable motion.spindle-on pwmgen.0.enable
|
||||
|
||||
net coolant-flood parport.0.pin-01-out iocontrol.0.coolant-flood
|
||||
net xdir parport.0.pin-02-out stepgen.0.dir
|
||||
net xstep parport.0.pin-03-out stepgen.0.step
|
||||
setp parport.0.pin-03-out-reset 1
|
||||
net ydir parport.0.pin-04-out stepgen.1.dir
|
||||
net ystep parport.0.pin-05-out stepgen.1.step
|
||||
setp parport.0.pin-05-out-reset 1
|
||||
net zdir parport.0.pin-06-out stepgen.2.dir
|
||||
net zstep parport.0.pin-07-out stepgen.2.step
|
||||
setp parport.0.pin-07-out-reset 1
|
||||
net adir parport.0.pin-08-out stepgen.3.dir
|
||||
net astep parport.0.pin-09-out stepgen.3.step
|
||||
setp parport.0.pin-09-out-reset 1
|
||||
#PMDX-110
|
||||
net spindle-dir parport.0.pin-14-out motion.spindle-reverse
|
||||
#PMDX-131
|
||||
#net spindle-dir parport.0.pin-14-out motion.spindle-forward
|
||||
net spindle-pwm parport.0.pin-16-out pwmgen.0.pwm
|
||||
net charge-pump parport.0.pin-17-out charge-pump.out
|
||||
net estop-in parport.0.pin-10-in-not iocontrol.0.emc-enable-in
|
||||
net estop-out charge-pump.enable halui.machine.is-on
|
||||
#PMDX-110
|
||||
net run parport.0.pin-11-in-not halui.program.pause motion.feed-hold
|
||||
#PMDX-131
|
||||
#net run parport.0.pin-11-in halui.program.pause motion.feed-hold
|
||||
#normally closed switches (late production)
|
||||
net all-home parport.0.pin-12-in
|
||||
#normally open switches (early production)
|
||||
#net all-home parport.0.pin-12-in-not
|
||||
|
||||
setp stepgen.0.position-scale [AXIS_0]SCALE
|
||||
setp stepgen.0.steplen 1
|
||||
setp stepgen.0.stepspace 0
|
||||
setp stepgen.0.dirhold 35000
|
||||
setp stepgen.0.dirsetup 16000
|
||||
setp stepgen.0.maxaccel [AXIS_0]STEPGEN_MAXACCEL
|
||||
net xpos-cmd axis.0.motor-pos-cmd stepgen.0.position-cmd
|
||||
net xpos-fb stepgen.0.position-fb axis.0.motor-pos-fb
|
||||
net xenable axis.0.amp-enable-out stepgen.0.enable
|
||||
net all-home axis.0.home-sw-in
|
||||
|
||||
setp stepgen.1.position-scale [AXIS_1]SCALE
|
||||
setp stepgen.1.steplen 1
|
||||
setp stepgen.1.stepspace 0
|
||||
setp stepgen.1.dirhold 35000
|
||||
setp stepgen.1.dirsetup 16000
|
||||
setp stepgen.1.maxaccel [AXIS_1]STEPGEN_MAXACCEL
|
||||
net ypos-cmd axis.1.motor-pos-cmd stepgen.1.position-cmd
|
||||
net ypos-fb stepgen.1.position-fb axis.1.motor-pos-fb
|
||||
net yenable axis.1.amp-enable-out stepgen.1.enable
|
||||
net all-home axis.1.home-sw-in
|
||||
|
||||
setp stepgen.2.position-scale [AXIS_2]SCALE
|
||||
setp stepgen.2.steplen 1
|
||||
setp stepgen.2.stepspace 0
|
||||
setp stepgen.2.dirhold 35000
|
||||
setp stepgen.2.dirsetup 16000
|
||||
setp stepgen.2.maxaccel [AXIS_2]STEPGEN_MAXACCEL
|
||||
net zpos-cmd axis.2.motor-pos-cmd stepgen.2.position-cmd
|
||||
net zpos-fb stepgen.2.position-fb axis.2.motor-pos-fb
|
||||
net zenable axis.2.amp-enable-out stepgen.2.enable
|
||||
net all-home axis.2.home-sw-in
|
||||
|
||||
setp stepgen.3.position-scale [AXIS_3]SCALE
|
||||
setp stepgen.3.steplen 1
|
||||
setp stepgen.3.stepspace 0
|
||||
setp stepgen.3.dirhold 35000
|
||||
setp stepgen.3.dirsetup 16000
|
||||
setp stepgen.3.maxaccel [AXIS_3]STEPGEN_MAXACCEL
|
||||
net apos-cmd axis.3.motor-pos-cmd stepgen.3.position-cmd
|
||||
net apos-fb stepgen.3.position-fb axis.3.motor-pos-fb
|
||||
net aenable axis.3.amp-enable-out stepgen.3.enable
|
||||
|
||||
newsig false bit
|
||||
sets false FALSE
|
||||
net xhoming axis.0.homing match8.0.a0
|
||||
net yhoming axis.1.homing match8.0.a1
|
||||
net zhoming axis.2.homing match8.0.a2
|
||||
net false match8.0.b0 match8.0.b1 match8.0.b2
|
||||
net all-home match8.0.in
|
||||
net limit match8.0.out axis.0.neg-lim-sw-in
|
||||
|
||||
# These loopbacks are usually disconnected by a postgui halfile
|
||||
net tool-change-loop iocontrol.0.tool-change iocontrol.0.tool-changed
|
||||
net tool-prepare-loopback iocontrol.0.tool-prepare iocontrol.0.tool-prepared
|
||||
274
configs/by_machine/smithy/516gecko.ini
Normal file
274
configs/by_machine/smithy/516gecko.ini
Normal file
@@ -0,0 +1,274 @@
|
||||
# EMC controller parameters for Parallel Port controlled Smithy 622 Gecko Mill
|
||||
|
||||
[EMC]
|
||||
MACHINE = Smithy 622 Gecko Mill
|
||||
VERSION = 1.1
|
||||
DEBUG = 0x00000000
|
||||
#DEBUG = 0x7FFFFFFF
|
||||
|
||||
[DISPLAY]
|
||||
#DISPLAY = eztrol
|
||||
# CYCLE_TIME is used by eztrol
|
||||
CYCLE_TIME = .1
|
||||
DISPLAY = axis
|
||||
#DISPLAY = tklinuxcnc
|
||||
#HELP_FILE = /usr/share/doc/linuxcnc/tklinuxcnc.txt
|
||||
TKPKG = Ngcgui 1.0
|
||||
TKPKG = Ngcguittt 1.0
|
||||
# note: ngcgui_app.tcl must precede ngcgui_ttt.tcl
|
||||
NGCGUI_FONT = Helvetica -12 normal
|
||||
TTT = truetype-tracer
|
||||
TTT_PREAMBLE = in_std.ngc
|
||||
NGCGUI_PREAMBLE = in_std.ngc
|
||||
NGCGUI_POSTAMBLE = bye.ngc
|
||||
NGCGUI_SUBFILE = backlash.ngc
|
||||
NGCGUI_SUBFILE = hole_circle.ngc
|
||||
NGCGUI_SUBFILE = helix.ngc
|
||||
NGCGUI_SUBFILE = helix_rtheta.ngc
|
||||
NGCGUI_SUBFILE = slot.ngc
|
||||
NGCGUI_SUBFILE = simp.ngc
|
||||
NGCGUI_SUBFILE = xyz.ngc
|
||||
NGCGUI_SUBFILE = iquad.ngc
|
||||
NGCGUI_SUBFILE = oquad.ngc
|
||||
NGCGUI_SUBFILE = db25.ngc
|
||||
NGCGUI_SUBFILE = ihex.ngc
|
||||
NGCGUI_SUBFILE = ohex.ngc
|
||||
NGCGUI_SUBFILE = gosper.ngc
|
||||
NGCGUI_SUBFILE = ""
|
||||
#NGCGUI_SUBFILE = "" use when imageframe is specified if
|
||||
# opening other files is required
|
||||
# images will be put in a toplevel window
|
||||
NGCGUI_OPTIONS =
|
||||
#NGCGUI_OPTIONS = opt1 opt2 ...
|
||||
# opt items:
|
||||
# nonew -- disallow making a new tab page
|
||||
# noremove -- disallow removing any tab page
|
||||
# noauto -- no autosend (makeFile, then manually send)
|
||||
# noiframe -- no internal image, image on separate toplevel
|
||||
POSITION_OFFSET = RELATIVE
|
||||
POSITION_FEEDBACK = ACTUAL
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MIN_SPINDLE_OVERRIDE = 0.2
|
||||
MAX_SPINDLE_OVERRIDE = 1.5
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in
|
||||
PROGRAM_PREFIX = ../../nc_files/
|
||||
#EDITOR = geany
|
||||
TOOL_EDITOR = tooledit
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
MAX_LINEAR_VELOCITY = 1.5
|
||||
DEFAULT_ANGULAR_VELOCITY = 12.0
|
||||
MAX_ANGULAR_VELOCITY = 60
|
||||
|
||||
[FILTER]
|
||||
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
|
||||
PROGRAM_EXTENSION = .py Python Script
|
||||
png = image-to-gcode
|
||||
gif = image-to-gcode
|
||||
jpg = image-to-gcode
|
||||
py = python3
|
||||
|
||||
[RS274NGC]
|
||||
PARAMETER_FILE = emc.var
|
||||
SUBROUTINE_PATH = ../../nc_files/ngcgui_lib:../../nc_files/ngcgui_lib/utilitysubs
|
||||
USER_M_PATH = ../../nc_files/ngcgui_lib/mfiles
|
||||
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
SHMEM_KEY = 111
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 50000
|
||||
SERVO_PERIOD = 1000000
|
||||
TRAJ_PERIOD = 10000000
|
||||
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.010
|
||||
|
||||
[HAL]
|
||||
HALUI = halui
|
||||
HALFILE = 622gecko.hal
|
||||
EZTROL_HALFILE = eztrol.hal
|
||||
HALFILE = axis_manualtoolchange.hal
|
||||
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z A
|
||||
LINEAR_UNITS = inch
|
||||
ANGULAR_UNITS = degree
|
||||
MAX_LINEAR_VELOCITY = 1.5
|
||||
MAX_LINEAR_ACCELERATION = 1.5
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
|
||||
[EMCIO]
|
||||
TOOL_TABLE = mill.tbl
|
||||
#TOOL_CHANGE_POSITION = 0 0 2
|
||||
#TOOL_CHANGE_WITH_SPINDLE_ON = 1
|
||||
TOOL_CHANGE_QUILL_UP = 1
|
||||
#TOOL_CHANGE_AT_G30 = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins
|
||||
JOINTS = 4
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -10.0
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 1.5
|
||||
MAX_ACCELERATION = 1.5
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 1.5
|
||||
MAX_ACCELERATION = 1.5
|
||||
STEPGEN_MAXVEL = 1.6
|
||||
STEPGEN_MAXACCEL = 1.6
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 4mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 10uSteps = 2000
|
||||
# Vel at 200k Steps/S = 944"/min
|
||||
SCALE = -12700
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -10.0
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.05
|
||||
MIN_FERROR = 0.01
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = -0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 2
|
||||
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -4.1
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 1.5
|
||||
MAX_ACCELERATION = 1.5
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 1.5
|
||||
MAX_ACCELERATION = 1.5
|
||||
STEPGEN_MAXVEL = 1.6
|
||||
STEPGEN_MAXACCEL = 1.6
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 4mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 10uSteps = 2000
|
||||
# Vel at 200k Steps/S = 944"/min
|
||||
SCALE = 12700
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -4.1
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.05
|
||||
MIN_FERROR = 0.01
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = -0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -6.8
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 0.8
|
||||
MAX_ACCELERATION = 1.5
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 0.8
|
||||
MAX_ACCELERATION = 1.5
|
||||
STEPGEN_MAXVEL = 1.3
|
||||
STEPGEN_MAXACCEL = 1.6
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 4mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 10uSteps = 2000
|
||||
# Vel at 200k Steps/S = 944"/min
|
||||
SCALE = 12700
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -6.8
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.05
|
||||
MIN_FERROR = 0.01
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = -0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[AXIS_A]
|
||||
MIN_LIMIT = -36000.0
|
||||
MAX_LIMIT = 36000.0
|
||||
MAX_VELOCITY = 30.0
|
||||
MAX_ACCELERATION = 300.0
|
||||
|
||||
[JOINT_3]
|
||||
TYPE = ANGULAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 30.0
|
||||
MAX_ACCELERATION = 300.0
|
||||
STEPGEN_MAXVEL = 32.0
|
||||
STEPGEN_MAXACCEL = 310.0
|
||||
BACKLASH = 0.0000
|
||||
SCALE = -400
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -36000.0
|
||||
MAX_LIMIT = 36000.0
|
||||
FERROR = 5.0
|
||||
MIN_FERROR = 1.0
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 0.0
|
||||
HOME_LATCH_VEL = 0.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 3
|
||||
|
||||
[EZTROL]
|
||||
QTEMC_PLUGIN = /usr/share/eztrol/lib/libqtemc-2.4.6.so
|
||||
QTEMCHAL_PLUGIN = /usr/share/eztrol/lib/libqtemchal-2.4.6.so
|
||||
EZTROLGUI = /usr/share/eztrol/eztrolgui/libguimill2.so
|
||||
#4000 RPM spindles (early production)
|
||||
#MAX_SPINDLE_RPM = 4000
|
||||
#5000 RPM spindles (late production)
|
||||
MAX_SPINDLE_RPM = 5000
|
||||
DIR_PLUGIN = /usr/share/eztrol/eztrolplugins
|
||||
PLUGIN = libeztrol_wizard_plugin.so
|
||||
PLUGIN = libeztrol_webwizard_plugin.so
|
||||
# disabling settings gcode editor will benefit systems with small memory size
|
||||
ENABLE_SETTINGS_EDITOR = true
|
||||
# disable OpenGL 3D Preview
|
||||
ENABLE_3D_PREVIEW = true
|
||||
# set to Full Screen TRUE/FALSE
|
||||
FULLSCREEN = false
|
||||
# Settings Tab GCode Editor Syntax Highlight
|
||||
# color guide - http://www.w3.org/TR/SVG/types.html#ColorKeywords
|
||||
AXIS_COLOR = magenta
|
||||
LINENUMBER_COLOR = rosybrown
|
||||
GM_COLOR = blue
|
||||
STFDRLPQH_COLOR = red
|
||||
O_COLOR = blue
|
||||
RESERVEDWORDS_COLOR = darkviolet
|
||||
VARIABLE_COLOR = olive
|
||||
COMMENT_COLOR = seagreen
|
||||
GUI_STYLESHEET = eztrolstyle1.qss
|
||||
|
||||
[EZTROLWIZARDS]
|
||||
WIZARD_DIRECTORY = /usr/share/eztrol/eztrolwizards
|
||||
SAVE_DIRECTORY = ../../nc_files
|
||||
|
||||
[EZTROLWEBWIZARD]
|
||||
URL = http://www.mattshaver.com/ecmacam/ecmacam.htm
|
||||
24
configs/by_machine/smithy/5i20eztrol.hal
Normal file
24
configs/by_machine/smithy/5i20eztrol.hal
Normal file
@@ -0,0 +1,24 @@
|
||||
unlinkp iocontrol.0.tool-change
|
||||
unlinkp iocontrol.0.tool-changed
|
||||
net tool-change eztrol.tool-change iocontrol.0.tool-change
|
||||
net tool-changed eztrol.tool-changed iocontrol.0.tool-changed
|
||||
net tool-prep-number eztrol.tool-prep-number iocontrol.0.tool-prep-number
|
||||
net Xmax eztrol.x-positive-limit
|
||||
net Xmin eztrol.x-negative-limit
|
||||
net Ymax eztrol.y-positive-limit
|
||||
net Ymin eztrol.y-negative-limit
|
||||
net Zmax eztrol.z-positive-limit
|
||||
net Zmin eztrol.z-negative-limit
|
||||
loadrt mux2
|
||||
unlinkp motion.spindle-speed-out
|
||||
unlinkp hm2_5i20.0.pwmgen.00.value
|
||||
net spd-mux mux2.0.out hm2_5i20.0.pwmgen.00.value eztrol.spindle-rpm-reading
|
||||
net spd-motion motion.spindle-speed-out mux2.0.in0
|
||||
net spd-eztrol eztrol.spindle-rpm-control mux2.0.in1
|
||||
net speed-select halui.mode.is-manual mux2.0.sel
|
||||
addf mux2.0 servo-thread
|
||||
#eztrol.estop
|
||||
#eztrol.in-manual-mode
|
||||
#eztrol.limit-override
|
||||
#eztrol.spindle-max-rpm
|
||||
|
||||
179
configs/by_machine/smithy/622.hal
Normal file
179
configs/by_machine/smithy/622.hal
Normal file
@@ -0,0 +1,179 @@
|
||||
# 5i20 config file for Smithy 622 Mill
|
||||
|
||||
# load the hostmot2 driver, this doesn't do anything by itself,
|
||||
# it just waits for low-level drivers to register boards
|
||||
loadrt hostmot2 debug_idrom=1 debug_module_descriptors=1 debug_pin_descriptors=1 debug_modules=1
|
||||
|
||||
# load the low-level driver for the board
|
||||
# this will load the board's firmware and register it with the hostmot2
|
||||
# driver loaded above, and it'll show up in HAL
|
||||
loadrt hm2_pci config="firmware=hm2/5i20/SVST2_4_7I47.BIT num_encoders=1 num_pwmgens=1 num_stepgens=4"
|
||||
# set up the watchdog
|
||||
#setp hm2_5i20.0.watchdog.timeout_ns 10000000
|
||||
|
||||
# load kinematics
|
||||
loadrt [KINS]KINEMATICS
|
||||
|
||||
# load motion controller, get name and thread periods from ini file
|
||||
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD traj_period_nsec=[EMCMOT]TRAJ_PERIOD key=[EMCMOT]SHMEM_KEY num_joints=[KINS]JOINTS
|
||||
|
||||
# load charge pump
|
||||
loadrt charge_pump
|
||||
|
||||
# These loopbacks are usually disconnected by a postgui halfile
|
||||
net tool-change-loop iocontrol.0.tool-change iocontrol.0.tool-changed
|
||||
net tool-prepare-loopback iocontrol.0.tool-prepare iocontrol.0.tool-prepared
|
||||
|
||||
#the Enable signal is used to permanently enable things
|
||||
newsig Enable bit
|
||||
sets Enable TRUE
|
||||
|
||||
#configure the spindle speed
|
||||
net scmd spindle.0.speed-out hm2_5i20.0.pwmgen.00.value
|
||||
setp hm2_5i20.0.pwmgen.00.scale 5000
|
||||
setp hm2_5i20.0.pwmgen.00.output-type 1
|
||||
setp hm2_5i20.0.pwmgen.pwm_frequency 100
|
||||
|
||||
# invert the step pulse polarity
|
||||
setp hm2_5i20.0.gpio.000.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.002.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.016.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.018.invert_output TRUE
|
||||
|
||||
# configure the stepgen parameters
|
||||
setp hm2_5i20.0.stepgen.00.dirsetup 2500
|
||||
setp hm2_5i20.0.stepgen.00.dirhold 2500
|
||||
setp hm2_5i20.0.stepgen.00.steplen 2500
|
||||
setp hm2_5i20.0.stepgen.00.stepspace 2500
|
||||
setp hm2_5i20.0.stepgen.00.position-scale [JOINT_0]SCALE
|
||||
setp hm2_5i20.0.stepgen.00.maxaccel [JOINT_0]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.00.maxvel [JOINT_0]STEPGEN_MAXVEL
|
||||
setp hm2_5i20.0.stepgen.01.dirsetup 2500
|
||||
setp hm2_5i20.0.stepgen.01.dirhold 2500
|
||||
setp hm2_5i20.0.stepgen.01.steplen 2500
|
||||
setp hm2_5i20.0.stepgen.01.stepspace 2500
|
||||
setp hm2_5i20.0.stepgen.01.position-scale [JOINT_1]SCALE
|
||||
setp hm2_5i20.0.stepgen.01.maxaccel [JOINT_1]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.01.maxvel [JOINT_1]STEPGEN_MAXVEL
|
||||
setp hm2_5i20.0.stepgen.02.dirsetup 2500
|
||||
setp hm2_5i20.0.stepgen.02.dirhold 2500
|
||||
setp hm2_5i20.0.stepgen.02.steplen 2500
|
||||
setp hm2_5i20.0.stepgen.02.stepspace 2500
|
||||
setp hm2_5i20.0.stepgen.02.position-scale [JOINT_2]SCALE
|
||||
setp hm2_5i20.0.stepgen.02.maxaccel [JOINT_2]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.02.maxvel [JOINT_2]STEPGEN_MAXVEL
|
||||
setp hm2_5i20.0.stepgen.03.dirsetup 2500
|
||||
setp hm2_5i20.0.stepgen.03.dirhold 2500
|
||||
setp hm2_5i20.0.stepgen.03.steplen 2500
|
||||
setp hm2_5i20.0.stepgen.03.stepspace 2500
|
||||
setp hm2_5i20.0.stepgen.03.position-scale [JOINT_3]SCALE
|
||||
setp hm2_5i20.0.stepgen.03.maxaccel [JOINT_3]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.03.maxvel [JOINT_3]STEPGEN_MAXVEL
|
||||
|
||||
# connect position commands from motion module to step generator
|
||||
net Xpos-cmd joint.0.motor-pos-cmd => hm2_5i20.0.stepgen.00.position-cmd
|
||||
net Ypos-cmd joint.1.motor-pos-cmd => hm2_5i20.0.stepgen.01.position-cmd
|
||||
net Zpos-cmd joint.2.motor-pos-cmd => hm2_5i20.0.stepgen.02.position-cmd
|
||||
#net Apos-cmd joint.3.motor-pos-cmd => hm2_5i20.0.stepgen.03.position-cmd
|
||||
|
||||
# connect position feedback from step generators to motion module
|
||||
net Xpos-fb hm2_5i20.0.stepgen.00.position-fb => joint.0.motor-pos-fb
|
||||
net Ypos-fb hm2_5i20.0.stepgen.01.position-fb => joint.1.motor-pos-fb
|
||||
net Zpos-fb hm2_5i20.0.stepgen.02.position-fb => joint.2.motor-pos-fb
|
||||
#net Apos-fb hm2_5i20.0.stepgen.03.position-fb => joint.3.motor-pos-fb
|
||||
|
||||
# connect enable signals for step generators
|
||||
net Xen joint.0.amp-enable-out => hm2_5i20.0.stepgen.00.enable
|
||||
net Yen joint.1.amp-enable-out => hm2_5i20.0.stepgen.01.enable
|
||||
net Zen joint.2.amp-enable-out => hm2_5i20.0.stepgen.02.enable
|
||||
#net Aen joint.3.amp-enable-out => hm2_5i20.0.stepgen.03.enable
|
||||
|
||||
# enable velocity mode jogging
|
||||
net Enable joint.0.jog-vel-mode
|
||||
net Enable joint.1.jog-vel-mode
|
||||
net Enable joint.2.jog-vel-mode
|
||||
#net Enable joint.3.jog-vel-mode
|
||||
|
||||
# enable the PWM generator
|
||||
net Enable => hm2_5i20.0.pwmgen.00.enable
|
||||
|
||||
# enable the charge pump
|
||||
net Enable => charge-pump.enable
|
||||
|
||||
# connect the charge pump signal to an output
|
||||
setp hm2_5i20.0.gpio.022.is_output TRUE
|
||||
net chargepump hm2_5i20.0.gpio.022.out => charge-pump.out
|
||||
|
||||
# Safety Relay Monitoring Contacts
|
||||
net estop-enable hm2_5i20.0.gpio.037.in => iocontrol.0.emc-enable-in
|
||||
# Run Switch
|
||||
net machine-on hm2_5i20.0.gpio.039.in_not => halui.machine.on
|
||||
|
||||
#connect limit switches to limit inputs
|
||||
net Xmax hm2_5i20.0.gpio.032.in => joint.0.pos-lim-sw-in
|
||||
net Xmin hm2_5i20.0.gpio.034.in => joint.0.neg-lim-sw-in
|
||||
net Ymax hm2_5i20.0.gpio.028.in => joint.1.pos-lim-sw-in
|
||||
net Ymin hm2_5i20.0.gpio.030.in => joint.1.neg-lim-sw-in
|
||||
net Zmax hm2_5i20.0.gpio.024.in => joint.2.pos-lim-sw-in
|
||||
net Zmin hm2_5i20.0.gpio.026.in => joint.2.neg-lim-sw-in
|
||||
|
||||
#connect positive limit signals to home inputs
|
||||
net Xmax => joint.0.home-sw-in
|
||||
net Ymax => joint.1.home-sw-in
|
||||
net Zmax => joint.2.home-sw-in
|
||||
|
||||
# Spindle Contactor Enable
|
||||
setp hm2_5i20.0.gpio.041.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.041.invert_output TRUE
|
||||
# Door Closed - Energizes spindle contactor
|
||||
net CLOSED hm2_5i20.0.gpio.029.in_not hm2_5i20.0.gpio.041.out
|
||||
|
||||
# Main Contactors - True when both contactors are energized
|
||||
net ACOK hm2_5i20.0.gpio.035.in_not
|
||||
# VFD Fault Relay - True when VFD is not faulted
|
||||
#net VFDOK hm2_5i20.0.gpio.031.in_not
|
||||
# A Axis Home - On Sieg machines there is no VFD fault signal,
|
||||
# it is used for the A axis home sensor on 4 axis machines
|
||||
#net VFDOK hm2_5i20.0.gpio.031.in_not
|
||||
#net AHOME hm2_5i20.0.gpio.031.in joint.3.home-sw-in
|
||||
# Spindle Contactor - False when spindle contactor is energized
|
||||
net SOFF hm2_5i20.0.gpio.033.in halui.program.pause motion.feed-hold
|
||||
|
||||
# Axis Drive Status Signals
|
||||
# True when YAKO stepper drive is on a full step position
|
||||
# True when a Leadshine stepper drive is in the READY state
|
||||
net DRV1 hm2_5i20.0.gpio.025.in_not
|
||||
net DRV2 hm2_5i20.0.gpio.036.in_not
|
||||
net DRV3 hm2_5i20.0.gpio.027.in_not
|
||||
net DRV4 hm2_5i20.0.gpio.038.in_not
|
||||
|
||||
# Output Bits
|
||||
# KA1
|
||||
setp hm2_5i20.0.gpio.040.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.040.invert_output TRUE
|
||||
net KA1 spindle.0.reverse => hm2_5i20.0.gpio.040.out
|
||||
# KA2
|
||||
setp hm2_5i20.0.gpio.042.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.042.invert_output TRUE
|
||||
net KA2 spindle.0.on => hm2_5i20.0.gpio.042.out
|
||||
# Flood Coolant
|
||||
setp hm2_5i20.0.gpio.043.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.043.invert_output TRUE
|
||||
net M8 hm2_5i20.0.gpio.043.out => iocontrol.0.coolant-flood
|
||||
# Mist Coolant
|
||||
setp hm2_5i20.0.gpio.045.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.045.invert_output TRUE
|
||||
net M7 hm2_5i20.0.gpio.045.out => iocontrol.0.coolant-mist
|
||||
|
||||
# hook the functions to threads
|
||||
# read inputs
|
||||
addf hm2_5i20.0.read servo-thread
|
||||
# handle motion commands
|
||||
addf motion-command-handler servo-thread
|
||||
# run the motion controller
|
||||
addf motion-controller servo-thread
|
||||
# write outputs
|
||||
addf hm2_5i20.0.write servo-thread
|
||||
# toggle the charge pump
|
||||
addf charge-pump servo-thread
|
||||
|
||||
279
configs/by_machine/smithy/622.ini
Normal file
279
configs/by_machine/smithy/622.ini
Normal file
@@ -0,0 +1,279 @@
|
||||
# EMC controller parameters for Mesa 5i20 controlled Smithy 622 Mill
|
||||
|
||||
[EMC]
|
||||
MACHINE = Smithy 622 Mill
|
||||
VERSION = 1.1
|
||||
DEBUG = 0x00000000
|
||||
#DEBUG = 0x7FFFFFFF
|
||||
|
||||
[DISPLAY]
|
||||
#DISPLAY = eztrol
|
||||
# CYCLE_TIME is used by eztrol
|
||||
CYCLE_TIME = .1
|
||||
DISPLAY = axis
|
||||
#DISPLAY = tklinuxcnc
|
||||
#HELP_FILE = /usr/share/doc/linuxcnc/tklinuxcnc.txt
|
||||
TKPKG = Ngcgui 1.0
|
||||
TKPKG = Ngcguittt 1.0
|
||||
# note: ngcgui_app.tcl must precede ngcgui_ttt.tcl
|
||||
NGCGUI_FONT = Helvetica -12 normal
|
||||
TTT = truetype-tracer
|
||||
TTT_PREAMBLE = in_std.ngc
|
||||
NGCGUI_PREAMBLE = in_std.ngc
|
||||
NGCGUI_POSTAMBLE = bye.ngc
|
||||
NGCGUI_SUBFILE = backlash.ngc
|
||||
NGCGUI_SUBFILE = hole_circle.ngc
|
||||
NGCGUI_SUBFILE = helix.ngc
|
||||
NGCGUI_SUBFILE = helix_rtheta.ngc
|
||||
NGCGUI_SUBFILE = slot.ngc
|
||||
NGCGUI_SUBFILE = simp.ngc
|
||||
NGCGUI_SUBFILE = xyz.ngc
|
||||
NGCGUI_SUBFILE = iquad.ngc
|
||||
NGCGUI_SUBFILE = oquad.ngc
|
||||
NGCGUI_SUBFILE = db25.ngc
|
||||
NGCGUI_SUBFILE = ihex.ngc
|
||||
NGCGUI_SUBFILE = ohex.ngc
|
||||
NGCGUI_SUBFILE = gosper.ngc
|
||||
NGCGUI_SUBFILE = ""
|
||||
#NGCGUI_SUBFILE = "" use when imageframe is specified if
|
||||
# opening other files is required
|
||||
# images will be put in a toplevel window
|
||||
NGCGUI_OPTIONS =
|
||||
#NGCGUI_OPTIONS = opt1 opt2 ...
|
||||
# opt items:
|
||||
# nonew -- disallow making a new tab page
|
||||
# noremove -- disallow removing any tab page
|
||||
# noauto -- no autosend (makeFile, then manually send)
|
||||
# noiframe -- no internal image, image on separate toplevel
|
||||
POSITION_OFFSET = RELATIVE
|
||||
POSITION_FEEDBACK = ACTUAL
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MIN_SPINDLE_OVERRIDE = 0.2
|
||||
MAX_SPINDLE_OVERRIDE = 1.5
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in
|
||||
PROGRAM_PREFIX = ../../nc_files/
|
||||
#EDITOR = geany
|
||||
TOOL_EDITOR = tooledit
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
MAX_LINEAR_VELOCITY = 3.0
|
||||
DEFAULT_ANGULAR_VELOCITY = 12.0
|
||||
MAX_ANGULAR_VELOCITY = 60.0
|
||||
|
||||
[FILTER]
|
||||
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
|
||||
PROGRAM_EXTENSION = .py Python Script
|
||||
png = image-to-gcode
|
||||
gif = image-to-gcode
|
||||
jpg = image-to-gcode
|
||||
py = python3
|
||||
|
||||
[RS274NGC]
|
||||
PARAMETER_FILE = emc.var
|
||||
SUBROUTINE_PATH = ../../nc_files/ngcgui_lib:../../nc_files/ngcgui_lib/utilitysubs
|
||||
USER_M_PATH = ../../nc_files/ngcgui_lib/mfiles
|
||||
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
SHMEM_KEY = 111
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 1000000
|
||||
SERVO_PERIOD = 1000000
|
||||
TRAJ_PERIOD = 1000000
|
||||
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
[HAL]
|
||||
HALUI = halui
|
||||
HALFILE = 622.hal
|
||||
#HALFILE = naiky.hal
|
||||
EZTROL_HALFILE = 5i20eztrol.hal
|
||||
HALFILE = axis_manualtoolchange.hal
|
||||
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z
|
||||
LINEAR_UNITS = inch
|
||||
ANGULAR_UNITS = degree
|
||||
MAX_LINEAR_VELOCITY = 3.0
|
||||
MAX_LINEAR_ACCELERATION = 20.0
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
|
||||
[EMCIO]
|
||||
TOOL_TABLE = mill.tbl
|
||||
#TOOL_CHANGE_POSITION = 0 0 2
|
||||
#TOOL_CHANGE_WITH_SPINDLE_ON = 1
|
||||
TOOL_CHANGE_QUILL_UP = 1
|
||||
#TOOL_CHANGE_AT_G30 = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins
|
||||
JOINTS = 4
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -11.6
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 20.0
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 20.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 4mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 200k Steps/S = 180"/min
|
||||
SCALE = 63500
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -11.6
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 2
|
||||
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -5.3
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 20.0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 20.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 4mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 200k Steps/S = 180"/min
|
||||
SCALE = -63500
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -5.3
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -10.2
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 2.0
|
||||
MAX_ACCELERATION = 20.0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 2.0
|
||||
MAX_ACCELERATION = 20.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 4mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 200k Steps/S = 180"/min
|
||||
SCALE = -63500
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -10.2
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[AXIS_A]
|
||||
MIN_LIMIT = -360000.0
|
||||
MAX_LIMIT = 360000.0
|
||||
MAX_VELOCITY = 60.0
|
||||
MAX_ACCELERATION = 120.0
|
||||
|
||||
[JOINT_3]
|
||||
TYPE = ANGULAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 60.0
|
||||
MAX_ACCELERATION = 120.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Drive Ratio = 1:4
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 200k Steps/S = 4800 deg/min
|
||||
SCALE = -1111.11111111111111111111111111
|
||||
|
||||
# If [TRAJ]ANGULAR_UNITS = grad
|
||||
#SCALE = -1000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -360000.0
|
||||
MAX_LIMIT = 360000.0
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 36.0
|
||||
HOME_LATCH_VEL = 3.6
|
||||
HOME_FINAL_VEL = 36.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 3
|
||||
|
||||
[EZTROL]
|
||||
QTEMC_PLUGIN = /usr/share/eztrol/lib/libqtemc-2.4.6.so
|
||||
QTEMCHAL_PLUGIN = /usr/share/eztrol/lib/libqtemchal-2.4.6.so
|
||||
EZTROLGUI = /usr/share/eztrol/eztrolgui/libguimill2.so
|
||||
MAX_SPINDLE_RPM = 5000
|
||||
DIR_PLUGIN = /usr/share/eztrol/eztrolplugins
|
||||
PLUGIN = libeztrol_wizard_plugin.so
|
||||
PLUGIN = libeztrol_webwizard_plugin.so
|
||||
# disabling settings gcode editor will benefit systems with small memory size
|
||||
ENABLE_SETTINGS_EDITOR = true
|
||||
# disable OpenGL 3D Preview
|
||||
ENABLE_3D_PREVIEW = true
|
||||
# set to Full Screen TRUE/FALSE
|
||||
FULLSCREEN = false
|
||||
# Settings Tab GCode Editor Syntax Highlight
|
||||
# color guide - http://www.w3.org/TR/SVG/types.html#ColorKeywords
|
||||
AXIS_COLOR = magenta
|
||||
LINENUMBER_COLOR = rosybrown
|
||||
GM_COLOR = blue
|
||||
STFDRLPQH_COLOR = red
|
||||
O_COLOR = blue
|
||||
RESERVEDWORDS_COLOR = darkviolet
|
||||
VARIABLE_COLOR = olive
|
||||
COMMENT_COLOR = seagreen
|
||||
GUI_STYLESHEET = eztrolstyle1.qss
|
||||
|
||||
[EZTROLWIZARDS]
|
||||
WIZARD_DIRECTORY = /usr/share/eztrol/eztrolwizards
|
||||
SAVE_DIRECTORY = ../../nc_files
|
||||
|
||||
[EZTROLWEBWIZARD]
|
||||
URL = http://www.mattshaver.com/ecmacam/ecmacam.htm
|
||||
179
configs/by_machine/smithy/622_4axis.hal
Normal file
179
configs/by_machine/smithy/622_4axis.hal
Normal file
@@ -0,0 +1,179 @@
|
||||
# 5i20 config file for 4 Axis Smithy 622 Mill
|
||||
|
||||
# load the hostmot2 driver, this doesn't do anything by itself,
|
||||
# it just waits for low-level drivers to register boards
|
||||
loadrt hostmot2 debug_idrom=1 debug_module_descriptors=1 debug_pin_descriptors=1 debug_modules=1
|
||||
|
||||
# load the low-level driver for the board
|
||||
# this will load the board's firmware and register it with the hostmot2
|
||||
# driver loaded above, and it'll show up in HAL
|
||||
loadrt hm2_pci config="firmware=hm2/5i20/SVST2_4_7I47.BIT num_encoders=1 num_pwmgens=1 num_stepgens=4"
|
||||
# set up the watchdog
|
||||
#setp hm2_5i20.0.watchdog.timeout_ns 10000000
|
||||
|
||||
# load kinematics
|
||||
loadrt [KINS]KINEMATICS
|
||||
|
||||
# load motion controller, get name and thread periods from ini file
|
||||
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD traj_period_nsec=[EMCMOT]TRAJ_PERIOD key=[EMCMOT]SHMEM_KEY num_joints=[KINS]JOINTS
|
||||
|
||||
# load charge pump
|
||||
loadrt charge_pump
|
||||
|
||||
# These loopbacks are usually disconnected by a postgui halfile
|
||||
net tool-change-loop iocontrol.0.tool-change iocontrol.0.tool-changed
|
||||
net tool-prepare-loopback iocontrol.0.tool-prepare iocontrol.0.tool-prepared
|
||||
|
||||
#the Enable signal is used to permanently enable things
|
||||
newsig Enable bit
|
||||
sets Enable TRUE
|
||||
|
||||
#configure the spindle speed
|
||||
net scmd spindle.0.speed-out hm2_5i20.0.pwmgen.00.value
|
||||
setp hm2_5i20.0.pwmgen.00.scale 5000
|
||||
setp hm2_5i20.0.pwmgen.00.output-type 1
|
||||
setp hm2_5i20.0.pwmgen.pwm_frequency 100
|
||||
|
||||
# invert the step pulse polarity
|
||||
setp hm2_5i20.0.gpio.000.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.002.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.016.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.018.invert_output TRUE
|
||||
|
||||
# configure the stepgen parameters
|
||||
setp hm2_5i20.0.stepgen.00.dirsetup 2500
|
||||
setp hm2_5i20.0.stepgen.00.dirhold 2500
|
||||
setp hm2_5i20.0.stepgen.00.steplen 2500
|
||||
setp hm2_5i20.0.stepgen.00.stepspace 2500
|
||||
setp hm2_5i20.0.stepgen.00.position-scale [JOINT_0]SCALE
|
||||
setp hm2_5i20.0.stepgen.00.maxaccel [JOINT_0]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.00.maxvel [JOINT_0]STEPGEN_MAXVEL
|
||||
setp hm2_5i20.0.stepgen.01.dirsetup 2500
|
||||
setp hm2_5i20.0.stepgen.01.dirhold 2500
|
||||
setp hm2_5i20.0.stepgen.01.steplen 2500
|
||||
setp hm2_5i20.0.stepgen.01.stepspace 2500
|
||||
setp hm2_5i20.0.stepgen.01.position-scale [JOINT_1]SCALE
|
||||
setp hm2_5i20.0.stepgen.01.maxaccel [JOINT_1]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.01.maxvel [JOINT_1]STEPGEN_MAXVEL
|
||||
setp hm2_5i20.0.stepgen.02.dirsetup 2500
|
||||
setp hm2_5i20.0.stepgen.02.dirhold 2500
|
||||
setp hm2_5i20.0.stepgen.02.steplen 2500
|
||||
setp hm2_5i20.0.stepgen.02.stepspace 2500
|
||||
setp hm2_5i20.0.stepgen.02.position-scale [JOINT_2]SCALE
|
||||
setp hm2_5i20.0.stepgen.02.maxaccel [JOINT_2]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.02.maxvel [JOINT_2]STEPGEN_MAXVEL
|
||||
setp hm2_5i20.0.stepgen.03.dirsetup 2500
|
||||
setp hm2_5i20.0.stepgen.03.dirhold 2500
|
||||
setp hm2_5i20.0.stepgen.03.steplen 2500
|
||||
setp hm2_5i20.0.stepgen.03.stepspace 2500
|
||||
setp hm2_5i20.0.stepgen.03.position-scale [JOINT_3]SCALE
|
||||
setp hm2_5i20.0.stepgen.03.maxaccel [JOINT_3]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.03.maxvel [JOINT_3]STEPGEN_MAXVEL
|
||||
|
||||
# connect position commands from motion module to step generator
|
||||
net Xpos-cmd joint.0.motor-pos-cmd => hm2_5i20.0.stepgen.00.position-cmd
|
||||
net Ypos-cmd joint.1.motor-pos-cmd => hm2_5i20.0.stepgen.01.position-cmd
|
||||
net Zpos-cmd joint.2.motor-pos-cmd => hm2_5i20.0.stepgen.02.position-cmd
|
||||
net Apos-cmd joint.3.motor-pos-cmd => hm2_5i20.0.stepgen.03.position-cmd
|
||||
|
||||
# connect position feedback from step generators to motion module
|
||||
net Xpos-fb hm2_5i20.0.stepgen.00.position-fb => joint.0.motor-pos-fb
|
||||
net Ypos-fb hm2_5i20.0.stepgen.01.position-fb => joint.1.motor-pos-fb
|
||||
net Zpos-fb hm2_5i20.0.stepgen.02.position-fb => joint.2.motor-pos-fb
|
||||
net Apos-fb hm2_5i20.0.stepgen.03.position-fb => joint.3.motor-pos-fb
|
||||
|
||||
# connect enable signals for step generators
|
||||
net Xen joint.0.amp-enable-out => hm2_5i20.0.stepgen.00.enable
|
||||
net Yen joint.1.amp-enable-out => hm2_5i20.0.stepgen.01.enable
|
||||
net Zen joint.2.amp-enable-out => hm2_5i20.0.stepgen.02.enable
|
||||
net Aen joint.3.amp-enable-out => hm2_5i20.0.stepgen.03.enable
|
||||
|
||||
# enable velocity mode jogging
|
||||
net Enable joint.0.jog-vel-mode
|
||||
net Enable joint.1.jog-vel-mode
|
||||
net Enable joint.2.jog-vel-mode
|
||||
net Enable joint.3.jog-vel-mode
|
||||
|
||||
# enable the PWM generator
|
||||
net Enable => hm2_5i20.0.pwmgen.00.enable
|
||||
|
||||
# enable the charge pump
|
||||
net Enable => charge-pump.enable
|
||||
|
||||
# connect the charge pump signal to an output
|
||||
setp hm2_5i20.0.gpio.022.is_output TRUE
|
||||
net chargepump hm2_5i20.0.gpio.022.out => charge-pump.out
|
||||
|
||||
# Safety Relay Monitoring Contacts
|
||||
net estop-enable hm2_5i20.0.gpio.037.in => iocontrol.0.emc-enable-in
|
||||
# Run Switch
|
||||
net machine-on hm2_5i20.0.gpio.039.in_not => halui.machine.on
|
||||
|
||||
#connect limit switches to limit inputs
|
||||
net Xmax hm2_5i20.0.gpio.032.in => joint.0.pos-lim-sw-in
|
||||
net Xmin hm2_5i20.0.gpio.034.in => joint.0.neg-lim-sw-in
|
||||
net Ymax hm2_5i20.0.gpio.028.in => joint.1.pos-lim-sw-in
|
||||
net Ymin hm2_5i20.0.gpio.030.in => joint.1.neg-lim-sw-in
|
||||
net Zmax hm2_5i20.0.gpio.024.in => joint.2.pos-lim-sw-in
|
||||
net Zmin hm2_5i20.0.gpio.026.in => joint.2.neg-lim-sw-in
|
||||
|
||||
#connect positive limit signals to home inputs
|
||||
net Xmax => joint.0.home-sw-in
|
||||
net Ymax => joint.1.home-sw-in
|
||||
net Zmax => joint.2.home-sw-in
|
||||
|
||||
# Spindle Contactor Enable
|
||||
setp hm2_5i20.0.gpio.041.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.041.invert_output TRUE
|
||||
# Door Closed - Energizes spindle contactor
|
||||
net CLOSED hm2_5i20.0.gpio.029.in_not hm2_5i20.0.gpio.041.out
|
||||
|
||||
# Main Contactors - True when both contactors are energized
|
||||
net ACOK hm2_5i20.0.gpio.035.in_not
|
||||
# VFD Fault Relay - True when VFD is not faulted
|
||||
#net VFDOK hm2_5i20.0.gpio.031.in_not
|
||||
# A Axis Home - On Sieg machines there is no VFD fault signal,
|
||||
# it is used for the A axis home sensor on 4 axis machines
|
||||
#net VFDOK hm2_5i20.0.gpio.031.in_not
|
||||
net AHOME hm2_5i20.0.gpio.031.in joint.3.home-sw-in
|
||||
# Spindle Contactor - False when spindle contactor is energized
|
||||
net SOFF hm2_5i20.0.gpio.033.in halui.program.pause motion.feed-hold
|
||||
|
||||
# Axis Drive Status Signals
|
||||
# True when YAKO stepper drive is on a full step position
|
||||
# True when a Leadshine stepper drive is in the READY state
|
||||
net DRV1 hm2_5i20.0.gpio.025.in_not
|
||||
net DRV2 hm2_5i20.0.gpio.036.in_not
|
||||
net DRV3 hm2_5i20.0.gpio.027.in_not
|
||||
net DRV4 hm2_5i20.0.gpio.038.in_not
|
||||
|
||||
# Output Bits
|
||||
# KA1
|
||||
setp hm2_5i20.0.gpio.040.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.040.invert_output TRUE
|
||||
net KA1 spindle.0.reverse => hm2_5i20.0.gpio.040.out
|
||||
# KA2
|
||||
setp hm2_5i20.0.gpio.042.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.042.invert_output TRUE
|
||||
net KA2 spindle.0.on => hm2_5i20.0.gpio.042.out
|
||||
# Flood Coolant
|
||||
setp hm2_5i20.0.gpio.043.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.043.invert_output TRUE
|
||||
net M8 hm2_5i20.0.gpio.043.out => iocontrol.0.coolant-flood
|
||||
# Mist Coolant
|
||||
setp hm2_5i20.0.gpio.045.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.045.invert_output TRUE
|
||||
net M7 hm2_5i20.0.gpio.045.out => iocontrol.0.coolant-mist
|
||||
|
||||
# hook the functions to threads
|
||||
# read inputs
|
||||
addf hm2_5i20.0.read servo-thread
|
||||
# handle motion commands
|
||||
addf motion-command-handler servo-thread
|
||||
# run the motion controller
|
||||
addf motion-controller servo-thread
|
||||
# write outputs
|
||||
addf hm2_5i20.0.write servo-thread
|
||||
# toggle the charge pump
|
||||
addf charge-pump servo-thread
|
||||
|
||||
279
configs/by_machine/smithy/622_4axis.ini
Normal file
279
configs/by_machine/smithy/622_4axis.ini
Normal file
@@ -0,0 +1,279 @@
|
||||
# EMC controller parameters for Mesa 5i20 controlled 4 axis Smithy 622 Mill
|
||||
|
||||
[EMC]
|
||||
MACHINE = 4 Axis Smithy 622 Mill
|
||||
VERSION = 1.1
|
||||
DEBUG = 0x00000000
|
||||
#DEBUG = 0x7FFFFFFF
|
||||
|
||||
[DISPLAY]
|
||||
#DISPLAY = eztrol
|
||||
# CYCLE_TIME is used by eztrol
|
||||
CYCLE_TIME = .1
|
||||
DISPLAY = axis
|
||||
#DISPLAY = tklinuxcnc
|
||||
#HELP_FILE = /usr/share/doc/linuxcnc/tklinuxcnc.txt
|
||||
TKPKG = Ngcgui 1.0
|
||||
TKPKG = Ngcguittt 1.0
|
||||
# note: ngcgui_app.tcl must precede ngcgui_ttt.tcl
|
||||
NGCGUI_FONT = Helvetica -12 normal
|
||||
TTT = truetype-tracer
|
||||
TTT_PREAMBLE = in_std.ngc
|
||||
NGCGUI_PREAMBLE = in_std.ngc
|
||||
NGCGUI_POSTAMBLE = bye.ngc
|
||||
NGCGUI_SUBFILE = backlash.ngc
|
||||
NGCGUI_SUBFILE = hole_circle.ngc
|
||||
NGCGUI_SUBFILE = helix.ngc
|
||||
NGCGUI_SUBFILE = helix_rtheta.ngc
|
||||
NGCGUI_SUBFILE = slot.ngc
|
||||
NGCGUI_SUBFILE = simp.ngc
|
||||
NGCGUI_SUBFILE = xyz.ngc
|
||||
NGCGUI_SUBFILE = iquad.ngc
|
||||
NGCGUI_SUBFILE = oquad.ngc
|
||||
NGCGUI_SUBFILE = db25.ngc
|
||||
NGCGUI_SUBFILE = ihex.ngc
|
||||
NGCGUI_SUBFILE = ohex.ngc
|
||||
NGCGUI_SUBFILE = gosper.ngc
|
||||
NGCGUI_SUBFILE = ""
|
||||
#NGCGUI_SUBFILE = "" use when imageframe is specified if
|
||||
# opening other files is required
|
||||
# images will be put in a toplevel window
|
||||
NGCGUI_OPTIONS =
|
||||
#NGCGUI_OPTIONS = opt1 opt2 ...
|
||||
# opt items:
|
||||
# nonew -- disallow making a new tab page
|
||||
# noremove -- disallow removing any tab page
|
||||
# noauto -- no autosend (makeFile, then manually send)
|
||||
# noiframe -- no internal image, image on separate toplevel
|
||||
POSITION_OFFSET = RELATIVE
|
||||
POSITION_FEEDBACK = ACTUAL
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MIN_SPINDLE_OVERRIDE = 0.2
|
||||
MAX_SPINDLE_OVERRIDE = 1.5
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in
|
||||
PROGRAM_PREFIX = ../../nc_files/
|
||||
#EDITOR = geany
|
||||
TOOL_EDITOR = tooledit
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
MAX_LINEAR_VELOCITY = 3.0
|
||||
DEFAULT_ANGULAR_VELOCITY = 12.0
|
||||
MAX_ANGULAR_VELOCITY = 60
|
||||
|
||||
[FILTER]
|
||||
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
|
||||
PROGRAM_EXTENSION = .py Python Script
|
||||
png = image-to-gcode
|
||||
gif = image-to-gcode
|
||||
jpg = image-to-gcode
|
||||
py = python3
|
||||
|
||||
[RS274NGC]
|
||||
PARAMETER_FILE = emc.var
|
||||
SUBROUTINE_PATH = ../../nc_files/ngcgui_lib:../../nc_files/ngcgui_lib/utilitysubs
|
||||
USER_M_PATH = ../../nc_files/ngcgui_lib/mfiles
|
||||
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
SHMEM_KEY = 111
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 1000000
|
||||
SERVO_PERIOD = 1000000
|
||||
TRAJ_PERIOD = 1000000
|
||||
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
[HAL]
|
||||
HALUI = halui
|
||||
HALFILE = 622_4axis.hal
|
||||
#HALFILE = naiky.hal
|
||||
EZTROL_HALFILE = 5i20eztrol.hal
|
||||
HALFILE = axis_manualtoolchange.hal
|
||||
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z A
|
||||
LINEAR_UNITS = inch
|
||||
ANGULAR_UNITS = degree
|
||||
MAX_LINEAR_VELOCITY = 3.0
|
||||
MAX_LINEAR_ACCELERATION = 20.0
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
|
||||
[EMCIO]
|
||||
TOOL_TABLE = mill.tbl
|
||||
#TOOL_CHANGE_POSITION = 0 0 2
|
||||
#TOOL_CHANGE_WITH_SPINDLE_ON = 1
|
||||
TOOL_CHANGE_QUILL_UP = 1
|
||||
#TOOL_CHANGE_AT_G30 = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins
|
||||
JOINTS = 4
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -11.6
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 20.0
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 20.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 4mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 200k Steps/S = 180"/min
|
||||
SCALE = 63500
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -11.6
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 2
|
||||
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -5.3
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 20.0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 20.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 4mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 200k Steps/S = 180"/min
|
||||
SCALE = -63500
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -5.3
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -10.2
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 2.0
|
||||
MAX_ACCELERATION = 20.0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 2.0
|
||||
MAX_ACCELERATION = 20.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 4mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 200k Steps/S = 180"/min
|
||||
SCALE = -63500
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -10.2
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[AXIS_A]
|
||||
MIN_LIMIT = -360000.0
|
||||
MAX_LIMIT = 360000.0
|
||||
MAX_VELOCITY = 60.0
|
||||
MAX_ACCELERATION = 120.0
|
||||
|
||||
[JOINT_3]
|
||||
TYPE = ANGULAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 60.0
|
||||
MAX_ACCELERATION = 120.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Drive Ratio = 1:4
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 200k Steps/S = 4800 deg/min
|
||||
SCALE = -1111.11111111111111111111111111
|
||||
|
||||
# If [TRAJ]ANGULAR_UNITS = grad
|
||||
#SCALE = -1000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -360000.0
|
||||
MAX_LIMIT = 360000.0
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 36.0
|
||||
HOME_LATCH_VEL = 3.6
|
||||
HOME_FINAL_VEL = 36.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 3
|
||||
|
||||
[EZTROL]
|
||||
QTEMC_PLUGIN = /usr/share/eztrol/lib/libqtemc-2.4.6.so
|
||||
QTEMCHAL_PLUGIN = /usr/share/eztrol/lib/libqtemchal-2.4.6.so
|
||||
EZTROLGUI = /usr/share/eztrol/eztrolgui/libguimill2.so
|
||||
MAX_SPINDLE_RPM = 5000
|
||||
DIR_PLUGIN = /usr/share/eztrol/eztrolplugins
|
||||
PLUGIN = libeztrol_wizard_plugin.so
|
||||
PLUGIN = libeztrol_webwizard_plugin.so
|
||||
# disabling settings gcode editor will benefit systems with small memory size
|
||||
ENABLE_SETTINGS_EDITOR = true
|
||||
# disable OpenGL 3D Preview
|
||||
ENABLE_3D_PREVIEW = true
|
||||
# set to Full Screen TRUE/FALSE
|
||||
FULLSCREEN = false
|
||||
# Settings Tab GCode Editor Syntax Highlight
|
||||
# color guide - http://www.w3.org/TR/SVG/types.html#ColorKeywords
|
||||
AXIS_COLOR = magenta
|
||||
LINENUMBER_COLOR = rosybrown
|
||||
GM_COLOR = blue
|
||||
STFDRLPQH_COLOR = red
|
||||
O_COLOR = blue
|
||||
RESERVEDWORDS_COLOR = darkviolet
|
||||
VARIABLE_COLOR = olive
|
||||
COMMENT_COLOR = seagreen
|
||||
GUI_STYLESHEET = eztrolstyle1.qss
|
||||
|
||||
[EZTROLWIZARDS]
|
||||
WIZARD_DIRECTORY = /usr/share/eztrol/eztrolwizards
|
||||
SAVE_DIRECTORY = ../../nc_files
|
||||
|
||||
[EZTROLWEBWIZARD]
|
||||
URL = http://www.mattshaver.com/ecmacam/ecmacam.htm
|
||||
121
configs/by_machine/smithy/622gecko.hal
Normal file
121
configs/by_machine/smithy/622gecko.hal
Normal file
@@ -0,0 +1,121 @@
|
||||
loadrt [KINS]KINEMATICS
|
||||
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD traj_period_nsec=[EMCMOT]SERVO_PERIOD key=[EMCMOT]SHMEM_KEY num_joints=[KINS]JOINTS
|
||||
loadrt hal_parport cfg=0x378
|
||||
setp parport.0.reset-time 4000
|
||||
loadrt stepgen step_type=0,0,0,0
|
||||
loadrt charge_pump
|
||||
loadrt match8 count=1
|
||||
|
||||
loadrt pwmgen output_type=1
|
||||
setp pwmgen.0.pwm-freq 5.0
|
||||
#4000 RPM spindles (early production)
|
||||
setp pwmgen.0.scale 4000
|
||||
#5000 RPM spindles (late production)
|
||||
#setp pwmgen.0.scale 5000
|
||||
setp pwmgen.0.offset 0.0
|
||||
setp pwmgen.0.min-dc 0.01
|
||||
setp pwmgen.0.max-dc 0.99
|
||||
setp pwmgen.0.dither-pwm true
|
||||
|
||||
addf parport.0.read base-thread
|
||||
addf stepgen.make-pulses base-thread
|
||||
addf charge-pump base-thread
|
||||
addf pwmgen.make-pulses base-thread
|
||||
addf parport.0.write base-thread
|
||||
addf parport.0.reset base-thread
|
||||
|
||||
addf stepgen.capture-position servo-thread
|
||||
addf motion-command-handler servo-thread
|
||||
addf motion-controller servo-thread
|
||||
addf stepgen.update-freq servo-thread
|
||||
addf pwmgen.update servo-thread
|
||||
addf match8.0 servo-thread
|
||||
|
||||
net spindle-cmd spindle.0.speed-out pwmgen.0.value
|
||||
net spindle-enable spindle.0.on pwmgen.0.enable
|
||||
|
||||
net coolant-flood parport.0.pin-01-out iocontrol.0.coolant-flood
|
||||
net xdir parport.0.pin-02-out stepgen.0.dir
|
||||
net xstep parport.0.pin-03-out stepgen.0.step
|
||||
setp parport.0.pin-03-out-reset 1
|
||||
net ydir parport.0.pin-04-out stepgen.1.dir
|
||||
net ystep parport.0.pin-05-out stepgen.1.step
|
||||
setp parport.0.pin-05-out-reset 1
|
||||
net zdir parport.0.pin-06-out stepgen.2.dir
|
||||
net zstep parport.0.pin-07-out stepgen.2.step
|
||||
setp parport.0.pin-07-out-reset 1
|
||||
net adir parport.0.pin-08-out stepgen.3.dir
|
||||
net astep parport.0.pin-09-out stepgen.3.step
|
||||
setp parport.0.pin-09-out-reset 1
|
||||
#PMDX-110
|
||||
net spindle-dir parport.0.pin-14-out spindle.0.reverse
|
||||
#PMDX-131
|
||||
#net spindle-dir parport.0.pin-14-out spindle.0.forward
|
||||
net spindle-pwm parport.0.pin-16-out pwmgen.0.pwm
|
||||
net charge-pump parport.0.pin-17-out charge-pump.out
|
||||
net estop-in parport.0.pin-10-in-not iocontrol.0.emc-enable-in
|
||||
net estop-out charge-pump.enable halui.machine.is-on
|
||||
#PMDX-110
|
||||
net run parport.0.pin-11-in-not halui.program.pause motion.feed-hold
|
||||
#PMDX-131
|
||||
#net run parport.0.pin-11-in halui.program.pause motion.feed-hold
|
||||
#normally closed switches (late production)
|
||||
net all-home parport.0.pin-12-in
|
||||
#normally open switches (early production)
|
||||
#net all-home parport.0.pin-12-in-not
|
||||
|
||||
setp stepgen.0.position-scale [JOINT_0]SCALE
|
||||
setp stepgen.0.steplen 1
|
||||
setp stepgen.0.stepspace 0
|
||||
setp stepgen.0.dirhold 35000
|
||||
setp stepgen.0.dirsetup 16000
|
||||
setp stepgen.0.maxaccel [JOINT_0]STEPGEN_MAXACCEL
|
||||
net xpos-cmd joint.0.motor-pos-cmd stepgen.0.position-cmd
|
||||
net xpos-fb stepgen.0.position-fb joint.0.motor-pos-fb
|
||||
net xenable joint.0.amp-enable-out stepgen.0.enable
|
||||
net all-home joint.0.home-sw-in
|
||||
|
||||
setp stepgen.1.position-scale [JOINT_1]SCALE
|
||||
setp stepgen.1.steplen 1
|
||||
setp stepgen.1.stepspace 0
|
||||
setp stepgen.1.dirhold 35000
|
||||
setp stepgen.1.dirsetup 16000
|
||||
setp stepgen.1.maxaccel [JOINT_1]STEPGEN_MAXACCEL
|
||||
net ypos-cmd joint.1.motor-pos-cmd stepgen.1.position-cmd
|
||||
net ypos-fb stepgen.1.position-fb joint.1.motor-pos-fb
|
||||
net yenable joint.1.amp-enable-out stepgen.1.enable
|
||||
net all-home joint.1.home-sw-in
|
||||
|
||||
setp stepgen.2.position-scale [JOINT_2]SCALE
|
||||
setp stepgen.2.steplen 1
|
||||
setp stepgen.2.stepspace 0
|
||||
setp stepgen.2.dirhold 35000
|
||||
setp stepgen.2.dirsetup 16000
|
||||
setp stepgen.2.maxaccel [JOINT_2]STEPGEN_MAXACCEL
|
||||
net zpos-cmd joint.2.motor-pos-cmd stepgen.2.position-cmd
|
||||
net zpos-fb stepgen.2.position-fb joint.2.motor-pos-fb
|
||||
net zenable joint.2.amp-enable-out stepgen.2.enable
|
||||
net all-home joint.2.home-sw-in
|
||||
|
||||
setp stepgen.3.position-scale [JOINT_3]SCALE
|
||||
setp stepgen.3.steplen 1
|
||||
setp stepgen.3.stepspace 0
|
||||
setp stepgen.3.dirhold 35000
|
||||
setp stepgen.3.dirsetup 16000
|
||||
setp stepgen.3.maxaccel [JOINT_3]STEPGEN_MAXACCEL
|
||||
net apos-cmd joint.3.motor-pos-cmd stepgen.3.position-cmd
|
||||
net apos-fb stepgen.3.position-fb joint.3.motor-pos-fb
|
||||
net aenable joint.3.amp-enable-out stepgen.3.enable
|
||||
|
||||
newsig false bit
|
||||
sets false FALSE
|
||||
net xhoming joint.0.homing match8.0.a0
|
||||
net yhoming joint.1.homing match8.0.a1
|
||||
net zhoming joint.2.homing match8.0.a2
|
||||
net false match8.0.b0 match8.0.b1 match8.0.b2
|
||||
net all-home match8.0.in
|
||||
net limit match8.0.out joint.0.neg-lim-sw-in
|
||||
|
||||
# These loopbacks are usually disconnected by a postgui halfile
|
||||
net tool-change-loop iocontrol.0.tool-change iocontrol.0.tool-changed
|
||||
net tool-prepare-loopback iocontrol.0.tool-prepare iocontrol.0.tool-prepared
|
||||
274
configs/by_machine/smithy/622gecko.ini
Normal file
274
configs/by_machine/smithy/622gecko.ini
Normal file
@@ -0,0 +1,274 @@
|
||||
# EMC controller parameters for Parallel Port controlled Smithy 622 Gecko Mill
|
||||
|
||||
[EMC]
|
||||
MACHINE = Smithy 622 Gecko Mill
|
||||
VERSION = 1.1
|
||||
DEBUG = 0x00000000
|
||||
#DEBUG = 0x7FFFFFFF
|
||||
|
||||
[DISPLAY]
|
||||
#DISPLAY = eztrol
|
||||
# CYCLE_TIME is used by eztrol
|
||||
CYCLE_TIME = .1
|
||||
DISPLAY = axis
|
||||
#DISPLAY = tklinuxcnc
|
||||
#HELP_FILE = /usr/share/doc/linuxcnc/tklinuxcnc.txt
|
||||
TKPKG = Ngcgui 1.0
|
||||
TKPKG = Ngcguittt 1.0
|
||||
# note: ngcgui_app.tcl must precede ngcgui_ttt.tcl
|
||||
NGCGUI_FONT = Helvetica -12 normal
|
||||
TTT = truetype-tracer
|
||||
TTT_PREAMBLE = in_std.ngc
|
||||
NGCGUI_PREAMBLE = in_std.ngc
|
||||
NGCGUI_POSTAMBLE = bye.ngc
|
||||
NGCGUI_SUBFILE = backlash.ngc
|
||||
NGCGUI_SUBFILE = hole_circle.ngc
|
||||
NGCGUI_SUBFILE = helix.ngc
|
||||
NGCGUI_SUBFILE = helix_rtheta.ngc
|
||||
NGCGUI_SUBFILE = slot.ngc
|
||||
NGCGUI_SUBFILE = simp.ngc
|
||||
NGCGUI_SUBFILE = xyz.ngc
|
||||
NGCGUI_SUBFILE = iquad.ngc
|
||||
NGCGUI_SUBFILE = oquad.ngc
|
||||
NGCGUI_SUBFILE = db25.ngc
|
||||
NGCGUI_SUBFILE = ihex.ngc
|
||||
NGCGUI_SUBFILE = ohex.ngc
|
||||
NGCGUI_SUBFILE = gosper.ngc
|
||||
NGCGUI_SUBFILE = ""
|
||||
#NGCGUI_SUBFILE = "" use when imageframe is specified if
|
||||
# opening other files is required
|
||||
# images will be put in a toplevel window
|
||||
NGCGUI_OPTIONS =
|
||||
#NGCGUI_OPTIONS = opt1 opt2 ...
|
||||
# opt items:
|
||||
# nonew -- disallow making a new tab page
|
||||
# noremove -- disallow removing any tab page
|
||||
# noauto -- no autosend (makeFile, then manually send)
|
||||
# noiframe -- no internal image, image on separate toplevel
|
||||
POSITION_OFFSET = RELATIVE
|
||||
POSITION_FEEDBACK = ACTUAL
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MIN_SPINDLE_OVERRIDE = 0.2
|
||||
MAX_SPINDLE_OVERRIDE = 1.5
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in
|
||||
PROGRAM_PREFIX = ../../nc_files/
|
||||
#EDITOR = geany
|
||||
TOOL_EDITOR = tooledit
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
MAX_LINEAR_VELOCITY = 1.5
|
||||
DEFAULT_ANGULAR_VELOCITY = 12.0
|
||||
MAX_ANGULAR_VELOCITY = 60
|
||||
|
||||
[FILTER]
|
||||
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
|
||||
PROGRAM_EXTENSION = .py Python Script
|
||||
png = image-to-gcode
|
||||
gif = image-to-gcode
|
||||
jpg = image-to-gcode
|
||||
py = python3
|
||||
|
||||
[RS274NGC]
|
||||
PARAMETER_FILE = emc.var
|
||||
SUBROUTINE_PATH = ../../nc_files/ngcgui_lib:../../nc_files/ngcgui_lib/utilitysubs
|
||||
USER_M_PATH = ../../nc_files/ngcgui_lib/mfiles
|
||||
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
SHMEM_KEY = 111
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 50000
|
||||
SERVO_PERIOD = 1000000
|
||||
TRAJ_PERIOD = 10000000
|
||||
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.010
|
||||
|
||||
[HAL]
|
||||
HALUI = halui
|
||||
HALFILE = 622gecko.hal
|
||||
EZTROL_HALFILE = eztrol.hal
|
||||
HALFILE = axis_manualtoolchange.hal
|
||||
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z A
|
||||
LINEAR_UNITS = inch
|
||||
ANGULAR_UNITS = degree
|
||||
MAX_LINEAR_VELOCITY = 1.5
|
||||
MAX_LINEAR_ACCELERATION = 1.5
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
|
||||
[EMCIO]
|
||||
TOOL_TABLE = mill.tbl
|
||||
#TOOL_CHANGE_POSITION = 0 0 2
|
||||
#TOOL_CHANGE_WITH_SPINDLE_ON = 1
|
||||
TOOL_CHANGE_QUILL_UP = 1
|
||||
#TOOL_CHANGE_AT_G30 = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins
|
||||
JOINTS = 4
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -10.8
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 1.5
|
||||
MAX_ACCELERATION = 1.5
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 1.5
|
||||
MAX_ACCELERATION = 1.5
|
||||
STEPGEN_MAXVEL = 1.6
|
||||
STEPGEN_MAXACCEL = 1.6
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 4mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 10uSteps = 2000
|
||||
# Vel at 200k Steps/S = 944"/min
|
||||
SCALE = -12700
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -10.8
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.05
|
||||
MIN_FERROR = 0.01
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = -0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 2
|
||||
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -5.05
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 1.5
|
||||
MAX_ACCELERATION = 1.5
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 1.5
|
||||
MAX_ACCELERATION = 1.5
|
||||
STEPGEN_MAXVEL = 1.6
|
||||
STEPGEN_MAXACCEL = 1.6
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 4mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 10uSteps = 2000
|
||||
# Vel at 200k Steps/S = 944"/min
|
||||
SCALE = 12700
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -5.05
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.05
|
||||
MIN_FERROR = 0.01
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = -0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -9.8
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 0.8
|
||||
MAX_ACCELERATION = 1.5
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 0.8
|
||||
MAX_ACCELERATION = 1.5
|
||||
STEPGEN_MAXVEL = 1.3
|
||||
STEPGEN_MAXACCEL = 1.6
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 4mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 10uSteps = 2000
|
||||
# Vel at 200k Steps/S = 944"/min
|
||||
SCALE = 12700
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -9.8
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.05
|
||||
MIN_FERROR = 0.01
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = -0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[AXIS_A]
|
||||
MIN_LIMIT = -36000.0
|
||||
MAX_LIMIT = 36000.0
|
||||
MAX_VELOCITY = 30.0
|
||||
MAX_ACCELERATION = 300.0
|
||||
|
||||
[JOINT_3]
|
||||
TYPE = ANGULAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 30.0
|
||||
MAX_ACCELERATION = 300.0
|
||||
STEPGEN_MAXVEL = 32.0
|
||||
STEPGEN_MAXACCEL = 310.0
|
||||
BACKLASH = 0.0000
|
||||
SCALE = -500
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -36000.0
|
||||
MAX_LIMIT = 36000.0
|
||||
FERROR = 5.0
|
||||
MIN_FERROR = 1.0
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 0.0
|
||||
HOME_LATCH_VEL = 0.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 3
|
||||
|
||||
[EZTROL]
|
||||
QTEMC_PLUGIN = /usr/share/eztrol/lib/libqtemc-2.4.6.so
|
||||
QTEMCHAL_PLUGIN = /usr/share/eztrol/lib/libqtemchal-2.4.6.so
|
||||
EZTROLGUI = /usr/share/eztrol/eztrolgui/libguimill2.so
|
||||
#4000 RPM spindles (early production)
|
||||
#MAX_SPINDLE_RPM = 4000
|
||||
#5000 RPM spindles (late production)
|
||||
MAX_SPINDLE_RPM = 5000
|
||||
DIR_PLUGIN = /usr/share/eztrol/eztrolplugins
|
||||
PLUGIN = libeztrol_wizard_plugin.so
|
||||
PLUGIN = libeztrol_webwizard_plugin.so
|
||||
# disabling settings gcode editor will benefit systems with small memory size
|
||||
ENABLE_SETTINGS_EDITOR = true
|
||||
# disable OpenGL 3D Preview
|
||||
ENABLE_3D_PREVIEW = true
|
||||
# set to Full Screen TRUE/FALSE
|
||||
FULLSCREEN = false
|
||||
# Settings Tab GCode Editor Syntax Highlight
|
||||
# color guide - http://www.w3.org/TR/SVG/types.html#ColorKeywords
|
||||
AXIS_COLOR = magenta
|
||||
LINENUMBER_COLOR = rosybrown
|
||||
GM_COLOR = blue
|
||||
STFDRLPQH_COLOR = red
|
||||
O_COLOR = blue
|
||||
RESERVEDWORDS_COLOR = darkviolet
|
||||
VARIABLE_COLOR = olive
|
||||
COMMENT_COLOR = seagreen
|
||||
GUI_STYLESHEET = eztrolstyle1.qss
|
||||
|
||||
[EZTROLWIZARDS]
|
||||
WIZARD_DIRECTORY = /usr/share/eztrol/eztrolwizards
|
||||
SAVE_DIRECTORY = ../../nc_files
|
||||
|
||||
[EZTROLWEBWIZARD]
|
||||
URL = http://www.mattshaver.com/ecmacam/ecmacam.htm
|
||||
180
configs/by_machine/smithy/622keyence.hal
Normal file
180
configs/by_machine/smithy/622keyence.hal
Normal file
@@ -0,0 +1,180 @@
|
||||
# 5i20 config file for Smithy 622 Mill with Leadshine Drives
|
||||
|
||||
# load the hostmot2 driver, this doesn't do anything by itself,
|
||||
# it just waits for low-level drivers to register boards
|
||||
loadrt hostmot2 debug_idrom=1 debug_module_descriptors=1 debug_pin_descriptors=1 debug_modules=1
|
||||
|
||||
# load the low-level driver for the board
|
||||
# this will load the board's firmware and register it with the hostmot2
|
||||
# driver loaded above, and it'll show up in HAL
|
||||
loadrt hm2_pci config="firmware=hm2/5i20/SVST2_4_7I47.BIT num_encoders=1 num_pwmgens=1 num_stepgens=4"
|
||||
# set up the watchdog
|
||||
#setp hm2_5i20.0.watchdog.timeout_ns 10000000
|
||||
|
||||
# load kinematics
|
||||
loadrt [KINS]KINEMATICS
|
||||
|
||||
# load motion controller, get name and thread periods from ini file
|
||||
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD traj_period_nsec=[EMCMOT]TRAJ_PERIOD key=[EMCMOT]SHMEM_KEY num_joints=[KINS]JOINTS
|
||||
|
||||
# load charge pump
|
||||
loadrt charge_pump
|
||||
|
||||
# These loopbacks are usually disconnected by a postgui halfile
|
||||
net tool-change-loop iocontrol.0.tool-change iocontrol.0.tool-changed
|
||||
net tool-prepare-loopback iocontrol.0.tool-prepare iocontrol.0.tool-prepared
|
||||
|
||||
#the Enable signal is used to permanently enable things
|
||||
newsig Enable bit
|
||||
sets Enable TRUE
|
||||
|
||||
#configure the spindle speed
|
||||
net scmd spindle.0.speed-out hm2_5i20.0.pwmgen.00.value
|
||||
setp hm2_5i20.0.pwmgen.00.scale 5000
|
||||
setp hm2_5i20.0.pwmgen.00.output-type 1
|
||||
setp hm2_5i20.0.pwmgen.pwm_frequency 100
|
||||
|
||||
# invert the step pulse polarity
|
||||
setp hm2_5i20.0.gpio.000.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.002.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.016.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.018.invert_output TRUE
|
||||
|
||||
# configure the stepgen parameters
|
||||
setp hm2_5i20.0.stepgen.00.dirsetup 5000
|
||||
setp hm2_5i20.0.stepgen.00.dirhold 1250
|
||||
setp hm2_5i20.0.stepgen.00.steplen 1250
|
||||
setp hm2_5i20.0.stepgen.00.stepspace 1250
|
||||
setp hm2_5i20.0.stepgen.00.position-scale [JOINT_0]SCALE
|
||||
setp hm2_5i20.0.stepgen.00.maxaccel [JOINT_0]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.00.maxvel [JOINT_0]STEPGEN_MAXVEL
|
||||
setp hm2_5i20.0.stepgen.01.dirsetup 5000
|
||||
setp hm2_5i20.0.stepgen.01.dirhold 1250
|
||||
setp hm2_5i20.0.stepgen.01.steplen 1250
|
||||
setp hm2_5i20.0.stepgen.01.stepspace 1250
|
||||
setp hm2_5i20.0.stepgen.01.position-scale [JOINT_1]SCALE
|
||||
setp hm2_5i20.0.stepgen.01.maxaccel [JOINT_1]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.01.maxvel [JOINT_1]STEPGEN_MAXVEL
|
||||
setp hm2_5i20.0.stepgen.02.dirsetup 5000
|
||||
setp hm2_5i20.0.stepgen.02.dirhold 1250
|
||||
setp hm2_5i20.0.stepgen.02.steplen 1250
|
||||
setp hm2_5i20.0.stepgen.02.stepspace 1250
|
||||
setp hm2_5i20.0.stepgen.02.position-scale [JOINT_2]SCALE
|
||||
setp hm2_5i20.0.stepgen.02.maxaccel [JOINT_2]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.02.maxvel [JOINT_2]STEPGEN_MAXVEL
|
||||
setp hm2_5i20.0.stepgen.03.dirsetup 5000
|
||||
setp hm2_5i20.0.stepgen.03.dirhold 1250
|
||||
setp hm2_5i20.0.stepgen.03.steplen 1250
|
||||
setp hm2_5i20.0.stepgen.03.stepspace 1250
|
||||
setp hm2_5i20.0.stepgen.03.position-scale [JOINT_3]SCALE
|
||||
setp hm2_5i20.0.stepgen.03.maxaccel [JOINT_3]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.03.maxvel [JOINT_3]STEPGEN_MAXVEL
|
||||
|
||||
# connect position commands from motion module to step generator
|
||||
net Xpos-cmd joint.0.motor-pos-cmd => hm2_5i20.0.stepgen.00.position-cmd
|
||||
net Ypos-cmd joint.1.motor-pos-cmd => hm2_5i20.0.stepgen.01.position-cmd
|
||||
net Zpos-cmd joint.2.motor-pos-cmd => hm2_5i20.0.stepgen.02.position-cmd
|
||||
#net Apos-cmd joint.3.motor-pos-cmd => hm2_5i20.0.stepgen.03.position-cmd
|
||||
|
||||
# connect position feedback from step generators to motion module
|
||||
net Xpos-fb hm2_5i20.0.stepgen.00.position-fb => joint.0.motor-pos-fb
|
||||
net Ypos-fb hm2_5i20.0.stepgen.01.position-fb => joint.1.motor-pos-fb
|
||||
net Zpos-fb hm2_5i20.0.stepgen.02.position-fb => joint.2.motor-pos-fb
|
||||
#net Apos-fb hm2_5i20.0.stepgen.03.position-fb => joint.3.motor-pos-fb
|
||||
|
||||
# connect enable signals for step generators
|
||||
net Xen joint.0.amp-enable-out => hm2_5i20.0.stepgen.00.enable
|
||||
net Yen joint.1.amp-enable-out => hm2_5i20.0.stepgen.01.enable
|
||||
net Zen joint.2.amp-enable-out => hm2_5i20.0.stepgen.02.enable
|
||||
#net Aen joint.3.amp-enable-out => hm2_5i20.0.stepgen.03.enable
|
||||
|
||||
# enable velocity mode jogging
|
||||
net Enable joint.0.jog-vel-mode
|
||||
net Enable joint.1.jog-vel-mode
|
||||
net Enable joint.2.jog-vel-mode
|
||||
#net Enable joint.3.jog-vel-mode
|
||||
|
||||
# enable the PWM generator
|
||||
net Enable => hm2_5i20.0.pwmgen.00.enable
|
||||
|
||||
# enable the charge pump
|
||||
net Enable => charge-pump.enable
|
||||
|
||||
# connect the charge pump signal to an output
|
||||
setp hm2_5i20.0.gpio.022.is_output TRUE
|
||||
net chargepump hm2_5i20.0.gpio.022.out => charge-pump.out
|
||||
|
||||
# Safety Relay Monitoring Contacts
|
||||
net estop-enable hm2_5i20.0.gpio.037.in => iocontrol.0.emc-enable-in
|
||||
# Run Switch
|
||||
net machine-on hm2_5i20.0.gpio.039.in_not => halui.machine.on
|
||||
|
||||
#connect limit switches to limit inputs
|
||||
net Xmax hm2_5i20.0.gpio.032.in => joint.0.pos-lim-sw-in
|
||||
net Xmin hm2_5i20.0.gpio.034.in => joint.0.neg-lim-sw-in
|
||||
net Ymax hm2_5i20.0.gpio.028.in => joint.1.pos-lim-sw-in
|
||||
net Ymin hm2_5i20.0.gpio.030.in => joint.1.neg-lim-sw-in
|
||||
net Zmax hm2_5i20.0.gpio.024.in_not => joint.2.pos-lim-sw-in
|
||||
net Zmin hm2_5i20.0.gpio.026.in_not => joint.2.neg-lim-sw-in
|
||||
|
||||
#connect positive limit signals to home inputs
|
||||
net Xmax => joint.0.home-sw-in
|
||||
net Ymax => joint.1.home-sw-in
|
||||
net Zmax => joint.2.home-sw-in
|
||||
|
||||
# Spindle Contactor Enable
|
||||
setp hm2_5i20.0.gpio.041.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.041.invert_output TRUE
|
||||
# Door Closed - Energizes spindle contactor
|
||||
net CLOSED hm2_5i20.0.gpio.029.in_not hm2_5i20.0.gpio.041.out
|
||||
|
||||
# Main Contactors - True when both contactors are energized
|
||||
net ACOK hm2_5i20.0.gpio.035.in_not
|
||||
# VFD Fault Relay - True when VFD is not faulted
|
||||
#net VFDOK hm2_5i20.0.gpio.031.in_not
|
||||
# A Axis Home - On Sieg machines there is no VFD fault signal,
|
||||
# it is used for the A axis home sensor on 4 axis machines
|
||||
#net VFDOK hm2_5i20.0.gpio.031.in_not
|
||||
#net AHOME hm2_5i20.0.gpio.031.in joint.3.home-sw-in
|
||||
# Spindle Contactor - False when spindle contactor is energized
|
||||
net SOFF hm2_5i20.0.gpio.033.in halui.program.pause motion.feed-hold
|
||||
|
||||
# Axis Drive Status Signals
|
||||
# True when YAKO stepper drive is on a full step position
|
||||
# True when a Leadshine stepper drive is in the READY state
|
||||
net DRV1 hm2_5i20.0.gpio.025.in_not
|
||||
net DRV2 hm2_5i20.0.gpio.036.in_not
|
||||
net DRV3 hm2_5i20.0.gpio.027.in_not
|
||||
net DRV4 hm2_5i20.0.gpio.038.in_not
|
||||
|
||||
# Output Bits
|
||||
# KA1
|
||||
setp hm2_5i20.0.gpio.040.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.040.invert_output TRUE
|
||||
net KA1 spindle.0.reverse => hm2_5i20.0.gpio.040.out
|
||||
# KA2
|
||||
setp hm2_5i20.0.gpio.042.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.042.invert_output TRUE
|
||||
net KA2 spindle.0.on => hm2_5i20.0.gpio.042.out
|
||||
# Flood Coolant
|
||||
setp hm2_5i20.0.gpio.043.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.043.invert_output TRUE
|
||||
net M8 hm2_5i20.0.gpio.043.out => iocontrol.0.coolant-flood
|
||||
|
||||
# Mist
|
||||
setp hm2_5i20.0.gpio.045.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.045.invert_output TRUE
|
||||
net M7 hm2_5i20.0.gpio.045.out => iocontrol.0.coolant-mist
|
||||
|
||||
# hook the functions to threads
|
||||
# read inputs
|
||||
addf hm2_5i20.0.read servo-thread
|
||||
# handle motion commands
|
||||
addf motion-command-handler servo-thread
|
||||
# run the motion controller
|
||||
addf motion-controller servo-thread
|
||||
# write outputs
|
||||
addf hm2_5i20.0.write servo-thread
|
||||
# toggle the charge pump
|
||||
addf charge-pump servo-thread
|
||||
|
||||
280
configs/by_machine/smithy/622keyence.ini
Normal file
280
configs/by_machine/smithy/622keyence.ini
Normal file
@@ -0,0 +1,280 @@
|
||||
# EMC controller parameters for Mesa 5i20 controlled Smithy 622 Mill with Leadshine Axis Drives
|
||||
|
||||
[EMC]
|
||||
MACHINE = Smithy 622 Mill
|
||||
VERSION = 1.1
|
||||
DEBUG = 0x00000000
|
||||
#DEBUG = 0x7FFFFFFF
|
||||
|
||||
[DISPLAY]
|
||||
#DISPLAY = eztrol
|
||||
# CYCLE_TIME is used by eztrol
|
||||
CYCLE_TIME = .1
|
||||
DISPLAY = axis
|
||||
#DISPLAY = tklinuxcnc
|
||||
#HELP_FILE = /usr/share/doc/linuxcnc/tklinuxcnc.txt
|
||||
TKPKG = Ngcgui 1.0
|
||||
TKPKG = Ngcguittt 1.0
|
||||
# note: ngcgui_app.tcl must precede ngcgui_ttt.tcl
|
||||
NGCGUI_FONT = Helvetica -12 normal
|
||||
TTT = truetype-tracer
|
||||
TTT_PREAMBLE = in_std.ngc
|
||||
NGCGUI_PREAMBLE = in_std.ngc
|
||||
NGCGUI_POSTAMBLE = bye.ngc
|
||||
NGCGUI_SUBFILE = backlash.ngc
|
||||
NGCGUI_SUBFILE = hole_circle.ngc
|
||||
NGCGUI_SUBFILE = helix.ngc
|
||||
NGCGUI_SUBFILE = helix_rtheta.ngc
|
||||
NGCGUI_SUBFILE = slot.ngc
|
||||
NGCGUI_SUBFILE = simp.ngc
|
||||
NGCGUI_SUBFILE = xyz.ngc
|
||||
NGCGUI_SUBFILE = iquad.ngc
|
||||
NGCGUI_SUBFILE = oquad.ngc
|
||||
NGCGUI_SUBFILE = db25.ngc
|
||||
NGCGUI_SUBFILE = ihex.ngc
|
||||
NGCGUI_SUBFILE = ohex.ngc
|
||||
NGCGUI_SUBFILE = gosper.ngc
|
||||
NGCGUI_SUBFILE = ""
|
||||
#NGCGUI_SUBFILE = "" use when imageframe is specified if
|
||||
# opening other files is required
|
||||
# images will be put in a toplevel window
|
||||
NGCGUI_OPTIONS =
|
||||
#NGCGUI_OPTIONS = opt1 opt2 ...
|
||||
# opt items:
|
||||
# nonew -- disallow making a new tab page
|
||||
# noremove -- disallow removing any tab page
|
||||
# noauto -- no autosend (makeFile, then manually send)
|
||||
# noiframe -- no internal image, image on separate toplevel
|
||||
POSITION_OFFSET = RELATIVE
|
||||
POSITION_FEEDBACK = ACTUAL
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MIN_SPINDLE_OVERRIDE = 0.2
|
||||
MAX_SPINDLE_OVERRIDE = 1.5
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in
|
||||
PROGRAM_PREFIX = ../../nc_files/
|
||||
#EDITOR = geany
|
||||
TOOL_EDITOR = tooledit
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
MAX_LINEAR_VELOCITY = 3.0
|
||||
DEFAULT_ANGULAR_VELOCITY = 12.0
|
||||
MAX_ANGULAR_VELOCITY = 150.0
|
||||
PYVCP = keyence.xml
|
||||
|
||||
[FILTER]
|
||||
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
|
||||
PROGRAM_EXTENSION = .py Python Script
|
||||
png = image-to-gcode
|
||||
gif = image-to-gcode
|
||||
jpg = image-to-gcode
|
||||
py = python3
|
||||
|
||||
[RS274NGC]
|
||||
PARAMETER_FILE = emc.var
|
||||
SUBROUTINE_PATH = ../../nc_files/ngcgui_lib:../../nc_files/ngcgui_lib/utilitysubs
|
||||
USER_M_PATH = ../../nc_files/ngcgui_lib/mfiles
|
||||
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
SHMEM_KEY = 111
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 1000000
|
||||
SERVO_PERIOD = 1000000
|
||||
TRAJ_PERIOD = 1000000
|
||||
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
[HAL]
|
||||
HALUI = halui
|
||||
HALFILE = 622keyence.hal
|
||||
#HALFILE = naiky.hal
|
||||
EZTROL_HALFILE = 622eztrol-leadshine.hal
|
||||
#HALFILE = axis_manualtoolchange.hal
|
||||
POSTGUI_HALFILE = keyence_postgui.hal
|
||||
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z
|
||||
LINEAR_UNITS = inch
|
||||
ANGULAR_UNITS = degree
|
||||
MAX_LINEAR_VELOCITY = 3.0
|
||||
MAX_LINEAR_ACCELERATION = 20.0
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
|
||||
[EMCIO]
|
||||
TOOL_TABLE = mill.tbl
|
||||
#TOOL_CHANGE_POSITION = 0 0 2
|
||||
#TOOL_CHANGE_WITH_SPINDLE_ON = 1
|
||||
TOOL_CHANGE_QUILL_UP = 1
|
||||
#TOOL_CHANGE_AT_G30 = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins
|
||||
JOINTS = 4
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -11.6
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 20.0
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 20.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 400k Steps/S = 377"/min
|
||||
SCALE = 63500
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -11.6
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 2
|
||||
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -0.73
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 20.0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 20.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 400k Steps/S = 472"/min
|
||||
SCALE = 63500
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -0.73
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -8.25
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 20.0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 20.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 400k Steps/S = 377"/min
|
||||
SCALE = 63500
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -8.25
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[AXIS_A]
|
||||
MIN_LIMIT = -360000.0
|
||||
MAX_LIMIT = 360000.0
|
||||
MAX_VELOCITY = 60.0
|
||||
MAX_ACCELERATION = 120.0
|
||||
|
||||
[JOINT_3]
|
||||
TYPE = ANGULAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 60.0
|
||||
MAX_ACCELERATION = 120.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Drive Ratio = 1:4
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 200k Steps/S = 4800 deg/min
|
||||
SCALE = -1111.11111111111111111111111111
|
||||
|
||||
# If [TRAJ]ANGULAR_UNITS = grad
|
||||
#SCALE = -1000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -360000.0
|
||||
MAX_LIMIT = 360000.0
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 36.0
|
||||
HOME_LATCH_VEL = 3.6
|
||||
HOME_FINAL_VEL = 36.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 3
|
||||
|
||||
[EZTROL]
|
||||
QTEMC_PLUGIN = /usr/share/eztrol/lib/libqtemc-2.4.6.so
|
||||
QTEMCHAL_PLUGIN = /usr/share/eztrol/lib/libqtemchal-2.4.6.so
|
||||
EZTROLGUI = /usr/share/eztrol/eztrolgui/libguimill2.so
|
||||
MAX_SPINDLE_RPM = 5000
|
||||
DIR_PLUGIN = /usr/share/eztrol/eztrolplugins
|
||||
PLUGIN = libeztrol_wizard_plugin.so
|
||||
PLUGIN = libeztrol_webwizard_plugin.so
|
||||
# disabling settings gcode editor will benefit systems with small memory size
|
||||
ENABLE_SETTINGS_EDITOR = true
|
||||
# disable OpenGL 3D Preview
|
||||
ENABLE_3D_PREVIEW = true
|
||||
# set to Full Screen TRUE/FALSE
|
||||
FULLSCREEN = false
|
||||
# Settings Tab GCode Editor Syntax Highlight
|
||||
# color guide - http://www.w3.org/TR/SVG/types.html#ColorKeywords
|
||||
AXIS_COLOR = magenta
|
||||
LINENUMBER_COLOR = rosybrown
|
||||
GM_COLOR = blue
|
||||
STFDRLPQH_COLOR = red
|
||||
O_COLOR = blue
|
||||
RESERVEDWORDS_COLOR = darkviolet
|
||||
VARIABLE_COLOR = olive
|
||||
COMMENT_COLOR = seagreen
|
||||
|
||||
[EZTROLWIZARDS]
|
||||
WIZARD_DIRECTORY = /usr/share/eztrol/eztrolwizards
|
||||
SAVE_DIRECTORY = ../../nc_files
|
||||
|
||||
[EZTROLWEBWIZARD]
|
||||
URL = http://www.mattshaver.com/ecmacam/ecmacam.htm
|
||||
186
configs/by_machine/smithy/622leadshine.hal
Normal file
186
configs/by_machine/smithy/622leadshine.hal
Normal file
@@ -0,0 +1,186 @@
|
||||
# 5i20 config file for Smithy 622 Mill with Leadshine Drives
|
||||
|
||||
# load the hostmot2 driver, this doesn't do anything by itself,
|
||||
# it just waits for low-level drivers to register boards
|
||||
loadrt hostmot2 debug_idrom=1 debug_module_descriptors=1 debug_pin_descriptors=1 debug_modules=1
|
||||
|
||||
# load the low-level driver for the board
|
||||
# this will load the board's firmware and register it with the hostmot2
|
||||
# driver loaded above, and it'll show up in HAL
|
||||
loadrt hm2_pci config="firmware=hm2/5i20/SVST2_4_7I47.BIT num_encoders=1 num_pwmgens=1 num_stepgens=4"
|
||||
# set up the watchdog
|
||||
#setp hm2_5i20.0.watchdog.timeout_ns 10000000
|
||||
|
||||
# load kinematics
|
||||
loadrt [KINS]KINEMATICS
|
||||
|
||||
# load motion controller, get name and thread periods from ini file
|
||||
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD traj_period_nsec=[EMCMOT]TRAJ_PERIOD key=[EMCMOT]SHMEM_KEY num_joints=[KINS]JOINTS
|
||||
|
||||
# load charge pump
|
||||
loadrt charge_pump
|
||||
|
||||
# These loopbacks are usually disconnected by a postgui halfile
|
||||
net tool-change-loop iocontrol.0.tool-change iocontrol.0.tool-changed
|
||||
net tool-prepare-loopback iocontrol.0.tool-prepare iocontrol.0.tool-prepared
|
||||
|
||||
#the Enable signal is used to permanently enable things
|
||||
newsig Enable bit
|
||||
sets Enable TRUE
|
||||
|
||||
#configure the spindle speed
|
||||
net scmd spindle.0.speed-out hm2_5i20.0.pwmgen.00.value
|
||||
setp hm2_5i20.0.pwmgen.00.scale 5000
|
||||
setp hm2_5i20.0.pwmgen.00.output-type 1
|
||||
setp hm2_5i20.0.pwmgen.pwm_frequency 100
|
||||
|
||||
# invert the step pulse polarity
|
||||
setp hm2_5i20.0.gpio.000.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.002.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.016.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.018.invert_output TRUE
|
||||
|
||||
# configure the stepgen parameters
|
||||
setp hm2_5i20.0.stepgen.00.dirsetup 5000
|
||||
setp hm2_5i20.0.stepgen.00.dirhold 1250
|
||||
setp hm2_5i20.0.stepgen.00.steplen 1250
|
||||
setp hm2_5i20.0.stepgen.00.stepspace 1250
|
||||
setp hm2_5i20.0.stepgen.00.position-scale [JOINT_0]SCALE
|
||||
setp hm2_5i20.0.stepgen.00.maxaccel [JOINT_0]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.00.maxvel [JOINT_0]STEPGEN_MAXVEL
|
||||
setp hm2_5i20.0.stepgen.01.dirsetup 5000
|
||||
setp hm2_5i20.0.stepgen.01.dirhold 1250
|
||||
setp hm2_5i20.0.stepgen.01.steplen 1250
|
||||
setp hm2_5i20.0.stepgen.01.stepspace 1250
|
||||
setp hm2_5i20.0.stepgen.01.position-scale [JOINT_1]SCALE
|
||||
setp hm2_5i20.0.stepgen.01.maxaccel [JOINT_1]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.01.maxvel [JOINT_1]STEPGEN_MAXVEL
|
||||
setp hm2_5i20.0.stepgen.02.dirsetup 5000
|
||||
setp hm2_5i20.0.stepgen.02.dirhold 1250
|
||||
setp hm2_5i20.0.stepgen.02.steplen 1250
|
||||
setp hm2_5i20.0.stepgen.02.stepspace 1250
|
||||
setp hm2_5i20.0.stepgen.02.position-scale [JOINT_2]SCALE
|
||||
setp hm2_5i20.0.stepgen.02.maxaccel [JOINT_2]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.02.maxvel [JOINT_2]STEPGEN_MAXVEL
|
||||
setp hm2_5i20.0.stepgen.03.dirsetup 5000
|
||||
setp hm2_5i20.0.stepgen.03.dirhold 1250
|
||||
setp hm2_5i20.0.stepgen.03.steplen 1250
|
||||
setp hm2_5i20.0.stepgen.03.stepspace 1250
|
||||
setp hm2_5i20.0.stepgen.03.position-scale [JOINT_3]SCALE
|
||||
setp hm2_5i20.0.stepgen.03.maxaccel [JOINT_3]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.03.maxvel [JOINT_3]STEPGEN_MAXVEL
|
||||
|
||||
# connect position commands from motion module to step generator
|
||||
net Xpos-cmd joint.0.motor-pos-cmd => hm2_5i20.0.stepgen.00.position-cmd
|
||||
net Ypos-cmd joint.1.motor-pos-cmd => hm2_5i20.0.stepgen.01.position-cmd
|
||||
net Zpos-cmd joint.2.motor-pos-cmd => hm2_5i20.0.stepgen.02.position-cmd
|
||||
#net Apos-cmd joint.3.motor-pos-cmd => hm2_5i20.0.stepgen.03.position-cmd
|
||||
|
||||
# connect position feedback from step generators to motion module
|
||||
net Xpos-fb hm2_5i20.0.stepgen.00.position-fb => joint.0.motor-pos-fb
|
||||
net Ypos-fb hm2_5i20.0.stepgen.01.position-fb => joint.1.motor-pos-fb
|
||||
net Zpos-fb hm2_5i20.0.stepgen.02.position-fb => joint.2.motor-pos-fb
|
||||
#net Apos-fb hm2_5i20.0.stepgen.03.position-fb => joint.3.motor-pos-fb
|
||||
|
||||
# connect enable signals for step generators
|
||||
net Xen joint.0.amp-enable-out => hm2_5i20.0.stepgen.00.enable
|
||||
net Yen joint.1.amp-enable-out => hm2_5i20.0.stepgen.01.enable
|
||||
net Zen joint.2.amp-enable-out => hm2_5i20.0.stepgen.02.enable
|
||||
#net Aen joint.3.amp-enable-out => hm2_5i20.0.stepgen.03.enable
|
||||
|
||||
# enable velocity mode jogging
|
||||
net Enable joint.0.jog-vel-mode
|
||||
net Enable joint.1.jog-vel-mode
|
||||
net Enable joint.2.jog-vel-mode
|
||||
#net Enable joint.3.jog-vel-mode
|
||||
|
||||
# enable the PWM generator
|
||||
net Enable => hm2_5i20.0.pwmgen.00.enable
|
||||
|
||||
# enable the charge pump
|
||||
net Enable => charge-pump.enable
|
||||
|
||||
# connect the charge pump signal to an output
|
||||
setp hm2_5i20.0.gpio.022.is_output TRUE
|
||||
net chargepump hm2_5i20.0.gpio.022.out => charge-pump.out
|
||||
|
||||
# Safety Relay Monitoring Contacts
|
||||
net estop-enable hm2_5i20.0.gpio.037.in => iocontrol.0.emc-enable-in
|
||||
# Run Switch
|
||||
net machine-on hm2_5i20.0.gpio.039.in_not => halui.machine.on
|
||||
|
||||
#connect limit switches to limit inputs
|
||||
net Xmax hm2_5i20.0.gpio.032.in => joint.0.pos-lim-sw-in
|
||||
net Xmin hm2_5i20.0.gpio.034.in => joint.0.neg-lim-sw-in
|
||||
net Ymax hm2_5i20.0.gpio.028.in => joint.1.pos-lim-sw-in
|
||||
net Ymin hm2_5i20.0.gpio.030.in => joint.1.neg-lim-sw-in
|
||||
# The earliest production units had normally open switches
|
||||
# on the Z axis which were deemed too difficult to change
|
||||
# to normally closed operation due to their remote location.
|
||||
#net Zmax hm2_5i20.0.gpio.024.in_not => joint.2.pos-lim-sw-in
|
||||
#net Zmin hm2_5i20.0.gpio.026.in_not => joint.2.neg-lim-sw-in
|
||||
# Later production units came correctly wired with normally
|
||||
# closed switched on all three axes.
|
||||
net Zmax hm2_5i20.0.gpio.024.in => joint.2.pos-lim-sw-in
|
||||
net Zmin hm2_5i20.0.gpio.026.in => joint.2.neg-lim-sw-in
|
||||
|
||||
#connect positive limit signals to home inputs
|
||||
net Xmax => joint.0.home-sw-in
|
||||
net Ymax => joint.1.home-sw-in
|
||||
net Zmax => joint.2.home-sw-in
|
||||
|
||||
# Spindle Contactor Enable
|
||||
setp hm2_5i20.0.gpio.041.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.041.invert_output TRUE
|
||||
# Door Closed - Energizes spindle contactor
|
||||
net CLOSED hm2_5i20.0.gpio.029.in_not hm2_5i20.0.gpio.041.out
|
||||
|
||||
# Main Contactors - True when both contactors are energized
|
||||
net ACOK hm2_5i20.0.gpio.035.in_not
|
||||
# VFD Fault Relay - True when VFD is not faulted
|
||||
#net VFDOK hm2_5i20.0.gpio.031.in_not
|
||||
# A Axis Home - On Sieg machines there is no VFD fault signal,
|
||||
# it is used for the A axis home sensor on 4 axis machines
|
||||
#net VFDOK hm2_5i20.0.gpio.031.in_not
|
||||
#net AHOME hm2_5i20.0.gpio.031.in joint.3.home-sw-in
|
||||
# Spindle Contactor - False when spindle contactor is energized
|
||||
net SOFF hm2_5i20.0.gpio.033.in halui.program.pause motion.feed-hold
|
||||
|
||||
# Axis Drive Status Signals
|
||||
# True when YAKO stepper drive is on a full step position
|
||||
# True when a Leadshine stepper drive is in the READY state
|
||||
net DRV1 hm2_5i20.0.gpio.025.in_not
|
||||
net DRV2 hm2_5i20.0.gpio.036.in_not
|
||||
net DRV3 hm2_5i20.0.gpio.027.in_not
|
||||
net DRV4 hm2_5i20.0.gpio.038.in_not
|
||||
|
||||
# Output Bits
|
||||
# KA1
|
||||
setp hm2_5i20.0.gpio.040.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.040.invert_output TRUE
|
||||
net KA1 spindle.0.reverse => hm2_5i20.0.gpio.040.out
|
||||
# KA2
|
||||
setp hm2_5i20.0.gpio.042.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.042.invert_output TRUE
|
||||
net KA2 spindle.0.on => hm2_5i20.0.gpio.042.out
|
||||
# Flood Coolant
|
||||
setp hm2_5i20.0.gpio.043.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.043.invert_output TRUE
|
||||
net M8 hm2_5i20.0.gpio.043.out => iocontrol.0.coolant-flood
|
||||
# Mist Coolant
|
||||
setp hm2_5i20.0.gpio.045.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.045.invert_output TRUE
|
||||
net M7 hm2_5i20.0.gpio.045.out => iocontrol.0.coolant-mist
|
||||
|
||||
# hook the functions to threads
|
||||
# read inputs
|
||||
addf hm2_5i20.0.read servo-thread
|
||||
# handle motion commands
|
||||
addf motion-command-handler servo-thread
|
||||
# run the motion controller
|
||||
addf motion-controller servo-thread
|
||||
# write outputs
|
||||
addf hm2_5i20.0.write servo-thread
|
||||
# toggle the charge pump
|
||||
addf charge-pump servo-thread
|
||||
|
||||
279
configs/by_machine/smithy/622leadshine.ini
Normal file
279
configs/by_machine/smithy/622leadshine.ini
Normal file
@@ -0,0 +1,279 @@
|
||||
# EMC controller parameters for Mesa 5i20 controlled Smithy 622 Mill with Leadshine Axis Drives
|
||||
|
||||
[EMC]
|
||||
MACHINE = Smithy 622 Mill
|
||||
VERSION = 1.1
|
||||
DEBUG = 0x00000000
|
||||
#DEBUG = 0x7FFFFFFF
|
||||
|
||||
[DISPLAY]
|
||||
#DISPLAY = eztrol
|
||||
# CYCLE_TIME is used by eztrol
|
||||
CYCLE_TIME = .1
|
||||
DISPLAY = axis
|
||||
#DISPLAY = tklinuxcnc
|
||||
#HELP_FILE = /usr/share/doc/linuxcnc/tklinuxcnc.txt
|
||||
TKPKG = Ngcgui 1.0
|
||||
TKPKG = Ngcguittt 1.0
|
||||
# note: ngcgui_app.tcl must precede ngcgui_ttt.tcl
|
||||
NGCGUI_FONT = Helvetica -12 normal
|
||||
TTT = truetype-tracer
|
||||
TTT_PREAMBLE = in_std.ngc
|
||||
NGCGUI_PREAMBLE = in_std.ngc
|
||||
NGCGUI_POSTAMBLE = bye.ngc
|
||||
NGCGUI_SUBFILE = backlash.ngc
|
||||
NGCGUI_SUBFILE = hole_circle.ngc
|
||||
NGCGUI_SUBFILE = helix.ngc
|
||||
NGCGUI_SUBFILE = helix_rtheta.ngc
|
||||
NGCGUI_SUBFILE = slot.ngc
|
||||
NGCGUI_SUBFILE = simp.ngc
|
||||
NGCGUI_SUBFILE = xyz.ngc
|
||||
NGCGUI_SUBFILE = iquad.ngc
|
||||
NGCGUI_SUBFILE = oquad.ngc
|
||||
NGCGUI_SUBFILE = db25.ngc
|
||||
NGCGUI_SUBFILE = ihex.ngc
|
||||
NGCGUI_SUBFILE = ohex.ngc
|
||||
NGCGUI_SUBFILE = gosper.ngc
|
||||
NGCGUI_SUBFILE = ""
|
||||
#NGCGUI_SUBFILE = "" use when imageframe is specified if
|
||||
# opening other files is required
|
||||
# images will be put in a toplevel window
|
||||
NGCGUI_OPTIONS =
|
||||
#NGCGUI_OPTIONS = opt1 opt2 ...
|
||||
# opt items:
|
||||
# nonew -- disallow making a new tab page
|
||||
# noremove -- disallow removing any tab page
|
||||
# noauto -- no autosend (makeFile, then manually send)
|
||||
# noiframe -- no internal image, image on separate toplevel
|
||||
POSITION_OFFSET = RELATIVE
|
||||
POSITION_FEEDBACK = ACTUAL
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MIN_SPINDLE_OVERRIDE = 0.2
|
||||
MAX_SPINDLE_OVERRIDE = 1.5
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in
|
||||
PROGRAM_PREFIX = ../../nc_files/
|
||||
#EDITOR = geany
|
||||
TOOL_EDITOR = tooledit
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
MAX_LINEAR_VELOCITY = 3.0
|
||||
DEFAULT_ANGULAR_VELOCITY = 12.0
|
||||
MAX_ANGULAR_VELOCITY = 300.0
|
||||
|
||||
[FILTER]
|
||||
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
|
||||
PROGRAM_EXTENSION = .py Python Script
|
||||
png = image-to-gcode
|
||||
gif = image-to-gcode
|
||||
jpg = image-to-gcode
|
||||
py = python3
|
||||
|
||||
[RS274NGC]
|
||||
PARAMETER_FILE = emc.var
|
||||
SUBROUTINE_PATH = ../../nc_files/ngcgui_lib:../../nc_files/ngcgui_lib/utilitysubs
|
||||
USER_M_PATH = ../../nc_files/ngcgui_lib/mfiles
|
||||
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
SHMEM_KEY = 111
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 1000000
|
||||
SERVO_PERIOD = 1000000
|
||||
TRAJ_PERIOD = 1000000
|
||||
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
[HAL]
|
||||
HALUI = halui
|
||||
HALFILE = 622leadshine.hal
|
||||
#HALFILE = naiky.hal
|
||||
EZTROL_HALFILE = 5i20eztrol.hal
|
||||
HALFILE = axis_manualtoolchange.hal
|
||||
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z
|
||||
LINEAR_UNITS = inch
|
||||
ANGULAR_UNITS = degree
|
||||
MAX_LINEAR_VELOCITY = 3.0
|
||||
MAX_LINEAR_ACCELERATION = 20.0
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
|
||||
[EMCIO]
|
||||
TOOL_TABLE = mill.tbl
|
||||
#TOOL_CHANGE_POSITION = 0 0 2
|
||||
#TOOL_CHANGE_WITH_SPINDLE_ON = 1
|
||||
TOOL_CHANGE_QUILL_UP = 1
|
||||
#TOOL_CHANGE_AT_G30 = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins
|
||||
JOINTS = 4
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -11.6
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 20.0
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 20.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 400k Steps/S = 377"/min
|
||||
SCALE = 63500
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -11.6
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 2
|
||||
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -5.3
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 20.0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 20.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 400k Steps/S = 472"/min
|
||||
SCALE = 63500
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -5.3
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -10.2
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 20.0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 20.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 400k Steps/S = 377"/min
|
||||
SCALE = 63500
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -10.2
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[AXIS_A]
|
||||
MIN_LIMIT = -360000.0
|
||||
MAX_LIMIT = 360000.0
|
||||
MAX_VELOCITY = 300.0
|
||||
MAX_ACCELERATION = 1000.0
|
||||
|
||||
[JOINT_3]
|
||||
TYPE = ANGULAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 300.0
|
||||
MAX_ACCELERATION = 1000.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Drive Ratio = 40:360 = 1:9
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 400k Steps/S = 21600 deg/min
|
||||
SCALE = -1111.11111111111111111111111111
|
||||
|
||||
# If [TRAJ]ANGULAR_UNITS = grad
|
||||
#SCALE = -1000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -360000.0
|
||||
MAX_LIMIT = 360000.0
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 36.0
|
||||
HOME_LATCH_VEL = 3.6
|
||||
HOME_FINAL_VEL = 36.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 3
|
||||
|
||||
[EZTROL]
|
||||
QTEMC_PLUGIN = /usr/share/eztrol/lib/libqtemc-2.4.6.so
|
||||
QTEMCHAL_PLUGIN = /usr/share/eztrol/lib/libqtemchal-2.4.6.so
|
||||
EZTROLGUI = /usr/share/eztrol/eztrolgui/libguimill2.so
|
||||
MAX_SPINDLE_RPM = 5000
|
||||
DIR_PLUGIN = /usr/share/eztrol/eztrolplugins
|
||||
PLUGIN = libeztrol_wizard_plugin.so
|
||||
PLUGIN = libeztrol_webwizard_plugin.so
|
||||
# disabling settings gcode editor will benefit systems with small memory size
|
||||
ENABLE_SETTINGS_EDITOR = true
|
||||
# disable OpenGL 3D Preview
|
||||
ENABLE_3D_PREVIEW = true
|
||||
# set to Full Screen TRUE/FALSE
|
||||
FULLSCREEN = false
|
||||
# Settings Tab GCode Editor Syntax Highlight
|
||||
# color guide - http://www.w3.org/TR/SVG/types.html#ColorKeywords
|
||||
AXIS_COLOR = magenta
|
||||
LINENUMBER_COLOR = rosybrown
|
||||
GM_COLOR = blue
|
||||
STFDRLPQH_COLOR = red
|
||||
O_COLOR = blue
|
||||
RESERVEDWORDS_COLOR = darkviolet
|
||||
VARIABLE_COLOR = olive
|
||||
COMMENT_COLOR = seagreen
|
||||
GUI_STYLESHEET = eztrolstyle1.qss
|
||||
|
||||
[EZTROLWIZARDS]
|
||||
WIZARD_DIRECTORY = /usr/share/eztrol/eztrolwizards
|
||||
SAVE_DIRECTORY = ../../nc_files
|
||||
|
||||
[EZTROLWEBWIZARD]
|
||||
URL = http://www.mattshaver.com/ecmacam/ecmacam.htm
|
||||
179
configs/by_machine/smithy/622leadshine_4axis.hal
Normal file
179
configs/by_machine/smithy/622leadshine_4axis.hal
Normal file
@@ -0,0 +1,179 @@
|
||||
# 5i20 config file for 4 Axis Smithy 622 Mill with Leadshine Drives
|
||||
|
||||
# load the hostmot2 driver, this doesn't do anything by itself,
|
||||
# it just waits for low-level drivers to register boards
|
||||
loadrt hostmot2 debug_idrom=1 debug_module_descriptors=1 debug_pin_descriptors=1 debug_modules=1
|
||||
|
||||
# load the low-level driver for the board
|
||||
# this will load the board's firmware and register it with the hostmot2
|
||||
# driver loaded above, and it'll show up in HAL
|
||||
loadrt hm2_pci config="firmware=hm2/5i20/SVST2_4_7I47.BIT num_encoders=1 num_pwmgens=1 num_stepgens=4"
|
||||
# set up the watchdog
|
||||
#setp hm2_5i20.0.watchdog.timeout_ns 10000000
|
||||
|
||||
# load kinematics
|
||||
loadrt [KINS]KINEMATICS
|
||||
|
||||
# load motion controller, get name and thread periods from ini file
|
||||
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD traj_period_nsec=[EMCMOT]TRAJ_PERIOD key=[EMCMOT]SHMEM_KEY num_joints=[KINS]JOINTS
|
||||
|
||||
# load charge pump
|
||||
loadrt charge_pump
|
||||
|
||||
# These loopbacks are usually disconnected by a postgui halfile
|
||||
net tool-change-loop iocontrol.0.tool-change iocontrol.0.tool-changed
|
||||
net tool-prepare-loopback iocontrol.0.tool-prepare iocontrol.0.tool-prepared
|
||||
|
||||
#the Enable signal is used to permanently enable things
|
||||
newsig Enable bit
|
||||
sets Enable TRUE
|
||||
|
||||
#configure the spindle speed
|
||||
net scmd spindle.0.speed-out hm2_5i20.0.pwmgen.00.value
|
||||
setp hm2_5i20.0.pwmgen.00.scale 5000
|
||||
setp hm2_5i20.0.pwmgen.00.output-type 1
|
||||
setp hm2_5i20.0.pwmgen.pwm_frequency 100
|
||||
|
||||
# invert the step pulse polarity
|
||||
setp hm2_5i20.0.gpio.000.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.002.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.016.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.018.invert_output TRUE
|
||||
|
||||
# configure the stepgen parameters
|
||||
setp hm2_5i20.0.stepgen.00.dirsetup 5000
|
||||
setp hm2_5i20.0.stepgen.00.dirhold 1250
|
||||
setp hm2_5i20.0.stepgen.00.steplen 1250
|
||||
setp hm2_5i20.0.stepgen.00.stepspace 1250
|
||||
setp hm2_5i20.0.stepgen.00.position-scale [JOINT_0]SCALE
|
||||
setp hm2_5i20.0.stepgen.00.maxaccel [JOINT_0]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.00.maxvel [JOINT_0]STEPGEN_MAXVEL
|
||||
setp hm2_5i20.0.stepgen.01.dirsetup 5000
|
||||
setp hm2_5i20.0.stepgen.01.dirhold 1250
|
||||
setp hm2_5i20.0.stepgen.01.steplen 1250
|
||||
setp hm2_5i20.0.stepgen.01.stepspace 1250
|
||||
setp hm2_5i20.0.stepgen.01.position-scale [JOINT_1]SCALE
|
||||
setp hm2_5i20.0.stepgen.01.maxaccel [JOINT_1]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.01.maxvel [JOINT_1]STEPGEN_MAXVEL
|
||||
setp hm2_5i20.0.stepgen.02.dirsetup 5000
|
||||
setp hm2_5i20.0.stepgen.02.dirhold 1250
|
||||
setp hm2_5i20.0.stepgen.02.steplen 1250
|
||||
setp hm2_5i20.0.stepgen.02.stepspace 1250
|
||||
setp hm2_5i20.0.stepgen.02.position-scale [JOINT_2]SCALE
|
||||
setp hm2_5i20.0.stepgen.02.maxaccel [JOINT_2]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.02.maxvel [JOINT_2]STEPGEN_MAXVEL
|
||||
setp hm2_5i20.0.stepgen.03.dirsetup 5000
|
||||
setp hm2_5i20.0.stepgen.03.dirhold 1250
|
||||
setp hm2_5i20.0.stepgen.03.steplen 1250
|
||||
setp hm2_5i20.0.stepgen.03.stepspace 1250
|
||||
setp hm2_5i20.0.stepgen.03.position-scale [JOINT_3]SCALE
|
||||
setp hm2_5i20.0.stepgen.03.maxaccel [JOINT_3]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.03.maxvel [JOINT_3]STEPGEN_MAXVEL
|
||||
|
||||
# connect position commands from motion module to step generator
|
||||
net Xpos-cmd joint.0.motor-pos-cmd => hm2_5i20.0.stepgen.00.position-cmd
|
||||
net Ypos-cmd joint.1.motor-pos-cmd => hm2_5i20.0.stepgen.01.position-cmd
|
||||
net Zpos-cmd joint.2.motor-pos-cmd => hm2_5i20.0.stepgen.02.position-cmd
|
||||
net Apos-cmd joint.3.motor-pos-cmd => hm2_5i20.0.stepgen.03.position-cmd
|
||||
|
||||
# connect position feedback from step generators to motion module
|
||||
net Xpos-fb hm2_5i20.0.stepgen.00.position-fb => joint.0.motor-pos-fb
|
||||
net Ypos-fb hm2_5i20.0.stepgen.01.position-fb => joint.1.motor-pos-fb
|
||||
net Zpos-fb hm2_5i20.0.stepgen.02.position-fb => joint.2.motor-pos-fb
|
||||
net Apos-fb hm2_5i20.0.stepgen.03.position-fb => joint.3.motor-pos-fb
|
||||
|
||||
# connect enable signals for step generators
|
||||
net Xen joint.0.amp-enable-out => hm2_5i20.0.stepgen.00.enable
|
||||
net Yen joint.1.amp-enable-out => hm2_5i20.0.stepgen.01.enable
|
||||
net Zen joint.2.amp-enable-out => hm2_5i20.0.stepgen.02.enable
|
||||
net Aen joint.3.amp-enable-out => hm2_5i20.0.stepgen.03.enable
|
||||
|
||||
# enable velocity mode jogging
|
||||
net Enable joint.0.jog-vel-mode
|
||||
net Enable joint.1.jog-vel-mode
|
||||
net Enable joint.2.jog-vel-mode
|
||||
net Enable joint.3.jog-vel-mode
|
||||
|
||||
# enable the PWM generator
|
||||
net Enable => hm2_5i20.0.pwmgen.00.enable
|
||||
|
||||
# enable the charge pump
|
||||
net Enable => charge-pump.enable
|
||||
|
||||
# connect the charge pump signal to an output
|
||||
setp hm2_5i20.0.gpio.022.is_output TRUE
|
||||
net chargepump hm2_5i20.0.gpio.022.out => charge-pump.out
|
||||
|
||||
# Safety Relay Monitoring Contacts
|
||||
net estop-enable hm2_5i20.0.gpio.037.in => iocontrol.0.emc-enable-in
|
||||
# Run Switch
|
||||
net machine-on hm2_5i20.0.gpio.039.in_not => halui.machine.on
|
||||
|
||||
#connect limit switches to limit inputs
|
||||
net Xmax hm2_5i20.0.gpio.032.in => joint.0.pos-lim-sw-in
|
||||
net Xmin hm2_5i20.0.gpio.034.in => joint.0.neg-lim-sw-in
|
||||
net Ymax hm2_5i20.0.gpio.028.in => joint.1.pos-lim-sw-in
|
||||
net Ymin hm2_5i20.0.gpio.030.in => joint.1.neg-lim-sw-in
|
||||
net Zmax hm2_5i20.0.gpio.024.in_not => joint.2.pos-lim-sw-in
|
||||
net Zmin hm2_5i20.0.gpio.026.in_not => joint.2.neg-lim-sw-in
|
||||
|
||||
#connect positive limit signals to home inputs
|
||||
net Xmax => joint.0.home-sw-in
|
||||
net Ymax => joint.1.home-sw-in
|
||||
net Zmax => joint.2.home-sw-in
|
||||
|
||||
# Spindle Contactor Enable
|
||||
setp hm2_5i20.0.gpio.041.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.041.invert_output TRUE
|
||||
# Door Closed - Energizes spindle contactor
|
||||
net CLOSED hm2_5i20.0.gpio.029.in_not hm2_5i20.0.gpio.041.out
|
||||
|
||||
# Main Contactors - True when both contactors are energized
|
||||
net ACOK hm2_5i20.0.gpio.035.in_not
|
||||
# VFD Fault Relay - True when VFD is not faulted
|
||||
#net VFDOK hm2_5i20.0.gpio.031.in_not
|
||||
# A Axis Home - On Sieg machines there is no VFD fault signal,
|
||||
# it is used for the A axis home sensor on 4 axis machines
|
||||
#net VFDOK hm2_5i20.0.gpio.031.in_not
|
||||
net AHOME hm2_5i20.0.gpio.031.in joint.3.home-sw-in
|
||||
# Spindle Contactor - False when spindle contactor is energized
|
||||
net SOFF hm2_5i20.0.gpio.033.in halui.program.pause motion.feed-hold
|
||||
|
||||
# Axis Drive Status Signals
|
||||
# True when YAKO stepper drive is on a full step position
|
||||
# True when a Leadshine stepper drive is in the READY state
|
||||
net DRV1 hm2_5i20.0.gpio.025.in_not
|
||||
net DRV2 hm2_5i20.0.gpio.036.in_not
|
||||
net DRV3 hm2_5i20.0.gpio.027.in_not
|
||||
net DRV4 hm2_5i20.0.gpio.038.in_not
|
||||
|
||||
# Output Bits
|
||||
# KA1
|
||||
setp hm2_5i20.0.gpio.040.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.040.invert_output TRUE
|
||||
net KA1 spindle.0.reverse => hm2_5i20.0.gpio.040.out
|
||||
# KA2
|
||||
setp hm2_5i20.0.gpio.042.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.042.invert_output TRUE
|
||||
net KA2 spindle.0.on => hm2_5i20.0.gpio.042.out
|
||||
# Flood Coolant
|
||||
setp hm2_5i20.0.gpio.043.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.043.invert_output TRUE
|
||||
net M8 hm2_5i20.0.gpio.043.out => iocontrol.0.coolant-flood
|
||||
# Mist Coolant
|
||||
setp hm2_5i20.0.gpio.045.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.045.invert_output TRUE
|
||||
net M7 hm2_5i20.0.gpio.045.out => iocontrol.0.coolant-mist
|
||||
|
||||
# hook the functions to threads
|
||||
# read inputs
|
||||
addf hm2_5i20.0.read servo-thread
|
||||
# handle motion commands
|
||||
addf motion-command-handler servo-thread
|
||||
# run the motion controller
|
||||
addf motion-controller servo-thread
|
||||
# write outputs
|
||||
addf hm2_5i20.0.write servo-thread
|
||||
# toggle the charge pump
|
||||
addf charge-pump servo-thread
|
||||
|
||||
279
configs/by_machine/smithy/622leadshine_4axis.ini
Normal file
279
configs/by_machine/smithy/622leadshine_4axis.ini
Normal file
@@ -0,0 +1,279 @@
|
||||
# EMC controller parameters for Mesa 5i20 controlled 4 axis Smithy 622 Mill with Leadshine Axis Drives
|
||||
|
||||
[EMC]
|
||||
MACHINE = 4 Axis Smithy 622 Mill
|
||||
VERSION = 1.1
|
||||
DEBUG = 0x00000000
|
||||
#DEBUG = 0x7FFFFFFF
|
||||
|
||||
[DISPLAY]
|
||||
#DISPLAY = eztrol
|
||||
# CYCLE_TIME is used by eztrol
|
||||
CYCLE_TIME = .1
|
||||
DISPLAY = axis
|
||||
#DISPLAY = tklinuxcnc
|
||||
#HELP_FILE = /usr/share/doc/linuxcnc/tklinuxcnc.txt
|
||||
TKPKG = Ngcgui 1.0
|
||||
TKPKG = Ngcguittt 1.0
|
||||
# note: ngcgui_app.tcl must precede ngcgui_ttt.tcl
|
||||
NGCGUI_FONT = Helvetica -12 normal
|
||||
TTT = truetype-tracer
|
||||
TTT_PREAMBLE = in_std.ngc
|
||||
NGCGUI_PREAMBLE = in_std.ngc
|
||||
NGCGUI_POSTAMBLE = bye.ngc
|
||||
NGCGUI_SUBFILE = backlash.ngc
|
||||
NGCGUI_SUBFILE = hole_circle.ngc
|
||||
NGCGUI_SUBFILE = helix.ngc
|
||||
NGCGUI_SUBFILE = helix_rtheta.ngc
|
||||
NGCGUI_SUBFILE = slot.ngc
|
||||
NGCGUI_SUBFILE = simp.ngc
|
||||
NGCGUI_SUBFILE = xyz.ngc
|
||||
NGCGUI_SUBFILE = iquad.ngc
|
||||
NGCGUI_SUBFILE = oquad.ngc
|
||||
NGCGUI_SUBFILE = db25.ngc
|
||||
NGCGUI_SUBFILE = ihex.ngc
|
||||
NGCGUI_SUBFILE = ohex.ngc
|
||||
NGCGUI_SUBFILE = gosper.ngc
|
||||
NGCGUI_SUBFILE = ""
|
||||
#NGCGUI_SUBFILE = "" use when imageframe is specified if
|
||||
# opening other files is required
|
||||
# images will be put in a toplevel window
|
||||
NGCGUI_OPTIONS =
|
||||
#NGCGUI_OPTIONS = opt1 opt2 ...
|
||||
# opt items:
|
||||
# nonew -- disallow making a new tab page
|
||||
# noremove -- disallow removing any tab page
|
||||
# noauto -- no autosend (makeFile, then manually send)
|
||||
# noiframe -- no internal image, image on separate toplevel
|
||||
POSITION_OFFSET = RELATIVE
|
||||
POSITION_FEEDBACK = ACTUAL
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MIN_SPINDLE_OVERRIDE = 0.2
|
||||
MAX_SPINDLE_OVERRIDE = 1.5
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in
|
||||
PROGRAM_PREFIX = ../../nc_files/
|
||||
#EDITOR = geany
|
||||
TOOL_EDITOR = tooledit
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
MAX_LINEAR_VELOCITY = 3.0
|
||||
DEFAULT_ANGULAR_VELOCITY = 12.0
|
||||
MAX_ANGULAR_VELOCITY = 300.0
|
||||
|
||||
[FILTER]
|
||||
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
|
||||
PROGRAM_EXTENSION = .py Python Script
|
||||
png = image-to-gcode
|
||||
gif = image-to-gcode
|
||||
jpg = image-to-gcode
|
||||
py = python3
|
||||
|
||||
[RS274NGC]
|
||||
PARAMETER_FILE = emc.var
|
||||
SUBROUTINE_PATH = ../../nc_files/ngcgui_lib:../../nc_files/ngcgui_lib/utilitysubs
|
||||
USER_M_PATH = ../../nc_files/ngcgui_lib/mfiles
|
||||
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
SHMEM_KEY = 111
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 1000000
|
||||
SERVO_PERIOD = 1000000
|
||||
TRAJ_PERIOD = 1000000
|
||||
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
[HAL]
|
||||
HALUI = halui
|
||||
HALFILE = 622leadshine_4axis.hal
|
||||
#HALFILE = naiky.hal
|
||||
EZTROL_HALFILE = 5i20eztrol.hal
|
||||
HALFILE = axis_manualtoolchange.hal
|
||||
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z A
|
||||
LINEAR_UNITS = inch
|
||||
ANGULAR_UNITS = degree
|
||||
MAX_LINEAR_VELOCITY = 3.0
|
||||
MAX_LINEAR_ACCELERATION = 20.0
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
|
||||
[EMCIO]
|
||||
TOOL_TABLE = mill.tbl
|
||||
#TOOL_CHANGE_POSITION = 0 0 2
|
||||
#TOOL_CHANGE_WITH_SPINDLE_ON = 1
|
||||
TOOL_CHANGE_QUILL_UP = 1
|
||||
#TOOL_CHANGE_AT_G30 = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins
|
||||
JOINTS = 4
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -11.6
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 20.0
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 20.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 400k Steps/S = 377"/min
|
||||
SCALE = 63500
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -11.6
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 2
|
||||
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -5.3
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 20.0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 20.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 400k Steps/S = 472"/min
|
||||
SCALE = 63500
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -5.3
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -10.2
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 20.0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 3.0
|
||||
MAX_ACCELERATION = 20.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 5mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 400k Steps/S = 377"/min
|
||||
SCALE = 63500
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -10.2
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[AXIS_A]
|
||||
MIN_LIMIT = -360000.0
|
||||
MAX_LIMIT = 360000.0
|
||||
MAX_VELOCITY = 300.0
|
||||
MAX_ACCELERATION = 1000.0
|
||||
|
||||
[JOINT_3]
|
||||
TYPE = ANGULAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 300.0
|
||||
MAX_ACCELERATION = 1000.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Drive Ratio = 40:360 = 1:9
|
||||
# Steps/Rev = 200 * 50uSteps = 10000
|
||||
# Vel at 400k Steps/S = 21600 deg/min
|
||||
SCALE = -1111.11111111111111111111111111
|
||||
|
||||
# If [TRAJ]ANGULAR_UNITS = grad
|
||||
#SCALE = -1000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -360000.0
|
||||
MAX_LIMIT = 360000.0
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 36.0
|
||||
HOME_LATCH_VEL = 3.6
|
||||
HOME_FINAL_VEL = 36.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 3
|
||||
|
||||
[EZTROL]
|
||||
QTEMC_PLUGIN = /usr/share/eztrol/lib/libqtemc-2.4.6.so
|
||||
QTEMCHAL_PLUGIN = /usr/share/eztrol/lib/libqtemchal-2.4.6.so
|
||||
EZTROLGUI = /usr/share/eztrol/eztrolgui/libguimill2.so
|
||||
MAX_SPINDLE_RPM = 5000
|
||||
DIR_PLUGIN = /usr/share/eztrol/eztrolplugins
|
||||
PLUGIN = libeztrol_wizard_plugin.so
|
||||
PLUGIN = libeztrol_webwizard_plugin.so
|
||||
# disabling settings gcode editor will benefit systems with small memory size
|
||||
ENABLE_SETTINGS_EDITOR = true
|
||||
# disable OpenGL 3D Preview
|
||||
ENABLE_3D_PREVIEW = true
|
||||
# set to Full Screen TRUE/FALSE
|
||||
FULLSCREEN = false
|
||||
# Settings Tab GCode Editor Syntax Highlight
|
||||
# color guide - http://www.w3.org/TR/SVG/types.html#ColorKeywords
|
||||
AXIS_COLOR = magenta
|
||||
LINENUMBER_COLOR = rosybrown
|
||||
GM_COLOR = blue
|
||||
STFDRLPQH_COLOR = red
|
||||
O_COLOR = blue
|
||||
RESERVEDWORDS_COLOR = darkviolet
|
||||
VARIABLE_COLOR = olive
|
||||
COMMENT_COLOR = seagreen
|
||||
GUI_STYLESHEET = eztrolstyle1.qss
|
||||
|
||||
[EZTROLWIZARDS]
|
||||
WIZARD_DIRECTORY = /usr/share/eztrol/eztrolwizards
|
||||
SAVE_DIRECTORY = ../../nc_files
|
||||
|
||||
[EZTROLWEBWIZARD]
|
||||
URL = http://www.mattshaver.com/ecmacam/ecmacam.htm
|
||||
195
configs/by_machine/smithy/8i20.xml
Normal file
195
configs/by_machine/smithy/8i20.xml
Normal file
@@ -0,0 +1,195 @@
|
||||
<pyvcp>
|
||||
<hbox>
|
||||
<label>
|
||||
<text>"Commanded Velocity:"</text>
|
||||
</label>
|
||||
<number>
|
||||
<halpin>"command"</halpin>
|
||||
<format>"+4.0f"</format>
|
||||
</number>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>
|
||||
<text>"Feedback Velocity:"</text>
|
||||
</label>
|
||||
<number>
|
||||
<halpin>"vel"</halpin>
|
||||
<format>"+4.0f"</format>
|
||||
</number>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<led>
|
||||
<halpin>"enabled"</halpin>
|
||||
</led>
|
||||
<label>
|
||||
<text>"Machine On"</text>
|
||||
</label>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<led>
|
||||
<halpin>"done"</halpin>
|
||||
</led>
|
||||
<label>
|
||||
<text>"Init Done"</text>
|
||||
</label>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>
|
||||
<text>"PID Out/BLDC In:"</text>
|
||||
</label>
|
||||
<number>
|
||||
<halpin>"val"</halpin>
|
||||
<format>"+4.2f"</format>
|
||||
</number>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>
|
||||
<text>"Encoder Count:"</text>
|
||||
</label>
|
||||
<s32>
|
||||
<halpin>"count"</halpin>
|
||||
<format>"6d"</format>
|
||||
</s32>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>
|
||||
<text>"Rotor Angle:"</text>
|
||||
</label>
|
||||
<number>
|
||||
<halpin>"rotor_angle"</halpin>
|
||||
<format>"+4.4f"</format>
|
||||
</number>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>
|
||||
<text>"Phase Angle:"</text>
|
||||
</label>
|
||||
<number>
|
||||
<halpin>"phase_angle"</halpin>
|
||||
<format>"+4.4f"</format>
|
||||
</number>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>
|
||||
<text>"Current:"</text>
|
||||
</label>
|
||||
<number>
|
||||
<halpin>"current"</halpin>
|
||||
<format>"+4.4f"</format>
|
||||
</number>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>
|
||||
<text>"A"</text>
|
||||
</label>
|
||||
<led>
|
||||
<halpin>"a"</halpin>
|
||||
</led>
|
||||
<label>
|
||||
<text>"B"</text>
|
||||
</label>
|
||||
<led>
|
||||
<halpin>"b"</halpin>
|
||||
</led>
|
||||
<label>
|
||||
<text>"C"</text>
|
||||
</label>
|
||||
<led>
|
||||
<halpin>"c"</halpin>
|
||||
</led>
|
||||
<label>
|
||||
<text>"Index Enable"</text>
|
||||
</label>
|
||||
<led>
|
||||
<halpin>"ie_led"</halpin>
|
||||
</led>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>
|
||||
<text>"8i20 Comms:"</text>
|
||||
</label>
|
||||
<u32>
|
||||
<halpin>"comms"</halpin>
|
||||
<format>"8x"</format>
|
||||
</u32>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>
|
||||
<text>"8i20 Fault:"</text>
|
||||
</label>
|
||||
<u32>
|
||||
<halpin>"fault"</halpin>
|
||||
<format>"8x"</format>
|
||||
</u32>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>
|
||||
<text>"8i20 Status:"</text>
|
||||
</label>
|
||||
<u32>
|
||||
<halpin>"status"</halpin>
|
||||
<format>"8x"</format>
|
||||
</u32>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>
|
||||
<text>"8i20 Temp:"</text>
|
||||
</label>
|
||||
<number>
|
||||
<halpin>"temp"</halpin>
|
||||
<format>"+2.0f"</format>
|
||||
</number>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>
|
||||
<text>"8i20 Volts:"</text>
|
||||
</label>
|
||||
<number>
|
||||
<halpin>"voltage"</halpin>
|
||||
<format>"+3.2f"</format>
|
||||
</number>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>
|
||||
<text>"SS Fault Count:"</text>
|
||||
</label>
|
||||
<u32>
|
||||
<halpin>"faults"</halpin>
|
||||
<format>"6d"</format>
|
||||
</u32>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>
|
||||
<text>"SS Port0 State:"</text>
|
||||
</label>
|
||||
<u32>
|
||||
<halpin>"port_state"</halpin>
|
||||
<format>"8x"</format>
|
||||
</u32>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>
|
||||
<text>"Hall Error"</text>
|
||||
</label>
|
||||
<led>
|
||||
<halpin>"hall-error"</halpin>
|
||||
</led>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>
|
||||
<text>"Spindle At Speed"</text>
|
||||
</label>
|
||||
<led>
|
||||
<halpin>"at-speed"</halpin>
|
||||
</led>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>
|
||||
<text>"Spindle Stalled"</text>
|
||||
</label>
|
||||
<led>
|
||||
<halpin>"stall"</halpin>
|
||||
</led>
|
||||
</hbox>
|
||||
</pyvcp>
|
||||
|
||||
32
configs/by_machine/smithy/8i20postgui.hal
Normal file
32
configs/by_machine/smithy/8i20postgui.hal
Normal file
@@ -0,0 +1,32 @@
|
||||
net srpm pyvcp.command
|
||||
loadrt scale count=1
|
||||
addf scale.0 servo-thread
|
||||
setp scale.0.gain 60
|
||||
net fb scale.0.in
|
||||
net svel pyvcp.vel scale.0.out
|
||||
net machine-on pyvcp.enabled
|
||||
net init-done pyvcp.done
|
||||
|
||||
net pid-out pyvcp.val
|
||||
net count hm2_5i20.0.encoder.00.count pyvcp.count
|
||||
net rotor_angle pyvcp.rotor_angle
|
||||
net phase_angle bldc.0.phase-angle pyvcp.phase_angle
|
||||
|
||||
net current pyvcp.current
|
||||
net sa pyvcp.a
|
||||
net sb pyvcp.b
|
||||
net sc pyvcp.c
|
||||
net Sidx pyvcp.ie_led
|
||||
# 8i20 Pins:
|
||||
net comms hm2_5i20.0.8i20.0.0.comms pyvcp.comms
|
||||
net fault hm2_5i20.0.8i20.0.0.fault pyvcp.fault
|
||||
net status hm2_5i20.0.8i20.0.0.status pyvcp.status
|
||||
net temp hm2_5i20.0.8i20.0.0.temp pyvcp.temp
|
||||
net voltage hm2_5i20.0.8i20.0.0.voltage pyvcp.voltage
|
||||
# SSerial Pins:
|
||||
net fault-count hm2_5i20.0.sserial.port-0.fault-count pyvcp.faults
|
||||
net port_state hm2_5i20.0.sserial.port-0.port_state pyvcp.port_state
|
||||
net herr bldc.0.hall-error pyvcp.hall-error
|
||||
net at-speed pyvcp.at-speed
|
||||
net stall pyvcp.stall
|
||||
|
||||
309
configs/by_machine/smithy/924.clp
Normal file
309
configs/by_machine/smithy/924.clp
Normal file
@@ -0,0 +1,309 @@
|
||||
_FILES_CLASSICLADDER
|
||||
_FILE-monostables.csv
|
||||
1,1
|
||||
1,0
|
||||
1,0
|
||||
1,0
|
||||
1,0
|
||||
1,0
|
||||
1,0
|
||||
1,0
|
||||
1,0
|
||||
1,0
|
||||
_/FILE-monostables.csv
|
||||
_FILE-general.txt
|
||||
PERIODIC_REFRESH=1
|
||||
SIZE_NBR_RUNGS=100
|
||||
SIZE_NBR_BITS=20
|
||||
SIZE_NBR_WORDS=20
|
||||
SIZE_NBR_TIMERS=10
|
||||
SIZE_NBR_MONOSTABLES=10
|
||||
SIZE_NBR_COUNTERS=10
|
||||
SIZE_NBR_TIMERS_IEC=10
|
||||
SIZE_NBR_PHYS_INPUTS=15
|
||||
SIZE_NBR_PHYS_OUTPUTS=15
|
||||
SIZE_NBR_ARITHM_EXPR=100
|
||||
SIZE_NBR_SECTIONS=10
|
||||
SIZE_NBR_SYMBOLS=160
|
||||
_/FILE-general.txt
|
||||
_FILE-rung_1.csv
|
||||
#VER=2.0
|
||||
#LABEL=
|
||||
#COMMENT=
|
||||
#PREVRUNG=3
|
||||
#NEXTRUNG=-1
|
||||
9-0-0/0 , 1-0-50/0 , 9-0-0/0 , 2-0-0/0 , 9-0-0/0 , 2-0-0/3 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-60/1
|
||||
1-0-50/0 , 9-0-0/0 , 1-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-60/0
|
||||
9-0-0/0 , 4-0-60/1 , 9-0-0/0 , 9-1-0/0 , 99-0-0/0 , 11-0-60/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-60/2
|
||||
1-0-50/0 , 9-0-0/0 , 1-0-0/3 , 0-1-0/0 , 99-0-0/0 , 99-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
|
||||
9-0-0/0 , 4-0-60/2 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 52-0-60/0
|
||||
9-0-0/0 , 3-0-50/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 53-0-60/0
|
||||
_/FILE-rung_1.csv
|
||||
_FILE-sections.csv
|
||||
#VER=1.0
|
||||
#NAME000=Prog1
|
||||
000,0,-1,2,1,0
|
||||
_/FILE-sections.csv
|
||||
_FILE-modbusioconf.csv
|
||||
#VER=1.0
|
||||
_/FILE-modbusioconf.csv
|
||||
_FILE-arithmetic_expressions.csv
|
||||
#VER=2.0
|
||||
0000,(@270/0@-1)&3=@200/1@
|
||||
0001,@270/0@=0
|
||||
0004,@200/1@=1
|
||||
0005,@200/1@=0
|
||||
0006,@200/1@=2
|
||||
0007,@200/1@=3
|
||||
_/FILE-arithmetic_expressions.csv
|
||||
_FILE-com_params.txt
|
||||
MODBUS_MASTER_SERIAL_PORT=
|
||||
MODBUS_MASTER_SERIAL_SPEED=9600
|
||||
MODBUS_MASTER_SERIAL_DATABITS=8
|
||||
MODBUS_MASTER_SERIAL_STOPBITS=1
|
||||
MODBUS_MASTER_SERIAL_PARITY=0
|
||||
MODBUS_ELEMENT_OFFSET=0
|
||||
MODBUS_MASTER_SERIAL_USE_RTS_TO_SEND=0
|
||||
MODBUS_MASTER_TIME_INTER_FRAME=100
|
||||
MODBUS_MASTER_TIME_OUT_RECEIPT=500
|
||||
MODBUS_MASTER_TIME_AFTER_TRANSMIT=0
|
||||
MODBUS_DEBUG_LEVEL=0
|
||||
MODBUS_MAP_COIL_READ=0
|
||||
MODBUS_MAP_COIL_WRITE=0
|
||||
MODBUS_MAP_INPUT=0
|
||||
MODBUS_MAP_HOLDING=0
|
||||
MODBUS_MAP_REGISTER_READ=0
|
||||
MODBUS_MAP_REGISTER_WRITE=0
|
||||
_/FILE-com_params.txt
|
||||
_FILE-counters.csv
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
_/FILE-counters.csv
|
||||
_FILE-timers.csv
|
||||
1,0
|
||||
1,0
|
||||
1,0
|
||||
1,0
|
||||
1,0
|
||||
1,0
|
||||
1,0
|
||||
1,0
|
||||
1,0
|
||||
1,0
|
||||
_/FILE-timers.csv
|
||||
_FILE-sequential.csv
|
||||
#VER=1.0
|
||||
_/FILE-sequential.csv
|
||||
_FILE-ioconf.csv
|
||||
#VER=1.0
|
||||
_/FILE-ioconf.csv
|
||||
_FILE-rung_3.csv
|
||||
#VER=2.0
|
||||
#LABEL=
|
||||
#COMMENT=
|
||||
#PREVRUNG=2
|
||||
#NEXTRUNG=1
|
||||
9-0-0/0 , 1-0-50/1 , 1-0-50/2 , 1-0-50/3 , 1-0-50/4 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-0/2
|
||||
9-0-0/0 , 99-0-0/0 , 99-0-0/0 , 20-0-0/1 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-0/3
|
||||
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
|
||||
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
|
||||
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
|
||||
1-0-50/5 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-60/3
|
||||
_/FILE-rung_3.csv
|
||||
_FILE-timers_iec.csv
|
||||
1,15,0
|
||||
1,0,0
|
||||
1,0,0
|
||||
1,0,0
|
||||
1,0,0
|
||||
1,0,0
|
||||
1,0,0
|
||||
1,0,0
|
||||
1,0,0
|
||||
1,0,0
|
||||
_/FILE-timers_iec.csv
|
||||
_FILE-symbols.csv
|
||||
#VER=1.0
|
||||
%Q1,TPFWD,
|
||||
%Q2,TPREV,
|
||||
%Q0,TCACK,
|
||||
%B0,TPINPOS,
|
||||
%I0,TCREQ,
|
||||
%I1,T1,
|
||||
%I2,T2,
|
||||
%I3,T3,
|
||||
%I4,T4,
|
||||
%IW0,PREPNO,
|
||||
%W1,TPOS,
|
||||
%B1,TPUP,
|
||||
%B2,TPROT,
|
||||
%B3,T0,
|
||||
%I5,TP,
|
||||
%I6,%I6,
|
||||
%I7,%I7,
|
||||
%I8,%I8,
|
||||
%I9,%I9,
|
||||
%I10,%I10,
|
||||
%I11,%I11,
|
||||
%I12,%I12,
|
||||
%I13,%I13,
|
||||
%I14,%I14,
|
||||
%Q3,TQ,
|
||||
%Q4,%Q4,
|
||||
%Q5,%Q5,
|
||||
%Q6,%Q6,
|
||||
%Q7,%Q7,
|
||||
%Q8,%Q8,
|
||||
%Q9,%Q9,
|
||||
%Q10,%Q10,
|
||||
%Q11,%Q11,
|
||||
%Q12,%Q12,
|
||||
%Q13,%Q13,
|
||||
%Q14,%Q14,
|
||||
%B4,%B4,
|
||||
%B5,%B5,
|
||||
%B6,%B6,
|
||||
%B7,%B7,
|
||||
%B8,%B8,
|
||||
%B9,%B9,
|
||||
%B10,%B10,
|
||||
%B11,%B11,
|
||||
%B12,%B12,
|
||||
%B13,%B13,
|
||||
%B14,%B14,
|
||||
%B15,%B15,
|
||||
%B16,%B16,
|
||||
%B17,%B17,
|
||||
%B18,%B18,
|
||||
%B19,%B19,
|
||||
%W0,%W0,
|
||||
%W2,%W2,
|
||||
%W3,%W3,
|
||||
%W4,%W4,
|
||||
%W5,%W5,
|
||||
%W6,%W6,
|
||||
%W7,%W7,
|
||||
%W8,%W8,
|
||||
%W9,%W9,
|
||||
%W10,%W10,
|
||||
%W11,%W11,
|
||||
%W12,%W12,
|
||||
%W13,%W13,
|
||||
%W14,%W14,
|
||||
%W15,%W15,
|
||||
%W16,%W16,
|
||||
%W17,%W17,
|
||||
%W18,%W18,
|
||||
%W19,%W19,
|
||||
%IW1,%IW1,
|
||||
%IW2,%IW2,
|
||||
%IW3,%IW3,
|
||||
%IW4,%IW4,
|
||||
%IW5,%IW5,
|
||||
%IW6,%IW6,
|
||||
%IW7,%IW7,
|
||||
%IW8,%IW8,
|
||||
%IW9,%IW9,
|
||||
%QW0,%QW0,
|
||||
%QW1,%QW1,
|
||||
%QW2,%QW2,
|
||||
%QW3,%QW3,
|
||||
%QW4,%QW4,
|
||||
%QW5,%QW5,
|
||||
%QW6,%QW6,
|
||||
%QW7,%QW7,
|
||||
%QW8,%QW8,
|
||||
%QW9,%QW9,
|
||||
%IF0,%IF0,
|
||||
%IF1,%IF1,
|
||||
%IF2,%IF2,
|
||||
%IF3,%IF3,
|
||||
%IF4,%IF4,
|
||||
%IF5,%IF5,
|
||||
%IF6,%IF6,
|
||||
%IF7,%IF7,
|
||||
%IF8,%IF8,
|
||||
%IF9,%IF9,
|
||||
%QF0,%QF0,
|
||||
%QF1,%QF1,
|
||||
%QF2,%QF2,
|
||||
%QF3,%QF3,
|
||||
%QF4,%QF4,
|
||||
%QF5,%QF5,
|
||||
%QF6,%QF6,
|
||||
%QF7,%QF7,
|
||||
%QF8,%QF8,
|
||||
%QF9,%QF9,
|
||||
%T0,%T0,Old Timer
|
||||
%T1,%T1,Old Timer
|
||||
%T2,%T2,Old Timer
|
||||
%T3,%T3,Old Timer
|
||||
%T4,%T4,Old Timer
|
||||
%T5,%T5,Old Timer
|
||||
%T6,%T6,Old Timer
|
||||
%T7,%T7,Old Timer
|
||||
%T8,%T8,Old Timer
|
||||
%T9,%T9,Old Timer
|
||||
%TM0,%TM0,New Timer
|
||||
%TM1,%TM1,New Timer
|
||||
%TM2,%TM2,New Timer
|
||||
%TM3,%TM3,New Timer
|
||||
%TM4,%TM4,New Timer
|
||||
%TM5,%TM5,New Timer
|
||||
%TM6,%TM6,New Timer
|
||||
%TM7,%TM7,New Timer
|
||||
%TM8,%TM8,New Timer
|
||||
%TM9,%TM9,New Timer
|
||||
%M0,%M0,One-shot
|
||||
%M1,%M1,One-shot
|
||||
%M2,%M2,One-shot
|
||||
%M3,%M3,One-shot
|
||||
%M4,%M4,One-shot
|
||||
%M5,%M5,One-shot
|
||||
%M6,%M6,One-shot
|
||||
%M7,%M7,One-shot
|
||||
%M8,%M8,One-shot
|
||||
%M9,%M9,One-shot
|
||||
%C0,%C0,Counter
|
||||
%C1,%C1,Counter
|
||||
%C2,%C2,Counter
|
||||
%C3,%C3,Counter
|
||||
%C4,%C4,Counter
|
||||
%C5,%C5,Counter
|
||||
%C6,%C6,Counter
|
||||
%C7,%C7,Counter
|
||||
%C8,%C8,Counter
|
||||
%C9,%C9,Counter
|
||||
%E0,%E0,Error Flag Bit
|
||||
%E1,%E1,Error Flag Bit
|
||||
%E2,%E2,Error Flag Bit
|
||||
%E3,%E3,Error Flag Bit
|
||||
%E4,%E4,Error Flag Bit
|
||||
%E5,%E5,Error Flag Bit
|
||||
%E6,%E6,Error Flag Bit
|
||||
%E7,%E7,Error Flag Bit
|
||||
%E8,%E8,Error Flag Bit
|
||||
%E9,%E9,Error Flag Bit
|
||||
_/FILE-symbols.csv
|
||||
_FILE-rung_2.csv
|
||||
#VER=2.0
|
||||
#LABEL=
|
||||
#COMMENT=
|
||||
#PREVRUNG=-1
|
||||
#NEXTRUNG=3
|
||||
9-0-0/0 , 2-0-50/1 , 1-0-50/2 , 1-0-50/3 , 1-0-50/4 , 2-0-0/3 , 9-0-0/0 , 99-0-0/0 , 99-0-0/0 , 60-0-0/5
|
||||
9-0-0/0 , 2-0-50/2 , 1-0-50/1 , 1-0-50/3 , 1-0-50/4 , 2-0-0/3 , 9-0-0/0 , 99-0-0/0 , 99-0-0/0 , 60-0-0/4
|
||||
9-0-0/0 , 2-0-50/3 , 1-0-50/1 , 1-0-50/2 , 1-0-50/4 , 2-0-0/3 , 9-0-0/0 , 99-0-0/0 , 99-0-0/0 , 60-0-0/6
|
||||
9-0-0/0 , 2-0-50/4 , 1-0-50/1 , 1-0-50/2 , 1-0-50/3 , 2-0-0/3 , 9-0-0/0 , 99-0-0/0 , 99-0-0/0 , 60-0-0/7
|
||||
9-0-0/0 , 99-0-0/0 , 99-0-0/0 , 20-0-0/0 , 9-0-0/0 , 2-0-0/2 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-0/0
|
||||
9-0-0/0 , 9-0-50/0 , 1-0-0/3 , 9-0-0/0 , 0-1-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-60/1
|
||||
_/FILE-rung_2.csv
|
||||
_/FILES_CLASSICLADDER
|
||||
185
configs/by_machine/smithy/924.hal
Normal file
185
configs/by_machine/smithy/924.hal
Normal file
@@ -0,0 +1,185 @@
|
||||
# 5i20 config file for Smithy 924 Lathe
|
||||
|
||||
# load the hostmot2 driver, this doesn't do anything by itself,
|
||||
# it just waits for low-level drivers to register boards
|
||||
loadrt hostmot2 debug_idrom=1 debug_module_descriptors=1 debug_pin_descriptors=1 debug_modules=1
|
||||
|
||||
# load the low-level driver for the board
|
||||
# this will load the board's firmware and register it with the hostmot2
|
||||
# driver loaded above, and it'll show up in HAL
|
||||
loadrt hm2_pci config="firmware=hm2/5i20/SVST2_4_7I47.BIT num_encoders=3 num_pwmgens=1 num_stepgens=2"
|
||||
# set up the watchdog
|
||||
#setp hm2_5i20.0.watchdog.timeout_ns 10000000
|
||||
|
||||
# load kinematics
|
||||
loadrt [KINS]KINEMATICS
|
||||
|
||||
# load motion controller, get name and thread periods from ini file
|
||||
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD traj_period_nsec=[EMCMOT]TRAJ_PERIOD key=[EMCMOT]SHMEM_KEY num_joints=[KINS]JOINTS
|
||||
|
||||
# classicladder for machine logic
|
||||
# (load the realtime portion)
|
||||
loadrt classicladder_rt
|
||||
# invoke the user part of CL to silently load the program
|
||||
loadusr -w classicladder --nogui 924.clp
|
||||
|
||||
# load charge pump
|
||||
loadrt charge_pump
|
||||
|
||||
# load the spindle speed lowpass filter
|
||||
loadrt lowpass
|
||||
|
||||
#the Enable signal is used to permanently enable things
|
||||
newsig Enable bit
|
||||
sets Enable TRUE
|
||||
|
||||
#configure the spindle encoder
|
||||
setp hm2_5i20.0.encoder.00.scale 4096
|
||||
net Spos hm2_5i20.0.encoder.00.position spindle.0.revs
|
||||
net Svel hm2_5i20.0.encoder.00.velocity spindle.0.speed-in
|
||||
net Sidx hm2_5i20.0.encoder.00.index-enable => spindle.0.index-enable
|
||||
|
||||
#configure the spindle speed lowpass filter & PWM generator
|
||||
net Scmd spindle.0.speed-out => lowpass.0.in
|
||||
net Sflt lowpass.0.out => hm2_5i20.0.pwmgen.00.value
|
||||
#early production machines
|
||||
setp lowpass.0.gain 0.0001
|
||||
#later production machines
|
||||
#setp lowpass.0.gain 1.0
|
||||
setp hm2_5i20.0.pwmgen.00.scale 3000
|
||||
setp hm2_5i20.0.pwmgen.00.output-type 1
|
||||
setp hm2_5i20.0.pwmgen.pwm_frequency 100
|
||||
|
||||
# invert the step pulse polarity
|
||||
setp hm2_5i20.0.gpio.000.invert_output TRUE
|
||||
setp hm2_5i20.0.gpio.002.invert_output TRUE
|
||||
|
||||
# configure the stepgen parameters
|
||||
setp hm2_5i20.0.stepgen.00.dirsetup 2500
|
||||
setp hm2_5i20.0.stepgen.00.dirhold 2500
|
||||
setp hm2_5i20.0.stepgen.00.steplen 2500
|
||||
setp hm2_5i20.0.stepgen.00.stepspace 2500
|
||||
setp hm2_5i20.0.stepgen.00.position-scale [JOINT_0]SCALE
|
||||
setp hm2_5i20.0.stepgen.00.maxaccel [JOINT_0]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.00.maxvel [JOINT_0]STEPGEN_MAXVEL
|
||||
setp hm2_5i20.0.stepgen.01.dirsetup 2500
|
||||
setp hm2_5i20.0.stepgen.01.dirhold 2500
|
||||
setp hm2_5i20.0.stepgen.01.steplen 2500
|
||||
setp hm2_5i20.0.stepgen.01.stepspace 2500
|
||||
setp hm2_5i20.0.stepgen.01.position-scale [JOINT_2]SCALE
|
||||
setp hm2_5i20.0.stepgen.01.maxaccel [JOINT_2]STEPGEN_MAXACCEL
|
||||
setp hm2_5i20.0.stepgen.01.maxvel [JOINT_2]STEPGEN_MAXVEL
|
||||
|
||||
# connect position commands from motion module to step generator
|
||||
net Xpos-cmd joint.0.motor-pos-cmd => hm2_5i20.0.stepgen.00.position-cmd
|
||||
net Zpos-cmd joint.2.motor-pos-cmd => hm2_5i20.0.stepgen.01.position-cmd
|
||||
|
||||
# connect position feedback from step generators to motion module
|
||||
net Xpos-fb hm2_5i20.0.stepgen.00.position-fb => joint.0.motor-pos-fb
|
||||
net Zpos-fb hm2_5i20.0.stepgen.01.position-fb => joint.2.motor-pos-fb
|
||||
|
||||
# connect enable signals for step generators
|
||||
net Xen joint.0.amp-enable-out => hm2_5i20.0.stepgen.00.enable
|
||||
net Zen joint.2.amp-enable-out => hm2_5i20.0.stepgen.01.enable
|
||||
|
||||
# enable velocity mode jogging
|
||||
net Enable joint.0.jog-vel-mode
|
||||
net Enable joint.2.jog-vel-mode
|
||||
|
||||
# enable the PWM generator
|
||||
net Enable => hm2_5i20.0.pwmgen.00.enable
|
||||
|
||||
# enable the charge pump
|
||||
net Enable => charge-pump.enable
|
||||
|
||||
# connect the charge pump signal to an output
|
||||
setp hm2_5i20.0.gpio.022.is_output TRUE
|
||||
net chargepump hm2_5i20.0.gpio.022.out => charge-pump.out
|
||||
|
||||
# Safety Relay Monitoring Contacts
|
||||
net estop-enable hm2_5i20.0.gpio.037.in => iocontrol.0.emc-enable-in
|
||||
# Run Switch
|
||||
net machine-on hm2_5i20.0.gpio.039.in_not => halui.machine.on
|
||||
|
||||
#connect limit switches to limit inputs
|
||||
net Xmax hm2_5i20.0.gpio.024.in => joint.0.pos-lim-sw-in
|
||||
net Xmin hm2_5i20.0.gpio.026.in => joint.0.neg-lim-sw-in
|
||||
net Zmax hm2_5i20.0.gpio.028.in => joint.2.pos-lim-sw-in
|
||||
net Zmin hm2_5i20.0.gpio.030.in => joint.2.neg-lim-sw-in
|
||||
|
||||
#connect positive limit signals to home inputs
|
||||
net Xmax => joint.0.home-sw-in
|
||||
net Zmax => joint.2.home-sw-in
|
||||
|
||||
# Main Contactors - True when both contactors are energized
|
||||
net ACOK hm2_5i20.0.gpio.035.in_not
|
||||
# VFD Fault Relay - True when VFD is not faulted
|
||||
#net VFDOK hm2_5i20.0.gpio.031.in_not
|
||||
# A Axis Home - On Sieg machines there is no VFD fault signal,
|
||||
# it is used for the A axis home sensor on 4 axis machines
|
||||
#net VFDOK hm2_5i20.0.gpio.031.in_not
|
||||
#net AHOME hm2_5i20.0.gpio.031.in joint.3.home-sw-in
|
||||
# Spindle Contactor - False when spindle contactor is energized
|
||||
net SOFF hm2_5i20.0.gpio.033.in halui.program.pause motion.feed-hold
|
||||
|
||||
#Tool Post Control Inputs
|
||||
net PrepNo iocontrol.0.tool-prep-number => classicladder.0.s32in-00
|
||||
net TC iocontrol.0.tool-change => classicladder.0.in-00
|
||||
net T1 hm2_5i20.0.gpio.032.in => classicladder.0.in-01
|
||||
net T2 hm2_5i20.0.gpio.034.in => classicladder.0.in-02
|
||||
net T3 hm2_5i20.0.gpio.036.in => classicladder.0.in-03
|
||||
net T4 hm2_5i20.0.gpio.038.in => classicladder.0.in-04
|
||||
net TP iocontrol.0.tool-prepare => classicladder.0.in-05
|
||||
|
||||
#Door Sensor
|
||||
net SS hm2_5i20.0.gpio.029.in
|
||||
|
||||
# Output Bits
|
||||
# KA1
|
||||
setp hm2_5i20.0.gpio.040.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.040.invert_output TRUE
|
||||
net KA1 spindle.0.reverse => hm2_5i20.0.gpio.040.out
|
||||
# KA2
|
||||
setp hm2_5i20.0.gpio.042.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.042.invert_output TRUE
|
||||
net KA2 spindle.0.on => hm2_5i20.0.gpio.042.out
|
||||
#Tool Post Control Outputs
|
||||
net TD classicladder.0.out-00 => iocontrol.0.tool-changed
|
||||
net TQ classicladder.0.out-03 => iocontrol.0.tool-prepared
|
||||
#KA3
|
||||
setp hm2_5i20.0.gpio.044.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.044.invert_output TRUE
|
||||
net KA3 hm2_5i20.0.gpio.044.out => classicladder.0.out-01
|
||||
#KA4
|
||||
setp hm2_5i20.0.gpio.046.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.046.invert_output TRUE
|
||||
net KA4 hm2_5i20.0.gpio.046.out => classicladder.0.out-02
|
||||
#Spindle Enable
|
||||
setp hm2_5i20.0.gpio.041.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.041.invert_output TRUE
|
||||
net Enable => hm2_5i20.0.gpio.041.out
|
||||
# Flood Coolant
|
||||
setp hm2_5i20.0.gpio.043.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.043.invert_output TRUE
|
||||
net M8 hm2_5i20.0.gpio.043.out => iocontrol.0.coolant-flood
|
||||
# Mist Coolant
|
||||
setp hm2_5i20.0.gpio.045.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.045.invert_output TRUE
|
||||
net M7 hm2_5i20.0.gpio.045.out => iocontrol.0.coolant-mist
|
||||
|
||||
# hook the functions to threads
|
||||
# read inputs
|
||||
addf hm2_5i20.0.read servo-thread
|
||||
# handle motion commands
|
||||
addf motion-command-handler servo-thread
|
||||
# run the motion controller
|
||||
addf motion-controller servo-thread
|
||||
# refresh classicladder
|
||||
addf classicladder.0.refresh servo-thread
|
||||
# run the spindle speed lowpass filter
|
||||
addf lowpass.0 servo-thread
|
||||
# write outputs
|
||||
addf hm2_5i20.0.write servo-thread
|
||||
# toggle the charge pump
|
||||
addf charge-pump servo-thread
|
||||
|
||||
163
configs/by_machine/smithy/924.ini
Normal file
163
configs/by_machine/smithy/924.ini
Normal file
@@ -0,0 +1,163 @@
|
||||
# EMC controller parameters for Mesa 5i20 controlled Smithy 924 Lathe
|
||||
|
||||
[EMC]
|
||||
MACHINE = Smithy 924 Lathe
|
||||
VERSION = 1.1
|
||||
DEBUG = 0x00000000
|
||||
#DEBUG = 0x7FFFFFFF
|
||||
|
||||
[DISPLAY]
|
||||
DISPLAY = axis
|
||||
#DISPLAY = tklinuxcnc
|
||||
#HELP_FILE = /usr/share/doc/linuxcnc/tklinuxcnc.txt
|
||||
LATHE = 1
|
||||
TKPKG = Ngcgui 1.0
|
||||
NGCGUI_FONT = Helvetica -12 normal
|
||||
NGCGUI_PREAMBLE = lathe_std.ngc
|
||||
NGCGUI_POSTAMBLE = bye.ngc
|
||||
NGCGUI_SUBFILE = backlash.ngc
|
||||
NGCGUI_SUBFILE = id.ngc
|
||||
NGCGUI_SUBFILE = od.ngc
|
||||
NGCGUI_SUBFILE = taper-od.ngc
|
||||
NGCGUI_SUBFILE = ""
|
||||
#NGCGUI_SUBFILE = "" use when imageframe is specified if
|
||||
# opening other files is required
|
||||
# images will be put in a toplevel window
|
||||
NGCGUI_OPTIONS =
|
||||
#NGCGUI_OPTIONS = opt1 opt2 ...
|
||||
# opt items:
|
||||
# nonew -- disallow making a new tab page
|
||||
# noremove -- disallow removing any tab page
|
||||
# noauto -- no autosend (makeFile, then manually send)
|
||||
# noiframe -- no internal image, image on separate toplevel
|
||||
POSITION_OFFSET = RELATIVE
|
||||
POSITION_FEEDBACK = ACTUAL
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MIN_SPINDLE_OVERRIDE = 0.2
|
||||
MAX_SPINDLE_OVERRIDE = 1.5
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in
|
||||
PROGRAM_PREFIX = ../../nc_files/
|
||||
#EDITOR = geany
|
||||
TOOL_EDITOR = tooledit
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
MAX_LINEAR_VELOCITY = 3.75
|
||||
DEFAULT_ANGULAR_VELOCITY = 12.0
|
||||
MAX_ANGULAR_VELOCITY = 60.0
|
||||
|
||||
[FILTER]
|
||||
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
|
||||
PROGRAM_EXTENSION = .py Python Script
|
||||
png = image-to-gcode
|
||||
gif = image-to-gcode
|
||||
jpg = image-to-gcode
|
||||
py = python3
|
||||
|
||||
[RS274NGC]
|
||||
PARAMETER_FILE = emc.var
|
||||
SUBROUTINE_PATH = ../../nc_files/ngcgui_lib:../../nc_files/ngcgui_lib/lathe:../../nc_files/ngcgui_lib/utilitysubs
|
||||
USER_M_PATH = ../../nc_files/ngcgui_lib/mfiles
|
||||
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
SHMEM_KEY = 111
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 1000000
|
||||
SERVO_PERIOD = 1000000
|
||||
TRAJ_PERIOD = 1000000
|
||||
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
[HAL]
|
||||
HALUI = halui
|
||||
HALFILE = 924.hal
|
||||
#HALFILE = naiky.hal
|
||||
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Z
|
||||
LINEAR_UNITS = inch
|
||||
ANGULAR_UNITS = degree
|
||||
MAX_LINEAR_VELOCITY = 3.93
|
||||
MAX_LINEAR_ACCELERATION = 20.0
|
||||
DEFAULT_LINEAR_VELOCITY = 0.2
|
||||
|
||||
[EMCIO]
|
||||
TOOL_TABLE = lathe.tbl
|
||||
#TOOL_CHANGE_POSITION = 0 0 2
|
||||
#TOOL_CHANGE_WITH_SPINDLE_ON = 1
|
||||
#TOOL_CHANGE_QUILL_UP = 1
|
||||
#TOOL_CHANGE_AT_G30 = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins
|
||||
JOINTS = 3
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -3.6
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 1.875
|
||||
MAX_ACCELERATION = 20.0
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 1.875
|
||||
MAX_ACCELERATION = 20.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 4mm
|
||||
# Drive Ratio = 2:1
|
||||
# Steps/Rev = 200 * 40uSteps = 8000
|
||||
# Vel at 200k Steps/S = 118"/min
|
||||
SCALE = -101600
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -3.6
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -16.2
|
||||
MAX_LIMIT = 0.2
|
||||
MAX_VELOCITY = 3.75
|
||||
MAX_ACCELERATION = 20.0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 3.75
|
||||
MAX_ACCELERATION = 20.0
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.0000
|
||||
# Leadscrew Pitch = 4mm
|
||||
# Drive Ratio = 1:1
|
||||
# Steps/Rev = 200 * 40uSteps = 8000
|
||||
# Vel at 200k Steps/S = 236"/min
|
||||
SCALE = -50800
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -16.2
|
||||
MAX_LIMIT = 0.2
|
||||
FERROR = 0.25
|
||||
MIN_FERROR = 0.1
|
||||
HOME_OFFSET = 0.25
|
||||
HOME_SEARCH_VEL = 0.5
|
||||
HOME_LATCH_VEL = 0.05
|
||||
HOME_FINAL_VEL = 0.5
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 1
|
||||
18
configs/by_machine/smithy/924eztrol.hal
Normal file
18
configs/by_machine/smithy/924eztrol.hal
Normal file
@@ -0,0 +1,18 @@
|
||||
net Xmax eztrol.x-positive-limit
|
||||
net Xmin eztrol.x-negative-limit
|
||||
net Zmax eztrol.z-positive-limit
|
||||
net Zmin eztrol.z-negative-limit
|
||||
loadrt mux2
|
||||
unlinkp motion.spindle-speed-out
|
||||
unlinkp lowpass.0.in
|
||||
net spd-mux mux2.0.out lowpass.0.in
|
||||
net encodervelocity hm2_5i20.0.encoder.00.velocity eztrol.spindle-rps-reading
|
||||
net spd-motion motion.spindle-speed-out mux2.0.in0
|
||||
net spd-eztrol eztrol.spindle-rpm-control mux2.0.in1
|
||||
net speed-select halui.mode.is-manual mux2.0.sel
|
||||
addf mux2.0 servo-thread
|
||||
#eztrol.estop
|
||||
#eztrol.in-manual-mode
|
||||
#eztrol.limit-override
|
||||
#eztrol.spindle-max-rpm
|
||||
|
||||
39
configs/by_machine/smithy/README
Normal file
39
configs/by_machine/smithy/README
Normal file
@@ -0,0 +1,39 @@
|
||||
Smithy
|
||||
|
||||
www.smithy.com
|
||||
|
||||
|
||||
These configurations are for the following Smithy machines:
|
||||
|
||||
1240 - Mill equipped with Leadshine axis drives, VFD and 1.5kW AC induction type spindle motor, and controlled by signals from a Mesa 5i20 FPGA card.
|
||||
|
||||
1240_4axis - Mill equipped with Leadshine axis drives, VFD and 1.5kW AC induction type spindle motor, rotary 4th axis, and controlled by signals from a Mesa 5i20 FPGA card.
|
||||
|
||||
1240combined - Mill equipped with Leadshine three phase axis drives, Mesa 8i20 BLDC spindle motor drive and 6000RPM spindle motor, and controlled by signals from a Mesa 5i20 FPGA card.
|
||||
|
||||
1240combined_4axis - Mill equipped with Leadshine three phase axis drives, Mesa 8i20 BLDC spindle motor drive and 6000RPM spindle motor, rotary 4th axis (two phase), and controlled by signals from a Mesa 5i20 FPGA card.
|
||||
|
||||
1240combined_mm - Metric version of 1240combined.
|
||||
|
||||
1034gecko/1240gecko - Mill equipped with Gecko G201 axis drives, VFD and 1.5kW AC induction type spindle motor, and controlled by signals from a PC parallel port.
|
||||
|
||||
1240rutex - Mill equipped with Rutex DC brush servo axis drives, 1.5kW AC induction type spindle motor with forward and reverse, and controlled by signals from a PC parallel port.
|
||||
|
||||
1240rutex_4axis - Mill equipped with Rutex DC brush servo axis drives, 1.5kW AC induction type spindle motor with forward and reverse, rotary 4th axis, and controlled by signals from a PC parallel port.
|
||||
|
||||
516gecko - Mill equipped with Gecko G201 axis drives, Sieg variable speed brushless DC spindle, and controlled by signals from a PC parallel port.
|
||||
|
||||
622 - Mill equipped with YAKO Automation axis drives, Sieg variable speed brushless DC spindle, and controlled by signals from a Mesa 5i20 FPGA card.
|
||||
|
||||
622_4axis - Mill equipped with YAKO Automation axis drives, Sieg variable speed brushless DC spindle, rotary 4th axis, and controlled by signals from a Mesa 5i20 FPGA card.
|
||||
|
||||
622gecko - Mill equipped with Gecko G201 axis drives, Sieg variable speed brushless DC spindle, and controlled by signals from a PC parallel port.
|
||||
|
||||
622keyence - Mill equipped with Leadshine MD2278 axis drives, Sieg variable speed brushless DC spindle, Keyence digital contact sensor, chip vacuum and controlled by signals from a Mesa 5i20 FPGA card.
|
||||
|
||||
622leadshine - Mill equipped with Leadshine MD2278 axis drives, Sieg variable speed brushless DC spindle, and controlled by signals from a Mesa 5i20 FPGA card.
|
||||
|
||||
924 - Lathe equipped with YAKO Automation axis drives, Sieg variable speed brushless DC spindle, programmable power tool post, and controlled by signals from a Mesa 5i20 FPGA card.
|
||||
|
||||
6130 - Lathe equipped with Leadshine three phase axis drives, VFD and AC induction type spindle motor, programmable power tool post, and controlled by signals from a Mesa 5i20 FPGA card.
|
||||
|
||||
24
configs/by_machine/smithy/eztrol.hal
Normal file
24
configs/by_machine/smithy/eztrol.hal
Normal file
@@ -0,0 +1,24 @@
|
||||
unlinkp iocontrol.0.tool-change
|
||||
unlinkp iocontrol.0.tool-changed
|
||||
net tool-change eztrol.tool-change iocontrol.0.tool-change
|
||||
net tool-changed eztrol.tool-changed iocontrol.0.tool-changed
|
||||
net tool-prep-number eztrol.tool-prep-number iocontrol.0.tool-prep-number
|
||||
net Xmax eztrol.x-positive-limit
|
||||
net Xmin eztrol.x-negative-limit
|
||||
net Ymax eztrol.y-positive-limit
|
||||
net Ymin eztrol.y-negative-limit
|
||||
net Zmax eztrol.z-positive-limit
|
||||
net Zmin eztrol.z-negative-limit
|
||||
loadrt mux2
|
||||
unlinkp motion.spindle-speed-out
|
||||
unlinkp pwmgen.0.value
|
||||
net spd-mux mux2.0.out pwmgen.0.value eztrol.spindle-rpm-reading
|
||||
net spd-motion motion.spindle-speed-out mux2.0.in0
|
||||
net spd-eztrol eztrol.spindle-rpm-control mux2.0.in1
|
||||
net speed-select halui.mode.is-manual mux2.0.sel
|
||||
addf mux2.0 servo-thread
|
||||
#eztrol.estop
|
||||
#eztrol.in-manual-mode
|
||||
#eztrol.limit-override
|
||||
#eztrol.spindle-max-rpm
|
||||
|
||||
12
configs/by_machine/smithy/gecko.xml
Normal file
12
configs/by_machine/smithy/gecko.xml
Normal file
@@ -0,0 +1,12 @@
|
||||
<pyvcp>
|
||||
<label>
|
||||
<text>"RPM:"</text>
|
||||
</label>
|
||||
<number>
|
||||
<halpin>"rpm"</halpin>
|
||||
<font>("Helvetica",12)</font>
|
||||
<format>"4d"</format>
|
||||
<width>4</width>
|
||||
</number>
|
||||
</pyvcp>
|
||||
|
||||
14
configs/by_machine/smithy/gecko_postgui.hal
Normal file
14
configs/by_machine/smithy/gecko_postgui.hal
Normal file
@@ -0,0 +1,14 @@
|
||||
loadusr -W hal_manualtoolchange
|
||||
|
||||
# in case they were linked already
|
||||
unlinkp iocontrol.0.tool-change
|
||||
unlinkp iocontrol.0.tool-changed
|
||||
|
||||
net tool-change hal_manualtoolchange.change iocontrol.0.tool-change
|
||||
net tool-changed hal_manualtoolchange.changed iocontrol.0.tool-changed
|
||||
net tool-prep-number hal_manualtoolchange.number iocontrol.0.tool-prep-number
|
||||
|
||||
net spindle-cmd pyvcp.rpm
|
||||
|
||||
|
||||
|
||||
43
configs/by_machine/smithy/keyence.xml
Normal file
43
configs/by_machine/smithy/keyence.xml
Normal file
@@ -0,0 +1,43 @@
|
||||
<pyvcp>
|
||||
<label>
|
||||
<text>"Sensor Position:"</text>
|
||||
</label>
|
||||
<number>
|
||||
<halpin>"keyence_position"</halpin>
|
||||
<font>("Helvetica",12)</font>
|
||||
<format>"1.4f"</format>
|
||||
<width>6</width>
|
||||
</number>
|
||||
<button>
|
||||
<halpin>"keyence_reset"</halpin>
|
||||
<text>"SET SENSOR = 0.0"</text>
|
||||
</button>
|
||||
<scale>
|
||||
<font>("Helvetica",12)</font>
|
||||
<width>"50"</width>
|
||||
<halpin>"adjustment"</halpin>
|
||||
<resolution>.0001</resolution>
|
||||
<orient>VERTICAL</orient>
|
||||
<min_>.025</min_>
|
||||
<max_>-.025</max_>
|
||||
</scale>
|
||||
<label>
|
||||
<text>"Center Electrode Height:"</text>
|
||||
</label>
|
||||
<number>
|
||||
<halpin>"center_height"</halpin>
|
||||
<font>("Helvetica",12)</font>
|
||||
<format>"1.4f"</format>
|
||||
<width>6</width>
|
||||
</number>
|
||||
<label>
|
||||
<text>"Center Electrode to Post Height:"</text>
|
||||
</label>
|
||||
<number>
|
||||
<halpin>"gap"</halpin>
|
||||
<font>("Helvetica",12)</font>
|
||||
<format>"1.4f"</format>
|
||||
<width>6</width>
|
||||
</number>
|
||||
</pyvcp>
|
||||
|
||||
29
configs/by_machine/smithy/keyence_postgui.hal
Normal file
29
configs/by_machine/smithy/keyence_postgui.hal
Normal file
@@ -0,0 +1,29 @@
|
||||
loadusr -W hal_manualtoolchange
|
||||
|
||||
# in case they were linked already
|
||||
unlinkp iocontrol.0.tool-change
|
||||
unlinkp iocontrol.0.tool-changed
|
||||
|
||||
net tool-change hal_manualtoolchange.change iocontrol.0.tool-change
|
||||
net tool-changed hal_manualtoolchange.changed iocontrol.0.tool-changed
|
||||
net tool-prep-number hal_manualtoolchange.number iocontrol.0.tool-prep-number
|
||||
|
||||
#configure the encoder input for the Keyence sensor
|
||||
setp hm2_5i20.0.encoder.00.scale 25641.025641026
|
||||
|
||||
#connect the encoder position to an analog input of the motion controller for the Keyence sensor
|
||||
net keyence_position hm2_5i20.0.encoder.00.position motion.analog-in-00
|
||||
|
||||
#connect pyvcp signals for the keyence sensor interface
|
||||
net keyence_position pyvcp.keyence_position
|
||||
|
||||
#connect the encoder reset signal to a [yvcp button for the Keyence sensor
|
||||
net keyence_reset hm2_5i20.0.encoder.00.reset pyvcp.keyence_reset
|
||||
|
||||
#connect the pyvcp scale wigit to an analog input of the motion controller
|
||||
net adjustment pyvcp.adjustment-f motion.analog-in-01
|
||||
|
||||
#connect the pyvcp scale wigit to an analog input of the motion controller
|
||||
net center_height pyvcp.center_height motion.analog-out-00
|
||||
net gap pyvcp.gap motion.analog-out-01
|
||||
|
||||
4
configs/by_machine/smithy/lathe.tbl
Normal file
4
configs/by_machine/smithy/lathe.tbl
Normal file
@@ -0,0 +1,4 @@
|
||||
T1 P1 Z+0.100000 D0.100000 I+60.000000 J+120.000000 Q1 ;
|
||||
T2 P2 D0.100000 I+60.000000 J+120.000000 Q2 ;
|
||||
T3 P3 D0.100000 I+5.000000 J+85.000000 Q3 ;
|
||||
T4 P4 D0.100000 I+5.000000 J+85.000000 Q4 ;
|
||||
4
configs/by_machine/smithy/mill.tbl
Normal file
4
configs/by_machine/smithy/mill.tbl
Normal file
@@ -0,0 +1,4 @@
|
||||
T1 P1 D0.125000 Z+0.511000 ;1/8 end mill
|
||||
T2 P2 D0.062500 Z+0.100000 ;1/16 end mill
|
||||
T3 P3 D0.201000 Z+1.273000 ;#7 tap drill
|
||||
T99999 P99999 Z+0.100000 ;big tool number
|
||||
44
configs/by_machine/smithy/naiky.hal
Normal file
44
configs/by_machine/smithy/naiky.hal
Normal file
@@ -0,0 +1,44 @@
|
||||
# Jog Pendant
|
||||
loadrt encoder num_chan=1
|
||||
loadrt mux8 count=1
|
||||
|
||||
addf encoder.capture-position servo-thread
|
||||
addf encoder.update-counters servo-thread
|
||||
addf mux8.0 servo-thread
|
||||
|
||||
# "times 4 mode" one count per full quadrature cycle, instead of the usual one count per edge.
|
||||
# mpg jog wheels often have a full quadrature cycle per "click". 0 for off and 1 for on.
|
||||
setp encoder.0.x4-mode 1
|
||||
|
||||
# X1
|
||||
net scale1 mux8.0.sel0 hm2_5i20.0.gpio.048.in_not
|
||||
setp mux8.0.in1 0.0001
|
||||
# X10
|
||||
net scale2 mux8.0.sel1 hm2_5i20.0.gpio.050.in_not
|
||||
setp mux8.0.in2 0.001
|
||||
# X100
|
||||
net scale3 mux8.0.sel2 hm2_5i20.0.gpio.052.in_not
|
||||
setp mux8.0.in4 0.01
|
||||
|
||||
net pend-scale axis.0.jog-scale mux8.0.out
|
||||
net pend-scale axis.1.jog-scale
|
||||
net pend-scale axis.2.jog-scale
|
||||
#net pend-scale axis.3.jog-scale
|
||||
|
||||
net mpg-a encoder.0.phase-A hm2_5i20.0.gpio.051.in_not
|
||||
net mpg-b encoder.0.phase-B hm2_5i20.0.gpio.049.in_not
|
||||
|
||||
net mpg-x axis.0.jog-enable hm2_5i20.0.gpio.054.in_not
|
||||
net mpg-y axis.1.jog-enable hm2_5i20.0.gpio.056.in_not
|
||||
net mpg-z axis.2.jog-enable hm2_5i20.0.gpio.058.in_not
|
||||
#net mpg-4 axis.3.jog-enable hm2_5i20.0.gpio.060.in_not
|
||||
#net mpg-off hm2_5i20.0.gpio.062.in_not
|
||||
setp hm2_5i20.0.gpio.064.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.064.invert_output TRUE
|
||||
net mpg-led hm2_5i20.0.gpio.064.out hm2_5i20.0.gpio.062.in
|
||||
|
||||
net pend-counts axis.0.jog-counts <= encoder.0.counts
|
||||
net pend-counts axis.1.jog-counts
|
||||
net pend-counts axis.2.jog-counts
|
||||
#net pend-counts axis.3.jog-counts
|
||||
|
||||
87
configs/by_machine/smithy/naiky.xml
Normal file
87
configs/by_machine/smithy/naiky.xml
Normal file
@@ -0,0 +1,87 @@
|
||||
<pyvcp>
|
||||
<hbox>
|
||||
<label>
|
||||
<text>"COUNT:"</text>
|
||||
</label>
|
||||
<number>
|
||||
<halpin>"count"</halpin>
|
||||
<format>"6d"</format>
|
||||
<width>6</width>
|
||||
</number>
|
||||
<button>
|
||||
<halpin>"reset"</halpin>
|
||||
<text>"RESET"</text>
|
||||
</button>
|
||||
<checkbutton>
|
||||
<halpin>"led"</halpin>
|
||||
<text>"LED"</text>
|
||||
</checkbutton>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>
|
||||
<text>"A"</text>
|
||||
</label>
|
||||
<led>
|
||||
<halpin>"a"</halpin>
|
||||
</led>
|
||||
<label>
|
||||
<text>"B"</text>
|
||||
</label>
|
||||
<led>
|
||||
<halpin>"b"</halpin>
|
||||
</led>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>
|
||||
<text>"X1"</text>
|
||||
</label>
|
||||
<led>
|
||||
<halpin>"x1"</halpin>
|
||||
</led>
|
||||
<label>
|
||||
<text>"X10"</text>
|
||||
</label>
|
||||
<led>
|
||||
<halpin>"x10"</halpin>
|
||||
</led>
|
||||
<label>
|
||||
<text>"X100"</text>
|
||||
</label>
|
||||
<led>
|
||||
<halpin>"x100"</halpin>
|
||||
</led>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>
|
||||
<text>"OFF"</text>
|
||||
</label>
|
||||
<led>
|
||||
<halpin>"off"</halpin>
|
||||
</led>
|
||||
<label>
|
||||
<text>"X"</text>
|
||||
</label>
|
||||
<led>
|
||||
<halpin>"x"</halpin>
|
||||
</led>
|
||||
<label>
|
||||
<text>"Y"</text>
|
||||
</label>
|
||||
<led>
|
||||
<halpin>"y"</halpin>
|
||||
</led>
|
||||
<label>
|
||||
<text>"Z"</text>
|
||||
</label>
|
||||
<led>
|
||||
<halpin>"z"</halpin>
|
||||
</led>
|
||||
<label>
|
||||
<text>"4"</text>
|
||||
</label>
|
||||
<led>
|
||||
<halpin>"4"</halpin>
|
||||
</led>
|
||||
</hbox>
|
||||
</pyvcp>
|
||||
|
||||
44
configs/by_machine/smithy/naiky_4axis.hal
Normal file
44
configs/by_machine/smithy/naiky_4axis.hal
Normal file
@@ -0,0 +1,44 @@
|
||||
# Jog Pendant
|
||||
loadrt encoder num_chan=1
|
||||
loadrt mux8 count=1
|
||||
|
||||
addf encoder.capture-position servo-thread
|
||||
addf encoder.update-counters servo-thread
|
||||
addf mux8.0 servo-thread
|
||||
|
||||
# "times 4 mode" one count per full quadrature cycle, instead of the usual one count per edge.
|
||||
# mpg jog wheels often have a full quadrature cycle per "click". 0 for off and 1 for on.
|
||||
setp encoder.0.x4-mode 1
|
||||
|
||||
# X1
|
||||
net scale1 mux8.0.sel0 hm2_5i20.0.gpio.048.in_not
|
||||
setp mux8.0.in1 0.0001
|
||||
# X10
|
||||
net scale2 mux8.0.sel1 hm2_5i20.0.gpio.050.in_not
|
||||
setp mux8.0.in2 0.001
|
||||
# X100
|
||||
net scale3 mux8.0.sel2 hm2_5i20.0.gpio.052.in_not
|
||||
setp mux8.0.in4 0.01
|
||||
|
||||
net pend-scale axis.0.jog-scale mux8.0.out
|
||||
net pend-scale axis.1.jog-scale
|
||||
net pend-scale axis.2.jog-scale
|
||||
net pend-scale axis.3.jog-scale
|
||||
|
||||
net mpg-a encoder.0.phase-A hm2_5i20.0.gpio.051.in_not
|
||||
net mpg-b encoder.0.phase-B hm2_5i20.0.gpio.049.in_not
|
||||
|
||||
net mpg-x axis.0.jog-enable hm2_5i20.0.gpio.054.in_not
|
||||
net mpg-y axis.1.jog-enable hm2_5i20.0.gpio.056.in_not
|
||||
net mpg-z axis.2.jog-enable hm2_5i20.0.gpio.058.in_not
|
||||
net mpg-4 axis.3.jog-enable hm2_5i20.0.gpio.060.in_not
|
||||
#net mpg-off hm2_5i20.0.gpio.062.in_not
|
||||
setp hm2_5i20.0.gpio.064.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.064.invert_output TRUE
|
||||
net mpg-led hm2_5i20.0.gpio.064.out hm2_5i20.0.gpio.062.in
|
||||
|
||||
net pend-counts axis.0.jog-counts <= encoder.0.counts
|
||||
net pend-counts axis.1.jog-counts
|
||||
net pend-counts axis.2.jog-counts
|
||||
net pend-counts axis.3.jog-counts
|
||||
|
||||
82
configs/by_machine/smithy/naiky_test.hal
Normal file
82
configs/by_machine/smithy/naiky_test.hal
Normal file
@@ -0,0 +1,82 @@
|
||||
# Jog Pendant
|
||||
# load the hostmot2 driver, this doesn't do anything by itself,
|
||||
# it just waits for low-level drivers to register boards
|
||||
loadrt hostmot2 debug_idrom=1 debug_module_descriptors=1 debug_pin_descriptors=1 debug_modules=1
|
||||
|
||||
# load the low-level driver for the board
|
||||
# this will load the board's firmware and register it with the hostmot2
|
||||
# driver loaded above, and it'll show up in HAL
|
||||
loadrt hm2_pci config="firmware=hm2/5i20/SVST2_4_7I47.BIT num_encoders=1 num_pwmgens=0 num_stepgens=0"
|
||||
# set up the watchdog
|
||||
#setp hm2_5i20.0.watchdog.timeout_ns 10000000
|
||||
|
||||
loadusr -Wn naiky pyvcp -c naiky naiky.xml
|
||||
|
||||
# create realtime thread
|
||||
loadrt threads name1=base-thread period1=50000 name2=servo-thread period2=1000000
|
||||
|
||||
loadrt encoder num_chan=1
|
||||
|
||||
# "times 4 mode" one count per full quadrature cycle, instead of the usual one count per edge.
|
||||
# mpg jog wheels often have a full quadrature cycle per "click". 0 for off and 1 for on.
|
||||
setp encoder.0.x4-mode FALSE
|
||||
|
||||
#net X1 hm2_5i20.0.gpio.000.in_not naiky.x1
|
||||
#net X10 hm2_5i20.0.gpio.002.in_not naiky.x10
|
||||
#net X100 hm2_5i20.0.gpio.004.in_not naiky.x100
|
||||
#net SEL-X hm2_5i20.0.gpio.006.in_not naiky.x
|
||||
#net SEL-Y hm2_5i20.0.gpio.008.in_not naiky.y
|
||||
#net SEL-Z hm2_5i20.0.gpio.010.in_not naiky.z
|
||||
#net SEL-4 hm2_5i20.0.gpio.012.in_not naiky.4
|
||||
#net SEL-OFF hm2_5i20.0.gpio.014.in_not naiky.off
|
||||
#setp hm2_5i20.0.gpio.016.is_output TRUE
|
||||
#setp hm2_5i20.0.gpio.016.invert_output TRUE
|
||||
#net LED hm2_5i20.0.gpio.016.out naiky.led
|
||||
#net MPG-A encoder.0.phase-A hm2_5i20.0.gpio.003.in_not naiky.a
|
||||
#net MPG-B encoder.0.phase-B hm2_5i20.0.gpio.001.in_not naiky.b
|
||||
|
||||
#net X1 hm2_5i20.0.gpio.024.in_not naiky.x1
|
||||
#net X10 hm2_5i20.0.gpio.026.in_not naiky.x10
|
||||
#net X100 hm2_5i20.0.gpio.028.in_not naiky.x100
|
||||
#net SEL-X hm2_5i20.0.gpio.030.in_not naiky.x
|
||||
#net SEL-Y hm2_5i20.0.gpio.032.in_not naiky.y
|
||||
#net SEL-Z hm2_5i20.0.gpio.034.in_not naiky.z
|
||||
#net SEL-4 hm2_5i20.0.gpio.036.in_not naiky.4
|
||||
#net SEL-OFF hm2_5i20.0.gpio.038.in_not naiky.off
|
||||
#setp hm2_5i20.0.gpio.040.is_output TRUE
|
||||
#setp hm2_5i20.0.gpio.040.invert_output TRUE
|
||||
#net LED hm2_5i20.0.gpio.040.out naiky.led
|
||||
#net MPG-A encoder.0.phase-A hm2_5i20.0.gpio.027.in_not naiky.a
|
||||
#net MPG-B encoder.0.phase-B hm2_5i20.0.gpio.025.in_not naiky.b
|
||||
|
||||
net X1 hm2_5i20.0.gpio.048.in_not naiky.x1
|
||||
net X10 hm2_5i20.0.gpio.050.in_not naiky.x10
|
||||
net X100 hm2_5i20.0.gpio.052.in_not naiky.x100
|
||||
net SEL-X hm2_5i20.0.gpio.054.in_not naiky.x
|
||||
net SEL-Y hm2_5i20.0.gpio.056.in_not naiky.y
|
||||
net SEL-Z hm2_5i20.0.gpio.058.in_not naiky.z
|
||||
net SEL-4 hm2_5i20.0.gpio.060.in_not naiky.4
|
||||
net SEL-OFF hm2_5i20.0.gpio.062.in_not naiky.off
|
||||
setp hm2_5i20.0.gpio.064.is_output TRUE
|
||||
setp hm2_5i20.0.gpio.064.invert_output TRUE
|
||||
net LED hm2_5i20.0.gpio.064.out naiky.led
|
||||
net MPG-A encoder.0.phase-A hm2_5i20.0.gpio.051.in_not naiky.a
|
||||
net MPG-B encoder.0.phase-B hm2_5i20.0.gpio.049.in_not naiky.b
|
||||
|
||||
|
||||
net COUNT encoder.0.position naiky.count
|
||||
net RESET encoder.0.reset naiky.reset
|
||||
|
||||
# hook the functions to threads
|
||||
# read inputs
|
||||
addf hm2_5i20.0.read base-thread
|
||||
addf encoder.update-counters base-thread
|
||||
addf encoder.capture-position servo-thread
|
||||
# write outputs
|
||||
addf hm2_5i20.0.write servo-thread
|
||||
|
||||
start
|
||||
show pin
|
||||
waitusr naiky
|
||||
|
||||
|
||||
Reference in New Issue
Block a user