微波EDA网,见证研发工程师的成长! 2025婵犵數濮烽弫鍛婃叏閹绢喗鍎夊鑸靛姇缁狙囧箹鐎涙ɑ灏ù婊呭亾娣囧﹪濡堕崟顓炲闂佸憡鐟ョ换姗€寮婚敐澶婄闁挎繂妫Λ鍕磼閻愵剙鍔ゆ繛纭风節瀵鎮㈤崨濠勭Ф闂佸憡鎸嗛崨顔筋啅缂傚倸鍊烽懗鑸靛垔椤撱垹鍨傞柛顐f礀閽冪喖鏌曟繛鐐珕闁稿妫濋弻娑氫沪閸撗€妲堝銈呴獜閹凤拷04闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴閵嗘帒顫濋敐鍛婵°倗濮烽崑鐐烘偋閻樻眹鈧線寮撮姀鈩冩珕闂佽姤锚椤︻喚绱旈弴銏♀拻濞达綀娅g敮娑㈡煕閺冣偓濞茬喖鐛弽顓ф晝闁靛牆娲g粭澶婎渻閵堝棛澧遍柛瀣仱閹繝濡烽埡鍌滃幗闂佸搫娲ㄩ崑娑㈠焵椤掆偓濠€閬嶅焵椤掍胶鍟查柟鍑ゆ嫹21闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴閵嗘帒顫濋敐鍛婵°倗濮烽崑鐐烘偋閻樻眹鈧線寮撮姀鈩冩珖闂侀€炲苯澧扮紒顕嗙到铻栧ù锝堟椤旀洟姊洪悷鎵憼闁荤喆鍎甸幃姗€鍩¢崘顏嗭紲闂佺粯鐟㈤崑鎾绘煕閵娿儳鍩g€殿喖顭锋俊鎼佸煛閸屾矮绨介梻浣呵归張顒傜矙閹达富鏁傞柨鐕傛嫹 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴閵嗘帒顫濋敐鍛婵°倗濮烽崑鐐烘偋閻樻眹鈧線寮撮姀鐘栄囨煕鐏炲墽鐓瑙勬礀閳规垿顢欑紒鎾剁窗闂佸憡顭嗛崘锝嗙€洪悗骞垮劚濞茬娀宕戦幘鑸靛枂闁告洦鍓涢敍娑㈡⒑閸涘⿴娈曞┑鐐诧躬閹即顢氶埀顒€鐣烽崼鏇ㄦ晢濠㈣泛顑嗗▍灞解攽閻樺灚鏆╁┑顔芥尦楠炲﹥寰勯幇顒傦紱闂佽宕橀褔鏌ㄩ妶鍡曠箚闁靛牆瀚崗宀勬煕濞嗗繑顥㈡慨濠呮缁辨帒螣閼姐値妲梻浣呵归敃銈咃耿闁秴鐒垫い鎺嶈兌閸熸煡鏌熼崙銈嗗濠电姷鏁告慨鐑藉极閸涘﹥鍙忛柣鎴f閺嬩線鏌熼梻瀵割槮缁炬儳顭烽弻锝夊箛椤掍焦鍎撻梺鎼炲妼閸婂潡寮诲☉銏╂晝闁挎繂妫涢ˇ銉х磽娴e搫小闁告濞婂濠氭偄閾忓湱锛滈梺闈涚箳婵敻鎮橀崼銏㈢<闁绘劦鍓欓崝銈嗐亜椤撶姴鍘寸€殿喖顭锋俊鎼佸煛閸屾矮绨介梻浣呵归張顒傜矙閹达富鏁傞柨鐕傛嫹
首页 > 测试测量 > 测试测量技术文库 > LabVIEW中TCP/IP网络通讯模块小谈

LabVIEW中TCP/IP网络通讯模块小谈

时间:01-06 来源:互联网 点击:
介绍

LabVIEW具有强大的网络通讯功能,这种功能使得LabVIEW的用户可以很容易编写出具有强大网络通讯能力的LabVIEW应用软件,实现远程虚拟仪器。LabVIEW支持TCP/IP协议、UDP协议等等。而且NI公司还开发了一种DATASOCKET技术,很大程度上的简化甚至免除了网络通讯编程,用户很容易地在互联网实现高速数据交换。

TCP/IP协议(传输控制协议/互联网络协议)是INTERNET最基本的协议,由于INTERNET的广泛使用,使得TCP/IP成了事实的标准。对于该协议的介绍不是本文的重点,相关信息可以参阅其他的资料。

TCP节点介绍
在LabVIEW中,可以采用TCP节点来实现基于TCP协议的局域网通讯,该节点在FUNCTION/COMMUNICATION/TCP下,该节点分为三个部分:
Connection节点:用于建立客户机和服务器之间通讯的连接
Transmission节点:用于在客户机和服务器之间传输数据
Conversion节点:用于计算机IP地址和计算机名称间的切换

双机TCP通讯流程

闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴閵嗘帒顫濋敐鍛婵°倗濮烽崑娑⑺囬悽绋垮瀭濡わ絽鍟粻娑樏归敐鍛础缂佸鑳剁槐鎾诲磼濮橆兘鍋撻悜鑺ュ€块柨鏇氱劍閹冲矂姊绘担鍛婂暈闁荤喆鍎抽幑銏狀潨閳ь剙顕f繝姘亜缁炬媽椴搁弲顒勬⒑閹稿海绠撴繛璇х到鏁堟俊銈呮噺閸嬧剝绻濇繝鍌涘櫣妞わ絽銈搁幃浠嬵敍濞戞ɑ璇為梺璇″枟閻燂妇鎹㈠┑瀣倞闁靛ě鍐ㄥ婵犵數濮烽弫鎼佸磹椤栫偛鐒垫い鎺戝绾惧鏌熼崜褏甯涢柣鎾寸洴閹鏁愭惔鈥茬敖婵犫拃鍐粵闁逛究鍔嶇换婵嬪川椤曞懍鍝楅梻浣告贡閹虫挾鈧氨澧楁穱濠囧箹娴h倽銊╂煥閺冣偓閸庡磭绱為幒妤佲拻闁稿本鐟ㄩ崗宀勬煙閾忣偅宕岀€规洜鏁诲浠嬵敇閻愭鍞甸梻浣芥硶閸o箓骞忛敓锟�...

两种通讯方式
多机都采用LabVIEW进行通讯

在多机采用LV中TCP实现的通讯,一端我们设定为服务器端,一端为客户端。这样在运行的时候服务器端不断的侦听,当有客户端连接的时候进行建立连接,然后收取和发送数据形成通讯,客户端运行后不断的与服务器端进行试探连接,如果没有连接上做一定的处理,当连接上后进行收发数据进行处理。该VI图结构如下

闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴閵嗘帒顫濋敐鍛婵°倗濮烽崑娑⑺囬悽绋垮瀭濡わ絽鍟粻娑樏归敐鍛础缂佸鑳剁槐鎾诲磼濮橆兘鍋撻悜鑺ュ€块柨鏇氱劍閹冲矂姊绘担鍛婂暈闁荤喆鍎抽幑銏狀潨閳ь剙顕f繝姘亜缁炬媽椴搁弲顒勬⒑閹稿海绠撴繛璇х到鏁堟俊銈呮噺閸嬧剝绻濇繝鍌涘櫣妞わ絽銈搁幃浠嬵敍濞戞ɑ璇為梺璇″枟閻燂妇鎹㈠┑瀣倞闁靛ě鍐ㄥ婵犵數濮烽弫鎼佸磹椤栫偛鐒垫い鎺戝绾惧鏌熼崜褏甯涢柣鎾寸洴閹鏁愭惔鈥茬敖婵犫拃鍐粵闁逛究鍔嶇换婵嬪川椤曞懍鍝楅梻浣告贡閹虫挾鈧氨澧楁穱濠囧箹娴h倽銊╂煥閺冣偓閸庡磭绱為幒妤佲拻闁稿本鐟ㄩ崗宀勬煙閾忣偅宕岀€规洜鏁诲浠嬵敇閻愭鍞甸梻浣芥硶閸o箓骞忛敓锟�...

通过以上方式,可以方便的实现多机进行通讯。

有一端采用LabVIEW另一端是其他的工具实现进行通讯

在实际工作当中,有的时候下位机或者其他的机器使用其他的语言或者组态工具实现,这个时候在实现TCP之间进行交互通讯的时候,我们就不能象上面多机都是LV编写的通讯那样处理了,如何去实现呢。经过研究发现,LabVIEW提供了运行控制技术,在Semaphonre技术中,该功能可以限制任务数目,这些任务可以同时堆一个共享资源进行操作。所以大胆采用共享资源操作信息,将其他端设置为服务器端,本端为客户端,进行操作,这样受保护的资源或者临界区进行外部通讯,我们可以利用该技术同步多个相互独立的、并行的任务,这样可以利用一个公用的Semaphore可以在某一时刻仅允许一个任务执行

闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴閵嗘帒顫濋敐鍛婵°倗濮烽崑娑⑺囬悽绋垮瀭濡わ絽鍟粻娑樏归敐鍛础缂佸鑳剁槐鎾诲磼濮橆兘鍋撻悜鑺ュ€块柨鏇氱劍閹冲矂姊绘担鍛婂暈闁荤喆鍎抽幑銏狀潨閳ь剙顕f繝姘亜缁炬媽椴搁弲顒勬⒑閹稿海绠撴繛璇х到鏁堟俊銈呮噺閸嬧剝绻濇繝鍌涘櫣妞わ絽銈搁幃浠嬵敍濞戞ɑ璇為梺璇″枟閻燂妇鎹㈠┑瀣倞闁靛ě鍐ㄥ婵犵數濮烽弫鎼佸磹椤栫偛鐒垫い鎺戝绾惧鏌熼崜褏甯涢柣鎾寸洴閹鏁愭惔鈥茬敖婵犫拃鍐粵闁逛究鍔嶇换婵嬪川椤曞懍鍝楅梻浣告贡閹虫挾鈧氨澧楁穱濠囧箹娴h倽銊╂煥閺冣偓閸庡磭绱為幒妤佲拻闁稿本鐟ㄩ崗宀勬煙閾忣偅宕岀€规洜鏁诲浠嬵敇閻愭鍞甸梻浣芥硶閸o箓骞忛敓锟�...

该图是简要的功能显示,具体有兴趣的读者可以根据上面的提示使之完善


注意事项:
当建立客户端和服务器端之间的通讯时候,除了指定Internet地址之外,还必须指定通讯端口号,端口号的范围是0到65535,该端口号区分不同的通讯服务,这样很容易的管理多个通讯连接。端口号最好手动设置,最好不要低于1000(由于该低于1000的一方面防火墙可能会禁止并且1000以下的端口号是保留个特定用途的

客户端和服务器端要指定端口,同时这两个端口必须相同,才能进行有效的通讯

在客户端首先要指定服务器的名称才能与服务器建立连接,服务器的名称是指服务器端的计算机名,若在同一台计算机上运行时候,客户端的输入服务器名称既可以是该台计算机名称也可以是LOCALHOST

在与多机并且与其他语言的接口的时候,按照以上3点执行外,加上了执行了排队,这样在连接成功后进行数据相互交换,交换完毕后断开连接,然后与下一个连接。这样依次执行程序。形成临界区保护

总结:
在LabVIEW的TCP中用于两个应用程序进行数据共享,缺点是它不是实时的。但由于TCP/IP的普及,应用范围不断的扩大,以上两点包含大多数的应用,我们也可以采用WINDOWS的ACTIVEX控件WINSOCK来实现。具体的我将在以后的文章中做专门的介绍。
如果需要采用实时数据传输,可以采用DataSocket技术,该技术是一项在测量和自动化应用中用于共享和发布实时数据的,并且可以在任何编程环境中应用。本篇主要介绍的是TCP/IP方面,对于实时数据传递通讯和控制,将在以下章节中做介绍。

参考文献
《LabVIEW高级程序设计》清华大学出版社杨乐平

灏勯涓撲笟鍩硅鏁欑▼鎺ㄨ崘

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top