Help with adding PlasmaC to base config + 7i76e

10 May 2020 05:29 - 10 May 2020 05:32 #167236 by Plasmaguy
Here's my latest try after adding the

net plasmac:arc-voltage-in hm2_7i76e.0.encoder.00.velocity => plasmac.arc-voltage-in

line to the end of the hal file.

Last edit: 10 May 2020 05:32 by Plasmaguy. Reason: add clarity

Please Log in or Create an account to join the conversation.

10 May 2020 05:34 #167237 by phillc54
The errors say:

You should have:

You need to remove the extra "7i76.0.0." from all the encoder lines
The following user(s) said Thank You: Plasmaguy

Please Log in or Create an account to join the conversation.

10 May 2020 15:15 - 10 May 2020 15:32 #167273 by Plasmaguy
Here I edited the base hal:

Here is configurator:

Here is the most recent error message:

Any ideas ?
Last edit: 10 May 2020 15:32 by Plasmaguy. Reason: uploaded wrong photo

Please Log in or Create an account to join the conversation.

10 May 2020 15:44 #167279 by PCW
as the message says -1 is invalid for a bit parameter
valid values for bits are 0,1 or true,false
The following user(s) said Thank You: Plasmaguy

Please Log in or Create an account to join the conversation.

10 May 2020 16:14 #167281 by Plasmaguy
Here is the edit

and the error


Please Log in or Create an account to join the conversation.

10 May 2020 16:57 #167285 by tommylight
The entries should be:

hm2_7i76e.0.encoder.00.filter 1
etc, as Phill mentioned earlier, if you'd bother to read.
You have them as
Encoder is not on the same address as IO pins, so not the same stuff is valid for them.

Please Log in or Create an account to join the conversation.

10 May 2020 17:07 #167289 by Plasmaguy
I tried them that way too with the same result but I'll give it another shot.

Please Log in or Create an account to join the conversation.

10 May 2020 18:59 - 10 May 2020 19:03 #167296 by Plasmaguy
Here's what I put in the configurator:

Here's the code attached to the end of my base hal file:

# Generated by PNCconf at Fri May 8 18:45:28 2020
# Using LinuxCNC version: UNAVAILABLE
# If you make changes to this file, they will be
# overwritten when you run PNCconf again

loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
loadrt hostmot2
loadrt hm2_eth board_ip="" config=" num_encoders=1 num_pwmgens=0 num_stepgens=3 sserial_port_0=00xxxx"
setp hm2_7i76e.0.watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.y,pid.z,pid.s

addf servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf servo-thread
addf servo-thread
addf servo-thread
addf servo-thread
addf hm2_7i76e.0.write servo-thread
setp hm2_7i76e.0.dpll.01.timer-us -50
setp hm2_7i76e.0.stepgen.timer-number 1

# external output signals

# external input signals

# --- PROBE-IN ---
net probe-in <= hm2_7i76e.0.7i76.0.0.input-07


setp pid.x.Pgain [JOINT_0]P
setp pid.x.Igain [JOINT_0]I
setp pid.x.Dgain [JOINT_0]D
setp pid.x.bias [JOINT_0]BIAS
setp pid.x.FF0 [JOINT_0]FF0
setp pid.x.FF1 [JOINT_0]FF1
setp pid.x.FF2 [JOINT_0]FF2
setp pid.x.deadband [JOINT_0]DEADBAND
setp pid.x.maxoutput [JOINT_0]MAX_OUTPUT
setp pid.x.error-previous-target true
setp pid.x.maxerror .0005

net x-index-enable <=> pid.x.index-enable
net x-enable => pid.x.enable
net x-pos-cmd => pid.x.command
net x-pos-fb =>
net x-output <= pid.x.output

# Step Gen signals/setup

setp hm2_7i76e.0.stepgen.00.dirsetup [JOINT_0]DIRSETUP
setp hm2_7i76e.0.stepgen.00.dirhold [JOINT_0]DIRHOLD
setp hm2_7i76e.0.stepgen.00.steplen [JOINT_0]STEPLEN
setp hm2_7i76e.0.stepgen.00.stepspace [JOINT_0]STEPSPACE
setp hm2_7i76e.0.stepgen.00.position-scale [JOINT_0]STEP_SCALE
setp hm2_7i76e.0.stepgen.00.step_type 0
setp hm2_7i76e.0.stepgen.00.control-type 1
setp hm2_7i76e.0.stepgen.00.maxaccel [JOINT_0]STEPGEN_MAXACCEL
setp hm2_7i76e.0.stepgen.00.maxvel [JOINT_0]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net x-pos-cmd <= joint.0.motor-pos-cmd
net x-vel-cmd <= joint.0.vel-cmd
net x-output <= hm2_7i76e.0.stepgen.00.velocity-cmd
net x-pos-fb <= hm2_7i76e.0.stepgen.00.position-fb
net x-pos-fb => joint.0.motor-pos-fb
net x-enable <= joint.0.amp-enable-out
net x-enable => hm2_7i76e.0.stepgen.00.enable

# ---setup home / limit switch signals---

net x-home-sw => joint.0.home-sw-in
net x-neg-limit => joint.0.neg-lim-sw-in
net x-pos-limit => joint.0.pos-lim-sw-in


setp pid.y.Pgain [JOINT_1]P
setp pid.y.Igain [JOINT_1]I
setp pid.y.Dgain [JOINT_1]D
setp pid.y.bias [JOINT_1]BIAS
setp pid.y.FF0 [JOINT_1]FF0
setp pid.y.FF1 [JOINT_1]FF1
setp pid.y.FF2 [JOINT_1]FF2
setp pid.y.deadband [JOINT_1]DEADBAND
setp pid.y.maxoutput [JOINT_1]MAX_OUTPUT
setp pid.y.error-previous-target true
setp pid.y.maxerror .0005

net y-index-enable <=> pid.y.index-enable
net y-enable => pid.y.enable
net y-pos-cmd => pid.y.command
net y-pos-fb =>
net y-output <= pid.y.output

# Step Gen signals/setup

setp hm2_7i76e.0.stepgen.01.dirsetup [JOINT_1]DIRSETUP
setp hm2_7i76e.0.stepgen.01.dirhold [JOINT_1]DIRHOLD
setp hm2_7i76e.0.stepgen.01.steplen [JOINT_1]STEPLEN
setp hm2_7i76e.0.stepgen.01.stepspace [JOINT_1]STEPSPACE
setp hm2_7i76e.0.stepgen.01.position-scale [JOINT_1]STEP_SCALE
setp hm2_7i76e.0.stepgen.01.step_type 0
setp hm2_7i76e.0.stepgen.01.control-type 1
setp hm2_7i76e.0.stepgen.01.maxaccel [JOINT_1]STEPGEN_MAXACCEL
setp hm2_7i76e.0.stepgen.01.maxvel [JOINT_1]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net y-pos-cmd <= joint.1.motor-pos-cmd
net y-vel-cmd <= joint.1.vel-cmd
net y-output <= hm2_7i76e.0.stepgen.01.velocity-cmd
net y-pos-fb <= hm2_7i76e.0.stepgen.01.position-fb
net y-pos-fb => joint.1.motor-pos-fb
net y-enable <= joint.1.amp-enable-out
net y-enable => hm2_7i76e.0.stepgen.01.enable

# ---setup home / limit switch signals---

net y-home-sw => joint.1.home-sw-in
net y-neg-limit => joint.1.neg-lim-sw-in
net y-pos-limit => joint.1.pos-lim-sw-in


setp pid.z.Pgain [JOINT_2]P
setp pid.z.Igain [JOINT_2]I
setp pid.z.Dgain [JOINT_2]D
setp pid.z.bias [JOINT_2]BIAS
setp pid.z.FF0 [JOINT_2]FF0
setp pid.z.FF1 [JOINT_2]FF1
setp pid.z.FF2 [JOINT_2]FF2
setp pid.z.deadband [JOINT_2]DEADBAND
setp pid.z.maxoutput [JOINT_2]MAX_OUTPUT
setp pid.z.error-previous-target true
setp pid.z.maxerror .0005

net z-index-enable <=> pid.z.index-enable
net z-enable => pid.z.enable
net z-pos-cmd => pid.z.command
net z-pos-fb =>
net z-output <= pid.z.output

# Step Gen signals/setup

setp hm2_7i76e.0.stepgen.02.dirsetup [JOINT_2]DIRSETUP
setp hm2_7i76e.0.stepgen.02.dirhold [JOINT_2]DIRHOLD
setp hm2_7i76e.0.stepgen.02.steplen [JOINT_2]STEPLEN
setp hm2_7i76e.0.stepgen.02.stepspace [JOINT_2]STEPSPACE
setp hm2_7i76e.0.stepgen.02.position-scale [JOINT_2]STEP_SCALE
setp hm2_7i76e.0.stepgen.02.step_type 0
setp hm2_7i76e.0.stepgen.02.control-type 1
setp hm2_7i76e.0.stepgen.02.maxaccel [JOINT_2]STEPGEN_MAXACCEL
setp hm2_7i76e.0.stepgen.02.maxvel [JOINT_2]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net z-pos-cmd <= joint.2.motor-pos-cmd
net z-vel-cmd <= joint.2.vel-cmd
net z-output <= hm2_7i76e.0.stepgen.02.velocity-cmd
net z-pos-fb <= hm2_7i76e.0.stepgen.02.position-fb
net z-pos-fb => joint.2.motor-pos-fb
net z-enable <= joint.2.amp-enable-out
net z-enable => hm2_7i76e.0.stepgen.02.enable

# ---setup home / limit switch signals---

net z-home-sw => joint.2.home-sw-in
net z-neg-limit => joint.2.neg-lim-sw-in
net z-pos-limit => joint.2.pos-lim-sw-in


setp pid.s.Pgain [SPINDLE_0]P
setp pid.s.Igain [SPINDLE_0]I
setp pid.s.Dgain [SPINDLE_0]D
setp pid.s.bias [SPINDLE_0]BIAS
setp pid.s.FF0 [SPINDLE_0]FF0
setp pid.s.FF1 [SPINDLE_0]FF1
setp pid.s.FF2 [SPINDLE_0]FF2
setp pid.s.deadband [SPINDLE_0]DEADBAND
setp pid.s.maxoutput [SPINDLE_0]MAX_OUTPUT
setp pid.s.error-previous-target true

net spindle-index-enable <=> pid.s.index-enable
net spindle-enable => pid.s.enable
net spindle-vel-cmd-rpm-abs => pid.s.command
net spindle-vel-fb-rpm-abs =>
net spindle-output <= pid.s.output

# ---digital potentionmeter output signals/setup---

setp hm2_7i76e.0.7i76.0.0.spinout-minlim [SPINDLE_0]OUTPUT_MIN_LIMIT
setp hm2_7i76e.0.7i76.0.0.spinout-maxlim [SPINDLE_0]OUTPUT_MAX_LIMIT
setp hm2_7i76e.0.7i76.0.0.spinout-scalemax [SPINDLE_0]OUTPUT_SCALE

net spindle-output => hm2_7i76e.0.7i76.0.0.spinout
net spindle-enable => hm2_7i76e.0.7i76.0.0.spinena
net spindle-ccw => hm2_7i76e.0.7i76.0.0.spindir

# ---setup spindle control signals---

net spindle-vel-cmd-rps <= spindle.0.speed-out-rps
net spindle-vel-cmd-rps-abs <= spindle.0.speed-out-rps-abs
net spindle-vel-cmd-rpm <= spindle.0.speed-out
net spindle-vel-cmd-rpm-abs <= spindle.0.speed-out-abs
net spindle-enable <= spindle.0.on
net spindle-cw <= spindle.0.forward
net spindle-ccw <= spindle.0.reverse
net spindle-brake <= spindle.0.brake
net spindle-revs => spindle.0.revs
net spindle-at-speed =>
net spindle-vel-fb-rps => spindle.0.speed-in
net spindle-index-enable <=> spindle.0.index-enable

# ---Setup spindle at speed signals---

sets spindle-at-speed true

# connect miscellaneous signals

# ---HALUI signals---

net axis-select-x
net jog-x-pos
net jog-x-neg halui.axis.x.minus
net jog-x-analog halui.axis.x.analog
net x-is-homed
net axis-select-y
net jog-y-pos
net jog-y-neg halui.axis.y.minus
net jog-y-analog halui.axis.y.analog
net y-is-homed
net axis-select-z
net jog-z-pos
net jog-z-neg halui.axis.z.minus
net jog-z-analog halui.axis.z.analog
net z-is-homed
net jog-selected-pos
net jog-selected-neg halui.axis.selected.minus
net spindle-manual-cw halui.spindle.0.forward
net spindle-manual-ccw halui.spindle.0.reverse
net spindle-manual-stop halui.spindle.0.stop
net machine-is-on
net jog-speed halui.axis.jog-speed
net MDI-mode

# ---coolant signals---

net coolant-mist <= iocontrol.0.coolant-mist
net coolant-flood <= iocontrol.0.coolant-flood

# ---probe signal---

net probe-in => motion.probe-input

# ---motion control signals---

net in-position <=
net machine-is-enabled <= motion.motion-enabled

# ---digital in / out signals---

# ---estop signals---

net estop-out <= iocontrol.0.user-enable-out
net estop-out => iocontrol.0.emc-enable-in

# ---toolchange signals for custom tool changer---

net tool-number <= iocontrol.0.tool-prep-number
net tool-change-request <= iocontrol.0.tool-change
net tool-change-confirmed => iocontrol.0.tool-changed
net tool-prepare-request <= iocontrol.0.tool-prepare
net tool-prepare-confirmed => iocontrol.0.tool-prepared

setp hm2_7i76e.0.encoder.00.scale 1
setp hm2_7i76e.0.encoder.00.filter 1
setp hm2_7i76e.0.encoder.00.counter-mode 1

net plasmac:arc-voltage-in hm2_7i76e.0.encoder.00 => plasmac.arc-voltage-in

Here's the error I get:

Last edit: 10 May 2020 19:03 by Plasmaguy.

Please Log in or Create an account to join the conversation.

11 May 2020 00:21 #167313 by snowgoer540
What you put in the configurator and what is in your hal files dont match up. You are still adding an extra 7i76.0 as Phill said before in the configurator.

Please Log in or Create an account to join the conversation.

11 May 2020 00:37 - 11 May 2020 00:40 #167314 by Plasmaguy
Yes that's what PCW said to enter in my configurator in

this reply.

You would not use the A hal pin on the encoder for a THCAD,
but rather the encoder velocity signal:


Last edit: 11 May 2020 00:40 by Plasmaguy.

Please Log in or Create an account to join the conversation.

Moderators: phillc54
Time to create page: 0.256 seconds
Powered by Kunena Forum