运动控制卡c程序示例

运动控制卡c程序示例

ID:9877379

大小:104.09 KB

页数:13页

时间:2018-05-13

运动控制卡c程序示例_第1页
运动控制卡c程序示例_第2页
运动控制卡c程序示例_第3页
运动控制卡c程序示例_第4页
运动控制卡c程序示例_第5页
资源描述:

《运动控制卡c程序示例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、F2.VC编程示例2.1准备工作(1)新建一个项目,保存为“VCExample.dsw”;(2)根据前面讲述的方法,将静态库“8840.lib”加载到项目中;2.2运动控制模块(1)在项目中添加一个新类,头文件保存为“CtrlCard.h”,源文件保存为“CtrlCard.cpp”;(2)在运动控制模块中首先自定义运动控制卡初始化函数,对需要封装到初始化函数中的库函数进行初始化;(3)继续自定义相关的运动控制函数,如:速度设定函数,单轴运动函数,差补运动函数等;(4)头文件“CtrlCard.h”代码如下:#ifndef__ADT8840__C

2、ARD__#define__ADT8840__CARD__/***********************运动控制模块********************为了简单、方便、快捷地开发出通用性好、可扩展性强、维护方便的应用系统,我们在控制卡函数库的基础上将所有库函数进行了分类封装。下面的示例使用一块运动控制卡********************************************************/#defineMAXAXIS4//最大轴数classCCtrlCard{public:intSetup_HardStop(in

3、tvalue,intlogic);intSetup_Stop1Mode(intaxis,intvalue,intlogic);(设置stop1信号方式)intSetup_Stop0Mode(intaxis,intvalue,intlogic);(设置stop0信号方式)intSetup_LimitMode(intaxis,intvalue1,intvalue2,intlogic);(设置限位信号方式)intSetup_PulseMode(intaxis,intvalue);(设置脉冲输出方式)intSetup_Pos(intaxis,longp

4、os,intmode);(设置位置计数器)intWrite_Output(intnumber,intvalue);(输出单点函数)intRead_Input(intnumber,int&value);(读入点)intGet_CurrentInf(intaxis,long&LogPos,long&ActPos,long&Speed);(获取运动信息)intGet_Status(intaxis,int&value,intmode);(获取轴的驱动状态)intStopRun(intaxis,intmode);(停止轴驱动)intInterp_Move

5、4(longvalue1,longvalue2,longvalue3,longvalue4);(四轴差补函数)intInterp_Move3(intaxis1,intaxis2,intaxis3,longvalue1,longvalue2,longvalue3);(三轴差补函数)intInterp_Move2(intaxis1,intaxis2,longvalue1,longvalue2);(双轴差补函数)intAxis_Pmove(intaxis,longvalue);(单轴驱动函数)intAxis_Cmove(intaxis,longval

6、ue);(单轴连续驱动函数)intSetup_Speed(intaxis,longstartv,longspeed,longadd);(设置速度模块)intInit_Board(intdec_num);(函数初始化)(设置速度模块)CCtrlCard();(定义了一个同名的无参数的构造函数)intResult;//返回值};#endif(5)源文件“CtrlCard.cpp”代码如下:#include"stdafx.h"#include"DEMO.h"#include"CtrlCard.h"#include"adt8840.h"intdevnu

7、m=-1;CCtrlCard::CCtrlCard()(构造函数,为什么是空的?){}/*******************初始化函数************************该函数中包含了控制卡初始化常用的库函数,这是调用其他函数的基础,所以必须在示例程序中最先调用返回值<=0表示初始化失败,返回值>0表示初始化成功*****************************************************/intCCtrlCard::Init_Board(intdevnum){/********************

8、***************************************/intmode=0;//应答模式为1时,响应串口接收有效,0时无效if

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。