当前位置:首页 > 经验 >

100个labview编程实例(LabVIEW入门与实战开发100例)

来源:原点资讯(m.360kss.com)时间:2023-04-03 15:40:19作者:YD166手机阅读>>

对于网络通信来说,LabVIEW平台本身提供了多种方法加以实现,如可以通过TCP协议、UDP协议、DataSocket技术、甚至远程面板通信技术等方式进行通信。

下面通过一个简单的例子,演示在LabVIEW中如何通过TCP协议实现两个程序之间的数据通信功能。

实例说明

编写两个程序,分别为服务器端程序和客户端程序。其中,服务器端程序开始运行时,处于等待客户端连接的状态中,一旦有客户端成功连接,则向客户端发送带有时间信息的字符串“I`m sever!”;客户端程序与服务器成功建立连接后,则读取服务器端发送的信息,并在前面板上显示出来,以此来实现服务器端与客户端的通信。

编程思路

TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。使用LabVIEW基于TCP协议编写通信软件时,一般其整个传输过程如下:

(1)服务器通过主机名或者IP地址与端口号,建立侦听,等待客户端连接;

(2)客户端根据主机的IP地址和端口号发出连接请求;

(3)服务器与客户端建立连接后,通过读写函数进行TCP数据通信;

(4)关闭连接。

在LabVIEW中,提供了一组专门的相关TCP的操作函数,在后面板程序框图中进入函数®数据通信®协议中选择TCP可以进入TCP子模板,主要节点函数如下图所示。

100个labview编程实例,LabVIEW入门与实战开发100例(1)

使用上面的函数,下面分别给出服务器端程序和客户端程序的具体实现方法。

服务器端程序

服务器端前面板如下图所示,其中,“端口号”设置服务器程序的端口,该值即为客户端程序的要连接的服务器程序的端口标识值;“待发送字符串”为发送给客户端程序的内容,该处设置为“I`m sever!”。

100个labview编程实例,LabVIEW入门与实战开发100例(2)

服务器端程序框图如下:

100个labview编程实例,LabVIEW入门与实战开发100例(3)

在程序框图中,首先利用“TCP侦听”函数创建一个侦听,该函数需要2个关键参数:端口号和超时时间(单位为ms)。该示例超时时间设为-1表示永远不超时,即无限等待下去直到有一个客户端程序连接。该函数运行后返回一个“连接ID”参数,该参数是其它TCP相关操作函数的输入参数接口。利用“格式化日期/时间字符串”函数取得当前的系统日期及时间,然后与待发送的字符串连接后得到实际发送的消息内容,利用“写入TCP数据”函数发送到客户端程序即可。该例中采用了两个“写入TCP数据”节点函数发送数据,首先发送消息内容的字节数(此处使用“强制类型转换”函数将“I32”类型的长度数据转换为字符串),其次发送实际的内容字符串数据。这种先发字符串长度再发字符串内容的发送方式有利于客户端正确的接收数据。最后调用“关闭TCP连接”函数,退出程序。

客户端程序

客户端前面板如下图所示,其中,“端口号”即为服务器端程序设置的端口标识值;“IP地址”设置服务器端程序的IP地址,“已接收字符串”显示服务器端程序发送的消息及收到该消息时的时间信息。

100个labview编程实例,LabVIEW入门与实战开发100例(4)

客户端端程序框图如下:

100个labview编程实例,LabVIEW入门与实战开发100例(5)

在程序框图中,首先调用“打开TCP连接”函数建立与服务器端程序的连接,该函数需要2个关键参数:IP地址和端口号,即服务器端程序所在的主机的IP地址及服务器端程序设置的端口号。该函数与服务器端程序正确建立连接后返回一个“连接ID”参数,该参数是其它TCP相关操作函数的输入参数接口。与服务器端框图程序相对应,该程序也采用了2个“读取TCP数据”节点函数读取服务器端程序发送的数据,与“写入TCP数据”节点函数不同的是,该函数还需要一个参数:要读取的字节数。由于服务器端程序先发送的是总字节信息,因此客户端首先读取接收消息内容的字节信息,输入I32类型的常数“4”,表示读取4个字节的内容,然后将读取的字符串内容使用“强制类型转换”函数转换为“I32”类型的字节值,将字节值作为第2个“读取TCP数据”节点函数的读取的字节值参数,然后将实际的消息内容读出显示到前面板的“已接收字符串”控件上即可。这种方法是TCP通信中常用的方法,可以保证在不丢失数据的前提下有效地发送或接收数据。最后调用“关闭TCP连接”函数,退出程序。

总结

通过上面的程序可以看出,由于LabVIEW对TCP协议通信底层的具体实现方法进行了高度的封装,因此使用这些函数构建复杂、灵活的网络测试系统时,相对于其它高级编程语言,将会大大降低编程人员的开发难度,提高编程效率,这也是图形化编程语言的高效、简洁的魅力所在。

另外,需要说明的是:

(1)采用TCP节点通信时,在服务器端框图程序中必须指定网络通信端口,客户端也要指定相同的端口,才能与服务器之间进行正确的通信,如上面例子中指定端口号为1800。在一次通信连接建立后,就不能改变端口的值了。如的确需要改变端口值,则必须首先断开连接,才能重新设置新的端口值。

(2)在客户端要指定服务器的IP地址才能与服务器之间建立连接。若服务器和客户机在同一台机子上运行时,客户端框图程序中输入的服务器地址可以设置为下面任意一个值:“localhost”、“127.0.0.1”、空字符串或者当前计算机的名称。

如果你觉得这篇文章对你有用的话,收藏 点赞吧。

栏目热文

素描人头打形的诀窍(素描人头提高100个技巧)

素描人头打形的诀窍(素描人头提高100个技巧)

喜欢绘画的同学一定要私信“画画”,有绘画教程和公开课等着你哦~ (私信方法:点击“肯博美术”头像,进入主页面,上方有私信...

2023-04-03 16:02:31查看全文 >>

素描人头像打形方法(素描人头像照片)

素描人头像打形方法(素描人头像照片)

首先把人物头像的轮廓画出来,接着画一下发型和五官,细致刻画五官部分,阴影和高光的位置要画好,最后整理画面,把人物画的更加...

2023-04-03 16:20:44查看全文 >>

素描人头起形方法三庭五眼(素描人头像初学步骤)

素描人头起形方法三庭五眼(素描人头像初学步骤)

人物绘制基础知识1 人物头部骨骼的认识头骨虽然看起来很恐怖,但头骨是头部造型的基础,掌握头骨结构是画好头部的重要因素之...

2023-04-03 15:54:57查看全文 >>

人头素描起形技巧(人头素描教程步骤图解)

人头素描起形技巧(人头素描教程步骤图解)

素描人物五官画得不像?为什么我画人像,脸型会画得很奇怪?——————”人像素描,很多人都习惯上手就画结果眼睛里看到的、脑...

2023-04-03 16:02:22查看全文 >>

素描人头起形的五种方法(怎样素描人头打形才能又快又准)

素描人头起形的五种方法(怎样素描人头打形才能又快又准)

今日主题 :女孩的猫咪【使 用 工 具】普通2B铅笔即可纸张:普通素描纸即可>>>【第1步】:仔细观察...

2023-04-03 15:32:03查看全文 >>

labview培训班(labview免费学习自动化课程)

labview培训班(labview免费学习自动化课程)

一、引子想写写ActorFramework的教程内容。首先,声明一下,自己从未参加过任何LabVIEW培训班,也未参加过...

2023-04-03 15:49:51查看全文 >>

labview新手入门教程(labview入门简单实例)

labview新手入门教程(labview入门简单实例)

在自动化行业,你如果想开发功能强大且开发周期不要太长的上位机软件。首先考虑labview,它可以调用c 、matlab...

2023-04-03 16:02:18查看全文 >>

labview中范例讲解(LabVIEW基础教程)

labview中范例讲解(LabVIEW基础教程)

LabVIEW简单易学、形象直观,采用图形化的编程方式,是专为测试、测量和控制应用而设计的系统工程软件。内置丰富的控件库...

2023-04-03 16:00:57查看全文 >>

labview全套视频教程(labview实战宝典系列化视频教程)

labview全套视频教程(labview实战宝典系列化视频教程)

LabVIEW2017视频传送门文件变更日期:2019.12.25章节:起草变更描述:起草文档作者姓名:基德的嘲笑练习1...

2023-04-03 16:16:52查看全文 >>

labview做上位机界面(labview上位机软件开发教程)

labview做上位机界面(labview上位机软件开发教程)

· 比较而言,LabVIEW的优势是快速地能做出一个功能相对丰富、界面相对美观的上位机程序,或者快速地验证自己的算法原型...

2023-04-03 15:42:50查看全文 >>

文档排行