예제 #1
0
 bool IOscilloscope.Close()
 {
     SendCommand(":KEY:LOCK DIS");
     FindSerialPort.SetComOpenStatus(Port.PortName, false);
     if (Port.IsOpen)
     {
         Port.Close();
     }
     return(true);
 }
예제 #2
0
 public static async Task <bool> InitAll()
 {
     return(await Task <bool> .Run(() =>
     {
         Sleep(3000);
         io.Close();
         Sleep(200);
         HIOKI7012.ClosePort();
         Sleep(200);
         Hioki3239.ClosePort();
         Sleep(200);
         osc.Close();
         Sleep(200);
         WaveFormGenerator.Close();
         Sleep(200);
         FindSerialPort.GetDeviceNames();
         Sleep(500);
         Flags.StateEpx64 = General.io.InitEpx64R(0x7F);//0111 1111  ※P7入力 その他出力
         if (!Flags.StateEpx64)
         {
             return false;
         }
         Flags.State7012 = HIOKI7012.Init7012();
         if (!Flags.State7012)
         {
             return false;
         }
         Flags.State323x = Hioki3239.Init323x();
         if (!Flags.State323x)
         {
             return false;
         }
         Flags.State5107B = General.osc.Init();
         if (!Flags.State5107B)
         {
             return false;
         }
         Flags.StateWavGen = WaveFormGenerator.Initialize();
         if (!Flags.StateWavGen)
         {
             return false;
         }
         return true;
     }));
 }
예제 #3
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);
            }
        }
예제 #4
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);
            }
        }
예제 #5
0
        public MainWindow()
        {
            InitializeComponent();
            App._naviTest = FrameTest.NavigationService;
            App._naviConf = FrameConf.NavigationService;
            App._naviHelp = FrameHelp.NavigationService;
            App._naviInfo = FrameInfo.NavigationService;

            this.MouseLeftButtonDown += (sender, e) => this.DragMove();//ウィンドウ全体でドラッグ可能にする

            this.DataContext = State.VmMainWindow;



            //タイマーの設定
            timerTextInput          = new DispatcherTimer(DispatcherPriority.Normal);
            timerTextInput.Interval = TimeSpan.FromMilliseconds(1000);
            timerTextInput.Tick    += timerTextInput_Tick;
            timerTextInput.Start();

            GetInfo();

            //カレントディレクトリの取得
            State.CurrDir = Directory.GetCurrentDirectory();

            //試験用パラメータのロード
            State.LoadConfigData();

            FindSerialPort.GetDeviceNames();
            General.Init周辺機器();//非同期処理です



            InitMainForm();//メインフォーム初期

            this.WindowState = WindowState.Maximized;

            //メタルモード設定(デフォルトは禁止とする)
            Flags.MetalModeSw = false;

            State.SetSerialInfo();
            State.VmMainWindow.SerialNumber = State.シリアルナンバー年月部分 + State.NewSerial.ToString("D5");
        }
예제 #6
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);
            }
        }