📄 cncparse.c
字号:
CNC_ERR=182;
CNC_IsErr=1;
// return;
}
else {
if (flag==1) {
data->MST[2]=-MacroBuf[(int)(MacroBuf[(int)(Scode-200)]-200)];
}
else {
data->MST[2]=MacroBuf[(int)(MacroBuf[(int)(Scode-200)]-200)];
}
MSTIllegal=0;
}
if (MacroBuf[(int)(MacroBuf[(int)(Scode-200)]-200)]>=100) {
data->MST[3]=4;
}
else {
data->MST[3]=2;
}
if (MacroBuf[(int)(MacroBuf[(int)(Scode-200)]-200)]>=8) {
MSTIllegal=1;
MSTFlag=1;
}
}
else{
if ((MacroBuf[(int)(MacroBuf[(int)(Scode-200)]-468)] >9999 ) || (MacroBuf[(int)(MacroBuf[(int)(Scode-200)]-468)] < 0)) {
offLimits = TRUE;
CNC_ERR=182;
CNC_IsErr=1;
// return;
}
else {
if (flag==1) {
data->MST[2]=-MacroBuf[(int)(MacroBuf[(int)(Scode-200)]-468)];
}
else {
data->MST[2]=MacroBuf[(int)(MacroBuf[(int)(Scode-200)]-468)];
}
MSTIllegal=0;
}
if (MacroBuf[(int)(MacroBuf[(int)(Scode-200)]-468)]>=100) {
data->MST[3]=4;
}
else {
data->MST[3]=2;
}
if (MacroBuf[(int)(MacroBuf[(int)(Scode-200)]-468)]>=8) {
MSTIllegal=1;
MSTFlag=1;
}
}
}
else{
Scode=Scode-(int)(Scode/1000.0)*1000;
if ((MacroBuf[(int)(Scode-468)]<200)||((MacroBuf[(int)(Scode-468)]>231)&&(MacroBuf[(int)(Scode-468)]<500))||(MacroBuf[(int)(Scode-468)]>515)) {
VarOverLimitError();
}
if((MacroBuf[(int)(Scode-468)]>=200)&&(MacroBuf[(int)(Scode-468)]<=231)){
if ((MacroBuf[(int)(MacroBuf[(int)(Scode-468)]-200)] >9999 ) || (MacroBuf[(int)(MacroBuf[(int)(Scode-468)]-200)] < 0)) {
offLimits = TRUE;
CNC_ERR=182;
CNC_IsErr=1;
// return;
}
else {
if (flag==1) {
data->MST[2]=-MacroBuf[(int)(MacroBuf[(int)(Scode-468)]-200)];
}
else {
data->MST[2]=MacroBuf[(int)(MacroBuf[(int)(Scode-468)]-200)];
}
MSTIllegal=0;
}
if (MacroBuf[(int)(MacroBuf[(int)(Scode-468)]-200)]>=100) {
data->MST[3]=4;
}
else {
data->MST[3]=2;
}
if (MacroBuf[(int)(MacroBuf[(int)(Scode-468)]-200)]>=8) {
MSTIllegal=1;
MSTFlag=1;
}
}
else{
if ((MacroBuf[(int)(MacroBuf[(int)(Scode-468)]-468)] >9999 ) || (MacroBuf[(int)(MacroBuf[(int)(Scode-468)]-468)] < 0)) {
offLimits = TRUE;
CNC_ERR=182;
CNC_IsErr=1;
// return;
}
else {
if (flag==1) {
data->MST[2]=-MacroBuf[(int)(MacroBuf[(int)(Scode-468)]-468)];
}
else {
data->MST[2]=MacroBuf[(int)(MacroBuf[(int)(Scode-468)]-468)];
}
MSTIllegal=0;
}
if (MacroBuf[(int)(MacroBuf[(int)(Scode-468)]-468)]>=100) {
data->MST[3]=4;
}
else {
data->MST[3]=2;
}
if (MacroBuf[(int)(MacroBuf[(int)(Scode-468)]-468)]>=8) {
MSTIllegal=1;
MSTFlag=1;
}
}
}
}
return offLimits;
}
int T_stmt(dataInterp *data,int Tcode) {
int flag=0; //用于标记-#和#,0:# 1:-#
int offLimits = FALSE;
data->Tflag=1;
if (G65Flag==0) {
if ((Tcode >9999 ) || (Tcode < 0)){
offLimits = TRUE;
CNC_ERR=183;
CNC_IsErr=1;
//return;
}
else {
data->MST[1]=Tcode;
MSTIllegal=0;
if ((data->MST[1]>=10)&&(data->MST[1]<=99)&&(ParaBuf[IsOutMSTWarn]==1)) {
MSTIllegal=1;
MSTFlag=2;
}
}
if((data->MST[1]>=10)&&(data->MST[1]<=99)&& (MDI_Flag==1)){
CNC_ERR=183;
CNC_IsErr=1;
}
}
else if (G65Flag==1) {
G65Flag=0;
if (Tcode<0) {
flag=1;
Tcode=-Tcode;
}
if ((Tcode<200)||((Tcode>231)&&(Tcode<500))||((Tcode>515)&&(Tcode<9200))||((Tcode>9231)&&(Tcode<9500))||(Tcode>9515)) {
VarOverLimitError();
}
else if ((Tcode>=200)&&(Tcode<=231)){
if (MacroBuf[Tcode-200] < 0) {
offLimits = TRUE;
CNC_ERR=183;
CNC_IsErr=1;
// return;
}
else {
if (flag==1) {
data->MST[1]=-MacroBuf[Tcode-200];
}
else {
data->MST[1]=MacroBuf[Tcode-200];
}
MSTIllegal=0;
if ((data->MST[1]>=10)&&(data->MST[1]<=99)&&(ParaBuf[IsOutMSTWarn]==1)) {
MSTIllegal=1;
MSTFlag=2;
}
}
if((data->MST[1]>=10)&&(data->MST[1]<=99)&& (MDI_Flag==1)){
CNC_ERR=183;
CNC_IsErr=1;
}
}
else if ((Tcode>=500)&&(Tcode<=515)){
if (MacroBuf[Tcode-468] < 0) {
offLimits = TRUE;
CNC_ERR=183;
CNC_IsErr=1;
// return;
}
else {
if (flag==1) {
data->MST[1]=-MacroBuf[Tcode-468];
}
else {
data->MST[1]=MacroBuf[Tcode-468];
}
MSTIllegal=0;
if ((data->MST[1]>=10)&&(data->MST[1]<=99)&&(ParaBuf[IsOutMSTWarn]==1)) {
MSTIllegal=1;
MSTFlag=2;
}
}
if((data->MST[1]>=10)&&(data->MST[1]<=99)&& (MDI_Flag==1)){
CNC_ERR=183;
CNC_IsErr=1;
}
}
else if ((Tcode>=9200)&&(Tcode<=9231)){
Tcode=Tcode-(int)(Tcode/1000.0)*1000;
if ((MacroBuf[(int)(Tcode-200)]<200)||((MacroBuf[(int)(Tcode-200)]>231)&&(MacroBuf[(int)(Tcode-200)]<500))||(MacroBuf[(int)(Tcode-200)]>515)) {
VarOverLimitError();
}
if((MacroBuf[(int)(Tcode-200)]>=200)&&(MacroBuf[(int)(Tcode-200)]<=231)){
if (MacroBuf[(int)(MacroBuf[(int)(Tcode-200)]-200)] < 0) {
offLimits = TRUE;
CNC_ERR=183;
CNC_IsErr=1;
// return;
}
else {
if (flag==1) {
data->MST[1]=-MacroBuf[(int)(MacroBuf[(int)(Tcode-200)]-200)];
}
else {
data->MST[1]=MacroBuf[(int)(MacroBuf[(int)(Tcode-200)]-200)];
}
MSTIllegal=0;
if ((data->MST[1]>=10)&&(data->MST[1]<=99)&&(ParaBuf[IsOutMSTWarn]==1)) {
MSTIllegal=1;
MSTFlag=2;
}
}
if((data->MST[1]>=10)&&(data->MST[1]<=99)&& (MDI_Flag==1)){
CNC_ERR=183;
CNC_IsErr=1;
}
}
if((MacroBuf[(int)(Tcode-200)]>=500)&&(MacroBuf[(int)(Tcode-200)]<=515)){
if (MacroBuf[(int)(MacroBuf[(int)(Tcode-200)]-468)] < 0) {
offLimits = TRUE;
CNC_ERR=183;
CNC_IsErr=1;
// return;
}
else {
if (flag==1) {
data->MST[1]=-MacroBuf[(int)(MacroBuf[(int)(Tcode-200)]-468)];
}
else {
data->MST[1]=MacroBuf[(int)(MacroBuf[(int)(Tcode-200)]-468)];
}
MSTIllegal=0;
if ((data->MST[1]>=10)&&(data->MST[1]<=99)&&(ParaBuf[IsOutMSTWarn]==1)) {
MSTIllegal=1;
MSTFlag=2;
}
}
if((data->MST[1]>=10)&&(data->MST[1]<=99)&& (MDI_Flag==1)){
CNC_ERR=183;
CNC_IsErr=1;
}
}
}
else{
Tcode=Tcode-(int)(Tcode/1000.0)*1000;
if ((MacroBuf[(int)(Tcode-468)]<200)||((MacroBuf[(int)(Tcode-468)]>231)&&(MacroBuf[(int)(Tcode-468)]<500))||(MacroBuf[(int)(Tcode-468)]>515)) {
VarOverLimitError();
}
if((MacroBuf[(int)(Tcode-468)]>=200)&&(MacroBuf[(int)(Tcode-468)]<=231)){
if (MacroBuf[(int)(MacroBuf[(int)(Tcode-468)]-200)] < 0) {
offLimits = TRUE;
CNC_ERR=183;
CNC_IsErr=1;
// return;
}
else {
if (flag==1) {
data->MST[1]=-MacroBuf[(int)(MacroBuf[(int)(Tcode-468)]-200)];
}
else {
data->MST[1]=MacroBuf[(int)(MacroBuf[(int)(Tcode-468)]-200)];
}
MSTIllegal=0;
if ((data->MST[1]>=10)&&(data->MST[1]<=99)&&(ParaBuf[IsOutMSTWarn]==1)) {
MSTIllegal=1;
MSTFlag=2;
}
}
if((data->MST[1]>=10)&&(data->MST[1]<=99)&& (MDI_Flag==1)){
CNC_ERR=183;
CNC_IsErr=1;
}
}
else{
if (MacroBuf[(int)(MacroBuf[(int)(Tcode-468)]-468)] < 0) {
offLimits = TRUE;
CNC_ERR=183;
CNC_IsErr=1;
// return;
}
else {
if (flag==1) {
data->MST[1]=-MacroBuf[(int)(MacroBuf[(int)(Tcode-468)]-468)];
}
else {
data->MST[1]=MacroBuf[(int)(MacroBuf[(int)(Tcode-468)]-468)];
}
MSTIllegal=0;
if ((data->MST[1]>=10)&&(data->MST[1]<=99)&&(ParaBuf[IsOutMSTWarn]==1)) {
MSTIllegal=1;
MSTFlag=2;
}
}
if((data->MST[1]>=10)&&(data->MST[1]<=99)&& (MDI_Flag==1)){
CNC_ERR=183;
CNC_IsErr=1;
}
}
}
}
return offLimits;
}
int P_stmt(dataInterp *data,double Pcode) {
int flag=0; //用于标记-#和#,0:# 1:-#
int offLimits = FALSE;
data->Pflag=1;
if (G65Flag==0) {
G65P=-1;
if ((Pcode > 9999999) || (Pcode < -9999999)) {
data->Pcode=Pcode;
offLimits = TRUE;
}
else {
data->Pcode=Pcode;
}
}
else if (G65Flag==1) {
G65P=Pcode;
G65Flag=0;
if (Pcode<0) {
flag=1;
Pcode=-Pcode;
}
// if ((Pcode<200)||((Pcode>231)&&(Pcode<1100))||((Pcode>1123)&&(Pcode<9200))||(Pcode>9231)) {
if ((Pcode<200)||((Pcode>231)&&(Pcode<500))||((Pcode>515)&&(Pcode<1100))||((Pcode>1107)&&(Pcode<9200))||((Pcode>9231)&&(Pcode<9500))||(Pcode>9515)) {
VarOverLimitError();
}
else if ((Pcode>=200)&&(Pcode<=231)){
if ((MacroBuf[(int)(Pcode-200)] > 2147483647L) || (MacroBuf[(int)(Pcode-200)] < -2147483647L)) {
offLimits = TRUE;
}
else {
if (flag==1) {
data->Pcode=-MacroBuf[(int)(Pcode-200)];
}
else {
data->Pcode=MacroBuf[(int)(Pcode-200)];
}
}
}
else if ((Pcode>=500)&&(Pcode<=515)){
if ((MacroBuf[(int)(Pcode-468)] > 2147483647) || (MacroBuf[(int)(Pcode-468)] < -2147483647)) {
offLimits = TRUE;
}
else {
if (flag==1) {
data->Pcode=-MacroBuf[(int)(Pcode-468)];
}
else {
data->Pcode=MacroBuf[(int)(Pcode-468)];
}
}
}
else if ((Pcode>=9200)&&(Pcode<=9231)){
Pcode=Pcode-(int)(Pcode/1000.0)*1000;
if ((MacroBuf[(int)(Pcode-200)]<200)||((MacroBuf[(int)(Pcode-200)]>231)&&(MacroBuf[(int)(Pcode-200)]<500))||(MacroBuf[(int)(Pcode-200)]>515)) {
VarOverLimitError();
}
if((MacroBuf[(int)(Pcode-200)]>=200)&&(MacroBuf[(int)(Pcode-200)]<=231)){
if ((MacroBuf[(int)(MacroBuf[(int)(Pcode-200)]-200)] > 2147483647) || (MacroBuf[(int)(MacroBuf[(int)(Pcode-200)]-200)] < -2147483647)) {
offLimits = TRUE;
}
else {
if (flag==1) {
data->Pcode=-MacroBuf[(int)(MacroBuf[(int)(Pcode-200)]-200)];
}
else {
data->Pcode=MacroBuf[(int)(MacroBuf[(int)(Pcode-200)]-200)];
}
}
}
else{
if ((MacroBuf[(int)(MacroBuf[(int)(Pcode-200)]-468)] > 2147483647) || (MacroBuf[(int)(MacroBuf[(int)(Pcode-200)]-468)] < -2147483647)) {
offLimits = TRUE;
}
else {
if (flag==1) {
data->Pcode=-MacroBuf[(int)(MacroBuf[(int)(Pcode-200)]-468)];
}
else {
data->Pcode=MacroBuf[(int)(MacroBuf[(int)(Pcode-200)]-468)];
}
}
}
}
else if ((Pcode>=9500)&&(Pcode<=9515)){
Pcode=Pcode-(int)(Pcode/1000.0)*1000;
if ((MacroBuf[(int)(Pcode-468)]<200)||((MacroBuf[(int)(Pcode-468)]>231)&&(MacroBuf[(int)(Pcode-468)]<500))||(MacroBuf[(int)(Pcode-468)]>515)) {
VarOverLimitError();
}
if((MacroBuf[(int)(Pcode-468)]>=200)&&(MacroBuf[(int)(Pcode-468)]<=231)){
if ((MacroBuf[(int)(MacroBuf[(int)(Pcode-468)]-200)] > 2147483647) || (MacroBuf[(int)(MacroBuf[(int)(Pcode-468)]-200)] < -2147483647)) {
offLimits = TRUE;
}
else {
if (flag==1) {
data->Pcode=-MacroBuf[(int)(MacroBuf[(int)(Pcode-468)]-200)];
}
else {
data->Pcode=MacroBuf[(int)(MacroBuf[(int)(Pcode-468)]-200)];
}
}
}
else{
if ((MacroBuf[(int)(MacroBuf[(int)(Pcode-468)]-468)] > 2147483647) || (MacroBuf[(int)(MacroBuf[(int)(Pcode-468)]-468)] < -2147483647)) {
offLimits = TRUE;
}
else {
if (flag==1) {
data->Pcode=-MacroBuf[(int)(MacroBuf[(int)(Pcode-468)]-468)];
}
else {
data->Pcode=MacroBuf[(int)(MacroBuf[(int)(Pcode-468)]-468)];
}
}
}
}
else if ((Pcode>=1100)&&(Pcode<=1107)) {
G65P=Pcode;
}
}
return offLimits;
}
int Q_stmt(dataInterp *data,double Qcode) {
int flag=0; //用于标记-#和#,0:# 1:-#
int offLimits = FALSE;
data->Qflag=1;
if (G65Flag==0) {
if ((Qcode >9999999) || (Qcode < -9999999)) {
offLimits = TRUE;
}
else {
data->Qcode=Qcode;
}
}
else if (G65Flag==1) {
G65Flag=0;
if (Qcode<0) {
flag=1;
Qcode=-Qcode;
}
if ((Qcode<200)||((Qcode>231)&&(Qcode<500))||((Qcode>515)&&(Qcode<1000))||((Qcode>1015)&&(Qcode<9200))||((Qcode>9231)&&(Qcode<9500))||(Qcode>9515)) {
VarOverLimitError();
}
else if ((Qcode>=200)&&(Qcode<=231)){
if ((MacroBuf[(int)(Qcode-200)] >2147483647) || (MacroBuf[(int)(Qcode-200)] < -2147483647)) {
offLimits = TRUE;
}
else {
if (flag==1) {
data->Qcode=-MacroBuf[(int)(Qcode-200)];
}
else {
data->Qcode=MacroBuf[(int)(Qcode-200)];
}
}
}
else if ((Qcode>=500)&&(Qcode<=515)){
if ((MacroBuf[(int)(Qcode-468)] >2147483647) || (MacroBuf[(int)(Qcode-468)] < -2147483647)) {
offLimits = TRUE;
}
else {
if (flag==1) {
data->Qcode=-MacroBuf[(int)(Qcode-468)];
}
else {
data->Qcode=MacroBuf[(int)(Qcode-468)];
}
}
}
else if ((Qcode>=9200)&&(Qcode<=9231)){
Qcode=Qcode-(int)(Qcode/1000.0)*1000;
if ((MacroBuf[(int)(Qcode-200)]<200)||((MacroBuf[(int)(Qcode-200)]>231)&&(MacroBuf[(int)(Qcode-200)]<500))||(MacroBuf[(int)(Qcode-200)]>515)) {
VarOverLimitError();
}
if((MacroBuf[(int)(Qcode-200)]>=200)&&(MacroBuf[(int)(Qcode-200)]<=231)){
if ((MacroBuf[(int)(MacroBuf[(int)(Qcode-200)]-200)] >2147483647) || (MacroBuf[(int)(MacroBuf[(int)(Qcode-200)]-200)] < -2147483647)) {
offLimits = TRUE;
}
else {
if (flag==1) {
data->Qcode=-MacroBuf[(int)(MacroBuf[(int)(Qcode-200)]-200)];
}
else {
data->Qcode=MacroBuf[(int)(MacroBuf[(int)(Qcode-200)]-200)];
}
}
}
else{
if ((MacroBuf[(int)(MacroBuf[(int)(Qcode-20
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -