周赵缨,王吉林
(上海电机学院,上海 201306)
基于计算机软硬件的实验实训系统设计与实现
周赵缨,王吉林
(上海电机学院,上海 201306)
实验实训系统基于计算机软硬件及网络技术,为学生从事机电设备的实际生产操作及技术管理工作建立了一套灵活实用的信息平台与环境。论述了实验实训系统的概要设计、数据库设计、各个模块的内部数据结构和处理流程等内容。该软件的运行环境面向实训实验室的局域网,系统整体采用客户服务器模式,客户端采用PC平台和Windows图形界面操作环境和C++编程,在服务器端采用SQL Server 2008数据库服务器软件和T-SQL编程实现。
数控加工;作业模拟;面向对象编程;数据库系统
1.1 概要设计
软件系统的设计以需求为基础,首先从总体的功能划分和模块关系的角度概要建立起软件逻辑架构,以及数据库平台中的信息实体及其关联的关系。
图1所示为逻辑架构图,描述主要的功能单元。
该系统的层操作评价管理模块对用户在实训项目中的表现进行评分,该单元调用加工任务管理模块的接口函数, 同时基于内置的评分指标计算操作评分[1]。
图1 软件逻辑架构图
设备模型管理和工件模型管理模块的主要数据对象是设备模型和工件模型,通过在数据库平台上的数据模型及其属性来表达对设备和工件对象的创建、参数设置、坐标系的变换和运动轨迹计算等处理过程。
该系统的底层是数据库平台,基于通用关系型数据库系统来设计和实现。该系统中的主要数据实体表达为关系数据表,主要数据实体有设备、工件、项目、任务和操作评价指标等。
1.2 数据库设计
该数据库系统的主要数据实体有加工项目信息表、设备信息表、工件信息表、台面作业信息表、故障信息表、工艺参数表和数控程序表等各项,属于数据库中的静态信息对象。
动态数据对象与加工任务过程中生成信息有关,主要有工件轨迹和刀具轨迹数据表,并通过数控加工模拟程序在计算中生成和插入。其数据库数据实体—联系模型如图2所示。
图2 系统数据库E/R图
1.3 模型管理
模型管理模块面向设备和工件模型对象进行创建、编辑和调用。该模块在基础层次的数据在数据库平台上表达,主要数据表中表达静态和动态信息的数据表[2]。
与该系统在基础层次的数据管理目的不同,该模块在较高的层次上为加工项目对象管理加工设备—工件—刀具—数控程序的组合数据模型,也就是说,该模块的基本单元是设备模型,该模型是一种复合对象。
每个设备对象的类是EqpModCls,包含设备坐标系子对象EqpXYZLS和数控程序子对象NCP,与数控程序子对象NCP直接相关的是数控模拟函数NCPSim。
设备坐标系对象的主要接口函数是计算刀具运动轨迹的函数CutXvsSim,目的是在设备坐标系中计算加工过程的轨迹。设备坐标系对象下属的子对象主要是工件模型对象,工件模型对象根据用户的选择从基础层次的数据库系统加载数据,通过设备坐标系对象的属性BsCmptDfm关联到该对象。
工件模型对象的主要下属子对象有工件材料对象和工件坐标系对象。工件材料对象MtrsCmptn的属性主要表示工件材料的扭矩系数、刚度参数和热变形参数,以计算加工切削量和加工过程中的变形量。
工件坐标系对象CmptnUVT的数据结构与设备坐标系类似,用来表达工件的固联系在设备坐标系中的位置和主轴方向。
和工件模型对象主要相关的接口函数是加工量计算函数ActsUPM和工件的运动轨迹计算函数CmptnTrsBnz,后者通过调用数控过程模拟函数的输出数据将其转换为工件坐标系中的数据来完成其功能。
模块内部管理的设备模型和工件模型的逻辑数据结构以及子对象之间的复合关系如图3所示。
图3 设备—工件复合模型数据结构
1.4 设备操作模拟过程
设备操作模拟过程是核心功能,其实质是对设备加载的数控程序的解释和模拟过程及算法逻辑。
首先,读入指令数组,并将其解释为针对设备刀具的运动指令或针对工件对象的方位指令;然后,将指令目标码和参数存入数组NCPLX,开始进入加工作业的初始化处理,该过程基于用户在模拟的机床键盘界面上的设定信息来进行;最后,进入循环处理和轨迹坐标点计算。
程序首先检查是否存在紧急停机信号,若发生该事件(故障模拟情况)则进入停机处理(在目前的设计中是回到初始化状态),反之则进入一个循环周期;然后根据当前数控指令及其参数计算一步运动坐标的变化量;最后检查模拟中断信号。
模拟中断信息主要模拟加工过程中的机床外部设备的异步事件,如果存在该事件则程序进入对应的事件处理分支然后返回;否则更新控制器对象的当前状态后,根据当前指令的模式类型(如插补模式和手动模式等)直接进行下一步周期处理。
上述步骤对每条加工指令重复执行,直到出现终止指令。算法逻辑流程如图4所示。
图4 设备加工模拟主流程
上述算法处理主要面向数据计算,所直接生成的是每条加工指令导致的运动坐标的变化增量。在上述计算完成后,该函数最后再按照顺序将每项坐标分量换算成为完整的坐标数值并写入轨迹坐标的临时数组[3]。
轨迹临时数组有2个简单的相关接口函数:一个供图形显示单元调用;另一个供工件运动和刀具运动计算单元调用。两者的区别在于前者是适应图形函数要求而进行必要的数据类型转换。
1.5 加工任务管理
该模块以加工任务对象为核心。一项加工任务有1组工件和1组项目指标(例如加工精度和材料耗用量)组成。工件子对象下属的子对象是1组工序任务,每个工序任务下属1个设备对象和1个数控程序对象。用户选择设备对象,设定设备参数,制定数控程序文件作为加工工序的工艺程序。
该模块的加工项目数据结构如图5所示。该对象的主要接口函数是数控模拟计算函数NCPrjSim和项目评分函数NCPPrjEvl。函数NCPrjSim对每项工序任务调用上一节的计算流程进行计算。在完成模拟加工过程后,根据模拟的加工效果调用评分函数计算评分。
图5 加工任务模型数据结构
1.6 故障和其他模块
故障功能模拟非正常运行状态,使用户了解设备典型故障和其造成的后果以及正确的处理方法。该功能包括的具体子功能有故障设置,主要面向教师用户来创建设备对象的非正常运行状态。该模块调用上述讨论的函数来进行故障状态下的加工运行计算,模拟这种情形下的加工过程,同时计算工件材料消耗。该模块主要为界面交互式的参数设定处理模式。
其他模块功能主要围绕图形显示。基于调用数控机床供应商的基础图形接口进行实现,支持图形标准接口OpenGL和主流图形软件接口标准。
软件运行环境是局域网,系统整体采用客户服务器模式,客户端采用PC平台和Windows图形界面操作环境,服务器端采用SQL Server 2008数据库服务器软件,基础网络架构采用交换式宽带以太网。该系统支持80名学生同时进行实训,教师负责在服务器上编辑加工项目,在终端上对学生编制的加工方案进行分析、指导。
网络部署方案如图6所示。网络架构采用100 Mbps带宽交换式以太网,中心交换机连接2台应用服务器进行仿真计算和图形生成。软件采用C++开发面向加工过程计算的主要程序,计算加工轨迹坐标和图形显示等方面,基于SQL存储程序实现面向数据存取的主要事务。SQL程序在数据库服务器端运行,通过客户端的程序进行访问和调用[4]。
2.1 模型管理
主要处理对象是设备模型、工件模型和加工项目,软件采用面向对象编程技术的C++语言。
软件系统如要升级或变更软件功能,需要重新开发实现对应功能算法的对象,或者增加实现新功能的类。只要对象的外部访问接口的涵义不发生变化,其他对象仍然按照原有的方式与涵义存取新对象的数据与调用该对象的功能,整体软件的内部逻辑关系不发生任何影响,这就是基于面向对象实现的软件对象重用的原理。
生产实训系统网络部署环境如图6所示,在该系统中设备对象的基本类是EqpModCls,包含一组属性和子对象。
图6 生产实训系统网络部署环境
2.2 数控模拟和加工项目管理
数控程序对象NCP最主要的接口函数是数控模拟函数NCPSim,该函数解析数控指令,并根据所关联的坐标系和工件对象的属性计算加工过程的运动轨迹。该函数直接生成每条加工指令导致的运动坐标变化增量。
在上述计算完成后,该函数按照顺序将每项坐标分量换算成完整的坐标数值,并写入轨迹坐标的临时数组,轨迹临时数组有2个简单的相关接口函数。
加工项目管理功能主要在数据库服务器内通过存储程序来实现。
2.3 图形功能接口
主要功能是在内部进行设备对象的建模和模型管理,工件对象的建模及模型管理,以及数控加工程序的模拟和计算。除此之外,为了向用户提供接近真实的加工模拟环境,该软件通过图形界面和标准的三维动态图形库来显示和输出所计算的加工过程的轨迹数据以生成动态的三维图形显示。该部分的程序主要基于标准图形库来实现。
系统重点实现目标见表1。
表1 系统重点实现目标
本文从软件工程角度较为系统地论述了该实训平台的设计和实现,同时也发现了很多新的有待完善的方面,数控仿真技术主要表现在智能化方面,如果能结合人工智能、知识库和专家系统等技术,将更有实用价值。
[1] Schuman M. 软件工程[R]. 北京: 机械工业出版社,2008.
[2] 周庆.基于面向对象方法的中间件集成技术[J].计算机应用研究,2007,28(12):104-106.
[3] 熊忠阳.Windows/DNA架构平台开发指南[J].计算机科学,2009,31(4):41-46.
[4] 周恩哲. 基于UML的软件工程方法[M].大连:大连海事大学出版社,2008.
责任编辑郑练
DesignandRealizationofExperimentSystembasedonComputerSoftwareandHardware
ZHOU Zhaoying, WANG Jilin
(Shanghai DianJi University, Shanghai 201306, China)
Based on computer software, hardware and networking technology, the production training system builds a sery of flexible and practical information platform and environment for the students to conduct electromechanical equipments manufacturing operation and technical management work. This paper discusses the outline design of experiment and practical training system,database design and each module’s internal data structure with processing flow, etc. The system is developed in the mode of Client/Server architecture with windows graphical environment at client side programmed in C++ and SQL Server 2008 DBMS at server side programmed in T-SQL for storage routines, running in the environment of the institute’s local networks.
numerical processing, operation simulation, object-oriented programming, database system
TG 659
:A
周赵缨(1980-),女,硕士,工程师,主要从事数控技术等方面的研究。
2014-12-15