图 2 运动控制器软件功能结构图 其中,系统的控制包括位置控制、插补、速度处理和开关量 I/O 控制等,这类任务的实 时性很强,所以软件程序的优先级也较高;系统的管理包括人机界面显示、参数设置和程序 下载等,这类任务的实时性要求不高,所以软件程序的优先级也相对较低。可以说,一个运 动控制系统的基本功能均由上述功能的子程序实现,通过增加子程序可进一步增加系统的功 能。
要实现这些功能,必须做好运动控制器的软件规划,划分各个功能模块,才能在 DSP 芯片上设计运行程序。本系统软件主要分为两个层次,包括 PC 层软件和 DSP 层软件,其中PC 层软件在单板式运动控制中主要实现加工程序的传输和下载等功能;在插卡式运动控制中,除此之外,还需实现加工情况显示、加工命令发送等人机交互界面的功能。 运动控制器的主要功能由 DSP 层完成,本课题的主要任务也是 DSP 层软件的程序实现,具体包括:
1.运动控制 运动控制功能是运动控制器的主要功能,包括位置控制、插补和辅助功能的输入输出I/O 控制。本系统基本功能是实现 XYZ 三轴的运动控制,包括三轴联动的直线插补运动和任意两轴圆弧插补运动,可以实现步进电机的运动控制,提供单脉冲(即脉冲+方向)和双脉 冲(即脉冲+脉冲)两种控制方式。
2.速度控制
速度控制即调速,利用加减速算法,实现系统的平稳运动。系统设计空行程时的运动速度不小于 100KHz,加工过程中的插补运动速度不小于 40KHz;当脉冲当量为 2.5 微米时可达到的空行程和加工的最高速度分别为 15m/min 和 6m/min。
3.通信功能
运动控制器不是一个孤立封闭的系统,它必须和外界交换数据,主机通信主要完成两个 任务:一个是程序的下载,另一个是控制指令的发送和加工状态的反馈。根据单板式控制和插卡式控制两种不同的应用,分别有不同的通信方式。其中,在单板式控制中,通过 USB总线进行程序下载而通过串口进行控制指令的发送和加工状态的反馈;在插卡式控制中,两种任务都是由 PCI 总线来完成。本系统的多用性特点主要体现在通信方式的不同上,支持PCI 总线方式、USB 总线方式以及异步串行总线方式,供用户自由选择。
4.参数设置 作为开放式运动控制器,应该允许用户对控制系统的各运动参数进行实时调整与修改。
本系统设计将各参数存放在 FLASH 中,允许用户通过人机界面对参数进行修改,修改后的参数将在下次操作中起作用。
2.2 系统软件层次设计
DSP 软件采用模块化和层次化的设计思路,为使结构清晰,整个系统软件按功能群分割为多个文件分别处理和完成相应的任务,主要分为三个层次:
1.主控层:不涉及具体操作,只负责各个任务调度、中断安排、时间和优先级处理等, 主控层只有一个文件 main.c,包括主函数和中断函数,在主函数和中断函数中调用算法层的函数来实现系统的各个功能。
2.算法层:负责具体任务执行,控制算法实现,系统的主要功能都在算法层实现,包 含的模块由系统要求的各个功能来决定,算法层主要用以实现运动控制、速度控制和系统管理等功能,各模块之间通过标志位来联系,不互相调用。
3.接口层:负责与硬件的接口,所有与外设有关的操作都在该层进行处理,接口层中 包括 DSP 硬件资源的定义、系统硬件的驱动等。除接口层外,系统其它层的程序禁止直接对外设进行操作,接口层直接对外设进行操作的函数尽可能做到功能完善。 综上所述,本系统根据以上功能和层次进行软件设计并遵循以下原则:
(1)全局性:尽量保证系统各模块负载均衡;
(2)正确性:数学推导严密,尽可能利用试验验证;
(3)结构化:软件设计做到层次化、模块化、封装化;
(4)规范性:保证程序的易读性、移植性和可维护性。
3 小结
本文作者创新点是运动控制是数控技术的核心,近年来,随着开放式数控系统的发展, 开放式运动控制器也得到了前所未有的发展。运动控制器作为一个独立的工业自动化控制类标准部件,已经被越来越多的产业领域接受,并形成了令人瞩目的市场规模。本文介绍了运动控制器的总体设计方案,包括运动控制器的硬件平台以及软件设计思路。 |