I'am a little confused. I will append my hal and ini. Of the plasmamachine.
This was generated from the basemachine that works fine.
But when i start the plasma machine i get the message
"Pin parport.0.pin-11-in was already linked to signal din-00"
Maybe it is easier to buy a secound BOB?
Code:
# Generated by stepconf 1.1 at Fri Dec 25 19:31:57 2020
# If you make changes to this file, they will be
# overwritten when you run stepconf again
loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS num_spindles=[TRAJ]SPINDLES
loadrt hal_parport cfg="0 out"
setp parport.0.reset-time 5000
loadrt stepgen step_type=0,0,0,0
addf parport.0.read base-thread
addf stepgen.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
# net spindle-cmd-rpm <= spindle.0.speed-out
# net spindle-cmd-rpm-abs <= spindle.0.speed-out-abs
# net spindle-cmd-rps <= spindle.0.speed-out-rps
# net spindle-cmd-rps-abs <= spindle.0.speed-out-rps-abs
# net spindle-at-speed => spindle.0.at-speed
net xstep => parport.0.pin-02-out
setp parport.0.pin-02-out-reset 1
setp parport.0.pin-03-out-invert 1
net xdir => parport.0.pin-03-out
net ystep => parport.0.pin-04-out
setp parport.0.pin-04-out-reset 1
setp parport.0.pin-05-out-invert 1
net ydir => parport.0.pin-05-out
net zstep => parport.0.pin-06-out
setp parport.0.pin-06-out-reset 1
setp parport.0.pin-07-out-invert 1
net zdir => parport.0.pin-07-out
net y1step => parport.0.pin-08-out
setp parport.0.pin-08-out-reset 1
setp parport.0.pin-09-out-invert 1
net y1dir => parport.0.pin-09-out
net xenable => parport.0.pin-14-out
net all-home <= parport.0.pin-11-in-not
net home-y1 <= parport.0.pin-10-in-not
net dout-001 => parport.0.pin-16-out
net dout-011 => parport.0.pin-17-out
net din-001 <= parport.0.pin-11-in
net din-011 <= parport.0.pin-12-in
net din-021 <= parport.0.pin-13-in
net din-031 <= parport.0.pin-15-in
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 35000
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 xstep <= stepgen.0.step
net xdir <= stepgen.0.dir
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 35000
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 ystep <= stepgen.1.step
net ydir <= stepgen.1.dir
net yenable joint.1.amp-enable-out => stepgen.1.enable
net home-y1 => 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 35000
setp stepgen.2.maxaccel [JOINT_1]STEPGEN_MAXACCEL
net y1pos-cmd joint.2.motor-pos-cmd => stepgen.2.position-cmd
net y1pos-fb stepgen.2.position-fb => joint.2.motor-pos-fb
net y1step <= stepgen.2.step
net y1dir <= stepgen.2.dir
net y1enable 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 35000
setp stepgen.3.maxaccel [JOINT_3]STEPGEN_MAXACCEL
net zpos-cmd joint.3.motor-pos-cmd => stepgen.3.position-cmd
net zpos-fb stepgen.3.position-fb => joint.3.motor-pos-fb
net zstep <= stepgen.3.step
net zdir <= stepgen.3.dir
net zenable joint.3.amp-enable-out => stepgen.3.enable
net all-home => joint.3.home-sw-in
net estop-out <= iocontrol.0.user-enable-out
net estop-out => iocontrol.0.emc-enable-in
# loadusr -W hal_manualtoolchange
# net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change
# net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
# net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
# net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
# toolchange passthrough
net tool:change iocontrol.0.tool-change => iocontrol.0.tool-changed
net tool:prep iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
Code:
# this section only reqired if using the sim testing panel
# [APPLICATIONS]
# DELAY = 3
# APP = test/plasmac_test.py
# required
[PLASMAC]
# required for upgrades (DO NOT CHANGE)
LAST_MAJOR_UPGRADE = 0.144
# sets the operating mode, if not specified the default is 0
# 0 = use arc-voltage-in for arcOK and THC (no need to connect arc-ok-in, move-up-in and move-down-in)
# 1 = use arc-ok-in for arcOK and arc-voltage-in for THC (no need to connect move-up-in and move-down-in)
# 2 = use arc-ok-in for arcOK and move-down-in + move-up-in for THC (no need to connect arc-voltage-in)
MODE = 2
# enable(0) or disable(1) the plasmac config page, if not specified the default is enabled
CONFIG_DISABLE = 0
# the font for the Axis GUI, if not specified 'sans 10' will be used
# valid font sizes are from 9 to 15
FONT = sans 10
# the window size for the Axis GUI
# 0 = minimum size to suit font
# 1 = maximized
# width x height = custom size
WINDOW_SIZE = 0
# the theme for the Axis GUI tabs, if not specified the system theme will be used
THEME = Clearlooks
# select portrait mode, if not specified the default is landscape
#AXIS_ORIENT = portrait
# percentage of cut-feed-rate used for paused motion speed
PAUSED_MOTION_SPEED = 50
# torch on time when manual pulse requested
TORCH_PULSE_TIME = 1.0
# for Powermax communications
#PM_PORT = /dev/ttyUSB0
# for the five user buttons in the main window
BUTTON_1_NAME = Ohmic\Test
BUTTON_1_CODE = ohmic-test
BUTTON_2_NAME = Probe\Test
BUTTON_2_CODE = probe-test 30
BUTTON_3_NAME = Change\Consumables
BUTTON_3_CODE = change-consumables X0 Y0 F4000
BUTTON_4_NAME = Pierce\& Cut
BUTTON_4_CODE = cut-type
BUTTON_5_NAME = Load\Sheet
BUTTON_5_CODE = G53 G0 X{JOINT_0 HOME} Y1
# for the ten user buttons in the Extras panel
BUTTON_10_NAME =
BUTTON_10_CODE =
BUTTON_10_IMAGE =
BUTTON_11_NAME =
BUTTON_11_CODE =
BUTTON_11_IMAGE =
BUTTON_12_NAME =
BUTTON_12_CODE =
BUTTON_12_IMAGE =
BUTTON_13_NAME =
BUTTON_13_CODE =
BUTTON_13_IMAGE =
BUTTON_14_NAME = PlasmaC\User Guide
BUTTON_14_CODE = %xdg-open http://linuxcnc.org/docs/devel/html/plasma/plasmac-user-guide.html
BUTTON_14_IMAGE =
BUTTON_15_NAME =
BUTTON_15_CODE =
BUTTON_15_IMAGE =
BUTTON_16_NAME =
BUTTON_16_CODE =
BUTTON_16_IMAGE =
BUTTON_17_NAME =
BUTTON_17_CODE =
BUTTON_17_IMAGE =
BUTTON_18_NAME =
BUTTON_18_CODE =
BUTTON_18_IMAGE =
BUTTON_19_NAME = LinuxCNC\Docs
BUTTON_19_CODE = %xdg-open http://linuxcnc.org/docs/devel/html
BUTTON_19_IMAGE =
# this section required as is for removing z axis moves from the loaded gcode file
# this is optional and if used then plasmac_gcode.py needs to be set as executable
[FILTER]
PROGRAM_EXTENSION = .ngc (filter gcode files)
ngc = ./plasmac/plasmac_gcode.py
nc = ./plasmac/plasmac_gcode.py
tap = ./plasmac/plasmac_gcode.py
[RS274NGC]
RS274NGC_STARTUP_CODE = o<metric_startup> call
PARAMETER_FILE = metric_parameters.txt
# required, ./ must be in this path
SUBROUTINE_PATH = ./:./plasmac:../../nc_files/subroutines
# required for reading ini and hal variables
FEATURES = 12
# required for our material change
USER_M_PATH = ./:./plasmac
[HAL]
# required
TWOPASS = ON
# the base machine
HALFILE = testplasmacnc.hal
# the plasmac component connections
HALFILE = ./plasmac/plasmac.tcl
# the plasmac machine connections
HALFILE = testplasmacnc_connections.hal
# use this for customisation after GUI has loaded
POSTGUI_HALFILE = postgui.hal
# required
HALUI = halui
[DISPLAY]
DISPLAY = axis
EDITOR = gedit
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
ARCDIVISION = 64
GRIDS = 10mm 20mm 50mm 100mm 1in 2in 5in 10in
MAX_FEED_OVERRIDE = 1.2
MIN_SPINDLE_OVERRIDE = 0.5
MAX_SPINDLE_OVERRIDE = 1.2
DEFAULT_LINEAR_VELOCITY = 50.00
MIN_LINEAR_VELOCITY = 0
MAX_LINEAR_VELOCITY = 150.00
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/giuseppe/linuxcnc/nc_files
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm
OPEN_FILE = ""
TOOL_EDITOR = tooledit x y
CYCLE_TIME = 0.1
# required
USER_COMMAND_FILE = ./plasmac/plasmac_axis.py
# required
EMBED_TAB_NAME = Statistics
EMBED_TAB_COMMAND = gladevcp -c plasmac_stats -x {XID} -u ./plasmac/plasmac_stats.py -H ./plasmac/plasmac_stats.hal ./plasmac/plasmac_stats.glade
# use one of the next two
# run panel in tab behind preview
EMBED_TAB_NAME = Run
EMBED_TAB_COMMAND = gladevcp -c plasmac_run -x {XID} -u ./plasmac/plasmac_run.py -H ./plasmac/plasmac_run.hal ./plasmac/plasmac_run_tab.glade
# run panel in panel on right side
#GLADEVCP = -c plasmac_run -u ./plasmac/plasmac_run.py -H ./plasmac/plasmac_run.hal ./plasmac/plasmac_run_panel.glade
EMBED_TAB_NAME = Config
EMBED_TAB_COMMAND = gladevcp -c plasmac_config -x {XID} -u ./plasmac/plasmac_config.py -H ./plasmac/plasmac_config.hal ./plasmac/plasmac_config.glade
EMBED_TAB_NAME = Extras
EMBED_TAB_COMMAND = gladevcp -c plasmac_wizards -x {XID} -u ./plasmac/plasmac_wizards.py ./plasmac/plasmac_wizards.glade
[EMC]
MACHINE = testplasmacnc
DEBUG = 0
VERSION = 1.1
[KINS]
JOINTS = 4
KINEMATICS = trivkins coordinates=XYYZ kinstype=BOTH
[TASK]
TASK = milltask
CYCLE_TIME = 0.010
[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
BASE_PERIOD = 83333
SERVO_PERIOD = 1000000
[TRAJ]
SPINDLES = 3
COORDINATES = X Y Y Z
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 50.00
MAX_LINEAR_VELOCITY = 150.00
[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl
[AXIS_X]
# set to double the value in the corresponding joint
MAX_VELOCITY = 400.0
# set to double the value in the corresponding joint
MAX_ACCELERATION = 1800.0
# shares the above two equally between the joint and the offset
OFFSET_AV_RATIO = 0.5
MIN_LIMIT = -0.001
MAX_LIMIT = 1390.0
[JOINT_0]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -0.001
MAX_LIMIT = 1390.0
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 900.0
STEPGEN_MAXACCEL = 1125.0
SCALE = 29.0909090909
FERROR = 1
MIN_FERROR = .25
HOME_OFFSET = -5.000000
HOME_SEARCH_VEL = -30.000000
HOME_LATCH_VEL = -5.000000
HOME_SEQUENCE = 1
HOME_FINAL_VEL = 5
[AXIS_Y]
# set to double the value in the corresponding joint
MAX_VELOCITY = 400.0
# set to double the value in the corresponding joint
MAX_ACCELERATION = 1800.0
# shares the above two equally between the joint and the offset
OFFSET_AV_RATIO = 0.5
MIN_LIMIT = -0.001
MAX_LIMIT = 1000.0
[JOINT_1]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -0.001
MAX_LIMIT = 1000.0
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 800.0
STEPGEN_MAXACCEL = 1125.0
SCALE = 29.0909090909
FERROR = 1
MIN_FERROR = .25
HOME_OFFSET = -5.000000
HOME_SEARCH_VEL = -30.000000
HOME_LATCH_VEL = -5.000000
HOME_SEQUENCE = -2
HOME_FINAL_VEL = 5
[JOINT_2]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -0.001
MAX_LIMIT = 1000.0
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 800.0
STEPGEN_MAXACCEL = 1125.0
SCALE = 29.0909090909
FERROR = 1
MIN_FERROR = .25
HOME_OFFSET = -5.000000
HOME_SEARCH_VEL = -30.000000
HOME_LATCH_VEL = -5.000000
HOME_SEQUENCE = -2
HOME_FINAL_VEL = 5
[AXIS_Z]
# set to double the value in the corresponding joint
MAX_VELOCITY = 57.000228001
# set to double the value in the corresponding joint
MAX_ACCELERATION = 600.0
# shares the above two equally between the joint and the offset
OFFSET_AV_RATIO = 0.5
MIN_LIMIT = -40.0
MAX_LIMIT = 5.0
[JOINT_3]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -40.0
MAX_LIMIT = 5.0
MAX_VELOCITY = 28.5001140005
MAX_ACCELERATION = 300.0
STEPGEN_MAXACCEL = 375.0
SCALE = 400.0
FERROR = 1
MIN_FERROR = .25
HOME_OFFSET = 5.000000
HOME_SEARCH_VEL = 2.000000
HOME_LATCH_VEL = 0.100000
HOME_SEQUENCE = 0
HOME_FINAL_VEL = 5
This is the BOB