最近在开发opencv,需要与TIA1500进行数据交换,检测到东西需要发送信号给PLC(BOOL,INT).这一部分已经完成,现在的问题是如何通过python中的snap7 实现PLC的读写,直接访问 M 和 DB 块。阅读过一大堆文档资料,还是失败告终。有哪位高手能给我点思路。以下是我的代码:
import snap7
import struct
import time
from snap7.util import * # 对位操作的函数要导入该库
from snap7 import client
# only for TIA
client = snap7.client.Client()
# IP地址,机架,槽位
client.connect('10.41.32.230', 0, 1)
# 测试是否通讯成
if client.get_connected():
print('连接成功')
else:
print('连接失败')
def printReadResult(result):
if result.IsSuccess:
print(result.Content)
else:
print("failed " + result.Message)
def printWriteResult(result):
if result.IsSuccess:
print("success")
else:
print("falied " + result.Message)
# bool read write test
client.WriteBool("M9.0", True)
printReadResult(client.ReadBool("M9.0"))