1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 用c语言编写运动控制程序 运动控制卡C程序示例.docx

用c语言编写运动控制程序 运动控制卡C程序示例.docx

时间:2021-08-30 03:47:05

相关推荐

用c语言编写运动控制程序 运动控制卡C程序示例.docx

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。