找回密码
 注册
LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 938|回复: 1

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

[复制链接]
发表于 2007-7-10 15:05:19 | 显示全部楼层 |阅读模式
//加减速运动
                if(startv[0]<=Speed[0])

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

        //------------第一段----------------------
                g_CtrlCard.Interp_Move2(1,Pos[0],Pos[1]);               
               
               
                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[0],Pos[1]);                               
               
                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[0],Pos[1]);       
                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[0],Pos[1]);
                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;
        }
发表于 2007-7-12 22:52:30 | 显示全部楼层
好像是一个什么函数,在LV中相当一个子VI来用的吧
回复 顶

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2026-9-30 15:10 , Processed in 0.027485 second(s), 8 queries , Gzip On, File On.

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表