目录
S7 系列是西门子构建的最新一代可编程逻辑控制器 (PLC)。PLC 是为自动化和生产而构建的工业计算机,用于制造和机器人等领域。西门子 S7 PLC 的设计具有通用性,并支持机械设备的远程控制。gos7 库在 golang 中实现了西门子 S7 控制。
为什么使用 Telegraf 插件来监控西门子 S7?
西门子 S7 Comm 插件允许您从西门子 S7 PLC 收集指标。您可以记录来自定时器和计数器的信息,以及 CPU 状态等指标,并将这些数据发送到 InfluxDB。这使得分析 PLC 的过去性能以优化您的应用程序并为 CPU 过载等问题设置警报变得简单。
如何使用 Telegraf 插件监控西门子 S7 Comm
要开始使用西门子 S7 Comm 插件,您需要将变量 pollInterval
设置为您想要收集指标的频率。配置非常简单。开始使用插件之前需要设置的参数包括 name
、plc_ip
、plc_rack
、plc_slot
、connect_timeout
、request_timeout
和 nodes
。
此外,您需要在配置文件中为每个节点指定以下数据类型之一:bool
、byte
、word
、dword
、int
、dint
、uint
、udint
、real
、time
最后,西门子 S7 Comm 是一个外部插件,使用 shim
和 execd
。将以下代码添加到您的主 Telegraf 配置文件中。
[[inputs.execd]] command = [“/path/to/s7comm”, “-config”, “/path/to/s7comm.plugin.conf”] signal = “none” restart_delay = “10s” data_format = “influx”
用于监控的关键西门子 S7 Comm 指标
通过 gos7 库,您可以使用以下功能来控制您的西门子 S7 PLC
- 读取/写入数据块
- 读取/写入 Merkers
- 读取/写入 IPI
- 读取/写入定时器
- 读取/写入计数器
- 多区域读取/写入
- 获取块信息
- 热启动/冷启动/停止 PLC
- 获取 PLC 状态的 CPU
- 列出 PLC 中的可用块
- 设置/清除会话密码
- 获取 CPU 保护和 CPU 订货代码
- 获取 CPU/CP 信息
- 读取/写入 PLC 助手时钟
- 获取/设置类型字节数组的值
西门子 S7 Comm Telegraf 插件允许您从 PLC 收集这些指标。
有关更多信息,请查看文档。