/* * control_station_project.h * * Created on: 1 июн. 2020 г. * Author: Yura */ #ifndef SRC_MAIN_CONTROL_STATION_PROJECT_H_ #define SRC_MAIN_CONTROL_STATION_PROJECT_H_ #define POS_STATION_CMD_ANOTHER_BSU1 15 // позиция в массиве для CONTROL_STATION_CMD для передачи в другой БС // какие посты возможны: /* * терминал - RS232 - дистанция от PC * терминал - CAN - дистанция от PC * пульт ingeteam - RS485 * пульт МПУ СВУ- RS485 * пульт МПУ СВУ - CAN * пульт МПУ Клава - RS485 * пульт МПУ Клава - CAN * Задатчик на бсу - CAN * Задатчик ВПУ - CAN * Задатчик ВПУ2 - CAN * Задатчик ВПУ-АП - CAN * */ enum { CONTROL_STATION_TERMINAL_RS232 = 0, CONTROL_STATION_TERMINAL_CAN, CONTROL_STATION_INGETEAM_PULT_RS485, CONTROL_STATION_MPU_SVU_CAN, // svu CONTROL_STATION_MPU_KEY_CAN, // bsu key CONTROL_STATION_MPU_SVU_RS485, // ? CONTROL_STATION_MPU_KEY_RS485, // ? CONTROL_STATION_ZADATCHIK_CAN, // bsu zo CONTROL_STATION_VPU_CAN, // vpu CONTROL_STATION_ANOTHER_BS, // от другого БС в режиме slave/master CONTROL_STATION_LAST // последний код в списке, всегда должен быть, не удалять его, используем для размерности массива. }; enum { CONTROL_STATION_CMD_GO = 0,// cmd_go от поста пуск/стоп ШИМа CONTROL_STATION_CMD_SET_IZAD,// ток от поста CONTROL_STATION_CMD_SET_ROTOR,// обороты от поста CONTROL_STATION_CMD_SET_POWER,// мощность от поста CONTROL_STATION_CMD_CHARGE, // сбор схемы от поста CONTROL_STATION_CMD_UNCHARGE, // разбор схемы от поста CONTROL_STATION_CMD_CHECKBACK,// квитирование от поста CONTROL_STATION_CMD_TEST_LEDS,// тест ламп от поста CONTROL_STATION_CMD_ACTIVE_CONTROL,// этот пост активирован, например галочка Дистанция включена на терминалке. // а на каких-то постах внешние переключатели включены CONTROL_STATION_CMD_UFCONST_VECTOR,// Mode 0-ufconst, 1 - скаляр/векторное CONTROL_STATION_CMD_ROTOR_POWER, // Mode 0-обороты, 1 - мощность CONTROL_STATION_CMD_SCALAR_FOC, // Mode 0-скаляр, 1 - векторное CONTROL_STATION_CMD_SET_KM,// Km для Mode 0-ufconst // CONTROL_STATION_CMD_SET_I_VOZBUD, // Задание тока возбудителя CONTROL_STATION_CMD_SET_U_ZARYAD, // Задание напряжения заряда ЗПТ CONTROL_STATION_CMD_SET_K_U_DISBALANCE, // Задание К напряжения дисбаланса коэф. обратной связи по дисбалансу, надо >0 чтоб работал алгоритм CONTROL_STATION_CMD_SET_K_PLUS_U_DISBALANCE, //kplus_u_disbalance, если =0, то работает алгоритм дисбаланса, считается это коэф. автоматом, если <>0 то он задан постоянным. CONTROL_STATION_CMD_MODE_PUMP, //режим работы насоса // // 0 - auto on - rand pump // 1 - auto on 1 pump // 2 - auto on 2 pump // 3 - manual on 1 pump // 4 - manual on 2 pump // 5- переход из manual в непонятное состояние CONTROL_STATION_CMD_DISABLE_ON_PUMP, CONTROL_STATION_CMD_ENABLE_ON_CHARGE, CONTROL_STATION_CMD_DISABLE_ON_QTV, CONTROL_STATION_CMD_MANUAL_DISCHARGE, CONTROL_STATION_CMD_DISABLE_ON_UMP, CONTROL_STATION_CMD_WDOG_OFF, CONTROL_STATION_CMD_SET_LIMIT_POWER,// запас мощность от поста CONTROL_STATION_CMD_BLOCK_BS, // блокировка с верхнего уровня CONTROL_STATION_CMD_DISABLE_INTERRUPT_SYNC, CONTROL_STATION_CMD_DISABLE_INTERRUPT_TIMER2, CONTROL_STATION_CMD_DISABLE_RASCEPITEL, // не управлять расцепителем, если он сведен и не работает мотор расцепителя CONTROL_STATION_CMD_PWM_TEST_LINES, // шим линии на 96пин шине как тестовые, только для теста!!! CONTROL_STATION_CMD_STOP_LOGS, // стоп логов CONTROL_STATION_CMD_LAST // последний код в списке, всегда должен быть, не удалять его, используем для размерности массива. }; void control_station_test_alive_all_control(void); int control_station_select_active(void); int get_current_station_control(void); void load_parameters_from_active_control_station(int current_control); void parse_parameters_from_all_control_station(void); void parse_parameters_from_one_control_station_terminal_rs232(int cc); void parse_parameters_from_one_control_station_pult_ingeteam(int cc); void parse_parameters_from_one_control_station_pult_zadat4ik(int cc); void parse_parameters_from_one_control_station_pult_vpu(int cc); void parse_parameters_from_one_control_station_another_bs(int cc); void parse_parameters_from_one_control_station_MPU_SVU(int cc); void parse_analog_data_from_active_control_station_to_alg(void); void parse_data_from_master_to_alg(void); void load_parameters_from_can_control_station_to_rs232(void); #endif /* SRC_MAIN_CONTROL_STATION_PROJECT_H_ */