Search Results (Searched for: 7i77 spindle)
19 Aug 2024 12:43
Remove all the input and output plugs from the Mesa 7i77, power on everything and start LinuxCNC.
If that works, power off the machine, plug one of the connectors, turn on the machine, test connectors one by one.
When you find a connector that causes issues, start removing wires from it and test.
Do not remove wires or plugs while the machine is on.
Replied by tommylight on topic Pc reboot / 5i25(6i25) & 7i77
Pc reboot / 5i25(6i25) & 7i77
Category: Computers and Hardware
That points to a bad wiring issue with outputs or inputs, or power issues, or different potential between Mesa/lathe electronic/drives/spindle drive.
"""
Remove the lathe power plug, try again.
"""
We have started linuxcnc without lathe hw plugged in and it start until error of
missing I/O-information about door etc. When lathe hw is connected to 6i25 pc reboot
at line addf hm2_5i25.0.read servo-thread.
Remove all the input and output plugs from the Mesa 7i77, power on everything and start LinuxCNC.
If that works, power off the machine, plug one of the connectors, turn on the machine, test connectors one by one.
When you find a connector that causes issues, start removing wires from it and test.
Do not remove wires or plugs while the machine is on.
13 Aug 2024 01:50
7i77 watch dog catch 22 was created by Benb
7i77 watch dog catch 22
Category: Driver Boards
Question 1:
Is there an output pin for an external Estop/reset safety circuit to read the status of 7i77 WDT? If not, would it be feasible to use one of the existing pin outputs by Keeping this output pin ON while the watchdog timer has NOT bit. Here where the catch 22 comes into play, when the WDT bites, the hostmot2 driver disables the digital outputs therefore my external hardwired circuit will not be able to determine the WDT output pin status (see diagram Highlighted in RED). One way I can think of to solve this puzzle is to restrict the WDT from internally disabling the digital outputs, and have WDT just set a flag and let the hardwired safety circuit take care of disabling the power to the digital outputs. Or I am out to lunch?Question 2:
7i77 field terminal block has several terminals I am hoping to be able to keep the field power OFF to the digital outputs until the safety lockout circuit is reset and the field digital inputs and VIN powered while the ESTOP circuit is active. If you look at the wiring diagram, I need the numbers of the terminal blocks marked with question mark (highlited in green). Nomenclature:
CR# – CONTROL RELAY
MCR - MASTER CONTROL RELAY
F# - FUSE
DI – DIGITAL INPUT
DO – DIGITAL OUTPUT
PB – PUSH BUTTON
WDT – WATCH DOG TIMER
L1 - MAIN SUPPLY LINE 120 VAC
N - MAIN SUPPLY NEUTRAL
PL- Pilot Light A brief explanation to what this hardwired circuit does follows this diagram.
The wiring circuit diagram below is a hardwired circuit that will allow power to be removed from digital outputs, servos and spindle. The circuit achieves the following:
Is there an output pin for an external Estop/reset safety circuit to read the status of 7i77 WDT? If not, would it be feasible to use one of the existing pin outputs by Keeping this output pin ON while the watchdog timer has NOT bit. Here where the catch 22 comes into play, when the WDT bites, the hostmot2 driver disables the digital outputs therefore my external hardwired circuit will not be able to determine the WDT output pin status (see diagram Highlighted in RED). One way I can think of to solve this puzzle is to restrict the WDT from internally disabling the digital outputs, and have WDT just set a flag and let the hardwired safety circuit take care of disabling the power to the digital outputs. Or I am out to lunch?Question 2:
7i77 field terminal block has several terminals I am hoping to be able to keep the field power OFF to the digital outputs until the safety lockout circuit is reset and the field digital inputs and VIN powered while the ESTOP circuit is active. If you look at the wiring diagram, I need the numbers of the terminal blocks marked with question mark (highlited in green). Nomenclature:
CR# – CONTROL RELAY
MCR - MASTER CONTROL RELAY
F# - FUSE
DI – DIGITAL INPUT
DO – DIGITAL OUTPUT
PB – PUSH BUTTON
WDT – WATCH DOG TIMER
L1 - MAIN SUPPLY LINE 120 VAC
N - MAIN SUPPLY NEUTRAL
PL- Pilot Light A brief explanation to what this hardwired circuit does follows this diagram.
The wiring circuit diagram below is a hardwired circuit that will allow power to be removed from digital outputs, servos and spindle. The circuit achieves the following:
- If power is lost during operation the machine will not restart when power is re-established.
- If an Estop is activated or a fault occurs during operation, the circuit will inhibit (prevent) power to digital outputs, servos and spindle. The rest of the machine control circuit will stay in the ON state; this will enable you to troubleshoot and resume operation without major reinitialization of the machine.
- Machine will not restart until all faults are corrected and operator presses reset button.
10 Aug 2024 15:30
5x10 servo router rebuild - analog of step/dir with mesa card?
Category: General LinuxCNC Questions
I've got a 5' x 10' CNC router with a failed Mach 3 control. It has Yaskawa Servos (SGMGH-09ACA61) and was set up for step/dir with an ethernet smooth stepper. It was "open loop" with that control. It has four motors for the 3 main axis and a 5th motor for a rotary axis. I might not use the 5th axis but I do have a crazy idea for an automated dust collection "axis" that would probably use stepper motors.
I have a Mesa 7I76e that I bought several years ago for another machine that has yet to be completed and I think this would be my fastest/easiest control to drop in but would still leave me open loop to the control. Instead I've been thinking of running with analog servo signals and the encoder feedback into LinuxCNC using a 7I92TF with a 7I77 or a single 7I97T. It seems the 7I97T might be a bit light on general I/O since the machine has an ATC spindle and several other pneumatics that need to be controlled and sensed so I'm leaning towards the former combo.
Any suggestions wrt to Mesa card availability and the advantage of using analog vs step/dir in this application?
I have a Mesa 7I76e that I bought several years ago for another machine that has yet to be completed and I think this would be my fastest/easiest control to drop in but would still leave me open loop to the control. Instead I've been thinking of running with analog servo signals and the encoder feedback into LinuxCNC using a 7I92TF with a 7I77 or a single 7I97T. It seems the 7I97T might be a bit light on general I/O since the machine has an ATC spindle and several other pneumatics that need to be controlled and sensed so I'm leaning towards the former combo.
Any suggestions wrt to Mesa card availability and the advantage of using analog vs step/dir in this application?
30 Jul 2024 08:29
Replied by RotarySMP on topic Verify my Mesa selection
Verify my Mesa selection
Category: Driver Boards
Why a 7i96 and a 7i77? Can't the VFD be set up to accept an analog speed command, and therefore controlled by one of the free axis on the 7i77? These are both FPGA cards, so you end up with a lot of reduntant processing, and also a lot of unused features on the 7i96.
Are all your outputs on the same voltage? I ended up short of 24V outputs, as I had to put one rail of the 7i84 on 5V.
Good choice on a 7i73 in the user interface panel is a huge time saving in wiring reducing the wiring from the User interface down to the electrical panel to a single Cat 5E, plus one discrete for the E Stop.
Are you not using encoders for Jog/spindle/feed overides? These are slow enough to use normal pins and software encoder.
Have you considered 7i97/7i84/7i73?
Another option is the way I did it on my lathe. I split up all the functions with:
7i92 for the FPGA, plugged straight into:
7i85 interfacing the axis and spindle encoders, and providing 5 channels of RS-485 SSfor:
7i84 I/O (I might need to add a second one)
7/83 Analog servos
7/73 User control panel.
That leaves two spare RS-485 SS ports, so it will be easy to connect in the second 7i84 (once I find space for it in the electrical cabinet), and maybe a second 7i84 for jog wheels down on the apron.
Are all your outputs on the same voltage? I ended up short of 24V outputs, as I had to put one rail of the 7i84 on 5V.
Good choice on a 7i73 in the user interface panel is a huge time saving in wiring reducing the wiring from the User interface down to the electrical panel to a single Cat 5E, plus one discrete for the E Stop.
Are you not using encoders for Jog/spindle/feed overides? These are slow enough to use normal pins and software encoder.
Have you considered 7i97/7i84/7i73?
Another option is the way I did it on my lathe. I split up all the functions with:
7i92 for the FPGA, plugged straight into:
7i85 interfacing the axis and spindle encoders, and providing 5 channels of RS-485 SSfor:
7i84 I/O (I might need to add a second one)
7/83 Analog servos
7/73 User control panel.
That leaves two spare RS-485 SS ports, so it will be easy to connect in the second 7i84 (once I find space for it in the electrical cabinet), and maybe a second 7i84 for jog wheels down on the apron.
30 Jul 2024 05:28
Verify my Mesa selection was created by Krulli_Fräser
Verify my Mesa selection
Category: Driver Boards
Hello,
I am in the process of ordering the necessary components to retrofit my CNC mill. I just worked my way through the mesa selection guide and worked with the configuration tool. Now I would like your help verifying my selection so that as a beginner I don't make a costly mistake that could have been avoided.
The requirements are as follows:
3 analog servo drives with feedback from glass scales
1 Spindle vfd
3 mpg handwheels
34 digital inputs
18 digital outputs
At some point I would like to add physical buttons to the operators console, which would be realised with an 7i73 in the console.
The PC is in the operators console as well, and can only be connected to the mesa cards via ethernet.
In another post tommylight suggested I use the 7i97t, which can support my servomotors and the mpgs as well as a few inputs. Ideally i would expand this with a 7i76, however that is not available for me in europe.
Following the guide I came up with a different setup. As FPGA card I could use 7i96s and then connect 7i77 with the 25 pin connector. That leaves the smart serial connection for later use with the 7i73.
7i96s: Main FPGA board, controls spindle, 3 MPGs(6 inputs), 5 inputs, 6 outputs
7i77: controls the servo motors, takes the feedback from linear scales, 32 inputs, 16 outputs
7i73: keys and encoders on the operator control
so that should have me covered, or am I missing something?
I am in the process of ordering the necessary components to retrofit my CNC mill. I just worked my way through the mesa selection guide and worked with the configuration tool. Now I would like your help verifying my selection so that as a beginner I don't make a costly mistake that could have been avoided.
The requirements are as follows:
3 analog servo drives with feedback from glass scales
1 Spindle vfd
3 mpg handwheels
34 digital inputs
18 digital outputs
At some point I would like to add physical buttons to the operators console, which would be realised with an 7i73 in the console.
The PC is in the operators console as well, and can only be connected to the mesa cards via ethernet.
In another post tommylight suggested I use the 7i97t, which can support my servomotors and the mpgs as well as a few inputs. Ideally i would expand this with a 7i76, however that is not available for me in europe.
Following the guide I came up with a different setup. As FPGA card I could use 7i96s and then connect 7i77 with the 25 pin connector. That leaves the smart serial connection for later use with the 7i73.
7i96s: Main FPGA board, controls spindle, 3 MPGs(6 inputs), 5 inputs, 6 outputs
7i77: controls the servo motors, takes the feedback from linear scales, 32 inputs, 16 outputs
7i73: keys and encoders on the operator control
so that should have me covered, or am I missing something?
26 Jul 2024 10:45
Replied by Becksvill on topic big 5axis mazak horizontal cnc mill
big 5axis mazak horizontal cnc mill
Category: Show Your Stuff
Hey guys
just a quick update here.
we worked out the original diagrams of the machine and connected up a lot of the hydraulics to allow basic operation of the machine
first we connected up the hydraulic pump and checked it was rotating the correct direction. for those that don't know if a three phase motor is going backwards just swap any 2 of the 3 wires and it will reverse
so we swapped the 2 wires on the main line in and then repowered up the machine
halcmd -fk is your friend here
just type it into the terminal and then you get auto complete of all the loaded pins on the machine and signals etc. It is a seriously awesome tool
just to be crystal clear. "quote marks" mean that this is a Hal command
also i am guessing at the actual pin names just to be clear they are probably not correct..
so the command "setp" turns a pin on or off
setp hm2-7i92.0.7i77.output.00 1 (this will turn the first output on the mesa 7i77 card which will turn a relay on which will then turn on my hydraulic part.
we did this for all the hydraulics and got to a stage where we could remove the tool in spindle
spindle is hydraulic which is nice and easy
next plan of attack was to get the pallet changer going
current status is all hydraulics are working. just need to get the motor working to rotate the pallets and swap them and it should be working
I will code a few things in classic ladder just to make it automatic. and then i need to go through and setup timouts just in case there are other issues and i am not watching.
and thats it for now
hopefully next week i get more time to work on it and get some videos going etc
cheers
andrew
just a quick update here.
we worked out the original diagrams of the machine and connected up a lot of the hydraulics to allow basic operation of the machine
first we connected up the hydraulic pump and checked it was rotating the correct direction. for those that don't know if a three phase motor is going backwards just swap any 2 of the 3 wires and it will reverse
so we swapped the 2 wires on the main line in and then repowered up the machine
halcmd -fk is your friend here
just type it into the terminal and then you get auto complete of all the loaded pins on the machine and signals etc. It is a seriously awesome tool
just to be crystal clear. "quote marks" mean that this is a Hal command
also i am guessing at the actual pin names just to be clear they are probably not correct..
so the command "setp" turns a pin on or off
setp hm2-7i92.0.7i77.output.00 1 (this will turn the first output on the mesa 7i77 card which will turn a relay on which will then turn on my hydraulic part.
we did this for all the hydraulics and got to a stage where we could remove the tool in spindle
spindle is hydraulic which is nice and easy
next plan of attack was to get the pallet changer going
current status is all hydraulics are working. just need to get the motor working to rotate the pallets and swap them and it should be working
I will code a few things in classic ladder just to make it automatic. and then i need to go through and setup timouts just in case there are other issues and i am not watching.
and thats it for now
hopefully next week i get more time to work on it and get some videos going etc
cheers
andrew
13 Jun 2024 14:16 - 13 Jun 2024 14:24
Replied by PCW on topic 7i96s +7i83 trough 7i44 is it possible?
7i96s +7i83 trough 7i44 is it possible?
Category: Driver Boards
The issue with a 7I96S+7I74 is that there's nowhere to add the second encoder
(well you could have strange 7I96S+7I74 firmware that puts one differential encoder
on the RX lines of 3 of the 7I74s RJ45 connectors)
Edit: you need three encoders: X, Z, Spindle.
You could use a 7I96S+7I85+7I83 but a 7I96S+7I77 might make more sense
(well you could have strange 7I96S+7I74 firmware that puts one differential encoder
on the RX lines of 3 of the 7I74s RJ45 connectors)
Edit: you need three encoders: X, Z, Spindle.
You could use a 7I96S+7I85+7I83 but a 7I96S+7I77 might make more sense
11 Jun 2024 22:57
Replied by Hastrh2o on topic mesaCT, 7i95t and SPINx
mesaCT, 7i95t and SPINx
Category: Basic Configuration
Hi,
I'm configuring a kind of lathe with one 5i25 and two 7i77 and I'm facing the same problem : in the spindle tab of Mesa CT, I can't select anything; all buttons are greyed out.
Where does it come from ?
Jôrg, did you terminate the configuration by hand or with Mesa CT? You did'nt explained what's wrong with your spindle tab.
I've another problem with analog outputs but I just saw Peter's answer (forum.linuxcnc.org/24-hal-components/528...how-and-is-not-found) so it should be ok. In case it would be related... I would try it tomorrow.
I'm configuring a kind of lathe with one 5i25 and two 7i77 and I'm facing the same problem : in the spindle tab of Mesa CT, I can't select anything; all buttons are greyed out.
Where does it come from ?
Jôrg, did you terminate the configuration by hand or with Mesa CT? You did'nt explained what's wrong with your spindle tab.
I've another problem with analog outputs but I just saw Peter's answer (forum.linuxcnc.org/24-hal-components/528...how-and-is-not-found) so it should be ok. In case it would be related... I would try it tomorrow.
31 May 2024 17:23
7i77-Analog Output TB5 does not appear in HalShow and is not found
Category: HAL
Hello everyone, please, I need to configure the analog outputs of the 7i77d board that is connected to the 7i96s board. The digital outputs and inputs already appear in the HalShow figure attached below. But unfortunately nothing appears regarding analog inputs and outputs.
The 7i96s board has already been updated with 7i96s_7i77d.bin, the green LED lights up when the 7i96s board is connected and run by linuxCNC, the 7i77 digital inputs and outputs are appearing and being activated in LinuxCNC. But the analog part doesn't appear at all.
I tried to use the Pncconf Wizard to have a graphic example of how to configure the analog part of the 7i96s with the 7i77d, but unfortunately this newer version of the board is not available. So, following previous recommendations, I used 7i92 with 7i77 as examples to generate the necessary Hal files as an example, I edited the name 7i92 to 7i96s, but I did not get the satisfactory result, the error that was not found appeared: . /7i96s_7i77analogico1.hal:64: parameter or pin 'hm2_7i96s.0.7i77.0.1.analogout0-scalemax' not found
How do I do the basic configuration in HAL so that hm2_7i96s.0.7i77.0.1.analogout0... appears?
# Generated by PNCconf at Fri May 31 13:19:30 2024
# Using LinuxCNC version: Master (2.9)
# If you make changes to this file, they will be
# overwritten when you run PNCconf again
loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
loadrt hostmot2
#loadrt hm2_eth board_ip="10.10.10.10" config="num_encoders=6 num_pwmgens=0 num_stepgens=0 sserial_port_0=000xxxxx"
loadrt hm2_eth board_ip="10.10.10.10" config="num_encoders=1 num_pwmgens=1 num_stepgens=5 sserial_port_0=0xxxxxxx"
#setp hm2_7i92.0.watchdog.timeout_ns 5000000
setp hm2_7i96s.0.pwmgen.pwm_frequency 20000
setp hm2_7i96s.0.pwmgen.pdm_frequency 6000000
setp hm2_7i96s.0.watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.y,pid.z,pid.a,pid.s
#addf hm2_7i92.0.read servo-thread
addf hm2_7i96s.0.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf pid.x.do-pid-calcs servo-thread
addf pid.y.do-pid-calcs servo-thread
addf pid.z.do-pid-calcs servo-thread
addf pid.a.do-pid-calcs servo-thread
addf pid.s.do-pid-calcs servo-thread
#addf hm2_7i92.0.write servo-thread
addf hm2_7i96s.0.write servo-thread
setp hm2_7i96s.0.dpll.01.timer-us -50
setp hm2_7i96s.0.stepgen.timer-number 1
# external output signals
# external input signals
#*******************
# AXIS X JOINT 0
#*******************
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
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 => pid.x.feedback
net x-output <= pid.x.output
# ---PWM Generator signals/setup---
setp [JOINT_0]OUTPUT_SCALE
setp hm2_7i96s.0.7i77.0.1.analogout0-minlim [JOINT_0]OUTPUT_MIN_LIMIT
setp hm2_7i96s.0.7i77.0.1.analogout0-maxlim [JOINT_0]OUTPUT_MAX_LIMIT
net x-output => hm2_7i96s.0.7i77.0.1.analogout0
net x-pos-cmd <= joint.0.motor-pos-cmd
net x-enable <= joint.0.amp-enable-out
# enable _all_ sserial pwmgens
net x-enable => hm2_7i96s.0.7i77.0.1.analogena
# ---Encoder feedback signals/setup---
setp hm2_7i96s.0.encoder.00.counter-mode 0
setp hm2_7i96s.0.encoder.00.filter 1
setp hm2_7i96s.0.encoder.00.index-invert 0
setp hm2_7i96s.0.encoder.00.index-mask 0
setp hm2_7i96s.0.encoder.00.index-mask-invert 0
setp hm2_7i96s.0.encoder.00.scale [JOINT_0]ENCODER_SCALE
net x-pos-fb <= hm2_7i96s.0.encoder.00.position
net x-vel-fb <= hm2_7i96s.0.encoder.00.velocity
net x-pos-fb => joint.0.motor-pos-fb
net x-index-enable joint.0.index-enable <=> hm2_7i96s.0.encoder.00.index-enable
net x-pos-rawcounts <= hm2_7i96s.0.encoder.00.rawcounts
# ---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
#*******************
# AXIS Y JOINT 1
#*******************
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
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 => pid.y.feedback
net y-output <= pid.y.output
# ---PWM Generator signals/setup---
setp hm2_7i96s.0.7i77.0.1.analogout1-scalemax [JOINT_1]OUTPUT_SCALE
setp hm2_7i96s.0.7i77.0.1.analogout1-minlim [JOINT_1]OUTPUT_MIN_LIMIT
setp hm2_7i96s.0.7i77.0.1.analogout1-maxlim [JOINT_1]OUTPUT_MAX_LIMIT
net y-output => hm2_7i96s.0.7i77.0.1.analogout1
net y-pos-cmd <= joint.1.motor-pos-cmd
net y-enable <= joint.1.amp-enable-out
# ---Encoder feedback signals/setup---
setp hm2_7i96s.0.encoder.01.counter-mode 0
setp hm2_7i96s.0.encoder.01.filter 1
setp hm2_7i96s.0.encoder.01.index-invert 0
setp hm2_7i96s.0.encoder.01.index-mask 0
setp hm2_7i96s.0.encoder.01.index-mask-invert 0
setp hm2_7i96s.0.encoder.01.scale [JOINT_1]ENCODER_SCALE
net y-pos-fb <= hm2_7i96s.0.encoder.01.position
net y-vel-fb <= hm2_7i96s.0.encoder.01.velocity
net y-pos-fb => joint.1.motor-pos-fb
net y-index-enable joint.1.index-enable <=> hm2_7i96s.0.encoder.01.index-enable
net y-pos-rawcounts <= hm2_7i96s.0.encoder.01.rawcounts
# ---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
#*******************
# AXIS Z JOINT 2
#*******************
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
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 => pid.z.feedback
net z-output <= pid.z.output
# ---PWM Generator signals/setup---
setp hm2_7i96s.0.7i77.0.1.analogout2-scalemax [JOINT_2]OUTPUT_SCALE
setp hm2_7i96s.0.7i77.0.1.analogout2-minlim [JOINT_2]OUTPUT_MIN_LIMIT
setp hm2_7i96s.0.7i77.0.1.analogout2-maxlim [JOINT_2]OUTPUT_MAX_LIMIT
net z-output => hm2_7i96s.0.7i77.0.1.analogout2
net z-pos-cmd <= joint.2.motor-pos-cmd
net z-enable <= joint.2.amp-enable-out
# ---Encoder feedback signals/setup---
setp hm2_7i96s.0.encoder.02.counter-mode 0
setp hm2_7i96s.0.encoder.02.filter 1
setp hm2_7i96s.0.encoder.02.index-invert 0
setp hm2_7i96s.0.encoder.02.index-mask 0
setp hm2_7i96s.0.encoder.02.index-mask-invert 0
setp hm2_7i96s.0.encoder.02.scale [JOINT_2]ENCODER_SCALE
net z-pos-fb <= hm2_7i96s.0.encoder.02.position
net z-vel-fb <= hm2_7i96s.0.encoder.02.velocity
net z-pos-fb => joint.2.motor-pos-fb
net z-index-enable joint.2.index-enable <=> hm2_7i96s.0.encoder.02.index-enable
net z-pos-rawcounts <= hm2_7i96s.0.encoder.02.rawcounts
# ---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
#*******************
# AXIS A JOINT 3
#*******************
setp pid.a.Pgain [JOINT_3]P
setp pid.a.Igain [JOINT_3]I
setp pid.a.Dgain [JOINT_3]D
setp pid.a.bias [JOINT_3]BIAS
setp pid.a.FF0 [JOINT_3]FF0
setp pid.a.FF1 [JOINT_3]FF1
setp pid.a.FF2 [JOINT_3]FF2
setp pid.a.deadband [JOINT_3]DEADBAND
setp pid.a.maxoutput [JOINT_3]MAX_OUTPUT
setp pid.a.error-previous-target true
net a-index-enable => pid.a.index-enable
net a-enable => pid.a.enable
net a-pos-cmd => pid.a.command
net a-pos-fb => pid.a.feedback
net a-output <= pid.a.output
# ---PWM Generator signals/setup---
setp hm2_7i96s.0.7i77.0.1.analogout3-scalemax [JOINT_3]OUTPUT_SCALE
setp hm2_7i96s.0.7i77.0.1.analogout3-minlim [JOINT_3]OUTPUT_MIN_LIMIT
setp hm2_7i96s.0.7i77.0.1.analogout3-maxlim [JOINT_3]OUTPUT_MAX_LIMIT
net a-output => hm2_7i96s.0.7i77.0.1.analogout3
net a-pos-cmd <= joint.3.motor-pos-cmd
net a-enable <= joint.3.amp-enable-out
# ---Encoder feedback signals/setup---
setp hm2_7i96s.0.encoder.03.counter-mode 0
setp hm2_7i96s.0.encoder.03.filter 1
setp hm2_7i96s.0.encoder.03.index-invert 0
setp hm2_7i96s.0.encoder.03.index-mask 0
setp hm2_7i96s.0.encoder.03.index-mask-invert 0
setp hm2_7i96s.0.encoder.03.scale [JOINT_3]ENCODER_SCALE
net a-pos-fb <= hm2_7i96s.0.encoder.03.position
net a-vel-fb <= hm2_7i96s.0.encoder.03.velocity
net a-pos-fb => joint.3.motor-pos-fb
net a-index-enable joint.3.index-enable <=> hm2_7i96s.0.encoder.03.index-enable
net a-pos-rawcounts <= hm2_7i96s.0.encoder.03.rawcounts
# ---setup home / limit switch signals---
net a-home-sw => joint.3.home-sw-in
net a-neg-limit => joint.3.neg-lim-sw-in
net a-pos-limit => joint.3.pos-lim-sw-in
#*******************
# SPINDLE
#*******************
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 => pid.s.command
net spindle-vel-fb-rpm => pid.s.feedback
net spindle-output <= pid.s.output
# ---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 => spindle.0.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 halui.axis.x.select
net jog-x-pos halui.axis.x.plus
net jog-x-neg halui.axis.x.minus
net jog-x-analog halui.axis.x.analog
net x-is-homed halui.joint.0.is-homed
net axis-select-y halui.axis.y.select
net jog-y-pos halui.axis.y.plus
net jog-y-neg halui.axis.y.minus
net jog-y-analog halui.axis.y.analog
net y-is-homed halui.joint.1.is-homed
net axis-select-z halui.axis.z.select
net jog-z-pos halui.axis.z.plus
net jog-z-neg halui.axis.z.minus
net jog-z-analog halui.axis.z.analog
net z-is-homed halui.joint.2.is-homed
net axis-select-a halui.axis.a.select
net jog-a-pos halui.axis.a.plus
net jog-a-neg halui.axis.a.minus
net jog-a-analog halui.axis.a.analog
net a-is-homed halui.joint.3.is-homed
net jog-selected-pos halui.axis.selected.plus
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 halui.machine.is-on
net jog-speed halui.axis.jog-speed
net MDI-mode halui.mode.is-mdi
# ---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 <= motion.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
# ---manual tool change signals---
net tool-change-request <= iocontrol.0.tool-change
net tool-change-confirmed => iocontrol.0.tool-changed
net tool-number <= iocontrol.0.tool-prep-number
# ---Use external manual tool change dialog---
loadusr -W hal_manualtoolchange
net tool-change-request => hal_manualtoolchange.change
net tool-change-confirmed <= hal_manualtoolchange.changed
net tool-number => hal_manualtoolchange.number
# ---ignore tool prepare requests---
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
The 7i96s board has already been updated with 7i96s_7i77d.bin, the green LED lights up when the 7i96s board is connected and run by linuxCNC, the 7i77 digital inputs and outputs are appearing and being activated in LinuxCNC. But the analog part doesn't appear at all.
I tried to use the Pncconf Wizard to have a graphic example of how to configure the analog part of the 7i96s with the 7i77d, but unfortunately this newer version of the board is not available. So, following previous recommendations, I used 7i92 with 7i77 as examples to generate the necessary Hal files as an example, I edited the name 7i92 to 7i96s, but I did not get the satisfactory result, the error that was not found appeared: . /7i96s_7i77analogico1.hal:64: parameter or pin 'hm2_7i96s.0.7i77.0.1.analogout0-scalemax' not found
How do I do the basic configuration in HAL so that hm2_7i96s.0.7i77.0.1.analogout0... appears?
# Generated by PNCconf at Fri May 31 13:19:30 2024
# Using LinuxCNC version: Master (2.9)
# If you make changes to this file, they will be
# overwritten when you run PNCconf again
loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
loadrt hostmot2
#loadrt hm2_eth board_ip="10.10.10.10" config="num_encoders=6 num_pwmgens=0 num_stepgens=0 sserial_port_0=000xxxxx"
loadrt hm2_eth board_ip="10.10.10.10" config="num_encoders=1 num_pwmgens=1 num_stepgens=5 sserial_port_0=0xxxxxxx"
#setp hm2_7i92.0.watchdog.timeout_ns 5000000
setp hm2_7i96s.0.pwmgen.pwm_frequency 20000
setp hm2_7i96s.0.pwmgen.pdm_frequency 6000000
setp hm2_7i96s.0.watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.y,pid.z,pid.a,pid.s
#addf hm2_7i92.0.read servo-thread
addf hm2_7i96s.0.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf pid.x.do-pid-calcs servo-thread
addf pid.y.do-pid-calcs servo-thread
addf pid.z.do-pid-calcs servo-thread
addf pid.a.do-pid-calcs servo-thread
addf pid.s.do-pid-calcs servo-thread
#addf hm2_7i92.0.write servo-thread
addf hm2_7i96s.0.write servo-thread
setp hm2_7i96s.0.dpll.01.timer-us -50
setp hm2_7i96s.0.stepgen.timer-number 1
# external output signals
# external input signals
#*******************
# AXIS X JOINT 0
#*******************
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
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 => pid.x.feedback
net x-output <= pid.x.output
# ---PWM Generator signals/setup---
setp [JOINT_0]OUTPUT_SCALE
setp hm2_7i96s.0.7i77.0.1.analogout0-minlim [JOINT_0]OUTPUT_MIN_LIMIT
setp hm2_7i96s.0.7i77.0.1.analogout0-maxlim [JOINT_0]OUTPUT_MAX_LIMIT
net x-output => hm2_7i96s.0.7i77.0.1.analogout0
net x-pos-cmd <= joint.0.motor-pos-cmd
net x-enable <= joint.0.amp-enable-out
# enable _all_ sserial pwmgens
net x-enable => hm2_7i96s.0.7i77.0.1.analogena
# ---Encoder feedback signals/setup---
setp hm2_7i96s.0.encoder.00.counter-mode 0
setp hm2_7i96s.0.encoder.00.filter 1
setp hm2_7i96s.0.encoder.00.index-invert 0
setp hm2_7i96s.0.encoder.00.index-mask 0
setp hm2_7i96s.0.encoder.00.index-mask-invert 0
setp hm2_7i96s.0.encoder.00.scale [JOINT_0]ENCODER_SCALE
net x-pos-fb <= hm2_7i96s.0.encoder.00.position
net x-vel-fb <= hm2_7i96s.0.encoder.00.velocity
net x-pos-fb => joint.0.motor-pos-fb
net x-index-enable joint.0.index-enable <=> hm2_7i96s.0.encoder.00.index-enable
net x-pos-rawcounts <= hm2_7i96s.0.encoder.00.rawcounts
# ---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
#*******************
# AXIS Y JOINT 1
#*******************
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
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 => pid.y.feedback
net y-output <= pid.y.output
# ---PWM Generator signals/setup---
setp hm2_7i96s.0.7i77.0.1.analogout1-scalemax [JOINT_1]OUTPUT_SCALE
setp hm2_7i96s.0.7i77.0.1.analogout1-minlim [JOINT_1]OUTPUT_MIN_LIMIT
setp hm2_7i96s.0.7i77.0.1.analogout1-maxlim [JOINT_1]OUTPUT_MAX_LIMIT
net y-output => hm2_7i96s.0.7i77.0.1.analogout1
net y-pos-cmd <= joint.1.motor-pos-cmd
net y-enable <= joint.1.amp-enable-out
# ---Encoder feedback signals/setup---
setp hm2_7i96s.0.encoder.01.counter-mode 0
setp hm2_7i96s.0.encoder.01.filter 1
setp hm2_7i96s.0.encoder.01.index-invert 0
setp hm2_7i96s.0.encoder.01.index-mask 0
setp hm2_7i96s.0.encoder.01.index-mask-invert 0
setp hm2_7i96s.0.encoder.01.scale [JOINT_1]ENCODER_SCALE
net y-pos-fb <= hm2_7i96s.0.encoder.01.position
net y-vel-fb <= hm2_7i96s.0.encoder.01.velocity
net y-pos-fb => joint.1.motor-pos-fb
net y-index-enable joint.1.index-enable <=> hm2_7i96s.0.encoder.01.index-enable
net y-pos-rawcounts <= hm2_7i96s.0.encoder.01.rawcounts
# ---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
#*******************
# AXIS Z JOINT 2
#*******************
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
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 => pid.z.feedback
net z-output <= pid.z.output
# ---PWM Generator signals/setup---
setp hm2_7i96s.0.7i77.0.1.analogout2-scalemax [JOINT_2]OUTPUT_SCALE
setp hm2_7i96s.0.7i77.0.1.analogout2-minlim [JOINT_2]OUTPUT_MIN_LIMIT
setp hm2_7i96s.0.7i77.0.1.analogout2-maxlim [JOINT_2]OUTPUT_MAX_LIMIT
net z-output => hm2_7i96s.0.7i77.0.1.analogout2
net z-pos-cmd <= joint.2.motor-pos-cmd
net z-enable <= joint.2.amp-enable-out
# ---Encoder feedback signals/setup---
setp hm2_7i96s.0.encoder.02.counter-mode 0
setp hm2_7i96s.0.encoder.02.filter 1
setp hm2_7i96s.0.encoder.02.index-invert 0
setp hm2_7i96s.0.encoder.02.index-mask 0
setp hm2_7i96s.0.encoder.02.index-mask-invert 0
setp hm2_7i96s.0.encoder.02.scale [JOINT_2]ENCODER_SCALE
net z-pos-fb <= hm2_7i96s.0.encoder.02.position
net z-vel-fb <= hm2_7i96s.0.encoder.02.velocity
net z-pos-fb => joint.2.motor-pos-fb
net z-index-enable joint.2.index-enable <=> hm2_7i96s.0.encoder.02.index-enable
net z-pos-rawcounts <= hm2_7i96s.0.encoder.02.rawcounts
# ---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
#*******************
# AXIS A JOINT 3
#*******************
setp pid.a.Pgain [JOINT_3]P
setp pid.a.Igain [JOINT_3]I
setp pid.a.Dgain [JOINT_3]D
setp pid.a.bias [JOINT_3]BIAS
setp pid.a.FF0 [JOINT_3]FF0
setp pid.a.FF1 [JOINT_3]FF1
setp pid.a.FF2 [JOINT_3]FF2
setp pid.a.deadband [JOINT_3]DEADBAND
setp pid.a.maxoutput [JOINT_3]MAX_OUTPUT
setp pid.a.error-previous-target true
net a-index-enable => pid.a.index-enable
net a-enable => pid.a.enable
net a-pos-cmd => pid.a.command
net a-pos-fb => pid.a.feedback
net a-output <= pid.a.output
# ---PWM Generator signals/setup---
setp hm2_7i96s.0.7i77.0.1.analogout3-scalemax [JOINT_3]OUTPUT_SCALE
setp hm2_7i96s.0.7i77.0.1.analogout3-minlim [JOINT_3]OUTPUT_MIN_LIMIT
setp hm2_7i96s.0.7i77.0.1.analogout3-maxlim [JOINT_3]OUTPUT_MAX_LIMIT
net a-output => hm2_7i96s.0.7i77.0.1.analogout3
net a-pos-cmd <= joint.3.motor-pos-cmd
net a-enable <= joint.3.amp-enable-out
# ---Encoder feedback signals/setup---
setp hm2_7i96s.0.encoder.03.counter-mode 0
setp hm2_7i96s.0.encoder.03.filter 1
setp hm2_7i96s.0.encoder.03.index-invert 0
setp hm2_7i96s.0.encoder.03.index-mask 0
setp hm2_7i96s.0.encoder.03.index-mask-invert 0
setp hm2_7i96s.0.encoder.03.scale [JOINT_3]ENCODER_SCALE
net a-pos-fb <= hm2_7i96s.0.encoder.03.position
net a-vel-fb <= hm2_7i96s.0.encoder.03.velocity
net a-pos-fb => joint.3.motor-pos-fb
net a-index-enable joint.3.index-enable <=> hm2_7i96s.0.encoder.03.index-enable
net a-pos-rawcounts <= hm2_7i96s.0.encoder.03.rawcounts
# ---setup home / limit switch signals---
net a-home-sw => joint.3.home-sw-in
net a-neg-limit => joint.3.neg-lim-sw-in
net a-pos-limit => joint.3.pos-lim-sw-in
#*******************
# SPINDLE
#*******************
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 => pid.s.command
net spindle-vel-fb-rpm => pid.s.feedback
net spindle-output <= pid.s.output
# ---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 => spindle.0.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 halui.axis.x.select
net jog-x-pos halui.axis.x.plus
net jog-x-neg halui.axis.x.minus
net jog-x-analog halui.axis.x.analog
net x-is-homed halui.joint.0.is-homed
net axis-select-y halui.axis.y.select
net jog-y-pos halui.axis.y.plus
net jog-y-neg halui.axis.y.minus
net jog-y-analog halui.axis.y.analog
net y-is-homed halui.joint.1.is-homed
net axis-select-z halui.axis.z.select
net jog-z-pos halui.axis.z.plus
net jog-z-neg halui.axis.z.minus
net jog-z-analog halui.axis.z.analog
net z-is-homed halui.joint.2.is-homed
net axis-select-a halui.axis.a.select
net jog-a-pos halui.axis.a.plus
net jog-a-neg halui.axis.a.minus
net jog-a-analog halui.axis.a.analog
net a-is-homed halui.joint.3.is-homed
net jog-selected-pos halui.axis.selected.plus
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 halui.machine.is-on
net jog-speed halui.axis.jog-speed
net MDI-mode halui.mode.is-mdi
# ---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 <= motion.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
# ---manual tool change signals---
net tool-change-request <= iocontrol.0.tool-change
net tool-change-confirmed => iocontrol.0.tool-changed
net tool-number <= iocontrol.0.tool-prep-number
# ---Use external manual tool change dialog---
loadusr -W hal_manualtoolchange
net tool-change-request => hal_manualtoolchange.change
net tool-change-confirmed <= hal_manualtoolchange.changed
net tool-number => hal_manualtoolchange.number
# ---ignore tool prepare requests---
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
23 May 2024 21:55
Replied by PCW on topic spindle.0.on already link to spindle-enable
spindle.0.on already link to spindle-enable
Category: HAL
What you show is OK:net lube-ps-float-sw <= hm2_5i25.0.7i77.0.0.input-09
net lube-ps-float-sw => oillow.trigger
There must be another connection to hm2_5i25.0.7i77.0.0.input-09
elsewhere in a hal file
net lube-ps-float-sw => oillow.trigger
There must be another connection to hm2_5i25.0.7i77.0.0.input-09
elsewhere in a hal file
23 May 2024 21:27
Replied by greg23_78 on topic spindle.0.on already link to spindle-enable
spindle.0.on already link to spindle-enable
Category: HAL
thank you, it works perfectly.
But what's wrong with my programming?
Because I have the same problem with the message.comp"hm2_5i25.0.7i77.0.0.input-09 is already link to lube-ps-float-sw"
But what's wrong with my programming?
Because I have the same problem with the message.comp
net lube-ps-float-sw <= hm2_5i25.0.7i77.0.0.input-09
net lube-ps-float-sw => oillow.trigger
23 May 2024 19:45
spindle.0.on already link to spindle-enable was created by greg23_78
spindle.0.on already link to spindle-enable
Category: HAL
I have a problem to linking my pin spindle.0.on to another signal.
the error message is " spindle.0.on already link to spindle-enable "
my code
How can i connect spindle.0.on to my lube output ?
the error message is " spindle.0.on already link to spindle-enable "
my code
# ---SPINDLE---
net spindle-enable <= spindle.0.on
net spindle-enable => gearchange.0.spindle-on => hm2_5i25.0.7i77.0.1.spinena
# ---LUBE---
net machine-is-enabled <= motion.motion-enabled
net machine-is-enabled => and2.0.in0
net spindle-running <= spindle.0.on
net spindle-running => and2.0.in1
net lube-run <= and2.0.out
net lube-run => hm2_5i25.0.7i77.0.0.output-00
net lube-ps-float-sw <= hm2_5i25.0.7i77.0.0.input-09
net lube-ps-float-sw => oillow.trigger
How can i connect spindle.0.on to my lube output ?
20 May 2024 18:03 - 20 May 2024 18:03
feedback of motor frequency using VFD analog output? was created by greg23_78
feedback of motor frequency using VFD analog output?
Category: Advanced Configuration
I use a vfd to rotate my spindle. my vfd has the option of a 4-20 or 0-10V analog output to provide feedback on the motor frequency.
is it possible to use this output on a 7i77 board as such? or do i need to invest in hardware?
is it possible to use this output on a 7i77 board as such? or do i need to invest in hardware?
20 May 2024 12:55
problem or2 for select low gear was created by greg23_78
problem or2 for select low gear
Category: HAL
I have a small problem with my gearbox, I would like to force my low gear to prevent my spindle head from turning when I change my tool (my carousel makes my spindle turn a few degrees and the next tool is no longer in front of my centring pin).
To do this, I use or2.
before my modification, my speed change worked perfectly when I rotated my spindle, but since I've tried to force the gear, my gear no longer works.
what mistake did i make?
To do this, I use or2.
before my modification, my speed change worked perfectly when I rotated my spindle, but since I've tried to force the gear, my gear no longer works.
loadrt or2 count=2
addf or2.0 servo-thread
net low-gear-carousel motion.digital-out-07
net low-gear-no-delayed gearchange.0.low-gear => timedelay.3.in
net low-gear-delayed <= timedelay.3.out
net low-gear-delayed => or2.1.in0
net low-gear-carousel => or2.1.in1
net low-gear-or2 <= or2.1.out
net low-gear-or2 => hm2_5i25.0.7i77.0.0.output-03
what mistake did i make?
19 May 2024 14:10
pncconf Mesa 5i25t_7i77_7i74 was created by pietxs
pncconf Mesa 5i25t_7i77_7i74
Category: General LinuxCNC Questions
Hello, I have described the firmware of the 5i25t using mesaflash with bin file 5i25t_7i77_7174. When LinuxCNC starts, these are also present as pins in the Hal configuration.
Now I would like to create a configuration via pncconf.
I need 4 axes + spindle including encoder analog output and PWM generators
Unfortunately, the 5i25t is also found for me on Discovered Device, but I cannot activate any PWM generators. There is also the 7i77 I/O (SS#0) tab, but there are only TB7 and TB8. But I need TB5 for configuration
Is there a way to store the configuration in the lib/firmware/hm2 directory?
Does anyone have this firmware or the corresponding pin file?
Can the configuration even be carried out like this or do I have to use the HAL. edit manually.
It would also be necessary to configure the 7i74 connected to P2 (5i25t) or the 7i70 and 7i71 via pncconf.
Thank you very much for tips
Now I would like to create a configuration via pncconf.
I need 4 axes + spindle including encoder analog output and PWM generators
Unfortunately, the 5i25t is also found for me on Discovered Device, but I cannot activate any PWM generators. There is also the 7i77 I/O (SS#0) tab, but there are only TB7 and TB8. But I need TB5 for configuration
Is there a way to store the configuration in the lib/firmware/hm2 directory?
Does anyone have this firmware or the corresponding pin file?
Can the configuration even be carried out like this or do I have to use the HAL. edit manually.
It would also be necessary to configure the 7i74 connected to P2 (5i25t) or the 7i70 and 7i71 via pncconf.
Thank you very much for tips
Time to create page: 0.620 seconds