public bool InitCard() { try { short rtn; lock (cardActLock) { //连接控制器 rtn = GT400.GT_Open(); Error("打开控制卡", rtn); if (0 != rtn) { isLink = false; return(false); } rtn = GT400.GT_Reset(); runningError("控制卡复位", rtn); if (0 != rtn) { isLink = false; return(false); } ushort sense = 0xffff; rtn = GT400.GT_LmtSns(sense); //设置限位开关触发电平 runningError("设置限位开关电平", rtn); if (0 != rtn) { isLink = false; return(false); } } for (int i = 0; i < axisNum; i++) { lock (cardActLock) { //设置轴参数 rtn = GT400.GT_Axis((ushort)(i + 1)); //切换到测试轴 runningError("设置当前轴", rtn); if (0 != rtn) { isLink = false; return(false); } rtn = GT400.GT_ClrSts(); //清除不正常状态 runningError("GT_ClrSts", rtn); if (0 != rtn) { isLink = false; return(false); } rtn = GT400.GT_StepDir(); //脉冲方式为‘脉冲+方向’,必须与驱动器的设置一致 runningError("GT_StepDir", rtn); if (0 != rtn) { isLink = false; return(false); } //闭环模式下必须设置PID rtn = GT400.GT_AxisOn(); //伺服使能,如果驱动器没有上伺服,请检查:1、测试轴是否是axis 1,2、端子板及驱动器是否上电 runningError("GT_AxisOn", rtn); if (0 != rtn) { isLink = false; return(false); } rtn = GT400.GT_PrflS(); //rtn = GT400.GT_PrflT(); //T曲线 runningError("当前轴设定为S曲线", rtn); if (0 != rtn) { isLink = false; return(false); } } } isLink = true; return(true); } catch (Exception ex) { Util.Notify("控制卡打开失败 错误原因" + ex.Message); //Notify("控制卡打开失败 错误原因" + ex.Message); CloseCom(); isLink = false; return(false); } }