bool IOscilloscope.Close() { SendCommand(":KEY:LOCK DIS"); FindSerialPort.SetComOpenStatus(Port.PortName, false); if (Port.IsOpen) { Port.Close(); } return(true); }
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; })); }
//初期化 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); } }
//************************************************************************** //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); } }
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"); }
//************************************************************************** //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); } }