matlab_23550/Inu/Src/main/edrk_main.h

1551 lines
44 KiB
C
Raw Normal View History

2024-12-27 10:50:32 +03:00
#ifndef _EDRK_MAIN_H__
#define _EDRK_MAIN_H__
#include "IQmathLib.h"
#include "rmp_cntl_v1.h"
#include "alg_pll.h"
#define TIME_PAUSE_MODBUS_CAN_BS2BS 500
#define TIME_PAUSE_MODBUS_CAN_ZADATCHIK_VPU 100
#define TIME_PAUSE_MODBUS_CAN_UKSS_SETUP 5000
#define TIME_PAUSE_MODBUS_CAN_MPU 500
#define TIME_PAUSE_MODBUS_CAN_TERMINALS 1000
2024-12-27 10:50:32 +03:00
#define TIME_PAUSE_MODBUS_CAN_OSCIL 5000
//#define TIME_PAUSE_MODBUS_CAN_TMS2TMS_VIPR 75 //500
//#define FROM_OPENDOOR project.cds_in[1].read.pbus.data_in.bit.in15
// IN0
#define SENSOR_ROTOR_1 project.cds_in[0].read.pbus.data_in.bit.in0 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1
#define SENSOR_ROTOR_2 project.cds_in[0].read.pbus.data_in.bit.in1 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2
#define SENSOR_ROTOR_3 project.cds_in[0].read.pbus.data_in.bit.in2 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 3
#define FROM_ING_LOCAL_REMOUTE project.cds_in[0].read.pbus.data_in.bit.in3 // LOCAL=0/REMOUTE=1 <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define FROM_ING_LOCAL_KVITIR project.cds_in[0].read.pbus.data_in.bit.in4 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define FROM_BSU_RAZBOR_SHEMA project.cds_in[0].read.pbus.data_in.bit.in5 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>=0
#define FROM_BSU_SBOR_SHEMA project.cds_in[0].read.pbus.data_in.bit.in6 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>=0
#define FROM_ING_RAZBOR_SHEMA project.cds_in[0].read.pbus.data_in.bit.in5 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>=0
#define FROM_ING_SBOR_SHEMA project.cds_in[0].read.pbus.data_in.bit.in6 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>=0
#define FROM_ING_OBOROTS_MINUS project.cds_in[0].read.pbus.data_in.bit.in7 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define FROM_ING_OBOROTS_PLUS project.cds_in[0].read.pbus.data_in.bit.in8 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define FROM_BSU_ZADA_DISPLAY project.cds_in[0].read.pbus.data_in.bit.in9 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=1/<2F><><EFBFBD><EFBFBD><EFBFBD>=0 <20><><EFBFBD>
#define FROM_BSU_SVU project.cds_in[0].read.pbus.data_in.bit.in10 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>=0/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=1 <20><><EFBFBD>
#define FROM_SHEMA_QTV_ON_OFF ((project.cds_in[0].read.pbus.data_in.bit.in12))
// <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
#define FROM_SVU_BLOCK_QTV project.cds_in[0].read.pbus.data_in.bit.in11 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> QTV <20><> <20><><EFBFBD>
#define FROM_ING_ANOTHER_RASCEPITEL 1//project.cds_in[0].read.pbus.data_in.bit.in12 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
#define FROM_SHEMA_UMP_ON_OFF project.cds_in[0].read.pbus.data_in.bit.in13 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define FROM_SHEMA_READY_UMP project.cds_in[0].read.pbus.data_in.bit.in14 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define FROM_ING_RASCEPITEL_ON_OFF ((project.cds_in[0].read.pbus.data_in.bit.in15)) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
/////////////////
#define FROM_ING_OP_PIT_NORMA project.cds_in[1].read.pbus.data_in.bit.in0 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> 0-<2D><><EFBFBD><EFBFBD><EFBFBD>
#define FROM_ING_OHLAD_UTE4KA_WATER !(project.cds_in[1].read.pbus.data_in.bit.in1) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> // 1 - <20><><EFBFBD><EFBFBD><EFBFBD>, 0 -<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define FROM_ING_SOST_ZAMKA project.cds_in[1].read.pbus.data_in.bit.in2 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
#define FROM_ING_ZARYAD_ON project.cds_in[1].read.pbus.data_in.bit.in3 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1-<2D><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define FROM_ING_VENTIL_ON project.cds_in[1].read.pbus.data_in.bit.in4 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define FROM_ING_NASOS_ON project.cds_in[1].read.pbus.data_in.bit.in5 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define FROM_ING_NASOS_NORMA project.cds_in[1].read.pbus.data_in.bit.in6 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> 0? <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 0.
#define FROM_ING_ZAZEML_OFF project.cds_in[1].read.pbus.data_in.bit.in7 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
#define FROM_ING_NAGREV_ON project.cds_in[1].read.pbus.data_in.bit.in8 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define FROM_ING_BLOCK_IZOL_NORMA project.cds_in[1].read.pbus.data_in.bit.in9 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. 1-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
#define FROM_ING_VIPR_PREDOHR_NORMA project.cds_in[1].read.pbus.data_in.bit.in10 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> 0 - <20><><EFBFBD><EFBFBD><EFBFBD>.
#define FROM_ING_BLOCK_IZOL_AVARIA project.cds_in[1].read.pbus.data_in.bit.in11 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define FROM_ALL_KNOPKA_AVARIA project.cds_in[1].read.pbus.data_in.bit.in12 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
#define FROM_ING_ZAZEML_ON project.cds_in[1].read.pbus.data_in.bit.in13 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
#define FROM_ING_ANOTHER_MASTER_PCH project.cds_in[1].read.pbus.data_in.bit.in14 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
#define FROM_ING_UPC_24V_NORMA project.cds_in[1].read.pbus.data_in.bit.in15 // 24 UPC <20> <20><><EFBFBD><EFBFBD><EFBFBD> 0-<2D><><EFBFBD><EFBFBD><EFBFBD>.
//#define FROM_REZERV_12 project.cds_in[1].read.pbus.data_in.bit.in12 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define TO_ING_ZARYAD_ON project.cds_out[0].write.sbus.data_out.bit.dout0 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
#define TO_ING_NAGREV_OFF project.cds_out[0].write.sbus.data_out.bit.dout1 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define TO_ING_NASOS_1_ON project.cds_out[0].write.sbus.data_out.bit.dout2 // <20><><EFBFBD><EFBFBD><EFBFBD> 1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define TO_ING_NASOS_2_ON project.cds_out[0].write.sbus.data_out.bit.dout3 // <20><><EFBFBD><EFBFBD><EFBFBD> 2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define TO_ING_BLOCK_KEY_OFF project.cds_out[0].write.sbus.data_out.bit.dout4 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define TO_ING_RELOAD_UPC project.cds_out[0].write.sbus.data_out.bit.dout5 //5- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define TO_SHEMA_ENABLE_QTV project.cds_out[0].write.sbus.data_out.bit.dout6 // 6 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> QTV
#define TO_ING_LAMPA_ZARYAD project.cds_out[0].write.sbus.data_out.bit.dout7 //7- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 80 <20><><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define MODE_QTV_UPRAVLENIE 2 // 1 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 2 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#if (MODE_QTV_UPRAVLENIE==1)
//////////////////////////////////////////////////////////
// QTV <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define TO_SHEMA_QTV_ON_OFF project.cds_out[0].write.sbus.data_out.bit.dout8 // 8 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> QTV
#endif
#if (MODE_QTV_UPRAVLENIE==2)
// QTV <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define TO_SHEMA_QTV_ON project.cds_out[0].write.sbus.data_out.bit.dout8 // 8 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> QTV
#define TO_SHEMA_QTV_OFF project.cds_out[0].write.sbus.data_out.bit.dout9 // 9 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> QTV
///////////////////////////////////////////////////////////
#endif
#define TO_ING_SMALL_LAMPA_AVARIA project.cds_out[0].write.sbus.data_out.bit.dout10 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
#define TO_SECOND_PCH_ALARM project.cds_out[0].write.sbus.data_out.bit.dout11 // 11 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>. <20><>
#define TO_SECOND_PCH_MASTER project.cds_out[0].write.sbus.data_out.bit.dout12 // 12 - <20><><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>. <20><>
#define TO_SHEMA_UMP_ON_OFF project.cds_out[0].write.sbus.data_out.bit.dout13 // 13 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define TO_ING_RASCEPITEL_OFF project.cds_out[0].write.sbus.data_out.bit.dout14// 14- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
#define TO_ING_RASCEPITEL_ON project.cds_out[0].write.sbus.data_out.bit.dout15// 15 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
enum
{
ALG_MODE_UF_CONST = 1,
ALG_MODE_SCALAR_OBOROTS,
ALG_MODE_SCALAR_POWER,
ALG_MODE_FOC_OBOROTS,
ALG_MODE_FOC_POWER
};
/*
#define TO_ING_KVITIR project.cds_out[0].write.sbus.data_out.bit.dout3
#define TO_QTV_OFF project.cds_out[0].write.sbus.data_out.bit.dout4
#define TO_ING_VOZB_PODKLU4EN project.cds_out[0].write.sbus.data_out.bit.dout5
#define TO_ING_VOZB_NEPODKLU4EN project.cds_out[0].write.sbus.data_out.bit.dout6
#define TO_ING_VOZB_READY project.cds_out[0].write.sbus.data_out.bit.dout7
#define TO_ING_QTV_VLU4EN project.cds_out[0].write.sbus.data_out.bit.dout9
#define TO_ING_QTV_READY project.cds_out[0].write.sbus.data_out.bit.dout10
#define TO_ING_START_GED project.cds_out[0].write.sbus.data_out.bit.dout11
#define TO_ING_SIL_BLOK_OTKL project.cds_out[0].write.sbus.data_out.bit.dout12
#define TO_ING_SIL_BLOK_VKL project.cds_out[0].write.sbus.data_out.bit.dout13
#define TO_ING_BLOK_VOZB_WORK project.cds_out[0].write.sbus.data_out.bit.dout15
#define TO_ING_OSTANOV_GED project.cds_out[0].write.sbus.data_out.bit.dout14
#define FROM_ING_SIL_BLOK_VKL project.cds_in[1].read.pbus.data_in.bit.in0
#define FROM_ING_SIL_BLOK_OTKL project.cds_in[1].read.pbus.data_in.bit.in1
#define FROM_ING_GED_NAMAGNI4EN project.cds_in[1].read.pbus.data_in.bit.in2
#define FROM_ING_GED_OSTANOVLEN project.cds_in[1].read.pbus.data_in.bit.in3
#define FROM_ING_QTV_ON project.cds_in[1].read.pbus.data_in.bit.in4
#define FROM_ING_QTV_OFF project.cds_in[1].read.pbus.data_in.bit.in5
#define FROM_ING_VOZB_PODKLU4IT project.cds_in[1].read.pbus.data_in.bit.in6
#define FROM_ING_VOZB_OTKLU4IT project.cds_in[1].read.pbus.data_in.bit.in7
#define FROM_ING_VOZB_PUSK project.cds_in[1].read.pbus.data_in.bit.in8
*/
typedef struct
{
int adc_temper_u[7];
float real_temper_u[7];
int real_int_temper_u[7];
int max_real_int_temper_u;
int adc_temper_water[2];
float real_temper_water[2];
int real_int_temper_water[2]; //0 - internal; 1 - external
int max_real_int_temper_water;
int adc_temper_air[4];
float real_temper_air[4];
int real_int_temper_air[4];
int max_real_int_temper_air;
} TEMPER_EDRK;
#define TEMPER_EDRK_DEFAULT {{0,0,0,0,0,0,0},{0,0,0,0,0,0,0},{0,0,0,0,0,0,0},0,\
{0,0},{0,0},{0,0},0,\
{0,0,0,0},{0,0,0,0},{0,0,0,0},0\
2024-12-27 10:50:32 +03:00
}
typedef struct
{
int adc_p_water[1];
float real_p_water[1];
int real_int_p_water[1];
float filter_real_p_water[1];
int filter_real_int_p_water[1];
int flag_init_filter_temp[1];
} P_WATER_EDRK;
#define P_WATER_EDRK_DEFAULT {{0},{0},{0},{0},{0},{0}}
typedef struct
{
struct
{
int adc_temper[6];
float real_temper[6];
int real_int_temper[6];
float filter_real_temper[6];
int filter_real_int_temper[6];
int flag_init_filter_temp[6];
int max_size;
int max_real_int_temper;
} winding;
struct
{
int adc_temper[2];
float real_temper[2];
int real_int_temper[2];
float filter_real_temper[2];
int filter_real_int_temper[2];
int flag_init_filter_temp[2];
int max_size;
int max_real_int_temper;
} bear;
} TEMPER_ACDRIVE;
#define TEMPER_ACDRIVE_DEFAULT {{{0,0,0,0,0,0},{0,0,0,0,0,0},{0,0,0,0,0,0},{0,0,0,0,0,0},{0,0,0,0,0,0},{0,0,0,0,0,0},6,0},\
{{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},2,0} }
///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////
typedef struct
{
union {
unsigned int all;
struct {
unsigned int U_1_MAX: 1;
unsigned int U_2_MAX: 1;
unsigned int U_1_MIN: 1;
unsigned int U_2_MIN : 1;
unsigned int U_A1B1_MAX: 1;
unsigned int U_A2B2_MAX: 1;
unsigned int U_B1C1_MAX:1;
unsigned int U_B2C2_MAX :1;
unsigned int U_A1B1_MIN :1;
unsigned int U_A2B2_MIN: 1;
unsigned int U_B1C1_MIN:1;
unsigned int U_B2C2_MIN :1;
unsigned int U_IN_MAX:1;
unsigned int U_IN_MIN:1;
unsigned int I_1_MAX:1;
unsigned int I_2_MAX:1;
} bits;
} e0;
union {
unsigned int all;
struct {
unsigned int I_UO2_MAX: 1;
unsigned int I_UO3_MAX: 1;
unsigned int I_UO4_MAX: 1;
unsigned int I_UO5_MAX : 1;
unsigned int I_UO6_MAX: 1;
unsigned int I_UO7_MAX: 1;
unsigned int I_BREAK_1_MAX:1;
unsigned int I_BREAK_2_MAX :1;
unsigned int HWP_ERROR :1;
unsigned int BLOCK_DOOR: 1;
unsigned int NO_INPUT_SYNC_SIGNAL: 1;
unsigned int NO_CONFIRM_ON_RASCEPITEL: 1;
unsigned int ANOTHER_BS_NOT_ON_RASCEPITEL: 1;
unsigned int ANOTHER_BS_VERY_LONG_WAIT: 1;
unsigned int VERY_LONG_BOTH_READY2: 1;
unsigned int BOTH_KEYS_CHARGE_DISCHARGE: 1;
} bits;
} e1;
union {
unsigned int all;
struct {
unsigned int T_UO1_MAX:1;
unsigned int T_UO2_MAX :1;
unsigned int T_UO3_MAX :1;
unsigned int T_UO4_MAX :1;
unsigned int T_UO5_MAX :1;
unsigned int T_UO6_MAX:1;
unsigned int T_UO7_MAX:1;
unsigned int T_WATER_EXT_MAX:1;
unsigned int T_WATER_INT_MAX:1;
unsigned int P_WATER_INT_MAX: 1;
unsigned int P_WATER_INT_MIN: 1;
unsigned int T_AIR0_MAX :1;
unsigned int T_AIR1_MAX :1;
unsigned int T_AIR2_MAX :1;
unsigned int T_AIR3_MAX :1;
unsigned int ERROR_RAZBOR_SHEMA :1;
} bits;
} e2;
union {
unsigned int all;
struct {
unsigned int NOT_READY_TK_0: 1;
unsigned int NOT_READY_TK_1 : 1;
unsigned int NOT_READY_TK_2: 1;
unsigned int NOT_READY_TK_3: 1;
unsigned int NOT_READY_OUT_0:1;
unsigned int NOT_READY_OUT_1:1;
unsigned int NOT_READY_OUT_2:1;
unsigned int NOT_READY_IN_0 :1;
unsigned int NOT_READY_IN_1 :1;
unsigned int NOT_READY_IN_2 :1;
unsigned int NOT_READY_ADC_0: 1;
unsigned int NOT_READY_ADC_1: 1;
unsigned int NOT_READY_HWP_0: 1;
unsigned int NOT_READY_HWP_1: 1;
unsigned int NOT_READY_CONTR: 1;
unsigned int ERR_INT_PWM_LONG:1;
} bits;
} e3;
union {
unsigned int all;
struct {
unsigned int ERR_TK_0: 1;
unsigned int ERR_TK_1: 1;
unsigned int ERR_TK_2: 1;
unsigned int ERR_TK_3: 1;
unsigned int ERR_OUT_0:1;
unsigned int ERR_OUT_1:1;
unsigned int ERR_OUT_2:1;
unsigned int ERR_IN_0 :1;
unsigned int ERR_IN_1 :1;
unsigned int ERR_IN_2 :1;
unsigned int ERR_ADC_0:1;
unsigned int ERR_ADC_1:1;
unsigned int ERR_HWP_0:1;
unsigned int ERR_HWP_1:1;
unsigned int ANOTHER_BS_POWER_OFF:1;
unsigned int FAST_OPTICAL_ALARM:1;
} bits;
} e4;
union {
unsigned int all;
struct {
unsigned int LINE_ERR0: 1;
unsigned int LINE_HWP : 1;
unsigned int KEY_AVARIA: 1;
unsigned int PUMP_1: 1;
unsigned int PUMP_2 : 1;
unsigned int FAN : 1;
unsigned int OP_PIT : 1;
unsigned int POWER_UPC :1;
unsigned int UTE4KA_WATER :1;
unsigned int T_VIPR_MAX :1;
unsigned int ERROR_PRE_CHARGE_ON: 1;
unsigned int PRE_READY_PUMP: 1;
unsigned int ERROR_GROUND_NET: 1;
unsigned int ERROR_HEAT: 1;
unsigned int ERROR_ISOLATE: 1;
unsigned int ERROR_PRED_VIPR: 1;
} bits;
} e5;
union {
unsigned int all;
struct {
unsigned int QTV_ERROR_NOT_ANSWER: 1;
unsigned int QTV_ERROR_NOT_U : 1;
unsigned int ERROR_PRE_CHARGE_U: 1;
unsigned int ERROR_PRE_CHARGE_ANSWER: 1;
unsigned int UO2_KEYS :1;
unsigned int UO3_KEYS :1;
unsigned int UO4_KEYS :1;
unsigned int UO5_KEYS :1;
unsigned int UO6_KEYS:1;
unsigned int UO7_KEYS:1;
unsigned int UO1_KEYS:1;
unsigned int ERR_PBUS:1;
unsigned int ERR_SBUS:1;
unsigned int ER_DISBAL_BATT:1;
unsigned int ER_RAZBALANS_ALG:1;
unsigned int RASCEPITEL_ERROR_NOT_ANSWER:1;
} bits;
} e6;
union {
unsigned int all;
struct {
unsigned int MASTER_SLAVE_SYNC: 1;
unsigned int WRITE_OPTBUS: 1;
unsigned int READ_OPTBUS: 1;
unsigned int ANOTHER_PCH_NOT_ANSWER: 1;
unsigned int AUTO_SET_MASTER: 1;
unsigned int UMP_NOT_READY: 1;
unsigned int ERROR_SBOR_SHEMA: 1;
unsigned int NOT_VALID_CONTROL_STATION:1;
unsigned int VERY_FAST_GO_0to1:1;
unsigned int T_ACDRIVE_WINDING_MAX:1;
unsigned int T_ACDRIVE_BEAR_MAX_DNE:1;
unsigned int SVU_BLOCK_ON_QTV:1;
unsigned int UMP_NOT_ANSWER: 1;
unsigned int ANOTHER_RASCEPITEL_ON: 1;
unsigned int CAN2CAN_BS: 1;
unsigned int ANOTHER_BS_ALARM: 1;
} bits;
} e7;
union {
unsigned int all;
struct {
unsigned int LOSS_OUTPUT_U1: 1;
unsigned int LOSS_OUTPUT_V1: 1;
unsigned int LOSS_OUTPUT_W1: 1;
unsigned int LOSS_OUTPUT_U2: 1;
unsigned int LOSS_OUTPUT_V2: 1;
unsigned int LOSS_OUTPUT_W2: 1;
unsigned int LOSS_INPUT_A1B1: 1;
unsigned int LOSS_INPUT_B1C1: 1;
unsigned int LOSS_INPUT_A2B2: 1;
unsigned int LOSS_INPUT_B2C2: 1;
unsigned int LOW_FREQ_50HZ: 1;
unsigned int U_IN_10_PROCENTS_LOW: 1;
unsigned int U_IN_20_PROCENTS_LOW: 1;
unsigned int U_IN_20_PROCENTS_HIGH: 1;
unsigned int DISBALANCE_IM1_IM2: 1;
unsigned int WDOG_OPTICAL_BUS: 1;
} bits;
} e8;
union {
unsigned int all;
struct {
unsigned int T_ACDRIVE_BEAR_MAX_NE :1;
unsigned int I_GED_MAX :1;
unsigned int CHANGE_ACTIVE_CONTROL_TO_LOCAL_FROM_SVU :1;
unsigned int DISBALANCE_Uin_1 :1;
unsigned int DISBALANCE_Uin_2 :1;
unsigned int U_IN_FREQ_NOT_NORMA :1;
unsigned int U_IN_FREQ_NOT_STABLE :1;
unsigned int ERR_PWM_WDOG :1;
unsigned int ERR_INT_PWM_VERY_LONG : 1;
unsigned int res: 7;
2024-12-27 10:50:32 +03:00
} bits;
} e9;
union {
unsigned int all;
struct {
unsigned int WARNING_I_OUT_OVER_1_6_NOMINAL :1;
unsigned int T_BSU_Sensor_BK1 :1;
unsigned int T_BSU_Sensor_BK2 :1;
unsigned int T_ACDRIVE_WINDING_U1 :1;
unsigned int T_ACDRIVE_WINDING_V1 :1;
unsigned int T_ACDRIVE_WINDING_W1 :1;
unsigned int T_ACDRIVE_WINDING_U2 :1;
unsigned int T_ACDRIVE_WINDING_V2 :1;
unsigned int T_ACDRIVE_WINDING_W2 :1;
unsigned int res: 7;
} bits;
} e10;
union {
unsigned int all;
struct {
unsigned int ERROR_PUMP_ON_SBOR:1;
unsigned int ERROR_RESTART_PUMP_1_ON_SBOR:1;
unsigned int ERROR_RESTART_PUMP_2_ON_SBOR:1;
unsigned int ERROR_RESTART_PUMP_ALL_ON_SBOR:1;
unsigned int ERROR_PRED_ZARYAD:1;
unsigned int ERROR_PRED_ZARYAD_AFTER:1;
unsigned int ERROR_READY_UMP_BEFORE_QTV:1;
unsigned int ERROR_STATUS_QTV:1;
unsigned int ERROR_UMP_ON_AFTER :1;
unsigned int ERROR_UMP_NOT_ON:1;
unsigned int ERROR_UMP_NOT_OFF :1;
unsigned int ERROR_RASCEPITEL_WAIT_CMD:1;
unsigned int ERROR_RASCEPITEL_ON_AFTER:1;
unsigned int ERROR_DISABLE_SBOR:1;
unsigned int ERROR_VERY_LONG_SBOR:1;
unsigned int ERROR_CONTROLLER_BUS:1;
// unsigned int :1;
} bits;
} e11;
union {
unsigned int all;
struct {
unsigned int res: 16;
} bits;
} e12;
} ERRORS_EDRK;
#define ERRORS_EDRK_DEFAULT {0,0,0,0,0,0,0,0,0,0,0,0}
////////////////////////////////////////////////////////
typedef struct
{
struct
{
unsigned int alive_can_to_another_bs;
unsigned int alive_sync_line;
unsigned int alive_sync_line_local;
unsigned int alive_opt_bus_read;
unsigned int alive_opt_bus_write;
unsigned int input_master_slave;
unsigned int input_alarm_another_bs;
unsigned int another_rascepitel;
unsigned int fast_optical_alarm;
} err_lock_signals;
struct
{
unsigned int alive_can_to_another_bs;
unsigned int alive_sync_line;
unsigned int alive_sync_line_local;
unsigned int alive_opt_bus_read;
unsigned int alive_opt_bus_write;
unsigned int input_master_slave;
unsigned int input_alarm_another_bs;
unsigned int another_rascepitel;
unsigned int fast_optical_alarm;
} err_signals;
struct
{
unsigned int alive_can_to_another_bs;
unsigned int alive_sync_line;
unsigned int alive_sync_line_local;
unsigned int alive_opt_bus_read;
unsigned int alive_opt_bus_write;
unsigned int input_master_slave;
unsigned int input_alarm_another_bs;
unsigned int another_rascepitel;
unsigned int fast_optical_alarm;
} warning_signals;
struct
{
unsigned int alive_can_to_another_bs;
unsigned int alive_sync_line;
unsigned int alive_sync_line_local;
unsigned int alive_opt_bus_read;
unsigned int alive_opt_bus_write;
unsigned int input_master_slave;
unsigned int input_alarm_another_bs;
unsigned int another_rascepitel;
unsigned int fast_optical_alarm;
} errors_count;
struct
{
unsigned int alive_can_to_another_bs;
unsigned int alive_sync_line;
unsigned int alive_sync_line_local;
unsigned int alive_opt_bus_read;
unsigned int alive_opt_bus_write;
unsigned int input_master_slave;
unsigned int input_alarm_another_bs;
unsigned int another_rascepitel;
unsigned int fast_optical_alarm;
} wait_count;
unsigned int sum_err; // <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned int sum_warning; // <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned int another_bs_maybe_on; // <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned int another_bs_maybe_off; // <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned int ready1; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1 <20><><EFBFBD><EFBFBD>
unsigned int ready2; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2 <20><><EFBFBD><EFBFBD>
unsigned int ready3; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> master/slave <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned int count_time_wait_ready1; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
unsigned int count_time_wait_ready2; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
unsigned int status; // <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
} MASTER_SLAVE_COM;
#define MASTER_SLAVE_COM_DEFAULT {{0,0,0,0,0,0,0,0},\
{0,0,0,0,0,0,0,0},\
{0,0,0,0,0,0,0,0},\
{0,0,0,0,0,0,0,0},\
{0,0,0,0,0,0,0,0},\
0,0,0,0,0,0,0,0,0}
////////////////////////////////////////////////////////
////////////////////////////////////////////////////////
typedef union {
unsigned int all;
struct {
unsigned int master: 1;
unsigned int slave: 1;
unsigned int try_master: 1;
unsigned int try_slave: 1;
unsigned int nothing: 1;
unsigned int sync1_2: 1;
unsigned int bus_off: 1;
unsigned int in_err: 1;
unsigned int sync_line_detect:1;
unsigned int tick:1;
} bits;
} AUTO_MASTER_SLAVE_DATA;
2024-12-27 10:50:32 +03:00
////////////////////////////////////////////////////////
typedef union {
unsigned int all;
struct {
unsigned int ready1: 1;
unsigned int ready2: 1;
unsigned int ready3: 1;
unsigned int ready4: 1;
unsigned int ready5: 1;
unsigned int ready6: 1;
unsigned int ready7: 1;
unsigned int ready_final: 1;
unsigned int Batt: 1;
unsigned int ImitationReady2: 1;
2024-12-27 10:50:32 +03:00
unsigned int MasterSlaveActive: 1; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> master <20><><EFBFBD> slave
// unsigned int res:6;
2024-12-27 10:50:32 +03:00
} bits;
} STATUS_READY;
////////////////////////////////////////////////////////
typedef union {
unsigned int all;
struct {
unsigned int ZARYAD_ON: 1;
unsigned int NAGREV_OFF: 1;
unsigned int NASOS_1_ON: 1;
unsigned int NASOS_2_ON: 1;
unsigned int BLOCK_KEY_OFF: 1;
unsigned int RESET_BLOCK_IZOL: 1;
unsigned int SMALL_LAMPA_AVARIA: 1;
unsigned int RASCEPITEL_OFF: 1;
unsigned int RASCEPITEL_ON: 1;
unsigned int res:7;
} bits;
} TO_ING;
////////////////////////////////////////////////////////
typedef union {
unsigned int all;
struct {
unsigned int OP_PIT_NORMA : 1;
unsigned int OHLAD_UTE4KA_WATER: 1;
unsigned int RASCEPITEL_ON: 1;
unsigned int ZARYAD_ON: 1;
unsigned int VENTIL_ON : 1;
unsigned int NASOS_ON: 1;
unsigned int NASOS_NORMA: 1;
unsigned int ZAZEML_OFF: 1;
unsigned int NAGREV_ON: 1;
unsigned int BLOCK_IZOL_NORMA: 1;
unsigned int VIPR_PREDOHR_NORMA: 1;
unsigned int UPC_24V_NORMA: 1;
unsigned int LOCAL_REMOUTE: 1;
unsigned int ZAZEML_ON: 1;
unsigned int ALL_KNOPKA_AVARIA: 1;
unsigned int BLOCK_IZOL_AVARIA: 1;
} bits;
} FROM_ING1;
////////////////////////////////////////////////////////
typedef union {
unsigned int all;
struct {
unsigned int KEY_PLUS : 1;
unsigned int KEY_MINUS : 1;
unsigned int KEY_SBOR : 1;
unsigned int KEY_RAZBOR : 1;
unsigned int KEY_KVITIR : 1;
unsigned int SOST_ZAMKA : 1;
unsigned int res: 9;
} bits;
} FROM_ING2;
////////////////////////////////////////////////////////
typedef union {
unsigned int all;
struct {
unsigned int MASTER: 1;
unsigned int RASCEPITEL: 1;
unsigned int res:14;
} bits;
} FROM_SECOND_PCH;
////////////////////////////////////////////////////////
typedef union {
unsigned int all;
struct {
unsigned int MASTER: 1;
unsigned int ALARM: 1;
unsigned int res:14;
} bits;
} TO_SECOND_PCH;
////////////////////////////////////////////////////////
typedef union {
unsigned int all;
struct {
unsigned int QTV_ON: 1;
unsigned int QTV_OFF: 1;
unsigned int UMP_ON_OFF: 1;
unsigned int ENABLE_QTV: 1;
unsigned int QTV_ON_OFF: 1;
unsigned int CROSS_UMP_ON_OFF: 1;
unsigned int CROSS_QTV_ON_OFF: 1;
unsigned int res:9;
} bits;
} TO_SHEMA;
////////////////////////////////////////////////////////
typedef union {
unsigned int all;
struct {
unsigned int QTV_ON_OFF: 1;
// unsigned int KNOPKA_AVARIA: 1;
unsigned int ZADA_DISPLAY : 1;
unsigned int RAZBOR_SHEMA :1 ;
unsigned int SBOR_SHEMA : 1;
// unsigned int OPENDOOR : 1;
unsigned int SVU : 1;
// unsigned int ACTIVE : 1;
unsigned int READY_UMP : 1;
unsigned int UMP_ON_OFF : 1;
unsigned int SVU_BLOCK_QTV : 1;
// unsigned int res:10;
} bits;
} FROM_SHEMA;
////////////////////////////////////////////////////////
typedef union {
unsigned int all;
struct {
unsigned int KVITIR: 1;
unsigned int PLUS: 1;
unsigned int MINUS : 1;
unsigned int PROVOROT :1 ;
unsigned int ACTIVE : 1;
unsigned int res:11;
2024-12-27 10:50:32 +03:00
} bits;
} FROM_ZADAT4IK;
////////////////////////////////////////////////////////
typedef union {
unsigned int all;
struct {
unsigned int SBOR_SHEMA: 1;
unsigned int RAZBOR_SHEMA: 1;
unsigned int KVITIR: 1;
unsigned int ACTIVE : 1;
unsigned int res:12;
} bits;
} FROM_RS;
////////////////////////////////////////////////////////
typedef union {
unsigned int all;
struct {
unsigned int SBOR_SHEMA: 1;
unsigned int RAZBOR_SHEMA: 1;
unsigned int KVITIR: 1;
unsigned int ACTIVE : 1;
unsigned int BLOCKED : 1;
unsigned int res:11;
} bits;
} FROM_DISPLAY;
////////////////////////////////////////////////////////
typedef struct {
union {
int all;
} OBOROTS1;
union {
int all;
} OBOROTS2;
union {
unsigned int all;
struct {
unsigned int GOTOV1: 1;
unsigned int GOTOV2: 1;
// unsigned int EMKOST : 1; //For 23550.3 and AVARIA moved up
unsigned int AVARIA:1;
unsigned int NEISPRAVNOST :1 ;
2024-12-27 10:50:32 +03:00
unsigned int PEREGREV : 1;
unsigned int OGRAN_POWER : 1;
unsigned int res:10;
2024-12-27 10:50:32 +03:00
} bits;
} BIG_LAMS;
union {
unsigned int all;
struct {
unsigned int PCH1_READY1: 1;
unsigned int PCH1_SHEMA_SOBRANA: 1;
unsigned int PCH1_PODKLU4EN: 1;
unsigned int PCH1_MESTNOE: 1;
unsigned int PCH2_READY1: 1;
unsigned int PCH2_SHEMA_SOBRANA: 1;
unsigned int PCH2_PODKLU4EN: 1;
unsigned int PCH2_MESTNOE: 1;
unsigned int GED_PEREGREV: 1;
unsigned int PCH1_PCH2_SYNC: 1;
unsigned int GED_PEREGRUZ: 1;
unsigned int OBOROT_SVU: 1;
unsigned int OBOROT_ZADAT: 1;
unsigned int OBOROT_MONITOR: 1;
unsigned int OBOROT_VPU: 1;
unsigned int HOD: 1;
} bits;
} APL_LAMS0;
union {
unsigned int all;
struct {
unsigned int PCH_READY1: 1;
unsigned int PCH_SHEMA_SOBRANA: 1;
unsigned int PCH_PODKLU4EN: 1;
unsigned int PCH_MESTNOE: 1;
unsigned int reserv: 12;
} bits;
} APL_LAMS_PCH;
} TO_ZADAT4IK;
////////////////////////////////////////////////////////
typedef struct {
union {
int all;
} OBOROTS1;
union {
int all;
} OBOROTS2;
union {
unsigned int all;
struct {
unsigned int VPU: 1;
unsigned int GOTOV2: 1;
unsigned int PODDERG_OBOROTS : 1;
unsigned int PEREGRUZKA :1 ;
unsigned int res:12;
} bits;
} BIG_LAMS;
} TO_VPU;
////////////////////////////////////////////////////////
typedef struct {
unsigned int level_value;
unsigned int ready;
unsigned int error;
union {
unsigned int all;
struct {
unsigned int ready: 1;
unsigned int level0: 1;
unsigned int level1: 1;
unsigned int level2: 1;
unsigned int level3: 12;
} bits;
} digital_line;
} FROM_UOM;
////////////////////////////////////////////////////////
////////////////////////////////////////////////////////
////////////////////////////////////////////////////////
////////////////////////////////////////////////////////
////////////////////////////////////////////////////////
typedef struct {
int int_ZadanieU_Charge;
float ZadanieU_Charge;
_iq iq_ZadanieU_Charge;
_iq iq_ZadanieU_Charge_rmp;
int int_oborots_zad;
float oborots_zad;
float oborots_zad_hz;
_iq iq_oborots_zad_hz;
_iq iq_oborots_zad_hz_rmp;
int int_fzad;
float fzad;
_iq iq_fzad;
_iq iq_fzad_rmp;
int int_kzad;
float kzad;
_iq iq_kzad;
_iq iq_kzad_rmp;
int int_Izad;
float Izad;
_iq iq_Izad;
_iq iq_Izad_rmp;
int int_power_zad;
float power_zad;
_iq iq_power_zad;
_iq iq_power_zad_rmp;
} ZADANIE_FROM_ANOTHER_BS;
#define ZADANIE_FROM_ANOTHER_BS_DEFAULT {\
0,0,0,0, 0,0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0 }
////////////////////////////////////////////////////////
typedef struct {
RMP_V1 rmp_ZadanieU_Charge;
RMP_V1 rmp_fzad;
RMP_V1 rmp_k_u_disbalance;
RMP_V1 rmp_kplus_u_disbalance;
RMP_V1 rmp_Izad;
RMP_V1 rmp_powers_zad;
RMP_V1 rmp_limit_powers_zad;
2024-12-27 10:50:32 +03:00
RMP_V1 rmp_kzad;
RMP_V1 rmp_oborots_zad_hz;
2024-12-27 10:50:32 +03:00
float ZadanieU_Charge;
_iq iq_ZadanieU_Charge;
_iq iq_ZadanieU_Charge_rmp;
float oborots_zad;
float oborots_zad_hz;
_iq iq_oborots_zad_hz;
_iq iq_oborots_zad_hz_rmp;
float fzad;
_iq iq_fzad;
_iq iq_fzad_rmp;
float kzad;
_iq iq_kzad;
_iq iq_kzad_rmp;
float k_u_disbalance;
_iq iq_k_u_disbalance;
_iq iq_k_u_disbalance_rmp;
float kplus_u_disbalance;
_iq iq_kplus_u_disbalance;
_iq iq_kplus_u_disbalance_rmp;
float Izad;
_iq iq_Izad;
_iq iq_Izad_rmp;
float power_zad;
_iq iq_power_zad;
_iq iq_power_zad_rmp;
float limit_power_zad;
_iq iq_limit_power_zad;
_iq iq_limit_power_zad_rmp;
} ZADANIE;
#define ZADANIE_DEFAULT { RMP_V1_DEFAULTS, RMP_V1_DEFAULTS,RMP_V1_DEFAULTS,\
RMP_V1_DEFAULTS,RMP_V1_DEFAULTS,RMP_V1_DEFAULTS,RMP_V1_DEFAULTS,RMP_V1_DEFAULTS,RMP_V1_DEFAULTS,\
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0 , 0,0,0}
2024-12-27 10:50:32 +03:00
typedef union {
struct {
unsigned int limit_by_temper;
unsigned int limit_Iout;
unsigned int limit_UOM; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned int limit_from_SVU;
2024-12-27 10:50:32 +03:00
} bits;
unsigned int all;
} POWER_LIMIT;
#define POWER_LIMIT_DEFAULTS {0,0,0,0}
2024-12-27 10:50:32 +03:00
typedef struct {
_iq power_units;
_iq area;
_iq water_int;
_iq water_ext;
_iq acdrive_windings;
_iq acdrive_bears;
_iq sum_limit;
int code_status;
} TEMPERATURE_LIMIT_KOEFFS;
#define TEMPERATURE_LIMIT_KOEFFS_DEFAULTS {0,0,0,0,0,0,0}
2024-12-27 10:50:32 +03:00
////////////////////////////////////////////////////////
typedef struct
{
ZADANIE zadanie;
ZADANIE_FROM_ANOTHER_BS zadanie_from_another_bs;
TEMPER_EDRK temper_edrk;
P_WATER_EDRK p_water_edrk;
ERRORS_EDRK errors;
ERRORS_EDRK warnings;
TEMPER_ACDRIVE temper_acdrive;
POWER_LIMIT power_limit;
TEMPERATURE_LIMIT_KOEFFS temper_limit_koeffs;
MASTER_SLAVE_COM ms;
////////
struct {
AUTO_MASTER_SLAVE_DATA local; // 1
AUTO_MASTER_SLAVE_DATA prev_local;//1
AUTO_MASTER_SLAVE_DATA remoute;//1
AUTO_MASTER_SLAVE_DATA prev_remoute;//1
unsigned int status;
unsigned int prev_status;
} auto_master_slave; // 6
STATUS_READY Status_Ready; //1
TO_ING to_ing; //1
FROM_ING1 from_ing1;//1
FROM_ING2 from_ing2;//1
FROM_SECOND_PCH from_second_pch;//1
TO_SECOND_PCH to_second_pch;//1
TO_SHEMA to_shema;//1
FROM_SHEMA from_shema;//1
FROM_ZADAT4IK from_zadat4ik;//1
FROM_ZADAT4IK from_vpu;//1
FROM_RS from_rs;//1
FROM_RS from_can;//1
FROM_DISPLAY from_display;//1
FROM_DISPLAY from_mpu;//1
FROM_DISPLAY from_svu;//1
TO_ZADAT4IK to_zadat4ik;//5
TO_VPU to_vpu;//3
FROM_UOM from_uom;//4
2024-12-27 10:50:32 +03:00
///////////////////////////////////////////////
unsigned int Discharge;
unsigned int ManualDischarge;
unsigned int NoDetectUZeroDischarge;
unsigned int TimeSbor;
unsigned int TimeRazbor;
unsigned int AutoStartPump;
unsigned int SumStartPump;
unsigned int ManualStartPump;
unsigned int SumSbor;
int Kvitir;
int KvitirProcess;//10
unsigned int prevGo;
unsigned int Go;
unsigned int GoWait;
int flag_wait_set_to_zero_zadanie;
int flag_block_zadanie;
int StartGEDfromControl;
int StartGEDfromZadanie;
int StartGED;
int test_mode;
int cmd_to_qtv;//20
int cmd_to_ump;//20
int prepare_stop_PWM;
int StartGEDfromSyncBus;
int cmd_to_rascepitel;
int Mode_ScalarVectorUFConst;
int Mode_OborotsOrPower;
int SelectPump1_2;//25
int summ_errors;
int Status_Charge;
unsigned int Sbor_Mode;
unsigned int Razbor_Mode;
unsigned int time_wait_sbor;
int Status_Sbor;
int Stage_Sbor;
int StatusPumpFanAll;
int StatusPump0;
int StatusPump1;
int StatusFunAll;
int StatusPumpAll;//35
int Run_Pred_Zaryad;
int Zaryad_OK;
int Rascepitel_OK;
int Run_QTV;
int Run_Rascepitel;
int Run_Rascepitel_from_RS;
int Run_UMP;
int Zaryad_UMP_Ok;
int Status_UMP_Ok;
int Status_QTV_Ok;
int Status_Rascepitel_Ok;
int Status_Perehod_Rascepitel;
int Final_Status_Rascepitel;
int you_can_on_rascepitel;
int RunZahvatRascepitel;
int RunUnZahvatRascepitel;
_iq iqMAX_U_ZPT;
_iq iqMAX_U_ZPT_Global;
_iq iqMAX_U_ZPT_Predzaryad;
_iq iqMIN_U_ZPT;//50
_iq iqMAX_U_IN;
_iq iqMIN_U_IN;
int SborFinishOk;
int RazborNotFinish;
int Obmotka1;
int Obmotka2;
_iq f_stator;
_iq k_stator1;
_iq k_stator2;//60
_iq iq_f_rotor_hz;
float f_rotor_hz;
int oborots;
float power_kw;
2024-12-27 10:50:32 +03:00
// _iq iq_oborots;
_iq Izad_out;
unsigned int period_calc_pwm_int1;
unsigned int period_calc_pwm_int2;
unsigned int count_lost_interrupt;
unsigned int into_pwm_interrupt;
int disable_alg_u_disbalance;
_iq Kplus;
_iq Kminus;
unsigned int Revers;
_iq Uzad_max;
_iq iq_bpsi_normal;
_iq iq_f_provorot;//70
int flag_second_PCH;
int test;
int Stop;
int warning;
int overheat;
unsigned MasterSlave;
2024-12-27 10:50:32 +03:00
_iq master_theta;
_iq master_Uzad;
_iq master_Iq;
_iq master_Izad;
_iq tetta_to_slave;
_iq Uzad_to_slave;
_iq Iq_to_slave;
_iq P_from_slave;
_iq P_to_master;//82
int flag_wait_both_ready2;
int number_can_box_terminal_cmd;
int number_can_box_terminal_oscil;
int Provorot;
int int_koef_ogran_power;
_iq iq_koef_ogran_power;
int int_koef_ogran_power_another_bs;
_iq iq_koef_ogran_power_another_bs;
int power_kw_another_bs;
_iq iq_power_kw_another_bs;
int run_razbor_shema;
int Ready1_another_bs;
int Ready2_another_bs;
int active_post_upravl;
int active_post_upravl_another_bs;
int MasterSlave_another_bs;
int freq_50hz;
2024-12-27 10:50:32 +03:00
_iq test_rms_Iu;
_iq test_rms_Ua;
//
int disable_interrupt_pwm;
int disable_interrupt_timer1;
int disable_interrupt_timer2;
int disable_interrupt_timer3;
int disable_interrupt_timer4;
int disable_interrupt_sync;
int get_new_data_from_hmi;
int flag_enable_update_hmi;
int flag_disable_pult_485;
int disable_rascepitel_work;
int enable_pwm_test_lines;
//101
} EDRK;
#define EDRK_DEFAULT { \
ZADANIE_DEFAULT,\
ZADANIE_FROM_ANOTHER_BS_DEFAULT,\
TEMPER_EDRK_DEFAULT, P_WATER_EDRK_DEFAULT, \
ERRORS_EDRK_DEFAULT, ERRORS_EDRK_DEFAULT,\
TEMPER_ACDRIVE_DEFAULT,\
POWER_LIMIT_DEFAULTS,\
TEMPERATURE_LIMIT_KOEFFS_DEFAULTS,\
MASTER_SLAVE_COM_DEFAULT,\
0,0,0,0,0,0,\
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\
0,0,0,0,0,\
0,0,0,0,\
2024-12-27 10:50:32 +03:00
0,0,0,\
0,0,0,0,\
\
0,0,0,0,0,0,0,0,0,0,\
0,0,0,0,0,0,0,0,0,0,\
0,0,0,0,0,0,0,0,0,0,\
0,0,0,0,0,0,0,0,0,0,\
0,0,0,0,0,0,0,0,0,0,\
0,0,0,0,0,0,0,0,0,0,\
0,0,0,0,0,0,0,0,0,0,\
0,0,0,0,0,0,0,0,0,0,\
0,0,0,0,0,0,0,0,0,0,\
0,0,0,0,0,0,0,0,0,0,0,0,\
0,0,0,0,0,0,0,0,0,0, 0,0,\
0,0,0,0,0,0,0,0,0,0,0,0 \
}
2024-12-27 10:50:32 +03:00
extern EDRK edrk;
float get_sensor_ing(void);
float get_i_vozbud(void);
float get_zad_vozbud(void);
2024-12-27 10:50:32 +03:00
unsigned int convert_w_to_mA(float inp);
2024-12-27 10:50:32 +03:00
void edrk_init(void);
void update_input_edrk(void);
void update_output_edrk(void);
float get_amper_vozbud(void);
2024-12-27 10:50:32 +03:00
void set_amper_vozbud(float set_curr, float cur_curr);
2024-12-27 10:50:32 +03:00
void write_dac(int ndac, int Value);
2024-12-27 10:50:32 +03:00
void run_edrk(void);
void set_oborots_from_zadat4ik(void);
void get_where_oborots(void);
void update_errors(void);
2024-12-27 10:50:32 +03:00
void calc_p_water_edrk(void);
2024-12-27 10:50:32 +03:00
unsigned int pause_detect_error(unsigned int *c_err, unsigned int max_wait,unsigned int flag);
2024-12-27 10:50:32 +03:00
void nagrev_auto_on_off(void);
unsigned int zaryad_on_off(unsigned int flag);
2024-12-27 10:50:32 +03:00
void update_lamp_alarm(void);
void auto_block_key_on_off(void);
void nagrev_auto_on_off(void);
2024-12-27 10:50:32 +03:00
int get_status_temper_acdrive_winding(int nc);
int get_status_temper_acdrive_bear(int nc);
int get_status_temper_air(int nc);
int get_status_temper_u(int nc);
int get_status_temper_water(int nc);
int get_status_p_water_max(void);
int get_status_p_water_min(int pump_on_off);
2024-12-27 10:50:32 +03:00
void detect_kvitir_from_all(void);
void set_status_pump_fan(void);
2024-12-27 10:50:32 +03:00
int qtv_on_off(unsigned int flag);
int detect_error_u_zpt(void);
int detect_error_u_zpt_on_predzaryad(void);
2024-12-27 10:50:32 +03:00
void set_zadanie_u_charge(void);
void update_ukss_can(unsigned int pause);
void update_ukss_setup(unsigned int pause);
void update_bsu_can(unsigned int pause);
void init_can_box_between_bs1_bs2(void);
2024-12-27 10:50:32 +03:00
unsigned int filter_err_count(unsigned int *counter, unsigned int max_errors, unsigned int err, unsigned int cmd);
2024-12-27 10:50:32 +03:00
void detect_alive_another_bs(void);
2024-12-27 10:50:32 +03:00
void auto_select_master_slave(void);
2024-12-27 10:50:32 +03:00
void clear_errors_master_slave(void);
2024-12-27 10:50:32 +03:00
void who_select_sync_signal(void);
2024-12-27 10:50:32 +03:00
void clear_wait_synhro_optical_bus(void);
2024-12-27 10:50:32 +03:00
unsigned int wait_synhro_optical_bus(void);
2024-12-27 10:50:32 +03:00
void edrk_init_variables(void);
void edrk_init_before_main(void);
void edrk_init_before_loop(void);
void edrk_go_main(void);
int get_start_ged_from_zadanie(void);
void ramp_all_zadanie(int flag_set_zero);
void init_ramp_all_zadanie(void);
2024-12-27 10:50:32 +03:00
void UpdateTableSecondBS(void);
2024-12-27 10:50:32 +03:00
unsigned int get_ready_1(void);
int detect_zaryad_ump(void);
2024-12-27 10:50:32 +03:00
void cross_stend_automats(void);
void update_zadat4ik(void);
2024-12-27 10:50:32 +03:00
void get_sumsbor_command(void);
unsigned int read_cmd_sbor_from_bs(void);
2024-12-27 10:50:32 +03:00
void read_data_from_bs(void);
2024-12-27 10:50:32 +03:00
void check_change_post_upravl(void);
int get_code_active_post_upravl(void);
void get_freq_50hz(void);
void calc_pll_50hz(void);
void init_50hz_input_net50hz(void);
2024-12-27 10:50:32 +03:00
void auto_detect_zero_u_zpt(void);
_iq calc_rms(_iq input, _iq input_prev, _iq freq_signal);
2024-12-27 10:50:32 +03:00
#endif