private void ReConnectToRobot()
        {
            string strMsg = "";

            try
            {
                if (!yamahaRCX340API.Connected)
                {
                    _iTimes++;
                    strMsg = string.Format(">{0} 断开连接,即将尝试第 {1} 次重连...", _robotData.Name, _iTimes.ToString());
                    MainModule.AddRunMessage(strMsg, OutputLevel.Warn);
                }
                yamahaRCX340API.DisconnectToYamahaRobot();
                System.Threading.Thread.Sleep(1000);
                yamahaRCX340API.ConnectToYamahaRobot(_robotData.IP, (short)_robotData.Port, (short)_robotData.ReadTimeout);
                if (yamahaRCX340API.Connected)
                {
                    _iTimes = 0;
                    MainModule.AddRunMessage(">成功建立连接。", OutputLevel.Trace);
                }
                else
                {
                    MainModule.AddRunMessage(">连接未成功。", OutputLevel.Warn);
                }
                System.Threading.Thread.Sleep(1000);
            }
            catch (Exception)
            {
            }
        }
        private void ThreadScan()
        {
            int iCount = 0;

            System.Threading.Thread.Sleep(1000);

            while (!MainModule.formMain.bExit)
            {
                System.Threading.Thread.Sleep(1000);
                try
                {
                    #region 掉线检测重连
                    if (!yamahaRCX340API.Connected)    //取消自动重连
                    {
                        if (DataManage.CheckItemExist("System", "RXC340掉线重连次数"))
                        {
                            int iLimitTimes = DataManage.IntValue("System", "RXC340掉线重连次数");
                            if (_iTimes == iLimitTimes)
                            {
                                MainModule.alarmManage.InsertAlarm(AlarmKeys.ConnectAlarm1, "与机械手 YamahaRXC340 连接断开,请检查网络后在手动页面中手动重连!");
                                MainModule.AddRunMessage(">连接未成功。", OutputLevel.Warn);
                                _iTimes++;
                                continue;
                            }
                            else if (_iTimes > iLimitTimes)
                            {
                                continue;
                            }
                        }
                        ReConnectToRobot();
                        continue;
                    }
                    #endregion

                    #region 机械手信息获取
                    if (iCount % 2 == 0)
                    {
                        //2S
                        GetAlarmStatus();
                        //GetServoStatus();
                        GetCurrentPos();
                    }
                    if (iCount > 3)
                    {
                        //3S
                        //GetCurrentVel();
                        //GetCurrDist();
                        //iCount = 0;
                    }

                    //1S
                    GetInputStatus();
                    GetOutputStatus();
                    iCount++;
                    #endregion
                }
                catch (Exception)
                {
                }
            }
        }