运动控制_4-精品文档.docx
《运动控制_4-精品文档.docx》由会员分享,可在线阅读,更多相关《运动控制_4-精品文档.docx(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、运动控制 正运动技术 导语:我们主要从新建MFC工程,添加函数库讲起,再解析PC函数用法,最后通过工程实战连续插补运动例程讲解,来让大众熟悉C+的工程开发。 今天,正运动技术为大众共享一下应用C+开发一个多段连续插补的运动控制应用。 我们主要从新建MFC工程,添加函数库讲起,再解析PC函数用法,最后通过工程实战连续插补运动例程讲解,来让大众熟悉C+的工程开发。 在正式学习之前,我们先解析一下正运动技术的运动控制卡ECI2418和ECI2618。这两款产品分别是4轴,6轴运动控制卡。 ECI2418支持4轴脉冲输入与编码器反应,板载24点输入,16点输出,2AD,2DA,支持手轮接口,其中特定输
2、出口支持高速PWM控制。 ECI2618支持6轴脉冲输入与编码器反应,板载24点输入,16点输出,2AD,2DA,支持手轮接口,其中特定输出口支持高速PWM控制。 ECI2418,ECI2618均使用同一套API函数,均支持C、C+、C#、LabVIEW、Python、Delphi等开发语言,支持VC6.0、VB6.0、Qt、.Net等平台,支持Windows、Linux、WinCE、iMac等操作系统。 以下是C+ 开发流程 01 新建MFC工程,添加函数库。1、在VS2021菜单“文件“新建 “工程,启动创立工程向导。 2、选择开发语言为“Visual C+和程序类型“MFC应用程序。 3
3、、下一步即可。 4、选择类型为“基于对话框,下一步或完成。 下一步那么往后继续配置,完成就直接完成即可。这里就不需要再配置了,无关紧要的,只要这个类型选好就行,其他的可以在工程中编辑。 5、找到厂家提供的光盘资料,途径如下(64位库为例)。 1)进入光盘资料找到PC函数文件夹。 2)选择函数库2.1。 3)Windows平台。 4)根据需要选择对应的函数库这里选择64位库。 5)解压C+的压缩包,里面有C+对应的函数库。 6)函数库详细途径如下。 6、将厂商提供的C+的库文件和相关头文件复制到新建的工程里面。 7、在工程中添加静态库和相关头文件。 静态库:zauxdll.lib, zmotio
4、n.lib 相关头文件:zauxdll2.h, zmotion.h 1)先右击头文件,接着依次选择:“添加“现有项。 2)在弹出的窗口中依次添加静态库和相关头文件。 3)声明用到的头文件和定义控制器连接句柄。 至此工程新建完成。 02 查看PC函数手册,解析其用法。1、PC函数手册也在光盘资料里面。 详细途径如下: 2、PC编程 先根据控制器连接方式选择对应的连接函数连接控制器,返回控制器句柄。接着用返回的控制器句柄,实现对控制器的控制。 比方通过网口连接控制器,先使用ZAux_OpenEth()链接控制器,获取控制器句柄handle。 通过获取到的控制器句柄handle,对控制器进展单轴运动
5、控制。 通过获取到的控制器句柄handle,对控制器进展多轴运动控制。 /多轴运动 intaxislist 4 = 0, 1, 2, 3 ; /运动BASE轴列表 floatdislist 4 = 100,100,100,100;/运动间隔 列表 ZAux_Direct_Move(g_handle, 4, axislist, dislist); /多轴运动 03 工程实战之连续插补运动例程讲解1、例程以建立板卡的连接,执行3段连续轨迹的加工为目的。 2、例程简易流程图。 / 相关函数 ZAux_OpenEth(IP_buffer, g_handle); /连接控制器 ZAux_Direct_G
6、etAllAxisPara(g_handle, DPOS, 4, showpos); /获取当前轴位 ZAux_Direct_GetAllAxisPara(g_handle, MSPEED, 4, mspeed); /更新轴速度 ZAux_Direct_Single_Cancel(g_handle, 0, 2); /停顿主轴运动 ZAux_Direct_Move(g_handle, 4, axislist, dislist1); /第1段多轴插补指令 ZAux_Direct_Move(g_handle, 4, axislist, dislist2); /第2段多轴插补指令 ZAux_Direc
7、t_Move(g_handle, 4, axislist, dislist3); /第3段多轴插补指令 ZAux_Close(g_handle);/断开连接 3、通过网口连接控制器,获取控制器连接句柄。 /Link按钮事件处理函数 voidCMergeDlg:OnBnClickedButtonLink() charbuffer256;int32 iresult;/假如之前有连接控制器着先断开连接 if(NULL != g_handle) ZAux_Close(g_handle);g_handle = NULL; /从IP下拉框中获取IP GetDlgItemText(IDC_COMBOX_IP
8、, buffer, 255); buffer255 = 0;/通过PC函数库提供的连接控制器的函数接口(API),连接控制器iresult = ZAux_OpenEth(buffer, g_handle); if(ERR_SUCCESS != iresult) g_handle = NULL; MessageBox(_T( 链接失败); SetWindowText( 未链接); return; SetWindowText( 已链接); /启动定时器 SetTimer(1, 100, NULL); SetTimer(2, 100, NULL); /初始化轴参数 for( inti = 0; i
9、i+) ZAux_Direct_SetAtype(g_handle, i, 1); /轴类型 ZAux_Direct_SetUnits(g_handle, i, 1000); /脉冲当量 ZAux_Direct_SetSpeed(g_handle, i, 100); /速度 ZAux_Direct_SetAccel(g_handle, i, 1000); /加速度 ZAux_Direct_SetDecel(g_handle, i, 1000); /减速度 ZAux_Direct_SetSramp(g_handle, i, 100); /S曲线时间 4、通过定时器1更新控制器轴0-3的位置信息和
10、速度信息。 /定时器 void CMergeDlg:OnTimer(UINT_PTR nIDEvent) if (NULL = g_handle) MessageBox(_T( 链接断开); return; switch (nIDEvent) case 1: /更新控制器轴0-3的位置信息和速度信息 CString Xpos, Xmspeed; CString Ypos, Ymspeed; CString Zpos, Zmspeed; CString Upos, Umspeed; float showpos4 = 0 ; float mspeed4 = 0 ; int status = 0;/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运动 控制 _4 精品 文档
限制150内