⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3kmenu6.c

📁 嵌入式开发 嵌入式开发 嵌入式开发
💻 C
📖 第 1 页 / 共 5 页
字号:
    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 + -