K
Ken E
Curt,
I'm building up an automation library based on C at my company for a linux/xenomai based commercial controller. So there are functions in my library that take care of task creation, time functions, IO access, error messaging, HMI, etc. Not quite Arduino simple, but a few steps removed from a nice clean user friendly package. Its not an open source project, but I'm just demonstrating that the simplified automation approach doesn't have to take on the IEC61131 model or ladder model.
I think I tend to agree with M. Griffin these days in that the key to this kind of project is in commodity PC platform tied over ethernet (or perhaps EtherCat in the future). We differ in opinion that the IO access should be deterministic and fast, but that is OK, each of us has different target applications for this type of thing. I'd like to find out that with a dedicated ethernet port, standard ethernet driver, and the PREEMPT_RT patch that you can obtain 1-2ms ethernet polling but I don't even have time to test this type of thing!
I stick to my guns that if a user is presented with an automation environment based on a *simplified* RTOS that they will develop nicer programs for complex machines. There is a reason that *most* motion controllers and Robot controllers are based roughly on C/Basic kinds of text languages and multithreaded environments.
If you are flicking a few valves on a timer and displaying a few error lights, by all means buy a small PLC.
KEJR
I'm building up an automation library based on C at my company for a linux/xenomai based commercial controller. So there are functions in my library that take care of task creation, time functions, IO access, error messaging, HMI, etc. Not quite Arduino simple, but a few steps removed from a nice clean user friendly package. Its not an open source project, but I'm just demonstrating that the simplified automation approach doesn't have to take on the IEC61131 model or ladder model.
I think I tend to agree with M. Griffin these days in that the key to this kind of project is in commodity PC platform tied over ethernet (or perhaps EtherCat in the future). We differ in opinion that the IO access should be deterministic and fast, but that is OK, each of us has different target applications for this type of thing. I'd like to find out that with a dedicated ethernet port, standard ethernet driver, and the PREEMPT_RT patch that you can obtain 1-2ms ethernet polling but I don't even have time to test this type of thing!
I stick to my guns that if a user is presented with an automation environment based on a *simplified* RTOS that they will develop nicer programs for complex machines. There is a reason that *most* motion controllers and Robot controllers are based roughly on C/Basic kinds of text languages and multithreaded environments.
If you are flicking a few valves on a timer and displaying a few error lights, by all means buy a small PLC.
KEJR