|
@@ -0,0 +1,267 @@
|
|
|
+#ifndef __MODBUS_PARAMS_H
|
|
|
+#define __MODBUS_PARAMS_H
|
|
|
+
|
|
|
+#include "mb.h"
|
|
|
+#include "mbport.h"
|
|
|
+#include "modbus.h"
|
|
|
+//#include "settings_sys.h"
|
|
|
+
|
|
|
+#include <stdbool.h>
|
|
|
+
|
|
|
+
|
|
|
+#define MB_PARAM_MAX 3
|
|
|
+
|
|
|
+
|
|
|
+//
|
|
|
+typedef struct {
|
|
|
+
|
|
|
+ uint16_t reg;
|
|
|
+ uint16_t size;
|
|
|
+ uint8_t *param;
|
|
|
+ bool f_activity;
|
|
|
+ mb_delay_action_t (*set_handler)(void);
|
|
|
+ void (*check_handler)(void);
|
|
|
+
|
|
|
+} mb_param_t;
|
|
|
+
|
|
|
+
|
|
|
+//
|
|
|
+void mb_init_params(void);
|
|
|
+
|
|
|
+// Возвращает размер параметра в регистрах
|
|
|
+bool mb_find_param(uint16_t reg, uint16_t *index, uint16_t *size);
|
|
|
+
|
|
|
+//
|
|
|
+mb_delay_action_t mb_set_param(uint8_t *buf, uint16_t index);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_get_param(uint8_t *buf, uint16_t index);
|
|
|
+
|
|
|
+//
|
|
|
+uint8_t mb_get_info(uint8_t *buf);
|
|
|
+
|
|
|
+// Установка адреса. Запрос без параметров.
|
|
|
+bool mb_set_addr(uint8_t *buf, uint8_t *addr);
|
|
|
+
|
|
|
+// Установка адреса по ID
|
|
|
+bool mb_set_addr_id(uint8_t *buf, uint8_t *addr);
|
|
|
+
|
|
|
+// Установка адреса по серийному номеру
|
|
|
+bool mb_set_addr_serial(uint8_t *buf, uint8_t *addr);
|
|
|
+
|
|
|
+
|
|
|
+// -------------------------------------------------------------------------- //
|
|
|
+// Установка параметров
|
|
|
+// -------------------------------------------------------------------------- //
|
|
|
+
|
|
|
+//
|
|
|
+mb_delay_action_t mb_set_pwm_freq_1(void);
|
|
|
+
|
|
|
+//
|
|
|
+mb_delay_action_t mb_set_pwm_freq_2(void);
|
|
|
+
|
|
|
+//
|
|
|
+mb_delay_action_t mb_set_pwm_freq_3(void);
|
|
|
+
|
|
|
+//
|
|
|
+mb_delay_action_t mb_set_duty(void);
|
|
|
+
|
|
|
+//
|
|
|
+mb_delay_action_t mb_set_port(void);
|
|
|
+
|
|
|
+//
|
|
|
+mb_delay_action_t mb_password(void);
|
|
|
+
|
|
|
+//
|
|
|
+mb_delay_action_t mb_sys_settings_save(void);
|
|
|
+
|
|
|
+//
|
|
|
+mb_delay_action_t mb_control(void);
|
|
|
+
|
|
|
+//
|
|
|
+mb_delay_action_t mb_relay(void);
|
|
|
+
|
|
|
+//
|
|
|
+mb_delay_action_t mb_led(void);
|
|
|
+
|
|
|
+
|
|
|
+// -------------------------------------------------------------------------- //
|
|
|
+// Проверка параметров //
|
|
|
+// -------------------------------------------------------------------------- //
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_dummy(void);
|
|
|
+
|
|
|
+// ---------------------------------------------------------------------- //
|
|
|
+// Каналы управления вентиляторами
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_pwm_freq_1(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_pwm_freq_2(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_pwm_freq_3(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_tacho_speed_1(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_tacho_speed_2(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_tacho_speed_3(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_noise_limit_1(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_noise_limit_2(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_noise_limit_3(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_crash_val_1(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_crash_val_2(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_crash_val_3(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_pulse_number_1(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_pulse_number_2(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_pulse_number_3(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_duty_1(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_duty_2(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_duty_3(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_pwm_type_1(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_pwm_type_2(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_pwm_type_3(void);
|
|
|
+
|
|
|
+// ---------------------------------------------------------------------- //
|
|
|
+// Конфигурация подключений
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_output_cnt(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_input_4(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_input_5(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_input_6(void);
|
|
|
+
|
|
|
+// ---------------------------------------------------------------------- //
|
|
|
+// Температура
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_temp_alg(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_temp_low_limit(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_temp_low_hyst(void);
|
|
|
+
|
|
|
+// ---------------------------------------------------------------------- //
|
|
|
+// Алгоритм управления вентиляторами
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_temp_limit(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_alg_max_limit(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_alg_max_hyst(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_con_timeout(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_max_limit_hyst(void);
|
|
|
+
|
|
|
+// ---------------------------------------------------------------------- //
|
|
|
+// PID регулятор
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_p_factor(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_i_factor(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_d_factor(void);
|
|
|
+
|
|
|
+// ---------------------------------------------------------------------- //
|
|
|
+// Дискретные входы
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_input_1(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_input_2(void);
|
|
|
+
|
|
|
+// ---------------------------------------------------------------------- //
|
|
|
+// Реле
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_relay(void);
|
|
|
+
|
|
|
+// ---------------------------------------------------------------------- //
|
|
|
+// Время
|
|
|
+
|
|
|
+void mb_check_time(void);
|
|
|
+
|
|
|
+// ---------------------------------------------------------------------- //
|
|
|
+// Системные переменные
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_model(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_proddate(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_serial(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_fw_version(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_state(void);
|
|
|
+
|
|
|
+//
|
|
|
+void mb_check_reley(void);
|
|
|
+
|
|
|
+
|
|
|
+/*
|
|
|
+extern bool psw_ok;
|
|
|
+extern bool set_sys_settings_flag;
|
|
|
+extern sys_settings_t temp_sys_settings;
|
|
|
+extern uint16_t temp_modbus_port;
|
|
|
+*/
|
|
|
+
|
|
|
+#endif // __MODBUS_PARAMS_H
|