Example #1
0
        /// <summary>
        /// The main function: instant Agilent, MPQ class, and textboxes.
        /// </summary>
        public MainForm()
        {
            InitializeComponent();

            agilentDevice = new Agilent();
            mpqDevice     = new MPQ();

            dutTextBoxWellA = new TextBox[] {
                this.textBoxDUT1,
                this.textBoxDUT2,
                this.textBoxDUT3,
                this.textBoxDUT4,
                this.textBoxDUT5,
                this.textBoxDUT6,
                this.textBoxDUT7,
                this.textBoxDUT8
            };

            dutTextBoxWellB = new TextBox[] {
                this.textBoxDUT9,
                this.textBoxDUT10,
                this.textBoxDUT11,
                this.textBoxDUT12,
                this.textBoxDUT13,
                this.textBoxDUT14,
                this.textBoxDUT15,
                this.textBoxDUT16
            };
        }
Example #2
0
        /// <summary>
        /// The main function: instant Agilent, MPQ class, and textboxes.
        /// </summary>
        public MainForm()
        {
            InitializeComponent();

            agilentDevice = new Agilent();
            mpqDevice = new MPQ();

            dutTextBoxWell = new TextBox[]{
                this.textBoxDUT1,
                this.textBoxDUT2,
                this.textBoxDUT3,
                this.textBoxDUT4,
                this.textBoxDUT5,
                this.textBoxDUT6,
                this.textBoxDUT7,
                this.textBoxDUT8,
                this.textBoxDUT9,
                this.textBoxDUT10,
                this.textBoxDUT11,
                this.textBoxDUT12,
                this.textBoxDUT13,
                this.textBoxDUT14,
                this.textBoxDUT15,
                this.textBoxDUT16};
        }
Example #3
0
 public void Save(string path)
 {
     this.path = path;
     if (Directory.Exists(path))
     {
         string    filename = path + @"\" + this.station + ".xml";
         XDocument doc;
         try
         {
             doc = new XDocument(
                 new XDeclaration("1.0", "utf-8", "yes"),
                 new XElement(informationTag,
                              new XElement(ipTag, GetIP()),
                              new XElement(computerNameTag, this.station),
                              new XElement(lastUpdate, DateTime.Now),
                              new XElement(versionTag, GetVersion()),
                              new XElement(typeTag, GetType()),
                              new XElement(serialNumberTag, Agilent.GetSN())
                              )
                 );
             doc.Save(filename);
         }
         catch
         {
             Console.Write("Error");
         }
     }
 }
Example #4
0
        //
        //----------------------------------------------------------------------------------------
        //
        /// <summary>
        /// Construction of TestWell Class
        /// </summary>
        /// <param name="Agilent"></param>Agilent Class, define the method of Agilent equipments.
        /// <param name="MPQ"></param>MPQ Class, define the method of MPQ programmer.
        /// <param name="wellNumber"></param>Well number, 1 for WellA, 2 for WellB
        /// <param name="serialNumber"></param>Serialnumber of 1 DUT on panel, 19 digits.
        public TestWell(Agilent Agilent, MPQ MPQ, string serialNumber, TrackpadConfig tpConfig)
        {
            m_Agilent = Agilent;
            m_MPQ = MPQ;
            m_DeviceConfig = tpConfig;

            serialNumber = serialNumber.Remove(18); //remove last digit
            m_DUTArray = new DUT[] { DUT1, DUT2, DUT3, DUT4, DUT5, DUT6, DUT7, DUT8 };

            int i = 1;
            foreach (DUT dut in m_DUTArray)
            {
                dut.SerailNumber = serialNumber + i.ToString();
                dut.RawCount = new List<int>();
                dut.Noise = new List<int>();
                dut.IDAC = new List<int>();
                dut.Global_IDAC = new List<int>();
                dut.IDACGain = new List<byte>();
                dut.Local_IDAC = new List<int>();
                dut.IDAC_Erased = new List<int>();
                i++;
            }

            DUT14_PortEnables = 0xF;    //Enable all DUTs
            DUT58_PortEnalbes = 0xF;
        }
        static void Main()
        {
            a = new Agilent();


            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());

            Properties.Settings.Default.Save();
        }
Example #6
0
        public Agilent Initialize_U2751A(string connectstring)
        {
            if (connectstring != "")
            {
                Agilent sw_A = new Agilent();
                sw_A.InitializeU2751A_WELLA(connectstring);

                return(sw_A);
            }

            return(null);
        }
Example #7
0
 private void GoogleGlass_Load(object sender, EventArgs e)
 {
     Config.read();
     agilentDevice           = new Agilent();
     m_SFCS                  = new SFCS();
     buttonStart.Enabled     = false;
     bridge                  = new USB_I2C();
     bridge.DeviceAddress    = Config.I2C_ADDRESS;
     Manufacture.operatorID  = "google";
     Manufacture.testStation = "ALS";
     Manufacture.testSite    = "Sigma";
 }
Example #8
0
 public static void ConnectSwitch()
 {
     try
     {
         sw          = new Agilent();
         SwConnected = sw.InitializeU2751A_WELLA(SW_alias);
         //sw.InitializeU2651A(SW_alias);
     }
     catch (Exception ex)
     {
         //Logger.PrintLog(this, "Fail to Connect Switch: " + SW_alias, LogDetailLevel.LogRelevant);
     }
 }
        private void button1_Click(object sender, EventArgs e)
        {
            string s;

            Agilent.Open();                      //Opens the socket
            //Agilent.WriteLine("SYST:REM");
            //System.Threading.Thread.Sleep(2000);
            Agilent.WriteLine("*IDN?");          //Write the command *IDN? to the device.
            System.Threading.Thread.Sleep(1000); //Sleep to help have command reach the device
            s = Agilent.ReadLine();              //Stores data found as a response
            System.Threading.Thread.Sleep(4000); //Sleep to help have command reach the device
            response.Text = s;                   //Sets the label to the return value from the socket
            Agilent.Close();                     //Closes the socket
        }
Example #10
0
        public Form1()
        {
            InitializeComponent();

            channelBox1.Text = "CH1";
            channelBox2.Text = "CH2";
            channelBox3.Text = "CH3";
            channelBox4.Text = "CH4";
            channelBox5.Text = "CH5";
            channelBox6.Text = "CH6";
            channelBox7.Text = "CH7";
            channelBox8.Text = "CH8";



            DMM = Initialize_U3606A(DmmX8_Plus.Properties.Settings.Default.DMM_Alias);

            if (MultiMeter.devReadyStatus.Contains("Connect to U3606A Successfully!!!"))
            {
                dmm_status.Text      = "Ready";
                dmm_status.ForeColor = Color.DarkGreen;
                devReady             = true;
                checkBox1.Checked    = true;
            }
            else
            {
                MessageBox.Show("Connect to U3606A failed on " + DmmX8_Plus.Properties.Settings.Default.DMM_Alias, "Instrument Initializaion Error");
                checkBox1.Checked = false;
            }

            SW_A = Initialize_U2751A(DmmX8_Plus.Properties.Settings.Default.Switch_Alias);

            if (Agilent.devReadyStatus == true)
            {
                sw_status.Text      = "Ready";
                sw_status.ForeColor = Color.DarkGreen;
                devReady            = true;
                checkBox2.Checked   = true;
            }
            else
            {
                MessageBox.Show("Connect to U2751A failed on " + DmmX8_Plus.Properties.Settings.Default.Switch_Alias, "Instrument Initializaion Error");
                checkBox2.Checked = false;
            }



            serialnumberbox1.Focus();
        }
 private void button2_Click(object sender, EventArgs e)
 {
     Agilent.Open();
     //Opens Serial Port to Waveform Generator
     Agilent.WriteLine("SYST:REM");//Sets the device to remote
     System.Threading.Thread.Sleep(1000);
     //Sets the operation mode to Remote
     sineGen = "APPL:SIN " + freqBox.Text + ", " + ampBox.Text;
     //Generates command to send using user chosen values
     Agilent.WriteLine(sineGen);
     System.Threading.Thread.Sleep(1000);
     //Generates sine wave with specific freq and amp chosen by user
     Agilent.Close();
     //Closes the serial port
 }
Example #12
0
        public MTKInstruments(LogManager logger)
        {
            try
            {
                dmm = new MultiMeter();
                sw  = new Agilent();

                logger = new LogManager();

                Logger = logger;
            }
            catch (Exception)
            {
                //throw;
            }
        }
Example #13
0
        private static double PerformVoltageTest(MultiMeter dmm, Agilent sw, int channel)
        {
            double value = -1.0;

            MultiMeter.volt volt_meas;

            sw.SetRelayWellA_byCH(channel, true);


            volt_meas = dmm.MeasureChannelVoltage(500, 500);

            value = volt_meas.average;

            Console.WriteLine(string.Format("Obtain the average result of PerformVoltageTest: {0} V on CH{1}", Math.Round(value, 4), channel));

            return(value);
        }
Example #14
0
        //
        //----------------------------------------------------------------------------------------
        //

        /// <summary>
        /// Construction of TestWell Class
        /// </summary>
        /// <param name="Agilent"></param>Agilent Class, define the method of Agilent equipments.
        /// <param name="MPQ"></param>MPQ Class, define the method of MPQ programmer.
        /// <param name="wellNumber"></param>Well number, 1 for WellA, 2 for WellB
        /// <param name="serialNumber"></param>Serialnumber of 1 DUT on panel, 19 digits.
        public TestWell(Agilent Agilent, MPQ MPQ, byte wellNumber, string serialNumber)
        {
            m_Agilent    = Agilent;
            m_MPQ        = MPQ;
            currWell     = wellNumber;
            serialNumber = serialNumber.Remove(18);
            m_DUTArray   = new DUT[] { DUT1, DUT2, DUT3, DUT4, DUT5, DUT6, DUT7, DUT8 };

            int i = 1;

            foreach (DUT dut in m_DUTArray)
            {
                dut.SerailNumber = serialNumber + i.ToString();
                dut.RawCountX    = new List <int>();
                dut.NoiseX       = new List <int>();
                dut.RawCountY    = new List <int>();
                dut.NoiseY       = new List <int>();
                dut.IDAC         = new List <int>();
                dut.Global_IDAC  = new List <int>();
                dut.IDACGain     = new List <byte>();
                dut.IDAC_Erased  = new List <int>();
                i++;
            }

            DUT14_PortEnables = 0xF;    //Enable all DUTs
            DUT58_PortEnalbes = 0xF;

            if (wellNumber == 1)        //WELLA
            {
                MPQ_ADDRESS1 = 1;
                MPQ_ADDRESS2 = 2;
            }
            else                        //WELLB
            {
                MPQ_ADDRESS1 = 3;
                MPQ_ADDRESS2 = 4;
            }
        }
        static void Main()
        {
            a = new Agilent();
            m = new Multiplexer(false);

            // ustaw ustaw miejsce dla pliku

            bool force_new = false;

            if (String.IsNullOrEmpty(Properties.Settings.Default.meas_file_name))
            {
                force_new = true;
            }
            else
            {
                string path = Path.GetDirectoryName(Properties.Settings.Default.meas_file_name);
                if (!Directory.Exists(path))
                {
                    force_new = true;
                }
            }


            if (force_new)
            {
                string p = Path.GetDirectoryName(Application.ExecutablePath);
                Properties.Settings.Default.meas_file_name = Path.Combine(p, "pomiary.txt");
            }



            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new MainForm());

            Properties.Settings.Default.Save();
        }
Example #16
0
        //
        //----------------------------------------------------------------------------------------
        //
        /// <summary>
        /// Construction of TestWell Class
        /// </summary>
        /// <param name="Agilent"></param>Agilent Class, define the method of Agilent equipments.
        /// <param name="MPQ"></param>MPQ Class, define the method of MPQ programmer.
        /// <param name="wellNumber"></param>Well number, 1 for WellA, 2 for WellB
        /// <param name="serialNumber"></param>Serialnumber of 1 DUT on panel, 19 digits.
        public TestWell(Agilent Agilent, MPQ MPQ, byte wellNumber, string serialNumber)
        {
            m_Agilent = Agilent;
            m_MPQ = MPQ;
            currWell = wellNumber;
            serialNumber = serialNumber.Remove(18);
            m_DUTArray = new DUT[] { DUT1, DUT2, DUT3, DUT4, DUT5, DUT6, DUT7, DUT8 };

            int i = 1;
            foreach (DUT dut in m_DUTArray)
            {
                dut.SerailNumber = serialNumber + i.ToString();
                dut.RawCountX = new List<int>();
                dut.NoiseX = new List<int>();
                dut.RawCountY = new List<int>();
                dut.NoiseY = new List<int>();
                dut.IDAC = new List<int>();
                dut.Global_IDAC = new List<int>();
                dut.IDACGain = new List<byte>();
                dut.IDAC_Erased = new List<int>();
                i++;
            }

            DUT14_PortEnables = 0xF;    //Enable all DUTs
            DUT58_PortEnalbes = 0xF;

            if (wellNumber == 1)        //WELLA
            {
                MPQ_ADDRESS1 = 1;
                MPQ_ADDRESS2 = 2;
            }
            else                        //WELLB
            {
                MPQ_ADDRESS1 = 3;
                MPQ_ADDRESS2 = 4;
            }
        }
Example #17
0
        private void exitTPT()
        {
            try
            {
                RegistryKey saveKey = Registry.LocalMachine.CreateSubKey(@"software\Cypress\TrackpadTest");

                saveKey.SetValue("Total Tested", totalTestedNumber.ToString());
                saveKey.SetValue("Total Failed", totalFailedNumber.ToString());
                saveKey.SetValue("Yield Rate", yieldRate.ToString());

                saveKey.SetValue("Test ID", testID);
                saveKey.SetValue("Test Station", testStation);
                saveKey.SetValue("Test Site", testSite);
                agilentDevice = null;
                mpqDevice     = null;
                testWellA     = null;
                GC.Collect(0);
                System.Threading.Thread.Sleep(100);
            }
            catch (Exception ex)
            {
                Log.error(ex.Message);
            }
        }
 public bool UpdateVisaAlias(Agilent.ACE2.Shared.ModelDevice beforeUpdate, Agilent.ACE2.Shared.ModelDevice afterUpdate)
 {
     return false;
 }
Example #19
0
        private void exitTPT()
        {
            try
            {
                RegistryKey saveKey = Registry.LocalMachine.CreateSubKey(@"software\Cypress\TrackpadTest");

                saveKey.SetValue("Total Tested", totalTestedNumber.ToString());
                saveKey.SetValue("Total Failed", totalFailedNumber.ToString());
                saveKey.SetValue("Yield Rate", yieldRate.ToString());

                saveKey.SetValue("Test ID", testID);
                saveKey.SetValue("Test Station", testStation);
                saveKey.SetValue("Test Site", testSite);
                agilentDevice = null;
                mpqDevice = null;
                testWellA = null;
                GC.Collect(0);
                System.Threading.Thread.Sleep(100);
            }
            catch(Exception ex)
            {
                Log.error(ex.Message);
            }
        }
 public void RequestPublishServerMessage(Agilent.ACE2.Shared.MessageRecord record)
 {
 }
 public void RequestVerify(Agilent.ACE2.Shared.ModelElement element)
 {
 }
 public void RequestDiscovery(Agilent.ACE2.Shared.Discovery.WorkItem work)
 {
 }
 public void RequestDiscovery(Agilent.ACE2.Shared.ModelElement element)
 {
 }
 public void RequestDataUpdate(Agilent.ACE2.Shared.Discovery.WorkItem item)
 {
 }
 public void RequestAutoConfig(Agilent.ACE2.Shared.IInterfaceAgent agent)
 {
 }
 private void button3_Click(object sender, EventArgs e)
 {
     Agilent.Open();                     //Opens the socket
     Agilent.WriteLine("SYST:REM");      //Sets the device to remote
     Agilent.Close();                    //Close the socket
 }
Example #27
0
 public FormCh1Voltage()
 {
     InitializeComponent();
     agilentDevice = new Agilent();
 }
Example #28
0
        static void Main(string[] args)
        {
            MultiMeter dmm = new MultiMeter();
            Agilent    sw  = new Agilent();


            bool dmmConnected = false;
            bool swConnected  = false;

            try
            {
                dmmConnected = dmm.InitializeU3606A("dmm");
                swConnected  = sw.InitializeU2751A_WELLA("swA");
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }


            if (!dmmConnected && swConnected)
            {
                if (!dmmConnected)
                {
                    Console.WriteLine("U3606A is not connected. Please check the connection...");
                }
                if (!swConnected)
                {
                    Console.WriteLine("U2751A is not connected. Please check the connection...");
                }
            }
            else
            {
                Console.WriteLine("U3606A/U2751A are connected successfully!");
                Console.WriteLine("");
                try
                {
                    Console.WriteLine("Perform Current Test on CH1 to CH8");
                    //Perform Current Test on CH1 to CH8
                    for (int i = 0; i < 8; i++)
                    {
                        PerformCurrentTest(dmm, sw, i + 1);
                    }

                    Console.WriteLine("");

                    Console.WriteLine("Perform Voltage Test on CH1 to CH8");

                    //Perform Voltage Test on CH1 to CH8
                    for (int i = 0; i < 8; i++)
                    {
                        PerformVoltageTest(dmm, sw, i + 1);
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }

            Console.ReadKey();
        }