Siemens PLC
General Description
This ROS2 module contains the required packages for interfacing with Siemens PLCs through the Snap7 protocol.
The module launches a ROS2 node that allows reading from a Siemens PLC database and writing into it through ROS2 services.
The Snap7 protocol is based on the Siemens S7 communication standard.
| Resource | Link |
|---|---|
| Source code | Link to source code |

Contact
The following table includes contact information of the main developers in charge of the component:
| Name | Organisation | |
|---|---|---|
| Ander Gonzalez | ander.gonzalez@ikerlan.es | ![]() |
| Daniel Sedano | dsedano@ikerlan.es | ![]() |
License
Open source - BSD
Technical Foundations
WIP
Integrated and Open Source Components
Overview
The module contains the Snap7 libraries for the establishment of the communication between a Siemens PLC and ROS2 services.
Pre-existing Components
Snap7
Source
Description
Snap7 is an open-source software library that provides an interface for communication with Siemens S7 series PLCs. It enables users to access and interact with PLCs over industrial networks, allowing for both reading from and writing to various types of memory within the PLC.
Purpose in AI-PRISM
The driver is required to establish the communication among the ROS2 framework and physical Siemens PLCs that can control a robotic system.
License
How to install
WIP
How to use
Once the component has been installed and deployed, the module will enable ROS2 services that will allow to read registers from the PLC database and write onto them.
