问题描述
我的代码:
import snap7.client as s7
ip = '192.168.0.7'
rack = 0
slot = 1
data_blok = 100
start_adress = 0
size = 260
try:
plc = s7.Client()
plc.connect(ip,rack,slot)
con = plc.get_connected()
print(f"Bağlantı Durumu: {con}")
db = plc.db_read(data_blok,start_adress,size) //read
name = db[0:256].decode('UTF-8').strip('\x00')
print(f'Data AA: {name}')
value = int.from_bytes(db[256:258],byteorder='big')
print(f'Data BB: {value}')
boll = bool(db[258])
print(f'Data CC: {boll}')
except:
print("hata")
输出:
BağlantıDurumu:真的
数据 AA: HELLO WORD //string
数据BB:55 //int
数据 CC:True //bool
进程完成,退出代码 0 ...
///////////////////////////////////////////
如何在这里更改整数值??
plc.db_write(?????????)
解决方法
首先,您需要操作缓冲区。 (db 命名变量).
client.db_write(data_blok,start_adress,size,db)
https://github.com/gijzelaerr/python-snap7/blob/master/example/example.py