【问题标题】:How to communicate Python with Siemens PLC using Python-snap7 and plcsim?如何使用 Python-snap7 和 plcsim 与西门子 PLC 进行 Python 通信?
【发布时间】:2022-10-08 22:14:11
【问题描述】:

我使用 pycharm 编写代码,使用 plcsim 进行仿真。当我运行我的代码并运行 plcsim 时,我得到一个错误。 我使用了 Tia portal V16 和 s7-1200,我想在 S7-1200 和 python-snap7 之间进行通信 这是错误:

PS C:\Users\Badro\PycharmProjects\pythonProject1\venv> py test.py
b' TCP : Unreachable peer'
Traceback (most recent call last):
- File "C:\Users\Badro\PycharmProjects\pythonProject1\venv\test.py", line 8, in <module>
plc.connect(IP, RACK, SLOT)
- File "C:\Users\Badro\AppData\Local\Programs\Python\Python310\lib\site- 
packages\snap7\client.py", 
line 24, in f
check_error(code, context="client")
- File "C:\Users\Badro\AppData\Local\Programs\Python\Python310\lib\site- 
packages\snap7\common.py", 
line 89, in check_error
raise RuntimeError(error)
RuntimeError: b' TCP : Unreachable peer'enter code here

这是我的代码:

import snap7

IP = '192.168.100.100'

RACK = 0
SLOT = 1
plc = snap7.client.Client()
plc.connect(IP, RACK, SLOT)

print(plc.get_cpu_state())

我看了这个视频https://www.youtube.com/watch?v=BKnK4AT_WKs

问题出在哪里,或者plcsim必须是模拟的真实plc而不是plcsim的问题?

【问题讨论】:

  • 我不确定 PLCSIM 是否模拟连接。另外,您的应用程序是否在模拟 PLC 的同一子网上?你能ping通PLC地址吗?

标签: python plc siemens snap7


【解决方案1】:

PLCSIM 无法在模拟 PLC 上模拟网络接口。

您必须安装PLCSIM Advanced V3.0,它还模拟每个模拟 PLC 的网络接口。

【讨论】:

    【解决方案2】:

    我有 PLCSIM V13 SP1 并测试了你的程序并且它可以工作。 我认为您需要安装 NetToPLCSim,它允许您连接到 Plc 以使用运行模拟的 PC 的网络接口测试您的应用程序。 建议您以管理员身份运行 NetToPLCSim。

    【讨论】:

      最近更新 更多