|
@@ -187,14 +187,23 @@ class IO_Module(Modbus):
|
|
|
def get_pwm_duty_all_save(self):
|
|
|
return self.read_holding_registers(reg_table['pwm_duty_save'], 8)
|
|
|
|
|
|
+ def set_pwm_duty_save(self, output, val):
|
|
|
+ self.write_holding_register(reg_table['pwm_duty_save'] + output - 1, val)
|
|
|
+
|
|
|
# 0x0230 - период PWM (0.1 сек)
|
|
|
def get_pwm_period_all(self):
|
|
|
return self.read_holding_registers(reg_table['pwm_per'], 8)
|
|
|
|
|
|
+ def set_pwm_period(self, output, val):
|
|
|
+ self.write_holding_register(reg_table['pwm_per'] + output - 1, val)
|
|
|
+
|
|
|
# 0x0240 - период PWM в безопасном режиме (0.1 сек)
|
|
|
def get_pwm_period_all_save(self):
|
|
|
return self.read_holding_registers(reg_table['pwm_per_save'], 8)
|
|
|
|
|
|
+ def set_pwm_period_save(self, output, val):
|
|
|
+ self.write_holding_register(reg_table['pwm_per_save'] + output - 1, val)
|
|
|
+
|
|
|
def get_uptime(self):
|
|
|
return self.read_uint32_holding(reg_table['uptime'])
|
|
|
|
|
@@ -231,20 +240,38 @@ def main():
|
|
|
dev.set_input_mode(i, 1)
|
|
|
# print('Inputs mode [bit field] :', Fore.GREEN + dev.get_inputs_mode())
|
|
|
|
|
|
- for i in range(1, 9):
|
|
|
- dev.set_debounce_channel(i, 50 + i)
|
|
|
- dev.set_output(i, 0)
|
|
|
+ # for i in range(1, 9):
|
|
|
+ # dev.set_debounce_channel(i, 50 + i)
|
|
|
+ # dev.set_output(i, 1)
|
|
|
+ # dev.set_output_mode(i, 1)
|
|
|
|
|
|
# 0x0203 - состояние выходов (режим обычного выхода) в безопасном режиме работы
|
|
|
- for i in range(1, 9):
|
|
|
- dev.set_output_mode_save(i, 0)
|
|
|
+ # for i in range(1, 9):
|
|
|
+ # dev.set_output_mode_save(i, 0)
|
|
|
|
|
|
# 0x0210 - заполнение PWM (ms)
|
|
|
- for i in range(1, 9):
|
|
|
- dev.set_pwm_duty(i, 10 + i)
|
|
|
+ # 0x0220 - заполнение PWM (%)
|
|
|
+ # 0x0230 - период PWM (0.1 сек)
|
|
|
+ # 0x0240 - период PWM в безопасном режиме (0.1 сек)
|
|
|
+ # for i in range(1, 9):
|
|
|
+ # dev.set_pwm_duty(i, 10 + i)
|
|
|
+ # dev.set_pwm_duty_save(i, 20 + i)
|
|
|
+ # dev.set_pwm_period(i, 10 + i)
|
|
|
+ # dev.set_pwm_period_save(i, 20 + i)
|
|
|
|
|
|
+ # -----------------------------------------------------------------------------
|
|
|
+ # Тесты PWM
|
|
|
# Установить 1-ый выход в режим PWM
|
|
|
- # dev.set_output_mode(1, 0)
|
|
|
+ # for i in range(3, 9):
|
|
|
+ # dev.set_output_mode(i, 0)
|
|
|
+
|
|
|
+ # dev.set_output_mode(1, 1)
|
|
|
+ # dev.set_pwm_period(1, 30)
|
|
|
+
|
|
|
+ # dev.set_pwm_period(1, 50)
|
|
|
+ # dev.set_pwm_duty(2, 10)
|
|
|
+
|
|
|
+ # return
|
|
|
|
|
|
# Установить нормальное состояние входов
|
|
|
# dev.set_inputs_norm_state(0b00110101)
|