1
0
Fork 0
telegraf/plugins/inputs/s7comm/README.md
Daniel Baumann 4978089aab
Adding upstream version 1.34.4.
Signed-off-by: Daniel Baumann <daniel@debian.org>
2025-05-24 07:26:29 +02:00

108 lines
4.2 KiB
Markdown

# Siemens S7 Input Plugin
This plugin reads metrics from Siemens PLCs via the S7 protocol.
⭐ Telegraf v1.28.0
🏷️ hardware
💻 all
## Global configuration options <!-- @/docs/includes/plugin_config.md -->
In addition to the plugin-specific configuration settings, plugins support
additional global and plugin configuration settings. These settings are used to
modify metrics, tags, and field or create aliases and configure ordering, etc.
See the [CONFIGURATION.md][CONFIGURATION.md] for more details.
[CONFIGURATION.md]: ../../../docs/CONFIGURATION.md#plugins
## Startup error behavior options <!-- @/docs/includes/startup_error_behavior.md -->
In addition to the plugin-specific and global configuration settings the plugin
supports options for specifying the behavior when experiencing startup errors
using the `startup_error_behavior` setting. Available values are:
- `error`: Telegraf with stop and exit in case of startup errors. This is the
default behavior.
- `ignore`: Telegraf will ignore startup errors for this plugin and disables it
but continues processing for all other plugins.
- `retry`: Telegraf will try to startup the plugin in every gather or write
cycle in case of startup errors. The plugin is disabled until
the startup succeeds.
- `probe`: Telegraf will probe the plugin's function (if possible) and disables the plugin
in case probing fails. If the plugin does not support probing, Telegraf will
behave as if `ignore` was set instead.
## Configuration
```toml @sample.conf
# Plugin for retrieving data from Siemens PLCs via the S7 protocol (RFC1006)
[[inputs.s7comm]]
## Parameters to contact the PLC (mandatory)
## The server is in the <host>[:port] format where the port defaults to 102
## if not explicitly specified.
server = "127.0.0.1:102"
rack = 0
slot = 0
## Connection or drive type of S7 protocol
## Available options are "PD" (programming device), "OP" (operator panel) or "basic" (S7 basic communication).
# connection_type = "PD"
## Max count of fields to be bundled in one batch-request. (PDU size)
# pdu_size = 20
## Timeout for requests
# timeout = "10s"
## Log detailed connection messages for tracing issues
# log_level = "trace"
## Metric definition(s)
[[inputs.s7comm.metric]]
## Name of the measurement
# name = "s7comm"
## Field definitions
## name - field name
## address - indirect address "<area>.<type><address>[.extra]"
## area - e.g. be "DB1" for data-block one
## type - supported types are (uppercase)
## X -- bit, requires the bit-number as 'extra'
## parameter
## B -- byte (8 bit)
## C -- character (8 bit)
## W -- word (16 bit)
## DW -- double word (32 bit)
## I -- integer (16 bit)
## DI -- double integer (32 bit)
## R -- IEEE 754 real floating point number (32 bit)
## DT -- date-time, always converted to unix timestamp
## with nano-second precision
## S -- string, requires the maximum length of the
## string as 'extra' parameter
## address - start address to read if not specified otherwise
## in the type field
## extra - extra parameter e.g. for the bit and string type
fields = [
{ name="rpm", address="DB1.R4" },
{ name="status_ok", address="DB1.X2.1" },
{ name="last_error", address="DB2.S1.32" },
{ name="last_error_time", address="DB2.DT2" }
]
## Tags assigned to the metric
# [inputs.s7comm.metric.tags]
# device = "compressor"
# location = "main building"
```
## Example Output
```text
s7comm,host=Hugin rpm=712i,status_ok=true,last_error="empty slot",last_error_time=1611319681000000000i 1611332164000000000
```
## Metrics
The format of metrics produced by this plugin depends on the metric
configuration(s).