PLC + LinuxCNC for industrial machine with simple HMI (non-G-code operators)

More
9 months 1 day ago #342227 by Marcos DC
Thanks for the replies — I think it may help to clarify one architectural point.

We are not evaluating a PLC + LinuxCNC setup because LinuxCNC lacks sequencing, ladder logic, or HMI capabilities.
The decision is driven by industrial architecture requirements.

In our case, the PLC is not intended to replace motion control.
The process is trajectory/raster-based (laser cleaning and spray overlap), where motion quality, lookahead, and path execution are critical — this is why LinuxCNC remains responsible for motion.

The PLC acts as the machine controller:
• machine state and sequencing
• safety and interlocks
• operator workflow and recipes
• maintaining a safe and known state independently of the PC

This is similar to how many industrial robotic cells are structured, where a dedicated motion controller handles paths, and a PLC controls the cell logic and operator interaction.

So the question is not whether LinuxCNC can do everything, but how others have structured a clean responsibility boundary between a real PLC and LinuxCNC in production machines.

Any practical examples along those lines would be appreciated.
The following user(s) said Thank You: tommylight, NWE

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

More
9 months 1 day ago - 9 months 1 day ago #342235 by NWE

Just to be clear, in your setup you are using Beckhoff EtherCAT I/O as remote I/O, but without a Beckhoff PLC runtime (e.g. TwinCAT PLC), correct?

 
Yes, I'm using Beckhoff I/O strictly as remote I/O, all my logic exists in the pc running LinuxCNC
Last edit: 9 months 1 day ago by NWE.

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

More
9 months 1 day ago #342236 by NWE

Admittedly, the Click PLCs are fairly 'low-end', so higher-end PLC's likely have more sophisticated onboard motion control features.
I've always had good results with AutomationDirect's Click PLC's. But I've been disappointed with the reliability of their Productivity 2000 and also their BRX models. Maybe it was just bad luck. I've finally retrofitted most of my higher end AutomationDirect PLC's but those Clicks sure don't seem to make much trouble. Still I don't care for ladder logic.

The very first project I sold containing a Productivity 2000 quit about a week after it was out the door. I tried reprogramming it, also tried updating its firmware, no go. I was able to read out some error logs. Automation tech support told me it is bricked, and that they have been having that trouble with that one firmware version. I have to return it for warranty. They gave me a choice of sending back the bricked plc then after they have it back, they send me a replacement. Or I can buy a new plc and they refund me when they get the broken one back. So I bought the new one and got the refund later because the customer was in a hurry. This was a $1200 USD PLC about 7yr. ago. (CPU + base + PSU + motion I/O) Even the base was bricked, that contained a CPLD on its motherboard.

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

More
9 months 1 day ago #342237 by NWE

This is similar to how many industrial robotic cells are structured, where a dedicated motion controller handles paths, and a PLC controls the cell logic and operator interaction.

So the question is not whether LinuxCNC can do everything, but how others have structured a clean responsibility boundary between a real PLC and LinuxCNC in production machines.

Any practical examples along those lines would be appreciated.
I think of this: LinuxCNC has capability to be operated by the user, entirely using keyboard+mouse+monitor, at opposite extreme it can have external I/O wired to physical buttons, switches and dials for operator control without any keyboard+mouse+monitor if you wish.

I'm thinking wire connections from your PLC I/O to LinuxCNC I/O to "drive by wire"? Cycle start, Feed hold, etc. maybe also jogging, whatever you need can be brought out on a wire and connected to your PLC.

The Fanuc 6-axis robot bag palletizer I've been reprogramming lately is connected to an Allen Bradley PLC via ethernet/IP. I have never heard the words "LinuxCNC" and "ethernet/IP" in the same sentence, but I've been meaning to explore the possibilities. I have about $1500 usd worth of new Beckhoff ethernet/IP remote I/O hardware on the shelf for nearly a year now, that I plan to connect with LinuxCNC. My big hurdle has been my nil experience with ethernet/IP. Now on this Fanuc I got an idea what ethernet/IP configuration looks like...

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

More
9 months 1 day ago #342239 by rodw
I don't think many people use a PLC in conjunction with Linuxcnc. There is an Ethercat master we have a driver for so getting IO and the like is pretty easy. Stick to Beckhoff for best support but making a custom XML driver for other IO and drives is pretty simple. Whilst people have mentioned Ladder Logic which is available, the secret magic nobody seems to mention is you can write hal components which when built and installed with a 1 line command : sudo halcompile --install mycomp.comp. Once these are built, they are treated exactly as if they are part of the core program and run in real time.

I do know a guy who has retrofitted a lot of big machines and recently on one big 5 axis machine with 100 tools and multiple pallet changers, the ladder wasn't doing it for him so he learnt a smattering of C and knocked out his working high speed tool changer component over a weekend.  
The following user(s) said Thank You: NWE

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

More
9 months 1 day ago #342253 by ruediger123
Check out Beremiz ( beremiz.org ).
I equipped it with a HAL interface. Works well with LinuxCNC.
runs under Linux and is open source.
The following user(s) said Thank You: NWE

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

Time to create page: 0.127 seconds
Powered by Kunena Forum