在好例子网,分享、交流、成长!
您当前所在位置:首页C# 开发实例C#语言基础 → P+F r2000 sample

P+F r2000 sample

C#语言基础

下载此实例
  • 开发语言:C#
  • 实例大小:24.94M
  • 下载次数:48
  • 浏览次数:579
  • 发布时间:2020-02-20
  • 实例类别:C#语言基础
  • 发 布 人:ww55555www
  • 文件格式:.zip
  • 所需积分:3
 相关标签: R2000

实例介绍

【实例简介】R2000-UHD demo

【实例截图】

from clipboard


from clipboard

【核心代码】

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using System.IO;


namespace R2000_UHD_Demo
{
    public partial class Form1 : Form
    {
        public static string IpAddress { get; set; }

        string Packet_Type = "B";
        string path;
        bool Scanstart = false;
       // bool OneTurnFinish = false;

        FileStream fs;
        StreamWriter sw;

        public Form1()
        {
            InitializeComponent();
            IpAddress = textBox2.Text;

            //
            BT_ReleaseH.Enabled = false;
            BT_StartScan.Enabled = false;
            BT_STOPScan.Enabled = false;
            BT_TCPConnect.Enabled = false;
            BT_TCPClose.Enabled = false;
            BT_ReleaseH.Enabled = false;
            Scanstart = false;
            comboBox2.SelectedIndex = 0;

            //
            int i;
            for (i = 0; i < 25200; i  )
            {
                R2000StreamTcpClient.R2000ScanPoints[i] = new R2000ScanPoint(0, 0, 0);
                R2000StreamTcpClient.R2000SingleTurnPoints[i] = new R2000ScanPoint(0, 0, 0);
            }

        }

        public string R2000IP()
        {
            return IpAddress;
        }


        private void button1_Click(object sender, EventArgs e) // Get Protocol Info
        {

            if (IpAddress != "")
            {

                //Get R2000 Feedback Data

                Thread R2000Thread = new Thread(new ThreadStart(R2000StreamTcpClient.R2000RecDataStream));
                R2000Thread.IsBackground = true;
                R2000Thread.Start();

                TBox_Status.Text = R2000Commands.Get_Protocol_Info(IpAddress)   (Char)13   (Char)10   "\nError: "   R2000Commands.Int16_ErrorCode   " \nSuccess: "   R2000Commands.Int16_Sucess;
            }
            else
            {
                TBox_Error.Text = "Please Enter IP"   (Char)13   (Char)10;
            }


            if (R2000Commands.Int16_Sucess == 1)
            {
                ChBox_TimerS.Checked = true;
                //-------------------------------
                BT_TCPConnect.Enabled = false;
                BT_RequestH.Enabled = true;
                BT_ReleaseH.Enabled = false;
                BT_StartScan.Enabled = false;
                BT_TCPConnect.Enabled = false;
                TBox_Error.Text = "Connection Testing Sucessful"   (Char)13   (Char)10;
                Bt_Reboot.Enabled = true;

            }
            else
            {
                TBox_Error.Text = "Wrong IP or Wrong Network Setting, Check again"   (Char)13   (Char)10;
            }

        }

        private void button2_Click(object sender, EventArgs e) // Request Handle TCP
        {
            // Button Request Handle

            if (IpAddress != "")
            {
                TBox_Status.Text = R2000Commands.Request_Handle_TCP(IpAddress, Packet_Type, "watchdogtimeout=30000", "0")   (Char)13   (Char)10   "\n\rError: "   R2000Commands.Int16_ErrorCode   " \n\rSuccess: "   R2000Commands.Int16_Sucess;

                if (R2000Commands.Int16_Sucess == 1)
                {
                    label1.Text = R2000Commands.Port;
                    Lbl_HandleValue.Text = R2000Commands.Handle;

                    BT_ReleaseH.Enabled = true;
                    BT_StartScan.Enabled = false;
                    BT_TCPConnect.Enabled = true;
                    BT_RequestH.Enabled = false;
                    TBox_Error.Text = "Handle Request Successful"   (Char)13   (Char)10   label1.Text   (Char)13   (Char)10   Lbl_HandleValue.Text;

                }
            }
            else
            {
                BT_ReleaseH.Enabled = false;
                BT_StartScan.Enabled = false;
                BT_TCPConnect.Enabled = false;
                BT_RequestH.Enabled = true;
                TBox_Error.Text = "IP Address = NULL";
            }


        }

        private void button3_Click(object sender, EventArgs e) // Release Handle
        {

            TBox_Status.Text = R2000Commands.Release_Handle(IpAddress)   (Char)13   (Char)10   "\nError: "   R2000Commands.Int16_ErrorCode   " \nSuccess: "   R2000Commands.Int16_Sucess;
            Scanstart = false;

            if (R2000Commands.Int16_Sucess == 1)
            {
                label1.Text = "Port = ";
                R2000Commands.Port = "";
                Lbl_HandleValue.Text = "Handle = ";
                R2000Commands.Handle = "";
                TBox_Error.Text = "Handle is Released"   (Char)13   (Char)10;
                BT_TCPConnect.Enabled = false;
                BT_RequestH.Enabled = true;
                BT_StartScan.Enabled = false;
            }
            else
            {
                TBox_Error.Text = "Handle Release is not Suceessful";
                BT_RequestH.Enabled = true;
                BT_TCPConnect.Enabled = false;
                BT_StartScan.Enabled = false;
            }

        }

        private void button4_Click(object sender, EventArgs e) // Start Scan Output
        {
            //Scan Start

            TBox_Status.Text = R2000Commands.Start_Scanoutput(IpAddress)   (Char)13   (Char)10   "\nError: "   R2000Commands.Int16_ErrorCode   " \nSuccess: "   R2000Commands.Int16_Sucess;
            Scanstart = true;
            BT_STOPScan.Enabled = true;
            BT_StartScan.Enabled = false;

            BT_RequestH.Enabled = false;
            BT_ReleaseH.Enabled = true;

            //DateTime StartTime = DateTime.Now();

            int i;
            for (i = 0; i < 25200; i  )
            {
                R2000StreamTcpClient.R2000ScanPoints[i].Distance = 0;
                R2000StreamTcpClient.R2000ScanPoints[i].EchoValue = 0;

            }

            TBox_Error.Text = "Scan is Starting at:  "   (Char)13   (Char)10   DateTime.Now.ToString();
            print_R2000Header();


        }

        private void button5_Click(object sender, EventArgs e) // Stop Scan Output
        {
            TBox_Status.Text = R2000Commands.Stop_Scanoutput(IpAddress)   (Char)13   (Char)10   "\nError: "   R2000Commands.Int16_ErrorCode   " \nSuccess: "   R2000Commands.Int16_Sucess;
            Scanstart = false;

            BT_ReleaseH.Enabled = true;
            BT_StartScan.Enabled = true;
            BT_STOPScan.Enabled = false;
            BT_TCPConnect.Enabled = true;

            TBox_Error.Text = "Scan stopped";
        }

        private void textBox2_TextChanged(object sender, EventArgs e)
        {
            IpAddress = textBox2.Text;
        }

        private void button6_Click(object sender, EventArgs e) // TCP Connect
        {
            // TCP Connect

            if (R2000Commands.Port != "")
            {
                R2000StreamTcpClient.R2000UHDTCPconnect(IpAddress, R2000Commands.Port);

                BT_TCPClose.Enabled = true;
                BT_TCPConnect.Enabled = false;
                BT_StartScan.Enabled = true;
                TBox_Error.Text = "TCP is Connected to R2000"   (Char)13   (Char)10   "  "   label1.Text;

            }
            else
            {
                BT_ReleaseH.Enabled = true;
                BT_TCPConnect.Enabled = true;
                BT_StartScan.Enabled = false;
                TBox_Error.Text = "ERROR:     PORT = NULL";
            }
        }

        private void button7_Click(object sender, EventArgs e) // TCP Close
        {
            R2000StreamTcpClient.SocketCloseCommand = true;
            //R2000StreamTcpClient.R2000UHDTCPclose();

            //Scanstart = false;
            BT_TCPConnect.Enabled = true;
            BT_TCPClose.Enabled = false;
            BT_ReleaseH.Enabled = true;

            TBox_Error.Text = "TCP Connection is closed"   (Char)13   (Char)10;

            //关闭流
            //sw.Close();
            ///fs.Close();
        }

        private void timer_Watchdog_Tick(object sender, EventArgs e)
        {
            //TBox_Status.Text = R2000Commands.Feed_Watchdog(IpAddress);
            //TBox_Test.Text = R2000Commands.Feed_Watchdog(IpAddress);
            TBox_Test.Text = R2000Commands.Feed_Watchdog(IpAddress);
        }

        // Head Info Display at Text Box
        public void print_R2000Header()
        {
            string txt = "packet_type = ";
            switch (R2000StreamTcpClient.packet_type)
            {
                case 65:
                    txt = txt   "A"   (Char)13   (Char)10;
                    break;
                case 66:
                    txt = txt   "B"   (Char)13   (Char)10;
                    break;
                case 67:
                    txt = txt   "C"   (Char)13   (Char)10;
                    break;
                default:
                    txt = txt   (Char)13   (Char)10;
                    break;
            }
            txt = txt   "packet_size = "   R2000StreamTcpClient.packet_size.ToString("D")   (Char)13   (Char)10;
            txt = txt   "header_size = "   R2000StreamTcpClient.header_size.ToString("D")   (Char)13   (Char)10;
            txt = txt   "scan_number = "   R2000StreamTcpClient.scan_number.ToString("D")   (Char)13   (Char)10;
            txt = txt   "packet_number = "   R2000StreamTcpClient.packet_number.ToString("D")   (Char)13   (Char)10;
            txt = txt   "timestamp_raw = "   R2000StreamTcpClient.timestamp_raw.ToString("D")   (Char)13   (Char)10;
            txt = txt   "timestamp_sync = "   R2000StreamTcpClient.timestamp_sync.ToString("D")   (Char)13   (Char)10;
            txt = txt   "scan_frequency = "   R2000StreamTcpClient.scan_frequency.ToString("D")   (Char)13   (Char)10;
            txt = txt   "num_points_scan = "   R2000StreamTcpClient.num_points_scan.ToString("D")   (Char)13   (Char)10;
            txt = txt   "num_points_packet = "   R2000StreamTcpClient.num_points_packet.ToString("D")   (Char)13   (Char)10;
            txt = txt   "first_index = "   R2000StreamTcpClient.first_index.ToString("D")   (Char)13   (Char)10;
            txt = txt   "first_angle = "   R2000StreamTcpClient.first_angle.ToString("D")   (Char)13   (Char)10;
            txt = txt   "angular_increment = "   R2000StreamTcpClient.angular_increment.ToString("D")   (Char)13   (Char)10;

            txt = txt   (char)13   (Char)10   "TCP Connected = "   R2000StreamTcpClient.IsConnectedTCP   (Char)13   (Char)10;

            txt = txt   "TCP Connection: "   R2000StreamTcpClient.ErrorMsg_TCP_Connections   (Char)13   (Char)10;
            this.TBox_Header.Text = txt;
        }

        public void print_R2000ScanData()
        {

            string txt = "";
            string str = ""; // new
            int i;
            int InvData = -1; //new
            int startvalue;

            if (textBox3.Text == "")
                //startvalue = R2000StreamTcpClient.num_points_scan;
                startvalue = 0;
            else
                startvalue = Convert.ToInt32(textBox3.Text);

            if (startvalue > 25164)
                startvalue = 25164;

            txt = "Scan data point "   startvalue   "-"   (startvalue   35)   ":"   (Char)13   (Char)10;
            txt = txt   "Startpoint:     Distance mm:       Echo:       Angle:"   (Char)13   (Char)10;

            //for (i = startvalue; i < (startvalue   36); i  )
            //for (i = 0; i < startvalue; i  )

            for (i = startvalue; i < (startvalue   36); i  )
            {

                txt = txt   i.ToString("00000")   "              ";
                str = str   i.ToString("00000")   "     ";

                if (R2000StreamTcpClient.R2000ScanPoints[i].Distance == 0xFFFFFFFF)
                {
                    txt = txt   "-00001";
                    str = str   InvData.ToString("00000");
                }
                else
                {
                    txt = txt   R2000StreamTcpClient.R2000ScanPoints[i].Distance.ToString("000000");
                    str = str   R2000StreamTcpClient.R2000ScanPoints[i].Distance.ToString("000000");
                }

                txt = txt   "    |     "   R2000StreamTcpClient.R2000ScanPoints[i].EchoValue.ToString("00000")
                            "    |    "   R2000StreamTcpClient.R2000ScanPoints[i].Angle.ToString("000.00000")   (Char)13   (Char)10;

                str = str   "     "   R2000StreamTcpClient.R2000ScanPoints[i].Angle.ToString("000.00000")
                            "     "   R2000StreamTcpClient.R2000ScanPoints[i].EchoValue.ToString("00000")   (Char)13   (Char)10;

            }
            this.textBox_ScanPoints.Text = txt;
            this.Txb_NPS.Text = Convert.ToString(startvalue);


            //...........................................................................


            // if (R2000StreamTcpClient.IsConnectedTCP && button4.Enabled == false)
            //{
            //     Write(str);
            //}

        }
        public void write_close()
        {
            sw.Close();
            fs.Close();
        }
        public void Write(string txt)
        {
            //开始写入
            sw.Write(txt);
            //清空缓冲区
            sw.Flush();
            //关闭流
            //sw.Close();
            //fs.Close();
        }
        private void timer1_Tick(object sender, EventArgs e)
        {
            //print_R2000Header();
            //HeadInfoPrinting();
            if (Chbox_AutoUpdate.Checked == true)
            {
                print_R2000ScanData();
                HeadInfoPrinting();
            }
            else
            {
                HeadInfoPrinting();
            }

        }

        private void checkBox_Type_A_CheckedChanged_1(object sender, EventArgs e)
        {
            if (checkBox_Type_A.Checked == true)
            {
                Packet_Type = "A";
                checkBox_Type_B.Checked = false;
                checkBox_Type_C.Checked = false;
                checkBox_Type_A.Enabled = false;
                checkBox_Type_B.Enabled = true;
                checkBox_Type_C.Enabled = true;
            }
        }

        private void checkBox_Type_B_CheckedChanged(object sender, EventArgs e)
        {
            if (checkBox_Type_B.Checked == true)
            {
                Packet_Type = "B";
                checkBox_Type_A.Checked = false;
                checkBox_Type_C.Checked = false;
                checkBox_Type_A.Enabled = true;
                checkBox_Type_B.Enabled = false;
                checkBox_Type_C.Enabled = true;
            }
        }

        private void checkBox_Type_C_CheckedChanged_1(object sender, EventArgs e)
        {
            if (checkBox_Type_C.Checked == true)
            {
                Packet_Type = "C";
                checkBox_Type_A.Checked = false;
                checkBox_Type_B.Checked = false;
                checkBox_Type_A.Enabled = true;
                checkBox_Type_B.Enabled = true;
                checkBox_Type_C.Enabled = false;
            }
        }

        private void exitToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Exit Program? 退出程序?", "R2000_UHD_Demo", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                this.Close();
            }

        }
        // Check for NUM only
        private void textBox3_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar))
                e.Handled = true;
        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) // Select Scan Rate
        {
            switch (CmBox_SamplePS.SelectedIndex)
            {
                case 0:
                    TBox_Status.Text = R2000Commands.Set_Parameter(IpAddress, "scan_frequency=50&samples_per_scan=360")   (Char)13   (Char)10   "\nError: "   R2000Commands.Int16_ErrorCode   " \nSuccess: "   R2000Commands.Int16_Sucess;
                    break;
                case 1:
                    TBox_Status.Text = R2000Commands.Set_Parameter(IpAddress, "scan_frequency=50&samples_per_scan=720")   (Char)13   (Char)10   "\nError: "   R2000Commands.Int16_ErrorCode   " \nSuccess: "   R2000Commands.Int16_Sucess;
                    break;
                case 2:
                    TBox_Status.Text = R2000Commands.Set_Parameter(IpAddress, "scan_frequency=50&samples_per_scan=1440")   (Char)13   (Char)10   "\nError: "   R2000Commands.Int16_ErrorCode   " \nSuccess: "   R2000Commands.Int16_Sucess;
                    break;
                case 3:
                    TBox_Status.Text = R2000Commands.Set_Parameter(IpAddress, "scan_frequency=10&samples_per_scan=3600")   (Char)13   (Char)10   "\nError: "   R2000Commands.Int16_ErrorCode   " \nSuccess: "   R2000Commands.Int16_Sucess;
                    break;
                case 4:
                    TBox_Status.Text = R2000Commands.Set_Parameter(IpAddress, "scan_frequency=50&samples_per_scan=3600")   (Char)13   (Char)10   "\nError: "   R2000Commands.Int16_ErrorCode   " \nSuccess: "   R2000Commands.Int16_Sucess;
                    break;
                case 5:
                    TBox_Status.Text = R2000Commands.Set_Parameter(IpAddress, "scan_frequency=50&samples_per_scan=5040")   (Char)13   (Char)10   "\nError: "   R2000Commands.Int16_ErrorCode   " \nSuccess: "   R2000Commands.Int16_Sucess;
                    break;
                case 6:
                    TBox_Status.Text = R2000Commands.Set_Parameter(IpAddress, "scan_frequency=35&samples_per_scan=7200")   (Char)13   (Char)10   "\nError: "   R2000Commands.Int16_ErrorCode   " \nSuccess: "   R2000Commands.Int16_Sucess;
                    break;
                case 7:
                    TBox_Status.Text = R2000Commands.Set_Parameter(IpAddress, "scan_frequency=20&samples_per_scan=12600")   (Char)13   (Char)10   "\nError: "   R2000Commands.Int16_ErrorCode   " \nSuccess: "   R2000Commands.Int16_Sucess;
                    break;
                case 8:
                    TBox_Status.Text = R2000Commands.Set_Parameter(IpAddress, "scan_frequency=10&samples_per_scan=25200")   (Char)13   (Char)10   "\nError: "   R2000Commands.Int16_ErrorCode   " \nSuccess: "   R2000Commands.Int16_Sucess;
                    break;
                default:
                    break;
            }
        }

        private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
            switch (comboBox2.SelectedIndex)
            {
                case 0:
                    this.Timer_Print.Interval = 500;
                    break;
                case 1:
                    this.Timer_Print.Interval = 50;
                    break;
                case 2:
                    this.Timer_Print.Interval = 100;
                    break;
                case 3:
                    this.Timer_Print.Interval = 200;
                    break;
                case 4:
                    this.Timer_Print.Interval = 500;
                    break;
                default:
                    break;
            }

        }

        private void showRefelctorToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frmReflector frm = new frmReflector();
            frm.Show();
        }



        private void HeadInfoPrinting()
        {
            double Angleres = 0;
            double firstangle = 0.0;
            double firstangleabsolute = 0.0;

            Angleres = Convert.ToDouble(R2000StreamTcpClient.angular_increment);
            firstangle = Convert.ToDouble(R2000StreamTcpClient.first_angle) / 10000;

            if (R2000StreamTcpClient.num_points_scan != 0)
                firstangleabsolute = (R2000StreamTcpClient.first_index * 360) / R2000StreamTcpClient.num_points_scan;

            this.Txb_NPS.Text = R2000StreamTcpClient.num_points_scan.ToString("00")   " 点";
            this.TxB_TimeS.Text = R2000StreamTcpClient.timestamp_raw.ToString("D");
            this.TxB_NPPackage.Text = R2000StreamTcpClient.num_points_packet.ToString("D");
            this.TxB_ScanNr.Text = R2000StreamTcpClient.scan_number.ToString("00000");
            this.TxB_PackNr.Text = R2000StreamTcpClient.packet_number.ToString("D");
            this.TxB_ScanFreq.Text = (R2000StreamTcpClient.scan_frequency / 1000).ToString("D")   " Hz";
            this.TxB_AngleRes.Text = (Angleres / 10000).ToString("0.00000")   " °";

            this.TxB_FirstIndex.Text = R2000StreamTcpClient.first_index.ToString("0000");
            this.TxB_FirstAngle.Text = firstangle.ToString("0.0")   " °";
            this.TxB_StatusFlag.Text = R2000StreamTcpClient.field_status.ToString("D");

            this.TxB_AngleAbsolute.Text = firstangleabsolute.ToString("0.0")   " °";


            //labels display
            this.Lbl_PackType.Text = R2000StreamTcpClient.packet_type.ToString("00");
            this.Lbl_HeaderSize.Text = R2000StreamTcpClient.header_size.ToString("00");
            this.Lbl_PackageSize.Text = R2000StreamTcpClient.packet_size.ToString("0000");

        }


        private void BT_Close_Click_1(object sender, EventArgs e)
        {
            /*
            
            // Close TCP
            R2000StreamTcpClient.SocketCloseCommand = true;


            // release handle
            TBox_Status.Text = R2000Commands.Release_Handle(IpAddress)   (Char)13   (Char)10   "\nError: "   R2000Commands.Int16_ErrorCode   " \nSuccess: "   R2000Commands.Int16_Sucess;
            if (R2000Commands.Int16_Sucess == 1)
            {
                label1.Text = "Port = ";
                R2000Commands.Port = "";
                Lbl_HandleValue.Text = "Handle = ";
                R2000Commands.Handle = "";
            }
            */
            BT_RequestH.Enabled = true;
            BT_ReleaseH.Enabled = false;
            BT_StartScan.Enabled = false;
            BT_TCPConnect.Enabled = false;

            Form1.ActiveForm.Close();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

            BT_RequestH.Enabled = true;
            BT_ReleaseH.Enabled = false;
            BT_StartScan.Enabled = false;
            BT_TCPConnect.Enabled = false;
            BT_STOPScan.Enabled = false;
            BT_TCPClose.Enabled = false;
            timer_Watchdog.Enabled = false;
            Timer_Print.Enabled = false;
            Bt_Reboot.Enabled = false;


        }

        private void BT_PrintScan_Click(object sender, EventArgs e)
        {
            print_R2000ScanData();
            HeadInfoPrinting();
        }


        private void BT_PrintAll_Click(object sender, EventArgs e)
        {
            if (Scanstart == false)
            {
                TBox_Error.Text = "Please Start Scan First "   DateTime.Now.ToString()   (Char)13   (Char)10;
                return;
            }


            string txt = "";
            int i;
            int startvalue = 0;

            //-------------------------------
            //初始化写文件
            path = Application.StartupPath   "\\"   TBox_FileName.Text   ".txt";

            //fs = new FileStream(path, FileMode.Create);
            fs = new FileStream(path, FileMode.Append);
            sw = new StreamWriter(fs);
            //--------------------------------
            txt = txt   "Print Start at: "   DateTime.Now.ToString()   (Char)13   (Char)10;
            txt = "Scan data point "   startvalue   "-"   (startvalue   35)   ":"   (Char)13   (Char)10;
            txt = txt   "Startpoint:     Distance mm:       Echo:       Angle:"   (Char)13   (Char)10;
            TBox_Error.Text = "Preperation at:  "   DateTime.Now.ToString()   (Char)13   (Char)10;

            Write(txt);

            for (i = 0; i < 25200; i  )
            {

                //txt = txt   i.ToString("00000")   "              ";
                txt = i.ToString("00000")   "              ";

                if (R2000StreamTcpClient.R2000ScanPoints[i].Distance == 0xFFFFFFFF)
                {
                    txt = txt   "-000001";
                    //txt = "-1";

                }
                else
                {
                    //txt = txt   R2000StreamTcpClient.R2000ScanPoints[i].Distance.ToString("000000");
                    txt = txt   R2000StreamTcpClient.R2000ScanPoints[i].Distance.ToString("000000");

                }
                //Write(txt);

                txt = txt   "          "   R2000StreamTcpClient.R2000ScanPoints[i].EchoValue.ToString("00000")
                            "         "   R2000StreamTcpClient.R2000ScanPoints[i].Angle.ToString("000.00000")   (Char)13   (Char)10;

                Write(txt);

            }


            //txt = txt   "Print Stop at : "   DateTime.Now.ToString()   (Char)13   (Char)10;

            txt = "Print Stop at : "   DateTime.Now.ToString()   (Char)13   (Char)10;
            TBox_Error.Text = TBox_Error.Text   "Ready to Write to File at  "   DateTime.Now.ToString()   (Char)13   (Char)10;
            Write(txt);
            TBox_Error.Text = TBox_Error.Text   "Write to File Finish at "   DateTime.Now.ToString()   (Char)13   (Char)10;
            write_close();

        }

        private void BT_GetParam_Click(object sender, EventArgs e)
        {
            if (IpAddress != "")
                TBox_Status.Text = R2000Commands.Get_Parameter_Info(IpAddress)   (Char)13   (Char)10   "\nError: "   R2000Commands.Int16_ErrorCode   " \nSuccess: "   R2000Commands.Int16_Sucess;

        }

        private void scanSettingToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frmSettingOverview frm = new frmSettingOverview();
            frm.Show();

        }

        private void BT_SendSetting_Click(object sender, EventArgs e)
        {
            // using set_scanoutput_config command

            String parameter = "";

            if (IpAddress == null)
            {
                TBox_Error.Text = " No IP Address is valid";
                return;
            }

            if (Lbl_HandleValue.Text == "Handle")
            {
                TBox_Error.Text = " No Handle Exist";
                return;

            }

            parameter = "handle="   Lbl_HandleValue.Text   "&packet_type="   Packet_Type;

            TBox_Status.Text = R2000Commands.set_scanoutput_config(IpAddress, parameter)   (Char)13   (Char)10   "\nError: "   R2000Commands.Int16_ErrorCode   " \nSuccess: "   R2000Commands.Int16_Sucess;

            TBox_Error.Text = "Packet Type Change Sucessfully ";


        }

        private void BT_GetScanConfig_Click(object sender, EventArgs e)
        {

            String parameter = "";

            if (IpAddress == null)
            {
                TBox_Error.Text = " No IP Address is valid";
                return;
            }

            if (Lbl_HandleValue.Text == "Handle")
            {
                TBox_Error.Text = " No Handle Exist";
                return;

            }
            parameter = "handle="   Lbl_HandleValue.Text;

            TBox_Status.Text = R2000Commands.get_scanoutput_config(IpAddress, parameter)   (Char)13   (Char)10   "\nError: "   R2000Commands.Int16_ErrorCode   " \nSuccess: "   R2000Commands.Int16_Sucess;
            TBox_Error.Text = "Get Scan Output Configuration Sucessfully";
        }

        private void hMIWindowsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frmHMIDisplay frm = new frmHMIDisplay();
            frm.Show();

        }

        private void restartToolStripMenuItem_Click(object sender, EventArgs e)
        {

            TBox_Status.Text = R2000Commands.reboot_device(IpAddress);
            TBox_Error.Text = "R2000 Rebooting "   (Char)13   (Char)10;

        }

        private void communicationProtocolToolStripMenuItem_Click(object sender, EventArgs e)
        {

            frmManualView frm = new frmManualView();
            frm.Show();


        }

        private void ChBox_TimerS_CheckedChanged(object sender, EventArgs e)
        {
            if (ChBox_TimerS.Checked == true)
            {
                timer_Watchdog.Enabled = true;
                Timer_Print.Enabled = true;

            }
            else
            {
                timer_Watchdog.Enabled = false;
                Timer_Print.Enabled = false;
            }


        }

        private void Bt_Reboot_Click(object sender, EventArgs e)
        {

            TBox_Status.Text = R2000Commands.reboot_device(IpAddress);

            if (R2000Commands.Int16_Sucess == 1)
                TBox_Error.Text = "R2000 Rebooting "   (Char)13   (Char)10   "it will take 10 sec";

        }

        private void Chbox_AutoUpdate_CheckedChanged(object sender, EventArgs e)
        {
            if (Chbox_AutoUpdate.Checked == true)
            {
                Timer_Print.Enabled = true;
                Timer_Print.Start();

            }
            else
            {
                Timer_Print.Enabled = false;
                Timer_Print.Stop();
            }

        }

        private void BT_UpdateValue_Click(object sender, EventArgs e)
        {

            // Print Out Current Value
            // print_R2000Header();

            if (Lbl_HandleValue.Text == "Handle")
            {
                TBox_Error.Text = "Please Get Handle"   (Char)13   (Char)10;
                return;
            }


            //---------------------------------------------------------
            if (Chbox_AutoUpdate.Checked == true)
                return;


            if (BT_UpdateValue.Text == "Update Start")
            {

                if (Timer_Print.Enabled == false)
                {
                    Timer_Print.Enabled = true;
                    Timer_Print.Start();
                    BT_UpdateValue.Text = "Update Stop";
                    TBox_Error.Text = "Head Information is Updated"   (Char)13   (Char)10;
                }
                else
                {
                    BT_UpdateValue.Text = "Update Stop";
                    //BT_UpdateValue.BackColor = System  PeachPuff;

                }
            }
            else
            {
                if (Timer_Print.Enabled == true)
                {
                    //Timer_Print.Enabled = true;
                    //Timer_Print.Start();
                    BT_UpdateValue.Text = "Update Start";
                    Timer_Print.Enabled = false;
                    Timer_Print.Stop();
                    TBox_Error.Text = "Head Information Update Stopped"   (Char)13   (Char)10;

                }

            }

            HeadInfoPrinting();

        }

        private void BT_PrintSingleTurn_Click(object sender, EventArgs e)
        {

            string txt = "";
            int i;
            int startvalue;
            double SingleTurnTime = 0.0;

            //---------------------------------------------------------------------------------------

            //---------------------------------------------------------------------------------------
            if (textBox3.Text == "")
                startvalue = 0;
            else
                startvalue = Convert.ToInt32(textBox3.Text);

            if (startvalue > 25164)
                startvalue = 25164;

            txt = "Scan data point "   startvalue   "-"   (startvalue   35)   ":"   (Char)13   (Char)10;
            txt = txt   "Startpoint:     Distance mm:       Echo:       Angle:"   (Char)13   (Char)10;


            for (i = startvalue; i < (startvalue   36); i  )
            {

                txt = txt   i.ToString("000000")   "              ";


                if (R2000StreamTcpClient.R2000SingleTurnPoints[i].Distance == 0xFFFFFFFF)
                {
                    txt = txt   "-1";
                }
                else
                {
                    txt = txt   R2000StreamTcpClient.R2000SingleTurnPoints[i].Distance.ToString("000000");

                }

                txt = txt   "    |     "   R2000StreamTcpClient.R2000SingleTurnPoints[i].EchoValue.ToString("00000")
                            "    |    "   R2000StreamTcpClient.R2000SingleTurnPoints[i].Angle.ToString("000.00000")   (Char)13   (Char)10;


            }
            this.textBox_ScanPoints.Text = txt;
            this.Txb_NPS.Text = Convert.ToString(startvalue);

            this.Lbl_TotalPacket.Text = R2000StreamTcpClient.SingleTurnPacketNr.ToString("D");
            //this.Lbl_TotalTime.Text = R2000StreamTcpClient.SingleTurnTimeTotal.ToString("D");
            ///----------Calculation NTP Format Time, ps
            //
            SingleTurnTime = Convert.ToDouble(R2000StreamTcpClient.SingleTurnTimeTotal);
            SingleTurnTime = (SingleTurnTime * 1000/ 4294967296);
            this.Lbl_TotalTime.Text = SingleTurnTime.ToString("0.00000")   "ms";

            TBox_Error.Text = "Single Turn Printing Finish"   (Char)13   (Char)10;

        }

        private void BT_GetSingleTurn_Click(object sender, EventArgs e)
        {
            if (Scanstart == false)
            {
                TBox_Error.Text = "Please Start Scanning"   (Char)13   (Char)10;
                return;

            }


            R2000StreamTcpClient.SingleScanFinish = false;
            R2000StreamTcpClient.SingleTurnStart = false;

            TBox_Error.Text = "Single Turn Measurment Done"   (Char)13   (Char)10;
            
            


        }

        private void BT_STurnToFile_Click(object sender, EventArgs e)
        {
            string txt = "";
            int i;
            int startvalue = 0;

            if (Scanstart == false)
            {
                TBox_Error.Text = "Please Start Scan First "   DateTime.Now.ToString()   (Char)13   (Char)10;
                return;
            }



            //-------------------------------
            //初始化写文件
            path = Application.StartupPath   "\\"   TBox_SingleTurnFileName.Text   ".txt";

            //fs = new FileStream(path, FileMode.Create);
            fs = new FileStream(path, FileMode.Append);
            sw = new StreamWriter(fs);
            //--------------------------------
            txt = txt   "Print Start at: "   DateTime.Now.ToString()   (Char)13   (Char)10;
            txt = "Scan data point "   startvalue   "-"   (startvalue   35)   ":"   (Char)13   (Char)10;
            txt = txt   "Startpoint:     Distance mm:       Echo:       Angle:"   (Char)13   (Char)10;
            TBox_Error.Text = "Single Turn Save at:  "   (Char)13   (Char)10  DateTime.Now.ToString()   (Char)13   (Char)10;

            Write(txt);

            for (i = 0; i < 25200; i  )
            {

                //txt = txt   i.ToString("00000")   "              ";
                txt = i.ToString("00000")   "              ";

                if (R2000StreamTcpClient.R2000SingleTurnPoints[i].Distance == 0xFFFFFFFF)
                {
                    txt = txt   "-000001";
                    //txt = "-1";

                }
                else
                {
                    //txt = txt   R2000StreamTcpClient.R2000ScanPoints[i].Distance.ToString("000000");
                    txt = txt   R2000StreamTcpClient.R2000SingleTurnPoints[i].Distance.ToString("000000");

                }
                //Write(txt);

                txt = txt   "          "   R2000StreamTcpClient.R2000SingleTurnPoints[i].EchoValue.ToString("00000")
                            "         "   R2000StreamTcpClient.R2000SingleTurnPoints[i].Angle.ToString("000.00000")   (Char)13   (Char)10;

                Write(txt);

            }


            //txt = txt   "Print Stop at : "   DateTime.Now.ToString()   (Char)13   (Char)10;

            txt = "Print Stop at : "   DateTime.Now.ToString()   (Char)13   (Char)10;
            TBox_Error.Text = TBox_Error.Text   "Single Turn Ready to Write to File at  "   (Char)13   (Char)10  DateTime.Now.ToString()   (Char)13   (Char)10;
            Write(txt);
            TBox_Error.Text = TBox_Error.Text   "Write to File Finish at: "   (Char)13   (Char)10  DateTime.Now.ToString()   (Char)13   (Char)10;
            write_close();

        }

        private void BT_R2000Info_Click(object sender, EventArgs e)
        {
            frmSettingOverview frm = new frmSettingOverview();
            frm.Show();

        }

        private void BT_OpenHMIWindows_Click(object sender, EventArgs e)
        {
            frmHMIDisplay frm = new frmHMIDisplay();
            frm.Show();


        }
    }
}


标签: R2000

实例下载地址

P+F r2000 sample

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警