/// <summary> /// Sets appropriate limits to defined channel /// </summary> /// <param name="LimitValue">Limit value</param> /// <param name="Mode">Source mode</param> /// <param name="Channel">Channel</param> public void SetSourceLimit(double LimitValue, KEITHLEY_2601A_LimitMode Mode, KEITHLEY_2602A_Channels Channel) { var SetLimitScript = "smu{0}.source.limit{1} = {2} "; var _LimitValue = LimitValue.ToString().Replace(',', '.'); CommandBuilder = new StringBuilder(); switch (Channel) { case KEITHLEY_2602A_Channels.ChannelA: { switch (Mode) { case KEITHLEY_2601A_LimitMode.Voltage: { SetLimitScript = CommandBuilder.AppendFormat(SetLimitScript, "a", "v", _LimitValue).ToString(); SendCommandRequest(SetLimitScript); } break; case KEITHLEY_2601A_LimitMode.Current: { SetLimitScript = CommandBuilder.AppendFormat(SetLimitScript, "a", "i", _LimitValue).ToString(); SendCommandRequest(SetLimitScript); } break; default: break; } } break; case KEITHLEY_2602A_Channels.ChannelB: { switch (Mode) { case KEITHLEY_2601A_LimitMode.Voltage: { SetLimitScript = CommandBuilder.AppendFormat(SetLimitScript, "b", "v", _LimitValue).ToString(); SendCommandRequest(SetLimitScript); } break; case KEITHLEY_2601A_LimitMode.Current: { SetLimitScript = CommandBuilder.AppendFormat(SetLimitScript, "b", "i", _LimitValue).ToString(); SendCommandRequest(SetLimitScript); } break; default: break; } } break; default: break; } }
public void SetLimitMode(KEITHLEY_2601A_LimitMode limitMode) { _LimitMode = limitMode; _isLimitModeSet = true; }