yang88988 发表于 2007-7-10 15:05:19

请教几位大哥,请问用LAB VIEW怎么实现??DOEVENT用什么表示出来???

//加减速运动
                if(startv<=Speed)

                {   
                        //后面的参数1值意为手动减速,因为只能用手动减速
                        g_CtrlCard.Set_DecMode(1,0,1);
                       
                        g_CtrlCard.Set_DecPos(1,Pos,startv,Speed,Add);
                }
               
          //插补减速禁止响应函数   
                g_CtrlCard.ForbidDec(no);

      //------------第一段----------------------
                g_CtrlCard.Interp_Move2(1,Pos,Pos);               
               
               
                while(true)
                {   
                        DoEvent();
                       
                        g_CtrlCard.Get_ErrorInf(1,status1);
                       
                        if(status1!=0 || g_WorkStatus==0)
                                goto err;
                       
                        //status2:   0:不允许写入    1:允许写入
                        g_CtrlCard.Get_AllowInpStatus(no,status2);
                       
                        if(status2!=0)break;
                       
                }
                //------------第二段----------------------
                g_CtrlCard.Interp_Move2(1,Pos,Pos);                               
               
                while(true)
                {   
                        DoEvent();
                       
                        g_CtrlCard.Get_ErrorInf(1,status1);
                       
                        if(status1!=0 || g_WorkStatus==0)
                                goto err;

                        //status2:   0:不允许写入    1:允许写入
                        g_CtrlCard.Get_AllowInpStatus(no,status2);
                       
                        if(status2!=0)
                                break;
                }
               
                //------------第三段----------------------
                g_CtrlCard.Interp_Move2(1,Pos,Pos);       
                while(true)
                {   
                        DoEvent();
                       
                        g_CtrlCard.Get_ErrorInf(1,status1);
                       
                        if(status1!=0 || g_WorkStatus==0)goto err;
                       
                        g_CtrlCard.Get_AllowInpStatus(no,status2);
                       
                        if(status2!=0)break;
                }

         //------------最后一段----------------------
                g_CtrlCard.AllowDec(no);//插补减速允许响应函数                               
               
               
                g_CtrlCard.Interp_Move2(1,Pos,Pos);
                while(true)
                {   
                        DoEvent();
                        g_CtrlCard.Get_ErrorInf(1,status1);

                        if(status1!=0 || g_WorkStatus==0) //g_WorkStatus为停止的时候就报错
                                goto err;
                       
                        g_CtrlCard.Get_Status(no,status2,1);
                        if(status2==0)break;
                }
               
                g_WorkStatus=0;
               
                return;
               
err:
                MessageBox("错误!");
                return;
        }

lgh269 发表于 2007-7-12 22:52:30

好像是一个什么函数,在LV中相当一个子VI来用的吧
页: [1]
查看完整版本: 请教几位大哥,请问用LAB VIEW怎么实现??DOEVENT用什么表示出来???