您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 虚拟仪器第8章数据通信
唐山学院测控中心(C)2008第8章数据通信局部变量全局变量DataSocket技术概述使用DataSocket传输数据在Web上发布程序8-1局部变量我们知道,LabVIEW编程是通过连线方式来进行数据传递的,但当需要在程序框图中多个位置访问同一个前面板对象时,有时也会遇到连线的困难,或造成连线混乱不清。局部变量用来在一个VI内部传递数据,它不仅可以解决连线的困难,而且可以在对同一个控件的多次访问中有些对它写入数据、有些从它读取数据。8-1-1建立局部变量通过函数选板建立局部变量8-1-1建立局部变量直接为前面板对象建立局部变量8-1-2局部变量的使用方法通过局部变量既可以向它的前面板控件写数据,也可以从它的前面板控件读数据,而不必考虑这个控件是显示控件还是输入控件。需要做的只是改变这个局部变量的数据流方向。8-1-2局部变量的使用方法访问局部变量的顺序如果把对局部变量的读和写放在同一起,则不能保证写入温度值的动作一定发生在读取温度值的动作之前。也就是说有可能读取了没有意义的数据。要防止这种情况,可以采用顺序结构;或者建立人为的数据依从关系。8-1-3局部变量应用示例1.使用局部变量进行控制方式转换8-1-3局部变量应用示例2.使用局部变量控制两个并行的While循环同时停止8-1-3局部变量应用示例3.初始化前面板控件8-1-3局部变量应用示例3.初始化前面板控件——用户信息8-2全局变量由上一节我们已经知道,局部变量与前面板上已有的某一个控件相联系,用于在一个程序的不同位置访问同一控件,实现一个程序内传递数据。而全局变量是用于在不同的程序之间传递数据,这些程序可以是并行的,也可以是不便于通过接口传递数据的主程序和子程序。全局变量也是用一个控件的形式存放数据,但是这个控件独立于调用它的VI,以一个特殊的VI作为自己的容器。8-2-1建立全局变量8-2-2全局变量应用示例1.利用全局变量传递波形数据8-2-2全局变量应用示例2.全局变量传递数据(多用户)8-2-2全局变量应用示例3.液位控制——液位控制程序8-2-2全局变量应用示例3.液位控制——容器仿真程序8-2-3局部变量和全局变量应注意的一些问题LabVIEW程序最大的特点就是它的数据流驱动的执行方式,但是局部变量和全局变量从本质上讲并不是数据流的一个组成部分。它们掩盖了数据流的进程,使程序变得难以读懂。另外使用局部变量和全局变量还要注意以下的问题:局部变量和全局变量的初始化使用局部变量和全局变量时对于计算机内存的考虑8-3DataSocket技术概述8-3-1DataSocket的特点DataSocket是NI公司提供的一种网络传输技术,它建立在TCP/IP协议的基础之上,但是却不用进行复杂的底层TCP编程,就可以通过计算机网络向多个远程终端同时广播现场的测量数据。DataSocket技术专门为满足测试与自动化的需求而设计,它不必象TCP/IP编程那样把数据转换为非结构化的字节流,而是以自己特有编码格式传输各种类型的数据,包括字符串、数字、布尔量,以及波形等。DataSocket为共享与发布现场测试数据提供了方便易用的高性能编程接口。8-3-2DataSocket传递数据的方式DataSocket由DataSocketAPI和DataSocketServer两部分组成。数据发布VI和数据订户VI都是DataSocketServer的客户,数据发布VI往DataSocketServer中写入数据,数据订户VI从DataSocketServer中读取数据。8-3-3DataSocketServerDataSocketServer是一个小巧的独立运行的程序,发布数据的程序通过它进行数据输出,输入数据的程序通过它接收数据。8-3-3DataSocketServerDataSocketServerManager对话框8-3-4统一资源定位符URL使用DataSocket传输数据时,采用和(UniformResourceLocator)来说明使用的通讯协议和数据资源的位置。可以采用的协议包括dstp、opc、logos、ftp和file。使用DataSocket协议时URL填写格式示例为:dstp://localhost/data或dstp://166.111.62.163/datadstp指DataSocket传输协议,中间段是发布数据机器的IP地址或计算机标识,最后一段是数据项标签,用于在DataSocketServer上为特定的数据项定址。8-4使用DataSocket传输数据使用DataSocket传输数据有两种方法:一种是在前面板控件之间传输数据;另一种是在程序中传输数据。8-4-1使用DataSocket链接前面板对象DataSocket的前面板对象链接是一种不需要任何编程的网络数据传输方法。通过DataSocket将两个程序的前面板对象链接起来,一个对象发送数据,另一个对象接收数据,就可以实现对程序的远程控制,数据的远程采集等诸多功能。8-4-1使用DataSocket链接前面板对象前面板对象链接指示灯8-4-2在程序中使用DataSocket传输数据1.读DataSocketServer预定义数据项初始值8-4-2在程序中使用DataSocket传输数据2.向DataSocket写数据8-4-2在程序中使用DataSocket传输数据3.从DataSocket读数据8-5在Web上发布程序使用LabVIEW的Web服务器可以在网络上发布LabVIEW程序前面板的图像或HTML(HypertextMarkupLanguage,超文本链接标示语言)文件供本地或远程计算机浏览;还可以在网络上打开其它计算机内存中的LabVIEW程序前面板。使用访问HTML文件的方法和前面板链接的方法都可以安全、快捷地进行程序的远程控制。。8-5-1在Web上发布LabVIEW程序的设置打开与设置Web服务器的方法是使用菜单命令“工具—选项...”,在弹出的选项对话框类别栏最下面三项为有关Web服务器设置的选项。1.“Web服务器:配置”项,2.“Web服务器:可见VI”项,3.“Web服务器:浏览器访问”项。8-5-1在Web上发布LabVIEW程序的设置1.“Web服务器:配置”项8-5-1在Web上发布LabVIEW程序的设置2.“Web服务器:可见VI”项8-5-1在Web上发布LabVIEW程序的设置3.“Web服务器:浏览器访问”项8-5-2在Web上发布程序前面板发布程序前面板是在Web上发布程序的最简单的方式。在发布程序的计算机上打开Web服务器以后,网络上的任何计算机不管是否安装了LabVIEW,只要按规定的格式在Web浏览器中输入正确的URL,就可以查看Web服务器所在计算机内存中程序的前面板。在Web上浏览程序前面板时URL填写格式示例为:。8-5-3在Web上发布HTML文件创建HTML文件——选择VI和查看选项8-5-3在Web上发布HTML文件创建HTML文件——选择HTML输出8-5-3在Web上发布HTML文件创建HTML文件——保存新网页8-5-3在Web上发布HTML文件创建HTML文件——点击“保存至磁盘”按钮保存新网页,弹出对话框中提示文档已被保存,并显示文档的URL。8-5-3在Web上发布HTML文件浏览HTML文件浏览HTML文件时在发布程序的机器上要运行Web服务器,并将被发布的程序设置为可见;浏览网页的计算机上如果没有安装LabVIEW,要安装LabVIEW运行引擎lvruntimeeng.msi,才能对程序浏览和控制。查看保存的Web页,还要按规定的格式在Web浏览器中输入URL,例如表示发布网页计算机的IP地址是“10.10.22.46”,HTML文件保存为“Lvweb.htm”。如果发布网页的程序在计算机内存中并被设置为可见,则Web页中包括程序的前面板图像和文本说明;否则将只有文本内容。一个程序可以发布多个不同的网页,同一个网页各个机器可以分别浏览。8-5-3在Web上发布HTML文件通过HTML文件远程控制程序——客户端8-5-3在Web上发布HTML文件通过HTML文件远程控制程序——服务器端8-5-3在Web上发布HTML文件程序远程控制一些主要问题嵌入前面板的ActiveX控件不能显示在客户端前面板。标准的文件对话框和路径控件的浏览钮也不能在远程面板应用。只有能取得控制权的客户,才可以远程看到用VI服务器动态打开运行的VI和设置为被调用,即打开前面板的子VI的面板。有While循环的程序必须加上“等待”函数,否则它会阻止一些必要的程序后台运行。练习与思考8.1在程序前面板上创建一个数值型输入控件,为它输入一个数值;把这个数值乘以一个比例系数,再由同一个控件上显示出来。8.2编写一个程序,用LabVIEW的信号生成函数产生一个三角波并显示在波形图表上。由另一个程序把它产生的三角波数据读出来并显示在波形图表上。调节两个程序运行的速度,观察对比两个波形是否有差异。说明原因。8.3通过前面板对象链接,控制另一台机器上波形显示控件的可见性。8.4使用DataSocket编程在两台计算机之间传输文本数据和数值型数据。8.5将程序前面板和文字说明发布Web页,在网络上其它机器中浏览并控制VI的运行。
本文标题:虚拟仪器第8章数据通信
链接地址:https://www.777doc.com/doc-320326 .html