Hardware - Siemens Simatic
Interfacing a Siemens Simatic PLC
This section explains how to connect a Siemens Simatic PLC to a CDP Studio system using the Modbus protocol.
Note: Siemens PLCs can also be interfaced using OPC UA. Refer to the CDP Studio documentation on OPC UA I/O for details on how to set this up. An additional license on the PLC for the Siemens Simatic OPC UA Server/Client might be required. Check the Siemens Simatic documentation for more information.
Siemens Simatic Overview
Siemens AG offers a range of programmable logic controllers (PLCs) and other automation equipment under the Simatic brand. These PLCs can communicate with other devices using various protocols, including OPC UA and Modbus. This guide focuses on Modbus communication.
Above: A Siemens Simatic 60W PSU to the left, followed by a Siemens Simatic S7 1511 PLC, an S7 TM MFP (Linux Controller), a Digital Input module and a Digital Output Module. CDP Studio applications can run natively on the S7 TM MFP Linux controller and exchange data with the S7 1511 PLC using a supported protocol.
Siemens PLC Modbus Communication using CDP Studio
The CDP Studio Modbus I/O resource allows you to connect to a Siemens Simatic PLC via Modbus. Below is a simplified overview of how to configure the communication:
Configuration
The Simatic PLC can be configured as a Modbus Master (Client) or as a Modbus Slave (Server). The client is the active driver of the communication, while the server responds to the client requests.
- If the PLC is set as a Modbus server, add a ModbusMaster to the CDP Studio application
- If the PLC is set as a Modbus client, add a ModbusSlave to the CDP Studio application
CDP Studio provides pre-configured components for Siemens Simatic Modbus communication under the Siemens_Simatic resource:
- ModbusMaster: This component is used if the CDP Studio application acts as the Modbus client (master).
- ModbusSlave: This component is used if the CDP Studio application acts as the Modbus server (slave).
These components come pre-configured with an IO packet that has ReadAddress set to 0 and WriteAddress set to 10, and a pre-set function code ReadWriteMultipleRegisters (0x17 / 23). You can adjust these settings based on your specific needs. The defaults are provided for a simplified initial setup.
Note: See below for a tutorial of how to set up communication with a Siemens Simatic PLC Modbus Slave both on the PLC side and on the CDP Studio side.
Important Information Regarding Function Codes
Note: For proper communication, ensure you set the correct FunctionCode in your Modbus packets:
- Use ReadHoldingRegisters if you only want to read data from the PLC.
- Use WriteMultipleRegisters if you only want to write data to the PLC.
- Use ReadWriteMultipleRegisters if you want to both read data from the PLC and write data to the PLC.
Tutorial
Siemens Simatic Modbus Slave Tutorial - Demonstrates how to set up communication between a CDP Studio application with a Modbus Master, and a Siemens Simatic S7 1511 with a modbus slave.
See also Modbus I/O Channel scaling, Watchdog and Debug information documentation for more info.
Note: For more information about CDP Technologies partnerships, see Our Partners and for detailed information on Siemens, see the Siemens website for more information.
Get started with CDP Studio today
Let us help you take your great ideas and turn them into the products your customer will love.