refactor(*):03LaserCut_V00.00.01,Spark100项目发货前功能提取

This commit is contained in:
adminwu
2024-03-14 14:21:18 +08:00
parent 1dda4f24ad
commit d045ed5fd8
46 changed files with 3457 additions and 938 deletions

View File

@@ -11,6 +11,9 @@
#define ACSCTL_RUNF_V "runF"
#define ACSCTL_RCECATADDR_V "RangeSAddr"
#define ACSCTL_RSVALUE_V "RangeV"
#define ACSCTL_RCECATADDR_V_Z0 "RangeSAddr_Z0"
#define ACSCTL_RSVALUE_V_Z0 "RangeV_Z0"
#define ACSCTL_Z0_VALUE "Z0_value"
#define ACSCTL_DI1_V "DI1"
#define ACSCTL_DI2_V "DI2"
#define ACSCTL_DO1_V "DO1"

View File

@@ -26,3 +26,30 @@ QString Buffer0AutoExeCode::getCode()
"STOP";
return code;
}
QString Buffer0AutoExeCode::getCode_2()
{
QString code("\n");
/*
* ECUNMAPIN 此函数用于将ECIN定义的所有映射重置为特定偏移量
* ECIN 将EtherCAT偏移地址的值映射到变量
*/
code+=
"AUTOEXEC:\n"
"ECUNMAPIN(RangeSAddr)\n"
"ECUNMAPIN(RangeSAddr_Z0)\n"
// 禁用报警
"SAFETYCONF ALL,#NT,\"-\"\n"
"ECIN(RangeSAddr, RangeVInt)\n"
"ECIN(RangeSAddr_Z0, RangeVInt_Z0)\n"
"WAIT 50\n"
"WHILE 1\n"
// 测距值换算为mm
"RangeV=RangeVInt/10000\n"
"RangeV_Z0=RangeVInt_Z0/10000\n"
"END\n"
"STOP";
return code;
}

View File

@@ -7,6 +7,7 @@ class Buffer0AutoExeCode
public:
Buffer0AutoExeCode();
QString getCode();
QString getCode_2();
};
#endif // BUFFER0AUTOEXECODE_H

View File

@@ -117,7 +117,7 @@ QString RSensorToZero::getCode()
QString code;
code+=
QString("GLOBAL INT DuiLingF=-1\n")+
QString("GLOBAL INT DuiLingF=-1\n")+ //粗测高标志位
QString("VEL(Z) = 2\n")+
QString("ACC(Z) = 20\n")+
QString("DEC(Z) = 20\n")+
@@ -191,3 +191,69 @@ QString RSensorToZero::getCode()
"STOP";
return code;
}
QString RSensorToZero::getCode_Z0()
{
/*
"ECIN(RangeSAddr_Z0, RangeVInt_Z0)\n"
"RangeV_Z0=RangeVInt_Z0/10000\n"
*/
QString code;
code+=
QString("VEL(Z0) = 2\n")+
QString("ACC(Z0) = 20\n")+
QString("DEC(Z0) = 20\n")+
QString("JERK(Z0) = 200\n")+
QString("KDEC(Z0) = 200\n")+
QString("PTP/e Z0, 0\n")+
"WAIT 4000\n"
"IF (RangeV_Z0-Z0_value)<-1.5\n"+
QString("VEL(Z0) = %1\n").arg(ZAAxisToSafePosVel)+
QString("ACC(Z0) = %1\n").arg(ZAAxisToSafePosVel*10)+
QString("DEC(Z0) = %1\n").arg(ZAAxisToSafePosVel*10)+
QString("JERK(Z0) = %1\n").arg(ZAAxisToSafePosVel*100)+
QString("KDEC(Z0) = %1\n").arg(ZAAxisToSafePosVel*100)+
QString("PTP/e Z0, %1\n").arg(ZAAxisSafePos)+
QString("VEL(Z0) = %1\n").arg(ZAAxisToZero1Vel)+
QString("ACC(Z0) = %1\n").arg(ZAAxisToZero1Vel*10)+
QString("DEC(Z0) = %1\n").arg(ZAAxisToZero1Vel*10)+
QString("JERK(Z0) = %1\n").arg(ZAAxisToZero1Vel*100)+
QString("KDEC(Z0) = %1\n").arg(ZAAxisToZero1Vel*100)+
"PTP Z0, -30\n"
"TILL ABS(RangeV_Z0-Z0_value) < 0.1\n"
"HALT Z0\n"
"WAIT 4000\n"+
QString("VEL(Z0) = %1\n").arg(ZAAxisToZero2Vel)+
QString("ACC(Z0) = %1\n").arg(ZAAxisToZero2Vel*10)+
QString("DEC(Z0) = %1\n").arg(ZAAxisToZero2Vel*10)+
QString("JERK(Z0) = %1\n").arg(ZAAxisToZero2Vel*100)+
QString("KDEC(Z0) = %1\n").arg(ZAAxisToZero2Vel*100)+
"PTP/er Z0, RangeV_Z0-Z0_value\n"
"WAIT 4000\n"
"ELSE\n"+
QString("VEL(Z0) = %1\n").arg(ZAAxisToZero1Vel)+
QString("ACC(Z0) = %1\n").arg(ZAAxisToZero1Vel*10)+
QString("DEC(Z0) = %1\n").arg(ZAAxisToZero1Vel*10)+
QString("JERK(Z0) = %1\n").arg(ZAAxisToZero1Vel*100)+
QString("KDEC(Z0) = %1\n").arg(ZAAxisToZero1Vel*100)+
"PTP/ER Z0,RangeV_Z0-Z0_value\n"
"WAIT 4000\n"+
QString("VEL(Z0) = %1\n").arg(ZAAxisToZero2Vel)+
QString("ACC(Z0) = %1\n").arg(ZAAxisToZero2Vel*10)+
QString("DEC(Z0) = %1\n").arg(ZAAxisToZero2Vel*10)+
QString("JERK(Z0) = %1\n").arg(ZAAxisToZero2Vel*100)+
QString("KDEC(Z0) = %1\n").arg(ZAAxisToZero2Vel*100)+
"PTP/ER Z0,RangeV_Z0-Z0_value\n"
"WAIT 4000\n"
"END\n"
"IF ABS(RangeV_Z0-Z0_value) >= 0.0003\n"+
QString("VEL(Z0) = %1\n").arg(ZAAxisToZero3Vel)+
QString("ACC(Z0) = %1\n").arg(ZAAxisToZero3Vel*10)+
QString("DEC(Z0) = %1\n").arg(ZAAxisToZero3Vel*10)+
QString("JERK(Z0) = %1\n").arg(ZAAxisToZero3Vel*100)+
QString("KDEC(Z0) = %1\n").arg(ZAAxisToZero3Vel*100)+
"PTP/er Z0, RangeV_Z0-Z0_value\n"
"END\n"
"runF = 1\n"
"STOP";
return code;
}

View File

@@ -6,6 +6,7 @@ class RSensorToZero{
public:
RSensorToZero();
QString getCode();
QString getCode_Z0();
void setZAAxisSafePos(double value);
void setZAAxisToSafePosVel(double value);
void setZAAxisToZero1Vel(double value);
@@ -13,7 +14,7 @@ public:
void setZAAxisToZero3Vel(double value);
int CuCeGaoDoNum{0};
int CuCeGaoDiNum{0};
double Z0_value;
private:
double ZAAxisSafePos{0.0};
double ZAAxisToSafePosVel{0.0};

View File

@@ -769,6 +769,76 @@ QString ToHomeCode::getCode()
return code;
}
#endif
QString ToHomeCode::getCode_z() //音圈回零测试使用
{
QString code("\n");
code +=
// 禁用Z1轴补偿
"MFLAGS(Z).17=1\n"
"ERRORMAPOFF Z,0\n"
"FDEF(Z).#LL=0\n"
"FDEF(Z).#RL=0\n"
"FMASK(Z).#SRL=0\n"
"FMASK(Z).#SLL=0\n"
"ENABLE (Z)\n"+
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)+
// Z1轴向正方向JOG移动
"JOG (Z),+\n"
// 阻塞直到Z1轴碰到右限位
"TILL FAULT(Z).#RL\n"
// 停止Z1轴
"HALT Z\n"+
QString("VEL(Z) = %1\n").arg(ZAxisFindINDVel)+
QString("ACC(Z) = %1\n").arg(ZAxisFindINDVel*10)+
QString("DEC(Z) = %1\n").arg(ZAxisFindINDVel*10)+
QString("JERK(Z) = %1\n").arg(ZAxisFindINDVel*100)+
QString("KDEC(Z) = %1\n").arg(ZAxisFindINDVel*100)+
// Z1轴向负方向移动
"JOG (Z),-\n"
// 阻塞直到Z1轴脱离右限位
"TILL ^FAULT(Z).#RL\n"
// Z1轴IND值设为0
"IST(Z).#IND=0\n"
// 阻塞直到Z1轴碰到IND信号
"TILL IST(Z).#IND\n"+
// Z1轴原点磁铁位置设置为-4mm lihongchang -2.5
QString("SET FPOS(Z)=FPOS(Z)-IND(Z)+%1\n").arg(ZAxisINDZeroOffset)+
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)+
// Z1轴回到0点
QString("PTP/e (Z),%1\n").arg(ZAxisToHomePos)+
// 设置Z1轴软限位
QString("SRLIMIT(Z)=%1\n").arg(ZAxisSRLimit)+
QString("SLLIMIT(Z)=%1\n").arg(ZAxisSLLimit)+
// 启用Z1轴软限位
"FDEF(Z).#LL=1\n"
"FDEF(Z).#RL=1\n"
"FMASK(Z).#SRL=1\n"
"FMASK(Z).#SLL=1\n"
"X_ToHomeF = 1\n"
"Y_ToHomeF = 1\n"
"Z_ToHomeF = 1\n"
"ZA_ToHomeF = 1\n"
"D_ToHomeF = 1\n"
"Z0_ToHomeF = 1\n"
"Z2_ToHomeF = 1\n"
"toHomeF = 1\n"
"runF = 1\n"
"STOP";
return code;
}
//QString ToHomeCode::getCode()
//{

View File

@@ -7,6 +7,7 @@ class ToHomeCode
public:
explicit ToHomeCode();
QString getCode();
QString getCode_z(); //<2F><>Ȧ<EFBFBD><C8A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
void setZAAxisToSafePosVel(double value);