1 总体方案设计
该系统的目的是完善从产品设计到加工制造、测量这一过程的闭环反馈,从而形成产品设计、工艺设计、生产加工和检验测量整个产品全周期四个环节的闭环,让设计者能够全面了解产品制造出来以后误差具体的体现,让设计者能够实时了解产品的测量过程并且能够随时反复查看已完成的测量过程,同时将测量数据集成到CATIA设计环境中,在产品数模上通过图像的方式反映出来。
1.1 环境搭建
研究方案是测量数据在设计环境中的集成,因此需要测量和设计两个环境,每个环境下有一台计算机。
1.1.1 测量端
在产品的测量场地有一台可以联网的计算机,通过精密的测量设备与该计算机的配合进行零部件测量过程的控制、测量/分析和数据管理等工作,该计算机称为测量规划与控制计算机。
1.1.2 设计端
在产品的设计部门有一台可以联网的计算机,机器上装有CATIA设计软件,可以再CATIA设计环境下对产品进行设计、工艺信息以及零部件的数模展示,该计算机称为设计计算机。
1.1.3 网络端
在测量部门计算机与设计部门计算机之间搭建稳定畅通的网络环境,方便两台计算机之间进行网络通讯。
1.2 方案实施细则
搭建好系统所需环境后,测量端与设计端系统通过网络进行连接,测量端程序在有远程请求的情况下,实时向设计端发送测量过程的视频信息,远程设计端实时了解测量过程。测量端程序在有远程请求的情况下,将已经产生的测量数据和数据分析结果向远程设计端实时传输。设计端程序能够随时向测量端发送请求,请求通过的情况下获取远程测量过程的视频信息,同时可以将测量过程视频信息进行保存和回放,便于对测量过程和测量状态进行反复查看和分析。设计端程序在请求通过的情况下还可以实时获取测量数据和数据分析结果,并将数据信息集成到CATIA设计环境中,在设计模型上图形化显示测量以及分析结果。方案的实施示意图如图1所示。
图1 方案实施示意图
2 远程信息反馈系统设计
在Windows系统下进行Server端与Client端软件的开发。Server端作为测量端,捕捉测量过程的视频数据,获取测量误差数据并进行数据分析。Client端作为设计端,接受来自Server端的视频信息以及测量信息,实时显示视频即测量过程,并将测量过程视频信息保存下来;在CATIA设计环境下集成测量数据和误差分析数据。
2.1 C/S结构远程通讯的实现
设计端与测量端计算机可以是不同的型号和系统,为了保证在两台计算机之间进行通讯就要有相应的协议支持。目前有诸多网络协议,TCP/IP协议是局域网(LAN)和广域网(WAN)中应用最为广泛的协议。对于TCP/IP协议组来说,TCP提供传输层服务,而IP提供网络层服务。该协议的核心部分是TCP(或UDP)传输层、IP网络层以及物理接口层,这三层协议是在操作系统的内核中实现的。对于一般用户来说,操作系统本身并不会被直接感受到,但是操作系统上安装的应用程序确实用户直接打交道的对象,也就是说应用程序成为了用户和操作系统之间的接口。用户服务靠TCP/IP网络环境下的应用程序,即网络编程接口(Socket)实现,应用程序之间的服务模式为Client/Server模式,即C/S模式。因此,应用程序通过Socket网络接口与TCP/IP打交道,该网络接口就是我们进行网络通讯的接口。
Socket套接字是一套与网络协议相关的数据组合,包括源IP地址目的IP地址以及源端口号和目的端口号。在使用的时候包含了网络通信的必须的几种信息:连接协议,本地主机IP,本地主机端口,远程主机IP,远程主机端口。在C/S模式下,客户机与服务器两端各有一个套接字,在双方之间建立网络连接,从而实现双方的网络数据交换。应用程序间的网络通信归根结底是利用相同的通信协议来完成信息的传输。TCP/IP协议中的TCP协议通过三次握手原理建立连接,该协议使用具有面向连接、无差错、顺序一致等特点的流式套接字。Client端与Server端分别建立套接字,后者先进入监听状态,前者发送连接请求,后者收到请求同意建立连接,同时继续监听,与下一个发送请求的客户端再建立相应的连接。理论上讲,流式套接字具有通信可靠、延时小的特点,通常能够以较高的通信效率发送数据报。
2.2 测量过程的信息传递
应用程序建立连接后,通过Windows窗口消息响应原理,测量过程服务程序向测量监视程序发送消息请求,测量监视程序判断消息类型,决定执行发送数据操作。测量过程显示在测量端计算机屏幕上,为了实时发送测量过程需要捕捉屏显信息。屏显信息的获取采用屏幕截图的方法,但是BMP位图文件占用内存空间比较大,不适合实时发送,因此采取捕捉动态区域发送屏显信息。也就是只发送测量过程改变的部分,静态的屏显信息不发送,这样便大大减轻了传输以及保存的压力。同时对所获取的测量过程屏显信息进行压缩编码,发送到测量监视程序后再进行解码,这样大大加快了传输速率,为实现实时发送奠定了基础。在此过程中,通过代码模拟鼠标键盘来实现,客户端捕捉到鼠标键盘操作后,以系统命令形式将对应的鼠标位置、鼠标点击、键盘按键等结果发送到测量端,测量端收到命令后通过调用mouse_event和keybd_event两个API函数进行键盘鼠标的模拟操作。
设计端向测量端发送请求,请求获得测量过程信息时,测量端会另外创建一个TCP线程等待设计端的线程连接,连接成功后,测量端截取屏幕信息并压缩发送给设计端。设计端接收到数据后解压显示屏幕。
3 设计环境的数据集成
设计端使用CATIA进行零部件模型的设计,要将测量数据信息集成到CAITA设计环境中,并且对测量数据进行偏差分析需要对其进行二次开发。本文我们利用CATIA提供的Automation API,采用组件对象模型(Component Object Model,COM)技术以及CATIA提供的VBA集成开发环境(IDE)进行CATIA的二次开发程序设计。
3.1 CATIA二次开发环境要求
(1)系统:Windows 7 64位操作系统。
(2)版本:Dassault Systèmes (DS) CATIA V5R19。
(3)软件:Microsoft Office 2010。
3.2 测量数据的集成与偏差分析
从零部件的测量过程中我们得到该零部件的坐标信息,该坐标信息保存在Excel文件中,因此我们需要通过CATIA的VBA开发读取该Excel文件,并将该Excel坐标数据转化成CATIA可以识别的数据,并通过CATIA数据生成该坐标的asc点云数据,从而对此测量结果进行误差分析。点云数据集成到CATIA设计环境中后,与原零部件设计图进行对比,切换到CATIA材料模式下,选择Deviation Analysis命令,可以得到偏差分析结果,并且实时看到每个点处的偏差值。偏差分析结果如图2所示。
图2 偏差分析图
由测量结果得到的Excel测量数据即各点的三坐标值,通过CATIA的VBA二次开发将数据导入CATIA并转换成点云数据,并将生成的点云数据与原零部件模型进行偏差对比分析,可以清楚地看到不同偏差范围内点的分布情况,且能够看到每个点处的具体偏差值,从而让设计人员能够更好地了解设计与制造之间存在的误差,深入理解误差的产生,进一步指导生产制造及测量。
4 结语
本文从工业产品的实际设计制造需求出发,提出了提高产品设计制造质量的方案,并从测量过程与测量结果的数据传递、CATIA二次开发两个环节进行设计研究,最终开发出了可以应用于实际设计制造的软件工具。研究结果表明:通过将测量数据和测量过程信息反馈到设计端,并将设计端的数据集成到CATIA设计环境中对测量结果进行偏差分析,从而使设计人员能够更深入的理解误差产生的原因,继而对工业产品生产制造和测量的各个环节进行指导,提高产品设计制造的质量。
参考文献
[1]胡海波.基于Windows的远程控制软件设计实现[D].济南:山东大学,2012.
[2]任维娟,李洛峰,王春红.基于Web的远程电脑桌面监控系统的研究与实现[J].核电子学与探测技术,2010,30(7).
[3]卢梦娇.网络文件远程传输系统的设计与开发[D].西安:西安石油大学,2011.
[4]何朝良,杜廷娜,张超.基于CAA的CATIA二次开发初探[J].自动化技术与应用,2006,25(9).
[5]董伊鑫,席平.基于CATIA的界面二次开发[J].航空制造技术,2016,(12).
收稿日期:2017-11-22
作者简介:刘镇玺(1993-),男,山东菏泽人,北京航空航天大学在读硕士研究生,研究方向:工业信息化。