Skip to content

Siemens S7 Configuration ​

Pulse reads Siemens SIMATIC S7 PLCs using the S7 communication protocol. A PLC is added as a data source: one connection that carries every value Pulse reads from that machine.

There are two S7 modes, and this is the classic one

This page covers reading a PLC by absolute address (DB1.DBD4), which works on every S7 family and needs PUT/GET communication enabled on the controller.

An S7-1200 from firmware V4.5 or an S7-1500 from V2.9, with its project loaded by TIA Portal V17 or later, can instead be read by tag name — "DB_Line".Speed — with nothing switched on and with a browsable symbol tree. See Symbolic S7.

Adding an S7 Data Source ​

Create S7 data source with connection settings

  1. Navigate to Data sources → S7 in the sidebar and click New data source
  2. Choose Siemens S7 from the menu. The dialog that opens asks which kind of CPU: choose Classic — by absolute address
  3. Configure the connection:
FieldDescriptionTypical Value
NameA descriptive name for the sourcePLC Line 1
AddressThe PLC's IP address or hostname192.168.1.50
RackPLC rack number0
SlotPLC slot number1
Read interval (seconds)How often every data point of this source is read10
Acquire from this data sourceSwitch this off to stop polling without deleting the source
TagsCategorize the source; every data point inherits its tags
Alert me when this source is unreachableCreates a monitor alongside the source (see below)

Pulse connects over ISO-on-TCP on its standard port, so no port needs to be configured.

Adding from device discovery

If you arrive here from Device Discovery by clicking Add on a found device, the Name, Address, Rack, and Slot are already filled in from the scan results. Review them and proceed with the remaining fields.

Rack and Slot Values ​

Common configurations for Siemens PLCs:

PLC TypeRackSlot
S7-120001
S7-150001
S7-30002
S7-40002 or 3

Being Alerted When the PLC Goes Down ​

Alert me when this source is unreachable is ticked when you add a source. It creates a condition monitor named after the source — PLC Line 1 unreachable — that raises an incident once Pulse stops getting readings from it. Pick the escalation policy it should use in the field below the tick box.

From the moment it exists, it is an ordinary monitor: rename it, mute it, change its escalation policy, edit its condition, or delete it, all from the monitor list. Untick the box if nobody should be paged for this particular PLC.

Adding Data Points ​

The individual values in PLC memory are data points of the source. The source's detail page lists every one Pulse reads, with its S7 address, last value, last sample time, and reading quality.

To declare a new data point, open the source's detail page and choose Add data point above the Data points table. The dialog asks for:

  • Address — the S7 address in the same syntax the sampler reads, e.g. I0.0, MW10, or DB1.DBD4.
  • Data type — how Pulse interprets the raw PLC memory at that address (see Data Types below).

The address and data type must agree: a DBW (Word) address holds a 16-bit value, so it pairs with Word or Int, not with Real. Pulse starts reading the new data point on the source's next poll.

To declare many data points at once from a spreadsheet, use Import from the action menu (⋯) next to it. See Importing from CSV for the full column reference, including the optional threshold columns that create a condition monitor alongside each data point.

Use the search box above the data points table to find a specific point by address or name. The search runs on the server, so it reaches all declared data points, not only the current page.

Alerting on a Tag Value ​

To alert on a data point, build a condition and attach a condition monitor to it. A condition compares readings against thresholds, aggregates them over a time window, and can combine several of them — including a reading and its source's reachability in one rule, so a PLC that drops off the network raises the one incident that says so instead of one per value read from it.

The source's detail page shows a Monitors section listing every condition monitor that alerts on any data point of this source. Click a monitor to open its detail page. A source with no monitors alerts on nothing; that section says so explicitly — a useful reminder that readings are being collected but nobody is paged when they go wrong.

Each row in the data points table also shows which monitors alert on that specific point. A single monitor appears as an icon button that opens it directly; when two or more monitors alert on the same point, the button shows the count and opens a picker listing them by name.

Each row also has an Open in Query action in its context menu (right-click or the ⋮ button) that takes you to the Query page pre-aimed at that data point, so you can explore its reading history without building the query from scratch.

Data points build up a history only while you keep them. Use Keep on the source's detail page for the values you want to chart and query over the long term; the rest stay readable for 24 hours.

S7 Address Format ​

S7 addresses follow the pattern DBx.DByz where:

  • DB -- Data Block prefix
  • x -- Data Block number
  • y -- Data type: B (Byte), W (Word/2 bytes), D (DWord/4 bytes)
  • z -- Byte offset within the data block

Examples:

AddressDescription
DB1.DBW0Word at offset 0 in Data Block 1
DB2.DBD4Double word at offset 4 in Data Block 2
DB10.DBB0Byte at offset 0 in Data Block 10

Data Types ​

Each S7 data point carries a data type that tells Pulse how to interpret the raw PLC memory at its address:

Data TypeDescription
BitSingle boolean value (0/1)
ByteUnsigned 8-bit integer
WordUnsigned 16-bit integer
DWordUnsigned 32-bit integer
IntSigned 16-bit integer
DIntSigned 32-bit integer
Real32-bit floating point number

The address and the data type must agree: a DBW (Word) address holds a 16-bit value, so it pairs with Word or Int, not with Real.

TIP

Refer to your PLC program documentation for the correct data block numbers, offsets, and data types for the values you want to read.