- Configuring LinuxCNC
- Basic Configuration
- NEED HELP for configuring a XYYZ (2 motors on Y gantry) with linuxcnc 2.9
NEED HELP for configuring a XYYZ (2 motors on Y gantry) with linuxcnc 2.9
21 Sep 2019 09:53 #145742
by chochoit
Thanks Clive s.
I tried this, it gives an error as bellow, linuxcnc won't start.
Replied by chochoit on topic NEED HELP for configuring a XYYZ (2 motors on Y gantry) with linuxcnc 2.9
Change this:-
TRAJ]
COORDINATES = X Y Z
To
TRAJ]
COORDINATES = X Y Y Z
Thanks Clive s.
I tried this, it gives an error as bellow, linuxcnc won't start.
note: MAXV max: 200.000 units/sec 12000.000 units/min
note: LJOG max: 200.000 units/sec 12000.000 units/min
note: LJOG default: 50.000 units/sec 3000.000 units/min
Traceback (most recent call last):
File "/usr/bin/axis", line 3512, in <module>
duplicate_coord_letters)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-18: ordinal not in range(128)
20695
20740
Stopping realtime threads
Unloading hal components
Please Log in or Create an account to join the conversation.
21 Sep 2019 16:22 #145763
by PCW
Replied by PCW on topic NEED HELP for configuring a XYYZ (2 motors on Y gantry) with linuxcnc 2.9
If the joint 1 and joint 2 commanded positions move this suggests that the stepgens are working (or you would get a following error)
Is it possible that you have a somehow corrupted hal file so some net
connections are not made?
Can you post the file all.txt generated by this command
halcmd show all >all.txt
(execute command when linuxCNC is running)
Is it possible that you have a somehow corrupted hal file so some net
connections are not made?
Can you post the file all.txt generated by this command
halcmd show all >all.txt
(execute command when linuxCNC is running)
Please Log in or Create an account to join the conversation.
22 Sep 2019 04:49 #145822
by chochoit
Here it is:
Replied by chochoit on topic NEED HELP for configuring a XYYZ (2 motors on Y gantry) with linuxcnc 2.9
If the joint 1 and joint 2 commanded positions move this suggests that the stepgens are working (or you would get a following error)
Is it possible that you have a somehow corrupted hal file so some net
connections are not made?
Can you post the file all.txt generated by this command
halcmd show all >all.txt
(execute command when linuxCNC is running)
Here it is:
Loaded HAL Components:
ID Type Name PID State
19 User halcmd23935 23935 ready
3 User axisui 23928 ready
17 User inihal 23924 ready
14 User hal_manualtoolchange 23915 ready
12 RT pwmgen ready
11 RT stepgen ready
10 RT hal_parport ready
9 RT __servo-thread ready
8 RT __base-thread ready
7 RT motmod ready
6 RT trivkins ready
5 User iocontrol 23904 ready
Component Pins:
Owner Type Dir Value Name
7 float OUT 0 axis.a.eoffset
7 bit IN FALSE axis.a.eoffset-clear
7 s32 IN 0 axis.a.eoffset-counts
7 bit IN FALSE axis.a.eoffset-enable
7 float OUT 0 axis.a.eoffset-request
7 float IN 0 axis.a.eoffset-scale
7 float IN 1 axis.a.jog-accel-fraction
7 s32 IN 0 axis.a.jog-counts
7 bit IN FALSE axis.a.jog-enable
7 float IN 0 axis.a.jog-scale
7 bit IN FALSE axis.a.jog-vel-mode
7 bit OUT FALSE axis.a.kb-jog-active
7 float OUT 0 axis.a.pos-cmd
7 float OUT 0 axis.a.teleop-pos-cmd
7 bit OUT FALSE axis.a.teleop-tp-enable
7 float OUT 0 axis.a.teleop-vel-cmd
7 float OUT 0 axis.a.teleop-vel-lim
7 bit OUT FALSE axis.a.wheel-jog-active
7 float OUT 0 axis.b.eoffset
7 bit IN FALSE axis.b.eoffset-clear
7 s32 IN 0 axis.b.eoffset-counts
7 bit IN FALSE axis.b.eoffset-enable
7 float OUT 0 axis.b.eoffset-request
7 float IN 0 axis.b.eoffset-scale
7 float IN 1 axis.b.jog-accel-fraction
7 s32 IN 0 axis.b.jog-counts
7 bit IN FALSE axis.b.jog-enable
7 float IN 0 axis.b.jog-scale
7 bit IN FALSE axis.b.jog-vel-mode
7 bit OUT FALSE axis.b.kb-jog-active
7 float OUT 0 axis.b.pos-cmd
7 float OUT 0 axis.b.teleop-pos-cmd
7 bit OUT FALSE axis.b.teleop-tp-enable
7 float OUT 0 axis.b.teleop-vel-cmd
7 float OUT 0 axis.b.teleop-vel-lim
7 bit OUT FALSE axis.b.wheel-jog-active
7 float OUT 0 axis.c.eoffset
7 bit IN FALSE axis.c.eoffset-clear
7 s32 IN 0 axis.c.eoffset-counts
7 bit IN FALSE axis.c.eoffset-enable
7 float OUT 0 axis.c.eoffset-request
7 float IN 0 axis.c.eoffset-scale
7 float IN 1 axis.c.jog-accel-fraction
7 s32 IN 0 axis.c.jog-counts
7 bit IN FALSE axis.c.jog-enable
7 float IN 0 axis.c.jog-scale
7 bit IN FALSE axis.c.jog-vel-mode
7 bit OUT FALSE axis.c.kb-jog-active
7 float OUT 0 axis.c.pos-cmd
7 float OUT 0 axis.c.teleop-pos-cmd
7 bit OUT FALSE axis.c.teleop-tp-enable
7 float OUT 0 axis.c.teleop-vel-cmd
7 float OUT 0 axis.c.teleop-vel-lim
7 bit OUT FALSE axis.c.wheel-jog-active
7 float OUT 0 axis.u.eoffset
7 bit IN FALSE axis.u.eoffset-clear
7 s32 IN 0 axis.u.eoffset-counts
7 bit IN FALSE axis.u.eoffset-enable
7 float OUT 0 axis.u.eoffset-request
7 float IN 0 axis.u.eoffset-scale
7 float IN 1 axis.u.jog-accel-fraction
7 s32 IN 0 axis.u.jog-counts
7 bit IN FALSE axis.u.jog-enable
7 float IN 0 axis.u.jog-scale
7 bit IN FALSE axis.u.jog-vel-mode
7 bit OUT FALSE axis.u.kb-jog-active
7 float OUT 0 axis.u.pos-cmd
7 float OUT 0 axis.u.teleop-pos-cmd
7 bit OUT FALSE axis.u.teleop-tp-enable
7 float OUT 0 axis.u.teleop-vel-cmd
7 float OUT 0 axis.u.teleop-vel-lim
7 bit OUT FALSE axis.u.wheel-jog-active
7 float OUT 0 axis.v.eoffset
7 bit IN FALSE axis.v.eoffset-clear
7 s32 IN 0 axis.v.eoffset-counts
7 bit IN FALSE axis.v.eoffset-enable
7 float OUT 0 axis.v.eoffset-request
7 float IN 0 axis.v.eoffset-scale
7 float IN 1 axis.v.jog-accel-fraction
7 s32 IN 0 axis.v.jog-counts
7 bit IN FALSE axis.v.jog-enable
7 float IN 0 axis.v.jog-scale
7 bit IN FALSE axis.v.jog-vel-mode
7 bit OUT FALSE axis.v.kb-jog-active
7 float OUT 0 axis.v.pos-cmd
7 float OUT 0 axis.v.teleop-pos-cmd
7 bit OUT FALSE axis.v.teleop-tp-enable
7 float OUT 0 axis.v.teleop-vel-cmd
7 float OUT 0 axis.v.teleop-vel-lim
7 bit OUT FALSE axis.v.wheel-jog-active
7 float OUT 0 axis.w.eoffset
7 bit IN FALSE axis.w.eoffset-clear
7 s32 IN 0 axis.w.eoffset-counts
7 bit IN FALSE axis.w.eoffset-enable
7 float OUT 0 axis.w.eoffset-request
7 float IN 0 axis.w.eoffset-scale
7 float IN 1 axis.w.jog-accel-fraction
7 s32 IN 0 axis.w.jog-counts
7 bit IN FALSE axis.w.jog-enable
7 float IN 0 axis.w.jog-scale
7 bit IN FALSE axis.w.jog-vel-mode
7 bit OUT FALSE axis.w.kb-jog-active
7 float OUT 0 axis.w.pos-cmd
7 float OUT 0 axis.w.teleop-pos-cmd
7 bit OUT FALSE axis.w.teleop-tp-enable
7 float OUT 0 axis.w.teleop-vel-cmd
7 float OUT 0 axis.w.teleop-vel-lim
7 bit OUT FALSE axis.w.wheel-jog-active
7 float OUT 0 axis.x.eoffset
7 bit IN FALSE axis.x.eoffset-clear
7 s32 IN 0 axis.x.eoffset-counts
7 bit IN FALSE axis.x.eoffset-enable
7 float OUT 0 axis.x.eoffset-request
7 float IN 0 axis.x.eoffset-scale
7 float IN 1 axis.x.jog-accel-fraction
7 s32 IN 0 axis.x.jog-counts
7 bit IN FALSE axis.x.jog-enable
7 float IN 0 axis.x.jog-scale
7 bit IN FALSE axis.x.jog-vel-mode
7 bit OUT FALSE axis.x.kb-jog-active
7 float OUT 0 axis.x.pos-cmd
7 float OUT 0 axis.x.teleop-pos-cmd
7 bit OUT FALSE axis.x.teleop-tp-enable
7 float OUT 0 axis.x.teleop-vel-cmd
7 float OUT 0 axis.x.teleop-vel-lim
7 bit OUT FALSE axis.x.wheel-jog-active
7 float OUT 0 axis.y.eoffset
7 bit IN FALSE axis.y.eoffset-clear
7 s32 IN 0 axis.y.eoffset-counts
7 bit IN FALSE axis.y.eoffset-enable
7 float OUT 0 axis.y.eoffset-request
7 float IN 0 axis.y.eoffset-scale
7 float IN 1 axis.y.jog-accel-fraction
7 s32 IN 0 axis.y.jog-counts
7 bit IN FALSE axis.y.jog-enable
7 float IN 0 axis.y.jog-scale
7 bit IN FALSE axis.y.jog-vel-mode
7 bit OUT FALSE axis.y.kb-jog-active
7 float OUT 0 axis.y.pos-cmd
7 float OUT 0 axis.y.teleop-pos-cmd
7 bit OUT FALSE axis.y.teleop-tp-enable
7 float OUT 0 axis.y.teleop-vel-cmd
7 float OUT 0 axis.y.teleop-vel-lim
7 bit OUT FALSE axis.y.wheel-jog-active
7 float OUT 0 axis.z.eoffset
7 bit IN FALSE axis.z.eoffset-clear
7 s32 IN 0 axis.z.eoffset-counts
7 bit IN FALSE axis.z.eoffset-enable
7 float OUT 0 axis.z.eoffset-request
7 float IN 0 axis.z.eoffset-scale
7 float IN 1 axis.z.jog-accel-fraction
7 s32 IN 0 axis.z.jog-counts
7 bit IN FALSE axis.z.jog-enable
7 float IN 0 axis.z.jog-scale
7 bit IN FALSE axis.z.jog-vel-mode
7 bit OUT FALSE axis.z.kb-jog-active
7 float OUT 0 axis.z.pos-cmd
7 float OUT 0 axis.z.teleop-pos-cmd
7 bit OUT FALSE axis.z.teleop-tp-enable
7 float OUT 0 axis.z.teleop-vel-cmd
7 float OUT 0 axis.z.teleop-vel-lim
7 bit OUT FALSE axis.z.wheel-jog-active
3 bit OUT FALSE axisui.jog.a
3 bit OUT FALSE axisui.jog.b
3 bit OUT FALSE axisui.jog.c
3 float OUT 0 axisui.jog.increment
3 bit OUT FALSE axisui.jog.u
3 bit OUT FALSE axisui.jog.v
3 bit OUT FALSE axisui.jog.w
3 bit OUT FALSE axisui.jog.x
3 bit OUT FALSE axisui.jog.y
3 bit OUT FALSE axisui.jog.z
3 bit IN FALSE axisui.notifications-clear
3 bit IN FALSE axisui.notifications-clear-error
3 bit IN FALSE axisui.notifications-clear-info
3 bit IN FALSE axisui.resume-inhibit
8 s32 OUT 9441 base-thread.time
14 bit IN FALSE hal_manualtoolchange.change <== tool-change
14 bit IN FALSE hal_manualtoolchange.change_button
14 bit OUT FALSE hal_manualtoolchange.changed ==> tool-changed
14 s32 IN 0 hal_manualtoolchange.number <== tool-number
17 float IN 0 ini.0.backlash
17 float IN 1 ini.0.ferror
17 float IN 400 ini.0.home
17 float IN 5 ini.0.home_offset
17 s32 IN 2 ini.0.home_sequence
17 float IN 100 ini.0.max_acceleration
17 float IN 1200 ini.0.max_limit
17 float IN 160 ini.0.max_velocity
17 float IN 0.25 ini.0.min_ferror
17 float IN 0 ini.0.min_limit
17 float IN 0 ini.1.backlash
17 float IN 1 ini.1.ferror
17 float IN 400 ini.1.home
17 float IN 5 ini.1.home_offset
17 s32 IN -1 ini.1.home_sequence
17 float IN 100 ini.1.max_acceleration
17 float IN 1e+99 ini.1.max_limit
17 float IN 80 ini.1.max_velocity
17 float IN 1 ini.1.min_ferror
17 float IN -1e+99 ini.1.min_limit
17 float IN 0 ini.2.backlash
17 float IN 1 ini.2.ferror
17 float IN 400 ini.2.home
17 float IN 5 ini.2.home_offset
17 s32 IN -1 ini.2.home_sequence
17 float IN 100 ini.2.max_acceleration
17 float IN 1e+99 ini.2.max_limit
17 float IN 80 ini.2.max_velocity
17 float IN 1 ini.2.min_ferror
17 float IN -1e+99 ini.2.min_limit
17 float IN 0 ini.3.backlash
17 float IN 1 ini.3.ferror
17 float IN 2 ini.3.home
17 float IN 5 ini.3.home_offset
17 s32 IN 0 ini.3.home_sequence
17 float IN 100 ini.3.max_acceleration
17 float IN 5 ini.3.max_limit
17 float IN 40 ini.3.max_velocity
17 float IN 0.25 ini.3.min_ferror
17 float IN -150 ini.3.min_limit
17 float IN 0 ini.a.max_acceleration
17 float IN 0 ini.a.max_limit
17 float IN 0 ini.a.max_velocity
17 float IN 0 ini.a.min_limit
17 float IN 0 ini.b.max_acceleration
17 float IN 0 ini.b.max_limit
17 float IN 0 ini.b.max_velocity
17 float IN 0 ini.b.min_limit
17 float IN 0 ini.c.max_acceleration
17 float IN 0 ini.c.max_limit
17 float IN 0 ini.c.max_velocity
17 float IN 0 ini.c.min_limit
17 bit IN TRUE ini.traj_arc_blend_enable
17 bit IN FALSE ini.traj_arc_blend_fallback_enable
17 float IN 4 ini.traj_arc_blend_gap_cycles
17 s32 IN 50 ini.traj_arc_blend_optimization_depth
17 float IN 100 ini.traj_arc_blend_ramp_freq
17 float IN 0.1 ini.traj_arc_blend_tangent_kink_ratio
17 float IN 1e+99 ini.traj_default_acceleration
17 float IN 8 ini.traj_default_velocity
17 float IN 1e+99 ini.traj_max_acceleration
17 float IN 80 ini.traj_max_velocity
17 float IN 0 ini.u.max_acceleration
17 float IN 0 ini.u.max_limit
17 float IN 0 ini.u.max_velocity
17 float IN 0 ini.u.min_limit
17 float IN 0 ini.v.max_acceleration
17 float IN 0 ini.v.max_limit
17 float IN 0 ini.v.max_velocity
17 float IN 0 ini.v.min_limit
17 float IN 0 ini.w.max_acceleration
17 float IN 0 ini.w.max_limit
17 float IN 0 ini.w.max_velocity
17 float IN 0 ini.w.min_limit
17 float IN 100 ini.x.max_acceleration
17 float IN 1200 ini.x.max_limit
17 float IN 80 ini.x.max_velocity
17 float IN 0 ini.x.min_limit
17 float IN 100 ini.y.max_acceleration
17 float IN 1200 ini.y.max_limit
17 float IN 80 ini.y.max_velocity
17 float IN 0 ini.y.min_limit
17 float IN 100 ini.z.max_acceleration
17 float IN 5 ini.z.max_limit
17 float IN 40 ini.z.max_velocity
17 float IN -150 ini.z.min_limit
5 bit OUT FALSE iocontrol.0.coolant-flood
5 bit OUT FALSE iocontrol.0.coolant-mist
5 bit IN TRUE iocontrol.0.emc-enable-in <== estop-ext
5 bit OUT FALSE iocontrol.0.lube
5 bit IN FALSE iocontrol.0.lube_level
5 bit OUT FALSE iocontrol.0.tool-change ==> tool-change
5 bit IN FALSE iocontrol.0.tool-changed <== tool-changed
5 s32 OUT 0 iocontrol.0.tool-number
5 s32 OUT 0 iocontrol.0.tool-prep-number ==> tool-number
5 s32 OUT 0 iocontrol.0.tool-prep-pocket
5 bit OUT FALSE iocontrol.0.tool-prepare ==> tool-prepare-loopback
5 bit IN FALSE iocontrol.0.tool-prepared <== tool-prepare-loopback
5 bit OUT FALSE iocontrol.0.user-enable-out ==> estop-out
5 bit OUT FALSE iocontrol.0.user-request-enable
7 float OUT 0 joint.0.acc-cmd
7 bit OUT TRUE joint.0.active
7 bit OUT FALSE joint.0.amp-enable-out ==> xenable
7 bit IN FALSE joint.0.amp-fault-in
7 float OUT 0 joint.0.backlash-corr
7 float OUT 0 joint.0.backlash-filt
7 float OUT 0 joint.0.backlash-vel
7 float OUT 0 joint.0.coarse-pos-cmd
7 bit OUT FALSE joint.0.error
7 float OUT 0 joint.0.f-error
7 float OUT 0.25 joint.0.f-error-lim
7 bit OUT FALSE joint.0.f-errored
7 bit OUT FALSE joint.0.faulted
7 float OUT 0 joint.0.free-pos-cmd
7 bit OUT FALSE joint.0.free-tp-enable
7 float OUT 0 joint.0.free-vel-lim
7 s32 OUT 0 joint.0.home-state
7 bit IN FALSE joint.0.home-sw-in <== both-home-x
7 bit OUT FALSE joint.0.homed
7 bit OUT FALSE joint.0.homing
7 bit OUT TRUE joint.0.in-position
7 bit I/O FALSE joint.0.index-enable
7 float IN 1 joint.0.jog-accel-fraction
7 s32 IN 0 joint.0.jog-counts
7 bit IN FALSE joint.0.jog-enable
7 float IN 0 joint.0.jog-scale
7 bit IN FALSE joint.0.jog-vel-mode
7 bit OUT FALSE joint.0.kb-jog-active
7 float OUT 0 joint.0.motor-offset
7 float OUT 0 joint.0.motor-pos-cmd ==> xpos-cmd
7 float IN 0 joint.0.motor-pos-fb <== xpos-fb
7 bit OUT FALSE joint.0.neg-hard-limit
7 bit IN FALSE joint.0.neg-lim-sw-in <== both-home-x
7 float OUT 0 joint.0.pos-cmd
7 float OUT 0 joint.0.pos-fb
7 bit OUT FALSE joint.0.pos-hard-limit
7 bit IN FALSE joint.0.pos-lim-sw-in <== both-home-x
7 float OUT 0 joint.0.vel-cmd
7 bit OUT FALSE joint.0.wheel-jog-active
7 float OUT 0 joint.1.acc-cmd
7 bit OUT TRUE joint.1.active
7 bit OUT FALSE joint.1.amp-enable-out ==> y1enable
7 bit IN FALSE joint.1.amp-fault-in
7 float OUT 0 joint.1.backlash-corr
7 float OUT 0 joint.1.backlash-filt
7 float OUT 0 joint.1.backlash-vel
7 float OUT 0 joint.1.coarse-pos-cmd
7 bit OUT FALSE joint.1.error
7 float OUT 0 joint.1.f-error
7 float OUT 1 joint.1.f-error-lim
7 bit OUT FALSE joint.1.f-errored
7 bit OUT FALSE joint.1.faulted
7 float OUT 0 joint.1.free-pos-cmd
7 bit OUT FALSE joint.1.free-tp-enable
7 float OUT 0 joint.1.free-vel-lim
7 s32 OUT 0 joint.1.home-state
7 bit IN FALSE joint.1.home-sw-in <== both-home-y
7 bit OUT FALSE joint.1.homed
7 bit OUT FALSE joint.1.homing
7 bit OUT TRUE joint.1.in-position
7 bit I/O FALSE joint.1.index-enable
7 float IN 1 joint.1.jog-accel-fraction
7 s32 IN 0 joint.1.jog-counts
7 bit IN FALSE joint.1.jog-enable
7 float IN 0 joint.1.jog-scale
7 bit IN FALSE joint.1.jog-vel-mode
7 bit OUT FALSE joint.1.kb-jog-active
7 float OUT 0 joint.1.motor-offset
7 float OUT 0 joint.1.motor-pos-cmd ==> y1pos-cmd
7 float IN 0 joint.1.motor-pos-fb <== y1pos-fb
7 bit OUT FALSE joint.1.neg-hard-limit
7 bit IN FALSE joint.1.neg-lim-sw-in <== both-home-y
7 float OUT 0 joint.1.pos-cmd
7 float OUT 0 joint.1.pos-fb
7 bit OUT FALSE joint.1.pos-hard-limit
7 bit IN FALSE joint.1.pos-lim-sw-in <== both-home-y
7 float OUT 0 joint.1.vel-cmd
7 bit OUT FALSE joint.1.wheel-jog-active
7 float OUT 0 joint.2.acc-cmd
7 bit OUT TRUE joint.2.active
7 bit OUT FALSE joint.2.amp-enable-out ==> y2enable
7 bit IN FALSE joint.2.amp-fault-in
7 float OUT 0 joint.2.backlash-corr
7 float OUT 0 joint.2.backlash-filt
7 float OUT 0 joint.2.backlash-vel
7 float OUT 0 joint.2.coarse-pos-cmd
7 bit OUT FALSE joint.2.error
7 float OUT 0 joint.2.f-error
7 float OUT 1 joint.2.f-error-lim
7 bit OUT FALSE joint.2.f-errored
7 bit OUT FALSE joint.2.faulted
7 float OUT 0 joint.2.free-pos-cmd
7 bit OUT FALSE joint.2.free-tp-enable
7 float OUT 0 joint.2.free-vel-lim
7 s32 OUT 0 joint.2.home-state
7 bit IN FALSE joint.2.home-sw-in <== both-home-y
7 bit OUT FALSE joint.2.homed
7 bit OUT FALSE joint.2.homing
7 bit OUT TRUE joint.2.in-position
7 bit I/O FALSE joint.2.index-enable
7 float IN 1 joint.2.jog-accel-fraction
7 s32 IN 0 joint.2.jog-counts
7 bit IN FALSE joint.2.jog-enable
7 float IN 0 joint.2.jog-scale
7 bit IN FALSE joint.2.jog-vel-mode
7 bit OUT FALSE joint.2.kb-jog-active
7 float OUT 0 joint.2.motor-offset
7 float OUT 0 joint.2.motor-pos-cmd ==> y2pos-cmd
7 float IN 0 joint.2.motor-pos-fb <== y2pos-fb
7 bit OUT FALSE joint.2.neg-hard-limit
7 bit IN FALSE joint.2.neg-lim-sw-in <== both-home-y
7 float OUT 0 joint.2.pos-cmd
7 float OUT 0 joint.2.pos-fb
7 bit OUT FALSE joint.2.pos-hard-limit
7 bit IN FALSE joint.2.pos-lim-sw-in <== both-home-y
7 float OUT 0 joint.2.vel-cmd
7 bit OUT FALSE joint.2.wheel-jog-active
7 float OUT 0 joint.3.acc-cmd
7 bit OUT TRUE joint.3.active
7 bit OUT FALSE joint.3.amp-enable-out ==> zenable
7 bit IN FALSE joint.3.amp-fault-in
7 float OUT 0 joint.3.backlash-corr
7 float OUT 0 joint.3.backlash-filt
7 float OUT 0 joint.3.backlash-vel
7 float OUT 0 joint.3.coarse-pos-cmd
7 bit OUT FALSE joint.3.error
7 float OUT 0 joint.3.f-error
7 float OUT 0.25 joint.3.f-error-lim
7 bit OUT FALSE joint.3.f-errored
7 bit OUT FALSE joint.3.faulted
7 float OUT 0 joint.3.free-pos-cmd
7 bit OUT FALSE joint.3.free-tp-enable
7 float OUT 0 joint.3.free-vel-lim
7 s32 OUT 0 joint.3.home-state
7 bit IN FALSE joint.3.home-sw-in <== both-home-z
7 bit OUT FALSE joint.3.homed
7 bit OUT FALSE joint.3.homing
7 bit OUT TRUE joint.3.in-position
7 bit I/O FALSE joint.3.index-enable
7 float IN 1 joint.3.jog-accel-fraction
7 s32 IN 0 joint.3.jog-counts
7 bit IN FALSE joint.3.jog-enable
7 float IN 0 joint.3.jog-scale
7 bit IN FALSE joint.3.jog-vel-mode
7 bit OUT FALSE joint.3.kb-jog-active
7 float OUT 0 joint.3.motor-offset
7 float OUT 0 joint.3.motor-pos-cmd ==> zpos-cmd
7 float IN 0 joint.3.motor-pos-fb <== zpos-fb
7 bit OUT FALSE joint.3.neg-hard-limit
7 bit IN FALSE joint.3.neg-lim-sw-in <== both-home-z
7 float OUT 0 joint.3.pos-cmd
7 float OUT 0 joint.3.pos-fb
7 bit OUT FALSE joint.3.pos-hard-limit
7 bit IN FALSE joint.3.pos-lim-sw-in <== both-home-z
7 float OUT 0 joint.3.vel-cmd
7 bit OUT FALSE joint.3.wheel-jog-active
7 s32 OUT 189 motion-command-handler.time
7 s32 OUT 7137 motion-controller.time
7 float IN 1 motion.adaptive-feed
7 float IN 0 motion.analog-in-00
7 float IN 0 motion.analog-in-01
7 float IN 0 motion.analog-in-02
7 float IN 0 motion.analog-in-03
7 float OUT 0 motion.analog-out-00
7 float OUT 0 motion.analog-out-01
7 float OUT 0 motion.analog-out-02
7 float OUT 0 motion.analog-out-03
7 bit OUT FALSE motion.coord-error
7 bit OUT FALSE motion.coord-mode
7 float OUT 0 motion.current-vel
7 bit IN FALSE motion.digital-in-00
7 bit IN FALSE motion.digital-in-01
7 bit IN FALSE motion.digital-in-02
7 bit IN FALSE motion.digital-in-03
7 bit OUT FALSE motion.digital-out-00
7 bit OUT FALSE motion.digital-out-01
7 bit OUT FALSE motion.digital-out-02
7 bit OUT FALSE motion.digital-out-03
7 float OUT 0 motion.distance-to-go
7 bit IN TRUE motion.enable
7 bit OUT FALSE motion.eoffset-active
7 bit OUT FALSE motion.eoffset-limited
7 bit IN FALSE motion.feed-hold
7 bit IN FALSE motion.feed-inhibit
7 bit IN FALSE motion.homing-inhibit
7 bit OUT TRUE motion.in-position
7 bit OUT FALSE motion.motion-enabled
7 s32 OUT 0 motion.motion-type
7 bit OUT FALSE motion.on-soft-limit
7 bit IN TRUE motion.probe-input <== probe-in
7 s32 OUT 0 motion.program-line
7 float OUT 0 motion.requested-vel
7 u32 OUT 0x002DC057 motion.servo.last-period
7 float OUT 999571.9 motion.servo.last-period-ns
7 bit OUT FALSE motion.teleop-mode
7 float OUT 0 motion.tooloffset.a
7 float OUT 0 motion.tooloffset.b
7 float OUT 0 motion.tooloffset.c
7 float OUT 0 motion.tooloffset.u
7 float OUT 0 motion.tooloffset.v
7 float OUT 0 motion.tooloffset.w
7 float OUT 0 motion.tooloffset.x
7 float OUT 0 motion.tooloffset.y
7 float OUT 0 motion.tooloffset.z
7 bit IN FALSE motion.tp-reverse
10 bit IN FALSE parport.0.pin-01-out <== spindle-on
10 bit IN FALSE parport.0.pin-02-out <== xstep
10 bit IN FALSE parport.0.pin-03-out <== xdir
10 bit IN FALSE parport.0.pin-04-out <== y1step
10 bit IN FALSE parport.0.pin-05-out <== y1dir
10 bit IN FALSE parport.0.pin-06-out <== y2step
10 bit IN FALSE parport.0.pin-07-out <== y2dir
10 bit IN FALSE parport.0.pin-08-out <== zstep
10 bit IN FALSE parport.0.pin-09-out <== zdir
10 bit OUT TRUE parport.0.pin-10-in ==> estop-ext
10 bit OUT FALSE parport.0.pin-10-in-not
10 bit OUT TRUE parport.0.pin-11-in
10 bit OUT FALSE parport.0.pin-11-in-not ==> both-home-y
10 bit OUT TRUE parport.0.pin-12-in
10 bit OUT FALSE parport.0.pin-12-in-not ==> both-home-z
10 bit OUT TRUE parport.0.pin-13-in ==> probe-in
10 bit OUT FALSE parport.0.pin-13-in-not
10 bit IN FALSE parport.0.pin-14-out <== spindle-cw
10 bit OUT TRUE parport.0.pin-15-in
10 bit OUT FALSE parport.0.pin-15-in-not ==> both-home-x
10 bit IN FALSE parport.0.pin-16-out <== spindle-pwm
10 bit IN FALSE parport.0.pin-17-out <== xenable
10 s32 OUT 4050 parport.0.read.time
10 s32 OUT 63 parport.0.reset.time
10 s32 OUT 5067 parport.0.write.time
10 s32 OUT 0 parport.read-all.time
10 s32 OUT 0 parport.write-all.time
12 float OUT 0.1142857 pwmgen.0.curr-dc
12 bit OUT FALSE pwmgen.0.dir
12 bit I/O TRUE pwmgen.0.dither-pwm
12 bit IN FALSE pwmgen.0.enable <== spindle-on
12 float I/O 1 pwmgen.0.max-dc
12 float I/O 0 pwmgen.0.min-dc
12 float I/O 0.1142857 pwmgen.0.offset
12 bit OUT FALSE pwmgen.0.pwm ==> spindle-pwm
12 float I/O 100 pwmgen.0.pwm-freq
12 float I/O 1166.667 pwmgen.0.scale
12 float IN 0 pwmgen.0.value <== spindle-cmd-rpm
12 s32 OUT 63 pwmgen.make-pulses.time
12 s32 OUT 288 pwmgen.update.time
9 s32 OUT 8208 servo-thread.time
7 bit IN FALSE spindle.0.amp-fault-in
7 bit IN TRUE spindle.0.at-speed <== spindle-at-speed
7 bit OUT TRUE spindle.0.brake
7 bit OUT FALSE spindle.0.forward ==> spindle-cw
7 bit I/O FALSE spindle.0.index-enable
7 bit IN FALSE spindle.0.inhibit
7 bit IN FALSE spindle.0.is-oriented
7 bit OUT FALSE spindle.0.locked
7 bit OUT FALSE spindle.0.on ==> spindle-on
7 bit OUT FALSE spindle.0.orient
7 float OUT 0 spindle.0.orient-angle
7 s32 IN 0 spindle.0.orient-fault
7 s32 OUT 0 spindle.0.orient-mode
7 bit OUT FALSE spindle.0.reverse
7 float IN 0 spindle.0.revs
7 float OUT 0 spindle.0.speed-cmd-rps
7 float IN 0 spindle.0.speed-in
7 float OUT 0 spindle.0.speed-out ==> spindle-cmd-rpm
7 float OUT 0 spindle.0.speed-out-abs ==> spindle-cmd-rpm-abs
7 float OUT 0 spindle.0.speed-out-rps ==> spindle-cmd-rps
7 float OUT 0 spindle.0.speed-out-rps-abs ==> spindle-cmd-rps-abs
11 s32 OUT 0 stepgen.0.counts
11 bit OUT FALSE stepgen.0.dir ==> xdir
11 bit IN FALSE stepgen.0.enable <== xenable
11 float IN 0 stepgen.0.position-cmd <== xpos-cmd
11 float OUT 0 stepgen.0.position-fb ==> xpos-fb
11 bit OUT FALSE stepgen.0.step ==> xstep
11 s32 OUT 0 stepgen.1.counts
11 bit OUT FALSE stepgen.1.dir ==> y1dir
11 bit IN FALSE stepgen.1.enable <== y1enable
11 float IN 0 stepgen.1.position-cmd <== y1pos-cmd
11 float OUT 0 stepgen.1.position-fb ==> y1pos-fb
11 bit OUT FALSE stepgen.1.step ==> y1step
11 s32 OUT 0 stepgen.2.counts
11 bit OUT FALSE stepgen.2.dir ==> y2dir
11 bit IN FALSE stepgen.2.enable <== y2enable
11 float IN 0 stepgen.2.position-cmd <== y2pos-cmd
11 float OUT 0 stepgen.2.position-fb ==> y2pos-fb
11 bit OUT FALSE stepgen.2.step ==> y2step
11 s32 OUT 0 stepgen.3.counts
11 bit OUT FALSE stepgen.3.dir ==> zdir
11 bit IN FALSE stepgen.3.enable <== zenable
11 float IN 0 stepgen.3.position-cmd <== zpos-cmd
11 float OUT 0 stepgen.3.position-fb ==> zpos-fb
11 bit OUT FALSE stepgen.3.step ==> zstep
11 s32 OUT 261 stepgen.capture-position.time
11 s32 OUT 189 stepgen.make-pulses.time
11 s32 OUT 333 stepgen.update-freq.time
Pin Aliases:
Alias Original Name
Signals:
Type Value Name (linked to)
bit FALSE both-home-x
==> joint.0.home-sw-in
==> joint.0.neg-lim-sw-in
==> joint.0.pos-lim-sw-in
<== parport.0.pin-15-in-not
bit FALSE both-home-y
==> joint.1.home-sw-in
==> joint.1.neg-lim-sw-in
==> joint.1.pos-lim-sw-in
==> joint.2.home-sw-in
==> joint.2.neg-lim-sw-in
==> joint.2.pos-lim-sw-in
<== parport.0.pin-11-in-not
bit FALSE both-home-z
==> joint.3.home-sw-in
==> joint.3.neg-lim-sw-in
==> joint.3.pos-lim-sw-in
<== parport.0.pin-12-in-not
bit TRUE estop-ext
==> iocontrol.0.emc-enable-in
<== parport.0.pin-10-in
bit FALSE estop-out
<== iocontrol.0.user-enable-out
bit TRUE probe-in
==> motion.probe-input
<== parport.0.pin-13-in
bit TRUE spindle-at-speed
==> spindle.0.at-speed
float 0 spindle-cmd-rpm
==> pwmgen.0.value
<== spindle.0.speed-out
float 0 spindle-cmd-rpm-abs
<== spindle.0.speed-out-abs
float 0 spindle-cmd-rps
<== spindle.0.speed-out-rps
float 0 spindle-cmd-rps-abs
<== spindle.0.speed-out-rps-abs
bit FALSE spindle-cw
==> parport.0.pin-14-out
<== spindle.0.forward
bit FALSE spindle-on
==> parport.0.pin-01-out
==> pwmgen.0.enable
<== spindle.0.on
bit FALSE spindle-pwm
==> parport.0.pin-16-out
<== pwmgen.0.pwm
bit FALSE tool-change
==> hal_manualtoolchange.change
<== iocontrol.0.tool-change
bit FALSE tool-changed
<== hal_manualtoolchange.changed
==> iocontrol.0.tool-changed
s32 0 tool-number
==> hal_manualtoolchange.number
<== iocontrol.0.tool-prep-number
bit FALSE tool-prepare-loopback
<== iocontrol.0.tool-prepare
==> iocontrol.0.tool-prepared
bit FALSE xdir
==> parport.0.pin-03-out
<== stepgen.0.dir
bit FALSE xenable
<== joint.0.amp-enable-out
==> parport.0.pin-17-out
==> stepgen.0.enable
float 0 xpos-cmd
<== joint.0.motor-pos-cmd
==> stepgen.0.position-cmd
float 0 xpos-fb
==> joint.0.motor-pos-fb
<== stepgen.0.position-fb
bit FALSE xstep
==> parport.0.pin-02-out
<== stepgen.0.step
bit FALSE y1dir
==> parport.0.pin-05-out
<== stepgen.1.dir
bit FALSE y1enable
<== joint.1.amp-enable-out
==> stepgen.1.enable
float 0 y1pos-cmd
<== joint.1.motor-pos-cmd
==> stepgen.1.position-cmd
float 0 y1pos-fb
==> joint.1.motor-pos-fb
<== stepgen.1.position-fb
bit FALSE y1step
==> parport.0.pin-04-out
<== stepgen.1.step
bit FALSE y2dir
==> parport.0.pin-07-out
<== stepgen.2.dir
bit FALSE y2enable
<== joint.2.amp-enable-out
==> stepgen.2.enable
float 0 y2pos-cmd
<== joint.2.motor-pos-cmd
==> stepgen.2.position-cmd
float 0 y2pos-fb
==> joint.2.motor-pos-fb
<== stepgen.2.position-fb
bit FALSE y2step
==> parport.0.pin-06-out
<== stepgen.2.step
bit FALSE zdir
==> parport.0.pin-09-out
<== stepgen.3.dir
bit FALSE zenable
<== joint.3.amp-enable-out
==> stepgen.3.enable
float 0 zpos-cmd
<== joint.3.motor-pos-cmd
==> stepgen.3.position-cmd
float 0 zpos-fb
==> joint.3.motor-pos-fb
<== stepgen.3.position-fb
bit FALSE zstep
==> parport.0.pin-08-out
<== stepgen.3.step
Parameters:
Owner Type Dir Value Name
8 s32 RW 63666 base-thread.tmax
5 s32 RO 0 iocontrol.0.tool-prep-index
7 s32 RW 10710 motion-command-handler.tmax
7 bit RO FALSE motion-command-handler.tmax-increased
7 s32 RW 46260 motion-controller.tmax
7 bit RO FALSE motion-controller.tmax-increased
7 bit RO FALSE motion.debug-bit-0
7 bit RO FALSE motion.debug-bit-1
7 float RO 0 motion.debug-float-0
7 float RO 0 motion.debug-float-1
7 float RO 0 motion.debug-float-2
7 float RO 1 motion.debug-float-3
7 s32 RO 0 motion.debug-s32-0
7 s32 RO 0 motion.debug-s32-1
10 u32 RW 0x00000000 parport.0.debug1
10 u32 RW 0x00000000 parport.0.debug2
10 bit RW FALSE parport.0.pin-01-out-invert
10 bit RW FALSE parport.0.pin-01-out-reset
10 bit RW TRUE parport.0.pin-02-out-invert
10 bit RW TRUE parport.0.pin-02-out-reset
10 bit RW TRUE parport.0.pin-03-out-invert
10 bit RW FALSE parport.0.pin-03-out-reset
10 bit RW TRUE parport.0.pin-04-out-invert
10 bit RW TRUE parport.0.pin-04-out-reset
10 bit RW TRUE parport.0.pin-05-out-invert
10 bit RW FALSE parport.0.pin-05-out-reset
10 bit RW FALSE parport.0.pin-06-out-invert
10 bit RW TRUE parport.0.pin-06-out-reset
10 bit RW FALSE parport.0.pin-07-out-invert
10 bit RW FALSE parport.0.pin-07-out-reset
10 bit RW TRUE parport.0.pin-08-out-invert
10 bit RW TRUE parport.0.pin-08-out-reset
10 bit RW TRUE parport.0.pin-09-out-invert
10 bit RW FALSE parport.0.pin-09-out-reset
10 bit RW FALSE parport.0.pin-14-out-invert
10 bit RW FALSE parport.0.pin-14-out-reset
10 bit RW FALSE parport.0.pin-16-out-invert
10 bit RW FALSE parport.0.pin-16-out-reset
10 bit RW FALSE parport.0.pin-17-out-invert
10 bit RW FALSE parport.0.pin-17-out-reset
10 s32 RW 27882 parport.0.read.tmax
10 bit RO FALSE parport.0.read.tmax-increased
10 u32 RW 0x00001388 parport.0.reset-time
10 s32 RW 8379 parport.0.reset.tmax
10 bit RO FALSE parport.0.reset.tmax-increased
10 s32 RW 48645 parport.0.write.tmax
10 bit RO FALSE parport.0.write.tmax-increased
10 s32 RW 0 parport.read-all.tmax
10 bit RO FALSE parport.read-all.tmax-increased
10 s32 RW 0 parport.write-all.tmax
10 bit RO FALSE parport.write-all.tmax-increased
12 s32 RW 8451 pwmgen.make-pulses.tmax
12 bit RO FALSE pwmgen.make-pulses.tmax-increased
12 s32 RW 2493 pwmgen.update.tmax
12 bit RO FALSE pwmgen.update.tmax-increased
9 s32 RW 53037 servo-thread.tmax
11 u32 RW 0x00018674 stepgen.0.dirhold
11 u32 RW 0x00018674 stepgen.0.dirsetup
11 float RO 0 stepgen.0.frequency
11 float RW 125 stepgen.0.maxaccel
11 float RW 0 stepgen.0.maxvel
11 float RW 53.33333 stepgen.0.position-scale
11 s32 RO 0 stepgen.0.rawcounts
11 u32 RW 0x00018674 stepgen.0.steplen
11 u32 RW 0x00000000 stepgen.0.stepspace
11 u32 RW 0x00018674 stepgen.1.dirhold
11 u32 RW 0x00018674 stepgen.1.dirsetup
11 float RO 0 stepgen.1.frequency
11 float RW 125 stepgen.1.maxaccel
11 float RW 0 stepgen.1.maxvel
11 float RW 53.33333 stepgen.1.position-scale
11 s32 RO 0 stepgen.1.rawcounts
11 u32 RW 0x00018674 stepgen.1.steplen
11 u32 RW 0x00000000 stepgen.1.stepspace
11 u32 RW 0x00018674 stepgen.2.dirhold
11 u32 RW 0x00018674 stepgen.2.dirsetup
11 float RO 0 stepgen.2.frequency
11 float RW 125 stepgen.2.maxaccel
11 float RW 0 stepgen.2.maxvel
11 float RW 53.33333 stepgen.2.position-scale
11 s32 RO 0 stepgen.2.rawcounts
11 u32 RW 0x00018674 stepgen.2.steplen
11 u32 RW 0x00000000 stepgen.2.stepspace
11 u32 RW 0x00018674 stepgen.3.dirhold
11 u32 RW 0x00018674 stepgen.3.dirsetup
11 float RO 0 stepgen.3.frequency
11 float RW 125 stepgen.3.maxaccel
11 float RW 0 stepgen.3.maxvel
11 float RW 106.6667 stepgen.3.position-scale
11 s32 RO 0 stepgen.3.rawcounts
11 u32 RW 0x00018674 stepgen.3.steplen
11 u32 RW 0x00000000 stepgen.3.stepspace
11 s32 RW 9153 stepgen.capture-position.tmax
11 bit RO FALSE stepgen.capture-position.tmax-increased
11 s32 RW 17109 stepgen.make-pulses.tmax
11 bit RO FALSE stepgen.make-pulses.tmax-increased
11 s32 RW 2889 stepgen.update-freq.tmax
11 bit RO FALSE stepgen.update-freq.tmax-increased
7 float RO 0 tc.0.acc
7 float RO 0 tc.0.pos
7 float RO 0 tc.0.vel
7 float RO 0 tc.1.acc
7 float RO 0 tc.1.pos
7 float RO 0 tc.1.vel
7 float RO 0 tc.2.acc
7 float RO 0 tc.2.pos
7 float RO 0 tc.2.vel
7 float RO 0 tc.3.acc
7 float RO 0 tc.3.pos
7 float RO 0 tc.3.vel
7 u32 RO 0x00000000 traj.active_tc
7 float RO 0 traj.pos_out
7 float RO 0 traj.vel_out
Parameter Aliases:
Alias Original Name
Exported Functions:
Owner CodeAddr Arg FP Users Name
00007 f8de18d0 00000000 YES 1 motion-command-handler
00007 f8de6260 00000000 YES 1 motion-controller
00010 f86f6000 f90aa6b8 NO 1 parport.0.read
00010 f86f62a0 f90aa6b8 NO 1 parport.0.reset
00010 f86f63a0 f90aa6b8 NO 1 parport.0.write
00010 f86f60f0 f90aa6b8 NO 0 parport.read-all
00010 f86f6570 f90aa6b8 NO 0 parport.write-all
00012 f86d7000 f90aab28 NO 1 pwmgen.make-pulses
00012 f86d7170 f90aab28 YES 1 pwmgen.update
00011 f8d4d350 f90aa7d0 YES 1 stepgen.capture-position
00011 f8d4d000 f90aa7d0 NO 1 stepgen.make-pulses
00011 f8d4d430 f90aa7d0 YES 1 stepgen.update-freq
Realtime Threads:
Period FP Name ( Time, Max-Time )
999560 YES servo-thread ( 8208, 53037 )
1 stepgen.capture-position
2 motion-command-handler
3 motion-controller
4 stepgen.update-freq
5 pwmgen.update
99956 NO base-thread ( 8991, 63666 )
1 parport.0.read
2 stepgen.make-pulses
3 pwmgen.make-pulses
4 parport.0.write
5 parport.0.reset
Please Log in or Create an account to join the conversation.
22 Sep 2019 17:07 #145870
by PCW
Replied by PCW on topic NEED HELP for configuring a XYYZ (2 motors on Y gantry) with linuxcnc 2.9
Have you ever homed the gantry?
(that is I suspect you have never got out of telop mode due to homing issues)
(that is I suspect you have never got out of telop mode due to homing issues)
The following user(s) said Thank You: chochoit
Please Log in or Create an account to join the conversation.
22 Sep 2019 17:44 #145875
by chochoit
Replied by chochoit on topic NEED HELP for configuring a XYYZ (2 motors on Y gantry) with linuxcnc 2.9
Hi everyone,
I finally find out where I went wrong.
I start from the beginning, checking my wiring, find out that my Y1 and Y2 's motor connectors using different configuration.
My Y1's connector looks like B+ B- A- A+, but my Y2's A+ A- B- B+.
In the first place, I thought their wiring arrangement should be the same.
So, In the Stepconfig, I invert Y1 pulse and Y1 dir, but leave Y2 as default (unchecked)
That's the main reason why my Y2 get no go.
The second mistake I made in Stepconfig, is that I select my limit switch as:
"X pos+neg", "Y pos+neg", "Z pos" .
Since my machine has no separate home switch, I should have selected:
"X home+pos+neg", "Y home+pos+neg", "Z home+pos" .
I think that's why my ini missing several settings for homing in the first place, such as:
HOME_IGNORE_LIMITS
HOME_SEARCH_VEL
HOME_LATCH_VEL
HOME_FINAL_VEL
Finally, I change Y2 section of my hal:
Besides that, I did some minor changes to other config values.
Right now my machine works like a charm.
well, I haven't actually put some real work for it to run, but at least it "jogs" like a charm.
Many thanks to PCW, tommylight, Todd Zuercher, Clive s.
Your suggestions gave me good clues to start debugging my hal and ini.
Saving me form overwhelmed by hundreds pages of documents.
There's more to discover in linuxcnc.
But right now, I am very happy that my machine finally start operating.
I finally find out where I went wrong.
I start from the beginning, checking my wiring, find out that my Y1 and Y2 's motor connectors using different configuration.
My Y1's connector looks like B+ B- A- A+, but my Y2's A+ A- B- B+.
In the first place, I thought their wiring arrangement should be the same.
So, In the Stepconfig, I invert Y1 pulse and Y1 dir, but leave Y2 as default (unchecked)
That's the main reason why my Y2 get no go.
The second mistake I made in Stepconfig, is that I select my limit switch as:
"X pos+neg", "Y pos+neg", "Z pos" .
Since my machine has no separate home switch, I should have selected:
"X home+pos+neg", "Y home+pos+neg", "Z home+pos" .
I think that's why my ini missing several settings for homing in the first place, such as:
HOME_IGNORE_LIMITS
HOME_SEARCH_VEL
HOME_LATCH_VEL
HOME_FINAL_VEL
Finally, I change Y2 section of my hal:
From:
#*** Y1 Axis Output Pins
net y1step => parport.0.pin-04-out
setp parport.0.pin-04-out-invert 1
setp parport.0.pin-04-out-reset 1
setp parport.0.pin-05-out-invert 1
net y1dir => parport.0.pin-05-out
#*** Wrong for my Y2 wiring
net y2step => parport.0.pin-06-out
setp parport.0.pin-06-out-reset 1
net y2dir => parport.0.pin-07-out
To:
#*** Y1 Axis Output Pins
net y1step => parport.0.pin-04-out
setp parport.0.pin-04-out-invert 1
setp parport.0.pin-04-out-reset 1
setp parport.0.pin-05-out-invert 1
net y1dir => parport.0.pin-05-out
#*** Y2 Axis Output Pins
net y2step => parport.0.pin-06-out
setp parport.0.pin-06-out-invert 1
setp parport.0.pin-06-out-reset 1
setp parport.0.pin-07-out-invert 1
net y2dir => parport.0.pin-07-out
Besides that, I did some minor changes to other config values.
Right now my machine works like a charm.
well, I haven't actually put some real work for it to run, but at least it "jogs" like a charm.
Many thanks to PCW, tommylight, Todd Zuercher, Clive s.
Your suggestions gave me good clues to start debugging my hal and ini.
Saving me form overwhelmed by hundreds pages of documents.
There's more to discover in linuxcnc.
But right now, I am very happy that my machine finally start operating.
The following user(s) said Thank You: tommylight, Clive S
Please Log in or Create an account to join the conversation.
22 Sep 2019 18:12 #145877
by chochoit
Replied by chochoit on topic NEED HELP for configuring a XYYZ (2 motors on Y gantry) with linuxcnc 2.9
I am going to post my working hal and ini.
Hope that will help someone like me.
My system info:
Software: linuxcnc 2.9 (upgrade from linuxcnc 2.7.0 with Debian wheezy)
Controller: Mainly TB6560 with X Y Z A B , and various pings for limit switch.
X: 1 nema 23 step motor with 2 limit switch.
Y: 2 nema 23 step motors with 2 limit switch, forming a Y gantry.
Z: 1 nema 23 step motor with 1 limit switch.
Note that my Y1 and Y2 motor's should rotate in reverse way( Y1 go clockwise, Y2 must go counterclockwise)
to correctly move Y gantry.
And, by factory default, my Y1 and Y2 motors' connectors wiring are different.
Y1 looks like B+ B- A- A+, Y2 looks like A+ A- B- B+
In this case, the setting in Stepconfig for Y1 and Y2 should be THE SAME.
I.E. if Y1 check invert, Y2 should check invert, vise versa.
Last but not least, my X and Y both have 2 limit switches for pos and neg, but have no separate home switch.
So, when selecting switch mode for limit switch in Stepconfig,
one should choose something like "X +home+both".
By using the following hal and ini, my linuxcnc can be up and running.
The X and Y can jog at full speed.
There might be some other issue in these configs,
but it's a good start point for me.
my working hal
Hope that will help someone like me.
My system info:
Software: linuxcnc 2.9 (upgrade from linuxcnc 2.7.0 with Debian wheezy)
Controller: Mainly TB6560 with X Y Z A B , and various pings for limit switch.
X: 1 nema 23 step motor with 2 limit switch.
Y: 2 nema 23 step motors with 2 limit switch, forming a Y gantry.
Z: 1 nema 23 step motor with 1 limit switch.
Note that my Y1 and Y2 motor's should rotate in reverse way( Y1 go clockwise, Y2 must go counterclockwise)
to correctly move Y gantry.
And, by factory default, my Y1 and Y2 motors' connectors wiring are different.
Y1 looks like B+ B- A- A+, Y2 looks like A+ A- B- B+
In this case, the setting in Stepconfig for Y1 and Y2 should be THE SAME.
I.E. if Y1 check invert, Y2 should check invert, vise versa.
Last but not least, my X and Y both have 2 limit switches for pos and neg, but have no separate home switch.
So, when selecting switch mode for limit switch in Stepconfig,
one should choose something like "X +home+both".
By using the following hal and ini, my linuxcnc can be up and running.
The X and Y can jog at full speed.
There might be some other issue in these configs,
but it's a good start point for me.
# This config file was created 2019-09-19 08:13:39.070156 by the update_ini script
# The original config files may be found in the /home/spuser/linuxcnc/configs/120x120/120x120.old.old directory
# Generated by stepconf 1.1 at Thu Sep 19 05:29:10 2019
# If you make changes to this file, they will be
# overwritten when you run stepconf again
[EMC]
# The version string for this INI file.
VERSION = 1.1
MACHINE = 120x120
DEBUG = 0
[DISPLAY]
DISPLAY = axis
#DISPLAY = gmoccapy
EDITOR = gedit
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
ARCDIVISION = 64
GRIDS = 10mm 20mm 50mm 100mm 1in 2in 5in 10in
MAX_FEED_OVERRIDE = 2
MIN_SPINDLE_OVERRIDE = 0.5
MAX_SPINDLE_OVERRIDE = 1.2
DEFAULT_LINEAR_VELOCITY = 100.00
MIN_LINEAR_VELOCITY = 0
MAX_LINEAR_VELOCITY = 300.00
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/spuser/linuxcnc/nc_files
INCREMENTS =200mm 100mm 10mm 1mm .1mm .01mm .001mm
PYVCP = custompanel.xml
[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python
[RS274NGC]
PARAMETER_FILE = linuxcnc.var
[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
## ?? ##
BASE_PERIOD = 31250
SERVO_PERIOD = 1000000
[TASK]
TASK = milltask
CYCLE_TIME = 0.010
[HAL]
HALFILE = 120x120.hal
HALFILE = custom.hal
POSTGUI_HALFILE = custom_postgui.hal
[HALUI]
#No Content
[KINS]
JOINTS = 4
KINEMATICS = trivkins coordinates=XYYZ kinstype=BOTH
#This is a best-guess at the number of joints, it should be checked
[TRAJ]
COORDINATES = XYZ
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 60.00
MAX_LINEAR_VELOCITY = 600.00
[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl
[AXIS_X]
MIN_LIMIT = 0.0
MAX_LIMIT = 1200.0
MAX_VELOCITY = 300.0
MAX_ACCELERATION = 300.0
[JOINT_0]
TYPE = LINEAR
MAX_VELOCITY = 300.0
MAX_ACCELERATION = 300.0
STEPGEN_MAXACCEL = 330.0
SCALE = 53.3333333333
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = 0.0
MAX_LIMIT = 1200.0
HOME_SEQUENCE = 1
HOME = 100.0
HOME_OFFSET = 5.0
HOME_IGNORE_LIMITS = YES
HOME_SEARCH_VEL = -8
HOME_LATCH_VEL = -1
HOME_FINAL_VEL = 300
HOME_USE_INDEX = NO
[AXIS_Y]
MIN_LIMIT = 0.0
MAX_LIMIT = 1200.0
MAX_VELOCITY = 300.0
MAX_ACCELERATION = 300.0
[JOINT_1]
TYPE = LINEAR
MAX_VELOCITY = 300.0
MAX_ACCELERATION = 300.0
STEPGEN_MAXACCEL = 330.0
SCALE = 53.3333333333
FERROR = 1
HOME_SEQUENCE = -2
HOME = 100
HOME_OFFSET = 5.0
HOME_IGNORE_LIMITS = YES
HOME_SEARCH_VEL = -8
HOME_LATCH_VEL = -1
HOME_FINAL_VEL = 300
HOME_USE_INDEX = NO
[JOINT_2]
TYPE = LINEAR
MAX_VELOCITY = 300.0
MAX_ACCELERATION = 300.0
STEPGEN_MAXACCEL = 330.0
SCALE = 53.3333333333
FERROR = 1
HOME_SEQUENCE = -2
HOME = 100
HOME_OFFSET = 5.0
HOME_IGNORE_LIMITS = YES
HOME_SEARCH_VEL = -8
HOME_LATCH_VEL = -1
HOME_FINAL_VEL = 300
HOME_USE_INDEX = NO
[AXIS_Z]
MIN_LIMIT = -150.0
MAX_LIMIT = 5
MAX_VELOCITY = 300.0
MAX_ACCELERATION = 300.0
[JOINT_3]
TYPE = LINEAR
MAX_VELOCITY = 100.0
MAX_ACCELERATION = 300.0
STEPGEN_MAXACCEL = 330.0
SCALE = 106.666666667
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -150.0
MAX_LIMIT = 5
HOME_SEQUENCE = 0
HOME = 2.0
HOME_OFFSET = 5.0
HOME_IGNORE_LIMITS = YES
HOME_SEARCH_VEL = 6
HOME_LATCH_VEL = 1
HOME_USE_INDEX = NO
my working hal
# Generated by stepconf 1.1 at Thu Sep 19 05:29:10 2019
# If you make changes to this file, they will be
# overwritten when you run stepconf again
loadrt [KINS]KINEMATICS
#autoconverted trivkins
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
loadrt hal_parport cfg="0 out"
setp parport.0.reset-time 5000
loadrt stepgen step_type=0,0,0,0
loadrt pwmgen output_type=1
addf parport.0.read base-thread
addf stepgen.make-pulses 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
net spindle-cmd-rpm => pwmgen.0.value
net spindle-on <= spindle.0.on => pwmgen.0.enable
net spindle-pwm <= pwmgen.0.pwm
setp pwmgen.0.pwm-freq 100.0
setp pwmgen.0.scale 1166.66666667
setp pwmgen.0.offset 0.114285714286
setp pwmgen.0.dither-pwm true
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 spindle-cw <= spindle.0.forward
net probe-in => motion.probe-input
net spindle-on => parport.0.pin-01-out
#*** X Axis Output Pins
net xstep => parport.0.pin-02-out
setp parport.0.pin-02-out-invert 1
setp parport.0.pin-02-out-reset 1
setp parport.0.pin-03-out-invert 1
net xdir => parport.0.pin-03-out
#*** Y1 Axis Output Pins
net y1step => parport.0.pin-04-out
setp parport.0.pin-04-out-invert 1
setp parport.0.pin-04-out-reset 1
setp parport.0.pin-05-out-invert 1
net y1dir => parport.0.pin-05-out
#*** Y2 Axis Output Pins
net y2step => parport.0.pin-06-out
setp parport.0.pin-06-out-invert 1
setp parport.0.pin-06-out-reset 1
setp parport.0.pin-07-out-invert 1
net y2dir => parport.0.pin-07-out
#*** Z Axis Output Pins
net zstep => parport.0.pin-08-out
setp parport.0.pin-08-out-invert 1
setp parport.0.pin-08-out-reset 1
setp parport.0.pin-09-out-invert 1
net zdir => parport.0.pin-09-out
#*** Home and limit switch inputs
net spindle-cw => parport.0.pin-14-out
net spindle-pwm => parport.0.pin-16-out
net xenable => parport.0.pin-17-out
net estop-ext <= parport.0.pin-10-in
#net min-home-y <= parport.0.pin-11-in
#net min-home-z <= parport.0.pin-12-in-not
#net probe-in <= parport.0.pin-13-in
#net min-home-x <= parport.0.pin-15-in
net both-home-y <= parport.0.pin-11-in-not
net both-home-z <= parport.0.pin-12-in-not
net probe-in <= parport.0.pin-13-in
net both-home-x <= parport.0.pin-15-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 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 both-home-x => joint.0.neg-lim-sw-in
net both-home-x => joint.0.pos-lim-sw-in
net both-home-x => 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 y1pos-cmd joint.1.motor-pos-cmd => stepgen.1.position-cmd
net y1pos-fb stepgen.1.position-fb => joint.1.motor-pos-fb
net y1step <= stepgen.1.step
net y1dir <= stepgen.1.dir
net y1enable joint.1.amp-enable-out => stepgen.1.enable
net both-home-y => joint.1.neg-lim-sw-in
net both-home-y => joint.1.pos-lim-sw-in
net both-home-y => 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_2]STEPGEN_MAXACCEL
net y2pos-cmd joint.2.motor-pos-cmd => stepgen.2.position-cmd
net y2pos-fb stepgen.2.position-fb => joint.2.motor-pos-fb
net y2step <= stepgen.2.step
net y2dir <= stepgen.2.dir
net y2enable joint.2.amp-enable-out => stepgen.2.enable
net both-home-y => joint.2.neg-lim-sw-in
net both-home-y => joint.2.pos-lim-sw-in
net both-home-y => 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 both-home-z => joint.3.neg-lim-sw-in
net both-home-z => joint.3.pos-lim-sw-in
net both-home-z => joint.3.home-sw-in
net estop-out <= iocontrol.0.user-enable-out
net estop-ext => 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
The following user(s) said Thank You: andypugh
Please Log in or Create an account to join the conversation.
22 Sep 2019 18:16 #145879
by chochoit
I got my system working.
Thank you for continuing follow my problem.
I do learned a lot from your suggestions.
Replied by chochoit on topic NEED HELP for configuring a XYYZ (2 motors on Y gantry) with linuxcnc 2.9
Have you ever homed the gantry?
(that is I suspect you have never got out of telop mode due to homing issues)
I got my system working.
Thank you for continuing follow my problem.
I do learned a lot from your suggestions.
Please Log in or Create an account to join the conversation.
18 Feb 2020 09:14 - 18 Feb 2020 09:27 #157691
by Bobi
Replied by Bobi on topic NEED HELP for configuring a XYYZ (2 motors on Y gantry) with linuxcnc 2.9
Hello, I`m now a Wheezy 2.9 user with gantry XYYZ machine. On ver. 2.7 my YY motors where connected together as one axis. Max Jog Velocity for the axis where 46000 mm/min. Now after update to 2.9 I have separate joints Y1 Y2 with homing sensors for each joint. But at the same Max Jog Velocity as V 2.7,( I mean 46000 mm/min) " joint 1, or joint 2 following error " message occurs. After reducing Max Velocity by half , the machine works ok, and the massage does not occur.
Where does the diffrence in Max Jog Velocity come from? Any ideas?
PS. The machine is based on stepper motors.
Where does the diffrence in Max Jog Velocity come from? Any ideas?
PS. The machine is based on stepper motors.
Last edit: 18 Feb 2020 09:27 by Bobi.
Please Log in or Create an account to join the conversation.
- captain chaos
- Offline
- Senior Member
Less
More
- Posts: 62
- Thank you received: 3
18 Feb 2020 10:10 #157695
by captain chaos
Replied by captain chaos on topic NEED HELP for configuring a XYYZ (2 motors on Y gantry) with linuxcnc 2.9
Have you checked your latency, after updating mine almost doubled, when from old Ubuntu 10.04 Linuxcnc3 to Wheezy 2.7 with Linux cnc2.8
cheers
Paul
cheers
Paul
Please Log in or Create an account to join the conversation.
- Configuring LinuxCNC
- Basic Configuration
- NEED HELP for configuring a XYYZ (2 motors on Y gantry) with linuxcnc 2.9
Time to create page: 0.095 seconds