Beispiel #1
0
        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();
        }
Beispiel #2
0
 private void CloseDaq()
 {
     if (Daq != null)
     {
         try
         {
             Daq.Stop();
             Daq.Close();
         }
         catch (Exception) { }
         Daq = null;
     }
 }