RoboPLC (Linux real-time applications in Rust) - v0.4 is out

51 points disserman

Good day everyone,

This year we have introduced RoboPLC - our free, open-source framework and a pack of tools for creating and managing real-time Rust applications on Linux.

Good news: we are actively developing the project and here is what's new:

  • Locking policies. Locking in real-time applications is always a keystone, so now it can be 3 different locking strategies selected, according to applications' needs: from the default one to real-time safe with priority inheritance (Linux only)
  • Remote execution. Before a program is flashed to a remote computer/board, it can be executed on the board inside the provided virtual terminal - a great tool for debugging which saves development time with no necessity to copy/run the binary over ssh
  • All low-level components have been moved to a sparate RTSC crate
  • RVideo - a great tool for debugging computer-vision programs (can be used separately)
  • RFlow - a chat-like quickly-to-integrate HMI for communicating with the program in runtime (can be used separately as well)
  • Container support - as nowadays Docker engine is available on many industrial computers, RoboPLC CLI can now create Docker images with a single command. They automatically include a lightweight version of RoboPLC manager instance and a user's program.

RoboPLC is already actively used in production by ourselves, including dozens of PLC program instances and embedded firmware. It also helps us a lot with quickly creating small tools for metering, monitoring and controlling existing embedded Linux setups.