最新新闻
我要投稿
联系电话:027-87592219/20/21转188
投稿邮箱:tb@e-works.net.cn
您所在的位置:首页 > 智库 > 智能生产

基于DSP运动控制器的实时多任务开放式数控系统

发布时间:2014-06-15 作者:唐宗军 陆涛 陆辉  来源:万方数据
关键字:CNC 数控系统 开放式 
文章在对CNC 系统进行面向对象分析的基础上,建立了以PC 机作为上位机、DSP 运动控制器作为下位机的主从式数控系统。以C ++ BUILDER为开发工具,采用模块化结构设计,体现了数控系统开放性的基本思想。

  2.2  软件

  典型的编程结构应包括: ①需要导入的函数库; ②函数原型清单区域,全局变量声明区域; ③中断服务例程又称前台编程; ④初始化; ⑤无限循环又称后台编程; ⑥用户自定义函数体.前台编程、初始化及后台编程重要程序如下所示。

 DO 端口定义
程序

  pos_s 和pos_e 可设置电机初始点和终点位置绝对坐标,通过改变其值可实现电机的位置控制;control 可设置电压数值,通过改变其值可实现电机的速度控制;line move 1 PTP 为直线运动轨迹插补函数,可设置最大允许速度(360) 、最大允许加速度(3600) 、采样周期等。

3  人机交互界面

  本系统的人机交互界面采用Borland 公司的C ++ Builder5. 0进行编写。C ++ Builder 是基于C 语言的快速开发工具,它同时具有C ++ 语言的灵活和可视化编程的便利,功能强大、界面友好、使用方便,并且提供了丰富的VCL 组件库,避免了在界面开发上浪费过的精力。

  本次设计的人机交互界面主要包括以下两个组成部分: ①主操作界面,包括状态信息和代码编译; ②参数设定界面;

  (1) 主操作界面

  主操作界面中包括代码编译部分、状态显示部分以及主要功能按钮。其主窗口如图3 所示。图中,主状态信息框中主要显示出三个数控轴的当前位置,并用指示灯表示各轴的运行状态;副状态显示组框中显示各种加工过程的情况,包括当前使用的刀具和夹具编号、当前刀具补偿、冷却液状态、主轴转速、进给速度及各伺服轴的目标位置等信息;编译结束之后,将生成的数据结构传送到下位机DSP 内存中以进行加工工作。主窗体上方的下拉菜单和右侧的按钮可以对用于打开其他界面和完成系统功能,工具条中的图表按钮包括编辑用的功能以及基本的数控系统操作按钮,以方便使用。

图3  主操作界面
图3  主操作界面

  (2) 参数设定界面

  图4 所示的是系统的参数设定界面。一些比较重要的系统参数都在这个界面中设定。用户可以根据自己的具体情况对其中部分参数进行修改,同时,当外界的硬件环境改变时,只需要改变参数就可以完成系统的重新构建,体现了开放性的宗旨。

系统参数界面
图4  系统参数界面

  伺服轴的设置:这一页中包括对每个伺服轴的PID 参数,DAC输出口的偏差,编码器的线数与倍频,每轴的最大允许速度、加速度,以及系统插补运算所需要的采样周期;刀具与夹具:对系统所使用的各刀具和夹具进行编号,并对刀具的长度补偿和半径补偿进行设定;主轴设置:对于铣床系统的主轴进行设置,包括主轴的转速范围,最大允许加速度,主轴原点位置和主轴的PID 参数及DAC 的电压偏差;控制口设置:对MCT8000 I/ O板上的各输出端口进行了设置,主要包括各轴的使能控制端口、各轴的DAC 和编码器的端口以及系统冷却液、润滑液等辅助功能使能端口的设定;点动与轴的行程:分别对各轴点动时的额定转速,原点位置,最大行程与反向间隙误差进行规定。

  对于一个具体的数控系统,系统参数是不应该经常变动的。因此,我们可以把系统参数保存成文件,利用打开按钮直接打开;而一些新开发的数控系统,可以借鉴之前系统的参数设定,更可以从网络上远程下载一些固定俗称的规定结果,减少了重复操作的麻烦。

4 系统集成

  分别完成了上位机部分的程序和下位机DSP 程序代码后,还需要对各部分软件程序进行整合,组成整个系统的控制部分。下位机的DSP 程序是可以在C 语言的编程环境中完成,但MCT8000 的下位机处理器只能处理COFF(公用目标文件格式)格式的目标文件,这样就需要运用MCT8000 的编译器和程序加载器。MCT8000 自带的编译器MCTCL31 可以将编制好的C语言的源程序文件转换成COFF 文件格式,这种格式文件一般是以. out 为后缀结尾的;利用程序加载器PCL31 将与下位机DSP 内存进行连接,使上位机程序顺利的加载到DSP 的对应端口中去。这些内容可以以MS - DOS 命令形式执行,也可以编辑成. bat 为后缀的批处理文件,本次设计中采用了后一种方法进行实现。

  这样,在C ++ Builder 的上位机程序中,调用mcthost. h 函数库中的host execute cmd( const char 3 command) 函数(command是一个字符串指针,对应所要指定的文件) ,就可以完成对下位机已经编译好的. bat 文件的调用。

2
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。