123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267 |
- #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
|