import time
import serial
import modbus_tk
import modbus_tk.defines as csd
import modbus_tk.modbus_rtu as rtu
def get_data(Port="Com21",slave=1):
red=[]
alarem = ""
try:
master = rtu.RtuMaster(serial.Serial(port=Port,baudrate=9600,bytesize=8,parity="N",stopbits=1))
master.set_timeout(5.0)
master.set_verbose(True)
#读取保存
red = master.execute(slave,csd.READ_HOLDING_REGISTERS,0,10)
alarem="normal"
return red,alarem
except Exception as e:
print(e)
alarem = str(e)
return red,alarem
if __name__ == '__main__':
while True:
data,s = get_data(Port="com21",slave=1)
print("----"*50)
if len(data)==0:
print("disconnect")
break
python第三方modbus_tk库实现RTU通讯
于 2024-05-14 17:39:17 首次发布