Ejemplo n.º 1
0
        public AThread(ABaseblock _device, int _experimentGroup, ADatabase _db, int _powerDelay, int _commDelay, bool isStartWithInitialize = false)
        {
            try
            {
                // TODO: Complete member initialization
                device = _device;
                powerDelay = _powerDelay;
                commDelay = _commDelay;
                experimentGroup = _experimentGroup;
                db = _db;

                bw.DoWork += bw_DoWork;
                bw.ProgressChanged += bw_ProgressChanged;
                bw.RunWorkerCompleted += bw_RunWorkerCompleted;
                bw.WorkerReportsProgress = true;
                bw.WorkerSupportsCancellation = true;

                foreach (byte channel in device.channelsWithSensors)
                {
                    sensorsData.Add(new Sensor());
                    driver = new ADriver(device.comport, powerDelay);
                }

                if (isStartWithInitialize)
                {
                    Start();
                }
            }
            catch (Exception ex)
            {
                FileWorker.WriteEventFile(DateTime.Now, "AThread", "AThread", ex.Message);
            }
        }
 internal static void WriteSensorStatistic(ADatabase db, DateTime dt, Sensor sensor, ABaseblock device, int experimentGroup, int count)
 {
     try
     {
         int expID = GetExperimentsID(db, experimentGroup, device.sysChannelsIDs[count]);
         WriteParameter(db, dt, expID, sensor.SensorCalcLevel, ParametersID.LevelSensor);
         WriteParameter(db, dt, expID, sensor.SensorTemperature, ParametersID.PlateTemperature);
         if (sensor.SensorDelays != null)
         {
             WriteParameter(db, dt, expID, sensor.SensorDelays[0], ParametersID.ZondPositionSensor);
             WriteParameter(db, dt, expID, sensor.SensorDelays[1], ParametersID.OtrPositionSensor);
             WriteParameter(db, dt, expID, sensor.SensorDelays[2], ParametersID.SecondZondPositionSensor);
         }
         WriteParameter(db, dt, expID, sensor.ComputerCalcLevel, ParametersID.LevelComputer);
         if (sensor.ComputerDelays != null)
         {
             WriteParameter(db, dt, expID, sensor.ComputerDelays[0], ParametersID.ZondPositionComputer);
             WriteParameter(db, dt, expID, sensor.ComputerDelays[1], ParametersID.OtrPositionComputer);
             WriteParameter(db, dt, expID, sensor.ComputerDelays[2], ParametersID.SecondZondPositionComputer);
         }
         if (sensor.ComputerAmplitudes != null)
         {
             WriteParameter(db, dt, expID, sensor.ComputerAmplitudes[0], ParametersID.FirstZondAmplitude);
             WriteParameter(db, dt, expID, sensor.ComputerAmplitudes[1], ParametersID.OtrAmplitude);
             WriteParameter(db, dt, expID, sensor.ComputerAmplitudes[2], ParametersID.SecondZondAmplitude);
         }
         if (sensor.TemperatureArray != null)
             WriteTemperatureHanger(db, dt, expID, sensor.TemperatureArray);
     }
     catch (Exception ex)
     {
         FileWorker.WriteEventFile(DateTime.Now, "DatabaseWorker", "WriteSensorStatistic", ex.Message);
     }
 }
 internal static void WriteSensorReflectogram(ADatabase db, DateTime dt, Sensor sensor, ABaseblock device, int experimentGroup, int count)
 {
     try
     {
         int expID = GetExperimentsID(db, experimentGroup, device.sysChannelsIDs[count]);
         WriteReflectogram(db, dt, sensor.Reflectogram, expID);
     }
     catch (Exception ex)
     {
         FileWorker.WriteEventFile(DateTime.Now, "DatabaseWorker", "WriteSensorReflectogram", ex.Message);
     }
 }