我试图用python-snap7 0.4包装器安装snap7(从S7-1200中读取),但我总是得到一个带有以下简单代码的回溯。
from time import sleep
import snap7
from snap7.util import *
import struct
plc = snap7.client.Client()
回溯:
>>>
Traceback (most recent call last):
File "Y:\Lonnox\Projekte\Bibliothek\Python und SPS\S7-1200 Test.py", line 6, in <module>
plc = snap7.client.Client()
File "C:\Python34\lib\site-packages\snap7\client.py", line 30, in __init__
self.library = load_library()
File "C:\Python34\lib\site-packages\snap7\common.py", line 54, in load_library
return Snap7Library(lib_location).cdll
File "C:\Python34\lib\site-packages\snap7\common.py", line 46, in __init__
raise Snap7Exception(msg)
snap7.snap7exceptions.Snap7Exception: can't find snap7 library. If installed, try running ldconfig
安装snap7和python wrapper的步骤如下:
如何在windows上正确安装snap7?
[pip安装日志][1]
试试这个: 在snap7文件夹中搜索snap7.dll和snap7.lib文件 将snap7.dll和snap7.lib复制到“C://PythonXX/site packages/snap7”目录中,然后再次运行代码。您可以在同一目录下的common.py文件中找到这一点。
使用snap7的最新设置如下所示:
通过“pip install”在命令行中使用pip安装snap7 for python python-snap7“
从sourceforge下载最新的snap7包
将32位或64位版本复制到任何文件夹,例如项目文件夹
在python程序中临时编辑环境变量
路径中允许有空格。这很好,但如果您创建安装程序,例如使用xfreeze。
经过一些尝试和错误的实验,以及snap7中涉及的一些开发人员的信息,我修复了这个问题。snap7.dll和.lib文件所在的文件夹必须存在于Windows的环境变量中。另外,如果从Python安装程序中选中了“add path”选项,则可以将文件复制到Python install目录。
详见图片:编辑环境变量
edit enviroment vars
为了给像我这样的新手提供一个良好的起点,这里有一个简单的snap7教程,从一个带有Python3的S7 1212C PLC读取DB的变量:
IP和子网掩码
PLC的IP必须在PC LAN设备的子网掩码范围内。如果LAN设备的IP为10.112.115.1,子任务为255.255.255.0,则您的PLC的范围为10.112.115.2到10.112.115.255。超出此范围的每个可编程逻辑控制器IP都会给您一个“无法访问的对等”错误。
防火墙
确保防火墙允许PC和PLC之间的通信。
可编程逻辑控制器数据位置
如果您不喜欢STEP 7/TIA门户。查找“联机诊断”按钮并查看图片以查找数据的位置。
DB Number and Variable Offsets
可编程逻辑控制器配置
除了使用要读取的变量的可编程逻辑控制器程序外,可编程逻辑控制器不需要其他部件来与snap7通信。与snap7通信所需的服务由打开电源的固件启动。
相关问题 更多 >
编程相关推荐