Пример #1
0
            public NI4154(string VisaAlias, string ChanNumber, string PinName, bool Reset)
            {
                try
                {
                    this.SMUsession = new NationalInstruments.ModularInstruments.Interop.nidcpower(VisaAlias, ChanNumber, Reset, "");

                    this.VisaAlias  = VisaAlias;
                    this.ChanNumber = ChanNumber;
                    this.PinName    = PinName;

                    string model = SMUsession.GetString(NationalInstruments.ModularInstruments.Interop.nidcpowerProperties.InstrumentModel);

                    SMUsession.SetDouble(nidcpowerProperties.SourceDelay, ChanNumber, 0.00003);
                    SMUsession.ConfigureOutputEnabled(ChanNumber, false);
                    SMUsession.ConfigureOutputFunction(ChanNumber, nidcpowerConstants.DcVoltage);
                    SMUsession.ConfigureSense(ChanNumber, nidcpowerConstants.Remote);
                    SMUsession.SetInt32(nidcpowerProperties.CurrentLimitAutorange, ChanNumber, nidcpowerConstants.On);
                    SMUsession.SetInt32(nidcpowerProperties.VoltageLevelAutorange, ChanNumber, nidcpowerConstants.On);
                    SMUsession.ConfigureVoltageLevel(ChanNumber, 0);
                    SMUsession.ConfigureCurrentLimit(ChanNumber, nidcpowerConstants.CurrentRegulate, 0.01);
                    SMUsession.ConfigureOutputEnabled(ChanNumber, true);
                    SMUsession.Initiate();
                }
                catch (Exception e)
                {
                    MessageBox.Show(e.ToString(), "SMU Initialize");
                }
            }
        public Ni4139(string visaAlias, string chanNumber, string pinName, bool reset)
        {
            try
            {
                this.SmUsession = new NationalInstruments.ModularInstruments.Interop.nidcpower(visaAlias, chanNumber, reset, "");

                this.VisaAlias  = visaAlias;
                this.ChanNumber = chanNumber;
                this.PinName    = pinName;

                string model = SmUsession.GetString(NationalInstruments.ModularInstruments.Interop.nidcpowerProperties.InstrumentModel);

                SmUsession.SetDouble(nidcpowerProperties.SourceDelay, chanNumber, 0);
                SmUsession.SetDouble(nidcpowerProperties.PowerLineFrequency, chanNumber, nidcpowerConstants._60Hertz);
                SmUsession.ConfigureOutputEnabled(chanNumber, false);
                SmUsession.ConfigureOutputFunction(chanNumber, nidcpowerConstants.DcVoltage);
                SmUsession.ConfigureSense(chanNumber, nidcpowerConstants.Remote);
                SmUsession.SetInt32(nidcpowerProperties.CurrentLimitAutorange, chanNumber, nidcpowerConstants.On);
                SmUsession.SetInt32(nidcpowerProperties.VoltageLevelAutorange, chanNumber, nidcpowerConstants.On);
                SmUsession.ConfigureVoltageLevel(chanNumber, 0);
                SmUsession.ConfigureCurrentLimit(chanNumber, nidcpowerConstants.CurrentRegulate, 0.001);
                SmUsession.ConfigureOutputEnabled(chanNumber, true);
                SmUsession.SetDouble(nidcpowerProperties.VoltageCompensationFrequency, 500);
                SmUsession.SetDouble(nidcpowerProperties.VoltageGainBandwidth, 20000);
                SmUsession.SetDouble(nidcpowerProperties.VoltagePoleZeroRatio, 8);
                SmUsession.Initiate();
            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString(), "SMU Initialize");
            }
        }