53 lines
1.7 KiB
Python
Raw Normal View History

2025-04-10 17:31:33 +08:00
import serial
import logging
import modbus_tk
import modbus_tk.defines as cst
from modbus_tk import modbus_rtu
class inst_temp:
def __init__(self,com,band):
#self.logger = modbus_tk.utils.create_logger("dummy")
self.logger = logging.getLogger("modbus_tk")
if not self.logger.handlers:
self.logger = modbus_tk.utils.create_logger("console")
#self.ser = serial.Serial(com,band,bytesize=8, parity='N', stopbits=1)
try:
self.master = modbus_rtu.RtuMaster(
serial.Serial(com, band, bytesize=8, parity='N', stopbits=1)
)
self.master.set_timeout(5.0)
self.master.set_verbose(True)
self.logger.info("connected")
print("*-----------------------------*")
print("* TEMP Connected. *")
except modbus_tk.modbus.ModbusError as exc:
self.logger.error("%s- Code=%d", exc, exc.get_exception_code())
def temp_on(self):
try:
self.logger.info(self.master.execute(1, cst.WRITE_SINGLE_COIL, 212, output_value=256))
self.logger.info(self.master.execute(1, cst.WRITE_SINGLE_COIL, 1200, output_value=256))
except modbus_tk.modbus.ModbusError as exc:
self.logger.error("%s- Code=%d", exc, exc.get_exception_code())
print("temp on")
def temp_off(self):
try:
self.logger.info(self.master.execute(1, cst.WRITE_SINGLE_COIL, 212, output_value=256))
self.logger.info(self.master.execute(1, cst.WRITE_SINGLE_COIL, 1200, output_value=0))
except modbus_tk.modbus.ModbusError as exc:
self.logger.error("%s- Code=%d", exc, exc.get_exception_code())
print("temp off")
def read_temp(self):
print("read temp")
def write_temp(self,temp):
print("write temp")
def temp_close(self):
self.master.close()
print("* TEMP unConnected. *")
print("*-----------------------------*")