forkd

Dependencies:   mbed

Fork of LG2 by Dmitry Kovalev

Committer:
Kovalev_D
Date:
Fri Jan 05 08:14:38 2018 +0000
Revision:
227:2774b56bfab0
Parent:
226:4a4d5bd5fcd7
05.01.2018

Who changed what in which revision?

UserRevisionLine numberNew contents of line
igor_v 0:8ad47e2b6f00 1 #ifndef VIBRO_H
igor_v 0:8ad47e2b6f00 2 #define VIBRO_H
igor_v 0:8ad47e2b6f00 3
igor_v 21:bc8c1cec3da6 4 #define ClrV1 LPC_GPIO1->FIOSET=(1<<25);
Kovalev_D 87:7e575d26d6d0 5 #define SetV1 LPC_GPIO1->FIOCLR = (1<<25);
igor_v 1:f2adcae3d304 6
Kovalev_D 47:d902ef6f7564 7 #define TXOn LPC_GPIO2->FIOSET=(1<<7);
Kovalev_D 47:d902ef6f7564 8 #define TXOff LPC_GPIO2->FIOCLR = (1<<7);
Kovalev_D 47:d902ef6f7564 9
igor_v 21:bc8c1cec3da6 10 #define ClrV2 LPC_GPIO1->FIOSET = (1<<28);
igor_v 21:bc8c1cec3da6 11 #define SetV2 LPC_GPIO1->FIOCLR = (1<<28);
igor_v 0:8ad47e2b6f00 12
Kovalev_D 26:52ce5953a5c2 13 #define LoopOn LPC_GPIO1->FIOSET = (1<<30);
Kovalev_D 26:52ce5953a5c2 14 #define LoopOff LPC_GPIO1->FIOCLR = (1<<30);
Kovalev_D 26:52ce5953a5c2 15 #define StartV1 0
Kovalev_D 26:52ce5953a5c2 16 #define StartV2 15
igor_v 0:8ad47e2b6f00 17 #define TIME_INTERVAL (7812)
igor_v 0:8ad47e2b6f00 18
Kovalev_D 205:775d54fdf646 19
Kovalev_D 205:775d54fdf646 20 #define Rate1 0x01
Kovalev_D 205:775d54fdf646 21 #define Rate2 0x02
Kovalev_D 214:4c70e452c491 22 #define Rate3 0x3
Kovalev_D 214:4c70e452c491 23 #define Rate7 0x7
Kovalev_D 214:4c70e452c491 24
Kovalev_D 205:775d54fdf646 25 #define PRate1 0x81
Kovalev_D 205:775d54fdf646 26 #define PRate2 0x82
Kovalev_D 214:4c70e452c491 27 #define PRate3 0x83
Kovalev_D 214:4c70e452c491 28 #define PRate7 0x87
Kovalev_D 222:7de7b3bf3a1d 29 #define PRate5K 0x94
Kovalev_D 222:7de7b3bf3a1d 30 #define Rate5K 0x14
Kovalev_D 205:775d54fdf646 31
Kovalev_D 205:775d54fdf646 32 ////////////////////////////////////////////////////////
Kovalev_D 205:775d54fdf646 33 ////Дефайны для декодирования запроса параметров Rate///
Kovalev_D 205:775d54fdf646 34 ////////////////////////////////////////////////////////
Kovalev_D 209:224e7331a061 35 #define Delta_500 0x20
Kovalev_D 226:4a4d5bd5fcd7 36 #define Delta_EXT 0x0
Kovalev_D 226:4a4d5bd5fcd7 37
Kovalev_D 226:4a4d5bd5fcd7 38 #define Delta_PS_INT 0x80
Kovalev_D 226:4a4d5bd5fcd7 39 #define Delta_PS_EXT 0x0
Kovalev_D 226:4a4d5bd5fcd7 40
Kovalev_D 226:4a4d5bd5fcd7 41
Kovalev_D 226:4a4d5bd5fcd7 42
Kovalev_D 162:44e4ded32c6a 43 #define PDelta_500 0x90
Kovalev_D 209:224e7331a061 44 #define PDelta_EXT 0x10
Kovalev_D 226:4a4d5bd5fcd7 45
Kovalev_D 226:4a4d5bd5fcd7 46
Kovalev_D 193:a0fe8bfc97e4 47 #define Delta_Bins 0x0
Kovalev_D 193:a0fe8bfc97e4 48 #define PDelta_Bins 0x1
Kovalev_D 193:a0fe8bfc97e4 49
Kovalev_D 193:a0fe8bfc97e4 50
Kovalev_D 193:a0fe8bfc97e4 51 #define PB_Delta_EXT 0x9
Kovalev_D 193:a0fe8bfc97e4 52 #define B_Delta_EXT 0x1
Kovalev_D 193:a0fe8bfc97e4 53 #define PB_Delta_INT 0x8
Kovalev_D 193:a0fe8bfc97e4 54 #define B_Delta_INT 0x0
Kovalev_D 205:775d54fdf646 55 ///////////////////////////////////////////////////////////
Kovalev_D 104:ab1cb4ff56b2 56
Kovalev_D 171:d227a6045305 57 #define FrqOFF Gyro.RgConA &= ~AFRQ; //установить контур регулировки частоты в "0"
Kovalev_D 171:d227a6045305 58 #define FrqON Gyro.RgConA |= AFRQ; //установить контур регулировки частоты в "1"
Kovalev_D 104:ab1cb4ff56b2 59
Kovalev_D 171:d227a6045305 60
Kovalev_D 171:d227a6045305 61 #define AVibOFF Gyro.RgConA &= ~AVBT; //установить контур регулировки частоты в "0"
Kovalev_D 171:d227a6045305 62 #define AVibON Gyro.RgConA |= AVBT; //установить контур регулировки частоты в "1"
Kovalev_D 171:d227a6045305 63
Kovalev_D 171:d227a6045305 64 #define HFOOFF Gyro.RgConA &= ~AHFO; //установить контур накачки в "0"
Kovalev_D 171:d227a6045305 65 #define HFOON Gyro.RgConA |= AHFO; //установить контур накачки в "1"
Kovalev_D 104:ab1cb4ff56b2 66
Kovalev_D 171:d227a6045305 67 #define PlcOFF Gyro.RgConA &= ~APLC; //установить контур регулировки периметра в "0"
Kovalev_D 171:d227a6045305 68 #define PlcON Gyro.RgConA |= APLC; //установить контур регулировки периметра в "1"
Kovalev_D 104:ab1cb4ff56b2 69
Kovalev_D 171:d227a6045305 70 #define AFRQ (1<<6)
Kovalev_D 171:d227a6045305 71 #define AVBT (1<<5)
Kovalev_D 208:19150d2b528f 72 #define MPLC (1<<4)
Kovalev_D 171:d227a6045305 73 #define APLC (1<<3)
Kovalev_D 104:ab1cb4ff56b2 74 #define AHFO (1<<1)
Kovalev_D 171:d227a6045305 75
Kovalev_D 85:0466ee8cdfc8 76
Kovalev_D 40:8a6494f61326 77 #define LedOFF Gyro.PinReg &= ~PinRegBitLED; //установить бит светодиода в "0"
igor_v 48:8697dfe679b9 78 #define LedON Gyro.PinReg |= PinRegBitLED; //установить бит светодиода в "1"
Kovalev_D 40:8a6494f61326 79
Kovalev_D 209:224e7331a061 80 #define StartBackLight 0xf
Kovalev_D 209:224e7331a061 81 #define StartDischarg 0xc
Kovalev_D 104:ab1cb4ff56b2 82
igor_v 48:8697dfe679b9 83 #define PinRegBitTXE (1<<5)
igor_v 48:8697dfe679b9 84 #define PinRegBitLED (1<<4)
igor_v 48:8697dfe679b9 85 #define PinRegBitD (1<<3)
igor_v 48:8697dfe679b9 86 #define PinRegBitL (1<<2)
igor_v 48:8697dfe679b9 87 #define PinRegBit_2V (1<<1)
igor_v 48:8697dfe679b9 88 #define PinRegBit_1V (1<<0)
igor_v 110:6406b7ac0442 89
Kovalev_D 208:19150d2b528f 90 #define ShiftStart0 0x0
Kovalev_D 188:4c523cc373cc 91 #define ShiftStart1 0x1
Kovalev_D 188:4c523cc373cc 92 #define ShiftStart2 0x2
Kovalev_D 188:4c523cc373cc 93 #define ShiftStart3 0x3
igor_v 110:6406b7ac0442 94
Kovalev_D 209:224e7331a061 95 #define DropDelayGLD_0 100
Kovalev_D 209:224e7331a061 96 #define DropDelayGLD_1 100
Kovalev_D 209:224e7331a061 97 #define DropDelayGLD_2 100
Kovalev_D 209:224e7331a061 98 #define DropDelayGLD_3 100
Kovalev_D 26:52ce5953a5c2 99
Kovalev_D 28:1c9acd3b224d 100
Kovalev_D 205:775d54fdf646 101 extern int tempAMP;
Kovalev_D 129:406995a91322 102
Kovalev_D 205:775d54fdf646 103 //int qei;
Kovalev_D 205:775d54fdf646 104 //int QEIznak1,QEIznak2;
Kovalev_D 205:775d54fdf646 105 //unsigned int StrayHZ; //помеха
Kovalev_D 205:775d54fdf646 106 //unsigned int StrayHZ_flag;
Kovalev_D 205:775d54fdf646 107 //int flag;
Kovalev_D 205:775d54fdf646 108 //unsigned int StrayPLC_Pls; //помеха +
Kovalev_D 205:775d54fdf646 109 //int StrayPLC_Mns; //помеха -
Kovalev_D 205:775d54fdf646 110 //unsigned int StrayPLC_2Mode;
Kovalev_D 205:775d54fdf646 111 //unsigned int StrayPLC_flag;
Kovalev_D 205:775d54fdf646 112 //unsigned int ModJump;
Kovalev_D 205:775d54fdf646 113 //unsigned int TimJump;
Kovalev_D 205:775d54fdf646 114 //unsigned int flagGph_W;
Kovalev_D 205:775d54fdf646 115 //unsigned int Test_time;
Kovalev_D 205:775d54fdf646 116 //unsigned int Test_time1;
Kovalev_D 205:775d54fdf646 117 //unsigned int Rate1_Flag;
Kovalev_D 205:775d54fdf646 118 //unsigned int Rate2_Flag;
Kovalev_D 205:775d54fdf646 119 //int AmpSC;//переменная для других ошумлений
Kovalev_D 205:775d54fdf646 120 //unsigned int Delta500_Event;
Kovalev_D 205:775d54fdf646 121 //unsigned int Delta_Bins_Event500;
Kovalev_D 205:775d54fdf646 122 //unsigned int B_Delta_Event500;
Kovalev_D 205:775d54fdf646 123 //float Ktermo;
Kovalev_D 205:775d54fdf646 124 //unsigned int EventMOD;
Kovalev_D 205:775d54fdf646 125 //контур регулеровки Периметра "PLC" - без модулятора
Kovalev_D 205:775d54fdf646 126 //int PLC_Delta; // разница между старым и новым показаниями
Kovalev_D 205:775d54fdf646 127 //int PLC_DeltaADD; // разница между старым и новым показаниями с учетом знака управляешего напряжения АЦП
Kovalev_D 205:775d54fdf646 128 //int PLC_Old;
Kovalev_D 205:775d54fdf646 129 //int PLC_ADC_DOld;
Kovalev_D 205:775d54fdf646 130 //int PlC_MaxD; // разница между максимальной и текущей амплитудами.
Kovalev_D 205:775d54fdf646 131 //int PLC_Regul;
Kovalev_D 205:775d54fdf646 132 //int Num;
Kovalev_D 205:775d54fdf646 133 //int StopCuruAngle;
Kovalev_D 205:775d54fdf646 134 //unsigned int DeltaEXT_Event; // вывод параметров типа Rate по внешней защелке.
Kovalev_D 205:775d54fdf646 135 //unsigned int B_Delta_EventEXT;// вывод параметров типа Rate по внешней защелке.(надо чтоб от одного влага было, как Event_500Hz)
Kovalev_D 129:406995a91322 136
Kovalev_D 205:775d54fdf646 137 typedef struct _Gyro {
Kovalev_D 222:7de7b3bf3a1d 138
Kovalev_D 205:775d54fdf646 139
Kovalev_D 222:7de7b3bf3a1d 140 unsigned int TimeToJump; //5
Kovalev_D 222:7de7b3bf3a1d 141 unsigned int JumpDelta;
Kovalev_D 222:7de7b3bf3a1d 142
Kovalev_D 222:7de7b3bf3a1d 143 unsigned int ShowMod2;
Kovalev_D 222:7de7b3bf3a1d 144 int Debag;
Kovalev_D 222:7de7b3bf3a1d 145 int Debag2;
Kovalev_D 222:7de7b3bf3a1d 146 unsigned int UARTFlag;
Kovalev_D 222:7de7b3bf3a1d 147 unsigned int PLC_Start;
Kovalev_D 222:7de7b3bf3a1d 148 unsigned int LG_Type;
Kovalev_D 222:7de7b3bf3a1d 149 unsigned int LogPLC; // 1
Kovalev_D 222:7de7b3bf3a1d 150 unsigned int Log;
Kovalev_D 222:7de7b3bf3a1d 151 unsigned int LogMod; // 2
Kovalev_D 222:7de7b3bf3a1d 152 unsigned int PLC_Phase;
Kovalev_D 222:7de7b3bf3a1d 153 int PLC_Gain;
Kovalev_D 222:7de7b3bf3a1d 154 unsigned int PLC_Lern; // 3 обратный таймер для поиска максимальной амплитуды при работе без модулятора
Kovalev_D 222:7de7b3bf3a1d 155 int PLC_Eror;
Kovalev_D 222:7de7b3bf3a1d 156 int PLC_Eror_Rate;
Kovalev_D 222:7de7b3bf3a1d 157 int PLC_Eror_count;
Kovalev_D 222:7de7b3bf3a1d 158 int PLC_regul;
Kovalev_D 222:7de7b3bf3a1d 159 unsigned int ModAmp; // 4 амплитуда модулятора
Kovalev_D 222:7de7b3bf3a1d 160 unsigned int ShiftMod;
Kovalev_D 222:7de7b3bf3a1d 161
Kovalev_D 222:7de7b3bf3a1d 162 unsigned int FlashMod; // 5 0-ничего не делать, 1 - запись во Flash, 2 чтение из Flash.
Kovalev_D 222:7de7b3bf3a1d 163 unsigned int ModeOut; // 6 переменная для выбора варианта вывода параметров типа Rate.
Kovalev_D 222:7de7b3bf3a1d 164
Kovalev_D 222:7de7b3bf3a1d 165 unsigned int Rate1_Event; // 7 событие 1с для вывода параметров Rate 1
Kovalev_D 222:7de7b3bf3a1d 166 unsigned int Rate3_Event;
Kovalev_D 222:7de7b3bf3a1d 167 unsigned int Reper_Event; // 8 событие для вывода набора параметров типа Rate по меандру.
Kovalev_D 222:7de7b3bf3a1d 168 unsigned int Event_500Hz;
Kovalev_D 222:7de7b3bf3a1d 169 unsigned int EvenRate7;
Kovalev_D 222:7de7b3bf3a1d 170 unsigned int EvenRate5K;
Kovalev_D 222:7de7b3bf3a1d 171
Kovalev_D 222:7de7b3bf3a1d 172 int DAC_current_Work; //3
Kovalev_D 222:7de7b3bf3a1d 173 int DAC_current_Start; //4 стартовый ток накачки?
Kovalev_D 222:7de7b3bf3a1d 174 int HFO_ref;
Kovalev_D 222:7de7b3bf3a1d 175 int HFO_Min;
Kovalev_D 222:7de7b3bf3a1d 176 int HFO_Max;
Kovalev_D 222:7de7b3bf3a1d 177 unsigned int HFO_Gain;
Kovalev_D 222:7de7b3bf3a1d 178 unsigned int RgConA; // 9 регистр управления ГЛД
Kovalev_D 222:7de7b3bf3a1d 179 unsigned int RgConB; //10 регистр управления ГЛД
Kovalev_D 222:7de7b3bf3a1d 180 unsigned int RgConMod;
Kovalev_D 205:775d54fdf646 181
Kovalev_D 222:7de7b3bf3a1d 182 unsigned int Gain_Sin; //11 коиф усиления синуса.
Kovalev_D 222:7de7b3bf3a1d 183 unsigned int Gain_Cos; //12 коиф усиления косинуса.
Kovalev_D 222:7de7b3bf3a1d 184 unsigned int FrqPhase;
Kovalev_D 222:7de7b3bf3a1d 185 unsigned int FrqPhaseEror;
Kovalev_D 222:7de7b3bf3a1d 186 unsigned int Frq; //13 Непосредственное значение частоты для таймера.
Kovalev_D 222:7de7b3bf3a1d 187 unsigned int FrqHZ; //14 Частота в Гц.
Kovalev_D 222:7de7b3bf3a1d 188 unsigned int FrqHZmin; //15 Мин значение частоты ВП
Kovalev_D 222:7de7b3bf3a1d 189 unsigned int FrqHZmax; //16 Мах значение частоты ВП
Kovalev_D 222:7de7b3bf3a1d 190 unsigned int FrqChengSpeed; //17 скорость регулировки частоты ВП
Kovalev_D 222:7de7b3bf3a1d 191 unsigned int L_vibro;
Kovalev_D 222:7de7b3bf3a1d 192
Kovalev_D 222:7de7b3bf3a1d 193 unsigned int VibroFrqRegulF; //18 флаг регулировки частоты ВП
Kovalev_D 222:7de7b3bf3a1d 194 unsigned int VibroAMPRegulF; //19 флаг регулировки амплитуды ВП
Kovalev_D 222:7de7b3bf3a1d 195 unsigned int VibroNoiseF; //20 флаг ошумления амплитуды ВП
Kovalev_D 222:7de7b3bf3a1d 196 unsigned int VibroOutF; //21 флаг изменения состояния ножек вибро.
Kovalev_D 222:7de7b3bf3a1d 197 unsigned int LowVibroFlag;
Kovalev_D 222:7de7b3bf3a1d 198 unsigned int ClrVFlag;
Kovalev_D 222:7de7b3bf3a1d 199
Kovalev_D 222:7de7b3bf3a1d 200 unsigned int Amp; //22 значение амплитуды вибропривода в попугаях (Gyro.Amp = (0%--100%) << 16)
Kovalev_D 222:7de7b3bf3a1d 201 unsigned int AmpPer; //23 Амплитуда в процентах Gyro.AmpPer = Gyro.Amp>>16 ;
Kovalev_D 222:7de7b3bf3a1d 202 unsigned int AmpT; //24 значение тиков после которых происходит смена амплитуды ошумления ( rand() % Gyro.AmpTD+Gyro.AmpMin)(частота ошумления)
Kovalev_D 222:7de7b3bf3a1d 203 unsigned int AmpMin; //25 минимальное значение AmpT(частота ошумления);
Kovalev_D 222:7de7b3bf3a1d 204 unsigned int AmpTD; //26 диапозон частоты ошумления(частота ошумления);
Kovalev_D 222:7de7b3bf3a1d 205
Kovalev_D 222:7de7b3bf3a1d 206 unsigned int AmpPerMin; //27 ограничение минимальной амплитуды ВП
Kovalev_D 222:7de7b3bf3a1d 207 unsigned int AmpPerMax; //28 ограничение максимальной амплитуды ВП
Kovalev_D 222:7de7b3bf3a1d 208 unsigned int AmpSpeed; //29 коиффициент сорости регулировки амплитуды
Kovalev_D 222:7de7b3bf3a1d 209 unsigned int AmpTarget; //30 целевая амплитуда ВП к которой стремится регулировка.
Kovalev_D 222:7de7b3bf3a1d 210 unsigned int AmpPerDel; //31 значение для расчета амплитуды (дельта амплитуды) на сколько будет отличаться в працентах 1 амплитуда от второй при ошумлении, мин знач : AmpPer, мах знач : AmpPer+AmpPerDel; (в процентах)
Kovalev_D 222:7de7b3bf3a1d 211 unsigned int AmpN1; //32 левая граница импулься ВП
Kovalev_D 222:7de7b3bf3a1d 212 unsigned int AmpN2; //33 правая граница импулься ВП
Kovalev_D 222:7de7b3bf3a1d 213 unsigned int F_ras; //34 частота расщипления
Kovalev_D 222:7de7b3bf3a1d 214 unsigned int F_rasAdd;
Kovalev_D 222:7de7b3bf3a1d 215 int MaxAmp; //35 амплитуда Пик-Пик расчтитанная по востановленному синусу.
Kovalev_D 222:7de7b3bf3a1d 216
Kovalev_D 222:7de7b3bf3a1d 217 //ЭНКОДЕР
Kovalev_D 222:7de7b3bf3a1d 218 int CaunPlus; //36 счетчик +
Kovalev_D 222:7de7b3bf3a1d 219 int CaunMin;
Kovalev_D 222:7de7b3bf3a1d 220 //37 счетчик -
Kovalev_D 222:7de7b3bf3a1d 221 int CaunPlusRateAdd; //36 счетчик +
Kovalev_D 222:7de7b3bf3a1d 222 int CaunMinRateAdd;
Kovalev_D 222:7de7b3bf3a1d 223 int CaunPlusRate; //36 счетчик +
Kovalev_D 222:7de7b3bf3a1d 224 int CaunMinRate;
Kovalev_D 222:7de7b3bf3a1d 225
Kovalev_D 222:7de7b3bf3a1d 226 int CaunPlusReperAdd; //36 счетчик +
Kovalev_D 222:7de7b3bf3a1d 227 int CaunMinReperAdd;
Kovalev_D 222:7de7b3bf3a1d 228 int CaunPlusReper; //36 счетчик +
Kovalev_D 222:7de7b3bf3a1d 229 int CaunMinReper;
Kovalev_D 222:7de7b3bf3a1d 230 // данные АЦП
Kovalev_D 222:7de7b3bf3a1d 231 unsigned int TermoNKU; //38
Kovalev_D 222:7de7b3bf3a1d 232 unsigned int Termo; //39 значение АЦП
Kovalev_D 222:7de7b3bf3a1d 233 unsigned int DeltaT; //40
Kovalev_D 222:7de7b3bf3a1d 234 int In1; //41
Kovalev_D 222:7de7b3bf3a1d 235 int In2; //42
Kovalev_D 222:7de7b3bf3a1d 236 int Tmp_OffsetT4; //47
Kovalev_D 222:7de7b3bf3a1d 237 int Tmp_OffsetT5;
Kovalev_D 222:7de7b3bf3a1d 238 float Tmp_scaleT4; //53
Kovalev_D 222:7de7b3bf3a1d 239 float Tmp_scaleT5; //54
Kovalev_D 222:7de7b3bf3a1d 240
Kovalev_D 222:7de7b3bf3a1d 241 unsigned int ADF_Accum; //43 Значенее амплитудного детектора Временное
Kovalev_D 222:7de7b3bf3a1d 242 unsigned int ADS_Accum;
Kovalev_D 222:7de7b3bf3a1d 243 unsigned int IN1_Accum;
Kovalev_D 222:7de7b3bf3a1d 244 unsigned int IN2_Accum;
Kovalev_D 222:7de7b3bf3a1d 245 unsigned int DacIn; //44 Значенее амплитудного детектора Временное
Kovalev_D 222:7de7b3bf3a1d 246 unsigned int ADS_AccumTermLM; //45
Kovalev_D 222:7de7b3bf3a1d 247 unsigned int TermLM; //46
Kovalev_D 222:7de7b3bf3a1d 248 unsigned int ADF_Count;
Kovalev_D 222:7de7b3bf3a1d 249 unsigned int ADM_Count; //47 Значенее времени накопления данных
Kovalev_D 222:7de7b3bf3a1d 250 unsigned int ADS_Count; //48 Значенее времени накопления данных
Kovalev_D 222:7de7b3bf3a1d 251 unsigned int AD_Fast; //49 Значенее амплитудного детектора сдвинутое на 16 бит
Kovalev_D 222:7de7b3bf3a1d 252 unsigned int AD_Slow; //50 Значенее амплитудного детектора сдвинутое на 16 бит
Kovalev_D 222:7de7b3bf3a1d 253 unsigned int ADF_NewData; //51 есть данные после фильтрации в быстром фильтре
Kovalev_D 222:7de7b3bf3a1d 254 unsigned int ADS_NewData; //52 -----------/----------/----------/--------
Kovalev_D 222:7de7b3bf3a1d 255
Kovalev_D 222:7de7b3bf3a1d 256
Kovalev_D 222:7de7b3bf3a1d 257 int DownTreshold; //27
Kovalev_D 222:7de7b3bf3a1d 258 int HighTreshold;
Kovalev_D 222:7de7b3bf3a1d 259 int PLCDelay;
Kovalev_D 222:7de7b3bf3a1d 260 int ResetLevelCool; //105
Kovalev_D 222:7de7b3bf3a1d 261 int ResetLevelHeat;
Kovalev_D 222:7de7b3bf3a1d 262
Kovalev_D 222:7de7b3bf3a1d 263
Kovalev_D 222:7de7b3bf3a1d 264 int PLC_Error2Mode; //53 счетчик, не ноль когдав двух модовом регулировка без модулятора(для просмотра мод)
Kovalev_D 222:7de7b3bf3a1d 265
Kovalev_D 222:7de7b3bf3a1d 266 unsigned int CMD_In; //54 входящая команда
Kovalev_D 222:7de7b3bf3a1d 267 unsigned int SOC_Out; //55
Kovalev_D 222:7de7b3bf3a1d 268 unsigned int My_Addres; //56 адрес прибора
Kovalev_D 222:7de7b3bf3a1d 269 unsigned int DropDelayGLD; //57 задержка для мультидропа (дискрета 100кГц)
Kovalev_D 222:7de7b3bf3a1d 270
Kovalev_D 222:7de7b3bf3a1d 271 unsigned int GLD_Serial; //58 серийный номер прибора
Kovalev_D 222:7de7b3bf3a1d 272 unsigned int CRC; //59 контрольная сумма посылки
Kovalev_D 222:7de7b3bf3a1d 273 unsigned int Firmware_Version; //60 версия программы
Kovalev_D 222:7de7b3bf3a1d 274 unsigned int RsErrLine; //61 регистр ошибок передачи.
Kovalev_D 226:4a4d5bd5fcd7 275 unsigned int Device_Mode;
Kovalev_D 222:7de7b3bf3a1d 276 int CuruAngle;
Kovalev_D 222:7de7b3bf3a1d 277 int CuruAngle32; //62 текущеий угол.
Kovalev_D 222:7de7b3bf3a1d 278 int CuruAngle64;
Kovalev_D 222:7de7b3bf3a1d 279 int CuruAngle96;
Kovalev_D 222:7de7b3bf3a1d 280 int CuruAngle128;
Kovalev_D 222:7de7b3bf3a1d 281 int OldCuruAngle; //63 старый угол
Kovalev_D 222:7de7b3bf3a1d 282 int CuruAngleLog;
Kovalev_D 222:7de7b3bf3a1d 283 int Cnt_Dif; //64 приращение угла между прошлым и текушим приращением за тик виброподвеса (32 тика)
Kovalev_D 222:7de7b3bf3a1d 284
Kovalev_D 222:7de7b3bf3a1d 285 unsigned int PinReg; //65 bit4 bit3 bit 2 bit1 bit0
Kovalev_D 222:7de7b3bf3a1d 286 unsigned int PinRegOld; //66 || светодиод || состояние поджига || состояние подсветки || состояние вибро 2 || состояние вибро 1 ||
Kovalev_D 222:7de7b3bf3a1d 287
Kovalev_D 222:7de7b3bf3a1d 288 unsigned int Discharg; //67 последовательность бит харрактеризующая форму сигнала поджига.
Kovalev_D 222:7de7b3bf3a1d 289 unsigned int BackLight; //68 последовательность бит харрактеризующая форму сигнала подсветки.
Kovalev_D 222:7de7b3bf3a1d 290 unsigned int LaserOn;
Kovalev_D 222:7de7b3bf3a1d 291 unsigned int EXT_Latch; //69
Kovalev_D 205:775d54fdf646 292 } GyroT, *Gyro_p;
Kovalev_D 205:775d54fdf646 293 extern GyroT Gyro;
Kovalev_D 129:406995a91322 294
Kovalev_D 206:00341a03e05c 295 typedef union {
Kovalev_D 208:19150d2b528f 296 int Array[248];
Kovalev_D 206:00341a03e05c 297 struct {
Kovalev_D 208:19150d2b528f 298 unsigned int My_Addres; //0 адрес прибора
Kovalev_D 211:ac8251b067d2 299 unsigned int HFO_ref; //1
Kovalev_D 218:b4067cac75c0 300 unsigned int HFO_Gain; //2
Kovalev_D 211:ac8251b067d2 301 unsigned int DAC_current_Work; //3 HFO_MIN
Kovalev_D 211:ac8251b067d2 302 unsigned int DAC_current_Start; //4 HFO_MAX
Kovalev_D 208:19150d2b528f 303
Kovalev_D 222:7de7b3bf3a1d 304 unsigned int TimeToJump; //5
Kovalev_D 222:7de7b3bf3a1d 305 unsigned int JumpDelta; //6
Kovalev_D 208:19150d2b528f 306
Kovalev_D 208:19150d2b528f 307 unsigned int PLC_Phase; //7
Kovalev_D 220:04c54405b82d 308 int PLC_Gain; //8
Kovalev_D 208:19150d2b528f 309
Kovalev_D 211:ac8251b067d2 310 unsigned int PLCDelay; //9
Kovalev_D 211:ac8251b067d2 311
Kovalev_D 211:ac8251b067d2 312
Kovalev_D 225:f8fee6c586cc 313 unsigned int DownTreshold; //10
Kovalev_D 225:f8fee6c586cc 314 unsigned int HighTreshold; //11
Kovalev_D 211:ac8251b067d2 315
Kovalev_D 211:ac8251b067d2 316
Kovalev_D 208:19150d2b528f 317 unsigned int FrqPhase; //12 фаза
Kovalev_D 208:19150d2b528f 318 unsigned int FrqChengSpeed; //13 скорость регулировки частоты ВП
Kovalev_D 208:19150d2b528f 319 unsigned int FrqHZ; //14
Kovalev_D 208:19150d2b528f 320 unsigned int FrqHZmin; //15
Kovalev_D 208:19150d2b528f 321 unsigned int FrqHZmax; //16
Kovalev_D 208:19150d2b528f 322 unsigned int VB_Fdf_Hi; //17
Kovalev_D 208:19150d2b528f 323 unsigned int VB_Fdf_Lo; //18
Kovalev_D 208:19150d2b528f 324 unsigned int AmpSpeed; //19
Kovalev_D 208:19150d2b528f 325 unsigned int AmpPerMin; //20
Kovalev_D 208:19150d2b528f 326 unsigned int AmpPerMax; //21
Kovalev_D 208:19150d2b528f 327 unsigned int AmpPer; //22
Kovalev_D 208:19150d2b528f 328 unsigned int AmpMin; //23 минимальное значение AmpT(частота ошумления);
Kovalev_D 208:19150d2b528f 329 unsigned int AmpTD; //24 диапозон частоты ошумления(частота ошумления);
Kovalev_D 208:19150d2b528f 330 unsigned int AmpPerDel; //25 амплитуда ошумления
Kovalev_D 208:19150d2b528f 331 unsigned int a9; //26
Kovalev_D 211:ac8251b067d2 332 int a10; //27
Kovalev_D 211:ac8251b067d2 333 int a11; //28
Kovalev_D 208:19150d2b528f 334 unsigned int a12; //29
Kovalev_D 211:ac8251b067d2 335 unsigned int LG_Type; //30
Kovalev_D 225:f8fee6c586cc 336 int ResetLevelHeatAAA; //31
Kovalev_D 208:19150d2b528f 337 unsigned int a15; //32
Kovalev_D 220:04c54405b82d 338 unsigned int ShiftMod; //33
Kovalev_D 208:19150d2b528f 339 unsigned int ModAmp; //34 амплитуда модулятора
Kovalev_D 208:19150d2b528f 340
Kovalev_D 208:19150d2b528f 341 unsigned int a17; //35
Kovalev_D 208:19150d2b528f 342 unsigned int a18; //36
Kovalev_D 208:19150d2b528f 343 unsigned int a19; //37
Kovalev_D 208:19150d2b528f 344 unsigned int a20; //38
Kovalev_D 225:f8fee6c586cc 345 int ResetLevelCoolAAA; //39
Kovalev_D 208:19150d2b528f 346 unsigned int a22; //40
Kovalev_D 208:19150d2b528f 347 unsigned int a23; //41
Kovalev_D 208:19150d2b528f 348 unsigned int a24; //42
Kovalev_D 208:19150d2b528f 349 unsigned int a25; //43
Kovalev_D 208:19150d2b528f 350 unsigned int a26; //44
Kovalev_D 208:19150d2b528f 351 unsigned int a27; //45
Kovalev_D 208:19150d2b528f 352 unsigned int a28; //46
Kovalev_D 208:19150d2b528f 353
Kovalev_D 208:19150d2b528f 354 unsigned int Tmp_OffsetT4; //47
Kovalev_D 208:19150d2b528f 355 unsigned int Tmp_OffsetT5; //48
Kovalev_D 208:19150d2b528f 356
Kovalev_D 208:19150d2b528f 357 unsigned int a29; //49
Kovalev_D 211:ac8251b067d2 358 unsigned int a30; //61 0 - Mirror 1 - Prizm.
Kovalev_D 208:19150d2b528f 359 unsigned int a32; //51
Kovalev_D 220:04c54405b82d 360 unsigned int a33; //52
Kovalev_D 208:19150d2b528f 361
Kovalev_D 208:19150d2b528f 362 unsigned int Tmp_scaleT4; //53
Kovalev_D 208:19150d2b528f 363 unsigned int Tmp_scaleT5; //54
Kovalev_D 208:19150d2b528f 364
Kovalev_D 225:f8fee6c586cc 365 unsigned int /*RLH*/ResetLevelHeat; //55
Kovalev_D 208:19150d2b528f 366
Kovalev_D 208:19150d2b528f 367 unsigned int Gain_Sin; //56 коиф усиления синуса.
Kovalev_D 208:19150d2b528f 368 unsigned int Gain_Cos; //57 коиф усиления косинуса.
Kovalev_D 211:ac8251b067d2 369 unsigned int Header_Word; //58 Признак достоверности
Kovalev_D 208:19150d2b528f 370 unsigned int ParamMod; //59
Kovalev_D 208:19150d2b528f 371 unsigned int GLD_Serial; //60 серийный номер прибора
Kovalev_D 208:19150d2b528f 372
Kovalev_D 211:ac8251b067d2 373 unsigned int PLC_Start; //61 0 - Mirror 1 - Prizm.
Kovalev_D 208:19150d2b528f 374
Kovalev_D 211:ac8251b067d2 375 unsigned int TermoMode; //62 серийный номер прибора
Kovalev_D 208:19150d2b528f 376
Kovalev_D 208:19150d2b528f 377 unsigned int a36; //63
Kovalev_D 208:19150d2b528f 378 unsigned int a37; //64
Kovalev_D 208:19150d2b528f 379 unsigned int a38; //65
Kovalev_D 208:19150d2b528f 380 unsigned int a39; //66
Kovalev_D 208:19150d2b528f 381 unsigned int a40; //67
Kovalev_D 208:19150d2b528f 382 unsigned int a41; //68
Kovalev_D 208:19150d2b528f 383 unsigned int a42; //69
Kovalev_D 208:19150d2b528f 384 unsigned int a43; //70
Kovalev_D 208:19150d2b528f 385 unsigned int a44; //71
Kovalev_D 208:19150d2b528f 386 unsigned int a45; //72
Kovalev_D 208:19150d2b528f 387 unsigned int a46; //73
Kovalev_D 208:19150d2b528f 388 unsigned int a47; //74
Kovalev_D 208:19150d2b528f 389 unsigned int a48; //75
Kovalev_D 208:19150d2b528f 390 unsigned int a49; //76
Kovalev_D 208:19150d2b528f 391 unsigned int a50; //77
Kovalev_D 208:19150d2b528f 392 unsigned int a51; //78
Kovalev_D 208:19150d2b528f 393 unsigned int a52; //79
Kovalev_D 208:19150d2b528f 394 unsigned int a53; //80
Kovalev_D 208:19150d2b528f 395 unsigned int a54; //81
Kovalev_D 225:f8fee6c586cc 396 unsigned int a55; //82 должен быть на 31
Kovalev_D 208:19150d2b528f 397 unsigned int a56; //83
Kovalev_D 208:19150d2b528f 398 unsigned int a57; //84
Kovalev_D 208:19150d2b528f 399 unsigned int a58; //85
Kovalev_D 208:19150d2b528f 400 unsigned int a59; //86
Kovalev_D 208:19150d2b528f 401 unsigned int a60; //87
Kovalev_D 208:19150d2b528f 402 unsigned int a61; //88
Kovalev_D 208:19150d2b528f 403 unsigned int a62; //89
Kovalev_D 208:19150d2b528f 404 unsigned int a63; //90
Kovalev_D 208:19150d2b528f 405 unsigned int a64; //91
Kovalev_D 208:19150d2b528f 406 unsigned int a65; //92
Kovalev_D 208:19150d2b528f 407 unsigned int a66; //93
Kovalev_D 208:19150d2b528f 408 unsigned int a67; //94
Kovalev_D 208:19150d2b528f 409 unsigned int a68; //95
Kovalev_D 208:19150d2b528f 410 unsigned int a69; //96
Kovalev_D 208:19150d2b528f 411 unsigned int a70; //97
Kovalev_D 208:19150d2b528f 412 unsigned int a71; //98
Kovalev_D 208:19150d2b528f 413 unsigned int a72; //99
Kovalev_D 208:19150d2b528f 414 unsigned int a73; //100
Kovalev_D 208:19150d2b528f 415 unsigned int a74; //101
Kovalev_D 208:19150d2b528f 416 unsigned int a75; //102
Kovalev_D 208:19150d2b528f 417 unsigned int a76; //103
Kovalev_D 208:19150d2b528f 418 unsigned int a77; //104
Kovalev_D 208:19150d2b528f 419
Kovalev_D 225:f8fee6c586cc 420 unsigned int /*RLC;*/ResetLevelCool; //105 временно должен быть на 39
Kovalev_D 208:19150d2b528f 421
Kovalev_D 208:19150d2b528f 422 unsigned int a79; //106
Kovalev_D 208:19150d2b528f 423 unsigned int a80; //107
Kovalev_D 208:19150d2b528f 424
Kovalev_D 208:19150d2b528f 425 unsigned int a81; //108
Kovalev_D 208:19150d2b528f 426 unsigned int a82; //109
Kovalev_D 208:19150d2b528f 427 unsigned int a83; //110
Kovalev_D 208:19150d2b528f 428 unsigned int a84; //111
Kovalev_D 208:19150d2b528f 429 unsigned int a85; //112
Kovalev_D 208:19150d2b528f 430 unsigned int a86; //113
Kovalev_D 208:19150d2b528f 431 unsigned int a87; //114
Kovalev_D 222:7de7b3bf3a1d 432 unsigned int FlashMod; //115
Kovalev_D 208:19150d2b528f 433 unsigned int a89; //116
Kovalev_D 208:19150d2b528f 434
Kovalev_D 208:19150d2b528f 435 unsigned int TSHeat0; //117
Kovalev_D 208:19150d2b528f 436 unsigned int TSHeat1; //118
Kovalev_D 208:19150d2b528f 437 unsigned int TSHeat2; //119
Kovalev_D 208:19150d2b528f 438 unsigned int TSHeat3; //120
Kovalev_D 208:19150d2b528f 439 unsigned int TSHeat4; //121
Kovalev_D 208:19150d2b528f 440 unsigned int TSHeat5; //122
Kovalev_D 208:19150d2b528f 441 unsigned int TSHeat6; //123
Kovalev_D 208:19150d2b528f 442 unsigned int TSHeat7; //124
Kovalev_D 208:19150d2b528f 443 unsigned int TSHeat8; //125
Kovalev_D 208:19150d2b528f 444 unsigned int TSHeat9; //126
Kovalev_D 208:19150d2b528f 445 unsigned int TSHeat10; //127
Kovalev_D 208:19150d2b528f 446 unsigned int TSHeat11; //128
Kovalev_D 208:19150d2b528f 447 unsigned int TSHeat12; //129
Kovalev_D 208:19150d2b528f 448 unsigned int TSHeat13; //130
Kovalev_D 208:19150d2b528f 449
Kovalev_D 208:19150d2b528f 450 unsigned int TermoDataHeat0; //131
Kovalev_D 208:19150d2b528f 451 unsigned int TermoDataHeat1; //132
Kovalev_D 208:19150d2b528f 452 unsigned int TermoDataHeat2; //133
Kovalev_D 208:19150d2b528f 453 unsigned int TermoDataHeat3; //134
Kovalev_D 208:19150d2b528f 454 unsigned int TermoDataHeat4; //135
Kovalev_D 208:19150d2b528f 455 unsigned int TermoDataHeat5; //136
Kovalev_D 208:19150d2b528f 456 unsigned int TermoDataHeat6; //137
Kovalev_D 208:19150d2b528f 457 unsigned int TermoDataHeat7; //138
Kovalev_D 208:19150d2b528f 458 unsigned int TermoDataHeat8; //139
Kovalev_D 208:19150d2b528f 459 unsigned int TermoDataHeat9; //140
Kovalev_D 208:19150d2b528f 460 unsigned int TermoDataHeat10; //141
Kovalev_D 208:19150d2b528f 461 unsigned int TermoDataHeat11; //142
Kovalev_D 208:19150d2b528f 462 unsigned int TermoDataHeat12; //143
Kovalev_D 208:19150d2b528f 463 unsigned int TermoDataHeat13; //144
Kovalev_D 208:19150d2b528f 464 unsigned int TermoDataHeat14; //145
Kovalev_D 208:19150d2b528f 465 unsigned int TermoDataHeat15; //146
Kovalev_D 208:19150d2b528f 466 unsigned int TermoDataHeat16; //147
Kovalev_D 208:19150d2b528f 467 unsigned int TermoDataHeat17; //148
Kovalev_D 208:19150d2b528f 468 unsigned int TermoDataHeat18; //149
Kovalev_D 208:19150d2b528f 469 unsigned int TermoDataHeat19; //150
Kovalev_D 208:19150d2b528f 470 unsigned int TermoDataHeat20; //151
Kovalev_D 208:19150d2b528f 471 unsigned int TermoDataHeat21; //152
Kovalev_D 208:19150d2b528f 472 unsigned int TermoDataHeat22; //153
Kovalev_D 208:19150d2b528f 473 unsigned int TermoDataHeat23; //154
Kovalev_D 208:19150d2b528f 474 unsigned int TermoDataHeat24; //155
Kovalev_D 208:19150d2b528f 475 unsigned int TermoDataHeat25; //156
Kovalev_D 208:19150d2b528f 476 unsigned int TermoDataHeat26; //157
Kovalev_D 208:19150d2b528f 477 unsigned int TermoDataHeat27; //158
Kovalev_D 208:19150d2b528f 478
Kovalev_D 208:19150d2b528f 479 unsigned int Step; //159
Kovalev_D 208:19150d2b528f 480
Kovalev_D 208:19150d2b528f 481 unsigned int TSCool0; //160
Kovalev_D 208:19150d2b528f 482 unsigned int TSCool1; //161
Kovalev_D 208:19150d2b528f 483 unsigned int TSCool2; //162
Kovalev_D 208:19150d2b528f 484 unsigned int TSCool3; //163
Kovalev_D 208:19150d2b528f 485 unsigned int TSCool4; //164
Kovalev_D 208:19150d2b528f 486 unsigned int TSCool5; //165
Kovalev_D 208:19150d2b528f 487 unsigned int TSCool6; //166
Kovalev_D 208:19150d2b528f 488 unsigned int TSCool7; //167
Kovalev_D 208:19150d2b528f 489 unsigned int TSCool8; //168
Kovalev_D 208:19150d2b528f 490 unsigned int TSCool9; //169
Kovalev_D 208:19150d2b528f 491 unsigned int TSCool10; //170
Kovalev_D 208:19150d2b528f 492 unsigned int TSCool11; //171
Kovalev_D 208:19150d2b528f 493 unsigned int TSCool12; //172
Kovalev_D 208:19150d2b528f 494 unsigned int TSCool13; //173
Kovalev_D 208:19150d2b528f 495
Kovalev_D 208:19150d2b528f 496 unsigned int TermoDataCool0; //174
Kovalev_D 208:19150d2b528f 497 unsigned int TermoDataCool1; //175
Kovalev_D 208:19150d2b528f 498 unsigned int TermoDataCool2; //176
Kovalev_D 208:19150d2b528f 499 unsigned int TermoDataCool3; //177
Kovalev_D 208:19150d2b528f 500 unsigned int TermoDataCool4; //178
Kovalev_D 208:19150d2b528f 501 unsigned int TermoDataCool5; //179
Kovalev_D 208:19150d2b528f 502 unsigned int TermoDataCool6; //180
Kovalev_D 208:19150d2b528f 503 unsigned int TermoDataCool7; //181
Kovalev_D 208:19150d2b528f 504 unsigned int TermoDataCool8; //182
Kovalev_D 208:19150d2b528f 505 unsigned int TermoDataCool9; //183
Kovalev_D 208:19150d2b528f 506 unsigned int TermoDataCool10; //184
Kovalev_D 208:19150d2b528f 507 unsigned int TermoDataCool11; //185
Kovalev_D 208:19150d2b528f 508 unsigned int TermoDataCool12; //186
Kovalev_D 208:19150d2b528f 509 unsigned int TermoDataCool13; //187
Kovalev_D 208:19150d2b528f 510 unsigned int TermoDataCool14; //188
Kovalev_D 208:19150d2b528f 511 unsigned int TermoDataCool15; //189
Kovalev_D 208:19150d2b528f 512 unsigned int TermoDataCool16; //190
Kovalev_D 208:19150d2b528f 513 unsigned int TermoDataCool17; //191
Kovalev_D 208:19150d2b528f 514 unsigned int TermoDataCool18; //192
Kovalev_D 208:19150d2b528f 515 unsigned int TermoDataCool19; //193
Kovalev_D 208:19150d2b528f 516 unsigned int TermoDataCool20; //194
Kovalev_D 208:19150d2b528f 517 unsigned int TermoDataCool21; //195
Kovalev_D 208:19150d2b528f 518 unsigned int TermoDataCool22; //196
Kovalev_D 208:19150d2b528f 519 unsigned int TermoDataCool23; //197
Kovalev_D 208:19150d2b528f 520 unsigned int TermoDataCool24; //198
Kovalev_D 208:19150d2b528f 521 unsigned int TermoDataCool25; //199
Kovalev_D 208:19150d2b528f 522 unsigned int TermoDataCool26; //200
Kovalev_D 208:19150d2b528f 523 unsigned int TermoDataCool27; //201
Kovalev_D 208:19150d2b528f 524
Kovalev_D 208:19150d2b528f 525 /*
Kovalev_D 208:19150d2b528f 526 unsigned int a84; //131
Kovalev_D 208:19150d2b528f 527 unsigned int a85; //132
Kovalev_D 208:19150d2b528f 528 unsigned int a86; //133
Kovalev_D 208:19150d2b528f 529 unsigned int a87; //134
Kovalev_D 208:19150d2b528f 530 unsigned int a88; //135
Kovalev_D 208:19150d2b528f 531 unsigned int a89; //136
Kovalev_D 208:19150d2b528f 532
Kovalev_D 208:19150d2b528f 533
Kovalev_D 208:19150d2b528f 534
Kovalev_D 206:00341a03e05c 535 unsigned int Firmware_Version; //1 версия программы
Kovalev_D 206:00341a03e05c 536 unsigned int DropDelayGLD; //3 задержка для мультидропа (дискрета 100кГц)
Kovalev_D 206:00341a03e05c 537
Kovalev_D 206:00341a03e05c 538 unsigned int Gain_Sin; //7 коиф усиления синуса.
Kovalev_D 206:00341a03e05c 539 unsigned int Gain_Cos; //8 коиф усиления косинуса.
Kovalev_D 206:00341a03e05c 540
Kovalev_D 206:00341a03e05c 541 unsigned int FrqHZ; //9 Частота в Гц.
Kovalev_D 206:00341a03e05c 542 unsigned int FrqHZmin; //10 Мин значение частоты ВП
Kovalev_D 206:00341a03e05c 543 unsigned int FrqHZmax; //11 Мах значение частоты ВП
Kovalev_D 208:19150d2b528f 544
Kovalev_D 206:00341a03e05c 545 unsigned int AmpPer; //13 начальное значение амплитуды
Kovalev_D 208:19150d2b528f 546
Kovalev_D 208:19150d2b528f 547
Kovalev_D 206:00341a03e05c 548 unsigned int AmpPerDel; //16 значение для расчета амплитуды (дельта амплитуды) на сколько будет отличаться в працентах 1 амплитуда от второй при ошумлении, мин знач : AmpPer, мах знач : AmpPer+AmpPerDel; (в процентах)
Kovalev_D 206:00341a03e05c 549 unsigned int AmpPerMin; //17 ограничение минимальной амплитуды ВП
Kovalev_D 206:00341a03e05c 550 unsigned int AmpPerMax; //18 ограничение максимальной амплитуды ВП
Kovalev_D 206:00341a03e05c 551 unsigned int AmpSpeed; //19 коиффициент сорости регулировки амплитуды
Kovalev_D 206:00341a03e05c 552 unsigned int AmpTarget; //20 целевая амплитуда ВП к которой стремится регулировка.
Kovalev_D 206:00341a03e05c 553
Kovalev_D 206:00341a03e05c 554 unsigned int TermoNKU; //21
Kovalev_D 206:00341a03e05c 555
Kovalev_D 208:19150d2b528f 556
Kovalev_D 208:19150d2b528f 557
Kovalev_D 206:00341a03e05c 558
Kovalev_D 208:19150d2b528f 559
Kovalev_D 206:00341a03e05c 560 unsigned int DAC_B; //25
Kovalev_D 208:19150d2b528f 561 unsigned int Try_Discarg;
Kovalev_D 208:19150d2b528f 562 */
Kovalev_D 206:00341a03e05c 563 //unsigned int PLC_Lern; //3 обратный таймер для поиска максимальной амплитуды при работе без модулятора
Kovalev_D 206:00341a03e05c 564 //unsigned int Frq; //6 Непосредственное значение частоты для таймера.
Kovalev_D 206:00341a03e05c 565 } Str;
Kovalev_D 206:00341a03e05c 566 } GyroParam;
Kovalev_D 206:00341a03e05c 567 /*
Kovalev_D 205:775d54fdf646 568 typedef union {
Kovalev_D 205:775d54fdf646 569 int Array[70];
Kovalev_D 205:775d54fdf646 570 struct {
Kovalev_D 205:775d54fdf646 571 unsigned int LogPLC; // 1
Kovalev_D 205:775d54fdf646 572 unsigned int Log; // 2
Kovalev_D 205:775d54fdf646 573
Kovalev_D 205:775d54fdf646 574 unsigned int PLC_Lern; // 3 обратный таймер для поиска максимальной амплитуды при работе без модулятора
Kovalev_D 205:775d54fdf646 575 unsigned int ModAmp; // 4 амплитуда модулятора
Kovalev_D 205:775d54fdf646 576
Kovalev_D 205:775d54fdf646 577 unsigned int FlashMod; // 5 0-ничего не делать, 1 - запись во Flash, 2 чтение из Flash.
Kovalev_D 205:775d54fdf646 578 unsigned int ModeOut; // 6 переменная для выбора варианта вывода параметров типа Rate.
Kovalev_D 205:775d54fdf646 579
Kovalev_D 205:775d54fdf646 580 unsigned int Rate1_Event; // 7 событие 1с для вывода параметров Rate 1
Kovalev_D 205:775d54fdf646 581 unsigned int Reper_Event; // 8 событие для вывода набора параметров типа Rate по меандру.
Kovalev_D 205:775d54fdf646 582 unsigned int Event_500Hz;
Kovalev_D 205:775d54fdf646 583
Kovalev_D 205:775d54fdf646 584 unsigned int RgConA; // 9 регистр управления ГЛД
Kovalev_D 205:775d54fdf646 585 unsigned int RgConB; //10 регистр управления ГЛД
Kovalev_D 129:406995a91322 586
Kovalev_D 205:775d54fdf646 587 unsigned int Gain_Sin; //11 коиф усиления синуса.
Kovalev_D 205:775d54fdf646 588 unsigned int Gain_Cos; //12 коиф усиления косинуса.
Kovalev_D 205:775d54fdf646 589 unsigned int Frq; //13 Непосредственное значение частоты для таймера.
Kovalev_D 205:775d54fdf646 590 unsigned int FrqHZ; //14 Частота в Гц.
Kovalev_D 205:775d54fdf646 591 unsigned int FrqHZmin; //15 Мин значение частоты ВП
Kovalev_D 205:775d54fdf646 592 unsigned int FrqHZmax; //16 Мах значение частоты ВП
Kovalev_D 205:775d54fdf646 593 unsigned int FrqChengSpeed; //17 скорость регулировки частоты ВП
Kovalev_D 205:775d54fdf646 594
Kovalev_D 205:775d54fdf646 595 unsigned int VibroFrqRegulF; //18 флаг регулировки частоты ВП
Kovalev_D 205:775d54fdf646 596 unsigned int VibroAMPRegulF; //19 флаг регулировки амплитуды ВП
Kovalev_D 205:775d54fdf646 597 unsigned int VibroNoiseF; //20 флаг ошумления амплитуды ВП
Kovalev_D 205:775d54fdf646 598 unsigned int VibroOutF; //21 флаг изменения состояния ножек вибро.
Kovalev_D 205:775d54fdf646 599
Kovalev_D 205:775d54fdf646 600
Kovalev_D 205:775d54fdf646 601 unsigned int Amp; //22 значение амплитуды вибропривода в попугаях (Gyro.Amp = (0%--100%) << 16)
Kovalev_D 205:775d54fdf646 602 unsigned int AmpPer; //23 Амплитуда в процентах Gyro.AmpPer = Gyro.Amp>>16 ;
Kovalev_D 205:775d54fdf646 603 unsigned int AmpT; //24 значение тиков после которых происходит смена амплитуды ошумления ( rand() % Gyro.AmpTD+Gyro.AmpMin)(частота ошумления)
Kovalev_D 205:775d54fdf646 604 unsigned int AmpMin; //25 минимальное значение AmpT(частота ошумления);
Kovalev_D 205:775d54fdf646 605 unsigned int AmpTD; //26 диапозон частоты ошумления(частота ошумления);
Kovalev_D 205:775d54fdf646 606
Kovalev_D 205:775d54fdf646 607 unsigned int AmpPerMin; //27 ограничение минимальной амплитуды ВП
Kovalev_D 205:775d54fdf646 608 unsigned int AmpPerMax; //28 ограничение максимальной амплитуды ВП
Kovalev_D 205:775d54fdf646 609 unsigned int AmpSpeed; //29 коиффициент сорости регулировки амплитуды
Kovalev_D 205:775d54fdf646 610 unsigned int AmpTarget; //30 целевая амплитуда ВП к которой стремится регулировка.
Kovalev_D 205:775d54fdf646 611 unsigned int AmpPerDel; //31 значение для расчета амплитуды (дельта амплитуды) на сколько будет отличаться в працентах 1 амплитуда от второй при ошумлении, мин знач : AmpPer, мах знач : AmpPer+AmpPerDel; (в процентах)
Kovalev_D 205:775d54fdf646 612 unsigned int AmpN1; //32 левая граница импулься ВП
Kovalev_D 205:775d54fdf646 613 unsigned int AmpN2; //33 правая граница импулься ВП
Kovalev_D 205:775d54fdf646 614 unsigned int F_ras; //34 частота расщипления (не расчитывается)
Kovalev_D 205:775d54fdf646 615 int MaxAmp; //35 амплитуда Пик-Пик расчтитанная по востановленному синусу.
Kovalev_D 205:775d54fdf646 616
Kovalev_D 205:775d54fdf646 617 //ЭНКОДЕР
Kovalev_D 205:775d54fdf646 618 int CaunPlus; //36 счетчик +
Kovalev_D 205:775d54fdf646 619 int CaunMin; //37 счетчик -
Kovalev_D 205:775d54fdf646 620
Kovalev_D 205:775d54fdf646 621 // данные АЦП
Kovalev_D 205:775d54fdf646 622 unsigned int TermoNKU; //38
Kovalev_D 205:775d54fdf646 623 unsigned int Termo; //39 значение АЦП
Kovalev_D 205:775d54fdf646 624 unsigned int DeltaT; //40
Kovalev_D 205:775d54fdf646 625 unsigned int In1; //41
Kovalev_D 205:775d54fdf646 626 unsigned int In2; //42
Kovalev_D 205:775d54fdf646 627
Kovalev_D 205:775d54fdf646 628 //пятый ацп, он же амплитудный детектор "AD". есть два фильтра быстрый "Fast" и медленный "Slow"
Kovalev_D 205:775d54fdf646 629 unsigned int ADF_Accum; //43 Значенее амплитудного детектора Временное
Kovalev_D 205:775d54fdf646 630 unsigned int ADS_Accum; //44 Значенее амплитудного детектора Временное
Kovalev_D 205:775d54fdf646 631 unsigned int ADS_AccumTermLM; //45
Kovalev_D 205:775d54fdf646 632 unsigned int TermLM; //46
Kovalev_D 205:775d54fdf646 633 unsigned int ADF_Count; //47 Значенее времени накопления данных
Kovalev_D 205:775d54fdf646 634 unsigned int ADS_Count; //48 Значенее времени накопления данных
Kovalev_D 205:775d54fdf646 635 unsigned int AD_Fast; //49 Значенее амплитудного детектора сдвинутое на 16 бит
Kovalev_D 205:775d54fdf646 636 unsigned int AD_Slow; //50 Значенее амплитудного детектора сдвинутое на 16 бит
Kovalev_D 205:775d54fdf646 637 unsigned int ADF_NewData; //51 есть данные после фильтрации в быстром фильтре
Kovalev_D 205:775d54fdf646 638 unsigned int ADS_NewData; //52 -----------/----------/----------/--------
Kovalev_D 205:775d54fdf646 639
Kovalev_D 205:775d54fdf646 640 int PLC_Error2Mode; //53 счетчик, не ноль когдав двух модовом регулировка без модулятора(для просмотра мод)
Kovalev_D 205:775d54fdf646 641
Kovalev_D 205:775d54fdf646 642 unsigned int CMD_In; //54 входящая команда
Kovalev_D 205:775d54fdf646 643 unsigned int SOC_Out; //55
Kovalev_D 205:775d54fdf646 644 unsigned int My_Addres; //56 адрес прибора
Kovalev_D 205:775d54fdf646 645 unsigned int DropDelayGLD; //57 задержка для мультидропа (дискрета 100кГц)
Kovalev_D 205:775d54fdf646 646
Kovalev_D 205:775d54fdf646 647 unsigned int GLD_Serial; //58 серийный номер прибора
Kovalev_D 205:775d54fdf646 648 unsigned int CRC; //59 контрольная сумма посылки
Kovalev_D 205:775d54fdf646 649 unsigned int Firmware_Version; //60 версия программы
Kovalev_D 205:775d54fdf646 650 unsigned int RsErrLine; //61 регистр ошибок передачи.
Kovalev_D 205:775d54fdf646 651
Kovalev_D 205:775d54fdf646 652 int CuruAngle; //62 текущеий угол.
Kovalev_D 205:775d54fdf646 653 int OldCuruAngle; //63 старый угол
Kovalev_D 205:775d54fdf646 654 int Cnt_Dif; //64 приращение угла между прошлым и текушим приращением за тик виброподвеса (32 тика)
Kovalev_D 205:775d54fdf646 655
Kovalev_D 205:775d54fdf646 656 unsigned int PinReg; //65 bit4 bit3 bit 2 bit1 bit0
Kovalev_D 205:775d54fdf646 657 unsigned int PinRegOld; //66 || светодиод || состояние поджига || состояние подсветки || состояние вибро 2 || состояние вибро 1 ||
Kovalev_D 205:775d54fdf646 658
Kovalev_D 205:775d54fdf646 659 unsigned int Discharg; //67 последовательность бит харрактеризующая форму сигнала поджига.
Kovalev_D 205:775d54fdf646 660 unsigned int BackLight; //68 последовательность бит харрактеризующая форму сигнала подсветки.
Kovalev_D 205:775d54fdf646 661
Kovalev_D 205:775d54fdf646 662 unsigned int EXT_Latch; //69
Kovalev_D 205:775d54fdf646 663
Kovalev_D 205:775d54fdf646 664 unsigned int wall; //70
Kovalev_D 206:00341a03e05c 665 unsigned int ParamMod ; //71
Kovalev_D 205:775d54fdf646 666 } Str;
Kovalev_D 206:00341a03e05c 667 } GyroParam; */
Kovalev_D 129:406995a91322 668 extern GyroParam GyroP;
Kovalev_D 28:1c9acd3b224d 669
Kovalev_D 191:40028201ddad 670 extern void AllRegul (void);
Kovalev_D 107:4d178bcc9d8a 671 extern unsigned int amp;
Kovalev_D 122:fbacb932a30b 672 extern int Rate2VibFlag;
igor_v 0:8ad47e2b6f00 673 extern void cheng(void);
Kovalev_D 192:d32c8cf7bcd9 674
igor_v 0:8ad47e2b6f00 675 extern void VibroOut(void);
Kovalev_D 190:289514f730ee 676
Kovalev_D 150:29c9f7671bac 677 extern void VibroAMPRegul(void);
Kovalev_D 150:29c9f7671bac 678 extern void VibroFrqRegul(void);
Kovalev_D 98:95b8e79f13e1 679 extern unsigned int FrecTp;
Kovalev_D 98:95b8e79f13e1 680 extern int Pulse_midl;
igor_v 0:8ad47e2b6f00 681 extern struct VIBRO Vib;
igor_v 0:8ad47e2b6f00 682 extern int PulseHalf;
igor_v 30:17c84ed091b3 683 extern int CuruAngle;
igor_v 0:8ad47e2b6f00 684 extern unsigned int FrecTemp;
igor_v 0:8ad47e2b6f00 685 #endif
igor_v 0:8ad47e2b6f00 686