//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()); }
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(); }
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); }
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()); } }
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); }
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); } }
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"); }