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"); } }