Python-snap7 安装和测试

本文章记录Python-snap7零基础的安装和测试过程。

1 部件和软件

硬件:
1)S7-1500 CUP 1511-1 PN(6ES7511-1AK02-0AB0)
2)SD存储卡 4M(6ES7 954-8LC03-0AA0)
3)220V AC 转 24V DC 电源适配器
4)网线

软件:
1)博途 V15.1
2)Python 3.7.4

平台:
win7 SP1 64位

技术参考

https://blog.csdn.net/weixin_40844416/article/details/80889165
https://blog.csdn.net/qq_34935373/article/details/97374783
https://sourceforge.net/p/snap7/discussion/general/thread/ef6aab94/?limit=25
https://github.com/gijzelaerr/python-snap7
https://pypi.org/project/python-snap7/
https://www.python.org/

Python3的安装

安装完成博途V15.1后,在https://www.python.org/下载Python3的安装程序。
注意尽量选择Windows x86-64 executable installer版。

Python-snap7 安装和测试_第1张图片
安装过程中,需要勾选 Add python to PATH 添加路径。
Python-snap7 安装和测试_第2张图片

安装pip

snap7 安装需要用pip,先用下面命令检查是否安装了pip。

pip --version

Python-snap7 安装和测试_第3张图片

安装过程中pip没有装上,可以先安装PIP。可参考下面的连接安装。
https://jingyan.baidu.com/article/7c6fb428d84f9480642c90d1.html

安装Python-snap7

先下载snap7-full-1.4.2和Python-snap7

拷贝dll和lib

解压snap7-full-1.4.2,找到release\windows\win32下的的snap7.dll和snap7.lib,分别拷贝到Python的安装目录和系统windows下的SysWOW64下。

安装Python-snap7

win+R打开“运行”,输入cmd,确定后,进入DOS命令行终端,输入下面的命令:

pip install python-snap7

PLC连接和设置

接线

24V电源线正接CPU红色接头,负极接蓝色。
Python-snap7 安装和测试_第4张图片

1500CPU显示屏设置

接通电源后,CPU开启,但是背景是黄色,表明设置有问题。
主要设置PI地址。
按照下面的步骤进行设置:

  1. 浏览到“设置”(Settings)。
  2. 选择“地址”(Addresses)。
  3. 选择接口“X1 (IE/PN)”。
  4. 选择菜单项“IP 地址”(IP Addresses)。
  5. 设置 IP 地址 192.168.000.001。
  6. 按下模块上的“右”箭头键。
  7. 设置子网掩码 255.255.255.000。
  8. 按下模块上的“下”箭头键选择菜单项“应用”(Apply),然后单击“确定”(OK) 确认设置。

新建项目

打开博途V15.1 软件,创建新项目
Python-snap7 安装和测试_第5张图片

添加设备

在设备和网络中,添加设备。操作如下:

  1. 打开“设备与网络”Portal。
  2. 插入新设备。
  3. 输入CPU 名称,可以不输入。
  4. 双击创建 CPU。
  5. 选择CPU的订货号
  6. 设置IP和子掩码地址 (备注:曾测试过1214 CPU IP地址设置192.168.0.1,也能用snap7-python访问,虚拟机或连接交换机等可能会产生IP冲突,若出现b’ TCP:Unreachable peer,需要重新更改IP地址
    Python-snap7 安装和测试_第6张图片

变量设置

设置IO变量。如下表。
Python-snap7 安装和测试_第7张图片

设置

为了使snp7和s7 进行通信需要在软件中进行设置。
1)防护安全,必须选择“完全访问权限”;

Python-snap7 安装和测试_第8张图片
2)连接机制,必须勾选允许来自远程对象的PUT/GET通信访问
Python-snap7 安装和测试_第9张图片
3)若创建了DB块,需要对其属性进行设置,取消优化的块访问,勾选可以OPCUA访问DB
Python-snap7 安装和测试_第10张图片

编译

按上面步骤进行设置后,必须重新进行编译。否则用snap7连接PLC可以成功,但是不能获取数据,报“snap7.snap7exceptions.Snap7Exception: b’CLI : function refused by CPU (Unknown error)’”。

下载

点击下载,装载后完成即可。
没有报错就行,CPU显示屏幕由黄色变为绿色,Run状态。
若将已经在不同版本型号PLC CPU写入程序的SD卡,回出现下载硬件配置报错。例如:先在1511 CPU中插入SD,编译完成后,再将这张SD卡插入1214 CPU中,就会出现“硬件配置——加载硬件配置失败,请检查目标硬件设备的诊断缓冲区”。1200PLC可以断电后拔除SD卡即可。若1500PLC需要将SD卡再window下删除“SIMATIC.S7S”目录下的数据。切记、切记、切记(重要事情说三遍)不能在window下格式西门子的SD卡,不然卡就报废了。

测试连接

win+R打开“运行”,输入cmd,确定后,进入DOS命令行终端,输入下面的命令:

import snap7
plc=snap7.client.Client()
plc.connect('192.168.0.1',0,1)
data=plc.read_area(0x81,0,0,1)
print(data)

Python-snap7 安装和测试_第11张图片

转PLC在线,将I0.0和Q0.0强制变为1.

Python-snap7 安装和测试_第12张图片
再在终端输入下面命令

data=plc.read_area(0x81,0,0,1)
print(data)
data2=plc.read_area(0x82,0,0,1)
print(data2)

Python-snap7 安装和测试_第13张图片
此外对I0.0进行写入操作

plc.write_area(0x81,0,0,b'\x00')
data=plc.read_area(0x81,0,0,1)
print(data)

在这里插入图片描述

这样就表明snap7和simatic s7通信程序成功。

你可能感兴趣的:(PLC,Python)