本文在对上海电气中央研究院三轴铣削数控系统需求分析的基础上,结合固高运动控制器GE-300SV的功能实现,提出了一种适用NC嵌入PLC型的开放式数控软件系统框架模型。采用统一建模语言UML来描述系统的功能需求、总体设计、模块设计等,并建立了各种功能视图,有效地对开放式数控软件系统进行了建模,并通过面向对象编程语言VC++实现了该系统的接口界面。
1 基于UML的建模方法及其在开放式数控软件系统开发中的应用优势
1.1 基于UML的建模方法
面向对象技术是软件工程领域的重要技术。UML是由美国Ratianal公司的三位软件工程师发起并实现的标准建模语言。CTML建模采用的是一种图形表示法,它定义了建模语言的文法,并通过元模型对语言中的基本概念、术语和表示方法给出了统一的较为严格的定义和说明以及这些概念的准确含义,充分体现了面向对象技术的封装、继承与多态等特点。UML在融入软件工程领域的面向对象技术的基础上,不仅支持面向对象的分析与设计,而且还支持从需求分析开始的软件开发的全部过程。UML利用可视化的框图来描述系统的功能实现,为开发者提供了从不同角度去观察和展示系统各种功能和行为特征的有效方法。
基于UML的建模方法就是在需求分析的基础上提取出未来系统中的实体对象,使用UML的状态视图来描述每个实体对象的状态变化及其相关事件;建立实体对象及其相关事件的动态时序视图,用以描述实体对象间的消息传递。通过状态视图可以明确系统功能对象的具体活动、行为条件等,而顺序视图则表现了消息传递的时序性。两者结合可以有效建立系统实现的类图及其交互关系,提高了系统实现的透明度和可靠性。
1.2 UML在开放式数控软件系统开发中的优势
由于开放式数控软件系统的开发涉及到系统硬件功能的实现,包括译码、插补、位置和轨迹控制、线程间通信及I/O状态监控等功能,因此,需要明确系统的各功能对象的具体行为和交互关系。UML所提供的模型管理视图可以有效地将上述功能进行可视化模型描述。通过模型管理机制,开发者可以将各个模型元素合理地分配到各个不同层次的包,从而对系统中各功能对象间的关系在不同层面上进行全面描述,有效地提高了系统设计的可读性和可维护性。UML的这种面向对象的层次化、模块化建模机制非常适合于开放式数控软件系统的开发,一方面通过层次化、模块化建模可以保证软件系统的开放性;另一方面UML可以将系统中的各个功能对象用可视化的框图加以描述,增强了系统功能的透明度,有利干提高系统开发的质量和效率。
另外,UML的支持工具Ifatinnal Pose软件为IJIVIL的实现提供了强大的集成操作环境,同样为开放式数控软件系统的开发提供了高效可靠的实现手段。
2 利用UML对NC嵌入PC型开放式数控软件系统进行分析与建模
2.1 系统需求分析
系统需求分析就是要对开放式数控软件系统的功能模块和结构模型进行分析,从系统参与者的角度,明确系统所能提供的具体功能。对于开放式数控软件系统而言,系统参与者代表了与系统有接口行为的人或事物,是代表某一特定功能的角色。参与者是虚拟的概念,可以是软件的使用者机床操作者),也可以是外部系统或设备(I/O接口)。
围绕上海电气中央研究院对开放式三轴铣削加工数控系统研发的目标,对其数控软件系统进行了详细的功能需求分析。
(1)该系统是基于固高运动控制器的NC嵌入PC型开放式数控系统,必须保证软件系统的模块化和开放性。
(2)创该系统能够实现自动程序加工方式和MDI加工方式,并在人机界面上显示相关的加工位置信息、速度信息、刀具信息、进给信息、加工时间、报警信息及I/O状态信息。
(3)该系统能够实现JOG运动控制方式、连续运动控制和手轮控制运动方式等。
(4)用户可以通过该系统控制机床实现基本的直线/圆弧插补功能,并保证机床运行可靠和稳定。
(5)必须提供机床操作者一个操作简便、响应适中且人性化的人机接口界面。
(6)应该具有程序管理功能,如:程序修改、删除以及新程序建立并存储等功能。
(7)应具有参数管理和配置功能,如:系统参数配置、刀具参数设置,坐标系参数设置等功能。
(8)必须具有功能可扩展、可重构等特点。
(9)必须具有完全的自主知识产权。
根据以上对系统的功能需求分析,采用固高公司国产运动控制器,提出并设计了该数控软件系统的总体框架模型,如图1所示。
该开放式数控软件系统主要完成人机交互和译码功能,由嵌入式运动控制器(GE-300SV)完成插补和位置轨迹控制功能。系统人机界面主要完成系统运行的数据显示、加工运行状态显示、I/O状态监控和报警功能。机床操作者通过人机界面对系统进行操作控制,系统维护员可以通过人机界面进行系统参数维护。系统的译码线程是一个虚拟对象,主要完成对NC程序的译码工作。通过UML的用例视图图2可以清楚地描述上述系统框架模型和系统的具体功能需求。系统用例图描述了不同参与者的具体行为及其流。程。例如:机床操作者通过人机交互用例可以实现对系统的运行操作、参数设置操作和程序管理操作等3个子功能行为。同样,机床操作者通过系统运行操作用例可以实现诸如自动加工方式、连续运动方式等多种方式的加工用例行为,从而为开发者清楚地描述了所需要实现的功能类型和实现路径及其相关对象。