//デバイスの初期化 private void caioInitDevice() { if (aioDeviceInit == true) { aio.Exit(devId); } int aioInitState = aio.Init(comboBox1.SelectedItem.ToString(), out devId); if (devId == -1) { statusMsg(1, "デバイスが接続されていません"); return; } else { if (aioInitState != 0) { statusMsg(aioInitState, null); return; } else { int aioResetState = 0; aioResetState = aio.ResetDevice(devId); if (aioResetState != 0) { statusMsg(aioResetState, null); return; } caioGetChannel(); statusMsg(0, "デバイスの初期化に成功しました"); aioDeviceInit = true; } } }
public void ResetDevices() { //Resets Devices and Drivers foreach (DEVICEID id in devices) { HANDLE_RETURN_VALUES = aio.ResetDevice(id); } }
public AIO121602() { ThicknessOffsets = new float[] { 0, 0, 0, 0, 0, 0, 0, 0 }; System.Timers.Timer _timeout = new System.Timers.Timer(5000); bool isTimeout = false, isInitEnd = false; for (int i = 0; i < _avrs.Length; i++) { _avrs[i] = new MoveAverage(4); } _timeout.Elapsed += ((object sender, System.Timers.ElapsedEventArgs e) => { _timeout.Stop(); isTimeout = true; }); _timeout.Start(); Task.Run(() => { LastErrorNo = _aio.Init(ITEM_NAME, out _aioId); isInitEnd = true; }); while (!isTimeout && !isInitEnd) { Thread.Sleep(100); } _timeout.Stop(); if (isTimeout) { LastErrorNo = -1; return; } LastErrorNo = _aio.ResetDevice(_aioId); if (LastErrorNo != 0) { return; } LastErrorNo = _aio.SetAiStopTrigger(_aioId, 4); if (LastErrorNo != 0) { return; } LastErrorNo = _aio.SetAiChannels(_aioId, 14); if (LastErrorNo != 0) { return; } LastErrorNo = _aio.SetAiRangeAll(_aioId, (short)CaioConst.PM5); if (LastErrorNo != 0) { return; } LastErrorNo = _aio.SetAiTransferMode(_aioId, 0); // デバイスバッファモード if (LastErrorNo != 0) { return; } LastErrorNo = _aio.SetAiMemoryType(_aioId, 0); // MemoryFIFOモード if (LastErrorNo != 0) { return; } LastErrorNo = _aio.SetAiClockType(_aioId, 0); if (LastErrorNo != 0) { return; } LastErrorNo = _aio.SetAiSamplingClock(_aioId, 3000); // 1msサンプリング // LastErrorNo = _aio.SetAiSamplingClock( _aioId, 50000 ); // 1msサンプリング if (LastErrorNo != 0) { return; } ThicknessOneSheetQue = new Queue <ThicknessData[][]>(); _aio.StartAi(_aioId); _interval = new System.Timers.Timer(); _interval.Interval = 100; _interval.Elapsed += _interval_Elapsed; _interval.Start(); }