Advanced Search

Search Results (Searched for: estop_latch)

15 Nov 2022 22:20

Emergency STOP on mesa card 7i76e

Category: General LinuxCNC Questions

looks right. AS my MAchine grew, I did not run the mains power to subsequent estops and used an estop-latch chain. THe motor disable relay still disbales motion if its pressed.(one is on a wireless pendant.)

I definitely am interested in learning how to do this but I have spent too much time just getting to where I am at. Unless it is easy to adapt my current diagram then I think this may need to wait until I get this thing up and running smooth.

I will most likely bring this topic up at a later date.

Thanks!
15 Nov 2022 18:20

Emergency STOP on mesa card 7i76e

Category: General LinuxCNC Questions

looks right. AS my MAchine grew, I did not run the mains power to subsequent estops and used an estop-latch chain. THe motor disable relay still disbales motion if its pressed.(one is on a wireless pendant.)
15 Nov 2022 03:51

Emergency STOP on mesa card 7i76e

Category: General LinuxCNC Questions

Its not well documented but if you don't want to run mains power all over the place, you can use the estop-latch component to build your estop chain in hal..

I guess I hadn't thought about it enough to realize I would need to run mains to all the E-stops. I may visit the E-stop Latch component down the road some. I finally got my head wrapped around (somewhat) the E-stop circuit. I can't afford to get tripped up for another couple weeks on this. Thanks for informing me though. 
 
15 Nov 2022 00:07

Emergency STOP on mesa card 7i76e

Category: General LinuxCNC Questions

Its not well documented but if you don't want to run mains power all over the place, you can use the estop-latch component to build your estop chain in hal..
10 Nov 2022 10:03

Need guidance on E-stop/Disconnect Switch connections

Category: Driver Boards

There is 2 things an estop must do. Stop all motion and tell linuxcnc its been pressed.
For a small personal machine at home, you can stop motion by dropping the AC power to the stepper power supply with one side of an estop button.
Then take +24v field power to the estop button and the other side to a 7i76e input. So when you disable all motion, you also tell linuxcnc about it.
In the hal examples section of the forum there is an example external estop config using the estop-latch component. This is the correct way but a lot will tell you other things...

This is not standards compliant as its not safe on larger machines to allow a machine to coast to a stop and for spindles to fall to the table. Brakes need to be applied, motion needs to be disabled in a powered up state.  Maybe even a timer relay needs to be invoked to power off parts of the machine after it stops. On such machines, the safety circuit is external to linuxcnc and the wiring becomes a lot more complex. Estop buttons for a safety relay typically have two NC switch poles to provide redundancy and avoid a single point of failure. A signal is sent to linuxcnc when they are triggered. With these machines, usually there is an external momentary estop reset button that enables the safety relay/circuit but it can be in the gui. Any additional relays in the safety circuit should then be special force guided relays where the contacts are forced apart on activation to prevent the chance of contacts welding together. Usually 2 relays are used to add redundancy...
 
24 Oct 2022 22:28 - 24 Oct 2022 22:28

Tweaked Probe Basic UI fails to launch

Category: QtPyVCP


M13 is 'reference carousel' and has this near the end:
#5171 = 1                               ; Set carousel to homed

And my 'rotate to correct pocket' routine (M10) has this in it:

;***Home Carousel***
O100 if [#5171 LT 1]                    ; Check if homed
    M13                                 ; Home if not homed
O100 endif


If you want it to be automatic on machine enable, I'm not sure how to go about that one.  Don't know how to force an M-code at startup, but someone else might offer some aid.

When you're ready to revisit the estop problem give a shout.  I've not used the 'estop-latch' comp, but that might be one of the issues.  I think you can accomplish what you want without it.

-R

 

My code for M10 and M13 contain the same.
24 Oct 2022 21:28

Tweaked Probe Basic UI fails to launch

Category: QtPyVCP

Thanks for all the efforts, but I am going to give it a rest.


Now onto more obnoxious issues, like having the carousel auto reference itself on machine enable. If anyone has a suggestion where to start, let me know. And thanks once again for helping sort this out.
 


Something wrong with having it reference on the first tool change (or first manual pocket jog)?

If that's ok, it's not too hard to have a conditional check in the carousel jog and M6 routines.  In my case parameter #5171 is 1 if homed, 0 if not homed. 

M13 is 'reference carousel' and has this near the end:
#5171 = 1                               ; Set carousel to homed

And my 'rotate to correct pocket' routine (M10) has this in it:

;***Home Carousel***
O100 if [#5171 LT 1]                    ; Check if homed
    M13                                 ; Home if not homed
O100 endif



If you want it to be automatic on machine enable, I'm not sure how to go about that one.  Don't know how to force an M-code at startup, but someone else might offer some aid.

When you're ready to revisit the estop problem give a shout.  I've not used the 'estop-latch' comp, but that might be one of the issues.  I think you can accomplish what you want without it.

-R
24 Oct 2022 18:52 - 24 Oct 2022 18:56

Tweaked Probe Basic UI fails to launch

Category: QtPyVCP

Thanks for all the efforts, but I am going to give it a rest.

Thanks for all the examples, including your suggestions and everything else I have tried, all I can do is either makes the estop stay lit, or make it flicker off then back on by using my external estop pin 15 and using it as -not

# estop
loadrt estop_latch
addf estop-latch.0 servo-thread
net estop-loopout iocontrol.0.emc-enable-in <= ***pin 15-not***
net estop-loopin iocontrol.0.user-enable-out => estop-latch.0.ok-in
net estop-reset iocontrol.0.user-request-enable => estop-latch.0.reset
net remote-estop estop-latch.0.fault-in <= ***pin 15***

If I could simply make the pin 15-not state toggle the estop ui button back on, That would fix it, for that it is the state of the external estop. It should really be that simple, but alas, I lack the secret formula...

Now onto more obnoxious issues, like having the carousel auto reference itself on machine enable. If anyone has a suggestion where to start, let me know. And thanks once again for helping sort this out.
23 Oct 2022 22:14 - 23 Oct 2022 23:11

Tweaked Probe Basic UI fails to launch

Category: QtPyVCP

I would like the external estop to control the ui software estop button, how do I do this?  This is what I have now
# estop
loadrt estop_latch
addf estop-latch.0 servo-thread
net estop-loopout iocontrol.0.emc-enable-in <= estop-latch.0.ok-out
net estop-loopin iocontrol.0.user-enable-out => estop-latch.0.ok-in
net estop-reset iocontrol.0.user-request-enable => estop-latch.0.reset
net remote-estop estop-latch.0.fault-in <= hm2_5i25.0.7i77.0.0.input-15
10 Oct 2022 05:09 - 10 Oct 2022 06:32
Replied by DSS on topic Taig 5019CR Micro Mill

Taig 5019CR Micro Mill

Category: Show Your Stuff

 Using Pncconf, I was able to get everything setup including using the fifth stegen for the MX4660's charge pump signal. The one change I did make included commenting out the default e-stop entry and adding my own in the custom.hal file.

 For my e-stop I wanted to use both a physical e-stop button and the gui e-stop. And in all cases require a physical start/reset button to be pressed after a e-stop. Using only one input and one output I was able to accomplish this. My e-stop disables the AC spindle and stepper motors while keeping the control cabinet / LinuxCNC powered and running aware of the fault. Thanks to BigJohnT's post on the estop latch component. 


loadrt estop_latch
loadrt oneshot
loadrt not

addf estop-latch.0     servo-thread
addf oneshot.0         servo-thread
addf not.0             servo-thread  

setp oneshot.0.width 1

net reset-ui   oneshot.0.out                     => halui.estop.reset
net reset-trig oneshot.0.in                      <= [HMOT](CARD0).inm.00.input-04
net relayout not.0.out                           => [HMOT](CARD0).ssr.00.out-02
net relay-in not.0.in                            <= estop-latch.0.fault-out
net estop-loopout iocontrol.0.emc-enable-in      <= estop-latch.0.ok-out
net estop-loopin iocontrol.0.user-enable-out     => estop-latch.0.ok-in
net estop-reset iocontrol.0.user-request-enable  => estop-latch.0.reset
net remote-estop estop-latch.0.fault-in          <= [HMOT](CARD0).inm.00.input-04-not

 
 I am still not positive that is the best way to go about it, but for now it works. Feedback always welcome. With that we should be up to date on the current state of the mill. I have to finish wiring in the tool setter and then I will start the tramming process.
04 Oct 2022 11:05
Replied by bevins on topic QTplasmaC wont turn on

QTplasmaC wont turn on

Category: General LinuxCNC Questions

I wont have time to take a look at this closer until after work today. But here's what I noticed when I took a quick look on my lunch break:

Looks like you suspected something with the estop_latch component (based on the copy of the hal file and the commented out lines in the original version). That reminded me of this change to the QtVCP project back in June: github.com/LinuxCNC/linuxcnc/commit/38d2...fb0a4f5a3cbf21a3d622

Without knowing when the last time you updated was, I wonder if that has anything to do with it.

I notice that you hide the stop button, so you could try changing ESTOP_TYPE in the INI file from 1 to 0 to make it an indicator. I suspect it would show that it is not coming out of estop.

I am not super familiar with the ESTOP_LATCH component (or why you chose to use it). Knowing nothing about your system other than what I can see in the backup, you could try changing to the method below.

I am used to doing ESTOP this way (modified for your estop input):

# --- ESTOP-EXT ---
net estop-ext <= hm2_7i92.0.7i76.0.0.input-00-not

# ---estop signals---

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


I am honestly not sure if you need -not or not, I will say that my estop is set up to provide input to the mesa card when the system is not estopped. (said another way for clarity, my system removes the estop signal when the estop is pressed). Use that to determine the "-not" need.

I should also note that I use a contactor and a "start" button to latch the contactor to power my system, and provide the +24v signal to the mesa input.

Hopefully that helps in the meantime.

I also use a start button to energize a relay that goes to an estop input.

The estop circuit is working as per halshow, but it is not reflected in the gui. Something amiss and I cant figure it out.

I upgraded the computer a while back and updated qtplasmac and used a backup to get the config in there.
04 Oct 2022 00:37
Replied by snowgoer540 on topic QTplasmaC wont turn on

QTplasmaC wont turn on

Category: General LinuxCNC Questions

Found time to look at this.  I didnt simulate your config, but I did drop your commented out estop stuff into my config on my machine and comment mine out, and uncomment yours (while adding my actual input, and I did not need to invert it).  It worked fine.

I suspect your issue is around the commented out estop stuff, but it's hard to know if you did that trying to get it to work.  

Uncomment the following lines:
#net estop-out     <=  iocontrol.0.user-enable-out
#net estop-out     =>  iocontrol.0.emc-enable-in

#loadrt estop_latch
#addf estop-latch.0 servo-thread
#net estop-loopout iocontrol.0.emc-enable-in <= estop-latch.0.ok-out
#net estop-loopin iocontrol.0.user-enable-out => estop-latch.0.ok-in
#net estop-reset iocontrol.0.user-request-enable => estop-latch.0.reset
#net remote-estop estop-latch.0.fault-in <=  hm2_7i92.0.7i76.0.0.input-00-not

I guess if that doesnt work, try removing the "-not" from your input.  Again, I dont know anything about your setup otherwise.

Also, shame on me for not noticing earlier what Phill was getting at with your update, your backup shows version 1.224.204, but the current version is 1.233.246, so something went wrong with your update.  How did you update?
03 Oct 2022 15:22
Replied by snowgoer540 on topic QTplasmaC wont turn on

QTplasmaC wont turn on

Category: General LinuxCNC Questions

I wont have time to take a look at this closer until after work today. But here's what I noticed when I took a quick look on my lunch break:

Looks like you suspected something with the estop_latch component (based on the copy of the hal file and the commented out lines in the original version). That reminded me of this change to the QtVCP project back in June: github.com/LinuxCNC/linuxcnc/commit/38d2...fb0a4f5a3cbf21a3d622

Without knowing when the last time you updated was, I wonder if that has anything to do with it.

I notice that you hide the stop button, so you could try changing ESTOP_TYPE in the INI file from 1 to 0 to make it an indicator. I suspect it would show that it is not coming out of estop.

I am not super familiar with the ESTOP_LATCH component (or why you chose to use it). Knowing nothing about your system other than what I can see in the backup, you could try changing to the method below.

I am used to doing ESTOP this way (modified for your estop input):
# --- ESTOP-EXT ---
net estop-ext     <=  hm2_7i92.0.7i76.0.0.input-00-not

#  ---estop signals---

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

I am honestly not sure if you need -not or not, I will say that my estop is set up to provide input to the mesa card when the system is not estopped. (said another way for clarity, my system removes the estop signal when the estop is pressed). Use that to determine the "-not" need.

I should also note that I use a contactor and a "start" button to latch the contactor to power my system, and provide the +24v signal to the mesa input.

Hopefully that helps in the meantime.
06 Sep 2022 19:29 - 06 Sep 2022 20:06

Lathe rotary encoder mesa 7i96s

Category: HAL

I bought a rotary encoder for my emco lathe.
I connected it to 7i96s card
red wire ->  pin6 (+5VP)
black wire -> pin9 (GND)
green wire (SIGA) -> pin7 (ENCA+)
brown wire (SIGA/) -> pin8 (ENCA-)
white wire (SIGB) -> pin10 (ENCB)
gray wire (SIGB/) -> pin11 (ENCB-)
yellow wire (SIGZ) -> pin13 (IDX+)
orange wire (SIGZ/) -> pin 14 (IDX-)

Is this connection right?

How to modify my hal and ini files?
   # This file was created with the Mesa Configuration Tool on elo 15 2022 21:05:38
# If you make changes to this file DO NOT run the configuration tool again!
# This file will be replaced with a new file if you do!

# kinematics
loadrt [KINS]KINEMATICS

# motion controller
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS  num_dio=10

# standard components
loadrt pid num_chan=3 

# hostmot2 driver
loadrt hostmot2

loadrt [HM2](DRIVER) board_ip=[HM2](IPADDRESS) 
setp hm2_7i96s.0.watchdog.timeout_ns 5000000


# THREADS
addf hm2_7i96s.0.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf pid.0.do-pid-calcs servo-thread
addf pid.1.do-pid-calcs servo-thread
addf pid.2.do-pid-calcs servo-thread
addf hm2_7i96s.0.write servo-thread

# Joint 0
# PID Setup
setp pid.0.Pgain [JOINT_0]P
setp pid.0.Igain [JOINT_0]I
setp pid.0.Dgain [JOINT_0]D
setp pid.0.bias [JOINT_0]BIAS
setp pid.0.FF0 [JOINT_0]FF0
setp pid.0.FF1 [JOINT_0]FF1
setp pid.0.FF2 [JOINT_0]FF2
setp pid.0.deadband [JOINT_0]DEADBAND
setp pid.0.maxoutput [JOINT_0]MAX_OUTPUT
setp pid.0.maxerror [JOINT_0]MAX_ERROR
setp pid.0.error-previous-target true

# joint enable chain
net joint-0-index-enable <=> pid.0.index-enable
net joint-0-enable <= joint.0.amp-enable-out
net joint-0-enable => pid.0.enable

net joint-0-enable => hm2_7i96s.0.stepgen.00.enable

setp hm2_7i96s.0.stepgen.00.dirsetup [JOINT_0]DIRSETUP
setp hm2_7i96s.0.stepgen.00.dirhold [JOINT_0]DIRHOLD
setp hm2_7i96s.0.stepgen.00.steplen [JOINT_0]STEPLEN
setp hm2_7i96s.0.stepgen.00.stepspace [JOINT_0]STEPSPACE
setp hm2_7i96s.0.stepgen.00.position-scale [JOINT_0]SCALE
setp hm2_7i96s.0.stepgen.00.maxvel [JOINT_0]STEPGEN_MAX_VEL
setp hm2_7i96s.0.stepgen.00.maxaccel [JOINT_0]STEPGEN_MAX_ACC
setp hm2_7i96s.0.stepgen.00.step_type 0
setp hm2_7i96s.0.stepgen.00.control-type 1


# position command and feedback
net joint-0-pos-cmd <= joint.0.motor-pos-cmd
net joint-0-pos-cmd => pid.0.command

net joint-0-pos-fb <= hm2_7i96s.0.stepgen.00.position-fb
net joint-0-pos-fb => joint.0.motor-pos-fb
net joint-0-pos-fb => pid.0.feedback

net joint.0.output <= pid.0.output
net joint.0.output => hm2_7i96s.0.stepgen.00.velocity-cmd




# Joint 1
# PID Setup
setp pid.1.Pgain [JOINT_1]P
setp pid.1.Igain [JOINT_1]I
setp pid.1.Dgain [JOINT_1]D
setp pid.1.bias [JOINT_1]BIAS
setp pid.1.FF0 [JOINT_1]FF0
setp pid.1.FF1 [JOINT_1]FF1
setp pid.1.FF2 [JOINT_1]FF2
setp pid.1.deadband [JOINT_1]DEADBAND
setp pid.1.maxoutput [JOINT_1]MAX_OUTPUT
setp pid.1.maxerror [JOINT_1]MAX_ERROR
setp pid.1.error-previous-target true

# joint enable chain
net joint-1-index-enable <=> pid.1.index-enable
net joint-1-enable <= joint.1.amp-enable-out
net joint-1-enable => pid.1.enable

net joint-1-enable => hm2_7i96s.0.stepgen.01.enable

setp hm2_7i96s.0.stepgen.01.dirsetup [JOINT_1]DIRSETUP
setp hm2_7i96s.0.stepgen.01.dirhold [JOINT_1]DIRHOLD
setp hm2_7i96s.0.stepgen.01.steplen [JOINT_1]STEPLEN
setp hm2_7i96s.0.stepgen.01.stepspace [JOINT_1]STEPSPACE
setp hm2_7i96s.0.stepgen.01.position-scale [JOINT_1]SCALE
setp hm2_7i96s.0.stepgen.01.maxvel [JOINT_1]STEPGEN_MAX_VEL
setp hm2_7i96s.0.stepgen.01.maxaccel [JOINT_1]STEPGEN_MAX_ACC
setp hm2_7i96s.0.stepgen.01.step_type 0
setp hm2_7i96s.0.stepgen.01.control-type 1


# position command and feedback
net joint-1-pos-cmd <= joint.1.motor-pos-cmd
net joint-1-pos-cmd => pid.1.command

net joint-1-pos-fb <= hm2_7i96s.0.stepgen.01.position-fb
net joint-1-pos-fb => joint.1.motor-pos-fb
net joint-1-pos-fb => pid.1.feedback

net joint.1.output <= pid.1.output
net joint.1.output => hm2_7i96s.0.stepgen.01.velocity-cmd



# Spindle

# Spindle Velocity Pins
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

# Spindle Command Pins
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

# Set spindle at speed signal
sets spindle-at-speed true

# Spindle Board Connections
net spindle-enable => hm2_7i96s.0.pwmgen.00.enable
net spindle-vel-cmd-rpm hm2_7i96s.0.pwmgen.00.value
setp hm2_7i96s.0.pwmgen.00.scale [SPINDLE]MAX_RPM
setp hm2_7i96s.0.pwmgen.pwm_frequency [SPINDLE]PWM_FREQUENCY
setp hm2_7i96s.0.pwmgen.00.output-type [SPINDLE]SPINDLE_PWM_TYPE




#  Manual Tool Change Dialog nama 5 rivia tuli mesacttlta
#loadusr -W hal_manualtoolchange
#net tool-change-request    =>  hal_manualtoolchange.change
#net tool-change-confirmed  <=  hal_manualtoolchange.changed
#net tool-number            =>  hal_manualtoolchange.number

#  ---toolchange signals for custom tool changer---nama on kopioitu

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


# create signals for tool loading loopback nama teki mesact
#net tool-prep-loop iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
#net tool-change-loop iocontrol.0.tool-change => iocontrol.0.tool-changed

# # Load Classicladder without GUI nama 3 rivit teki mesact
loadrt classicladder_rt
addf classicladder.0.refresh servo-thread 1

# Load Classicladder without GUI (can reload LADDER GUI in AXIS GUI

loadusr classicladder --nogui custom.clp
  


[code]# This file was created with the Mesa Configuration Tool on elo 15 2022 21:05:38
# Changes to most things are ok and will be read by the Configuration Tool

[MESA]
VERSION = 0.7.0
BOARD = 7i96s
FIRMWARE = 7i96s_d.bin
CARD_0 = None
CARD_1 = None

[EMC]
VERSION = 1.1
MACHINE = Emco 50 PC turn mesact
DEBUG = 0x00000000

[HM2]
DRIVER = hm2_eth
IPADDRESS = 10.10.10.10
STEPGENS = False
PWMGENS = False
ENCODERS = False

[DISPLAY]
DISPLAY = gmoccapy
EDITOR = gedit
PROGRAM_PREFIX = /home/samuel/linuxcnc/nc_files
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = COMMANDED
MAX_FEED_OVERRIDE = 1.2
MIN_VELOCITY = 0.0
DEFAULT_LINEAR_VELOCITY = 2.1
MAX_LINEAR_VELOCITY = 6.8
CYCLE_TIME = 0.1
INTRO_GRAPHIC = emc2.gif
INTRO_TIME = 0
OPEN_FILE = ""
LATHE = 1
BACK_TOOL_LATHE = 1

[KINS]
KINEMATICS = trivkins coordinates=ZX
JOINTS = 2

[EMCIO]
EMCIO = iov2
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl

[RS274NGC]
PARAMETER_FILE = emco_50_pc_turn_mesact.var
SUBROUTINE_PATH = /home/samuel/linuxcnc/subroutines

[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
SERVO_PERIOD = 1000000

[TASK]
TASK = milltask
CYCLE_TIME = 0.010

[TRAJ]
COORDINATES = ZX
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
MAX_LINEAR_VELOCITY = 6.8
NO_FORCE_HOMING = 1

[APPLICATIONS]
APP = monitor-xhc-hb04

[HAL]
HALFILE = emco_50_pc_turn_mesact.hal
HALFILE = io.hal
HALFILE = custom.hal
HALFILE = LIB:xhc-hb04.tcl
HALUI = halui

[HALUI]
MDI_COMMAND = g0 x0 z0
MDI_COMMAND = halui.estop.activate
MDI_COMMAND = halui.machine.on
MDI_COMMAND= G10 L20 P0 Z0.004
MDI_COMMAND= G10 L20 P0 X[#<_x>/2.0]
MDI_COMMAND= G10 L20 P0 Z[#<_z>/2.0
MDI_COMMAND= g0 x0 z0
MDI_COMMAND= ""
MDI_COMMAND= ""
MDI_COMMAND= ""
MDI_COMMAND= ""
MDI_COMMAND= ""
MDI_COMMAND= G10 L20 P1 X0
MDI_COMMAND= ""
MDI_COMMAND= G10 L20 P1 Z0
MDI_COMMAND= ""
MDI_COMMAND= ""
MDI_COMMAND= ""
 
[AXIS_Z]
MIN_LIMIT = -1
MAX_LIMIT = 236
MAX_VELOCITY = 10
MAX_ACCELERATION = 350

[AXIS_X]
MIN_LIMIT = -66.0
MAX_LIMIT = 10.0
MAX_VELOCITY = 10
MAX_ACCELERATION = 250

[JOINT_0]
AXIS = Z
MIN_LIMIT = -26
MAX_LIMIT = 236
MAX_VELOCITY = 10
MAX_ACCELERATION = 350
TYPE = LINEAR
SCALE = 1600
DRIVE = Custom
STEP_INVERT = False
DIR_INVERT = False
STEPGEN_MAX_VEL = 12.00
STEPGEN_MAX_ACC = 420.00
DIRSETUP = 20000
DIRHOLD = 20000
STEPLEN = 20000
STEPSPACE = 20000
FERROR = 0.005
MIN_FERROR = 0.0025
DEADBAND = 0
BACKFLASH = 0
P = 1000
I = 0
D = 0
FF0 = 0
FF1 = 1
FF2 = 0
BIAS = 0
MAX_OUTPUT = 0
MAX_ERROR = 0.000127
HOME_OFFSET = 0
HOME_SEARCH_VEL = -8
HOME_LATCH_VEL = -0.1
HOME_FINAL_VEL = 0.000000
HOME_IGNORE_LIMITS = YES
HOME_USE_INDEX = YES
HOME_INDEX_NO_ENCODER_RESET = YES
HOME_SEQUENCE = 1

[JOINT_1]
AXIS = X
MIN_LIMIT = -66.0
MAX_LIMIT = 10.0
MAX_VELOCITY = 10
MAX_ACCELERATION = 250
TYPE = LINEAR
SCALE = 1600
DRIVE = Custom
STEP_INVERT = False
DIR_INVERT = False
STEPGEN_MAX_VEL = 12.00
STEPGEN_MAX_ACC = 300.00
DIRSETUP = 20000
DIRHOLD = 20000
STEPLEN = 20000
STEPSPACE = 20000
FERROR = 0.005
MIN_FERROR = 0.0025
DEADBAND = 0
BACKFLASH = 0.02
P = 1000
I = 0
D = 0
FF0 = 0
FF1 = 1
FF2 = 0
BIAS = 0
MAX_OUTPUT = 0
MAX_ERROR = 0.000127
HOME_OFFSET = 0
HOME_IGNORE_LIMITS = False
HOME_SEARCH_VEL = 2
HOME_LATCH_VEL = 0.05
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = YES
HOME_INDEX_NO_ENCODER_RESET = YES
HOME_SEQUENCE = 1

[SPINDLE]
SPINDLE_TYPE = analog
SPINDLE_PWM_TYPE = 1
PWM_FREQUENCY = 10000
MAX_RPM = 1600
MIN_RPM = 0
FEEDBACK = encoder
ENCODER_SCALE = 1024.0

[XHC_HB04_CONFIG]
  # specify layout = n for xhc-hb04-layout{n}.cfg files
layout = 2
  # coords: specify 4 letters
  # coords: switch labels are xyza but any unique 4 letters
  #         from the set {xyxabcuvw) can be used (if the coord exists)
coords = x z
  # lowpass settings:
  # coef: slows rate of change of output,  range: 0 < coef < 1
coefs = 1 1 
  # scale plus or minus, rotaries may require larger scale factor:
scales = 1 1 
  # jogmode normal(default) or vnormal
jogmode = normal
  # accels for jog wheel, set to something a bit less than your max axis accel
mpg_accels = 50 50 50
  # sequence 1: 0.001,0.010,0.100 (mm-based machine)
  # sequence 2: 0.001,0.005,0.010 (inch-based machine)
sequence = 1
  # require_pendant = no: create xhc-hb04 hal pins when pendant not connecte
  #                       at startup
require_pendant = yes

[XHC_HB04_BUTTONS]
  # use button names according to layout file xhc-hb04-layout{n}.cfg
  # note: "start-pause" is connected for standard behavior
  #        controlling halui.pause/halui.resume/halui.run
  # these are examples, edit as required:
goto-zero-x   = ""
goto-zero-z   = ""
start-pause = std_start_pause
rewind      = halui.program.step
  # probe-input for simulating a probe, [
  # note: not compatible with the pncconf generated HAL files. uncomment to enable.
  # probe-z     = motion.probe-input
macro-3     = halui.mdi-command-03
half        = halui.spindle.0.stop
half-x    = halui.mdi-command-04
half-z    = halui.mdi-command-05
zero        = ""
zero-x    = halui.mdi-command-12
zero-z    = halui.mdi-command-14
safe-z      = halui.mdi-command-10
  # in this sim, home-all only works first time, hold down till finished:
home        = halui.home-all
macro-1     = halui.mdi-command-01
macro-2     = halui.mdi-command-02
spindle     = halui.spindle.0.start
step        = xhc-hb04.stepsize-up
mode        = ""
macro-6     = halui.mdi-command-06 #z and x goto zero
macro-7     = halui.mdi-command-07
stop        = halui.program.stop
reset       = halui.estop.activate

# Everything below this line is only used to
# setup the Configuration Tool when loading the ini.

[INPUTS]
# DO NOT change the inputs they are used by the configuration tool
INPUT_0 = Joint 0 Home
INPUT_INVERT_0 = False
INPUT_SLOW_0 = False
INPUT_1 = Joint 1 Home
INPUT_INVERT_1 = True
INPUT_SLOW_1 = False
INPUT_2 = External E Stop
INPUT_INVERT_2 = True
INPUT_SLOW_2 = False
INPUT_3 = Select
INPUT_INVERT_3 = False
INPUT_SLOW_3 = False
INPUT_4 = Select
INPUT_INVERT_4 = False
INPUT_SLOW_4 = False
INPUT_5 = Select
INPUT_INVERT_5 = False
INPUT_SLOW_5 = False
INPUT_6 = Select
INPUT_INVERT_6 = False
INPUT_SLOW_6 = False
INPUT_7 = Select
INPUT_INVERT_7 = False
INPUT_SLOW_7 = False
INPUT_8 = Select
INPUT_INVERT_8 = False
INPUT_SLOW_8 = False
INPUT_9 = Select
INPUT_INVERT_9 = False
INPUT_SLOW_9 = False
INPUT_10 = Select
INPUT_INVERT_10 = False
INPUT_SLOW_10 = False
INPUT_11 = Select
INPUT_INVERT_11 = False
INPUT_SLOW_11 = False
INPUT_12 = Select
INPUT_INVERT_12 = False
INPUT_SLOW_12 = False
INPUT_13 = Select
INPUT_INVERT_13 = False
INPUT_SLOW_13 = False
INPUT_14 = Select
INPUT_INVERT_14 = False
INPUT_SLOW_14 = False
INPUT_15 = Select
INPUT_INVERT_15 = False
INPUT_SLOW_15 = False
INPUT_16 = Select
INPUT_INVERT_16 = False
INPUT_SLOW_16 = False
INPUT_17 = Select
INPUT_INVERT_17 = False
INPUT_SLOW_17 = False
INPUT_18 = Select
INPUT_INVERT_18 = False
INPUT_SLOW_18 = False
INPUT_19 = Select
INPUT_INVERT_19 = False
INPUT_SLOW_19 = False
INPUT_20 = Select
INPUT_INVERT_20 = False
INPUT_SLOW_20 = False
INPUT_21 = Select
INPUT_INVERT_21 = False
INPUT_SLOW_21 = False
INPUT_22 = Select
INPUT_INVERT_22 = False
INPUT_SLOW_22 = False
INPUT_23 = Select
INPUT_INVERT_23 = False
INPUT_SLOW_23 = False
INPUT_24 = Select
INPUT_INVERT_24 = False
INPUT_SLOW_24 = False
INPUT_25 = Select
INPUT_INVERT_25 = False
INPUT_SLOW_25 = False
INPUT_26 = Select
INPUT_INVERT_26 = False
INPUT_SLOW_26 = False
INPUT_27 = Select
INPUT_INVERT_27 = False
INPUT_SLOW_27 = False
INPUT_28 = Select
INPUT_INVERT_28 = False
INPUT_SLOW_28 = False
INPUT_29 = Select
INPUT_INVERT_29 = False
INPUT_SLOW_29 = False
INPUT_30 = Select
INPUT_INVERT_30 = False
INPUT_SLOW_30 = False
INPUT_31 = Select
INPUT_INVERT_31 = False
INPUT_SLOW_31 = False

[OUTPUTS]
# DO NOT change the outputs they are used by the configuration tool
OUTPUT_0 = Spindle CW
OUTPUT_1 = Spindle CCW
OUTPUT_2 = Spindle On
OUTPUT_3 = Select
OUTPUT_4 = Select
OUTPUT_5 = Select
OUTPUT_6 = Select
OUTPUT_7 = Select
OUTPUT_8 = Select
OUTPUT_9 = Select
OUTPUT_10 = Select
OUTPUT_11 = Select
OUTPUT_12 = Select
OUTPUT_13 = Select
OUTPUT_14 = Select
OUTPUT_15 = Select

[OPTIONS]
# DO NOT change the options they are used by the configuration tool
LOAD_CONFIG = False
INTRO_GRAPHIC = emc2.gif
INTRO_GRAPHIC_TIME = 0
MANUAL_TOOL_CHANGE = True
CUSTOM_HAL = True
POST_GUI_HAL = False
SHUTDOWN_HAL = False
HALUI = False
PYVCP = False
GLADEVCP = False
LADDER = True
BACKUP = False




[code] # This file was created with the 7i92 Wizard on elo 15 2022 21:05:38
# If you make changes to this file DO NOT use the Configuration Tool

loadrt encoder
addf encoder.capture-position servo-thread
addf encoder.update-counters servo-thread

# home  and limit pins

net joint-0-home joint.0.home-sw-in <=  hm2_7i96s.0.inm.00.input-00
net z-home-prox hm2_7i96s.0.inm.00.input-06 encoder.0.phase-Z
net z-home-index-enables joint.0.index-enable encoder.0.index-enable
net z-is-homed     halui.joint.0.is-homed
net z-neg-limit     =>  joint.0.neg-lim-sw-in
net z-pos-limit     =>  joint.0.pos-lim-sw-in


net joint-1-home joint.1.home-sw-in <=  hm2_7i96s.0.inm.00.input-01-not
net x-home-prox hm2_7i96s.0.inm.00.input-07 encoder.1.phase-Z
net x-home-index-enables joint.1.index-enable encoder.1.index-enable
net x-is-homed     halui.joint.1.is-homed
net x-neg-limit     =>  joint.1.neg-lim-sw-in
net x-pos-limit     =>  joint.1.pos-lim-sw-in



# External E-Stop
loadrt estop_latch
addf estop-latch.0 servo-thread
net estop-loopout iocontrol.0.emc-enable-in <= estop-latch.0.ok-out
net estop-loopin iocontrol.0.user-enable-out => estop-latch.0.ok-in
net estop-reset iocontrol.0.user-request-enable => estop-latch.0.reset
net remote-estop estop-latch.0.fault-in <= hm2_7i96s.0.inm.00.input-02-not


# Spindle pins
net spindle-cw spindle.0.forward => hm2_7i96s.0.ssr.00.out-00
net spindle-ccw spindle.0.reverse => hm2_7i96s.0.ssr.00.out-01
net spindle-enable => hm2_7i96s.0.ssr.00.out-02
[/code][/code]
06 Aug 2022 19:18
Replied by Samuelx on topic 7i96s vfd control

7i96s vfd control

Category: Basic Configuration

I got OUTPUT_0 = Spindle CW working
and OUTPUT_1 = Spindle CCW working

But OUTPUT_2 = Spindle On is not working

Hal:
# This file was created with the Mesa Configuration Tool on elo 06 2022 20:18:17
# If you make changes to this file DO NOT run the configuration tool again!
# This file will be replaced with a new file if you do!

# kinematics
loadrt [KINS]KINEMATICS

# motion controller
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS

# standard components
loadrt pid num_chan=3

# hostmot2 driver
loadrt hostmot2

loadrt [HM2](DRIVER) board_ip=[HM2](IPADDRESS)
setp hm2_7i96s.0.watchdog.timeout_ns 5000000

# THREADS
addf hm2_7i96s.0.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf pid.0.do-pid-calcs servo-thread
addf pid.1.do-pid-calcs servo-thread
addf pid.2.do-pid-calcs servo-thread
addf hm2_7i96s.0.write servo-thread

# Joint 0
# PID Setup
setp pid.0.Pgain [JOINT_0]P
setp pid.0.Igain [JOINT_0]I
setp pid.0.Dgain [JOINT_0]D
setp pid.0.bias [JOINT_0]BIAS
setp pid.0.FF0 [JOINT_0]FF0
setp pid.0.FF1 [JOINT_0]FF1
setp pid.0.FF2 [JOINT_0]FF2
setp pid.0.deadband [JOINT_0]DEADBAND
setp pid.0.maxoutput [JOINT_0]MAX_OUTPUT
setp pid.0.maxerror [JOINT_0]MAX_ERROR
setp pid.0.error-previous-target true

# joint enable chain
net joint-0-index-enable <=> pid.0.index-enable
net joint-0-enable <= joint.0.amp-enable-out
net joint-0-enable => pid.0.enable

net joint-0-enable => hm2_7i96s.0.stepgen.00.enable

setp hm2_7i96s.0.stepgen.00.dirsetup [JOINT_0]DIRSETUP
setp hm2_7i96s.0.stepgen.00.dirhold [JOINT_0]DIRHOLD
setp hm2_7i96s.0.stepgen.00.steplen [JOINT_0]STEPLEN
setp hm2_7i96s.0.stepgen.00.stepspace [JOINT_0]STEPSPACE
setp hm2_7i96s.0.stepgen.00.position-scale [JOINT_0]SCALE
setp hm2_7i96s.0.stepgen.00.maxvel [JOINT_0]STEPGEN_MAX_VEL
setp hm2_7i96s.0.stepgen.00.maxaccel [JOINT_0]STEPGEN_MAX_ACC
setp hm2_7i96s.0.stepgen.00.step_type 0
setp hm2_7i96s.0.stepgen.00.control-type 1


# position command and feedback
net joint-0-pos-cmd <= joint.0.motor-pos-cmd
net joint-0-pos-cmd => pid.0.command

net joint-0-pos-fb <= hm2_7i96s.0.stepgen.00.position-fb
net joint-0-pos-fb => joint.0.motor-pos-fb
net joint-0-pos-fb => pid.0.feedback

net joint.0.output <= pid.0.output
net joint.0.output => hm2_7i96s.0.stepgen.00.velocity-cmd

# Joint 1
# PID Setup
setp pid.1.Pgain [JOINT_1]P
setp pid.1.Igain [JOINT_1]I
setp pid.1.Dgain [JOINT_1]D
setp pid.1.bias [JOINT_1]BIAS
setp pid.1.FF0 [JOINT_1]FF0
setp pid.1.FF1 [JOINT_1]FF1
setp pid.1.FF2 [JOINT_1]FF2
setp pid.1.deadband [JOINT_1]DEADBAND
setp pid.1.maxoutput [JOINT_1]MAX_OUTPUT
setp pid.1.maxerror [JOINT_1]MAX_ERROR
setp pid.1.error-previous-target true

# joint enable chain
net joint-1-index-enable <=> pid.1.index-enable
net joint-1-enable <= joint.1.amp-enable-out
net joint-1-enable => pid.1.enable

net joint-1-enable => hm2_7i96s.0.stepgen.01.enable

setp hm2_7i96s.0.stepgen.01.dirsetup [JOINT_1]DIRSETUP
setp hm2_7i96s.0.stepgen.01.dirhold [JOINT_1]DIRHOLD
setp hm2_7i96s.0.stepgen.01.steplen [JOINT_1]STEPLEN
setp hm2_7i96s.0.stepgen.01.stepspace [JOINT_1]STEPSPACE
setp hm2_7i96s.0.stepgen.01.position-scale [JOINT_1]SCALE
setp hm2_7i96s.0.stepgen.01.maxvel [JOINT_1]STEPGEN_MAX_VEL
setp hm2_7i96s.0.stepgen.01.maxaccel [JOINT_1]STEPGEN_MAX_ACC
setp hm2_7i96s.0.stepgen.01.step_type 0
setp hm2_7i96s.0.stepgen.01.control-type 1


# position command and feedback
net joint-1-pos-cmd <= joint.1.motor-pos-cmd
net joint-1-pos-cmd => pid.1.command

net joint-1-pos-fb <= hm2_7i96s.0.stepgen.01.position-fb
net joint-1-pos-fb => joint.1.motor-pos-fb
net joint-1-pos-fb => pid.1.feedback

net joint.1.output <= pid.1.output
net joint.1.output => hm2_7i96s.0.stepgen.01.velocity-cmd

# Spindle

# Spindle Velocity Pins
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

# Spindle Command Pins
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

# Set spindle at speed signal
sets spindle-at-speed true

# Spindle Board Connections
net spindle-enable => hm2_7i96s.0.pwmgen.00.enable
net spindle-vel-cmd-rpm hm2_7i96s.0.pwmgen.00.value
setp hm2_7i96s.0.pwmgen.00.scale [SPINDLE]MAX_RPM
setp hm2_7i96s.0.pwmgen.pwm_frequency [SPINDLE]PWM_FREQUENCY
setp hm2_7i96s.0.pwmgen.00.output-type [SPINDLE]SPINDLE_PWM_TYPE


Ini:
# This file was created with the Mesa Configuration Tool on elo 06 2022 20:18:17
# Changes to most things are ok and will be read by the Configuration Tool

[MESA]
VERSION = 0.7.0
BOARD = 7i96s
FIRMWARE = 7i96s_d.bin
CARD_0 = None
CARD_1 = None

[EMC]
VERSION = 1.1
MACHINE = Emco 50 PC turn mesact
DEBUG = 0x00000000

[HM2]
DRIVER = hm2_eth
IPADDRESS = 10.10.10.10
STEPGENS = False
PWMGENS = False
ENCODERS = False

[DISPLAY]
DISPLAY = gmoccapy
EDITOR = gedit
PROGRAM_PREFIX = /home/samuel/linuxcnc/nc_files
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = COMMANDED
MAX_FEED_OVERRIDE = 1.2
MIN_VELOCITY = 0.0
DEFAULT_LINEAR_VELOCITY = 2.1
MAX_LINEAR_VELOCITY = 5.0
CYCLE_TIME = 0.1
INTRO_GRAPHIC = emc2.gif
INTRO_TIME = 0
OPEN_FILE = ""
LATHE = 1
BACK_TOOL_LATHE = 1

[KINS]
KINEMATICS = trivkins coordinates=ZX
JOINTS = 2

[EMCIO]
EMCIO = iov2
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl

[RS274NGC]
PARAMETER_FILE = emco_50_pc_turn_mesact.var
SUBROUTINE_PATH = /home/samuel/linuxcnc/subroutines

[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
SERVO_PERIOD = 1000000

[TASK]
TASK = milltask
CYCLE_TIME = 0.010

[TRAJ]
COORDINATES = ZX
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
MAX_LINEAR_VELOCITY = 5.0
NO_FORCE_HOMING = 1

[HAL]
HALFILE = emco_50_pc_turn_mesact.hal
HALFILE = io.hal
HALFILE = custom.hal
HALUI = halui

[HALUI]

[AXIS_Z]
MIN_LIMIT = -1
MAX_LIMIT = 236
MAX_VELOCITY = 3.15
MAX_ACCELERATION = 350

[AXIS_X]
MIN_LIMIT = -46
MAX_LIMIT = 0
MAX_VELOCITY = 3.15
MAX_ACCELERATION = 350

[JOINT_0]
AXIS = Z
MIN_LIMIT = -1
MAX_LIMIT = 236
MAX_VELOCITY = 3.15
MAX_ACCELERATION = 350
TYPE = LINEAR
SCALE = 8000
DRIVE = Custom
STEP_INVERT = False
DIR_INVERT = False
STEPGEN_MAX_VEL = 3.78
STEPGEN_MAX_ACC = 420.00
DIRSETUP = 20000
DIRHOLD = 20000
STEPLEN = 20000
STEPSPACE = 20000
FERROR = 0.005
MIN_FERROR = 0.0025
DEADBAND = 0
P = 1000
I = 0
D = 0
FF0 = 0
FF1 = 1
FF2 = 0
BIAS = 0
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -1
HOME_LATCH_VEL = -0.5
HOME_FINAL_VEL = 0.0000
HOME_IGNORE_LIMITS = True

[JOINT_1]
AXIS = X
MIN_LIMIT = -46
MAX_LIMIT = 0
MAX_VELOCITY = 3.15
MAX_ACCELERATION = 350
TYPE = LINEAR
SCALE = 8000
DRIVE = Custom
STEP_INVERT = False
DIR_INVERT = False
STEPGEN_MAX_VEL = 3.78
STEPGEN_MAX_ACC = 420.00
DIRSETUP = 20000
DIRHOLD = 20000
STEPLEN = 20000
STEPSPACE = 20000
FERROR = 0.005
MIN_FERROR = 0.0025
DEADBAND = 0
P = 1000
I = 0
D = 0
FF0 = 0
FF1 = 1
FF2 = 0
BIAS = 0
MAX_OUTPUT = 0
MAX_ERROR = 0.0127

[SPINDLE]
SPINDLE_TYPE = analog
SPINDLE_PWM_TYPE = 1
PWM_FREQUENCY = 10000
MAX_RPM = 1600
MIN_RPM = 0

# Everything below this line is only used to
# setup the Configuration Tool when loading the ini.

[INPUTS]
# DO NOT change the inputs they are used by the configuration tool
INPUT_0 = Joint 0 Home
INPUT_INVERT_0 = False
INPUT_SLOW_0 = False
INPUT_1 = Joint 1 Home
INPUT_INVERT_1 = True
INPUT_SLOW_1 = False
INPUT_2 = External E Stop
INPUT_INVERT_2 = True
INPUT_SLOW_2 = False
INPUT_3 = Select
INPUT_INVERT_3 = False
INPUT_SLOW_3 = False
INPUT_4 = Select
INPUT_INVERT_4 = False
INPUT_SLOW_4 = False
INPUT_5 = Select
INPUT_INVERT_5 = False
INPUT_SLOW_5 = False
INPUT_6 = Select
INPUT_INVERT_6 = False
INPUT_SLOW_6 = False
INPUT_7 = Select
INPUT_INVERT_7 = False
INPUT_SLOW_7 = False
INPUT_8 = Select
INPUT_INVERT_8 = False
INPUT_SLOW_8 = False
INPUT_9 = Select
INPUT_INVERT_9 = False
INPUT_SLOW_9 = False
INPUT_10 = Select
INPUT_INVERT_10 = False
INPUT_SLOW_10 = False
INPUT_11 = Select
INPUT_INVERT_11 = False
INPUT_SLOW_11 = False
INPUT_12 = Select
INPUT_INVERT_12 = False
INPUT_SLOW_12 = False
INPUT_13 = Select
INPUT_INVERT_13 = False
INPUT_SLOW_13 = False
INPUT_14 = Select
INPUT_INVERT_14 = False
INPUT_SLOW_14 = False
INPUT_15 = Select
INPUT_INVERT_15 = False
INPUT_SLOW_15 = False
INPUT_16 = Select
INPUT_INVERT_16 = False
INPUT_SLOW_16 = False
INPUT_17 = Select
INPUT_INVERT_17 = False
INPUT_SLOW_17 = False
INPUT_18 = Select
INPUT_INVERT_18 = False
INPUT_SLOW_18 = False
INPUT_19 = Select
INPUT_INVERT_19 = False
INPUT_SLOW_19 = False
INPUT_20 = Select
INPUT_INVERT_20 = False
INPUT_SLOW_20 = False
INPUT_21 = Select
INPUT_INVERT_21 = False
INPUT_SLOW_21 = False
INPUT_22 = Select
INPUT_INVERT_22 = False
INPUT_SLOW_22 = False
INPUT_23 = Select
INPUT_INVERT_23 = False
INPUT_SLOW_23 = False
INPUT_24 = Select
INPUT_INVERT_24 = False
INPUT_SLOW_24 = False
INPUT_25 = Select
INPUT_INVERT_25 = False
INPUT_SLOW_25 = False
INPUT_26 = Select
INPUT_INVERT_26 = False
INPUT_SLOW_26 = False
INPUT_27 = Select
INPUT_INVERT_27 = False
INPUT_SLOW_27 = False
INPUT_28 = Select
INPUT_INVERT_28 = False
INPUT_SLOW_28 = False
INPUT_29 = Select
INPUT_INVERT_29 = False
INPUT_SLOW_29 = False
INPUT_30 = Select
INPUT_INVERT_30 = False
INPUT_SLOW_30 = False
INPUT_31 = Select
INPUT_INVERT_31 = False
INPUT_SLOW_31 = False

[OUTPUTS]
# DO NOT change the outputs they are used by the configuration tool
OUTPUT_0 = Spindle CW
OUTPUT_1 = Spindle CCW
OUTPUT_2 = Spindle On
OUTPUT_3 = Select
OUTPUT_4 = Select
OUTPUT_5 = Select
OUTPUT_6 = Select
OUTPUT_7 = Select
OUTPUT_8 = Select
OUTPUT_9 = Select
OUTPUT_10 = Select
OUTPUT_11 = Select
OUTPUT_12 = Select
OUTPUT_13 = Select
OUTPUT_14 = Select
OUTPUT_15 = Select

[OPTIONS]
# DO NOT change the options they are used by the configuration tool
LOAD_CONFIG = False
INTRO_GRAPHIC = emc2.gif
INTRO_GRAPHIC_TIME = 0
MANUAL_TOOL_CHANGE = False
CUSTOM_HAL = True
POST_GUI_HAL = False
SHUTDOWN_HAL = False
HALUI = False
PYVCP = False
GLADEVCP = False
LADDER = False
BACKUP = False


io.hal
# This file was created with the 7i92 Wizard on elo 06 2022 20:18:17
# If you make changes to this file DO NOT use the Configuration Tool

net joint-0-home joint.0.home-sw-in <=  hm2_7i96s.0.inm.00.input-00

net joint-1-home joint.1.home-sw-in <=  hm2_7i96s.0.inm.00.input-01-not


# External E-Stop
loadrt estop_latch
addf estop-latch.0 servo-thread
net estop-loopout iocontrol.0.emc-enable-in <= estop-latch.0.ok-out
net estop-loopin iocontrol.0.user-enable-out => estop-latch.0.ok-in
net estop-reset iocontrol.0.user-request-enable => estop-latch.0.reset
net remote-estop estop-latch.0.fault-in <= hm2_7i96s.0.inm.00.input-02-not

net spindle-cw spindle.0.forward => hm2_7i96s.0.ssr.00.out-00
net spindle-ccw spindle.0.reverse => hm2_7i96s.0.ssr.00.out-01
net spindle-on => hm2_7i96s.0.ssr.00.out-02
Displaying 1 - 15 out of 32 results.
Time to create page: 0.758 seconds
Powered by Kunena Forum