基于 B/S 模式的数控机床网络测控系统软件设计
扫描二维码
随时随地手机看文章
下位测控机的数据采集、显示及存储回放软件设计 下位机测控服务器系统软件包括接口仪器驱动软件和应用软件两部分。其中,接口仪器驱动程序是完成对某一特定仪器的控制与通信的软件程序集合,是连接上层易用软件和底层软件的纽带和桥梁。每个仪器模块都有自己的软件驱动程序,仪器厂商将其以源码的形式提供给用户,用户在应用程序中调用仪器驱动程序。应用程序包含两方面的程序:实现虚拟面板功能的前面板软件程序和定义测试功能的流程图软件程序。它主要功能是给用户提供操作仪器、显示数据的人机接口;实现数据的采集、分析处理、显示、存储等;并将需要在客户端显示的数据发送到Web服务器,同时从Web服务器接收来自远程客户端的控制命令。 1.1.1数控机床测控软件的结构化设计 本文中数控机床数据采集系统的软件基本结构包括数据采集、数据处理、存储回放及用户界面等几部分。测控软件设计时可以采用面向对象的设计分析方法,通过仔细地规划和设计,使程序结构清晰,便于维护、修改、增加。软件程序结构图如图1所示。 结构化的程序主要包含以下功能模块(结构图见上图1所示): ①A/D通道校准模块 采集之前对采集通道校准以保证A/D通道的准确度。 ②电流采集模块 电流采集模块采用AD转换器的数据采集卡,试验中采集数控机床的消耗电流。 RRBDP软件对采集到的数据进行各种形式的滤波,曲线拟合、平滑等处理。 ③传感器校准模块 对电流传感器做标定以确保传感器输出信号尽可能接近真实值。 ④激光干涉仪数据模块 通过USB接口通讯,获取干涉仪采集的长度并经过分析后送往其它模块。 ⑤摄像头数据采集及显示模块 该模块负责完成视频采集显示和分析数控机床运动情况。 ⑥测试数据分析模块 对测试数据进行分析、匹配,建立数学模型并送往曲线显示模块。 ⑦实时曲线显示模块 实时显示消耗电流、定位精度以及坐标的关系曲线,采用具有很好的视觉效果的LabVIEW中的XY图来绘制曲线控件驱动。波形直观、精细、易于观察。 ⑧波形分析模块 对关系曲线(即波形)依据需要研究的分项进行分析,将分析结果及波形做为输出数据以特定文件格式存储起来。 ⑨测试日志记录配置模块 记录试验数控机床的信息、试验次数、试验日期、试验人员以及输出数据文件目录。 ⑩历史曲线回放模块及历史数据 导出模块载入以前试验后生成的数据和波形文件并回放出来,确保以前的试验结果可追溯。 1.1.2数据显示与存储回放程序的设计 本章数据显示与存储回放程序设计所需的基础知识包括:数控编程、数控机床操作、电路基础、VC++、C++、Web Service、LabVIEW和测试仪器等。基于以上程序开发结构和基础,设计的各功能模块显示界面如下图2所示: 图1.2是LabVIEW数据实时采集显示界面,软件的操作过程说明如下: (1)AD通道校准是指对采集板卡的计量校准,如果测得模拟量没有在精度要求范围内,软件有自己校准功能。 (2)参数设置界面是按照用户的要求来配置一些参数,比如说位移的起始点、终止点、步长等参数。 (3)测试界面如上图1.2所示,也是软件的主界面,但选择好测试方式后,(硬件部分连接好的情况下)就开始了实时采集与显示。对于采集的数据,测试完毕后,点击保存可以保存到Excel表中,也可以保存成特定格式的数据,在将此数据倒到分析软件中,进行无偿的分析,从而可以进行相应的补偿。但是对于工厂中大量的测试数据数据库是首先存储方式。可以利用LabSQL方式向数据库数据表添加记录,假设数据表为位移Displacement表。具体步骤如下: ①建立与数据库的连接。首先通过ADO Connection Create.vi创建一个Connection对象,然后利用ADO Connection Open.vi建立与数据库的连接。数据库由ADO Connection Open.vi的ConnectionString指定,此参数由前面板的字符串控件提供,如下图1.3所示。 ②生成SQL命令,执行命令。在前面板table控件中输入表名,Current和Error控件中输入字段值。在程序框图中使用Format Into String生成SQL命令,将它连接到ADO Connection Execute.vi即可执行,同时可在前面板Command Text控件显示此命令。 ③断开与数据库之间的连接。利用ADO Connection Close.vi关闭Connection对象,并使用ADO Connection Destroy.vi删除Connection对象。 (4)历史数据回放界面,可以根据用户需要,按照测试的日期时间打开所需要回放查询的文件。数据回放界面绘制出的相应历史曲线如图1.4所示。 在实时与历史曲线显示部分,趋势曲线能够形象清楚地描绘出现场数据在一段时间内的分布趋势,通过趋势图,操作员可以根据各个现场数据采集点的数据的变化趋势看出各个量的变化情况,且能查看任何历史时刻的数据,供现场操作人员作出适当的处理。 1.1.3数据记录监控模块DSC的应用 (1)测控系统在上述功能的实现过程中,遇到了三个实际工程问题: ①监控界面中现场数据显示的速度慢,最慢达到5秒的延迟,很显然这不符合工业现场过程控制实时性的要求。 ②由于LabVIEW软件本身不像FIX工控软件一样,带有实时数据库。当系统比较小时,即在控制点数少的情况下,实现监控功能可以利用全局变量的概念,将监视或控制的现场测量点都看作是全局变量,暂且称它们为“全局变量库”.然后把LabVIEW实现的各个功能看作是一个子程序,每一个子程序都是从全局变量库中取数据或向里写数据。也就是将这个“全局变量库”看作是一个实时数据库,现场每一个测量点都与库中的参数一一对应。这种方法在控制点数少的情况下还是可行的,但是,当系统是大中型的情况即现场控制点数很多的时候,在实践中发现,使用全局变量的方法,不仅编程量大,而且数据查找起来没有数据库查找起来方便快捷,另外,全局变量一直是编程人员所尽量避免使用的方法。 ③由于在实际的过程控制监视中,要求各个界面之间来回的切换,实现界面的友好操作性。FIX监控软件通过编程有调用各个界面的函数,可以方便的实现界面之间的切换。然而,在用LabvEIW实现界面之间切换的过程中,将上述的“全局变量库”作在“数据总揽”的界面里,其它各个子程序(界面),例如,“实时和历史曲线”、“历史数据”、各个流程图等,都是和它进行数据交换。所以“数据总揽”子程序起着实时数据库的作用,它在系统运行的过程中不能被关闭,本课题是利用VI Sevrer技术使得“数据总揽”子程序在系统己开运行时就以最小化的形式开始运行,保证数据的实时性。但是,考虑到“历史数据”和“历史曲线”两个子程序由于需要存取历史数据的原因,而在系统运行的过程中不能被关闭,所以也将它们始终处于最小化的状态运行。按照上述的做法,发现在系统运行过程中,各个界面之间切换起来速度较慢,这不能充分满足现场过程控制的实时性和可靠性的要求。 (2)基于DSC模块的问题解决方法 第一个问题,数据读和写的速度有明显的差别。利用Datasocket技术编程实现数据的读和写,写数据的速度却很快。所以可能是编程中出现的数据缓冲或者程序中等待事件的发生执行效率低的原因,决定数据显示部分通过在前面板直接用Datasocket连接OPC服务器。结果数据显示速度明显达到几百毫秒,满足了实时要求。而且这种方法开发时间短,效率高。 用LabVEIW能够初步实现数据采集、显示和存储等功能的前提下,考虑到NI公司推出的LabVIEW一附加模块--数据记录监控模块DSC(Datalogging and Superviosry Control Module),此模块是专为过程控制而设计开发的,是专用于轻松设计和维护分布式监控系统的理想软件工具。利用这个模块可以很方便地完成与设备的连接,包括LabVEIW实时目标模块和OPC设备。从系统概览到节点执行,该模块提供了内置式的开发工具,来成功记录数据、警报和事件;显示生产数据随时间变化的趋势;同时还可通过网络数据库,利用SQL/ODBC标准查询从中提取数据。该模块的应用增强了搜索和提取数据的灵活性,提高了数据记录的可靠性和保护能力 . 相比其它附加模块,DSC模块有以下六个特点:内置的网络开发工具;用于实现数据共享和与第三方设备结合;应用的安全性设置;针对分布式监控的开发工具;用于分布式数据记录的网络数据库;实时和历史趋势曲线。 (3)“LabVEIW+DSC”相结合运用“LabVEIW+DSC”相结合,软件体系结构图如图1.5所示。 为提高系统的开放性,选用了“LabVIEW+OPC”的设计方法。就是用LabVIEW作为上位机监控软件,采用先进的网络通信技术--DataSocket技术,通过OPC服务器接口来实现现场数据共享。这里采用的OPC服务器是Matrikon公司研发的,它作为一中间桥梁,实现了监控软件LabVIEW和现场智能组件之间的数据通信,通过OPC配置项建立与底层设备的数据采集点的一一对应关系。如下图1.6所示: 图1.6是OPC服务器的配置,其中项名Name是用户自己定义的对应于现场的数据采集点,Item Path必须符合OPC服务器与MODBUS协议的语法要求,即“[port].Device. 0~4:”,同时设置该项是读数据还是写数据以及数据的类型、更新时间等等 . LabVIEW访问OPC的方法有很多种,本文采用的是通过DSC模块中Tag Configuration Editor引擎,建立LabVIEW和OPC服务器的连接。DSC模块使用Tag连接OPC数据项,通过Tag Configuration Editor,可以将DSC的Tag与OPC数据项对应起来,生成。scf文件,相当于LabVIEW的实时数据库,如图1.7所示