C++程序示例.docx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C程序示例

2. VC编程示例2.1 准备工作新建一个项目,保存为“VCExample.dsw”;根据前面讲述的方法 ,将静态库“8840.lib”加载到项目中;2.2 运动控制模块(1) 在项目中添加一个新类 ,头文件保存为“CtrlCard.h”,源文件保存为“CtrlCard.cpp”;(2) 在运动控制模块中首先自定义运动控制卡初始化函数 ,对需要封装到初始化函数中的库函数进行初始化;继续自定义相关的运动控制函数 ,如:速度设定函数 ,单轴运动函数 ,差补运动函数等;头文件“CtrlCard.h”代码如下:# ifndef __ADT8840__CARD__# define __ADT8840__CARD__/*********************** 运动控制模块 ********************为了简单、方便、快捷地开发出通用性好、可扩展性强、维护方便的应用系统 ,我们在控制卡函数库的基础上将所有库函数进行了分类封装。下面的示例使用一块运动控制卡********************************************************/#define MAXAXIS 4 //最大轴数classCCtrlCard{public:intSetup_HardStop(int value, int logic);int Setup_Stop1Mode(int axis, int value, int logic);(设置stop1信号方式)int Setup_Stop0Mode(int axis, int value, int logic);(设置stop0信号方式)intSetup_LimitMode(int axis, int value1, int value2, int logic);(设置限位信号方式)intSetup_PulseMode(int axis, int value);(设置脉冲输出方式)intSetup_Pos(int axis, long pos, int mode);(设置位置计数器)intWrite_Output(int number, int value);(输出单点函数)intRead_Input(int number, int &value);(读入点)intGet_CurrentInf(int axis, long &LogPos, long &ActPos, long &Speed);(获取运动信息)intGet_Status(int axis, int &value, int mode);(获取轴的驱动状态)intStopRun(int axis, int mode);(停止轴驱动)int Interp_Move4(long value1, long value2, long value3, long value4);(四轴差补函数)int Interp_Move3(int axis1, int axis2, int axis3, long value1, long value2, long value3);(三轴差补函数)int Interp_Move2(int axis1, int axis2, long value1, long value2);(双轴差补函数)intAxis_Pmove(int axis ,long value);(单轴驱动函数)intAxis_Cmove(int axis ,long value);(单轴连续驱动函数)intSetup_Speed(int axis ,long startv ,long speed ,long add );(设置速度模块)intInit_Board(intdec_num);(函数初始化)(设置速度模块)CCtrlCard();(定义了一个同名的无参数的构造函数)int Result; //返回值};#endif(5)源文件“CtrlCard.cpp”代码如下:#include "stdafx.h"#include "DEMO.h"#include "CtrlCard.h"#include "adt8840.h"intdevnum=-1;CCtrlCard::CCtrlCard()(构造函数,为什么是空的?){}/*******************初始化函数************************该函数中包含了控制卡初始化常用的库函数 ,这是调用其他函数的基础 ,所以必须在示例程序中最先调用返回值<=0表示初始化失败 ,返回值>0表示初始化成功*****************************************************/intCCt

文档评论(0)

wuyuetian + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档