精华内容
下载资源
问答
  • 100个LabView编程实例

    2010-12-17 01:02:34
    超过100个LabView编程实例,从基础到综合应用,是你学习的好助手
  • LabView编程实例说明.pdf
  • labview编程实例

    2013-04-24 22:55:52
    labview编程实例,帮助学习者尽快掌握labview的学习
  • 在上位机软件与底层硬件通信时,经常遇到将一个整数数值按高、低位分解成不同的两部分数值的情况,如将U32类型的数值0x12345678拆分为...那么,在LabVIEW中有哪些方法可以实现将一个整数数值的按照高、低位分解成两...

    在上位机软件与底层硬件通信时,经常遇到将一个整数数值按高、低位分解成不同的两部分数值的情况,如将U32类型的数值0x12345678拆分为两部分,即高16位0x1234,低16位0x5678,两部分代表不同的含义。或者反过来的情况,即将两个16位数值0x1234和0x5678拼接成一个数值32位数值0x12345678。

    那么,在LabVIEW中有哪些方法可以实现将一个整数数值的按照高、低位分解成两部分或者反过来进行拼接呢?下面通过一个例子进行说明。

    实例说明

    这个例子的功能是将一个U32类型的整型数字按照不同的方法分解为高低两部分U16类型的数值,并且再将这两个U16类型的数值拼接成原始的U32型数值。软件运行主界面如下图所示:

    这个例子中提供了五种方法,在主界面可通过“计算方式”单选框进行选择,分别为直接函数法、数据移位法、求商和余数法、强制转换法(数组)和强制转换法(簇),选择完计算方式后,点击计算按钮可显示对应的拆分及拼接结果。下面分别介绍这五种方法的具体程序框图实现过程。

    直接函数法实现

    这种方法直接利用LabVIEW软件中提供的“拆分数字”和“整数拼接”两个函数实现,程序框图代码如下图所示:

    说明:这儿的计算过程放在了“计算”按钮的值改变事件中实现,在该事件中,根据“计算方式”选择的不同,在选择结构里面实现相应的计算。

    数据移位法实现

    这种方法利用“逻辑移位”、“与”及“或”函数配合实现,程序框图代码如下图所示:

    当拆分时,将原始U32数值先右移16位得到高16位数值,将原始数值与0xFFFF相与后,得到低16位数值。

    当拼接时,将高16位数值左移16位后再与低16位数值相或运算,就可得到原始的U32数值。

    求商和余数法实现

    这种方法程序框图代码如下图所示:

    其拆分原理是利用“商与余数”函数将原始数值除以0x10000(即2的16次方),相当于右移16位,其整数部分即为高16位数值,其余数部分即为低16位数值

    其拼接原理是拆分的逆过程,将高16位值乘以0x10000然后与低16位相加即可得到原始的U32数值。

    实际上这种方法在本质上同上种数据移位的方法是相同的。

    强制转换法(数组)实现

    这种方法利用“强制类型转换”函数将原始U32类型数值转换为一维数组,然后进行拆分与拼接的实现,程序框图代码如下图所示:

    当拆分时,将原始U32数值强制转换为U16类型的一维数组,那么数组的前两个元素就分别为高16位数值和低16位数值。

    当拼接时,将由高16位数值和低16位数值组成的一维数组强制转换为U32类型的一个标量数值,该数值即为原始的U32数值。

    强制转换法(簇)实现

    这种方法利用“强制类型转换”函数将原始数值转换为簇类型(此处簇相当于C语言的结构体类型),然后进行拆分与拼接的实现,程序框图代码如下图所示:

    这儿创建一个包含两个U16类型元素的簇,借助于该簇完成拆分与拼接功能。

    对于都包含两个U16类型元素的一维数组和簇,由于在内存中数据的实际存放方式是完全相同的,因此,在本质上这种方法与上种方法强制转换为一维数组是相同的。

    总结

    这儿介绍了五种将整数数值按高低位分解及拼接的方法。例子中是以U32类型的数值进行说明的,当然,对于其它类型如U16、U64等类型的数值其处理方法与是适用的。

    如果这篇文章对你有用的话,请关注+转发+收藏+点赞吧。

    展开全文
  • labview编程实例说明

    2012-11-22 15:48:04
    labview编程实例说明
  • 4.labview8.6如你所愿 5.labview8.6自动连接条件结构 6.LabVIEW钢琴 7.LabVIEW钢琴 8.LED控制 9.PPT设定 10.ProtectWordDocument 11.remotepanellogin 12.Windows API 13.XControl控件 14.从Excel读数据 ...
  • LabVIEW编程实例

    2008-05-30 14:04:39
    LabVIEW编程实例
  • 下面演示在LabVIEW中如何编程实现一个简单的通用对话框程序,该程序中可以通过传递不同的参数,以显示不同的软件信息。1、“关于”对话框运行面板样式一个典型的关于对话框,如串口小助手通信软件的...

    d79e67176f6b6094e4ef2f0d1eede8f6.png

    df3f9a0891a2c6fdd778a37117eb785a.png

    当软件功能功能代码编写完成后,一般在软件中还需要一个“关于”对话框,用以指示软件的相关信息,如软件名称、作者、创建日期及版权等信息。该对话框一般在软件的菜单“Help|About...”中可以调出这个对话框。

    下面演示在LabVIEW中如何编程实现一个简单的通用对话框程序,该程序中可以通过传递不同的参数,以显示不同的软件信息。

    1、“关于”对话框运行面板样式

    一个典型的关于对话框,如串口小助手通信软件的运行界面样式如图所示,在前面板上包括了软件的名称、版本号、创建日期、作者及版本信息。其中,这些信息在调用时都可以通过一个结构体控件传入其值,来修改具体的显示内容。

    另外,对于该对话框的关闭/退出功能,提供了两种方式实现,一是点击右上角的关闭按钮进行关闭,二是通过鼠标左键点击前面板的任意位置进行关闭。

    2、代码实现

    上面串口通信小助手软件的关于对话框程序框图非常简单,如下图所示:

    43a990db724ddc9f8ce6ffc2c0d26e8f.png

    使用了一个平铺式顺序结构,第1帧通过一个其名称为“Info”结构体控件给前面板上的四个字符串显示控件赋值,用来显示软件的名称、版本号、创建日期及作者等信息。其中,Info输入控件在前面板上设置为隐藏,无需显示。

    第2帧使用了一个while循环与事件结构的嵌套结构维持程序的运行。其中,在事件结构中仅添加了一个前面板鼠标按下的事件分支,用以处理程序的退出功能。当该事件发生时,给一个布尔常量为True的值输入到while循环的退出条件端口上,可关闭该对话框。

    一般情况下关于对话框是作为子程序被调用的,因此,在程序功能设计完成后需定义其图标/连接口功能,此时仅定义一个指向Info控件的输入参数接口即可,这样,当在主程序中调用时,只需要通过该参数传入软件的相关信息即可在关于对话框上显示正确的内容。

    另外,前面板上左侧的软件图标,可以选择一个已经下载好的图像文件,将其直接拖放到前面板上即可,一般选择png格式的图像文件,其透明效果可避免显示图像文件本身的阴影。

    最后,不要忘记设置VI的窗口外观属性,选择文件|VI属性,弹出VI属性对话框,主要设置两点,一是窗口标题设置为"关于..."",同时将与VI名称相同前的勾去掉;二是窗口类型选择为“对话框”形式。

    3、总结

    通过上面的设置,在LabVIEW平台下就完成了一个通用的关于对话框的设计,在主程序中调用时,通过传入不同的参数,就可用于显示任意的软件信息。

    本文由编码那些事原创,请关注+收藏+点赞,带你一起长知识!

    展开全文
  • 在不同主机上分别创建一个DabSookd服务器VI和一个DataSocket客户瑞VI,使用DataSockct凼数节点传递数据。  · 笫1步;运行应用程序htaSocket Server,打开DabSocket服务器“server”,如图1所示。...
  • labview基础教程及实例视频,内涵18个视频,从入门到高级编程实例
  • 对于网络通信来说,LabVIEW平台本身提供了多种方法加以...实例说明编写两个程序,分别为服务器端程序和客户端程序。其中,服务器端程序开始运行时,处于等待客户端连接的状态中,一旦有客户端成功连接,则向客户端...

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

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

    实例说明

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

    编程思路

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

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

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

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

    (4)关闭连接。

    2c2ff19d9d25962680faeb060d1cb530.png

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

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

    服务器端程序

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

    8c8bf52aaddbdffea56140803cb4668e.png

    服务器端程序框图如下:

    cb1e95abf1fde5fb978fae812e929708.png

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

    客户端程序

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

    b049545524ddf481d50dae62280e0acc.png

    客户端端程序框图如下:

    4290f00032e33305ce543d04fca744e3.png

    在程序框图中,首先调用“打开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”、空字符串或者当前计算机的名称。

    怎么获取服务器上的ip地址和端口号

    在服务器中要查看端口,可以使用Netstat命令:

    1、依次点击“开始→运行”,键入“cmd”并回车,打开命令提示符窗口。

    2、在命令提示符状态下键入“netstat -a -n”,按下回车键后就可以看到以数字形式显示的TCP和UDP连接的端口号及状态。

    Netstat命令用法如下:

    命令格式:Netstat -a -e -n -o -s-an

    -a 表示显示所有活动的TCP连接以及计算机监听的TCP和UDP端口。

    -e 表示显示以太网发送和接收的字节数、数据包数等。

    -n 表示只以数字形式显示所有活动的TCP连接的地址和端口号。

    -o 表示显示活动的TCP连接并包括每个连接的进程ID(PID)。

    -s 表示按协议显示各种连接的统计信息,包括端口号。

    -an 查看所有开放的端口

    09b698590a99fee0def1ca75958bb092.png

    展开全文
  • labview实例

    2018-09-02 14:54:59
    labview实例压缩包,包括贪吃蛇、围棋、远程开启、数字时钟等
  • 各种经典实用的LabVIEW实例对于想快速扩充自己编程技能的人非常有帮助。
  • 编程思路 服务器端程序 客户端程序 总结 怎么获取服务器上的ip地址和端口号 对于网络通信来说,LabVIEW平台本身提供了多种方法加以实现,如可以通过TCP协议、UDP协议、DataSocket技术、甚至远程面板通信技术...

    目录

    实例说明

     编程思路

    服务器端程序

    客户端程序

    总结

    怎么获取服务器上的ip地址和端口号


            对于网络通信来说,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子模板,主要节点函数如下图所示。

       

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

    服务器端程序

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

            服务器端程序框图如下:

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

    客户端程序

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

            客户端端程序框图如下:

     

            在程序框图中,首先调用“打开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”、空字符串或者当前计算机的名称。

    怎么获取服务器上的ip地址和端口号

    在服务器中要查看端口,可以使用Netstat命令:

    1、依次点击“开始→运行”,键入“cmd”并回车,打开命令提示符窗口。

    2、在命令提示符状态下键入“netstat -a -n”,按下回车键后就可以看到以数字形式显示的TCP和UDP连接的端口号及状态。

    Netstat命令用法如下:

    命令格式:Netstat -a -e -n -o -s-an

    -a 表示显示所有活动的TCP连接以及计算机监听的TCP和UDP端口。

    -e 表示显示以太网发送和接收的字节数、数据包数等。

    -n 表示只以数字形式显示所有活动的TCP连接的地址和端口号。

    -o 表示显示活动的TCP连接并包括每个连接的进程ID(PID)。

    -s 表示按协议显示各种连接的统计信息,包括端口号。

    -an 查看所有开放的端口

     

     

     

     

      

    展开全文
  • 问题引出在使用LabVIEW软件编写大型测试程序时,很多时候需要将原始采样数据或者分析处理后的数据在硬盘上存储为文件,而存储的格式可以是直观的普通的文本文件,也可以是占用空间小的二进制文件,除了这些外,...
  • 阶乘定义非负整数n的阶乘简记为n!...=1根据这两种定义方式,下面给出在LabVIEW编程实现求解n!的两种方法。阶乘求解方法1:使用for循环+移位寄存器实现这种方法实现相对来说比较简单,程序框图如下图所示...
  • 各种经典实用的LabVIEW实例对于想快速扩充自己编程技能的人非常有帮助。
  • 这之中分为基本篇和高级篇,基础篇包括从数组创建到函数结构的教程VI,高级篇包括DAQ数据采集的VI例程。
  • 超过140个LabView经典编程实例,超级超级经典。特分享给各位初学者。LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机...
  • LABVIEW\labview55个经典实例,大量的模型和范例,对labview的学习很有帮助!
  • LabVIEW编程LabVIEW开发 控制Keithley 2700例程与相关资料 每个 2700 系列系统均将精密测量、开关和控件集于一个紧凑集成的机箱中,适用于机架安装或台式应用。虽然所有三个系统的核心功能和编程是相同的,但各个...
  • LabVIEW实例大全,有50多个labview实例文件,包含数据处理、钢琴、黑白棋、围棋数字时钟、贪吃蛇等实用好玩的案例设计
  • LabVIEW编程实例,包括从Excel读数据,簇数组排序,打开PDF文件等
  • labview编程的一个普通的小例子。仅供参考
  • 1、结构体简介LabVIEW中的结构体(中文版翻译为“簇”)是常用的一种数据结构类型,一个结构体控件中可以包含任意多个任意类型的不同元素。与数组不同的地方在于,它包含的元素数据类型可以相同,也可以不同,而数组中...
  • 阶乘定义非负整数n的阶乘简记为n!...=1根据这两种定义方式,下面给出在LabVIEW编程实现求解n!的两种方法。阶乘求解方法1:使用for循环+移位寄存器实现这种方法实现相对来说比较简单,程序框图如...
  • labview tcp ip 编程实例

    2021-01-18 07:30:26
    含多个labview 的tcp编程实例,有点对点通信,交互式通信及一点对多点通信。 含多个labview 的tcp编程实例,有点对点通信,交互式通信及一点对多点通信。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 859
精华内容 343
关键字:

labview编程实例