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

📄 main.cpp

📁 运动控制卡的详细开发资料
💻 CPP
📖 第 1 页 / 共 2 页
字号:
                result=work_inp2(1,cood[0],2,cood[1],ifRel?0:1,0,ActionFunction);
        else if (ChkX->Checked && ChkZ->Checked)
                result=work_inp2(1,cood[0],3,cood[2],ifRel?0:1,0,ActionFunction);
        else if (ChkX->Checked && ChkW->Checked)
                result=work_inp2(1,cood[0],4,cood[3],ifRel?0:1,0,ActionFunction);
        else if (ChkY->Checked && ChkZ->Checked)
                result=work_inp2(2,cood[1],3,cood[2],ifRel?0:1,0,ActionFunction);
        else if (ChkY->Checked && ChkW->Checked)
                result=work_inp2(2,cood[1],4,cood[3],ifRel?0:1,0,ActionFunction);
        else if (ChkZ->Checked && ChkW->Checked)
                result=work_inp2(3,cood[2],4,cood[3],ifRel?0:1,0,ActionFunction);
        else
                Application->MessageBoxA("请先选定轴!","提示");
                
        if (result==-3)
                Application->MessageBoxA("限位报警终止!","提示");
        else if (result==-2)
                Application->MessageBoxA("软限位报警,回原点终止!","提示");
        else if (result==-1)
                Application->MessageBoxA("有禁止轴参与运动","提示");
        else if (result==0)
                Application->MessageBoxA("人为终止","提示");
        else if (result==1)
                Application->MessageBoxA("驱动成功","提示");

        g_WorkStatus=NORUN;

}
//---------------------------------------------------------------------------

void __fastcall TForm1::ContinueClick(TObject *Sender)
{
        if(g_WorkStatus==RUNNING)return;
        int result;
        g_WorkStatus=RUNNING;
        if (ChkX->Checked && ChkY->Checked && ChkZ->Checked && ChkW->Checked)
                result=continue_move4(0,0,0,0,0,ActionFunction);
        else if(ChkX->Checked && ChkY->Checked && ChkZ->Checked)
                result=continue_move3(1,0,2,1,3,0,0,ActionFunction);
        else if(ChkX->Checked && ChkY->Checked && ChkW->Checked)
                result=continue_move3(1,0,2,1,4,0,0,ActionFunction);
        else if(ChkX->Checked && ChkZ->Checked && ChkW->Checked)
                result=continue_move3(1,0,3,1,4,0,0,ActionFunction);
        else if(ChkY->Checked && ChkZ->Checked && ChkW->Checked)
                result=continue_move3(2,0,3,1,4,0,0,ActionFunction);
        else if (ChkX->Checked && ChkY->Checked)
                result=continue_move2(1,0,2,0,0,ActionFunction);
        else if (ChkX->Checked && ChkZ->Checked)
                result=continue_move2(1,0,3,0,0,ActionFunction);
        else if (ChkX->Checked && ChkW->Checked)
                result=continue_move2(1,0,4,0,0,ActionFunction);
        else if (ChkY->Checked && ChkZ->Checked)
                result=continue_move2(2,0,3,0,0,ActionFunction);
        else if (ChkY->Checked && ChkW->Checked)
                result=continue_move2(2,0,4,0,0,ActionFunction);
        else if (ChkZ->Checked && ChkW->Checked)
                result=continue_move2(3,0,4,0,0,ActionFunction);
        else if (ChkX->Checked)
                result=continue_move1(1,0,0,ActionFunction);
        else if (ChkY->Checked)
                result=continue_move1(2,0,0,ActionFunction);
        else if (ChkZ->Checked)
                result=continue_move1(3,0,0,ActionFunction);
        else if (ChkW->Checked)
                result=continue_move1(4,0,0,ActionFunction);
        else
                Application->MessageBoxA("请先选定轴!","提示");

        if (result==-3)
                Application->MessageBoxA("限位报警终止!","提示");
        else if (result==-1)
                Application->MessageBoxA("有禁止轴参与运动","提示");
        else if (result==0)
                Application->MessageBoxA("人为终止","提示");
        g_WorkStatus=NORUN;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::CircleClick(TObject *Sender)
{
        if(g_WorkStatus==RUNNING)return;
        int result;
        float cood[6]={5,5,15,15,25,5};
        g_WorkStatus=RUNNING;
        if (ChkX->Checked && ChkY->Checked)
                result=work_arc(1,2,cood,0,ActionFunction);
        else if (ChkX->Checked && ChkZ->Checked)
                result=work_arc(1,3,cood,0,ActionFunction);
        else if (ChkX->Checked && ChkW->Checked)
                result=work_arc(1,4,cood,0,ActionFunction);
        else if (ChkY->Checked && ChkZ->Checked)
                result=work_arc(2,3,cood,0,ActionFunction);
        else if (ChkY->Checked && ChkW->Checked)
                result=work_arc(2,4,cood,0,ActionFunction);
        else if (ChkZ->Checked && ChkW->Checked)
                result=work_arc(3,4,cood,0,ActionFunction);
        else
                Application->MessageBoxA("请先选定轴!","提示");
                
        if (result==-3)
                Application->MessageBoxA("限位报警终止!","提示");
        else if (result==-2)
                Application->MessageBoxA("软限位报警,回原点终止!","提示");
        else if (result==-1)
                Application->MessageBoxA("有禁止轴参与运动","提示");
        else if (result==0)
                Application->MessageBoxA("人为终止","提示");
        else if (result==1)
                Application->MessageBoxA("驱动成功","提示");

        g_WorkStatus=NORUN;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::freeClick(TObject *Sender)
{
        if(g_WorkStatus==RUNNING)return;
        int result;
        g_WorkStatus=RUNNING;
        if (ChkX->Checked && ChkY->Checked && ChkZ->Checked && ChkW->Checked)
                result=free_move4(10,3,4,0.2,15,4,5,0.1,-10,4,5,0.2,-20,5,6,0.1,ifRel?0:1,ActionFunction);
        else if(ChkX->Checked && ChkY->Checked && ChkZ->Checked)
                result=free_move3(1,10,5,6,0.1,2,15,4,5,0.2,3,-10,5,8,0.2,ifRel?0:1,ActionFunction);
        else if(ChkX->Checked && ChkY->Checked && ChkW->Checked)
                result=free_move3(1,10,5,6,0.1,2,15,4,5,0.2,4,-10,5,8,0.2,ifRel?0:1,ActionFunction);
        else if(ChkX->Checked && ChkZ->Checked && ChkW->Checked)
                result=free_move3(1,10,5,6,0.1,3,15,4,5,0.2,4,-10,5,8,0.2,ifRel?0:1,ActionFunction);
        else if(ChkY->Checked && ChkZ->Checked && ChkW->Checked)
                result=free_move3(2,10,5,6,0.1,3,15,4,5,0.2,4,-10,5,8,0.2,ifRel?0:1,ActionFunction);
        else if (ChkX->Checked && ChkY->Checked)
                result=free_move2(1,10,4,5,0.1,2,15,5,6,0.2,ifRel?0:1,ActionFunction);
        else if (ChkX->Checked && ChkZ->Checked)
                result=free_move2(1,10,4,5,0.1,3,15,5,6,0.2,ifRel?0:1,ActionFunction);
        else if (ChkX->Checked && ChkW->Checked)
                result=free_move2(1,10,4,5,0.1,4,15,5,6,0.2,ifRel?0:1,ActionFunction);
        else if (ChkY->Checked && ChkZ->Checked)
                result=free_move2(2,10,4,5,0.1,3,15,5,6,0.2,ifRel?0:1,ActionFunction);
        else if (ChkY->Checked && ChkW->Checked)
                result=free_move2(2,10,4,5,0.1,4,15,5,6,0.2,ifRel?0:1,ActionFunction);
        else if (ChkZ->Checked && ChkW->Checked)
                result=continue_move2(3,0,4,0,0,ActionFunction);
        else if (ChkX->Checked)
                result=free_move1(1,10,4,5,0.1,ifRel?0:1,ActionFunction);
        else if (ChkY->Checked)
                result=free_move1(2,10,4,5,0.1,ifRel?0:1,ActionFunction);
        else if (ChkZ->Checked)
                result=free_move1(3,10,4,5,0.1,ifRel?0:1,ActionFunction);
        else if (ChkW->Checked)
                result=free_move1(4,10,4,5,0.1,ifRel?0:1,ActionFunction);
        else
                Application->MessageBoxA("请先选定轴!","提示");

        if (result==-3)
                Application->MessageBoxA("限位报警终止!","提示");
        else if (result==-2)
                Application->MessageBoxA("软限位报警,回原点终止!","提示");
        else if (result==-1)
                Application->MessageBoxA("有禁止轴参与运动","提示");
        else if (result==0)
                Application->MessageBoxA("人为终止","提示");
        else if (result==1)
                Application->MessageBoxA("驱动成功","提示");
        g_WorkStatus=NORUN;
}

void __fastcall TForm1::BitBtn1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
        if(g_WorkStatus==RUNNING)return;
        int axis=0;
        if (ChkX->Checked)
                axis=1;
        else if (ChkY->Checked)
                axis=2;
        else if (ChkZ->Checked)
                axis=3;
        else if (ChkW->Checked)
                axis=4;
        else
                return;
        g_WorkStatus=RUNNING;
        ifHand=true;
        if (Button==0 && axis>0)
                hand_move(axis,0,ActionFunction);
        g_WorkStatus=NORUN;
        ifHand=false;

}
//---------------------------------------------------------------------------

void __fastcall TForm1::BitBtn1MouseUp(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
       if (Button==0)
       {        if(!ifHand)return;
                all_stop(0);
                g_WorkStatus=NORUN;
                ifHand=false;
       }
}
//---------------------------------------------------------------------------

void __fastcall TForm1::BitBtn2MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
        if(g_WorkStatus==RUNNING)return;
        int axis=0;
        if (ChkX->Checked)
                axis=1;
        else if (ChkY->Checked)
                axis=2;
        else if (ChkZ->Checked)
                axis=3;
        else if (ChkW->Checked)
                axis=4;
        else
                return;
        g_WorkStatus=RUNNING;
        ifHand=true;
        if (Button==0 && axis>0)
                hand_move(axis,1,ActionFunction);

        g_WorkStatus=NORUN;
        ifHand=false;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::BitBtn2MouseUp(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
        if (Button==0)
        {
                if(!ifHand)return;
                all_stop(0);
                g_WorkStatus=NORUN;
                ifHand=false;
        }
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -