机械工程学科应用型研究生综合实验Ⅱ实验指导书(数控运动控制技术分册)富宏亚主编机电工程学院2014年3月目录实验一数控系统硬件连接与电机测试实验 (1)实验1.1 数控系统硬件连接实验 (1)实验1.2 数控系统电机测试实验 (5)实验二数控系统控制软件设计实验 (7)实验2.1 单轴运动控制软件设计实验 (7)实验2.2 直线插补运动控制软件设计实验 (13)实验一数控系统硬件连接与电机测试实验实验1.1 数控系统硬件连接实验一、实验目的1、了解数控综合实验台的组成和电路连接。
2、掌握数控系统的构成原理。
二、实验所用单元计算机、雷泰DMC5480运动控制卡、实验台控制面板、小型3轴立式铣床。
三、实验原理1、如图1-1所示,数控综合实验台由计算机、雷泰DMC5480运动控制卡、实验台控制面板、小型3轴立式铣床组成。
运动控制卡安装在计算机的PCI插槽中;实验台控制面板上安装了电机驱动器、电源、继电器、空气开关、急停和接线板等元器件,小型3轴立铣床包括3个运动轴X、Y、Z和1个主轴。
图1-1硬件系统总体实物图2、以X轴运动控制电路为例,X轴伺服电机驱动器1与运动控制卡的电路如图1-2所示,各连线引脚定义如表1-1和表1-2所示。
Y轴伺服电机驱动器2、Z 轴伺服电机驱动器3与运动控制卡之间的电路可参考X轴运动控制电路进行接线。
图1-2 X轴电机驱动器与运动控制卡连接电路图3、DMC5480运动控制卡为每个轴配有两个限位信号、1个原点信号。
每路信号都加有滤波器可以过滤高频噪声,保证动作可靠。
各传感器与运动控制卡接线电路图如图1-3所示:图1-3 运动控制卡X1引脚与传感器的连接电路图4、图1-4为主轴变频电机与运动控制卡的电路连接图。
图1-4 变频电机与运动控制卡的电路连接图5、表1-1为37脚接线板各个引脚定义。
表1-1 37脚接线板引脚说明6、表1-2为68脚接线板各个引脚定义。
表1-2 68脚接线板引脚说明四、实验步骤1、根据图1-2、表1-1、表1-2,进一步熟悉电机驱动器与运动控制卡接线板各引脚功能,并做记录。
待检查运动模块控制面板线路无误后,将其电源线插入取电插座,将电源总开关合上;2、按下实验台控制面板上的急停按钮,然后依次合上QF1~QF7;3、合上空开之后,旋开急停按钮,交流220V电源进入实验台;此时要注意不要用手触摸实验台控制面板上的任何器件及接线端子,以免发生事故。
注意:当有紧急情况发生时,应立即按下急停按钮,切断控制面板电源,故障排除后才能再次上电。
五、实验报告1、说明数控系统硬件部分由哪些部分组成。
2、作Y轴电机驱动器与运动控制卡的连接电路图。
实验1.2 数控系统电机测试实验一、实验目的掌握运动控制卡自带软件的电机测试功能。
二、实验所用单元计算机、雷泰DMC5480运动控制卡、实验台控制面板、小型3轴立式铣床。
三、实验原理图1-5为雷泰DMC5480运动控制卡自带软件电机测试界面,通过图中界面,可实现X轴、Y轴、Z轴和主轴使能及正、反向运动。
图1-5 控制卡自带软件电机测试界面四、实验步骤1、检查线路,确认连接无误后,将电源总开关合上,启动计算机;2、按下运动模块控制板上的急停按钮,然后依次合上QF1、QF2、QF3、QF4、QF5、QF6、QF7;3、合上空开之后,旋开急停按钮,交流220V电源进入实验台;此时要注意不要用手触摸实验台控制面板上的任何器件及接线端子,以免发生事故。
4、双击桌面上的快捷方式Motion5480,打开运动控制卡测试软件。
在菜单栏中选择“参数设置”,分别对各轴进行脉冲设置。
其中,0-3轴分别对应X轴、Y 轴、Z轴和主轴,X轴、Y轴、Z轴选择类型4,主轴选择类型0。
5、在菜单栏中选择“IO检测”,分别对各轴进行使能。
其中,SEVON1控制X轴、Y轴和Z轴使能,单击SEVON1前的按钮,SEVON1后指示灯变绿代表X 轴、Y轴和Z轴使能成功;SEVON4控制主轴使能,单击SEVON4前的按钮,SEVON4后指示灯变绿代表主轴使能成功。
6、在菜单栏中选择“运动测试”,将出现图1-5所示界面。
以X轴为例说明:“运动轴选择”中只选中“第0轴”,“运动方式”选择“连续运动”,在单轴运动参数设置中选择运动方向为正,其他保持默认参数即可。
单击启动按钮,观察X 轴的运动,当X轴运动到正方向极限位置时,正限位开关启动,电机停止运动;这时,更改运动方向为负,可使电机反向运动,当X轴运动到负方向极限位置时,负限位开关启动,电机停止运动。
根据X轴运动测试的说明,可对其它轴进行运动测试。
7、结束前将工作台移动到X-Y平面左上角、注意:当有紧急情况发生时,应立即按下急停按钮,切断控制面板电源,故障排除后才能再次上电。
五、实验报告1、简述实现主轴运动,需进行哪些操作(从打开Motion5480开始)。
2、完成机床运行情况记录表。
实验二数控系统控制软件设计实验实验2.1 单轴运动控制软件设计实验一、实验目的1、了解软件数控系统的功能和构成原理。
2、掌握单轴运动控制软件的开发与调试方法。
二、实验所用单元计算机、雷泰DMC5480运动控制卡、实验台控制面板、小型3轴立式铣床。
三、实验原理1、以运动控制卡为控制设备的软件数控系统结构如图2-1所示。
控制系统的工作原理可以简单描述为:(1)操作员的操作信息通过操作界面(包括显示屏和键盘)传递给系统控制软件;(2)系统控制软件将操作信息转化为运动参数并根据这些参数调用DLL库中运动函数;(3)运动函数调用雷泰运动控制卡驱动程序发出控制指令给控制卡;(4)雷泰运动控制卡再根据控制指令发出相应的驱动信号(如脉冲、方向信号)给驱动器及电机、读取编码器数据、读/写通用输入/输出口。
图2-1 基于雷泰运动控制卡的设备控制系统结构2、一般情况下,运动控制卡生产厂商已经提供了相应的驱动程序和运动函数库,用户在使用过程中只需开发操作界面和系统控制软件,用户编写的系统控制软件的典型流程如图2-2所示。
图2-2 系统控制软件的典型流程3、在本实验中用到的运动函数定义及说明如下:(1)初始化控制卡函数:WORD d5480_board_init(void)功能:为DMC5480控制卡分配系统资源并初始化控制卡参数:无返回值:卡数,0~8;其中0 表示没有卡,返回负数表示有卡传输不正常。
(2)关闭控制卡函数:void d5480_board_close(void)功能:释放控制卡占用的系统资源。
当程序结束时必须调用此函数,它与d5480_board_init 函数是一个相反的过程参数:无返回值:无(3)脉冲输出方式的设置函数:WORD d5480_set_pulse_outmode(WORD axis,WORD outmode )功能:设置指定轴的脉冲输出方式参数:axis:轴号,0-X轴,1-Y轴,2-Z轴,下同;Outmode:脉冲输出方式选择,其值见表2-1。
表2-1 DMC5480脉冲输出方式返回值:错误代码。
(4)位移控制函数:DWORD d5480_ pmove(WORD axis, long Dist, WORD posi_mode)功能:使指定轴做定长位移运动参数:axis 轴号;Dist 位移值,用脉冲数表示posi_mode 位移模式设定:0-相对位移模式,1-绝对位移模式返回值:错误代码(5)指定轴的运动状态监测函数:int d5480_check_done(WORD axis)功能:检测指定轴的运动状态,停止或是在运行中。
参数:axis 轴号返回值:0-正在运行,1-已停止。
(6)SEVON驱动器使能函数:DWORD d5480_write_SEVON_PIN(WORD axis, WORD on_off)功能:输出对指定轴的伺服使能端子的控制参数:axis 轴号on_off 设定管脚电平状态:0-低,1-高。
返回值:错误代码四、实验步骤1、打开VC++ 6.0,创建一个新工程,工程类型为“MFC AppWizard (exe)”,工程位置设置为“D:\”,工程名称设为“*_DZ”(*代表实验者的学号,下同),然后点击“OK”按钮,程序类型选择“Dialog based”,点击“Finish”,在弹出的对话框中点击“OK”生成工程。
2、删除对话框中的原有控件,然后在空白的对话框上绘制3个“Button”类型控件,打开控件属性对话框,将3个按钮控件的“ID”分别设置为“IDC_X_MOVE”、“IDC_Y_MOVE”和“IDC_BACK”,将3个按钮控件的“Caption”分别设置为“X轴运动”、“Y轴运动”和“回原点”。
3、依次双击3个按钮控件,建立3个消息响应函数,名称保持默认,然后在类视图中右键单击“CMy*_DZDlg”类,选择“Add Windows Message Handler”,在弹出的对话框左侧列表中找到“WM_CLOSE”和“WM_DESTROY”,分别双击将其添加到右侧列表中,点击“OK”生成函数“OnDestroy()”和“OnClose()”。
4、将桌面上的“DMC5480.dll”、“DMC5480.h”和“DMC5480.lib”三个文件复制到工程文件夹“D:\*_DZ”中,回到VC++ 6.0界面,在菜单中找到“Project->Add To Project->Files”,在弹出对话框中找到刚刚复制到工程文件夹中的文件“DMC5480.lib”,点击“打开”按钮将其添加至工程。
5、添加代码:(1)包含运动控制指令头文件,在“*_DZDlg.cpp”文件开头位置的“#ifdef _DEBUG”语句前一行添加代码:#include "DMC5480.h"(2)初始化运动控制环境,在OnInitDialog函数的“// TODO: Add extra initialization here”注释语句之后添加代码:if(d5480_board_init() <= 0) {MessageBox("Failed to initilize DMC5480!", "Error");return FALSE;}for(int i = 0; i <= 2; i++) {d5480_set_pulse_outmode(i,4);}d5480_write_SEVON_PIN(0,0);(3)在OnDestroy函数的“// TODO: Add your message handler code here”注释语句之后添加代码:d5480_board_close();(4)在OnClose函数的“// TODO: Add your message handler code here and/or call default”注释语句之后添加代码:d5480_write_SEVON_PIN(0,1);(5)在OnXMove函数的“// TODO: Add your control notification handler code here”注释语句之后添加代码:if((d5480_check_done(0)==0) || (d5480_check_done(1)==0) || (d5480_check_done(2)==0)) { return;}d5480_pmove(0, (long)250000, 0);(6)在OnYMove函数的“// TODO: Add your control notification handler code here”注释语句之后添加代码:if ((d5480_check_done(0) == 0) || (d5480_check_done(1) == 0) || (d5480_check_done(2) == 0)) { return;}d5480_pmove(1, (long)125000, 0);(7)在OnBack函数的“// TODO: Add your control notification handler code here”注释语句之后添加代码:if ((d5480_check_done(0) == 0) || (d5480_check_done(1) == 0) || (d5480_check_done(2) == 0)) { return;}d5480_pmove(0, (long)-250000, 0);while (d5480_check_done(0) == 0) { ; }d5480_pmove(1, (long)-125000, 0);6、按下运动模块控制板上的急停按钮,然后依次合上QF1、QF2、QF3、QF4、QF5、QF6、QF7;确认无误后将电源总开关合上,并旋开急停按钮,此时要注意不要用手触摸实验台控制面板上的任何器件及接线端子,以免发生事故。