Codesys Ros2 [hot]
The CODESYS controller acts as a client that sends data to an agent running on a Linux-based gateway (or the same IPC).
+-----------------------------------+ +-----------------------------------+ | ROS 2 | | CODESYS | | - Perception (LiDAR, Cameras) | | - Deterministic Control (1-2ms) | | - Path Planning (Nav2) |=====> | - Actuator/Motor Control | | - High-level AI & SLAM | UDP | - Functional Safety (SIL3) | | - Non-real-time Complex Math | | - Fieldbus (EtherCAT, PROFINET) | +-----------------------------------+ +-----------------------------------+ CODESYS: The Industrial Bedrock
Lightweight, supported by virtually every CODESYS-compatible controller out of the box, zero software cost. codesys ros2
The convergence of industrial automation and advanced robotics is reshaping the manufacturing landscape. Historically, industrial automation relied on Programmable Logic Controllers (PLCs) executing deterministic, rigid logic via languages like IEC 61131-3. In contrast, advanced robotics evolved around the Robot Operating System (ROS and now ROS 2), an open-source framework designed for complex, non-deterministic tasks like computer vision, motion planning, and autonomous navigation.
ROS 2 is an open-source software framework developed by the Open Source Robotics Foundation (OSRF). It is designed to simplify the development of complex robot applications by providing a flexible and scalable architecture. ROS 2 offers a wide range of features, including: The CODESYS controller acts as a client that
For high-performance applications (200Hz to 1000Hz), shared memory is the best option if both systems run on the same hardware (like a Raspberry Pi or an IPC). Architecture A ROS 2 node writes data to a shared memory segment.
To understand the value of this hybrid architecture, it is essential to look at what each platform does best. It is designed to simplify the development of
CODESYS, the market leader in SoftPLC development, has released a professional package that allows a standard Industrial PC (IPC) to run a real-time CODESYS Control Runtime and a ROS 2 stack simultaneously.
Data is exchanged through a shared memory interface, bypassing the network stack entirely.
You must create a standard package that handles the "outside" communication. Create Package ros2 pkg create --build-type ament_python Write Publisher/Subscriber