#include "maxisabsmovecode.h" MAxisABSMoveCode::MAxisABSMoveCode() { } QString MAxisABSMoveCode::getCode_L() { QString code("\n"); code = getSurCode_L()+ "runF = 1\n" "STOP"; return code; } QString MAxisABSMoveCode::getCode() { QString code("\n"); code = getSurCode()+ "runF = 1\n" "STOP"; return code; } QString MAxisABSMoveCode::getLaserMarkCode() { QString code("\n"); code = getAutoToLaserMarkCode()+ "runF = 1\n" "STOP"; return code; } QString MAxisABSMoveCode::getToCameraCode() { QString code("\n"); code = getAutoToCameraCode()+ "runF = 1\n" "STOP"; return code; } void MAxisABSMoveCode::setXAxisTGPos(double value) { XTargetPos = value; } void MAxisABSMoveCode::setYAxisTGPos(double value) { YTargetPos = value; } void MAxisABSMoveCode::setZAxisTGPos(double value) { ZTargetPos = value; } void MAxisABSMoveCode::setZAAxisTGPos(double value) { ZATargetPos = value; } void MAxisABSMoveCode::setZ2AxisTGPos(double value) { Z2TargetPos = value; } void MAxisABSMoveCode::setZ0AxisTGPos(double value) { Z0TargetPos = value; } void MAxisABSMoveCode::setZAAxisSafePos(double value) { ZASafePos = value; } void MAxisABSMoveCode::setZAAxisToSafePosVel(double value) { ZAAxisToSafePosVel = value; } void MAxisABSMoveCode::setXAxisVel(double value) { XAxisVel = value; } void MAxisABSMoveCode::setYAxisVel(double value) { YAxisVel = value; } void MAxisABSMoveCode::setZAAxisVel(double value) { ZAAxisVel = value; } void MAxisABSMoveCode::setZ2AxisVel(double value) { Z2AxisVel = value; } void MAxisABSMoveCode::setZ0AxisVel(double value) { Z0AxisVel = value; } void MAxisABSMoveCode::setZAxisVel(double value) { ZAxisVel = value; } void MAxisABSMoveCode::setXAxisIsMove(bool value) { XAxisIsMove = value; } void MAxisABSMoveCode::setYAxisIsMove(bool value) { YAxisIsMove = value; } void MAxisABSMoveCode::setZAxisIsMove(bool value) { ZAxisIsMove = value; } void MAxisABSMoveCode::setZAAxisIsMove(bool value) { ZAAxisIsMove = value; } void MAxisABSMoveCode::setZ2AxisIsMove(bool value) { Z2AxisIsMove = value; } void MAxisABSMoveCode::setZ0AxisIsMove(bool value) { Z0AxisIsMove = value; } void MAxisABSMoveCode::disableZAAxisToSafePos(bool value) { disabelZAToSafePos = value; } void MAxisABSMoveCode::setCMRSwitch(bool value) { CMRHSwitch = value; } /*************************************************************** * 修改码:1008610010 * 日期: * 2024.3.4 * 功能: * 添加新接口,先移动Z0 **************************************************************/ QString MAxisABSMoveCode::getSurCode_L() { QString moveAxis; if(XAxisIsMove) moveAxis+="X"; if(YAxisIsMove) { if(moveAxis.isEmpty()) moveAxis+="Y"; else moveAxis+=",Y"; } if(ZAxisIsMove) { if(moveAxis.isEmpty()) moveAxis+="Z"; else moveAxis+=",Z"; } if(ZAAxisIsMove) { if(moveAxis.isEmpty()) moveAxis+="ZA"; else moveAxis+=",ZA"; } if(Z2AxisIsMove) { if(moveAxis.isEmpty()) moveAxis+="Z2"; else moveAxis+=",Z2"; } if(Z0AxisIsMove) { if(moveAxis.isEmpty()) moveAxis+="Z0"; else moveAxis+=",Z0"; } surCode+= QString("ENABLE (%1)\n").arg(moveAxis); // "REAL ZAFPos\n" // "ZAFPos = FPOS(ZA)\n"; if(Z0AxisIsMove) { surCode += QString("VEL(Z0) = %1\n").arg(Z0AxisVel)+ QString("ACC(Z0) = %1\n").arg(Z0AxisVel*10)+ QString("DEC(Z0) = %1\n").arg(Z0AxisVel*10)+ QString("JERK(Z0) = %1\n").arg(Z0AxisVel*100)+ QString("KDEC(Z0) = %1\n").arg(Z0AxisVel*100)+ QString("PTP/e Z0,%1\n").arg(Z0TargetPos,0,'f',4); Z0AxisIsMove = false; } if(!disabelZAToSafePos) { surCode+= QString("VEL(ZA) = %1\n").arg(ZAAxisToSafePosVel)+ QString("ACC(ZA) = %1\n").arg(ZAAxisToSafePosVel*10)+ QString("DEC(ZA) = %1\n").arg(ZAAxisToSafePosVel*10)+ QString("JERK(ZA) = %1\n").arg(ZAAxisToSafePosVel*100)+ QString("KDEC(ZA) = %1\n").arg(ZAAxisToSafePosVel*100)+ QString("PTP/e ZA,%1\n").arg(ZASafePos,0,'f',4); } if(XAxisIsMove&&YAxisIsMove) { surCode += QString("VEL(X) = %1\n").arg(XAxisVel)+ QString("ACC(X) = %1\n").arg(XAxisVel*10)+ QString("DEC(X) = %1\n").arg(XAxisVel*10)+ QString("JERK(X) = %1\n").arg(XAxisVel*100)+ QString("KDEC(X) = %1\n").arg(XAxisVel*100)+ QString("VEL(Y) = %1\n").arg(YAxisVel)+ QString("ACC(Y) = %1\n").arg(YAxisVel*10)+ QString("DEC(Y) = %1\n").arg(YAxisVel*10)+ QString("JERK(Y) = %1\n").arg(YAxisVel*100)+ QString("KDEC(Y) = %1\n").arg(YAxisVel*100); if(CMRHSwitch) { surCode += QString("PTP/re (X,Y),%1,%2\n").arg(XTargetPos,0,'f',4).arg(YTargetPos,0,'f',4); } else { surCode += QString("PTP/e (X,Y),%1,%2\n").arg(XTargetPos,0,'f',4).arg(YTargetPos,0,'f',4); } } else { if(XAxisIsMove) { surCode+= QString("VEL(X) = %1\n").arg(XAxisVel)+ QString("ACC(X) = %1\n").arg(XAxisVel*10)+ QString("DEC(X) = %1\n").arg(XAxisVel*10)+ QString("JERK(X) = %1\n").arg(XAxisVel*100)+ QString("KDEC(X) = %1\n").arg(XAxisVel*100)+ QString("PTP/e (X),%1\n").arg(XTargetPos,0,'f',4); } if(YAxisIsMove) { surCode+= QString("VEL(Y) = %1\n").arg(YAxisVel)+ QString("ACC(Y) = %1\n").arg(YAxisVel*10)+ QString("DEC(Y) = %1\n").arg(YAxisVel*10)+ QString("JERK(Y) = %1\n").arg(YAxisVel*100)+ QString("KDEC(Y) = %1\n").arg(YAxisVel*100)+ QString("PTP/e (Y),%1\n").arg(YTargetPos,0,'f',4); } } if(ZAAxisIsMove&&ZAxisIsMove) { surCode += QString("VEL(ZA) = %1\n").arg(ZAAxisVel)+ QString("ACC(ZA) = %1\n").arg(ZAAxisVel*10)+ QString("DEC(ZA) = %1\n").arg(ZAAxisVel*10)+ QString("JERK(ZA) = %1\n").arg(ZAAxisVel*100)+ QString("KDEC(ZA) = %1\n").arg(ZAAxisVel*100)+ QString("VEL(Z) = %1\n").arg(ZAxisVel)+ QString("ACC(Z) = %1\n").arg(ZAxisVel*10)+ QString("DEC(Z) = %1\n").arg(ZAxisVel*10)+ QString("JERK(Z) = %1\n").arg(ZAxisVel*100)+ QString("KDEC(Z) = %1\n").arg(ZAxisVel*100)+ QString("PTP/e (ZA,Z),%1,%2\n").arg(ZATargetPos,0,'f',4).arg(ZTargetPos,0,'f',4); } else { if(ZAxisIsMove) { surCode += QString("VEL(Z) = %1\n").arg(ZAxisVel)+ QString("ACC(Z) = %1\n").arg(ZAxisVel*10)+ QString("DEC(Z) = %1\n").arg(ZAxisVel*10)+ QString("JERK(Z) = %1\n").arg(ZAxisVel*100)+ QString("KDEC(Z) = %1\n").arg(ZAxisVel*100)+ QString("PTP/e Z,%1\n").arg(ZTargetPos,0,'f',4); } if(ZAAxisIsMove) { surCode += QString("VEL(ZA) = %1\n").arg(ZAAxisVel)+ QString("ACC(ZA) = %1\n").arg(ZAAxisVel*10)+ QString("DEC(ZA) = %1\n").arg(ZAAxisVel*10)+ QString("JERK(ZA) = %1\n").arg(ZAAxisVel*100)+ QString("KDEC(ZA) = %1\n").arg(ZAAxisVel*100)+ QString("PTP/e ZA,%1\n").arg(ZATargetPos,0,'f',4); } // else // { // surCode += // QString("VEL(ZA) = %1\n").arg(ZAAxisVel)+ // QString("ACC(ZA) = %1\n").arg(ZAAxisVel*10)+ // QString("DEC(ZA) = %1\n").arg(ZAAxisVel*10)+ // QString("JERK(ZA) = %1\n").arg(ZAAxisVel*100)+ // QString("KDEC(ZA) = %1\n").arg(ZAAxisVel*100)+ // //ZA回到原来位置 // "PTP/e ZA,ZAFPos\n"; // } } if(Z2AxisIsMove) { surCode += QString("VEL(Z2) = %1\n").arg(Z2AxisVel)+ QString("ACC(Z2) = %1\n").arg(Z2AxisVel*10)+ QString("DEC(Z2) = %1\n").arg(Z2AxisVel*10)+ QString("JERK(Z2) = %1\n").arg(Z2AxisVel*100)+ QString("KDEC(Z2) = %1\n").arg(Z2AxisVel*100)+ QString("PTP/e Z2,%1\n").arg(Z2TargetPos,0,'f',4); Z2AxisIsMove = false; } return surCode; } QString MAxisABSMoveCode::getSurCode() { QString moveAxis; if(XAxisIsMove) moveAxis+="X"; if(YAxisIsMove) { if(moveAxis.isEmpty()) moveAxis+="Y"; else moveAxis+=",Y"; } if(ZAxisIsMove) { if(moveAxis.isEmpty()) moveAxis+="Z"; else moveAxis+=",Z"; } if(ZAAxisIsMove) { if(moveAxis.isEmpty()) moveAxis+="ZA"; else moveAxis+=",ZA"; } if(Z2AxisIsMove) { if(moveAxis.isEmpty()) moveAxis+="Z2"; else moveAxis+=",Z2"; } surCode+= QString("ENABLE (%1)\n").arg(moveAxis); // "REAL ZAFPos\n" // "ZAFPos = FPOS(ZA)\n"; if(!disabelZAToSafePos) { surCode+= QString("VEL(ZA) = %1\n").arg(ZAAxisToSafePosVel)+ QString("ACC(ZA) = %1\n").arg(ZAAxisToSafePosVel*10)+ QString("DEC(ZA) = %1\n").arg(ZAAxisToSafePosVel*10)+ QString("JERK(ZA) = %1\n").arg(ZAAxisToSafePosVel*100)+ QString("KDEC(ZA) = %1\n").arg(ZAAxisToSafePosVel*100)+ QString("PTP/e ZA,%1\n").arg(ZASafePos,0,'f',4); } if(XAxisIsMove&&YAxisIsMove) { surCode += QString("VEL(X) = %1\n").arg(XAxisVel)+ QString("ACC(X) = %1\n").arg(XAxisVel*10)+ QString("DEC(X) = %1\n").arg(XAxisVel*10)+ QString("JERK(X) = %1\n").arg(XAxisVel*100)+ QString("KDEC(X) = %1\n").arg(XAxisVel*100)+ QString("VEL(Y) = %1\n").arg(YAxisVel)+ QString("ACC(Y) = %1\n").arg(YAxisVel*10)+ QString("DEC(Y) = %1\n").arg(YAxisVel*10)+ QString("JERK(Y) = %1\n").arg(YAxisVel*100)+ QString("KDEC(Y) = %1\n").arg(YAxisVel*100); if(CMRHSwitch) { surCode += QString("PTP/re (X,Y),%1,%2\n").arg(XTargetPos,0,'f',4).arg(YTargetPos,0,'f',4); } else { surCode += QString("PTP/e (X,Y),%1,%2\n").arg(XTargetPos,0,'f',4).arg(YTargetPos,0,'f',4); } } else { if(XAxisIsMove) { surCode+= QString("VEL(X) = %1\n").arg(XAxisVel)+ QString("ACC(X) = %1\n").arg(XAxisVel*10)+ QString("DEC(X) = %1\n").arg(XAxisVel*10)+ QString("JERK(X) = %1\n").arg(XAxisVel*100)+ QString("KDEC(X) = %1\n").arg(XAxisVel*100)+ QString("PTP/e (X),%1\n").arg(XTargetPos,0,'f',4); } if(YAxisIsMove) { surCode+= QString("VEL(Y) = %1\n").arg(YAxisVel)+ QString("ACC(Y) = %1\n").arg(YAxisVel*10)+ QString("DEC(Y) = %1\n").arg(YAxisVel*10)+ QString("JERK(Y) = %1\n").arg(YAxisVel*100)+ QString("KDEC(Y) = %1\n").arg(YAxisVel*100)+ QString("PTP/e (Y),%1\n").arg(YTargetPos,0,'f',4); } } if(ZAAxisIsMove&&ZAxisIsMove) { surCode += QString("VEL(ZA) = %1\n").arg(ZAAxisVel)+ QString("ACC(ZA) = %1\n").arg(ZAAxisVel*10)+ QString("DEC(ZA) = %1\n").arg(ZAAxisVel*10)+ QString("JERK(ZA) = %1\n").arg(ZAAxisVel*100)+ QString("KDEC(ZA) = %1\n").arg(ZAAxisVel*100)+ QString("VEL(Z) = %1\n").arg(ZAxisVel)+ QString("ACC(Z) = %1\n").arg(ZAxisVel*10)+ QString("DEC(Z) = %1\n").arg(ZAxisVel*10)+ QString("JERK(Z) = %1\n").arg(ZAxisVel*100)+ QString("KDEC(Z) = %1\n").arg(ZAxisVel*100)+ QString("PTP/e (ZA,Z),%1,%2\n").arg(ZATargetPos,0,'f',4).arg(ZTargetPos,0,'f',4); } else { if(ZAxisIsMove) { surCode += QString("VEL(Z) = %1\n").arg(ZAxisVel)+ QString("ACC(Z) = %1\n").arg(ZAxisVel*10)+ QString("DEC(Z) = %1\n").arg(ZAxisVel*10)+ QString("JERK(Z) = %1\n").arg(ZAxisVel*100)+ QString("KDEC(Z) = %1\n").arg(ZAxisVel*100)+ QString("PTP/e Z,%1\n").arg(ZTargetPos,0,'f',4); } if(ZAAxisIsMove) { surCode += QString("VEL(ZA) = %1\n").arg(ZAAxisVel)+ QString("ACC(ZA) = %1\n").arg(ZAAxisVel*10)+ QString("DEC(ZA) = %1\n").arg(ZAAxisVel*10)+ QString("JERK(ZA) = %1\n").arg(ZAAxisVel*100)+ QString("KDEC(ZA) = %1\n").arg(ZAAxisVel*100)+ QString("PTP/e ZA,%1\n").arg(ZATargetPos,0,'f',4); } // else // { // surCode += // QString("VEL(ZA) = %1\n").arg(ZAAxisVel)+ // QString("ACC(ZA) = %1\n").arg(ZAAxisVel*10)+ // QString("DEC(ZA) = %1\n").arg(ZAAxisVel*10)+ // QString("JERK(ZA) = %1\n").arg(ZAAxisVel*100)+ // QString("KDEC(ZA) = %1\n").arg(ZAAxisVel*100)+ // //ZA回到原来位置 // "PTP/e ZA,ZAFPos\n"; // } } if(Z2AxisIsMove) { surCode += QString("VEL(Z2) = %1\n").arg(Z2AxisVel)+ QString("ACC(Z2) = %1\n").arg(Z2AxisVel*10)+ QString("DEC(Z2) = %1\n").arg(Z2AxisVel*10)+ QString("JERK(Z2) = %1\n").arg(Z2AxisVel*100)+ QString("KDEC(Z2) = %1\n").arg(Z2AxisVel*100)+ QString("PTP/e Z2,%1\n").arg(Z2TargetPos,0,'f',4); Z2AxisIsMove = false; } if(Z0AxisIsMove) { surCode += QString("VEL(Z0) = %1\n").arg(Z0AxisVel)+ QString("ACC(Z0) = %1\n").arg(Z0AxisVel*10)+ QString("DEC(Z0) = %1\n").arg(Z0AxisVel*10)+ QString("JERK(Z0) = %1\n").arg(Z0AxisVel*100)+ QString("KDEC(Z0) = %1\n").arg(Z0AxisVel*100)+ QString("PTP/e Z0,%1\n").arg(Z0TargetPos,0,'f',4); Z0AxisIsMove = false; } return surCode; } QString MAxisABSMoveCode::getAutoToCameraCode() { QString moveAxis; if(XAxisIsMove) moveAxis+="X"; if(YAxisIsMove) { if(moveAxis.isEmpty()) moveAxis+="Y"; else moveAxis+=",Y"; } if(ZAxisIsMove) { if(moveAxis.isEmpty()) moveAxis+="Z"; else moveAxis+=",Z"; } if(ZAAxisIsMove) { if(moveAxis.isEmpty()) moveAxis+="ZA"; else moveAxis+=",ZA"; } if(Z2AxisIsMove) { if(moveAxis.isEmpty()) moveAxis+="Z2"; else moveAxis+=",Z2"; } surCode+= QString("ENABLE (%1)\n").arg(moveAxis); // "REAL ZAFPos\n" // "ZAFPos = FPOS(ZA)\n"; if(XAxisIsMove&&YAxisIsMove) { surCode += QString("VEL(X) = %1\n").arg(XAxisVel)+ QString("ACC(X) = %1\n").arg(XAxisVel*10)+ QString("DEC(X) = %1\n").arg(XAxisVel*10)+ QString("JERK(X) = %1\n").arg(XAxisVel*100)+ QString("KDEC(X) = %1\n").arg(XAxisVel*100)+ QString("VEL(Y) = %1\n").arg(YAxisVel)+ QString("ACC(Y) = %1\n").arg(YAxisVel*10)+ QString("DEC(Y) = %1\n").arg(YAxisVel*10)+ QString("JERK(Y) = %1\n").arg(YAxisVel*100)+ QString("KDEC(Y) = %1\n").arg(YAxisVel*100); } { if(ZAAxisIsMove) { surCode += QString("VEL(ZA) = %1\n").arg(ZAAxisVel)+ QString("ACC(ZA) = %1\n").arg(ZAAxisVel*10)+ QString("DEC(ZA) = %1\n").arg(ZAAxisVel*10)+ QString("JERK(ZA) = %1\n").arg(ZAAxisVel*100)+ QString("KDEC(ZA) = %1\n").arg(ZAAxisVel*100); } surCode += QString("PTP/e (X,Y,ZA),%1,%2,%3\n").arg(XTargetPos).arg(YTargetPos).arg(ZATargetPos); } return surCode; } QString MAxisABSMoveCode::getAutoToLaserMarkCode() { QString moveAxis; if(XAxisIsMove) moveAxis+="X"; if(YAxisIsMove) { if(moveAxis.isEmpty()) moveAxis+="Y"; else moveAxis+=",Y"; } if(ZAxisIsMove) { if(moveAxis.isEmpty()) moveAxis+="Z"; else moveAxis+=",Z"; } if(ZAAxisIsMove) { if(moveAxis.isEmpty()) moveAxis+="ZA"; else moveAxis+=",ZA"; } if(Z2AxisIsMove) { if(moveAxis.isEmpty()) moveAxis+="Z2"; else moveAxis+=",Z2"; } surCode+= QString("ENABLE (%1)\n").arg(moveAxis); // "REAL ZAFPos\n" // "ZAFPos = FPOS(ZA)\n"; //if(!disabelZAToSafePos) { surCode+= QString("VEL(ZA) = %1\n").arg(ZAAxisToSafePosVel)+ QString("ACC(ZA) = %1\n").arg(ZAAxisToSafePosVel*10)+ QString("DEC(ZA) = %1\n").arg(ZAAxisToSafePosVel*10)+ QString("JERK(ZA) = %1\n").arg(ZAAxisToSafePosVel*100)+ QString("KDEC(ZA) = %1\n").arg(ZAAxisToSafePosVel*100)+ QString("PTP/e ZA,%1\n").arg(ZASafePos); } //if(XAxisIsMove&&YAxisIsMove) { surCode += QString("VEL(X) = %1\n").arg(XAxisVel)+ QString("ACC(X) = %1\n").arg(XAxisVel*10)+ QString("DEC(X) = %1\n").arg(XAxisVel*10)+ QString("JERK(X) = %1\n").arg(XAxisVel*100)+ QString("KDEC(X) = %1\n").arg(XAxisVel*100)+ QString("VEL(Y) = %1\n").arg(YAxisVel)+ QString("ACC(Y) = %1\n").arg(YAxisVel*10)+ QString("DEC(Y) = %1\n").arg(YAxisVel*10)+ QString("JERK(Y) = %1\n").arg(YAxisVel*100)+ QString("KDEC(Y) = %1\n").arg(YAxisVel*100); } { surCode += QString("VEL(Z2) = %1\n").arg(Z2AxisVel)+ QString("ACC(Z2) = %1\n").arg(Z2AxisVel*10)+ QString("DEC(Z2) = %1\n").arg(Z2AxisVel*10)+ QString("JERK(Z2) = %1\n").arg(Z2AxisVel*100)+ QString("KDEC(Z2) = %1\n").arg(Z2AxisVel*100)+ QString("PTP/e (X,Y,Z2),%1,%2,%3\n").arg(XTargetPos).arg(YTargetPos).arg(Z2TargetPos); } return surCode; }