> For the complete documentation index, see [llms.txt](https://captic-2.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://captic-2.gitbook.io/docs/overview/hands-on/integrating-your-robot/integration-flow/plcs/siemens-plc.md).

# Siemens S7

Connect to Siemens S7 PLCs.

The Integration Flow connects to Siemens S7 PLCs, such as the S7-1200 and S7-1500, with the S7 nodes under **siemens s7** in the palette.

## Prepare the PLC

Enable [put/get communication](https://cache.industry.siemens.com/dl/files/115/82212115/att_108330/v2/82212115_s7_communication_s7-1500_en.pdf) in the PLC (section 2.4, page 9). Without it, the PLC refuses reads and writes from the Captic device.

## Connect

In the S7 endpoint configuration, set:

| Setting    | Details                |
| ---------- | ---------------------- |
| IP address | IP address of the PLC  |
| Rack       | Rack number of the PLC |
| Slot       | Slot number of the PLC |

Then define the variables you want to read and write, by data block and address, and use the S7 in and out nodes to read and write them. For address syntax and node details, see the [upstream documentation](https://flows.nodered.org/node/node-red-contrib-s7).

## Data layout

We recommend the [PLC data layout](/docs/overview/hands-on/integrating-your-robot/integration-flow/plcs.md), created as two data blocks: one written by Captic and one written by the PLC.

![Example data blocks](https://482575286-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F22HCD2cZG8ud6cPRBzVQ%2Fuploads%2Fsb2c8hGGahBP38EXpdAH%2Fimage.png?alt=media\&token=5916647c-dac8-4a40-84f6-3ca1fe59cb26)

{% hint style="info" %}
Questions? Contact <support@captic.com>.
{% endhint %}
