一、资料
链接:https://pan1.baidu.com/s/1-Dt7yc8e4zEVC5ySqXMLXQ?pwd=1010
提取码:1010
--来自百度网盘超级会员V6的分享,俺的网盘到24年11月,过期自己网上搜吧
二,准备工作
1、安装python
我用的是32位的,因为期间报了个这个错误,调试了好几次解释器才解决
编辑
正常安装python就行,很简单,注意事项其他的文章都有
2、安装pycharm
此处忽略。。
3、安装snap7
win+R,打开cmd终端
编辑
输入 pip install python_snap7联网自动安装
编辑
4、解压NettoplcsimS7o
这个玩意折磨了我很久后面会提,压缩包解压出来就行
编辑
三、调试及问题(纯干货)
1、打开pycharm,新建项目
注意红框内,一定不要选择虚拟解释器,且要选择现有的解释器,否则写程序时会无法插入snap7的模块
编辑
编辑
出现错误如下,no module named 'snap7'
编辑
正常如下
编辑
2、编写测试程序
import snap7 #插入模块
from snap7 import util
plc = snap7.client.Client() #命名客户端对象plc
plc.connect('192.168.0.1',0,1) #连接网址,机架,槽
print(f'connect:{plc.get_connected()}') #反馈连接状态
其中通讯地址需要打开TIA组态,这是使用真实的PLC,但是如果使用仿真则不是,这个地方困扰了我很久,后面会提
编辑
编辑
点击运行会报错,RuntimeError: can't find snap7 library. If installed, try running ldconfig,缺少库
打开网盘下载的snap7-full-1.4.2,根据python位数选择文件,复制到解释器路径下
编辑
编辑
注意我选择的时32位因为我的解释器时32位,如果我复制了64位会报如下错误
OSError: [WinError 193] %1 不是有效的 Win32 应用程序。
编辑
3、终极恶心错误
当如上配置都正常后,如果用的仿真点击运行会报
RuntimeError: b' TCP : Unreachable peer',超时
编辑
这个时候就用的这个模拟通讯软件,配置好点击开始服务
编辑
编辑
编辑
软件会自动生成电脑和TIA的地址,而我们在pycharm需要输入的网址是第一个,我这里是192.168.43.23,机架0,槽1
注意TIA中CPU的连接机制和访问级别要如图选择
编辑
编辑
打开TIA仿真,这里就不赘述了,在运行程序就会惊喜发现成功了
编辑
标签:解释器,snap7,python,编辑,PLC,plc,TIA From: https://blog.51cto.com/u_16464331/9175750