from io_module import IO_Module from modbus import Modbus from log_reader import AnalogInputLogReader import colorama from colorama import Fore from time import sleep from serial import Serial from mb_registers import AI_REGS class IO_AnalogInput(IO_Module): def __init__(self, modbus: Modbus): self.modbus = modbus super().__init__(self.modbus) self.log = AnalogInputLogReader(self.modbus) '''Чтение параметров''' # Рожим работы входов def get_inputs_mode(self): data = self.modbus.read_holding_registers(AI_REGS['ain_mode'], 1) return format(data[0], '012b') '''Установка параметров''' def set_inputs_mode(self, val): self.modbus.write_holding_register(AI_REGS['ain_mode'], val) def main(): colorama.init(autoreset=True) serial_port = Serial('COM56', 115200, timeout=0.05, parity='N', xonxoff=False) modbus_tester = Modbus(serial_port, 1) # dev_tester = IO_Digital(modbus_tester) ai = IO_AnalogInput(modbus_tester) '''Режим работы аналоговых входов''' print(ai.get_inputs_mode()) ai.set_inputs_mode(0b00011000) print(ai.get_inputs_mode()) if __name__ == '__main__': main()