|
@@ -14,16 +14,47 @@ class IO_AnalogOutput(IO_Module):
|
|
|
self.modbus = modbus
|
|
|
super().__init__(self.modbus)
|
|
|
|
|
|
+ '''Чтение параметров'''
|
|
|
+
|
|
|
+ # Значения состояний выходов вкл./выкл. (битовое поле)
|
|
|
+ def get_outputs_state(self):
|
|
|
+ data = self.modbus.read_holding_registers(AO_REGS['aout_state'], 1)
|
|
|
+ return format(data[0], '04b')
|
|
|
+
|
|
|
+ # Режим аналоговых выходов (0 - напряжение или 1 - ток. (битовое поле))
|
|
|
+ def get_outputs_mode(self):
|
|
|
+ data = self.modbus.read_holding_registers(AO_REGS['aout_mode'], 1)
|
|
|
+ return format(data[0], '04b')
|
|
|
+
|
|
|
+ '''Установка параметров'''
|
|
|
+
|
|
|
+ def set_outputs_state(self, val):
|
|
|
+ self.modbus.write_holding_register(AO_REGS['aout_state'], val)
|
|
|
+
|
|
|
+ def set_inputs_mode(self, val):
|
|
|
+ self.modbus.write_holding_register(AO_REGS['aout_mode'], val)
|
|
|
+
|
|
|
|
|
|
|
|
|
def main():
|
|
|
colorama.init(autoreset=True)
|
|
|
- serial_port = Serial('COM22', 115200, timeout=0.05, parity='N', xonxoff=False)
|
|
|
- ao_modbus = Modbus(serial_port, 1)
|
|
|
+ serial_port = Serial('COM24', 115200, timeout=0.05, parity='N', xonxoff=False)
|
|
|
+ ao_modbus = Modbus(serial_port, 8)
|
|
|
ao = IO_AnalogOutput(ao_modbus)
|
|
|
|
|
|
'''Тесты отдельного модуля аналоговых выходов'''
|
|
|
- # ao.sys.get_system_vars()
|
|
|
+ ao.sys.get_system_vars()
|
|
|
+
|
|
|
+ '''Чтение параметров'''
|
|
|
+ print(ao.get_outputs_state())
|
|
|
+ print(ao.get_outputs_state())
|
|
|
+
|
|
|
+ '''Установка параметров'''
|
|
|
+ # ao.set_outputs_state(0b1111)
|
|
|
+
|
|
|
+ '''Сохранение настроек'''
|
|
|
+ ao.sys.save_sattings()
|
|
|
+ # ai.sys.save_sattings()
|
|
|
|
|
|
'''Обновление прошивки'''
|
|
|
# ao_modbus.MB_DEBUG = True
|