基于LabVIEW的数控机床网络测控系统--网络通信关键技术研究 2

发布者:vnerwb池塘边最新更新时间:2015-03-09 来源: eefocus关键字:LabVIEW  数控机床  网络通信 手机看文章 扫描二维码
随时随地手机看文章
4.2.3共享变量方法

共享变量是LabVIEW为简化网络编程迈出的又一大步。通过共享变量,用户无需编程就可以在不同计算机之间方便的实现数据的共享。用户无需了解任何的底层复杂的网络通信,就能轻松地实现数据交换。用户建立和使用共享变量就如同操作全局变量一样方便。

通过共享变量,用户可以在不同的计算机上的VI之间、本地不同或同一个程序框图的不同循环之间交换数据。共享变量的使用与全局变量类似,用户在程序框图中不仅仅看到的是一个变量而已,而变量具体与网络中哪台计算机哪个变量连接,以及各种其他属性等都已经事先在共享变量的属性中设定了。用户不用了解网络协议,不用任何编程就能轻松实现网络数据交换。共享变量有三种类型:Single-Process、Time-Triggered和Network-Published.

举例来说明,在计算机A和B上都安装LabVIEW,将计算机A作为服务器,并创建一个共享变量命名为SVServer_Variable,由计算机A上的一个VI向该共享变量写入数据。将计算机B作为客户端,在计算机上创建一个共享变量名为SVClient_Variable,该共享变量的数据源为计算机A上的SVServer_Variable.同时在计算机B上的一个VI中不断地读取SVServer_Variable,由此不断获得计算机A上SVServer_Variable的值。

共享变量方法具体实现方式见下图4.10所示。

享变量方法具体实现方式

4.2.4远程访问技术

用户在很多情况下希望直接将本地的VI程序面板“搬”到远程计算机上,在远程计算机上进行预览或操作。而LabVIEW提供的Web服务器技术能满足用户的这个要求,用户可以不需要任何编程就能在远程计算机上通过网页或LabVIEW连接本地VI面板,本地VI前面板便会“原封不动”地呈现在远程计算机的屏幕上。

在LabVIEW中,实现远程访问的方式有两种:远程面板控制和客户端浏览器访问,且在实施这两种访问之前都需要对服务器进行配置。LabVIEW中实现远程面板的连接仅需要两个非常简单的步骤,利用浏览器访问通信实例如下:

 

(1)配置LabVIEW Web服务器步骤如下:

①打开本地VI前面板配置服务器包括3部分:服务器目录与日志配置、客户端可见VI配置和客户端访问权限配置。在LabVIEW中选择“工具→选项”即可打开参数配置框,左侧分别可见“Web服务器:配置”、“Web服务器:浏览器访问”。其中“Web服务器:配置”是用来配置服务器目录和日志属性、“Web服务器:可见VI”用来配置服务器根目录下可见的VI程序,也即对客户端可操作的VI程序。“Web服务器:浏览器访问”用来设置客户端的访问权限。完成服务器配置以后,即可以选择远程控制面板或浏览器方式访问服务器、对服务器进行交互远程操作等。

②选择主菜单的工具/选项/Web服务器:配置选项,选择启动Web服务器,其他值可以保持默认。如果80端口被占用,则需要制定一个空闲端口。配置界面如下:


③选择Web服务器:可见VI页面,在这里配置允许被远程连接的VI.默认*标示任何VI都可以被连接。

④选择Web服务器:浏览访问页面,在这里可以配置允许连接本机的远程主机。

默认*标示任何主机都允许连接本机。

⑤单击OK按钮,如果没有弹出任何警告,则表明Web服务器成功启动。此时已经能够在远程计算机上通过LabVIEW Run Time引擎连接当前内存中打开的任何VI的前面板了,但是若需要通过网页浏览VI前面板,则还需要进一步配置。

⑥通过客户端浏览器访问时,首先需要在服务器端发布网页,然后才能从客户端访问,以实现远程通信。选择工具/ Web发布工具选项,打开如图4.12所示对话框。[page]

 

Web发布工具



⑦在该对话框中的VI名称中选择希望在网页中进行浏览的VI,这些VI必须是已经打开了的。查看模式用3种:内嵌表示VI前面板将嵌入在网页中,用户不仅可以浏览前面板,还可以控制前面板;快照表示仅把当前VI前面板的截图发布在网页中;显示器与内嵌一样,但是它会不断地按指定时间间隔更新截图。单击下一步。

⑧在该对话框中配置网页标题、头注和尾注。单击下一步,进入第⑨步。

⑨在该对话框中配置网址。URL即远程机器浏览时的网页地址。选择保存至磁盘,将会弹出文档URL对话框,单击链接按钮就可以在本地网页浏览器中浏览该网页了。



至此便完成了服务器端得配置。

(2)在客户端通过网页或LabVIEW Run-Time引擎连接远程面板。

①通过LabVIEW Run-Time引擎连接远程VI面板客户端若需要浏览远程VI面板,必须安装于服务器端相同版本的LabVIEW Run-Time引擎。

具体实现:新建一个VI,选择操作/连接到远程面板选项,在弹出的相应的对话框中输入服务器的地址、端口和VI名称(只能是服务器端已经打开了的VI);选择是否控制;单击Connect按钮。即可弹出远程服务器的端得VI前面板。右击客户端VI前面板,选择控制VI选项便可以得到VI的控制权,需要释放控制权时,右击前面板,选择远程客户面板/释放VI控制权选项即可。

②通过网页连接远程VI面板

通过网页浏览器连接VI面板更加简单,直接在网址栏中输入配置时配置的URL地址即可,通过网页连接也存在获得控制权限的问题,获得权限与释放权限的方法同上。

在客户端通过网页浏览器访问服务器访问的页面。这样通过Web页面的发布就可实现网络的通信,且用户可与发布的前面板进行交互式操作,使用户可以通过Internet操作仪器设备。

从以上各图可以看出,利用以上四种通信方式都可以把服务器端产生的正弦信号数据,通过网络通信成功地送至客户机进行显示。如果要实现界面的互操作,需采用远程访问方式,但需要注意的是使用此种方式进行网络通信时,产生的结果数据是保存在服务器端而不是客户端,如果客户端需要得到数据,还需使用网络通信协议、DataSocket或共享变量传送数据。利用网络通信协议把数据从一个网络或Internet计算机传输到另外一台计算机或网络上是实现远程测控系统通信的最基本方式。但基于DataSocket技术的网络通信可以达到很高的数据传输效率,实时性能相当好,同时安全性能也可达到要求,这是网络协议通信所不具有的,但缺点是由于访问权限等的限制,客户端的控制功能太弱,需待改进。同时通过共享变量实现网络数据的传输也是一种值得提倡的方法,它传输速率高,低延迟还可以通过DataSocket函数读写共享变量,应用灵活。

鉴于以上几种方法的比较,本文选用的是最后一种方式,这种方式省去了上位机的程序设计,在加上该系统属于适用节段,远程用户不必操作和管理现场,只是查看现场数据采集运行情况。

4.3 LabVIEW连接远程数据库的技术研究

在虚拟仪器测控系统中,LabVIEW与远程数据库的连接方法有如下几种:

4.3.1利用ADO技术访问数据库

本方法利用LabVIEW的ActiveX功能,调用Microsoft ADO对象,利用SQL语言实现数据库的访问。

ADO(ActiveX Data Objects)是Microsoft为OLE DB设计的应用层接口,它为一致的数据访问接口提供了良好的扩展性而不局限于单一的数据源。ADO接口编程模型中包括连接(Connection)、命令(Command)、参数(Parameter)、记录集(Recordset)、字段(Field)、错误(Error)、属性(Property)、集合(Collection)、事件(Event)等元素。其中Connection、Command、Recordset是三个主体对象,Parameters、Fields、Errors、Properties是四个集合对象。

ADO的一般操作方式为:①连接到数据源;②指定访问数据源的命令;③执行命令;④将命令执行后产生的结果保存在缓存中;⑤更新数据库。ADO的主要优点是易于使用、高速度、低内存支出和占用磁盘空间较少。

LabVIEW中对ADO的调用方法如下。

ADO对象在LabVIEW中是以ActiveX对象的形式提供的。LabVIEW自4.1版本就引入了支持ActiveX自动控制的功能模块,支持客户和服务器双方,即虽然程序是在双方各自独立存在,但它们的信息是共享的。这种信息共享是通过客户端使用由服务器端发布的ActiveX控件来实现的。[page]

图4.13展示的是LabVIEW中使用ActiveX控件的程序流程。ActiveX对象的打开和关闭是通过打开自动化节点(Automation Open)和关闭自动化节点(Close Reference)来实现的,属性的设置和获取则通过属性节点(Property Node)进行,而调用节点(Invoke Node)用于对象方法的调用。其中关键的是第二步,只有充分的利用“属性”和“方法”的设置才能成功地实现对数据库的访问。

 

LabVIEW中使用ActiveX控件的程序流程



①建立ADO对象

在前面板控件模板的Refnum子模板中选择Automation Refnum项,把它拖放到前面板上,在其右键菜单中选择Select ActiveX Class>>Broswer…,弹出Select ActiveX Object对话框,在类型库Type Library下拉列表中选择Microsoft ActiveX Data Objects 2.7 Library Version 2.7,在下面的对象Objects列表栏中出现这个库对LabVIEW可用的对象,选中Connection对象,点击OK按钮即可。同样的方法建立Command、Recordset对象。

②连接到数据源

在程序框图功能模板中选择CommuNIcation>>ActiveX子模板,选其中Automation Open与ADODB._Connection相连即可打开Connection对象。接着从ActiveX子模板中选择Invoke Node并与Automation Open相连,在其上单击右键选择Methods >>Open,即出现图4.13中所示的节点。其中“ConnectionSring”是连接到数据源的字符串,“UserID”和“PassWord”是连接到数据源的用户名密码,正确设置这些参数后便可连接到数据源。

③生成SQL命令、执行命令

与上一步相同,用Invoke Node调用Connection对象的Execute方法执行所要的操作。Execute方法所必需的参数为CommandText,这里为所要执行的SQL语句。例如可以使用Create命令创建表,用Drop命令删除表,用Insert命令向表中插入数据,用Select命令进行查询并返回操作结果等。本例使用Create命令创建了一个名为Staff的表,包括编号、姓名和年龄三个字段,其中id字段为主键,自动编号。对数据表的删除和添加数据的操作过程与建表过程类似。如果要对执行后的记录进行显示或读取字段值则需要建立Recordset对象,并与Execute相连。

④关闭连接

对数据库访问操作完毕后要及时关闭连接对象以释放内存和所用的系统资源。首先使用Connection对象的Close方法关闭数据库连接,然后使用Close Reference关闭ActiveX自动化参数号,剪标的程序框图如图4.14所示。

 

数据库中建表的程序框图

 

4.3.2利用LabSQL访问数据库

通过第三方开发的免费工具包LabSQL访问。LabSQL利用Microsoft ADO以及SQL语言来完成数据库访问,将复杂的底层ADO及SQL操作封装成一系列的LabSQL VIs,简单易用。

LabSQL利用Microsoft ADO对象和SQL语言来完成数据库访问,将复杂的底层ADO及SQL操作封装成一系列的LabSQL VIs,简单易用。LabSQL VIs按照功能可以分为四类:Command VIs,Connection VIs,Recordset VIs和Top Level VIs. Command VIs的功能是完成一系列的基本ADO操作,例如,创建或删除一个Command,对数据库的某一个参数进行读或写等。

Connection VIs的功能是管理LabVIEW与数据库之间的连接。

Recordset VIs用于对数据库中的记录进行各种操作,例如,创建或删除一条记录,对记录中的某一个条目进行读或写等。

Top Level VIs属于顶层的LabSQL应用,对前三类LabSQL VIs某些功能的封装,例如,SQL Execute.vi可用于直接执行命令。

4.3.3利用LabVIEW SQL Toolkit访问数据库

利用NI公司的附加工具包中的数据库接口工具包LabVIEW SQL Toolkit进行数据库访问。该工具包集成了一系列的高级功能模块,这些模块封装了大多数的数据库操作和一些高级的数据库访问功能。它的优点是易于理解,操作简单,用户可以不学习SQL语法。缺点是需要另外购买且价格昂贵,无疑会增加系统成本。

LabVIEW SQL Toolkit (又被称作为LabVIEW Database Connectivity Toolset)是用于数据库访问的附加工具包,它集成了一系列的高级功能模块,这些模块封装了大多数的数据库操作和一些高级的数据库访问功能。其主要的功能如下:

(1)支持ADO所支持的所有的数据库引擎;

(2)支持所有与ODBC或OLE DB兼容的数据库驱动程序;

(3)具有高度的可移植性,在任何情况下,用户通过改变DB Tools Open Connection VI的输入参数Connection String就可以更换数据库;

(4)可以将数据库中Column Values的数据类型转换为标准LabVIEW Database Connectivity Toolset的数据类型,这进一步增强了它的可移植性;

(5)与SQL兼容;

(6)不使用SQL语句就可以实现数据库记录的查询、添加、修改以及删除等操作;

(7)用户可以完全不需要学习SQL语法。

用户可以使用LabVIEW SQL Toolkit在LabVIEW中支持ODBC的本地或远程数据库,例如Microsoft Access,Microsoft SQL Sever,Sybase SQL Server以及Oracle等。

关键字:LabVIEW  数控机床  网络通信 引用地址:基于LabVIEW的数控机床网络测控系统--网络通信关键技术研究 2

上一篇:基于LabVIEW的数控机床网络测控系统--网络通信关键技术研究 1
下一篇:基于LabVIEW的数控机床网络测控系统--基于B/S模式的软件设计 1

推荐阅读最新更新时间:2024-03-30 22:54

LabVIEW学习笔记——第三个程序:子程序的调用
第一步 子VI的编辑:子VI是一个公式;X1+sqrt(X1)+ln(X1) 下面的是,子VI的输入和输出的设定 因为新浪博客上传视频需要时间审核,这里再附上这个视频的百度云链接:http://pan.baidu.com/s/1eQuFw4a 最后一步 子程序的调用
[测试测量]
借助LabVIEW 2014快速做出有据可依的决策
LabVIEW 2014软件增加了新的功能,可帮助用户随时随地采集、分析和可视化数据 NI (美国国家仪器公司,National Instruments,简称NI)近日宣布推出LabVIEW2014系统设计软件,该软件是NI平台的核心,包含了许多增强的功能,以帮助用户采集、分析和可视化数据,从而快速做出明智的决策。 LabVIEW 2014通过跨系统复用相同的代码和工程流程来标准化用户与硬件交互的方式,这一方式也使得工程师能够根据未来需求调整应用程序。随着技术的进步、需求的不断变化和产品上市时间压力的逐渐增大,这一方式可帮助用户节省大量的时间和金钱。 LocalGrid Technologies的总裁兼首席执行官Bob L
[测试测量]
LabVIEW在智能虚拟仪器仿真中的应用
  1 引 言   在电子类课程中,实验是重要的教学手段之一,学生通过实验,可以加深对所学知识的理解。   但是,由于近年来学生人数在不断增加,实验室设备和规模都难以满足需要,学生很少有机会反复熟悉常用仪表的使用,更不能为设计性实验提供条件,这对培养学生的创新精神,加强实践动手能力都十分不利,而且学校的财力也难以支付大量实验室常规设备的更新。虚拟仪器的出现很好的解决了这个问题。所谓虚拟仪器技术,就是用户在通用计算机平台上,根据测试任务的需要,来定义和设计仪器的测试功能。 软件就是仪器 反映了虚拟仪器技术的本质特征。LabVIEW(Laboratory Vir2tual Inst rument Engineering Workb
[测试测量]
<font color='red'>LabVIEW</font>在智能虚拟仪器仿真中的应用
labview的深入探索之全局变量、移位寄存器和LV2全局变量比较
对于内置全局变量和FUNCTION GLOBAL(LV2 GLOBAL)的性能LV相关书籍中的介绍各不相同,甚至是矛盾的,关于数据竞争的问题就不讨论了,FUNCTION GLOBAL有明显的优势,今天主要看看它的运行速度问题,我在以前的文章中提到过读写GOBAL需要内存拷贝的问题,频繁调用内存管理器肯定要影响它的速度,而FUNCTION GLOBAL虽然不存在内存复制的问题,但是它需要反复调用SUBVI,一定程度上会影响它的速度。 首先看内置GLOBAL的SHIFT REGISTER的性能比较。 可以看出SHIFT REGISTER的运行速度远高于全局变量,这是可以理解的,毕竟SHIFT REGISTER是LV的核心,它的
[测试测量]
<font color='red'>labview</font>的深入探索之全局变量、移位寄存器和LV2全局变量比较
使用NI PAC和LabVIEW软件控制藻类生物燃料的生产
  开发一个数据采集系统和控制平台,用于Solix藻类生长系统(AGSTM)的工业部署,需要既灵活方便,又坚固耐用。   The Solution:   使用NI Compact FieldPoint和LabVIEW的集成平台,监测、控制处理系统,管理数据记录;同时采用LabVIEW数据日志与监控(DSC)模块及NI DIAdem数据管理软件,存储、处理数据,进行深入、详细的分析。 Amine工厂和Solix Biofuels工厂鸟瞰图   "NI公司提供的产品、工具及持续的技术支持,可帮助我们快速开发、部署藻类生长所需技术,用来进行燃料生产。"    背景:藻类生物燃料生产   如今,全球对于有限的、不可再
[测试测量]
使用NI PAC和<font color='red'>LabVIEW</font>软件控制藻类生物燃料的生产
LabVIEW的数据线类型
为了区分不同的数据类型,Labview为各种不同的数据类型设置了固定的颜色。随着所连接数据类型的不同,数据连线的颜色和线条也不相。一般而言,单个数据对应的数据线为最细的线。包含多个数据的数据线较粗,多维数据一般为多个线条组合成的数据线。 表1列出了连接不同数据类型时的数据线线条和颜色。 表1数据及对应数据线类型 数组和簇这类由基本数据类型组成的数据,其线条和颜色都不固定:线条随着维数发生变化,颜色也和内部数据类型相对应。
[测试测量]
<font color='red'>LabVIEW</font>的数据线类型
基于LabVIEW的温湿度检测系统的设计
1 引言 温湿度检测在科研、农业、暖通、纺织、机房、航空航天、电力等工业部门得到了广泛的应用,因此设计简单方便的温湿度检测系统具有十分重要的意义。 本文基于Labview软件设计可以采集3路温度和2路湿度信号的温湿度检测系统,具有温湿度数据显示、波形显示、温湿度上下限设定报警以及数据保存和数据回读功能的系统,具有操作简单、有良好的 人机界面 等特点。 2 系统总体设计 基于LabVIEW的温湿度控制系统设计包含以下部分:控制对象建模、 数据采集 、数据传输、数据处理、控制信号输出接口电路设计及其他附属功能的设计。本设计采用 虚拟仪器 技术搭建基于LabVIEW软件开发平台设计的温湿度系统结构图如图1所示。 数
[测试测量]
基于<font color='red'>LabVIEW</font>的温湿度检测系统的设计
基于LabVIEW数控机床网络测控系统——总体设计 (二)
  3.3通用数据采集卡的驱动设计   系统中,在数据采集卡部分,LabVIEW提供了大量的数据采集子程序,这些驱动程序从简单到高级,可以提供给用户使用,但这些子程序只支持NI的数据采集卡(DAQ)以及少数公司开发的支持LabVIEW平台的数据采集卡,而这些卡的价格较昂贵,一般的用户很难接受。因此,为了能在LabVIEW平台上使用普通数据采集,有以下几种方案可以解决LabVIEW与普通数据采集卡驱动的问题。   3.3.1基于LabVIEW的普通国产采集卡的驱动方法   为了解决LabVIEW与普通国产采集卡的接口驱动问题,有三种可行方案:   ①直接用LabVIEW的InPort , OutPort图标编程方式;   ②
[测试测量]
基于<font color='red'>LabVIEW</font>的<font color='red'>数控机床</font>网络测控系统——总体设计 (二)
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新测试测量文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved