Thread thread;                               //线程定义
        public MainFrom()
        {
            InitializeComponent();
            scanf_all_controllers();                      //浏览所有控制器并显示
            CameraTuYang.camera_init(true, 80, 50);       //初始化camera
            Thread.Sleep(200);
            Img_modeBox.SelectedIndex     = 2;            //初始化显示3d深度
            CaramaNumComBox.SelectedIndex = 0;            //初始化显示1号相机
            //映美精初始化
            YMJcamera.CameraInitialize(icImagingControl); //初始化相机
            YMJcamera.StartLiveVideo(icImagingControl);   //打开映美金相机
            YMJcamera.TriEnable(icImagingControl);        //触发使能
            if (AbbCtrl != null)
            {
                IO_IN_EVENT_INIT(AbbCtrl, "GroupIN_0_15");   //初始化io输入事件
                IO_OUT_EVENT_INIT(AbbCtrl, "GroupOUT_0_15"); //初始化io输出事件

                Thread.Sleep(20);
                abbController.SetIOStatus(AbbCtrl, "Local_IO_0_DO4");                     //红灯亮
                Thread.Sleep(20);
                abbController.ResetIOStatus(AbbCtrl, "Local_IO_0_DO5");                   //绿灯灭
                Thread.Sleep(20);
                BackwardCylinder = abbController.SetIOStatus(AbbCtrl, "Local_IO_0_DO14"); //后挡要默认挡住
            }
            GLB.savebuf = FileOperation.ReadByteFile("config.txt", GLB.savebuf);          //读取存储的数据
            produceTypeComboBox.SelectedIndex = GLB.savebuf[0];                           //产品类型初始化

            logoBox.Image = Image.FromFile(@"..\bata_logo.png");
        }
 /// <summary>
 /// 关闭窗口
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void MainFrom_FormClosing(object sender, FormClosingEventArgs e)
 {
     if (ProgramStart == true)
     {
         MessageBox.Show("系统提示!", "系统正在工作,你确定要关闭系统吗?", MessageBoxButtons.OKCancel);
         DialogResult dialogResult = new DialogResult();
         if (dialogResult == DialogResult.OK)
         {
             //关闭系统
             ProgramStart = false;
             ProgramRunBtn.PerformClick();
             CameraTuYang.close_camera();               //停止图漾Camera
             YMJcamera.StopLiveVideo(icImagingControl); //停止映美金
         }
         else
         {
             return;
         }
     }
     else
     {
         CameraTuYang.close_camera();               //停止图漾Camera
         YMJcamera.StopLiveVideo(icImagingControl); //停止映美金
     }
 }
        /// <summary>
        /// 定时器刷新显示
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void timer1_Tick(object sender, EventArgs e)
        {
            timer1.Enabled = false;
            byte[]  mycolor      = new byte[GLB.BUFSIZE];      //彩色一维数数;
            float[] myp3d        = new float[GLB.BUFSIZE];     //真3D数据
            byte[]  rgbOut       = new byte[GLB.BUFSIZE];      //校正后彩色图像,length=3*width*height
            byte[]  mycolorDepth = new byte[GLB.BUFSIZE];      //彩色叠加深度
            //输出功能选择:
            if (GLB.Camera_index < 1 && GLB.Camera_index >= 0) //前两个相机为图漾相机
            {
                CameraTuYang.softTrigg(GLB.Camera_index);
                Thread.Sleep(150);
                if (GLB.img_mode == 0)//显示彩色图像
                {
                    CameraTuYang.getColor(mycolor, GLB.Camera_index);
                    CameraTuYang.display_color(mycolor, ptbDisplay);
                }
                else if (GLB.img_mode == 1)//显示校正后彩色图像
                {
                    CameraTuYang.getColor(mycolor, GLB.Camera_index);
                    CameraTuYang.cameraGetUndistortRGBImage(mycolor, GLB.BUFW, GLB.BUFH, GLB.Camera_index, rgbOut);//获取校正后彩色图像
                    CameraTuYang.display_color2(rgbOut, ptbDisplay);
                }
                else if (GLB.img_mode == 2)//显示真三维图像
                {
                    CameraTuYang.get3D(myp3d, GLB.Camera_index);
                    CameraTuYang.display_point_3d(GLB.Camera_index, myp3d, ptbDisplay);
                }
                else if (GLB.img_mode == 3)//显示彩色叠加深度
                {
                    CameraTuYang.get3D(myp3d, GLB.Camera_index);
                    CameraTuYang.softTrigg(GLB.Camera_index);
                    Thread.Sleep(150);
                    CameraTuYang.getColorDepth(mycolorDepth, GLB.Camera_index);
                    CameraTuYang.display_colorDepth(mycolorDepth, myp3d, ptbDisplay);
                }
            }
            else
            {
                Thread.Sleep(5);
            }

            if (Emergency_Stop_Alarm == true)                           //紧急停止报警
            {
                abbController.ResetIOStatus(AbbCtrl, "Local_IO_0_DO4"); //红灯灭
                abbController.SetIOStatus(AbbCtrl, "Local_IO_0_DO6");   //蜂鸣
                Thread.Sleep(600);
                abbController.SetIOStatus(AbbCtrl, "Local_IO_0_DO4");   //红灯亮
                abbController.ResetIOStatus(AbbCtrl, "Local_IO_0_DO6");
                Thread.Sleep(600);
            }
            this.Text      = GLB.TitleStr;
            timer1.Enabled = true;
        }