Not that I know of. I work in the CNC industry and when looking at alternate controllers we didn't find anything mentioning Rust.
Most PLCs I've seen will be based on the IEC 61131 family of programming languages (ladder logic diagrams, and structured text, etc.).
I've also run across one or two motion controllers where they've created their own custom DSL that gets compiled on the controller, often with support for interoperating with the IEC 61131 languages.
As far as I know... Write code for a normal microcontroller (e.g. STM32, probably using an RTOS to make things easier) and build the code abstracting over and interacting with hardware yourself
Something you've got to keep in mind is that the entire industrial motion control industry (including PLCs, CNC, etc.) tends to be very slow to adopt new technologies.
From my experience with customers and vendors, a lot of people are of the opinion that "If it's not broke, don't fix it" and will often run the same machine without any changes other than replacing mechanical parts (e.g. worn bearings) for decades. Unlike a lot of things that exist purely in the digital world (e.g. Amazon, Paypal, high-frequency trading, etc), it's quite hard for improved technology to obtain the order-of-magnitude productivity gains that would justify sinking money into R&D and re-training users.
There's also a lot of vendor lock-in, which removes a lot of the pressure for vendors to continually improve (you won't see an arms race between Siemens and Beckhoff, for example).
While I may sound quite pessimistic, I can see a real niche for an alternative industrial motion controller that is based on Rust. I'm just trying to give you a bit of background info so you know how the industry got to where it is, and what is influencing business decisions.
A lot of motion controller implementations I've seen are pretty average and a Rust implementation could have tangible quality benefits, particularly around API design and fault tolerance, due to how the language wants you to write code (borrow checker means your ownership story needs to be sane, Result<T, E>
means all errors are dealt with in some way, etc.).
It would also let developers of larger, more complex motion control projects have a solid platform to build on, instead of going with sub-standard motion control platforms or rolling your own with a microcontroller from scratch.