How to configure PPMC with EMC2 on 3 axis milling

More
31 Aug 2011 13:46 - 31 Aug 2011 13:47 #12871 by andypugh
M2sinc wrote:

I need help where to attache wire for Eswitch, power on/off. collant on/off. home button, manual jog pandent, manual home switch , tool change ,cycle start .

You need to link the chosen PPMC HAL pins to the EMC2 Hal pins which have the functions you need.
Typically this involves adding "net" statements to your HAL file. (The hal files are inside the emc2/configs/ directory in your home folder. )
Assuming you are using the Axis or TkEMC interface, and that is up and running, then I suggest looking in Machine->Show Hal Config to see what pin names are available, and make a note of their exact spelling (paying special attention to the difference between "_" and "-" as word separators.)
For example, you probably have a pin called ppmc.0.in-00 and ppmc.0.in-00-not which show the status of input pin 00 on the PPMC board. If you select this pin in the "Watch" tab of Macine->ShowHalConfig then you ought to see it change state.
Choose the one wired to the e-stop, and verify that both in and in-not toggle when you operate the e-stop.
Now look for a pin called iocontrol.0.emc-enable-in.
To check that it works you can type commands in the entry box at the bottom of the "Show" tab. Type
setp iocontrol.0.emc-enable-in 0
That should trigger an e-stop condition.
Check which pin of the ppmc inputs goes FALSE (0) when E-stop is pressed then in the HAL file add a line like:
net e-stop ppmc.0.in-00 => iocontrol.0.emc-enable-in
Note that the "e-stop" signal name can be anything you want to call this link, and that the => is purely for human readability and can be omitted.

Notes on Halshow here: www.linuxcnc.org/docview/html/hal_halshow.html
The HAL pins you can use: www.linuxcnc.org/docview/html/config_emc2hal.html
Extra HAL pins if a function you want isn't there: www.linuxcnc.org/docview/html/gui_halui.html
How to use HAL here: www.linuxcnc.org/docview/html/hal_basic_hal.html

If machine over travel than I like to set up a switch that I use to press and hold so EMC dont see that machine is over travled and I can manual get machine out of over travel zone.

That button exists in the GUI, do you really need a hardware version?

also want to switch for spindle on/off/ cw/ ccw


Easy enough, see the middle link (motion.spindle-on, motion.spindle.forward, motion.spindle.reverse.

like to have switch for orient the spindle so my tool fit in spindle in one direction only even if I am doing it manually.


Hmm, now, that is a more difficult question. How you do that depends on how the machine works. Does it have any spindle alignment hardware? If not then you need a spindle encoder and a motor drive capable of moving the spindle at almost zero speed. A typical VFD probably won't work.
Last edit: 31 Aug 2011 13:47 by andypugh.

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

More
03 Sep 2011 22:23 #12933 by jmelson
diekie wrote:

sorry.. only realised now you figured it out... well done. for your limit switches etc, try running pncconf in terminal window. this gave me much clearer understanding of pins etc.


Pncconf will be useless for a Pico Systems product. There is no auto configuration program, but
the machine/show hal configuration menu allows you to see all the hal pins and signals.

Jon

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

More
03 Sep 2011 22:32 #12935 by jmelson
andypugh wrote:

For example, you probably have a pin called ppmc.0.in-00 and ppmc.0.in-00-not which show the status of input pin 00 on the PPMC board. If you select this pin in the "Watch" tab of Macine->ShowHalConfig then you ought to see it change state.
Choose the one wired to the e-stop, and verify that both in and in-not toggle when you operate the e-stop.
Now look for a pin called iocontrol.0.emc-enable-in.

Actually, it will be ppmc.0.din.00.in
or
ppmc.0.din.00.in-not for the logical complement of that signal. The number following the din.
will range from 00 through 15 for the first DIO board.

The emergency stop chain is on ots own pins, and you don't need to program that at all. it is all
on the DIO board's web page at pico-systems.com/dio.html
There is a green LED that lights to indicate the E-stop chain is a closed
circuit. There is a bunch of hal code in the setup file ppmc_io.hal that
makes the E-stop work, and it needs to be kept in the exact order as in the sample
files.

The default file sets up SSR8 to enable the servo amps when in the "machine on" state.
You can just use Axis to see the various limit switch conditions.

Jon

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

More
03 Sep 2011 23:50 #12940 by andypugh
jmelson wrote:

andypugh wrote:For example, you probably have a pin called ppmc.0.in-00

Actually, it will be ppmc.0.din.00.in

In that case the docs here: www.linuxcnc.org/docview/html/drivers_pico_ppmc.html are not entirely clear.

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

More
07 Sep 2011 17:42 - 07 Sep 2011 17:52 #13035 by jmelson
andypugh wrote:

jmelson wrote:

andypugh wrote:For example, you probably have a pin called ppmc.0.in-00

Actually, it will be ppmc.0.din.00.in

In that case the docs here: www.linuxcnc.org/docview/html/drivers_pico_ppmc.html are not entirely clear.

Yes, that document is derived from the OLD version. I have updated it, at least in the PDF, and it was supposed to become the
main document when 2.5 is released. But, now I see the entire hardware interfaces section has been removed from the integrator's manual, but seems to be here : www.linuxcnc.org/docview/devel/html/drivers/pico_ppmc.html

This has lost the clarification on what hal pins and parameters apply to specific Pico Systems boards and other
details that were not clear.

As for the digital inputs, yes, I think there's a mistake there, I will try to get it fixed tonight. The true-reading input
has a ".in" at the end, the inverse-reading input has ".in-not" at the end.

Jon
Last edit: 07 Sep 2011 17:52 by jmelson.

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

More
07 Sep 2011 21:18 #13036 by BigJohnT
jmelson wrote:

Yes, that document is derived from the OLD version. I have updated it, at least in the PDF, and it was supposed to become the
main document when 2.5 is released. But, now I see the entire hardware interfaces section has been removed from the integrator's manual, but seems to be here : www.linuxcnc.org/docview/devel/html/drivers/pico_ppmc.html

This has lost the clarification on what hal pins and parameters apply to specific Pico Systems boards and other
details that were not clear.

As for the digital inputs, yes, I think there's a mistake there, I will try to get it fixed tonight. The true-reading input
has a ".in" at the end, the inverse-reading input has ".in-not" at the end.

Jon


Yea, the Integrators manual is a mess and missing large chunks of information that Integrators need as well as the HTML for 2.5. So there is really no point in having the PDF's split up in the way they are but...

Just remember to add to the lowest branch that the information applies to as all merges are upward. Never change master if it applies to a branch.

John

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

More
08 Sep 2011 04:01 #13040 by jmelson
BigJohnT wrote:

jmelson wrote:


Just remember to add to the lowest branch that the information applies to as all merges are upward. Never change master if it applies to a branch.

John

OK, I have corrected the mistakes and committed to the master of docs/src/drivers/pico_ppmc.txt

This document can only be accessed from the "Documentation for the unreleased development version"

(of course the changes won't get there for a day or so....)

What is the git command to push this info the the 2.4.6 version of the docs as well?

Thanks,

Jon

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

More
08 Sep 2011 11:10 - 08 Sep 2011 11:16 #13042 by BigJohnT
Jon,

The docs in 2.4.x still use Lyx so to change something in those docs you need to either have an 8.04 machine with a 2.4 checkout and use Lyx or open the .lyx file with a text editor and make your changes. Or you can tell me what you want changed in 2.4 and I can make change it for you.

It does sound to me that you put your change in master and not 2.5, if that is the case it will not be included with 2.5 by default. I always open a terminal before editing a doc and do a git branch to see what is the current branch that I'm working on.

The Docs for 2.5 are here:

www.linuxcnc.org/docview/2.5/html/

I added a link to the 2.5 html docs to the Documents page to make it easier to check.

John
Last edit: 08 Sep 2011 11:16 by BigJohnT.

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

More
08 Sep 2011 15:41 #13044 by jmelson
BigJohnT wrote:

Jon,

The docs in 2.4.x still use Lyx so to change something in those docs you need to either have an 8.04 machine with a 2.4 checkout and use Lyx or open the .lyx file with a text editor and make your changes. Or you can tell me what you want changed in 2.4 and I can make change it for you.

Well, maybe it doesn't make sense to spend much effort on that.


It does sound to me that you put your change in master and not 2.5, if that is the case it will not be included with 2.5 by default. I always open a terminal before editing a doc and do a git branch to see what is the current branch that I'm working on.

I still am very limited in what I can do in git. Yes, I think I did put it in master. Is there a simple way to
also move these files the 2.5? I really need the git syntax, I've tried reading the git documents but am not able to make much sense of them.

The Docs for 2.5 are here:

www.linuxcnc.org/docview/2.5/html/

I added a link to the 2.5 html docs to the Documents page to make it easier to check.

John

Thanks, that should help.

Jon

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

More
08 Sep 2011 15:49 #13045 by jmelson
jmelson wrote:

As for the digital inputs, yes, I think there's a mistake there, I will try to get it fixed tonight. The true-reading input
has a ".in" at the end, the inverse-reading input has ".in-not" at the end.

Jon

OK, I have corrected the errors in the master version of the docs, at :
www.linuxcnc.org/docview/devel/html/drivers/pico_ppmc.html

I am still working on getting this merged to the 2.5 branch so it goes out in the distribution.

Jon

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

Time to create page: 0.109 seconds
Powered by Kunena Forum