- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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 //最大轴数class CCtrlCard {public:int Setup_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信号方式)int Setup_LimitMode(int axis, int value1, int value2, int logic);(设置限位信号方式)int Setup_PulseMode(int axis, int value);(设置脉冲输出方式)int Setup_Pos(int axis, long pos, int mode);(设置位置计数器)int Write_Output(int number, int value);(输出单点函数)int Read_Input(int number, int value);(读入点)int Get_CurrentInf(int axis, long LogPos, long ActPos, long Speed);(获取运动信息)int Get_Status(int axis, int value, int mode);(获取轴的驱动状态)int StopRun(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);(双轴差补函数)int Axis_Pmove(int axis ,long value);(单轴驱动函数)int Axis_Cmove(int axis ,long value);(单轴连续驱动函数)int Setup_Speed(int axis ,long startv ,long speed ,long add );(设置速度模块)int Init_Board(int dec_num);(函数初始化)(设置速度模块)CCtrlCard();(定义了一个同名的无参数的构造函数)int Result; //返回值};#endif(5)源文件“CtrlCard.cpp”代码如下:#include stdafx.h#include DEMO.h#include CtrlCard.h#include adt8840.hint devnum=-1;CCtrlCard::CCtrlCard()(构造函数,为什么是空的?){}/*******************初始化函数************************该函数中包含了控制卡初始化常用的库函数 ,这是调用其他函数的基础 ,所以必须在示例程序中最先调用返回值=0表示初始化失败 ,返回值0表示初始化成功*****************************************************/int
您可能关注的文档
最近下载
- 项目的实施流程.pdf VIP
- 2024年6月8日浙江杭州市直遴选笔试真题及答案解析.doc VIP
- 新人教版初中数学九年级上册《第二十三章旋转:23.1图形的旋转》公开课教案_4.pdf
- invt英威腾chf100a变频器使用说明书.doc
- 《生物化学课程标准.doc VIP
- 2023年黑龙江大学法学专业《民法学》期末试卷A(有答案).docx VIP
- GB_T 20001.3-2015 标准编写规则 第3部分:分类标准(OCR).pdf VIP
- 开放式和针阀式热流道比较.ppt
- 义务教育版(2024)三年级全一册第6课《视频记录片段》课件.pptx VIP
- 重庆市XX住宅工程分户验收表格填写样例.docx
文档评论(0)