📄 3kmenu6.c
字号:
case 14:// 横向周期频数
sprintf(szE, "%5d", unit[vNewUnitSEL6-1].submenu2.HFps[vStdSEL6-1]);
Edit(xfrom+SizeAttrB.w+InstAttr.v_instance, yfrom, SizeAttrE.w, SizeAttrE.h, 0x4f, szE);
break;
case 15:// 横向不工作区
sprintf(szE, "%6.2f", unit[vNewUnitSEL6-1].submenu2.HDeadZone[vStdSEL6-1]/100.0);
Edit(xfrom+SizeAttrB.w+InstAttr.v_instance, yfrom, SizeAttrE.w, SizeAttrE.h, 0x4f, szE);
break;
default:
break;
}
vOldUnitSEL6=vNewUnitSEL6;
ClearKBuffer();
}
/***
页响应(每个页)
***/
void RespPAGE_M6(const int iPAGE)
{
long lVAL;
float fVAL;
char tBuff[10]={0};
int t,xfrom,yfrom,NO,iVAL;
switch( iPAGE )
{
case 1: // 纵向报警值
NO=RespNumKBoard();
if( NO!=100 )
{ // 有效键
if( NO==205 )
{ // 回车键
if( strlen(Dispbuf) )
{
fVAL=atof(Dispbuf)*100;
lVAL=(long)fVAL;
if( (lVAL>=1) && (lVAL<=100) )
{
if( unit[vNewUnitSEL6-1].submenu1.v_alarm!=lVAL )
{ CmdFlags[vNewUnitSEL6-1].bits.bit3=1;}
unit[vNewUnitSEL6-1].submenu1.v_alarm=lVAL;
REC_Sub1(vNewUnitSEL6-1, 3);
}
else
{ MessageBox( (VarST3000.Language ? "Range from 0.01 to 1.00" : "范围从0.01到1.00") );}
}
sprintf(tBuff, "%6.2f", unit[vOldUnitSEL6-1].submenu1.v_alarm/100.0);
xfrom=MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset+SizeAttrB.w+InstAttr.v_instance;
yfrom=MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL6-1)*(SizeAttrB.h+InstAttr.h_instance);
Edit(xfrom, yfrom, SizeAttrE.w, SizeAttrE.h, 0x4f, tBuff);
ClearKBuffer();
}
else
{ // 输入中
ProcNumKBinp(NO);
xfrom=MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset+SizeAttrB.w+InstAttr.v_instance;
yfrom=MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL6-1)*(SizeAttrB.h+InstAttr.h_instance);
Edit(xfrom, yfrom, SizeAttrE.w, SizeAttrE.h, 0xcf, Dispbuf);
}
}
break;
case 2: // 纵向微调值
NO=RespNumKBoard();
if( NO!=100 )
{
if( NO==205 )
{
if( strlen(Dispbuf) )
{
fVAL=atof(Dispbuf)*100;
lVAL=(long)fVAL;
if( (lVAL>=-2000) && (lVAL<=2000) )
{
if( unit[vNewUnitSEL6-1].submenu1.v_adjust!=lVAL )
{ CmdFlags[vNewUnitSEL6-1].bits.bit3=1;}
unit[vNewUnitSEL6-1].submenu1.v_adjust=lVAL;
REC_Sub1(vNewUnitSEL6-1, 4);
}
else
{ MessageBox( (VarST3000.Language ? "Range from -20.0 to 20.0" : "范围从-20.0到20.0") );}
}
sprintf(tBuff, "%6.2f", unit[vOldUnitSEL6-1].submenu1.v_adjust/100.0);
xfrom=MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset+SizeAttrB.w+InstAttr.v_instance;
yfrom=MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL6-1)*(SizeAttrB.h+InstAttr.h_instance);
Edit(xfrom, yfrom, SizeAttrE.w, SizeAttrE.h, 0x4f, tBuff);
ClearKBuffer();
}
else
{
ProcNumKBinp(NO);
xfrom=MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset+SizeAttrB.w+InstAttr.v_instance;
yfrom=MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL6-1)*(SizeAttrB.h+InstAttr.h_instance);
Edit(xfrom, yfrom, SizeAttrE.w, SizeAttrE.h, 0xcf, Dispbuf);
}
}
break;
case 3: // 纵向增益P值
NO=RespNumKBoard();
if( NO!=100 )
{
if( NO==205 )
{
if( strlen(Dispbuf) )
{
iVAL=atoi(Dispbuf);
if( (iVAL>=1) && (iVAL<=30) )
{
if( unit[vNewUnitSEL6-1].submenu2.VPlus_P[vStdSEL6-1]!=iVAL )
{ CmdFlags[vNewUnitSEL6-1].bits.bit4=1;}
unit[vNewUnitSEL6-1].submenu2.VPlus_P[vStdSEL6-1]=iVAL;
REC_Sub2(vNewUnitSEL6-1, 1);
}
else
{ MessageBox( (VarST3000.Language ? "Range from 1 to 30" : "范围从1到30") );}
}
sprintf(tBuff, "%5d", unit[vOldUnitSEL6-1].submenu2.VPlus_P[vStdSEL6-1]);
xfrom=MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset+SizeAttrB.w+InstAttr.v_instance;
yfrom=MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL6-1)*(SizeAttrB.h+InstAttr.h_instance);
Edit(xfrom, yfrom, SizeAttrE.w, SizeAttrE.h, 0x4f, tBuff);
ClearKBuffer();
}
else
{
ProcNumKBinp(NO);
xfrom=MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset+SizeAttrB.w+InstAttr.v_instance;
yfrom=MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL6-1)*(SizeAttrB.h+InstAttr.h_instance);
Edit(xfrom, yfrom, SizeAttrE.w, SizeAttrE.h, 0xcf, Dispbuf);
}
}
break;
case 4: // 纵向增益D值
NO=RespNumKBoard();
if( NO!=100 )
{
if( NO==205 )
{
if( strlen(Dispbuf) )
{
iVAL=atoi(Dispbuf);
if( (iVAL>=1) && (iVAL<=50) )
{
if( unit[vNewUnitSEL6-1].submenu2.VPlus_D[vStdSEL6-1]!=iVAL )
{ CmdFlags[vNewUnitSEL6-1].bits.bit4=1;}
unit[vNewUnitSEL6-1].submenu2.VPlus_D[vStdSEL6-1]=iVAL;
REC_Sub2(vNewUnitSEL6-1, 2);
}
else
{ MessageBox( (VarST3000.Language ? "Range from 1 to 50" : "范围从1到50") );}
}
sprintf(tBuff, "%5d", unit[vOldUnitSEL6-1].submenu2.VPlus_D[vStdSEL6-1]);
xfrom=MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset+SizeAttrB.w+InstAttr.v_instance;
yfrom=MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL6-1)*(SizeAttrB.h+InstAttr.h_instance);
Edit(xfrom, yfrom, SizeAttrE.w, SizeAttrE.h, 0x4f, tBuff);
ClearKBuffer();
}
else
{
ProcNumKBinp(NO);
xfrom=MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset+SizeAttrB.w+InstAttr.v_instance;
yfrom=MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL6-1)*(SizeAttrB.h+InstAttr.h_instance);
Edit(xfrom, yfrom, SizeAttrE.w, SizeAttrE.h, 0xcf, Dispbuf);
}
}
break;
case 5: // 纵向平均值
NO=RespNumKBoard();
if( NO!=100 )
{
if( NO==205 )
{
if( strlen(Dispbuf) )
{
iVAL=atoi(Dispbuf);
if( (iVAL>=0) && (iVAL<=8) )
{
if( unit[vNewUnitSEL6-1].submenu2.VHaver[vStdSEL6-1].VAver!=iVAL )
{ CmdFlags[vNewUnitSEL6-1].bits.bit4=1;}
unit[vNewUnitSEL6-1].submenu2.VHaver[vStdSEL6-1].VAver=iVAL;
REC_Sub2(vNewUnitSEL6-1, 10);
}
else
{ MessageBox( (VarST3000.Language ? "Range from 0 to 8" : "范围从0到8") );}
}
sprintf(tBuff, "%5d", unit[vOldUnitSEL6-1].submenu2.VHaver[vStdSEL6-1].VAver);
xfrom=MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset+SizeAttrB.w+InstAttr.v_instance;
yfrom=MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL6-1)*(SizeAttrB.h+InstAttr.h_instance);
Edit(xfrom, yfrom, SizeAttrE.w, SizeAttrE.h, 0x4f, tBuff);
ClearKBuffer();
}
else
{
ProcNumKBinp(NO);
xfrom=MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset+SizeAttrB.w+InstAttr.v_instance;
yfrom=MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL6-1)*(SizeAttrB.h+InstAttr.h_instance);
Edit(xfrom, yfrom, SizeAttrE.w, SizeAttrE.h, 0xcf, Dispbuf);
}
}
break;
case 6: // 纵向周期频数
NO=RespNumKBoard();
if( NO!=100 )
{
if( NO==205 )
{
if( strlen(Dispbuf) )
{
iVAL=atoi(Dispbuf);
if( (iVAL>=1) && (iVAL<=8) )
{
if( unit[vNewUnitSEL6-1].submenu2.VFps[vStdSEL6-1]!=iVAL )
{ CmdFlags[vNewUnitSEL6-1].bits.bit4=1;}
unit[vNewUnitSEL6-1].submenu2.VFps[vStdSEL6-1]=iVAL;
REC_Sub2(vNewUnitSEL6-1, 3);
}
else
{ MessageBox( (VarST3000.Language ? "Range from 1 to 8" : "范围从1到8") );}
}
sprintf(tBuff, "%5d", unit[vOldUnitSEL6-1].submenu2.VFps[vStdSEL6-1]);
xfrom=MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset+SizeAttrB.w+InstAttr.v_instance;
yfrom=MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL6-1)*(SizeAttrB.h+InstAttr.h_instance);
Edit(xfrom, yfrom, SizeAttrE.w, SizeAttrE.h, 0x4f, tBuff);
ClearKBuffer();
}
else
{
ProcNumKBinp(NO);
xfrom=MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset+SizeAttrB.w+InstAttr.v_instance;
yfrom=MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL6-1)*(SizeAttrB.h+InstAttr.h_instance);
Edit(xfrom, yfrom, SizeAttrE.w, SizeAttrE.h, 0xcf, Dispbuf);
}
}
break;
case 7: // 纵向不工作区
NO=RespNumKBoard();
if( NO!=100 )
{
if( NO==205 )
{
if( strlen(Dispbuf) )
{
fVAL=atof(Dispbuf)*100;
lVAL=(long)fVAL;
if( (lVAL>=0) && (lVAL<=50) )
{
if( unit[vNewUnitSEL6-1].submenu2.VDeadZone[vStdSEL6-1]!=lVAL )
{ CmdFlags[vNewUnitSEL6-1].bits.bit4=1;}
unit[vNewUnitSEL6-1].submenu2.VDeadZone[vStdSEL6-1]=lVAL;
REC_Sub2(vNewUnitSEL6-1, 4);
}
else
{ MessageBox( (VarST3000.Language ? "Range from 0.00 to 0.5" : "范围从0.00到0.5") );}
}
sprintf(tBuff, "%6.2f", unit[vOldUnitSEL6-1].submenu2.VDeadZone[vStdSEL6-1]/100.0);
xfrom=MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset+SizeAttrB.w+InstAttr.v_instance;
yfrom=MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL6-1)*(SizeAttrB.h+InstAttr.h_instance);
Edit(xfrom, yfrom, SizeAttrE.w, SizeAttrE.h, 0x4f, tBuff);
ClearKBuffer();
}
else
{
ProcNumKBinp(NO);
xfrom=MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset+SizeAttrB.w+InstAttr.v_instance;
yfrom=MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL6-1)*(SizeAttrB.h+InstAttr.h_instance);
Edit(xfrom, yfrom, SizeAttrE.w, SizeAttrE.h, 0xcf, Dispbuf);
}
}
break;
case 8: // 纵向电机开关
xfrom=MenuAttr.sX+MenuAttr.tW+MenuAttr.bW/2-63;
yfrom=MenuAttr.sY+InstAttr.y_offset;
for(t=1; t<VarST3000.UnitCounts; t++)
{
yfrom+=(SizeAttrB.h+InstAttr.h_instance);
if( (ClickCol>=xfrom && ClickCol<=(xfrom+125)) &&
(ClickRow>=yfrom && ClickRow<=(yfrom+SizeAttrB.h)) )
{
unit[t].submenu1.bitfield.v_motorruning++;
if( unit[t].submenu1.bitfield.v_motorruning )
{ CommandData[t].Cmd6[6]|=0x08;} // 纵向电机开
else
{ CommandData[t].Cmd6[6]&=0xf7;} // 纵向电机关
SyncVMS_68(t);
REC_Sub1(t, 8);
SendCnlData(t, 0x06);
}
}
break;
case 9: // 横向报警值
NO=RespNumKBoard();
if( NO!=100 )
{
if( NO==205 )
{
if( strlen(Dispbuf) )
{
fVAL=atof(Dispbuf)*100;
lVAL=(long)fVAL;
if( (lVAL>=1) && (lVAL<=100) )
{
if( unit[vNewUnitSEL6-1].submenu1.h_alarm!=lVAL )
{ CmdFlags[vNewUnitSEL6-1].bits.bit3=1;}
unit[vNewUnitSEL6-1].submenu1.h_alarm=lVAL;
REC_Sub1(vNewUnitSEL6-1, 5);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -