While i was going to the documentation of I cam across adding a new PLC component in openCN.
The path mentioned in the document to add a new PLC component in user space is → Inserted the new plc in the supported_cfg array (usr/target/include/components/plc/plc.c file).
I cannot find the file at this given path
I found another file at below path with same name
usr/target/components/plc/plc.c
It took me a lot of time to find the file manually. If someone can confirm this is same file then i can keep a note of this and we can later update in the document.
While i was going through the documentations of PLC, further I could not find anywhere so have a question
whether the PLC runs on realtime CPU#1 or non realtime CPUs?
In linux cnc there is a plc ladder programming tool, can we plan of making similar kind of functionality in openCN for user programmable logic? Classicladder Programming
Since I am studying openCN and once I understand it i would also like to contribute to feature additions in openCN.
it would indeed be very useful having a PLC component in OpenCN.
I believe the “PLC ladder” tool in LinuxCNC is old-fashioned and should be replaced by something newer with a graphical user interface.
I know that there are existing opensource PLC proojects in Linux.
We should evaluate and look what efforts are needed to integrate in OpenCN.
In my opinion this is a BIG project for the future, but I encourage you to do so.
Thanks for the encouragement. Yes indeed the PLC Ladder tool is very old fashioned.
Since I have worked many years on PLC systems, I will compile a list of basic functionalities present in PLC system which are needed by user. I will also compile a with a list of open source PLC projects.
We should add those functionalities step by step. I will comeup with a document for suggestions from forum users.
Since I am a learning developer, Big projects will only help me learn and contribute.
The current PLC component is an OpenCN component. So its functionality is implemented in a RT function.
This component was created to put “not generic” code somewhere during Micro5 implementation as we have no real PLC support yet.
For the implementation, a full specification has to be made before implementation to deal with all PLC aspect. One of the question is “should PLC code runs in RT domain”.
I think it is better do make the spec in a Google doc. It is easier to work together this way.
I will prepare a PLC folder where the doc and image (we use draw.io generally) can be place.
I have checked and put in some very basic details. Need details from openCN users to help segregatewhat all is available in openCN and what we have to work on. Later we can decide the roadmap.
I will prepare a draw.io file about architecture soon and update you