第一步,安装snap7
第二步,创建连接函数
第三步,创建一个写入字的函数
address是你要写入的V区地址,value是值,例如write_word(200, 195)就是向VW200写入195
第四步,创建一个写入浮点数的函数
同理,例如write_real(200, 195.0)就是向VD200写入195.0
第五步,创建一个写入bool量的函数
set_bool(7999, 2, False)就是向VB7999的第2位写入False,也就是V7999.2赋值0
可以在主函数中调用,例
完整函数如下
from snap7 import util, client
def connect_smart(ip="192.168.2.101", mode=3, rack=0, slot=1):
my_plc = client.Client()
my_plc.set_connection_type(mode)
my_plc.connect(ip, rack, slot)
return my_plc
def write_word(address, value):
plc = connect_smart()
date = plc.read_area(client.Areas.DB, 1, 0, 10)
util.set_word(date, 0, value)
plc.write_area(client.Areas.DB, 1, address, date)
plc.disconnect()
plc.destroy()
def write_real(address, value):
plc = connect_smart()
date = plc.read_area(client.Areas.DB, 1, 0, 10)
util.set_real(date, 0, value)
plc.write_area(client.Areas.DB, 1, address, date)
plc.disconnect()
plc.destroy()
def set_bool(address, position, value):
plc = connect_smart()
date = plc.read_area(client.Areas.DB, 1, 0, 10)
util.set_bool(date, 0, position, value)
plc.write_area(client.Areas.DB, 1, address, date)
plc.disconnect()
plc.destroy()