Rust PLCNext runtime stability

I’m working through the examples and excited at the thought of being able to develop in Rust. I was exploring this last year, but gave up after hitting obstacles with interop. The project notes that it’s not ready for use in production. How big, exactly, is the gap between the current state of the Rust and C++ runtime projects on Github and what Phoenix Contact considers ready?

Hello Hank, I am also a Rust fan, and I think the PLCnext Control is a perfect platform for Rust, so I am happy to try and answer your questions: There are two different parts to your question: - The C++ Sample Runtime tutorial/example on Github uses only the ANSI-C and C++ interfaces that ship with the PLCnext Control and SDKs from Phoenix Contact. These interfaces are production-quality and fully supported by Phoenix Contact. There are already third-party products in the PLCnext Store that use these interfaces, and you can use these interfaces for your own projects with confidence. - The Rust Sample Runtime tutorial/example on Github is a little different. It uses the same ANSI-C interface as the C++ sample runtime, but that ANSI-C interface is wrapped in a Rust crate (plcnext) that should also be considered sample code (the source code for that crate is also available in Github). It will probably be some time before that crate will be in a production-ready state, and it will probably rely on the open-source community to get it to that state … so feel free to contribute, if you want :slight_smile: If you have a specific PLCnext project in mind that would suit Rust, and you are able to share details with us, we can discuss it offline. I can then raise it with people here in Phoenix Contact, and it may be the encouragement we need to put more resources into the development of the plcnext crate(s) … but there’s no guarantee, so please don’t depend on this happening. I hope this answers your question. ~ Martin.