Exemplo n.º 1
0
        /// <summary>
        /// 获取对象实例
        /// </summary>
        /// <param name="signalSourceType">仪表ID 型号</param>
        /// <returns></returns>
        public static ISignalSource GetInstance(SignalSourceType signalSourceType)
        {
            switch (signalSourceType)
            {
            case SignalSourceType.Agilent_E4400:
                return(new Agilent_E4400());

            case SignalSourceType.HP_8360:
                return(new HP_8360());

            case SignalSourceType.RS_SMHU:
                return(new HP_8360());

            case SignalSourceType.RS_SMA100A:
                return(new HP_8360());

            case SignalSourceType.RS_SMBV100A:
                return(new HP_8360());

            case SignalSourceType.Ceyear_AV1431:
                return(new AV1431());

            case SignalSourceType.Ceyear_AV146X:
                return(new AV1431());

            default:
                return(null);
            }
        }
        private void btnSigOpen_Click(object sender, RoutedEventArgs e)
        {
            SignalSourceType type = (SignalSourceType)(this.cmbSigType.SelectedIndex);
            string           addr = this.tbSigAddr.Text;

            if (!isSignalSourceConnected)
            {
                signalSource            = SignalSource.GetInstance(type);
                isSignalSourceConnected = signalSource.Connect(addr);
                if (isSignalSourceConnected)
                {
                    this.btnSigOpen.Background = sucessColor;
                }
                else
                {
                    this.btnSigOpen.Background = normalColor;
                }
            }
            else
            {
                this.btnSigOpen.Background = sucessColor;
            }
        }