Retrofitting a 1986 Maho MH400E
Note, for Gmoccapy this needs to be in the custom.postgui.hal to work. I also used the SH1 switch when I was trying to work out how to get this to work
net [give it a name] [hm2..bla-bla..input.oX] gmoccapy.v-button-0
I tested my X and Y encoders first with an allen key on the end of the ball screws.
I also didn't change the MAHO Estop circuit. My Estop chain has a jumper on the pendant connection, but this will then connect to the Pendant E-Stop once finished.
WARNING - Do not connect those existing terminal 152 or 154 through to your MESA! That HYD start / ESTOP release circuit of the MAHO is 110VAC
The switch is easy to disassemble and the bulb is replaceable. The bulb is powered through the X1/X2 connections.
The unused contacts on that switch 3SH1 are terminals 22 and 23, so if you run a +24VDC wire from 204, through those contacts, and input it to a MESA Input, you will have that second circuit I detailed above. To get things up and running, I'd suggest you just add a couple of ugly wires out the back of the control panel to the electrical cabinet.
A more elegant option is to take a closer look at that cable which the E-Stop wiring is in. It is a 12x0.75mm cable, but only 5 or seven of its wires are used. On my machine, the spares were blanked and there are numbers printed on them, so you can match them up at both ends. Make sure you make notes on your schematics of any changes you make, or you are going to in a bad place in three weeks/months/years when you need to modify, maintain etc.
This config also has other problems but they are trivial in view of the path to further progress (software estop button changes state each time 3SH1 is pressed, from on to off and back again; it's configured as a not input).
As you mentioned above, there are a few lines of code in your config for starting up the machine (machine-is-on), setting connections between hal pins and the relevant Mesa pins on the 7i84. But I couldn't find anything that would tie the machine-is-on signals to the GUI machine start button. I'm probably missing something again. How is LinuxCNC supposed to know that pressing the power on software button should send a machine-is-on signal through the outputs to the drives? Or do the drives energise when they get power and I wired the 19K2 relay wrong somehow (there are two wires in the terminal you wrote about, but it's still the same terminal)?
My brain is disintegrating. It's only when you start messing around in such a machine when its complexity hits home. Individually, the components are relatively simple and I can understand how they're supposed to work if I put my mind to it, but taken together there's so much stuff that can produce an undesirable outcome it's simply staggering.
You are making good progress. That 3SH1 now causes a state change is correct. The start button behavior is correct, in isolation. To make the system work correctly you additional elements.
I wonder why the e-stop_latch is not working for you. It is a hal.comp, so you need to "loadrt" it and "Addf" it.
Following the advice of Nobert, who wrote Gmoccapy, his suggestion is to avoid one huge HAL file, and break up the HAL into smaller, modular hal files.
So in your main HAL Add:
Then make a new file with that name and add:
#******************* # E-STOP #******************* #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 hm2_5i25.0.7i84.0.2.input-17-not => estop-latch.0.fault-in
Once that it done, test it. Pushing 3SH1 should release estop on the MAHO and LinuxCNC, but as soon as you release the button, both should fall back into E-Stop.
Next you need control of the latching relay 19K1.
That is this part.
How is LinuxCNC supposed to know that pressing the power on software button should send a machine-is-on signal through the outputs to the drives?
# --- MACHINE STATE --- #Output MACHINE-IS-ON to latch the 19K1 relay. net machine-is-on halui.machine.is-on net machine-is-enabled <= motion.motion-enabled net machine-is-on hm2_5i25.0.7i84.0.2.output-08
Get this working, and test your E-Stop before anything else. ,
The following should all drop the machine into E-Stop:
Pushing the mushrooms.
Each of the axis over travel switches.
The LinuxCNC E-Stop
By the way, I checked yesterday, and have no connection with 7i77 TB5-1, so that is an error in my schematic. I'll need to trace how I wired 19K2, just to make sure.
Thanks to the parceled information, I was able to go over all the lines for each component (estop and machine is on) and check them in the documentation pdf. It turns out my problems were related to the ini file, rahter than hal config.
The behavior of the machine is now changed. When 3SH1 is pressed, the Z axis brake no longer releases. External estop recognizes the state of 3SH1 correctly, and ties it with what the GUI displays.
When 3SH1 is pressed in LinuxCNC, the machine can be "turned on" in the control panel.
The next problem is that when I do press the machine on button, the brake releases, I get a following error and the machine estops again.In a proper config, what should happen is that the drives energize and this prevents the Z axis from moving after the brake is released. Is this a correct assumption? If so, I have to look at the configuration of the drive enable signals.
Here's a Mesa question that I think might be important. To get the 7i74 working with the 7i84 I use the hal command PCW specified: "sserial_port_1=00000000"
Does this mean that the connected 7i84 operates in Mode 0? Because that means it only does I/O and doesn't provide field power, which might be important for starting the drives and I should change it to 1.
The 7i74 doesn't have any modes in the manual, so I'm guessing the above is correct? There should be some output voltage sent to the machine rather than just an I/O signal I think. How do I change it to 1? =10000000, or 100xxx, or something else?
How does that work with a setup that doesn't have a 7i74, like Mark has? Does his choice of wiring specify the operating mode in the absence of the hal command?
EDIT: I have the 7i84 on channel 5 and a 7i73 on 4.
In a proper config, what should happen is that the drives energize and this prevents the Z axis from moving after the brake is released. Is this a correct assumption? If so, I have to look at the configuration of the drive enable signals.
That is correct. Plus I am pretty sure on mine that the brake goes off with the second button push, not the first, so something seems reversed between your and my configurations. I need to look at the 19K2 wiring, but will be out this evening sorry.
I had a conversation about this with John early on in this thread. Try reading forward from about this point...
I never looked into the MESA mode and channel stuff. I just wired the 7i84 and it worked. If you have already wired 7i84 outputs to MAHO control relays you can see whether the 7184 is working by commanding one of the relays. You should hear the relays click, and can see the witness marks, even if the bus with their muscle power is not energised.