Ejemplo n.º 1
0
 public override void Connect()
 {
     if (!Environs.Debug)
     {
         session = new UsbSession(address);
     }
 }
Ejemplo n.º 2
0
        private Instruments()
        {
            using (var resourceManager = new ResourceManager())
            {
                IEnumerable <string> resources = resourceManager.Find("USB?*INSTR");

                string name = "";
                foreach (string s in resources)
                {
                    name = s;
                }

                SourceMeasureUnit = (UsbSession)resourceManager.Open(name);
            }
        }
Ejemplo n.º 3
0
        private void InitializeDevice()
        {
            _session = new UsbSession(ResourceName);
            //Очищает прибор от ошибок
            _session.FormattedIO.WriteLine("*CLS");

            //Переводит в режим дистанционного управления. Все кнопки не работают, кроме Local
            _session.FormattedIO.WriteLine("SYSTEM:REMOTE");
            //Проверка подачи сигнала
            _session.FormattedIO.WriteLine("SYSTem:BEEPer");

            _session.FormattedIO.FlushWrite(true);

            IsInitialized = true;
        }
Ejemplo n.º 4
0
        private void InitializeDevice()
        {
            _session = new UsbSession(ResourceName);
            //Очищает прибор от ошибок
            _session.FormattedIO.WriteLine("*CLS");

            //Переводит в режим дистанционного управления. Все кнопки не работают, кроме МУ (ручное управление)
            _session.FormattedIO.WriteLine("SYSTEM:REMOTE");
            //Устанавливает вид работы
            _session.FormattedIO.WriteLine("FUNCTION \"VOLTAGE:DC\"");
            //Устанавливаем предел в 100 мВ и разрешение 0,1 мкВ
            _session.FormattedIO.WriteLine("CONFIGURE:VOLTAGE:DC 0.1,1e-7");

            _session.FormattedIO.FlushWrite(true);

            IsInitialized = true;
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Инициализирует устройство перед работой
        /// </summary>
        private void InitializeDevice()
        {
            //_driver = new Agilent34410Class();
            //try
            //{
            //    // Setup IVI-defined initialization options
            //    string standardInitOptions =
            //        "Cache=true, InterchangeCheck=false, QueryInstrStatus=true, RangeCheck=true, RecordCoercions=false, Simulate=false";

            //    _driver.Initialize(_resourceName, false, false, standardInitOptions);

            //    // Set up the DMM for a single reading
            //    _driver.Trigger.TriggerSource = Agilent34410TriggerSourceEnum.Agilent34410TriggerSourceImmediate;
            //    _driver.Trigger.TriggerCount = 5;
            //    //_driver.Trigger.TriggerDelay = 1;
            //    _driver.Trigger.SampleCount = 1;
            //}
            //catch (Exception e)
            //{
            //    System.Diagnostics.Debug.WriteLine(e);
            //    _driver.Close();
            //}
            //finally
            //{
            //}
            _session = new UsbSession(ResourceName);

            //Очищает прибор от ошибок
            _session.FormattedIO.WriteLine("*CLS");

            //Переводит в режим дистанционного управления. Все кнопки не работают, кроме МУ (ручное управление)
            //_session.FormattedIO.WriteLine("SYSTEM:REMOTE");
            //Устанавливает вид работы
            //_session.FormattedIO.WriteLine("FUNCTION \"VOLTAGE:DC\"");
            ////Устанавливаем предел в 100 мВ и разрешение 0,1 мкВ
            //_session.FormattedIO.WriteLine("CONFIGURE:VOLTAGE:DC 0.1,1e-7");

            _session.FormattedIO.FlushWrite(true);

            IsInitialized = true;
        }
Ejemplo n.º 6
0
        private Instruments()
        {
            alignmentPowerCalibration = Math.Pow(10, powerAttenuation / 10);

            try
            {
                aerotechController = Controller.Connect();
            }
            catch (A3200Exception ex)
            {
                Console.WriteLine("Error connecting to controller");
            }

            aerotechController.Commands.Axes["Y"].Motion.Enable();
            aerotechController.Commands.Axes["X"].Motion.Enable();
            aerotechController.Commands.Axes["Z"].Motion.Enable();

            using (var rm = new ResourceManager())
            {
                string myResource = "";
                try
                {
                    IEnumerable <string> resources = rm.Find("ASRL?*INSTR");
                    foreach (string s in resources)
                    {
                        Debug.WriteLine("Found resource", s);
                        myResource = s;
                    }
                }
                catch (Exception ex)
                {
                    Debug.WriteLine("Couldn't find Arroyo");
                }

                SerialSession session = (SerialSession)rm.Open(myResource);
                session.BaudRate = 38400;

                session.RawIO.Write("*IDN?\n");
                string r = session.RawIO.ReadString();
                Debug.WriteLine(r);

                arroyo = session;

                try
                {
                    IEnumerable <String> resources = rm.Find("USB?*");
                    foreach (string s in resources)
                    {
                        Debug.WriteLine(s);
                        myResource = s;
                    }
                }
                catch (Exception ex)
                {
                    Debug.WriteLine("Couldn't find thorlabs");
                }

                UsbSession session2 = (UsbSession)rm.Open(myResource);
                session2.SendEndEnabled = true;
                session2.TerminationCharacterEnabled = false;

                session2.RawIO.Write("*IDN?\n");
                var t = session2.ReadStatusByte();

                r = session2.RawIO.ReadString();

                session2.RawIO.Write($"SENS:CORR {powerAttenuation}\n");

                powerMeter = session2;
            }
        }