fork

Dependencies:   mbed

Fork of LG by igor Apu

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers vibro.h Source File

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