# Siemens S7+ Endpoint Properties

## `address` (string)

Direct memory address for absolute addressing mode. Supports access to data blocks (DB), input areas (I), output areas (Q), and memory areas (M). This is a proof-of-concept feature with limited testing. Use `nodeId` for production environments. Refer to Siemens S7 documentation for complete addressing syntax.

Examples: `"DB1,B0.64"`, `"DB1,R0.20"`, `"PII30"`, `"PIW30"`

## `nodeId` (string)

Hierarchical path to a symbol within the TIA Portal project structure. The path uses dot notation to navigate from the root PLC through program blocks to the specific variable. Each segment represents a level in the project hierarchy.

Examples: `"PLC_1.Blocks.cnt_down_timer.ST"`, `"PLC_1.Blocks.pulse.PT"`, `"PLC_1.Blocks.Data_block_1.Temperature"`, `"PLC_1.Blocks.Data_block_1.Lux"`

## `dataType` (string, enum)

Siemens S7 data type specification for the target variable. For array operations, this defines the data type of individual array elements (requires `isArray` to be `true`). Supported types include basic types (BOOL, INT, REAL), strings (STRING, WSTRING), and time types (TIMER, COUNTER).

This element must be one of the following enum values:

* `X`
* `B`
* `BOOL`
* `BYTE`
* `C`
* `CHAR`
* `WCHAR`
* `WORD`
* `INT`
* `DWORD`
* `DINT`
* `REAL`
* `LREAL`
* `LINT`
* `S`
* `STRING`
* `WSTRING`
* `DT`
* `DTZ`
* `DTL`
* `DTLZ`
* `TIMER`
* `COUNTER`

Examples: `"DINT"`, `"REAL"`, `"BYTE"`

## `isArray` (boolean)

Indicates whether the target variable is an array. When `true`, the operation will read/write multiple consecutive elements of the specified data type. Must be used in conjunction with `arrayLength`.

Default: `false`

## `arrayLength` (integer)

Number of consecutive elements in the array as configured on PLC. Required when `isArray` is `true` for the chosen `dataType`.

Additional restrictions:

* Minimum: `1`

## `browse` (string, enum)

This parameter is reserved for future use. It currently has no effect.

This element must be one of the following enum values:

* `flat`
* `hierarchical`
* `datablocks`

Example: `"flat"`

## `interval` (integer)

Polling frequency (in milliseconds) for subscribe operations using best-effort polling. Determines how often the system reads data from the PLC. Lower values provide more real-time data but increase network and CPU load.

Default: `1000`

Example: `2000`


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.cybus.io/2-1-2/connectors/shop-floor-connectors/siemens-simatic-s7+/s7plusendpoint.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
