Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
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();
        }
Ejemplo n.º 4
0
        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;

            string s        = "";
            string filename = "test.csv";

            File.WriteAllText(filename, s);

            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);
                int barForceInMilliNewton = (int)Math.Ceiling(EngUnits * 12000);                //v=2*EngUnits(电压值等于2倍EngUnits)

                newsock.SendTo(Encoding.ASCII.GetBytes(barForceInMilliNewton.ToString()), Remote);

                s += EngUnits.ToString();
                s += ",";              //change column
                s += barForceInMilliNewton.ToString();
                s += "\n";             //changge row
                File.AppendAllText(filename, s);
            }
        }