/// <summary> /// 轴动作完成 /// </summary> /// <param name="AxisName"></param> /// <param name="errMsg"></param> /// <param name="timeoutSelSecond"></param> /// <returns></returns> private int MotionDone(string AxisName, out string errMsg, int timeoutSelSecond = 60000) { DateTime starttime = new DateTime(); errMsg = ""; IJFInitializable dev; JFDevCellInfo ci; if (!JFCMFunction.CheckDevCellName(JFCMFunction.Axis, AxisName, out dev, out ci, out errMsg)) { return((int)ErrorDef.InvokeFailed); } IJFModule_Motion md = (dev as IJFDevice_MotionDaq).GetMc(ci.ModuleIndex); while (true) { if (md.IsMDN(ci.ChannelIndex)) { break; } DateTime nowtime = new DateTime(); if (nowtime.Subtract(starttime).TotalMilliseconds > timeoutSelSecond) { return((int)ErrorDef.Timeout); } Thread.Sleep(10); } return((int)ErrorDef.Success); }
void UpdateModuleStatus() { if (InvokeRequired) { Invoke(new Action(UpdateModuleStatus)); return; } if (null == _module) { return; } if (tabCtrl.SelectedIndex == 0) //更新单轴控制界面 { for (int i = 0; i < _module.AxisCount; i++) { _lstStatus[i].UpdateAxisStatus(); _lstTest[i].UpdateAxisUI(); } } else //更新插补测试界面 { if (dgvLinePos.Rows.Count > 0) //更新直线查补控件 { for (int i = 0; i < dgvLinePos.Rows.Count; i++) { DataGridViewRow row = dgvLinePos.Rows[i]; string axisIDTxt = row.Cells[0].Value as string; if (!string.IsNullOrEmpty(axisIDTxt)) { int axisID = Convert.ToInt32(axisIDTxt); if (axisID <= _module.AxisCount) { double currPos = 0; int err = _module.GetFbkPos(axisID, out currPos); if (err != 0) { row.Cells[2].Value = "获取失败"; } else { row.Cells[2].Value = currPos.ToString("F3"); } if (_module.IsMDN(axisID)) { lampLineDone.LampColor = LampButton.LColor.Green; } else { lampLineDone.LampColor = LampButton.LColor.Gray; } } else { row.Cells[2].Value = "轴序号错误"; } } else { row.Cells[2].Value = ""; } } } } }