private void ConnectDaq() { CloseDaq(); for (int i = 0; i < 100; i++) //Connect 실패가 잦으니 여러번 시도 { try { var _daq = new DaqClient(Module.Channels.Select(x => x.ScaleFactors).ToArray()) { PacketCountFor1Sec = Module.PacketCountFor1Sec }; _daq.Connect(Module.Ip, 7000); _daq.Stop(true); Daq = _daq; break; } catch { Thread.Sleep(100); } } if (Daq == null) { throw new Exception("Connect Failed - IP:" + Module.Ip); } foreach (var channel in Module.Channels) { Daq.SetInputType(channel.PhysicalIndex, channel.ICP, Module.InputType); Daq.SetGain(channel.PhysicalIndex, false, channel.HWGain); } Daq.SetRunVariable(); Daq.SetSampleMode(Module.SamplingRate); Daq.Start(); }
private void CloseDaq() { if (Daq != null) { try { Daq.Stop(); Daq.Close(); } catch (Exception) { } Daq = null; } }