LabVIEW中TCP/IP网络通讯模块小谈
扫描二维码
随时随地手机看文章
介绍
TCP节点介绍
Connection节点:用于建立客户机和服务器之间通讯的连接
Transmission节点:用于在客户机和服务器之间传输数据
Conversion节点:用于计算机IP地址和计算机名称间的切换
双机TCP通讯流程
两种通讯方式
多机都采用LabVIEW进行通讯
在多机采用LV中TCP实现的通讯,一端我们设定为服务器端,一端为客户端。这样在运行的时候服务器端不断的侦听,当有客户端连接的时候进行建立连接,然后收取和发送数据形成通讯,客户端运行后不断的与服务器端进行试探连接,如果没有连接上做一定的处理,当连接上后进行收发数据进行处理。该VI图结构如下
通过以上方式,可以方便的实现多机进行通讯。
有一端采用LabVIEW另一端是其他的工具实现进行通讯
在实际工作当中,有的时候下位机或者其他的机器使用其他的语言或者组态工具实现,这个时候在实现TCP之间进行交互通讯的时候,我们就不能象上面多机都是LV编写的通讯那样处理了,如何去实现呢。经过研究发现,LabVIEW提供了运行控制技术,在Semaphonre技术中,该功能可以限制任务数目,这些任务可以同时堆一个共享资源进行操作。所以大胆采用共享资源操作信息,将其他端设置为服务器端,本端为客户端,进行操作,这样受保护的资源或者临界区进行外部通讯,我们可以利用该技术同步多个相互独立的、并行的任务,这样可以利用一个公用的Semaphore可以在某一时刻仅允许一个任务执行
该图是简要的功能显示,具体有兴趣的读者可以根据上面的提示使之完善
注意事项:
当建立客户端和服务器端之间的通讯时候,除了指定Internet地址之外,还必须指定通讯端口号,端口号的范围是0到65535,该端口号区分不同的通讯服务,这样很容易的管理多个通讯连接。端口号最好手动设置,最好不要低于1000(由于该低于1000的一方面防火墙可能会禁止并且1000以下的端口号是保留个特定用途的
客户端和服务器端要指定端口,同时这两个端口必须相同,才能进行有效的通讯
在客户端首先要指定服务器的名称才能与服务器建立连接,服务器的名称是指服务器端的计算机名,若在同一台计算机上运行时候,客户端的输入服务器名称既可以是该台计算机名称也可以是LOCALHOST
在与多机并且与其他语言的接口的时候,按照以上3点执行外,加上了执行了排队,这样在连接成功后进行数据相互交换,交换完毕后断开连接,然后与下一个连接。这样依次执行程序。形成临界区保护
总结:
参考文献
《LabVIEW高级程序设计》