I'm a PLC guy so I can't even spell python. That was his problem also. I would like to learn python but the hours in the day to get things done and learn new things just aren't there.
Jeff, I feel very much the same way. For that reason I would also not quote any job in Python to any customer. I would offer more off-the-shelf solutions.
The CODESYS runtime license is in the neighborhood of US$ 100. If you use an industrial grade RaspberryPI, of which there are some I believe, which work on 24 VDC as opposed to 5 VDC as consumer-grade RasPi do, then I think much of the noise issues are gone. I am not a machine builder. We develop firmware for field devices. Many of my customers who want to add EtherNet/IP functionality do not have a PLC and I recommend them RevolutionPi for their develoment and their quality control equipment for their own final product.
There are other devices such as Exor's touch panel devices that run the CODESYS PLC engine and give you in addition the graphic user interface, which is very good for small machines.
EtherNet/IP scanner functionality is very well supported by CODESYS, the GUI is excellent and the diagnostics is superb. If you configure something incorrectly you get the connection manager extended status from the device in the Engineering tool. The license for the engineering tool is free of charge. It also supports EtherCAT, Profinet and Motdbus TCP.
For an additional US$ 40 or so it can be an adapter and thus you can communicate the CODESYS with a Rockwell PLC by IO messaging. or you can write some code to access Rockwell PLC tags by CIP client messaging.
Finally, end users may be OK with open source. But at least here OEMs do not like the terms of open source licensing, so this is another thing to look into if you are considering open source solutions.
I think these solutions for the "PLC-kind-of-guy" I think myself of are so easy to use and reliable, at least for small machines. Fancy stuff such as QuickConnect is not supported. You would need Python and dmroeder's library for that kind of functionality. Anyways, just my two cents here.