예제 #1
0
 bool IOscilloscope.Close()
 {
     SendCommand(":KEY:LOCK DIS");
     FindSerialPort.SetComOpenStatus(Port.PortName, false);
     if (Port.IsOpen)
     {
         Port.Close();
     }
     return(true);
 }
예제 #2
0
        //初期化
        bool IOscilloscope.Init()
        {
            try
            {
                //Comポートリストの取得
                var ListComNo = FindSerialPort.GetComNo(ComName);
                if (ListComNo.Count() == 0)
                {
                    return(false);
                }

                foreach (var c in ListComNo)
                {
                    //Host側シリアルポート設定
                    Port.PortName = c;
                    Port.BaudRate = 38400;
                    Port.DataBits = 8;
                    Port.Parity   = System.IO.Ports.Parity.None;
                    Port.StopBits = System.IO.Ports.StopBits.One;
                    //Port.RtsEnable = true;
                    //Port.DtrEnable = true;
                    Port.NewLine = "\n";
                    Port.Open();
                    //クエリ送信
                    Thread.Sleep(500);
                    if (SendCommand("*IDN?", true) && RecieveData.Contains(ID_DS_5105B))
                    {
                        SetRun();
                        FindSerialPort.SetComOpenStatus(c, true);
                        return(true);
                    }

                    //開いたポートが間違っているのでいったん閉じる
                    Port.Close();
                }

                return(false);
            }
            catch
            {
                Port.Close();
                return(false);
            }
        }
예제 #3
0
        //**************************************************************************
        //HIOKI3239 COMポートのオープン
        //引数:
        //戻値:bool
        //**************************************************************************
        public static bool Init323x()
        {
            try
            {
                //Comポートリストの取得
                var ListComNo = FindSerialPort.GetComNo(ComName);
                if (ListComNo.Count() == 0)
                {
                    return(false);
                }

                foreach (var c in ListComNo)
                {
                    //Agilent34401A用のシリアルポート設定
                    port.PortName  = c;
                    port.BaudRate  = 9600;
                    port.DataBits  = 8;
                    port.Parity    = System.IO.Ports.Parity.None;
                    port.StopBits  = System.IO.Ports.StopBits.One;
                    port.DtrEnable = true;//これ設定しないとコマンド送るたびにErrorになります!
                    port.NewLine   = ("\r\n");
                    port.Open();
                    //クエリ送信
                    Thread.Sleep(100);
                    port.WriteLine("*IDN?");
                    if (GetRecieveData() && RecieveData.Contains(ID_323x))
                    {
                        FindSerialPort.SetComOpenStatus(c, true);
                        return(true);
                    }
                    //開いたポートが間違っているのでいったん閉じる
                    port.Close();
                }

                State3239 = ErrorCode.OpenErr;
                return(false);
            }
            catch
            {
                port.Close();
                State3239 = ErrorCode.OpenErr;
                return(false);
            }
        }
예제 #4
0
        //**************************************************************************
        //COMポートのオープン
        //**************************************************************************
        public static bool Init7012()
        {
            try
            {
                //Comポートリストの取得
                var ListComNo = FindSerialPort.GetComNo(ComName);
                if (ListComNo.Count() == 0)
                {
                    return(false);
                }

                foreach (var c in ListComNo)
                {
                    if (!port.IsOpen)
                    {
                        //シリアルポート設定
                        port.PortName = c;
                        port.BaudRate = 9600;
                        port.DataBits = 8;
                        port.Parity   = System.IO.Ports.Parity.None;
                        port.StopBits = System.IO.Ports.StopBits.One;
                        port.NewLine  = ("\r\n");
                        port.Open();
                    }
                    if (SendQuery("*IDN?") && RecieveData == SS7012_ID)
                    {
                        FindSerialPort.SetComOpenStatus(c, true);
                        return(true);
                    }
                    //開いたポートが間違っているのでいったん閉じる
                    port.Close();
                }
                return(false);
            }
            catch
            {
                ClosePort();
                return(false);
            }
        }