//public string AnalogInput(int portNumber)
        //{
        //    if (ADResolution > 16)
        //    {
        //        ULStat = DaqBoard.AIn32(portNumber, AcutalRange, out DataValue32, Options);
        //        return DataValue32.ToString();
        //    }
        //    else
        //    {
        //        ULStat = DaqBoard.AIn(portNumber, AcutalRange, out DataValue);
        //        return DataValue.ToString();

        //    }
        //}


        /// <summary>
        /// input a analog value,the range is 5volts
        /// </summary>
        /// <param name="portNumber"></param>
        /// <param name="EngUnits"></param>
        /// <returns></returns>
        public string AnalogInput(int portNumber, out float EngUnits)
        {
            ULStat = DaqBoard.AIn(portNumber, Range.Bip5Volts, out DataValue);

            ULStat = DaqBoard.ToEngUnits(Range.Bip5Volts, DataValue, out EngUnits);


            return(DataValue.ToString());
        }
示例#2
0
文件: ULAI01.cs 项目: r4forth/sdkpub
        private void tmrConvert_Tick(object eventSender, System.EventArgs eventArgs)         /* Handles tmrConvert.Tick */
        {
            float EngUnits;

            MccDaq.ErrorInfo ULStat;
            System.UInt16    DataValue;
            int Chan;

            MccDaq.Range Range;

            tmrConvert.Stop();

            //  Collect the data by calling AIn memeber function of MccBoard object
            //   Parameters:
            //     Chan       :the input channel number
            //     Range      :the Range for the board.
            //     DataValue  :the name for the value collected
            Range = Range.Bip5Volts;                 //  select Bip5Volts (member of Range enumeration)
            Chan  = int.Parse(txtNumChan.Text);      //  set input channel

            ULStat = DaqBoard.AIn(Chan, Range, out DataValue);
            if (ULStat.Value == MccDaq.ErrorInfo.ErrorCode.BadRange)
            {
                MessageBox.Show("Change the Range argument to one supported by this board.", "Unsupported Range", 0);
            }

            //  Convert raw data to Volts by calling ToEngUnits (member function of MccBoard class)
            ULStat = DaqBoard.ToEngUnits(Range, DataValue, out EngUnits);


            lblShowData.Text  = DataValue.ToString();                           //  print the counts
            lblShowVolts.Text = EngUnits.ToString("F4") + " Volts";             //  print the voltage

            tmrConvert.Start();
        }
示例#3
0
文件: Analog.cs 项目: minosniu/nersa
        private bool TestInputRanges(out MccDaq.Range DefaultRange)
        {
            short dataValue;
            int   dataHRValue, Options, index;

            MccDaq.ErrorInfo ULStat;
            MccDaq.Range     TestRange;
            bool             RangeFound = false;
            string           ConnectionConflict;

            ConnectionConflict = "This network device is in use by another process or user." +
                                 System.Environment.NewLine + System.Environment.NewLine +
                                 "Check for other users on the network and close any applications " +
                                 System.Environment.NewLine +
                                 "(such as Instacal) that may be accessing the network device.";

            ValidRanges  = new MccDaq.Range[49];
            DefaultRange = MccDaq.Range.NotUsed;
            TestRange    = MccDaq.Range.NotUsed;
            Options      = 0;
            index        = 0;
            foreach (int i in Enum.GetValues(TestRange.GetType()))
            {
                TestRange = (MccDaq.Range)i;
                if (ADRes > 16)
                {
                    ULStat = TestBoard.AIn32(0, TestRange, out dataHRValue, Options);
                }
                else
                {
                    ULStat = TestBoard.AIn(0, TestRange, out dataValue);
                }
                if (ULStat.Value == MccDaq.ErrorInfo.ErrorCode.NoErrors)
                {
                    if (DefaultRange == MccDaq.Range.NotUsed)
                    {
                        DefaultRange = TestRange;
                    }
                    ValidRanges.SetValue(TestRange, index);
                    index      = index + 1;
                    RangeFound = true;
                }
                else
                {
                    if ((ULStat.Value == MccDaq.ErrorInfo.ErrorCode.NetDevInUseByAnotherProc) ||
                        (ULStat.Value == MccDaq.ErrorInfo.ErrorCode.NetDevInUse))
                    {
                        System.Windows.Forms.MessageBox.Show(ConnectionConflict, "Device In Use");
                        break;
                    }
                }
            }
            Array.Resize(ref ValidRanges, index);
            return(RangeFound);
        }
示例#4
0
文件: ULAI01.cs 项目: caridlin/DAQ
        private void tmrConvert_Tick(object eventSender, System.EventArgs eventArgs)
        {
            float  EngUnits;
            double HighResEngUnits;

            MccDaq.ErrorInfo ULStat;
            System.UInt16    DataValue;
            System.UInt32    DataValue32;
            int Chan;
            int Options = 0;

            tmrConvert.Stop();

            //  Collect the data by calling AIn member function of MccBoard object
            //   Parameters:
            //     Chan       :the input channel number
            //     Range      :the Range for the board.
            //     DataValue  :the name for the value collected

            //  set input channel
            bool ValidChan = int.TryParse(txtNumChan.Text, out Chan);

            if (ValidChan)
            {
                if (Chan > HighChan)
                {
                    Chan = HighChan;
                }
                txtNumChan.Text = Chan.ToString();
            }

            if (ADResolution > 16)
            {
                ULStat = DaqBoard.AIn32(Chan, Range, out DataValue32, Options);
                //  Convert raw data to Volts by calling ToEngUnits
                //  (member function of MccBoard class)
                ULStat = DaqBoard.ToEngUnits32(Range, DataValue32, out HighResEngUnits);

                lblShowData.Text  = DataValue32.ToString();                    //  print the counts
                lblShowVolts.Text = HighResEngUnits.ToString("F5") + " Volts"; //  print the voltage
            }
            else
            {
                ULStat = DaqBoard.AIn(Chan, Range, out DataValue);

                //  Convert raw data to Volts by calling ToEngUnits
                //  (member function of MccBoard class)
                ULStat = DaqBoard.ToEngUnits(Range, DataValue, out EngUnits);

                lblShowData.Text  = DataValue.ToString();               //  print the counts
                lblShowVolts.Text = EngUnits.ToString("F4") + " Volts"; //  print the voltage
            }

            tmrConvert.Start();
        }
 public string AnalogInput(int portNumber)
 {
     if (ADResolution > 16)
     {
         ULStat = DaqBoard.AIn32(portNumber, AcutalRange, out DataValue32, Options);
         return(DataValue32.ToString());
     }
     else
     {
         ULStat = DaqBoard.AIn(portNumber, AcutalRange, out DataValue);
         return(DataValue.ToString());
     }
 }
示例#6
0
        private void tmrConvert_Tick(object eventSender, System.EventArgs eventArgs)         /* Handles tmrConvert.Tick */
        {
            float  EngUnits;
            double HighResEngUnits;

            MccDaq.ErrorInfo ULStat;
            UInt16           DataValue;
            UInt32           DataValue32;

            MccDaq.Range Range;
            int          Chan;
            int          Options = 0;


            tmrConvert.Stop();

            //  Parameters:
            //    Chan       :the input channel number
            //    Range       :the range for the board.
            //    DataValue  :the name for the value collected
            Chan = int.Parse(txtNumChan.Text);

            Range = (MccDaq.Range)(int.Parse(lblGainCodeVal.Text));

            if (HighResAD)
            {
                ULStat = DaqBoard.AIn32(Chan, Range, out DataValue32, Options);

                // ******* CONVERT RAW DATA VALUES TO VOLTAGES ********
                ULStat = DaqBoard.ToEngUnits32(Range, DataValue32, out HighResEngUnits);

                lblShowData.Text        = DataValue32.ToString("D");
                lblShowCalcResults.Text = HighResEngUnits.ToString("0.00000") + " Volts";
            }
            else
            {
                ULStat = DaqBoard.AIn(Chan, Range, out DataValue);

                // ******* CONVERT RAW DATA VALUES TO VOLTAGES ********
                ULStat = DaqBoard.ToEngUnits(Range, DataValue, out EngUnits);

                lblShowData.Text        = DataValue.ToString("D");
                lblShowCalcResults.Text = EngUnits.ToString("0.000") + " Volts";
            }

            tmrConvert.Start();
        }
        private bool TestInputRanges(out MccDaq.Range DefaultRange)
        {
            short dataValue;
            int   dataHRValue, Options, index;

            MccDaq.ErrorInfo ULStat;
            MccDaq.Range     TestRange;
            bool             RangeFound = false;

            ValidRanges  = new MccDaq.Range[49];
            DefaultRange = MccDaq.Range.NotUsed;
            TestRange    = MccDaq.Range.NotUsed;
            Options      = 0;
            index        = 0;
            foreach (int i in Enum.GetValues(TestRange.GetType()))
            {
                TestRange = (MccDaq.Range)i;
                if (ADRes > 16)
                {
                    ULStat = TestBoard.AIn32(0, TestRange, out dataHRValue, Options);
                }
                else
                {
                    ULStat = TestBoard.AIn(0, TestRange, out dataValue);
                }
                if (ULStat.Value == MccDaq.ErrorInfo.ErrorCode.NoErrors)
                {
                    if (DefaultRange == MccDaq.Range.NotUsed)
                    {
                        DefaultRange = TestRange;
                    }
                    ValidRanges.SetValue(TestRange, index);
                    index      = index + 1;
                    RangeFound = true;
                }
            }
            Array.Resize(ref ValidRanges, index);
            return(RangeFound);
        }
示例#8
0
文件: Program.cs 项目: minosniu/nersa
        static void Main(string[] args)
        {
            int recv;

            byte[] data = new byte[1024];

            //得到本机IP,设置TCP端口号
            IPEndPoint ip      = new IPEndPoint(IPAddress.Any, 8001);
            Socket     newsock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

            //绑定网络地址
            newsock.Bind(ip);

            Console.WriteLine("This is a Server, host name is {0}", Dns.GetHostName());

            //等待客户机连接
            Console.WriteLine("Waiting for a client");

            //得到客户机IP
            IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0);
            EndPoint   Remote = (EndPoint)(sender);

            recv = newsock.ReceiveFrom(data, ref Remote);
            Console.WriteLine("Message received from {0}: ", Remote.ToString());
            Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv));

            //客户机连接成功后,发送信息
            string welcome = "你好 ! ";

            //字符串与字节数组相互转换
            data = Encoding.ASCII.GetBytes(welcome);

            //发送信息
            newsock.SendTo(data, data.Length, SocketFlags.None, Remote);



            float  EngUnits;
            double HighResEngUnits;

            MccDaq.ErrorInfo ULStat;//存储和报告错误代码和消息
            System.UInt16    DataValue;
            System.UInt32    DataValue32;
            int Chan    = 0;  //输入通道编号
            int Options = 0;


            while (true)
            {
                data = new byte[1024];
                //发送接收信息
                recv = newsock.ReceiveFrom(data, ref Remote);
                Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv));


                ULStat = DaqBoard.AIn(Chan, Range, out DataValue);            //读取输入通道,输出16位整数值
                                                                              //  Convert raw data to Volts by calling ToEngUnits
                                                                              //  (member function of MccBoard class)
                ULStat = DaqBoard.ToEngUnits(Range, DataValue, out EngUnits); //将原始数据转换成电压

                int barHeight = (int)Math.Ceiling(EngUnits * 1000 + 150);

                newsock.SendTo(Encoding.ASCII.GetBytes(barHeight.ToString()), Remote);
            }
        }
示例#9
0
        static void Main(string[] args)
        {
            //得到本机IP,设置TCP端口号

            var server = new UdpListener();


            //绑定网络地址

            Console.WriteLine("This is a Server, host name is {0}", Dns.GetHostName());

            //等待客户机连接
            Console.WriteLine("Waiting for a client");



            float  EngUnits;
            double HighResEngUnits;

            MccDaq.ErrorInfo ULStat;//存储和报告错误代码和消息
            System.UInt16    DataValue;
            System.UInt32    DataValue32;
            int Chan    = 0;  //输入通道编号
            int Options = 0;

            //start listening for messages and copy the messages back to the client
            Task.Factory.StartNew(async() => {
                while (true)
                {
                    var received = await server.Receive();

                    Console.WriteLine("Got this:" + received.Message);

                    ULStat = DaqBoard.AIn(Chan, Range, out DataValue);            //读取输入通道,输出16位整数值
                                                                                  //  Convert raw data to Volts by calling ToEngUnits
                                                                                  //  (member function of MccBoard class)
                    ULStat = DaqBoard.ToEngUnits(Range, DataValue, out EngUnits); //将原始数据转换成电压

                    int barHeight = (int)Math.Ceiling(EngUnits * 1000 + 150);

                    server.Reply(barHeight.ToString(), received.Sender);
                    if (received.Message == "quit")
                    {
                        break;
                    }
                }
            });



            ////create a new client
            //var client = UdpUser.ConnectTo("127.0.0.1", 8001);

            ////wait for reply messages from server and send them to console
            //Task.Factory.StartNew(async () =>
            //{
            //    while (true)
            //    {
            //        try
            //        {
            //            var received = await client.Receive();
            //            Console.WriteLine(received.Message);
            //            if (received.Message.Contains("quit"))
            //                break;
            //        }
            //        catch (Exception ex)
            //        {
            //            Debug.Write(ex);
            //        }
            //    }
            //});


            //type ahead :-)
            string read;

            do
            {
                read = Console.ReadLine();
            } while (read != "quit");
        }