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) { } } }