LinuxCNC embedded into automation machine

More
19 Feb 2020 09:59 #157822 by hhscott
Can LinuxCNC be operated "Headless" with the use of an API or custom Python interface? I am building a large automation machine that has several functions/stations. One of the stations is a CNC ultrasonic knife cutting system. I would like to utilize LinuxCNC to control the CNC knife (4 axis) while the main machine controls operate via a PLC and Touch screen interface. I have a lot of PLC experience and I also have traditional CNC experience (Mach3, not Linux). The challenge is getting the 2 systems to work together without the end user having to know anything about CNC operation. The machine will work off of recipes that the operator will select via the touch screen and the system runs from there. In a perfect scenario, the operator would select the product via the touch screen and then the PLC would load the appropriate G-code file into the CNC control software.

Could possible interface options include:

1. Digital inputs to trigger events in LinuxCNC? (homing, G-code file selection)

2. Python code interface?

Thanks,
HH

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

More
19 Feb 2020 10:09 #157824 by tommylight
Given the versatility Linuxcnc offers and it's possibilities to modify it to suit almost anything, i would venture a guess that it is possible, but since i have not done that ever, i can not help much. There are more experienced users here that might shed some light as to how would that be possible.
I do remember reading here about something similar a while back, but could not find it.

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

More
19 Feb 2020 11:41 #157840 by rodw
Go through the docs and read up on NML messaging and the Python Interface.
My understanding is that Linuxcnc is controlled by NML messages (for interprocess communications) and there is a Python interface to them.
So yes its possible to send NML commands to say a web server interface and it would pass the massages on to Linuxcnc.
I would work with master branch. I think there have been some examples created like this.
The following user(s) said Thank You: thefabricator03

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

More
19 Feb 2020 19:04 #157888 by Todd Zuercher
Also, Halui is useful for an easy method of assigning tasks to digital inputs.
The following user(s) said Thank You: thefabricator03

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

More
19 Feb 2020 22:44 #157904 by phillc54
It may be worthwhile looking at linuxcncrsh

linuxcnc.org/docs/html/man/man1/linuxcncrsh.1.html
The following user(s) said Thank You: thefabricator03

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

More
26 Feb 2020 11:14 #158527 by hhscott

Go through the docs and read up on NML messaging and the Python Interface


I think that this is the route that I am going to take. My Python skills are at least adequate to pull this off I think. Now the question is what PC platform to install? I would like to use a fanless PC that I can mount in the control cabinet with all the other machine controller hardware (PLC, safety controller etc.) and have the high power 3ph circuits isolated in another cabinet for noise reduction.


What fanless PC would work for this application and which Mesa card (at least 4 axis) would be a good choice? I am looking for the path of least resistance to get going. I don't mind putting in the work but if possible I would like to use a setup that has been proven already. My project time-frame is pretty tight so this portion of the machine needs to move quickly if possible.

Thanks to all for the help,

HH

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

More
26 Feb 2020 12:50 - 26 Feb 2020 12:51 #158529 by rodw
Does you machine use servos or steppers?
If servos, are they step/direction or are they analog?

It kind of depends on you you are going to wire your control panel. I use the Mesa ethernet cards with a J1900 USFF PC mounted behind the monitor but there is a case to mount a bare motherboard in your control panel and use a Mesa 6i25 PCIe or 5i25 PCI card depending on your layout. I don't hink there is any real advantage over either approach other than that the ethernet card might be harder to configure (but it came straight up for me).
Last edit: 26 Feb 2020 12:51 by rodw.

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

More
26 Feb 2020 13:16 #158533 by hhscott
Servo motors, step and direction:

www.teknic.com/products/clearpath-brushl...stepper-replacement/

Thanks for the information!

HH
The following user(s) said Thank You: rodw

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

More
26 Feb 2020 13:20 #158534 by hhscott
So will this work for my application with an Mesa Ethernet card:

www.amazon.com/Celeron-Fanless-Support-i...m/dp/B01D7UK16W?th=1

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

More
26 Feb 2020 13:24 #158535 by rodw
I have something similar that has a Baytrail chipset and that has a lot of issues with power management and shutdowns so I would not recommend a Baytrail chipset ....

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

Time to create page: 0.188 seconds
Powered by Kunena Forum