Dmitry Kovalev
/
LG2
fork
Fork of LG by
Embed:
(wiki syntax)
Show/hide line numbers
vibro.h
00001 #ifndef VIBRO_H 00002 #define VIBRO_H 00003 00004 #define ClrV1 LPC_GPIO1->FIOSET=(1<<25); 00005 #define SetV1 LPC_GPIO1->FIOCLR = (1<<25); 00006 00007 #define TXOn LPC_GPIO2->FIOSET=(1<<7); 00008 #define TXOff LPC_GPIO2->FIOCLR = (1<<7); 00009 00010 #define ClrV2 LPC_GPIO1->FIOSET = (1<<28); 00011 #define SetV2 LPC_GPIO1->FIOCLR = (1<<28); 00012 00013 #define LoopOn LPC_GPIO1->FIOSET = (1<<30); 00014 #define LoopOff LPC_GPIO1->FIOCLR = (1<<30); 00015 #define StartV1 0 00016 #define StartV2 15 00017 #define TIME_INTERVAL (7812) 00018 00019 00020 #define Rate1 0x01 00021 #define Rate2 0x02 00022 #define Rate3 0x3 00023 #define Rate7 0x7 00024 00025 #define PRate1 0x81 00026 #define PRate2 0x82 00027 #define PRate3 0x83 00028 #define PRate7 0x87 00029 00030 00031 //////////////////////////////////////////////////////// 00032 ////Дефайны для декодирования запроса параметров Rate/// 00033 //////////////////////////////////////////////////////// 00034 #define Delta_500 0x20 00035 #define PDelta_500 0x90 00036 #define Delta_EXT 0x0 00037 #define PDelta_EXT 0x10 00038 #define Delta_Bins 0x0 00039 #define PDelta_Bins 0x1 00040 00041 00042 #define PB_Delta_EXT 0x9 00043 #define B_Delta_EXT 0x1 00044 #define PB_Delta_INT 0x8 00045 #define B_Delta_INT 0x0 00046 /////////////////////////////////////////////////////////// 00047 00048 #define FrqOFF Gyro.RgConA &= ~AFRQ; //установить контур регулировки частоты в "0" 00049 #define FrqON Gyro.RgConA |= AFRQ; //установить контур регулировки частоты в "1" 00050 00051 00052 #define AVibOFF Gyro.RgConA &= ~AVBT; //установить контур регулировки частоты в "0" 00053 #define AVibON Gyro.RgConA |= AVBT; //установить контур регулировки частоты в "1" 00054 00055 #define HFOOFF Gyro.RgConA &= ~AHFO; //установить контур накачки в "0" 00056 #define HFOON Gyro.RgConA |= AHFO; //установить контур накачки в "1" 00057 00058 #define PlcOFF Gyro.RgConA &= ~APLC; //установить контур регулировки периметра в "0" 00059 #define PlcON Gyro.RgConA |= APLC; //установить контур регулировки периметра в "1" 00060 00061 #define AFRQ (1<<6) 00062 #define AVBT (1<<5) 00063 #define MPLC (1<<4) 00064 #define APLC (1<<3) 00065 #define AHFO (1<<1) 00066 00067 00068 #define LedOFF Gyro.PinReg &= ~PinRegBitLED; //установить бит светодиода в "0" 00069 #define LedON Gyro.PinReg |= PinRegBitLED; //установить бит светодиода в "1" 00070 00071 #define StartBackLight 0xf 00072 #define StartDischarg 0xc 00073 00074 #define PinRegBitTXE (1<<5) 00075 #define PinRegBitLED (1<<4) 00076 #define PinRegBitD (1<<3) 00077 #define PinRegBitL (1<<2) 00078 #define PinRegBit_2V (1<<1) 00079 #define PinRegBit_1V (1<<0) 00080 00081 #define ShiftStart0 0x0 00082 #define ShiftStart1 0x1 00083 #define ShiftStart2 0x2 00084 #define ShiftStart3 0x3 00085 00086 #define DropDelayGLD_0 100 00087 #define DropDelayGLD_1 100 00088 #define DropDelayGLD_2 100 00089 #define DropDelayGLD_3 100 00090 00091 00092 extern int tempAMP; 00093 00094 //int qei; 00095 //int QEIznak1,QEIznak2; 00096 //unsigned int StrayHZ; //помеха 00097 //unsigned int StrayHZ_flag; 00098 //int flag; 00099 //unsigned int StrayPLC_Pls; //помеха + 00100 //int StrayPLC_Mns; //помеха - 00101 //unsigned int StrayPLC_2Mode; 00102 //unsigned int StrayPLC_flag; 00103 //unsigned int ModJump; 00104 //unsigned int TimJump; 00105 //unsigned int flagGph_W; 00106 //unsigned int Test_time; 00107 //unsigned int Test_time1; 00108 //unsigned int Rate1_Flag; 00109 //unsigned int Rate2_Flag; 00110 //int AmpSC;//переменная для других ошумлений 00111 //unsigned int Delta500_Event; 00112 //unsigned int Delta_Bins_Event500; 00113 //unsigned int B_Delta_Event500; 00114 //float Ktermo; 00115 //unsigned int EventMOD; 00116 //контур регулеровки Периметра "PLC" - без модулятора 00117 //int PLC_Delta; // разница между старым и новым показаниями 00118 //int PLC_DeltaADD; // разница между старым и новым показаниями с учетом знака управляешего напряжения АЦП 00119 //int PLC_Old; 00120 //int PLC_ADC_DOld; 00121 //int PlC_MaxD; // разница между максимальной и текущей амплитудами. 00122 //int PLC_Regul; 00123 //int Num; 00124 //int StopCuruAngle; 00125 //unsigned int DeltaEXT_Event; // вывод параметров типа Rate по внешней защелке. 00126 //unsigned int B_Delta_EventEXT;// вывод параметров типа Rate по внешней защелке.(надо чтоб от одного влага было, как Event_500Hz) 00127 00128 typedef struct _Gyro { 00129 00130 int Debag; 00131 int Debag2; 00132 unsigned int UARTFlag; 00133 unsigned int PLC_Start; 00134 unsigned int LG_Type; 00135 unsigned int LogPLC; // 1 00136 unsigned int Log; 00137 unsigned int LogMod; // 2 00138 unsigned int PLC_Phase; 00139 unsigned int PLC_Gain; 00140 unsigned int PLC_Lern; // 3 обратный таймер для поиска максимальной амплитуды при работе без модулятора 00141 int PLC_Eror; 00142 int PLC_Eror_Rate; 00143 int PLC_Eror_count; 00144 int PLC_regul; 00145 unsigned int ModAmp; // 4 амплитуда модулятора 00146 00147 unsigned int FlashMod; // 5 0-ничего не делать, 1 - запись во Flash, 2 чтение из Flash. 00148 unsigned int ModeOut; // 6 переменная для выбора варианта вывода параметров типа Rate. 00149 00150 unsigned int Rate1_Event; // 7 событие 1с для вывода параметров Rate 1 00151 unsigned int Rate3_Event; 00152 unsigned int Reper_Event; // 8 событие для вывода набора параметров типа Rate по меандру. 00153 unsigned int Event_500Hz; 00154 unsigned int EvenRate7; 00155 00156 00157 int DAC_current_Work; //3 00158 int DAC_current_Start; //4 стартовый ток накачки? 00159 int HFO_ref; 00160 int HFO_Min; 00161 int HFO_Max; 00162 unsigned int HFO_Gain; 00163 unsigned int RgConA; // 9 регистр управления ГЛД 00164 unsigned int RgConB; //10 регистр управления ГЛД 00165 unsigned int RgConMod; 00166 00167 unsigned int Gain_Sin; //11 коиф усиления синуса. 00168 unsigned int Gain_Cos; //12 коиф усиления косинуса. 00169 unsigned int FrqPhase; 00170 unsigned int FrqPhaseEror; 00171 unsigned int Frq; //13 Непосредственное значение частоты для таймера. 00172 unsigned int FrqHZ; //14 Частота в Гц. 00173 unsigned int FrqHZmin; //15 Мин значение частоты ВП 00174 unsigned int FrqHZmax; //16 Мах значение частоты ВП 00175 unsigned int FrqChengSpeed; //17 скорость регулировки частоты ВП 00176 unsigned int L_vibro; 00177 00178 unsigned int VibroFrqRegulF; //18 флаг регулировки частоты ВП 00179 unsigned int VibroAMPRegulF; //19 флаг регулировки амплитуды ВП 00180 unsigned int VibroNoiseF; //20 флаг ошумления амплитуды ВП 00181 unsigned int VibroOutF; //21 флаг изменения состояния ножек вибро. 00182 unsigned int LowVibroFlag; 00183 unsigned int ClrVFlag; 00184 00185 unsigned int Amp; //22 значение амплитуды вибропривода в попугаях (Gyro.Amp = (0%--100%) << 16) 00186 unsigned int AmpPer; //23 Амплитуда в процентах Gyro.AmpPer = Gyro.Amp>>16 ; 00187 unsigned int AmpT; //24 значение тиков после которых происходит смена амплитуды ошумления ( rand() % Gyro.AmpTD+Gyro.AmpMin)(частота ошумления) 00188 unsigned int AmpMin; //25 минимальное значение AmpT(частота ошумления); 00189 unsigned int AmpTD; //26 диапозон частоты ошумления(частота ошумления); 00190 00191 unsigned int AmpPerMin; //27 ограничение минимальной амплитуды ВП 00192 unsigned int AmpPerMax; //28 ограничение максимальной амплитуды ВП 00193 unsigned int AmpSpeed; //29 коиффициент сорости регулировки амплитуды 00194 unsigned int AmpTarget; //30 целевая амплитуда ВП к которой стремится регулировка. 00195 unsigned int AmpPerDel; //31 значение для расчета амплитуды (дельта амплитуды) на сколько будет отличаться в працентах 1 амплитуда от второй при ошумлении, мин знач : AmpPer, мах знач : AmpPer+AmpPerDel; (в процентах) 00196 unsigned int AmpN1; //32 левая граница импулься ВП 00197 unsigned int AmpN2; //33 правая граница импулься ВП 00198 unsigned int F_ras; //34 частота расщипления 00199 unsigned int F_rasAdd; 00200 int MaxAmp; //35 амплитуда Пик-Пик расчтитанная по востановленному синусу. 00201 00202 //ЭНКОДЕР 00203 int CaunPlus; //36 счетчик + 00204 int CaunMin; 00205 //37 счетчик - 00206 int CaunPlusRateAdd; //36 счетчик + 00207 int CaunMinRateAdd; 00208 int CaunPlusRate; //36 счетчик + 00209 int CaunMinRate; 00210 00211 int CaunPlusReperAdd; //36 счетчик + 00212 int CaunMinReperAdd; 00213 int CaunPlusReper; //36 счетчик + 00214 int CaunMinReper; 00215 // данные АЦП 00216 unsigned int TermoNKU; //38 00217 unsigned int Termo; //39 значение АЦП 00218 unsigned int DeltaT; //40 00219 int In1; //41 00220 int In2; //42 00221 int Tmp_OffsetT4; //47 00222 int Tmp_OffsetT5; 00223 float Tmp_scaleT4; //53 00224 float Tmp_scaleT5; //54 00225 00226 unsigned int ADF_Accum; //43 Значенее амплитудного детектора Временное 00227 unsigned int ADS_Accum; 00228 unsigned int IN1_Accum; 00229 unsigned int IN2_Accum; 00230 unsigned int DacIn; //44 Значенее амплитудного детектора Временное 00231 unsigned int ADS_AccumTermLM; //45 00232 unsigned int TermLM; //46 00233 unsigned int ADF_Count; 00234 unsigned int ADM_Count; //47 Значенее времени накопления данных 00235 unsigned int ADS_Count; //48 Значенее времени накопления данных 00236 unsigned int AD_Fast; //49 Значенее амплитудного детектора сдвинутое на 16 бит 00237 unsigned int AD_Slow; //50 Значенее амплитудного детектора сдвинутое на 16 бит 00238 unsigned int ADF_NewData; //51 есть данные после фильтрации в быстром фильтре 00239 unsigned int ADS_NewData; //52 -----------/----------/----------/-------- 00240 00241 00242 int DownTreshold; //27 00243 int HighTreshold; 00244 int PLCDelay; 00245 int ResetLevelCool; //105 00246 int ResetLevelHeat; 00247 00248 00249 int PLC_Error2Mode; //53 счетчик, не ноль когдав двух модовом регулировка без модулятора(для просмотра мод) 00250 00251 unsigned int CMD_In; //54 входящая команда 00252 unsigned int SOC_Out; //55 00253 unsigned int My_Addres; //56 адрес прибора 00254 unsigned int DropDelayGLD; //57 задержка для мультидропа (дискрета 100кГц) 00255 00256 unsigned int GLD_Serial; //58 серийный номер прибора 00257 unsigned int CRC; //59 контрольная сумма посылки 00258 unsigned int Firmware_Version; //60 версия программы 00259 unsigned int RsErrLine; //61 регистр ошибок передачи. 00260 00261 int CuruAngle; 00262 int CuruAngle32; //62 текущеий угол. 00263 int CuruAngle64; 00264 int CuruAngle96; 00265 int CuruAngle128; 00266 int OldCuruAngle; //63 старый угол 00267 int CuruAngleLog; 00268 int Cnt_Dif; //64 приращение угла между прошлым и текушим приращением за тик виброподвеса (32 тика) 00269 00270 unsigned int PinReg; //65 bit4 bit3 bit 2 bit1 bit0 00271 unsigned int PinRegOld; //66 || светодиод || состояние поджига || состояние подсветки || состояние вибро 2 || состояние вибро 1 || 00272 00273 unsigned int Discharg; //67 последовательность бит харрактеризующая форму сигнала поджига. 00274 unsigned int BackLight; //68 последовательность бит харрактеризующая форму сигнала подсветки. 00275 unsigned int LaserOn; 00276 unsigned int EXT_Latch; //69 00277 } GyroT, *Gyro_p; 00278 extern GyroT Gyro; 00279 00280 typedef union { 00281 int Array[248]; 00282 struct { 00283 unsigned int My_Addres; //0 адрес прибора 00284 unsigned int HFO_ref; //1 00285 unsigned int HFO_Gain; //2 00286 unsigned int DAC_current_Work; //3 HFO_MIN 00287 unsigned int DAC_current_Start; //4 HFO_MAX 00288 00289 unsigned int FlashMod; //5 00290 unsigned int a4; //6 00291 00292 unsigned int PLC_Phase; //7 00293 unsigned int PLC_Gain; //8 00294 00295 unsigned int PLCDelay; //9 00296 00297 00298 int DownTreshold; //10 00299 int HighTreshold; //11 00300 00301 00302 unsigned int FrqPhase; //12 фаза 00303 unsigned int FrqChengSpeed; //13 скорость регулировки частоты ВП 00304 unsigned int FrqHZ; //14 00305 unsigned int FrqHZmin; //15 00306 unsigned int FrqHZmax; //16 00307 unsigned int VB_Fdf_Hi; //17 00308 unsigned int VB_Fdf_Lo; //18 00309 unsigned int AmpSpeed; //19 00310 unsigned int AmpPerMin; //20 00311 unsigned int AmpPerMax; //21 00312 unsigned int AmpPer; //22 00313 unsigned int AmpMin; //23 минимальное значение AmpT(частота ошумления); 00314 unsigned int AmpTD; //24 диапозон частоты ошумления(частота ошумления); 00315 unsigned int AmpPerDel; //25 амплитуда ошумления 00316 unsigned int a9; //26 00317 int a10; //27 00318 int a11; //28 00319 unsigned int a12; //29 00320 unsigned int LG_Type; //30 00321 int ResetLevelHeat; //31 00322 unsigned int a15; //32 00323 unsigned int a16; //33 00324 unsigned int ModAmp; //34 амплитуда модулятора 00325 00326 unsigned int a17; //35 00327 unsigned int a18; //36 00328 unsigned int a19; //37 00329 unsigned int a20; //38 00330 int ResetLevelCool; //39 00331 unsigned int a22; //40 00332 unsigned int a23; //41 00333 unsigned int a24; //42 00334 unsigned int a25; //43 00335 unsigned int a26; //44 00336 unsigned int a27; //45 00337 unsigned int a28; //46 00338 00339 unsigned int Tmp_OffsetT4; //47 00340 unsigned int Tmp_OffsetT5; //48 00341 00342 unsigned int a29; //49 00343 unsigned int a30; //61 0 - Mirror 1 - Prizm. 00344 unsigned int a32; //51 00345 unsigned int a33; //52 00346 00347 unsigned int Tmp_scaleT4; //53 00348 unsigned int Tmp_scaleT5; //54 00349 00350 int RLH; //55 00351 00352 unsigned int Gain_Sin; //56 коиф усиления синуса. 00353 unsigned int Gain_Cos; //57 коиф усиления косинуса. 00354 unsigned int Header_Word; //58 Признак достоверности 00355 unsigned int ParamMod; //59 00356 unsigned int GLD_Serial; //60 серийный номер прибора 00357 00358 unsigned int PLC_Start; //61 0 - Mirror 1 - Prizm. 00359 00360 unsigned int TermoMode; //62 серийный номер прибора 00361 00362 unsigned int a36; //63 00363 unsigned int a37; //64 00364 unsigned int a38; //65 00365 unsigned int a39; //66 00366 unsigned int a40; //67 00367 unsigned int a41; //68 00368 unsigned int a42; //69 00369 unsigned int a43; //70 00370 unsigned int a44; //71 00371 unsigned int a45; //72 00372 unsigned int a46; //73 00373 unsigned int a47; //74 00374 unsigned int a48; //75 00375 unsigned int a49; //76 00376 unsigned int a50; //77 00377 unsigned int a51; //78 00378 unsigned int a52; //79 00379 unsigned int a53; //80 00380 unsigned int a54; //81 00381 int a55; //82 00382 unsigned int a56; //83 00383 unsigned int a57; //84 00384 unsigned int a58; //85 00385 unsigned int a59; //86 00386 unsigned int a60; //87 00387 unsigned int a61; //88 00388 unsigned int a62; //89 00389 unsigned int a63; //90 00390 unsigned int a64; //91 00391 unsigned int a65; //92 00392 unsigned int a66; //93 00393 unsigned int a67; //94 00394 unsigned int a68; //95 00395 unsigned int a69; //96 00396 unsigned int a70; //97 00397 unsigned int a71; //98 00398 unsigned int a72; //99 00399 unsigned int a73; //100 00400 unsigned int a74; //101 00401 unsigned int a75; //102 00402 unsigned int a76; //103 00403 unsigned int a77; //104 00404 00405 int RLC; //105 00406 00407 unsigned int a79; //106 00408 unsigned int a80; //107 00409 00410 unsigned int a81; //108 00411 unsigned int a82; //109 00412 unsigned int a83; //110 00413 unsigned int a84; //111 00414 unsigned int a85; //112 00415 unsigned int a86; //113 00416 unsigned int a87; //114 00417 unsigned int a88; //115 00418 unsigned int a89; //116 00419 00420 unsigned int TSHeat0; //117 00421 unsigned int TSHeat1; //118 00422 unsigned int TSHeat2; //119 00423 unsigned int TSHeat3; //120 00424 unsigned int TSHeat4; //121 00425 unsigned int TSHeat5; //122 00426 unsigned int TSHeat6; //123 00427 unsigned int TSHeat7; //124 00428 unsigned int TSHeat8; //125 00429 unsigned int TSHeat9; //126 00430 unsigned int TSHeat10; //127 00431 unsigned int TSHeat11; //128 00432 unsigned int TSHeat12; //129 00433 unsigned int TSHeat13; //130 00434 00435 unsigned int TermoDataHeat0; //131 00436 unsigned int TermoDataHeat1; //132 00437 unsigned int TermoDataHeat2; //133 00438 unsigned int TermoDataHeat3; //134 00439 unsigned int TermoDataHeat4; //135 00440 unsigned int TermoDataHeat5; //136 00441 unsigned int TermoDataHeat6; //137 00442 unsigned int TermoDataHeat7; //138 00443 unsigned int TermoDataHeat8; //139 00444 unsigned int TermoDataHeat9; //140 00445 unsigned int TermoDataHeat10; //141 00446 unsigned int TermoDataHeat11; //142 00447 unsigned int TermoDataHeat12; //143 00448 unsigned int TermoDataHeat13; //144 00449 unsigned int TermoDataHeat14; //145 00450 unsigned int TermoDataHeat15; //146 00451 unsigned int TermoDataHeat16; //147 00452 unsigned int TermoDataHeat17; //148 00453 unsigned int TermoDataHeat18; //149 00454 unsigned int TermoDataHeat19; //150 00455 unsigned int TermoDataHeat20; //151 00456 unsigned int TermoDataHeat21; //152 00457 unsigned int TermoDataHeat22; //153 00458 unsigned int TermoDataHeat23; //154 00459 unsigned int TermoDataHeat24; //155 00460 unsigned int TermoDataHeat25; //156 00461 unsigned int TermoDataHeat26; //157 00462 unsigned int TermoDataHeat27; //158 00463 00464 unsigned int Step; //159 00465 00466 unsigned int TSCool0; //160 00467 unsigned int TSCool1; //161 00468 unsigned int TSCool2; //162 00469 unsigned int TSCool3; //163 00470 unsigned int TSCool4; //164 00471 unsigned int TSCool5; //165 00472 unsigned int TSCool6; //166 00473 unsigned int TSCool7; //167 00474 unsigned int TSCool8; //168 00475 unsigned int TSCool9; //169 00476 unsigned int TSCool10; //170 00477 unsigned int TSCool11; //171 00478 unsigned int TSCool12; //172 00479 unsigned int TSCool13; //173 00480 00481 unsigned int TermoDataCool0; //174 00482 unsigned int TermoDataCool1; //175 00483 unsigned int TermoDataCool2; //176 00484 unsigned int TermoDataCool3; //177 00485 unsigned int TermoDataCool4; //178 00486 unsigned int TermoDataCool5; //179 00487 unsigned int TermoDataCool6; //180 00488 unsigned int TermoDataCool7; //181 00489 unsigned int TermoDataCool8; //182 00490 unsigned int TermoDataCool9; //183 00491 unsigned int TermoDataCool10; //184 00492 unsigned int TermoDataCool11; //185 00493 unsigned int TermoDataCool12; //186 00494 unsigned int TermoDataCool13; //187 00495 unsigned int TermoDataCool14; //188 00496 unsigned int TermoDataCool15; //189 00497 unsigned int TermoDataCool16; //190 00498 unsigned int TermoDataCool17; //191 00499 unsigned int TermoDataCool18; //192 00500 unsigned int TermoDataCool19; //193 00501 unsigned int TermoDataCool20; //194 00502 unsigned int TermoDataCool21; //195 00503 unsigned int TermoDataCool22; //196 00504 unsigned int TermoDataCool23; //197 00505 unsigned int TermoDataCool24; //198 00506 unsigned int TermoDataCool25; //199 00507 unsigned int TermoDataCool26; //200 00508 unsigned int TermoDataCool27; //201 00509 00510 /* 00511 unsigned int a84; //131 00512 unsigned int a85; //132 00513 unsigned int a86; //133 00514 unsigned int a87; //134 00515 unsigned int a88; //135 00516 unsigned int a89; //136 00517 00518 00519 00520 unsigned int Firmware_Version; //1 версия программы 00521 unsigned int DropDelayGLD; //3 задержка для мультидропа (дискрета 100кГц) 00522 00523 unsigned int Gain_Sin; //7 коиф усиления синуса. 00524 unsigned int Gain_Cos; //8 коиф усиления косинуса. 00525 00526 unsigned int FrqHZ; //9 Частота в Гц. 00527 unsigned int FrqHZmin; //10 Мин значение частоты ВП 00528 unsigned int FrqHZmax; //11 Мах значение частоты ВП 00529 00530 unsigned int AmpPer; //13 начальное значение амплитуды 00531 00532 00533 unsigned int AmpPerDel; //16 значение для расчета амплитуды (дельта амплитуды) на сколько будет отличаться в працентах 1 амплитуда от второй при ошумлении, мин знач : AmpPer, мах знач : AmpPer+AmpPerDel; (в процентах) 00534 unsigned int AmpPerMin; //17 ограничение минимальной амплитуды ВП 00535 unsigned int AmpPerMax; //18 ограничение максимальной амплитуды ВП 00536 unsigned int AmpSpeed; //19 коиффициент сорости регулировки амплитуды 00537 unsigned int AmpTarget; //20 целевая амплитуда ВП к которой стремится регулировка. 00538 00539 unsigned int TermoNKU; //21 00540 00541 00542 00543 00544 00545 unsigned int DAC_B; //25 00546 unsigned int Try_Discarg; 00547 */ 00548 //unsigned int PLC_Lern; //3 обратный таймер для поиска максимальной амплитуды при работе без модулятора 00549 //unsigned int Frq; //6 Непосредственное значение частоты для таймера. 00550 } Str; 00551 } GyroParam; 00552 /* 00553 typedef union { 00554 int Array[70]; 00555 struct { 00556 unsigned int LogPLC; // 1 00557 unsigned int Log; // 2 00558 00559 unsigned int PLC_Lern; // 3 обратный таймер для поиска максимальной амплитуды при работе без модулятора 00560 unsigned int ModAmp; // 4 амплитуда модулятора 00561 00562 unsigned int FlashMod; // 5 0-ничего не делать, 1 - запись во Flash, 2 чтение из Flash. 00563 unsigned int ModeOut; // 6 переменная для выбора варианта вывода параметров типа Rate. 00564 00565 unsigned int Rate1_Event; // 7 событие 1с для вывода параметров Rate 1 00566 unsigned int Reper_Event; // 8 событие для вывода набора параметров типа Rate по меандру. 00567 unsigned int Event_500Hz; 00568 00569 unsigned int RgConA; // 9 регистр управления ГЛД 00570 unsigned int RgConB; //10 регистр управления ГЛД 00571 00572 unsigned int Gain_Sin; //11 коиф усиления синуса. 00573 unsigned int Gain_Cos; //12 коиф усиления косинуса. 00574 unsigned int Frq; //13 Непосредственное значение частоты для таймера. 00575 unsigned int FrqHZ; //14 Частота в Гц. 00576 unsigned int FrqHZmin; //15 Мин значение частоты ВП 00577 unsigned int FrqHZmax; //16 Мах значение частоты ВП 00578 unsigned int FrqChengSpeed; //17 скорость регулировки частоты ВП 00579 00580 unsigned int VibroFrqRegulF; //18 флаг регулировки частоты ВП 00581 unsigned int VibroAMPRegulF; //19 флаг регулировки амплитуды ВП 00582 unsigned int VibroNoiseF; //20 флаг ошумления амплитуды ВП 00583 unsigned int VibroOutF; //21 флаг изменения состояния ножек вибро. 00584 00585 00586 unsigned int Amp; //22 значение амплитуды вибропривода в попугаях (Gyro.Amp = (0%--100%) << 16) 00587 unsigned int AmpPer; //23 Амплитуда в процентах Gyro.AmpPer = Gyro.Amp>>16 ; 00588 unsigned int AmpT; //24 значение тиков после которых происходит смена амплитуды ошумления ( rand() % Gyro.AmpTD+Gyro.AmpMin)(частота ошумления) 00589 unsigned int AmpMin; //25 минимальное значение AmpT(частота ошумления); 00590 unsigned int AmpTD; //26 диапозон частоты ошумления(частота ошумления); 00591 00592 unsigned int AmpPerMin; //27 ограничение минимальной амплитуды ВП 00593 unsigned int AmpPerMax; //28 ограничение максимальной амплитуды ВП 00594 unsigned int AmpSpeed; //29 коиффициент сорости регулировки амплитуды 00595 unsigned int AmpTarget; //30 целевая амплитуда ВП к которой стремится регулировка. 00596 unsigned int AmpPerDel; //31 значение для расчета амплитуды (дельта амплитуды) на сколько будет отличаться в працентах 1 амплитуда от второй при ошумлении, мин знач : AmpPer, мах знач : AmpPer+AmpPerDel; (в процентах) 00597 unsigned int AmpN1; //32 левая граница импулься ВП 00598 unsigned int AmpN2; //33 правая граница импулься ВП 00599 unsigned int F_ras; //34 частота расщипления (не расчитывается) 00600 int MaxAmp; //35 амплитуда Пик-Пик расчтитанная по востановленному синусу. 00601 00602 //ЭНКОДЕР 00603 int CaunPlus; //36 счетчик + 00604 int CaunMin; //37 счетчик - 00605 00606 // данные АЦП 00607 unsigned int TermoNKU; //38 00608 unsigned int Termo; //39 значение АЦП 00609 unsigned int DeltaT; //40 00610 unsigned int In1; //41 00611 unsigned int In2; //42 00612 00613 //пятый ацп, он же амплитудный детектор "AD". есть два фильтра быстрый "Fast" и медленный "Slow" 00614 unsigned int ADF_Accum; //43 Значенее амплитудного детектора Временное 00615 unsigned int ADS_Accum; //44 Значенее амплитудного детектора Временное 00616 unsigned int ADS_AccumTermLM; //45 00617 unsigned int TermLM; //46 00618 unsigned int ADF_Count; //47 Значенее времени накопления данных 00619 unsigned int ADS_Count; //48 Значенее времени накопления данных 00620 unsigned int AD_Fast; //49 Значенее амплитудного детектора сдвинутое на 16 бит 00621 unsigned int AD_Slow; //50 Значенее амплитудного детектора сдвинутое на 16 бит 00622 unsigned int ADF_NewData; //51 есть данные после фильтрации в быстром фильтре 00623 unsigned int ADS_NewData; //52 -----------/----------/----------/-------- 00624 00625 int PLC_Error2Mode; //53 счетчик, не ноль когдав двух модовом регулировка без модулятора(для просмотра мод) 00626 00627 unsigned int CMD_In; //54 входящая команда 00628 unsigned int SOC_Out; //55 00629 unsigned int My_Addres; //56 адрес прибора 00630 unsigned int DropDelayGLD; //57 задержка для мультидропа (дискрета 100кГц) 00631 00632 unsigned int GLD_Serial; //58 серийный номер прибора 00633 unsigned int CRC; //59 контрольная сумма посылки 00634 unsigned int Firmware_Version; //60 версия программы 00635 unsigned int RsErrLine; //61 регистр ошибок передачи. 00636 00637 int CuruAngle; //62 текущеий угол. 00638 int OldCuruAngle; //63 старый угол 00639 int Cnt_Dif; //64 приращение угла между прошлым и текушим приращением за тик виброподвеса (32 тика) 00640 00641 unsigned int PinReg; //65 bit4 bit3 bit 2 bit1 bit0 00642 unsigned int PinRegOld; //66 || светодиод || состояние поджига || состояние подсветки || состояние вибро 2 || состояние вибро 1 || 00643 00644 unsigned int Discharg; //67 последовательность бит харрактеризующая форму сигнала поджига. 00645 unsigned int BackLight; //68 последовательность бит харрактеризующая форму сигнала подсветки. 00646 00647 unsigned int EXT_Latch; //69 00648 00649 unsigned int wall; //70 00650 unsigned int ParamMod ; //71 00651 } Str; 00652 } GyroParam; */ 00653 extern GyroParam GyroP; 00654 00655 extern void AllRegul (void); 00656 extern unsigned int amp; 00657 extern int Rate2VibFlag; 00658 extern void cheng(void); 00659 00660 extern void VibroOut(void); 00661 00662 extern void VibroAMPRegul(void); 00663 extern void VibroFrqRegul(void); 00664 extern unsigned int FrecTp; 00665 extern int Pulse_midl; 00666 extern struct VIBRO Vib; 00667 extern int PulseHalf; 00668 extern int CuruAngle; 00669 extern unsigned int FrecTemp; 00670 #endif 00671
Generated on Wed Jul 13 2022 02:30:11 by 1.7.2