public Am471E(string visaAlias, string chanNumber, string pinName, bool reset)
        {
            try
            {
                this.VisaAlias  = visaAlias;
                this.ChanNumber = chanNumber;
                this.PinName    = pinName;

                Smu = new PxiSmu(visaAlias, "0", 0xf, "Simulate=0, DriverSetup=Model:AM471e");

                int ret = 0;
                ret += Smu.Reset();
                ret += Smu.ConfigurePowerLineFrequency(50);
                ret += Smu.ConfigureOutputTransient("0", 1);
                ret += Smu.ConfigureSamplingTime("0", 0.1, 1);
                ret += Smu.ConfigureSense("0", PxiSmuConstants.SenseRemote);
                ret += Smu.ConfigureOutputFunction("0", PxiSmuConstants.DVCI);
                ret += Smu.ConfigureCurrentLimit("0".ToString(), 0, 100e-3);
                ret += Smu.ConfigureVoltageLevelAndRange("0", 0, 1);
                //ret += smu.ConfigureVoltageLevel("0", 0);
                ret += Smu.ConfigureOutputSwitch("0", 1);
            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString(), "SMU Initialize");
            }
        }
        static void Main(string[] args)
        {
            double[] curr = new double[4];
            double[] volt = new double[4];

            PxiSmu smu = new PxiSmu("PXI52::0::INSTR", "0-3", 0xf, "Simulate=0, DriverSetup=Model:AM430e");

            smu.ConfigurePowerLineFrequency(50);
            smu.ConfigureSamplingTime("0-3", 1, PxiSmuConstants.UnitPowerLineCycles);
            smu.ConfigureOutputTransient("0-3", 1);
            smu.ConfigureSense("0-3", PxiSmuConstants.SenseRemote);

            smu.ConfigureOutputFunction("0-3", PxiSmuConstants.DVCI);
            smu.ConfigureCurrentLimit("0-3", 0, 100e-6);
            smu.ConfigureVoltageLevel("0-3", 0);
            smu.ConfigureOutputSwitch("0-3", 1);
            delay_s(1e-3);
            smu.ConfigureVoltageLevel("0-3", 3.3);
            delay_s(1e-3);
            smu.Measure("0-3", PxiSmuConstants.MeasureVoltage, volt);
            smu.Measure("0-3", PxiSmuConstants.MeasureCurrent, curr);

            for (int i = 0; i < 4; i++)
            {
                Console.WriteLine("curr[" + i + "]: " + curr[i] + "; volt[" + i + "]: " + volt[i]);
            }

            smu.ConfigureVoltageLevel("0-3", 0);
            delay_s(1e-3);
            smu.ConfigureOutputSwitch("0-3", 0);
            Console.ReadLine();
        }