Exemplo n.º 1
0
 public Boolean Start_Single_TTA()
 {
     //1.Strom einschalten
     MyRack.MeasCurrent_on();
     //2.Spannung bei Imeas und RaumTemperatur messen
     V_f_at_Imeas_Troom = MyDAQ.Get_Constant_Voltage(this, this.GUI);
     //3.Strom aus
     MyRack.MeasCurrent_off();
     //Eigentliche TTA messung
     return(MyDAQ.Measure_TTA_Several_Cycles(this, this.GUI));
 }
        //********************************************************************************************************************
        //                                        globale Funktionen
        //********************************************************************************************************************

        /// <summary>
        /// TTA measurment without XYZ (but with repetation cycles)
        /// </summary>
        /// <returns>Flag of status</returns>
        public bool Start_Single_TTA()
        {
            //Status-Bar initialisieren
            GUI.StatusBar_TTA_Single(0, (int)MyRack.Cycles);

            //DAQ-System anpassen
            if (!MyDAQ.TTA_set_Device(MyRack.Time_Heat, MyRack.Time_Meas))
            {
                return(false);
            }
            if (!MyDAQ.TTA_set_Trigger(MyRack.Gain, MyRack.U_offset))
            {
                return(false);
            }

            //Definiere Feld für Raw-Daten
            Binary_Raw_Files = new short[MyRack.Cycles, MyDAQ.Samples];

            //Speicher reservieren
            MyDAQ.TTA_reserve_Storage(Binary_Raw_Files);

            //Loop für Wiederholungs-Zyklen
            for (int repetation_nr = 0; repetation_nr < MyRack.Cycles; repetation_nr++)
            {
                //Bei bedarf abbrechen
                if (GUI.myBackroundWorker.CancellationPending)
                {
                    //Falls abbruch --> Speicher lösen
                    MyDAQ.TTA_free_Storage(Binary_Raw_Files);
                    return(false);
                }

                //DAQ scharf stellen
                if (!MyDAQ.TTA_wait_for_Trigger())
                {
                    return(false);
                }

                //Puls starten (bei NI mit Warten sonst ohne)
                MyRack.SinglePuls_withoutDelay();

                //Daten abholen
                if (!MyDAQ.TTA_Collect_Data(Binary_Raw_Files, repetation_nr))
                {
                    return(false);
                }

                //Daten prüfen
                //????????????????????????????????????????

                //Daten in Raw plotten
                GUI.Add_Series_to_RAW(this, repetation_nr);

                //Statusbar anpassen
                GUI.StatusBar_TTA_Single(repetation_nr + 1, (int)MyRack.Cycles);
            }

            //DatenSatz auswerten
            Convert_Data();

            //Speicher lösen
            MyDAQ.TTA_free_Storage(Binary_Raw_Files);

            return(true);
        }