Snap7官方文档(英文)
- PLC侧(TIA Portal V16):
- PLC组态完成后
- 在PLC属性-常规-防护与安全-连接机制中勾选允许来自远程对象的PUT/GET通信访问
- 在连接机制上方访问级别中选择完全访问权限
- 新建DB块并在DB块的属性中取消勾选优化块的访问
- Ubuntu侧(Python 3.6 ):
- 安装Python版Snap7库:
- pip install python-snap7
读写DB1:
import snap7
client = snap7.client.Client() #创建连接
client.connect('192.168.0.135', 0, 0) #连接PLC(IP地址,Rack机架号 一般为0,Slot槽号 0或1都有可能)
db1 = client.db_read(1, 20, 1) # 读取数据块db1,起始字节20,读取长度1个字节
print(db1) # 打印得到的数据(Hex格式)
client.db_write(1, 0, b'\x11') # 写入数据块db1,起始字节,Hex格式数据
db1 = client.db_read(1, 20, 3) # 读取数据块db1,起始字节20,读取长度
print(db1) # 打印得到的数据(Hex格式)
client.disconnect() #断开连接并销毁(这步一定要有)
若程序运行报错:can't find snap7 library 说明snap7的库安装配置不正确
若程序运行报错:TCP :Unreachable peer 说明配置正确但PLC地址错误(检查IP地址或改一下槽号)
Comments NOTHING