📄 cncparse.c
字号:
else if ((Mcode>=200)&&(Mcode<=231)){
for (i=0;i<23;i++) {
if (MacroBuf[Mcode-200]==McodeType[i]) {
if (flag==1) {
data->MST[0]=-MacroBuf[Mcode-200];
}
else {
data->MST[0]=MacroBuf[Mcode-200];
}
bOffLimits=FALSE;
return bOffLimits;
}
}
if (ParaBuf[IsOutMSTWarn]==0) {
// Uart_Printf("chaos2\n");
CNC_ERR=181;
CNC_IsErr=1;
bOffLimits=FALSE;
return bOffLimits;
}
else {
MSTIllegal=1;
if (MDI_Flag==1) {
CNC_ERR=130;
CNC_IsErr=1;
//return;
}
MSTFlag=0;
if (flag==1) {
data->MST[0]=-MacroBuf[Mcode-200];
}
else {
data->MST[0]=MacroBuf[Mcode-200];
}
bOffLimits=FALSE;
return bOffLimits;
}
}
else if ((Mcode>=500)&&(Mcode<=515)){
for (i=0;i<23;i++) {
if (MacroBuf[Mcode-468]==McodeType[i]) {
if (flag==1) {
data->MST[0]=-MacroBuf[Mcode-468];
}
else {
data->MST[0]=MacroBuf[Mcode-468];
}
bOffLimits=FALSE;
return bOffLimits;
}
}
if (ParaBuf[IsOutMSTWarn]==0) {
// Uart_Printf("chaos2\n");
CNC_ERR=181;
CNC_IsErr=1;
bOffLimits=FALSE;
return bOffLimits;
}
else {
MSTIllegal=1;
if (MDI_Flag==1) {
CNC_ERR=130;
CNC_IsErr=1;
//return;
}
MSTFlag=0;
if (flag==1) {
data->MST[0]=-MacroBuf[Mcode-468];
}
else {
data->MST[0]=MacroBuf[Mcode-468];
}
bOffLimits=FALSE;
return bOffLimits;
}
}
else if ((Mcode>=9200)&&(Mcode<=9231)){
Mcode=Mcode-(int)(Mcode/1000.0)*1000;
if ((MacroBuf[(int)(Mcode-200)]<200)||((MacroBuf[(int)(Mcode-200)]>231)&&(MacroBuf[(int)(Mcode-200)]<500))||(MacroBuf[(int)(Mcode-200)]>515)) {
VarOverLimitError();
}
if((MacroBuf[(int)(Mcode-200)]>=200)&&(MacroBuf[(int)(Mcode-200)]<=231)){
for (i=0;i<23;i++) {
if (MacroBuf[(int)(MacroBuf[(int)(Mcode-200)]-200)]==McodeType[i]) {
if (flag==1) {
data->MST[0]=-MacroBuf[(int)(MacroBuf[(int)(Mcode-200)]-200)];
}
else {
data->MST[0]=MacroBuf[(int)(MacroBuf[(int)(Mcode-200)]-200)];
}
bOffLimits=FALSE;
return bOffLimits;
}
}
if (ParaBuf[IsOutMSTWarn]==0) {
// Uart_Printf("chaos3\n");
CNC_ERR=181;
CNC_IsErr=1;
bOffLimits=FALSE;
return bOffLimits;
}
else {
MSTIllegal=1;
if (MDI_Flag==1) {
CNC_ERR=130;
CNC_IsErr=1;
//return;
}
MSTFlag=0;
if (flag==1) {
data->MST[0]=-MacroBuf[(int)(MacroBuf[(int)(Mcode-200)]-200)];
}
else {
data->MST[0]=MacroBuf[(int)(MacroBuf[(int)(Mcode-200)]-200)];
}
bOffLimits=FALSE;
return bOffLimits;
}
}
else{
for (i=0;i<23;i++) {
if (MacroBuf[(int)(MacroBuf[(int)(Mcode-200)]-468)]==McodeType[i]) {
if (flag==1) {
data->MST[0]=-MacroBuf[(int)(MacroBuf[(int)(Mcode-200)]-468)];
}
else {
data->MST[0]=MacroBuf[(int)(MacroBuf[(int)(Mcode-200)]-468)];
}
bOffLimits=FALSE;
return bOffLimits;
}
}
if (ParaBuf[IsOutMSTWarn]==0) {
// Uart_Printf("chaos3\n");
CNC_ERR=181;
CNC_IsErr=1;
bOffLimits=FALSE;
return bOffLimits;
}
else {
MSTIllegal=1;
if (MDI_Flag==1) {
CNC_ERR=130;
CNC_IsErr=1;
//return;
}
MSTFlag=0;
if (flag==1) {
data->MST[0]=-MacroBuf[(int)(MacroBuf[(int)(Mcode-200)]-468)];
}
else {
data->MST[0]=MacroBuf[(int)(MacroBuf[(int)(Mcode-200)]-468)];
}
bOffLimits=FALSE;
return bOffLimits;
}
}
}
else if ((Mcode>=9500)&&(Mcode<=9515)){
Mcode=Mcode-(int)(Mcode/1000.0)*1000;
if ((MacroBuf[(int)(Mcode-468)]<200)||((MacroBuf[(int)(Mcode-468)]>231)&&(MacroBuf[(int)(Mcode-468)]<500))||(MacroBuf[(int)(Mcode-468)]>515)) {
VarOverLimitError();
}
if((MacroBuf[(int)(Mcode-468)]>=200)&&(MacroBuf[(int)(Mcode-468)]<=231)){
for (i=0;i<23;i++) {
if (MacroBuf[(int)(MacroBuf[(int)(Mcode-468)]-200)]==McodeType[i]) {
if (flag==1) {
data->MST[0]=-MacroBuf[(int)(MacroBuf[(int)(Mcode-468)]-200)];
}
else {
data->MST[0]=MacroBuf[(int)(MacroBuf[(int)(Mcode-468)]-200)];
}
bOffLimits=FALSE;
return bOffLimits;
}
}
if (ParaBuf[IsOutMSTWarn]==0) {
// Uart_Printf("chaos3\n");
CNC_ERR=181;
CNC_IsErr=1;
bOffLimits=FALSE;
return bOffLimits;
}
else {
MSTIllegal=1;
if (MDI_Flag==1) {
CNC_ERR=130;
CNC_IsErr=1;
//return;
}
MSTFlag=0;
if (flag==1) {
data->MST[0]=-MacroBuf[(int)(MacroBuf[(int)(Mcode-468)]-200)];
}
else {
data->MST[0]=MacroBuf[(int)(MacroBuf[(int)(Mcode-468)]-200)];
}
bOffLimits=FALSE;
return bOffLimits;
}
}
else{
for (i=0;i<23;i++) {
if (MacroBuf[(int)(MacroBuf[(int)(Mcode-468)]-468)]==McodeType[i]) {
if (flag==1) {
data->MST[0]=-MacroBuf[(int)(MacroBuf[(int)(Mcode-468)]-468)];
}
else {
data->MST[0]=MacroBuf[(int)(MacroBuf[(int)(Mcode-468)]-468)];
}
bOffLimits=FALSE;
return bOffLimits;
}
}
if (ParaBuf[IsOutMSTWarn]==0) {
// Uart_Printf("chaos3\n");
CNC_ERR=181;
CNC_IsErr=1;
bOffLimits=FALSE;
return bOffLimits;
}
else {
MSTIllegal=1;
if (MDI_Flag==1) {
CNC_ERR=130;
CNC_IsErr=1;
//return;
}
MSTFlag=0;
if (flag==1) {
data->MST[0]=-MacroBuf[(int)(MacroBuf[(int)(Mcode-468)]-468)];
}
else {
data->MST[0]=MacroBuf[(int)(MacroBuf[(int)(Mcode-468)]-468)];
}
bOffLimits=FALSE;
return bOffLimits;
}
}
}
}
return bOffLimits;
}
int N_stmt(dataInterp *data,long Ncode) {
// int flag=0; //用于标记-#和#,0:# 1:-#
int bOffLimits = FALSE;
if (G65Flag==0) {
if ((Ncode > 32767) || (Ncode < 1)) {
bOffLimits = TRUE;
}
else {
data->nNo = Ncode;
}
}
else if (G65Flag==1) {
G65Flag=0;
VarNOError();
//eturn;
}
return bOffLimits;
}
int F_stmt(dataInterp *data,double Fcode) {
int flag=0; //用于标记-#和#,0:# 1:-#
int offLimits = FALSE;
data->Fflag=1;
if (G65Flag==0) {
if (Fcode<0) {
CNC_ERR=11 ;
CNC_IsErr=1;
}
else {
data->Fcode=Fcode;
}
}
else if (G65Flag==1) {
G65Flag=0;
if (Fcode<0) {
flag=1;
Fcode=-Fcode;
}
if ((Fcode<200)||((Fcode>231)&&(Fcode<500))||((Fcode>515)&&(Fcode<9200))||((Fcode>9231)&&(Fcode<9500))||(Fcode>9515)) {
VarOverLimitError();
}
else if ((Fcode>=200)&&(Fcode<=231)){
if ((MacroBuf[(int)(Fcode-200)] > 15000.0) || (MacroBuf[(int)(Fcode-200)] < 0.001)) {
//offLimits = TRUE;
//CNC_ERR=11;
//CNC_IsErr=1;
}
else if (MacroBuf[(int)(Fcode-200)]<0) {
CNC_ERR=11;
CNC_IsErr=1;
}
else {
if (flag==1) {
data->Fcode=-MacroBuf[(int)(Fcode-200)];
}
else {
data->Fcode=MacroBuf[(int)(Fcode-200)];
}
}
}
else if ((Fcode>=500)&&(Fcode<=515)){
if ((MacroBuf[(int)(Fcode-468)] > 15000.0) || (MacroBuf[(int)(Fcode-468)] < 0.001)) {
//offLimits = TRUE;
//CNC_ERR=11;
//CNC_IsErr=1;
}
else if (MacroBuf[(int)(Fcode-468)]<0) {
CNC_ERR=11;
CNC_IsErr=1;
}
else {
if (flag==1) {
data->Fcode=-MacroBuf[(int)(Fcode-468)];
}
else {
data->Fcode=MacroBuf[(int)(Fcode-468)];
}
}
}
else if ((Fcode>=9200)&&(Fcode<=9231)){
Fcode=Fcode-(int)(Fcode/1000.0)*1000;
if ((MacroBuf[(int)(Fcode-200)]<200)||((MacroBuf[(int)(Fcode-200)]>231)&&(MacroBuf[(int)(Fcode-200)]<500))||(MacroBuf[(int)(Fcode-200)]>515)) {
VarOverLimitError();
}
if((MacroBuf[(int)(Fcode-200)]>=200)&&(MacroBuf[(int)(Fcode-200)]<=231)){
if ((MacroBuf[(int)(MacroBuf[(int)(Fcode-200)]-200)] > 15000.0) || (MacroBuf[(int)(MacroBuf[(int)(Fcode-200)]-200)] < 0.001)) {
//offLimits = TRUE;
//CNC_ERR=11;
//CNC_IsErr=1;
}
else if (MacroBuf[(int)(MacroBuf[(int)(Fcode-200)]-200)]<0) {
CNC_ERR=11;
CNC_IsErr=1;
}
else {
if (flag==1) {
data->Fcode=-MacroBuf[(int)(MacroBuf[(int)(Fcode-200)]-200)];
}
else {
data->Fcode=MacroBuf[(int)(MacroBuf[(int)(Fcode-200)]-200)];
}
}
}
else{
if ((MacroBuf[(int)(MacroBuf[(int)(Fcode-200)]-468)] > 15000.0) || (MacroBuf[(int)(MacroBuf[(int)(Fcode-200)]-468)] < 0.001)) {
//offLimits = TRUE;
//CNC_ERR=11;
//CNC_IsErr=1;
}
else if (MacroBuf[(int)(MacroBuf[(int)(Fcode-200)]-468)]<0) {
CNC_ERR=11;
CNC_IsErr=1;
}
else {
if (flag==1) {
data->Fcode=-MacroBuf[(int)(MacroBuf[(int)(Fcode-200)]-468)];
}
else {
data->Fcode=MacroBuf[(int)(MacroBuf[(int)(Fcode-200)]-468)];
}
}
}
}
else{
Fcode=Fcode-(int)(Fcode/1000.0)*1000;
if ((MacroBuf[(int)(Fcode-468)]<200)||((MacroBuf[(int)(Fcode-468)]>231)&&(MacroBuf[(int)(Fcode-468)]<500))||(MacroBuf[(int)(Fcode-468)]>515)) {
VarOverLimitError();
}
if((MacroBuf[(int)(Fcode-468)]>=200)&&(MacroBuf[(int)(Fcode-468)]<=231)){
if ((MacroBuf[(int)(MacroBuf[(int)(Fcode-468)]-200)] > 15000.0) || (MacroBuf[(int)(MacroBuf[(int)(Fcode-468)]-200)] < 0.001)) {
//offLimits = TRUE;
//CNC_ERR=11;
//CNC_IsErr=1;
}
else if (MacroBuf[(int)(MacroBuf[(int)(Fcode-468)]-200)]<0) {
CNC_ERR=11;
CNC_IsErr=1;
}
else {
if (flag==1) {
data->Fcode=-MacroBuf[(int)(MacroBuf[(int)(Fcode-468)]-200)];
}
else {
data->Fcode=MacroBuf[(int)(MacroBuf[(int)(Fcode-468)]-200)];
}
}
}
else{
if ((MacroBuf[(int)(MacroBuf[(int)(Fcode-468)]-468)] > 15000.0) || (MacroBuf[(int)(MacroBuf[(int)(Fcode-468)]-468)] < 0.001)) {
//offLimits = TRUE;
//CNC_ERR=11;
//CNC_IsErr=1;
}
else if (MacroBuf[(int)(MacroBuf[(int)(Fcode-468)]-468)]<0) {
CNC_ERR=11;
CNC_IsErr=1;
}
else {
if (flag==1) {
data->Fcode=-MacroBuf[(int)(MacroBuf[(int)(Fcode-468)]-468)];
}
else {
data->Fcode=MacroBuf[(int)(MacroBuf[(int)(Fcode-468)]-468)];
}
}
}
}
}
if (ParaBuf[DotProg]==0) data->Fcode=data->Fcode/1000;
return offLimits;
}
int S_stmt(dataInterp *data,int Scode) {
int flag=0; //用于标记-#和#,0:# 1:-#
int offLimits = FALSE;
data->Sflag=1;
if (G65Flag==0) {
if ((Scode >9999 ) || (Scode < 0)) {
offLimits = TRUE;
CNC_ERR=182;
CNC_IsErr=1;
//return;
}
else {
data->MST[2]=Scode;
}
if (Scode>=100) {
data->MST[3]=4;
}
else {
data->MST[3]=2;
}
if(Scode>8){
MSTIllegal=1;
MSTFlag=1;
}
}
else if (G65Flag==1) {
G65Flag=0;
if (Scode<0) {
flag=1;
Scode=-Scode;
}
if ((Scode<200)||((Scode>231)&&(Scode<500))||((Scode>515)&&(Scode<9200))||((Scode>9231)&&(Scode<9500))||(Scode>9515)) {
VarOverLimitError();
}
else if ((Scode>=200)&&(Scode<=231)){
if ((MacroBuf[Scode-200] >9999 ) || (MacroBuf[Scode-200] < 0)) {
offLimits = TRUE;
CNC_ERR=182;
CNC_IsErr=1;
// return;
}
else {
if (flag==1) {
data->MST[2]=-MacroBuf[Scode-200];
}
else {
data->MST[2]=MacroBuf[Scode-200];
}
MSTIllegal=0;
}
if (MacroBuf[Scode-200]>=100) {
data->MST[3]=4;
}
else {
data->MST[3]=2;
}
if (MacroBuf[Scode-200]>8) {
MSTIllegal=1;
MSTFlag=1;
}
}
else if ((Scode>=500)&&(Scode<=515)){
if ((MacroBuf[Scode-468] >9999 ) || (MacroBuf[Scode-468] < 0)) {
offLimits = TRUE;
CNC_ERR=182;
CNC_IsErr=1;
// return;
}
else {
if (flag==1) {
data->MST[2]=-MacroBuf[Scode-468];
}
else {
data->MST[2]=MacroBuf[Scode-468];
}
MSTIllegal=0;
}
if (MacroBuf[Scode-468]>=100) {
data->MST[3]=4;
}
else {
data->MST[3]=2;
}
if (MacroBuf[Scode-468]>8) {
MSTIllegal=1;
MSTFlag=1;
}
}
else if ((Scode>=9200)&&(Scode<=9231)){
Scode=Scode-(int)(Scode/1000.0)*1000;
if ((MacroBuf[(int)(Scode-200)]<200)||((MacroBuf[(int)(Scode-200)]>231)&&(MacroBuf[(int)(Scode-200)]<500))||(MacroBuf[(int)(Scode-200)]>515)) {
VarOverLimitError();
}
if((MacroBuf[(int)(Scode-200)]>=200)&&(MacroBuf[(int)(Scode-200)]<=231)){
if ((MacroBuf[(int)(MacroBuf[(int)(Scode-200)]-200)] >9999 ) || (MacroBuf[(int)(MacroBuf[(int)(Scode-200)]-200)] < 0)) {
offLimits = TRUE;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -