/// <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;
                }
            }
示例#2
0
 public void SetLimitMode(KEITHLEY_2601A_LimitMode limitMode)
 {
     _LimitMode      = limitMode;
     _isLimitModeSet = true;
 }
            /// <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;
                }
            }