labview串口好资料与属性节点
labview串口属性节点帮助

labview串口属性节点帮助长名称说明Serial Settings:Parity 指定传输或接收每一帧所使用的奇偶校验。
有效值为:(0)无校验(1)奇校验(2)偶校验(3)标记校验(4)空校验。
标记表示存在奇偶位且为1。
空表示存在奇偶位且为0。
详细信息Serial Settings:Number of Bytes at Serial Port 返回会话句柄使用的串口上当前可用的字节数。
详细信息Serial Settings:Data Bits 指定每一帧使用的数据位数。
有效值为5-8。
详细信息Serial Settings:Modem Line Settings:Line DCD State 指定数据载波检测(DCD)输入信号的当前状态。
调制解调器使用该属性表明在电话线上检测到载波(调制解调器)。
也被称为接收线信号检测(RLSD)。
该属性为只读,除非Wire Mode 属性为RS232/DCE 或RS232/AUTO ,且硬件的当前状态为DCE 。
详细信息Serial Settings:Modem Line Settings:Break State 设置串口中断状态的手动控制。
如属性被置有效,它将挂起字符传输并将传输线置于中断状态,直至属性被置无效。
如需VISA 在每个写操作后自动发送中断信号,可用Break Length(Break Len)和EndMode for Writes(ASRL End Out) 属性。
默认值为Unasserted 。
详细信息Serial Settings:ErrorReplacement Character 指定字符,用于替换带有错误(例如,奇偶校验错误)的输入字符。
默认值为0。
详细信息Serial Settings:Wire Mode 指定当前的连线/转发器模式。
对于RS485硬件,该属性仅对NI 开发的RS485串行驱动程序有效。
对于RS232硬件,值RS232/DCE 和RS232/AUTO 仅对NI 开发的RS232串行驱动程序有效,相应的NI 硬件中也支持该功能。
LabVIEW中综合使用事件结构+属性节点+调用节点的例子

LabVIEW中综合使用事件结构+属性节点+调用节点的例子
LabVIEW中属性节点和调用节点可以理解为C++语言中类的成员变量和成员函数,使用属性节点可获取或设置对象的各种属性,使用调用节点可通过对象本身提供的函数实现特定的功能,所以LabVIEW 中的调用节点也可称之为方法节点。
下面给出一个例子,这个例子综合使用了事件结构、属性节点及调用节点函数,演示LabVIEW编程语言中相关的编程方法及技巧。
例子说明
这个例子运行界面如下图所示,点击“生成波形”按钮动态生成带噪声的正弦波形并在波形图控件中显示,移动波形图上的游标可在右侧实时显示出当前曲线上点的X、Y坐标,点击“图像可见?”布尔灯控件,可控制波形图的图例是否可见,点击“导出图像”按钮,可导出当前波形图的bmp图片文件。
代码实现
实现上面的功能,程序主框架使用While循环+事件结构的形式,设置图例可见及导出波形图图像功能使用LabVIEW提供的属性节点及调用节点函数,下面给出每部分的实现代码。
1. 事件结构中生成带随机噪声的正弦波形程序框图:
2. 事件结构中在游标移动事件中实现显示X、Y坐标功能的程序框图:
3. 事件结构中调用属性节点实现图例可见功能的程序框图:
4. 事件结构中使用调用节点函数实现波形图控件导出为bmp图像文件的程序框图:
结论
总体来看,相对于其它开发语言实现相同的功能,在LabVIEW中编程,由于LabVIEW本身提供了太多的功能函数库,在开发效率上来说还是比较高的。
欢迎加关注,共同交流。
LabVIEW属性节点和方法节点

树形控件的方法节点函数菜单及其方法节点示例
7
11.3 通过子VI调用控件的属性和方法
一般情况下,将控件作为子VI的输入端时只能 传递控件的值,而不能传递控件的属性 。那么 如何才能在子VI中调用上层VI中控件的属性和 方法节点呢? 这就需要使用Refnum控件作为子VI的输入端 子,在调用时将控件的Reference与Refnum端 子连线即可。
19
小试身手
1. 在第6章习题1的基础上利用“报警信息”控 件的blinking属性,实现在输出报警信息的同 时伴随闪烁,如下图所示。为了能看到闪烁效 果,需要将采样间隔设到5秒以上。
20
小试身手
2. 本书第156页中的图11.14所示的例子存在 bug,for循环部分应该改为下面左图所示。在 此基础上将for循环部分封装为子VI,利用编程 生成如下面右图所示的树。
10
11.4 几种常用控件的编程举例
通过属性节点来设置Ring控件的选项
11
11.4 几种常用控件的编程举例
获取Ring控件或Enum控件的当前选中文本
12
11.4 几种常用控件的编程举例
11.4.2 列表框(Listbox)
对于Ring控件和Enum控件,用户每次只能选择一 个选项。而通过列表框用户每次可以选择一个或多 个选项,甚至0个选项
16
11.4 几种常用控件的编程举例
11.4.4 自动图例举例
17
11.4 几种常用控件的编程举例
18
11.5 小结
从本章的例子可以看出,通过属性节点和方法 节点可以让控件的功能与动态行为更加丰富。 在LabVIEW编程中,当某种功能很难用普通的 VI函数实现的时候,也许通过属性节点和方法 节点就能很轻松地解决。所以若LabVIEW编程 者想学到更多的编程技巧可以更多的去尝试控 件的属性节点和方法节点。
用到的Labview知识点: 属性节点、引用句柄、子VI、枚举、条件结构、连线板

用到的Labview知识点:属性节点、引用句柄、子VI、枚举、条件结构、连线板
首先创建三态的子VI:
1.在前面板添加“枚举”控件以及Bool引用句柄,创建布尔引用句柄方法为:先添加“控件引用句柄”,然后右键→选择VI服务器类→通用→图形对象→控件→布尔,并勾选“包括数据类型”;
2.在程序框图添加“属性节点”,并和Bool引用句柄连线;
3.添加“条件结构”,并同“枚举”类型连接,其中“枚举”类型的“编辑项”属性中添加三态:default,run,fault;
4.在每态条件结构中分别定义“数组常量”,然后添加“簇常量”,并在“簇常量”中添加两个“颜色盒常量”,然后将这个“簇常量”整体放入前面定义的“数组常量”,并同“属性节点”连线;
5. 程序框图如下图所示:
6.在前面板中对子VI进行连接线定义:前面板中右键子VI图标,选择编辑图标,此处选取自己喜欢的子VI图标,并勾选显示接线端,退出编辑后,继续右键子VI图标,选择“显示连线板”,开始选取子VI的连线板,这里选择前面板中的“枚举”和“bool引用句柄”这两个输入,至此子VI建立完成,前面板如下图所示:
子VI建立好后,就可以设计一个指示灯,试验一下三态LED的运行情况了,我添加的一个简单VI如下图,这里注意的是要创建指示灯的一个bool引用:
程序建立完成后,就可以运行了,试验结果表明此VI能很好的实现三态LED显示。
LabVIEW属性节点和方法节点-PPT精选文档

1
引子
在面向对象的编程中,我们将类中定义 的数据称为属性,而函数称为方法。实 际上,LabVIEW中的控件、VI、甚至应 用程序都有自己的属性和方法,譬如一 个数值控件,它的属性包括它的文字颜 色、背景颜色、Caption和Label等;
2
本章内容
11.1 11.2 11.3 11.4 11.5
19
小试身手
1. 在第6章习题1的基础上利用“报警信息”控 件的blinking属性,实现在输出报警信息的同 时伴随闪烁,如下图所示。为了能看到闪烁效 果,需要将采样间隔设到5秒以上。
20
小试身手
2. 本书第156页中的图11.14所示的例子存在 bug,for循环部分应该改为下面左图所示。在 此基础上将for循环部分封装为子VI,利用编程 生成如下面右图所示的树。
Ring控件的属性节点举例
4
11.1 属性节点(Property Node)
举例
通过Visible属性控制按钮是否可见
5
11.1 属性节点(Property Node)
举例
在事件结构中使用属性节点
6
11.2 方法节点(Invoke Node)
方法节点和属性节点非常类似,方法节点就好 比控件的一个函数,它会执行一定的动作,有 些时候还需要输入参数或返回数据。
16
11.4 几种常用控件的编程举例
11.4.4 自动图例举例
17
11.4 几种常用控件的编程举例
18
11.5 小结
从本章的例子可以看出,通过属性节点和方法 节点可以让控件的功能与动态行为更加丰富。 在LabVIEW编程中,当某种功能很难用普通的 VI函数实现的时候,也许通过属性节点和方法 节点就能很轻松地解决。所以若LabVIEW编程 者想学到更多的编程技巧可以更多的去尝试控 件的属性节点和方法节点。
LabView中的属性节点

LabView中的属性节点很多朋友对于属性节点的使⽤表⽰有些不明⽩,但是其作⽤⼜是相当强⼤的,所以必须明⽩怎么使⽤属性节点以及如何调⽤的问题,下⾯就来为⼤家解迷。
在获得对象的reference之后,就可以使⽤属性节点(Property Node)和调⽤节点(Invoke Node)来设定对象属性和调⽤对象提供的固有⽅法(Method)。
属性节点的⼀般形式如图1所⽰:图2 新放置的属性节点作为⼀个例⼦,为第⼀个端⼦选择Operation 属性,该属性表⽰运⾏程序的操作系统名称。
运⾏程序后,在字符串指⽰器⾥返回所选择属性的值Windows NT,如图3所⽰。
Operation 为只读属性。
reference参数使⽤了默认值,即当前运⾏的应⽤程序的reference,这同使⽤空的machine name参数调⽤Open Application Reference参数返回的结果完全相同。
图3 使⽤当前程序的属性节点查询操作系统名称调⽤节点的⼀般形式如图4所⽰,其组织⽅式同属性节点相似。
class为reference所关联对象的类型名,method为⽅法名,param 1等为参数名。
如果⽅法调⽤没有返回值,则method的位置仅仅显⽰⽅法名;如果⽅法调⽤有返回值,则method 变为输出端⼦,在return value中输出⽅法调⽤的返回值。
图4 调⽤节点在调⽤节点上单击⿏标右键会弹出快捷菜单,在这个菜单⾥含有名为Methods的⽅法列表⼦菜单。
⼀个对象可以有很多⽅法供调⽤,但是⼀个调⽤节点只能为对象调⽤⼀个⽅法,这⼀点与属性节点不同,属性节点对在其中访问的属性个数没有限制。
⽅法调⽤的某些参数有默认值,可以不连接,这些可选参数的调⽤节点端⼦底⾊为灰⾊,可以根据需要决定是否接⼊这些参数。
图5给出了调⽤节点的使⽤⽰例图5 使⽤调⽤节点打开并最⼤化当前VI的前⾯板窗⼝图中调⽤节点所关联的的对象的类别是VI,其输⼊参数reference为使⽤路径常量InvokeNode.vi作为vi path输⼊参数调⽤Open VI Reference函数的返回值,实际上该路径指向的VI就是调⽤节点所在的VI本⾝。
在LabVIEW中使用串口

在LabVIEW中使用串口第一部分使用LabVIEW系统VI一、串口VI介绍LabVIEW的串口通讯VI位于Instrument I/O Platte的Serial中,包括:二、使用说明在LabVIEW环境中使用串口与在其它开发环境中开发过程类似,基本的流程框图如下。
图1、串口操作数据流图首先需要调用VISA Configure Serial Port完成串口参数的设置,包括串口资源分配、波特率、数据位、停止位、校验位和流控等等。
图2、初始化串口如果初始化没有问题,就可以使用这个串口进行数据收发。
发送数据使用VISA Write,接收数据使用VISA Read。
在接收数据之前需要使用VISA Bytes at Serial Port查询当前串口接收缓冲区中的数据字节数,如果VISA Read要读取的字节数大于缓冲区中的数据字节数,VISA Read操作将一直等待,直至Timeout或者缓冲区中的数据字节数达到要求的字节数。
当然也可以分批读取接收缓冲区或者只从中读取一定字节的数据。
图3、从串口发送数据图4、从串口接收数据在某些特殊情况下,需要设置串口接收/发送缓冲区的大小,此时可以使用VISA Set I/O Buffer Size;而使用VISA Flush I/O Buffer则可以清空接收与发送缓冲区。
在串口使用结束后,使用VISA Close结束与VISA resource name指定的串口之间的会话。
图5、设置缓冲区大小图6、清空缓冲区图7、结束会话/线程具体的例子可以参考:examples\instr\smplserl.llb。
第二部分使用MSCOMM控件在LabVIEW中使用MSCOMM控件,与在VC、VB中使用一样。
同样可以使用中断方式进行接收。
图8、使用控件的串口收发程序图9、程序数据流图首先通过LabVIEW的工具菜单“Tools>>Advanced>>Import ActiveX Controls”将Microsoft的串口控件-“Microsoft Communications Control,version 6.0”添加到LabVIEW环境中,存放在缺省路径即可,这样在User Controls Palette里面可以找到这个控件。
LabVIEW中的串口通信和数据解析

LabVIEW中的串口通信和数据解析一、引言在LabVIEW中,串口通信是一种常见的用于与外部设备进行数据交互的方式。
通过串口通信,我们可以与各类传感器、仪器、控制器等设备进行数据的传输与控制。
本文将介绍LabVIEW中如何进行串口通信和数据解析的方法和技巧。
二、LabVIEW中的串口通信1. 准备工作在进行串口通信之前,首先需要准备好相应的硬件设备和驱动程序。
一般来说,我们需要一台计算机、一个串口转USB转接器以及相关的串口设备。
另外,还需要安装相应的串口驱动程序,以便在LabVIEW中进行串口通信。
2. 配置串口通信在LabVIEW中,配置串口通信需要使用到“VISA”(Virtual Instrument Software Architecture)工具。
通过VISA,我们可以对串口进行打开、设置波特率、校验位、数据位等参数,并进行数据的发送和接收。
3. 打开串口在LabVIEW的程序中,使用“VISA Open”函数来打开串口。
我们需要指定对应的串口号以及串口的配置参数。
通过这一步,LabVIEW就可以与串口建立通信连接。
4. 配置串口参数在串口打开之后,需要进行串口参数的配置,包括波特率、校验位、数据位等。
这些参数需要与外部设备的参数保持一致,才能正确地进行数据的传输和解析。
5. 读取和发送数据在LabVIEW中,可以使用“VISA Read”和“VISA Write”函数来进行数据的读取和发送。
通过这两个函数,我们可以实现与外部设备的数据交互。
读取到的数据可以在LabVIEW中进行进一步处理和解析。
三、LabVIEW中的数据解析1. 数据格式在进行数据解析之前,首先需要了解数据的格式。
不同的外部设备会使用不同的数据格式进行数据的传输。
常见的数据格式包括二进制、十六进制、ASCII等。
根据实际情况,选择合适的数据格式进行解析。
2. 数据解析方法在LabVIEW中,可以使用字符串相关的函数来进行数据的解析。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第13章 L a b V I E W 串口通信程序设计 以PC 作为上位机,以调制解调器(Modem )、串行打印机、各种监控模块、PLC 、摄像头云台、数控机床、单片机及智能设备等作为下位机广泛应用于测控领域。
本章举几个典型实例,详细介绍利用LabVIEW 实现PC 与各种下位机设备串口通信的程序设计方法。
13.1 PC 与PC 串口通信当两台串口设备通信距离较近时,可以直接连接,最简单的情况,在通信中只需三根线(发送线、接收线、信号地线)便可实现全双工异步串行通信。
本设计通过两台PC 串口三线连接,介绍了串口通信的基本编程方法。
13.1.1 PC 与PC 串口通信硬件线路当两台RS-232串口设备通信距离较近时(<15m ),可以用电缆线直接将两台设备的RS-232端口连接;若通信距离较远(>15m )时,需附加调制解调器(Modem )。
在RS-232的应用中,很少严格按照RS-232标准。
其主要原因是因为许多定义的信号在大多数的应用中并没有用上。
在许多应用中,例如Modem ,只用了9个信号(两条数据线、6条控制线、一条地线);在其他一些应用中,可能只需要5个信号(两条数据线、两条握手线、一条地线);还有一些应用,可能只需要数据线,而不需要握手线,即只需要3个信号线。
因为在控制领域,在近距离通信时常采用RS-232,所以这里只对近距离通信的线路连接进行讨论。
当通信距离较近时,通信双方不需要Modem ,可以直接连接,这种情况下,只需使用少数几根信号线。
最简单的情况,在通信中根本不需要RS-232C 的控制联络信号,只需三根线(发送线、接收线、信号地线)便可实现全双工异步串行通信。
在实际使用中常使用串口通信线将两个串口设备连接起来。
串口线的制作方法非常简单:准备两个9针的串口接线端子(因为计算机上的串口为公头,因此连接线为母头),准备3根导线(最好采用3芯屏蔽线),按图13-1所示将导线焊接到接线端子上。
1 2345 6 7 89 1 2 3 456 7 8 9第13章 LabVIEW 串口通信程序设计– 283 –图13-1 串口通信线的制作图13-2所示中的2号接收脚与3号发送脚交叉连接是因为在直连方式时,把通信双方都当作数据终端设备看待,双方都可发也可收。
在这种方式下,通信双方的任何一方,只要请求发送RTS 有效和数据终端准备好DTR 有效就能开始发送和接收。
COM1串口线PC 机A PC 机BCOM1图13-2 PC 与PC 串口通信线路在计算机通电前,按图13-2所示将两台PC 的COM1口用串口线连接起来。
连接串口线时,计算机严禁通电,否则极易烧毁串口。
13.1.2 设计任务利用LabVIEW 编写程序实现PC 与PC 串口通信。
任务要求如下。
两台计算机互发字符并自动接收,如一台计算机输入字符串“收到信息请回字符abc123”,单击“发送字符”命令,另一台计算机若收到,就输入字符串“收到,abc123”,单击“发送字符”命令,信息返回到第一组的计算机。
实际上就是编写一个简单的双机聊天程序。
13.1.3 任务实现1.建立新VI 程序启动NI LabVIEW 程序,选择新建(New )选项中的VI 项,建立一个新VI 程序。
2.程序前面板设计在前面板设计区空白处单击鼠标右键,显示控件选板(Controls )。
(1)添加一个字符串输入控件:控件(Controls )→新式(Modern )→字符串与路径(String & Path )→字符串输入控件(String Control ),将标签改为“发送区:”。
(2)添加一个字符串显示控件:控件(Controls )→新式(Modern )→字符串与路径(String & Path )→ 字符串显示控件(String Indicator ),将标签改为“接收区:”。
(3)添加一个串口资源检测控件:控件(Controls )→新式(Modern )→ I/O →VISA 资源名称(VISA resource name );单击控件箭头,选择串口号,如COM1或ASRL1:。
(4)添加一个确定(OK )按钮控件:控件(Controls )→新式(Modern )→布尔(Boolean )→LabVIEW 虚拟仪器数据采集与串口通信测控应用实战– 284 –确定按钮(OK Butoon ),将标题改为“发送字符”。
(5)添加一个停止(Stop )按钮控件:控件(Controls )→新式(Modern )→布尔(Boolean )→ 停止按钮(Stop Butoon ),将标题改为“关闭程序”。
设计的程序前面板,如图13-3所示。
3.框图程序设计——添加函数进入框图程序设计界面,在设计区的空白处单击鼠标右键,显示函数选板(Functions )。
添加的所有函数及其布置如图13-4所示。
详细步骤介绍如下。
(1)添加一个配置串口函数:编程(Programming )→仪器I/O (Instrument I/O )→串口(Serial )→VISA 配置串口(VISA Configure Serial Port )。
图13-4 框图程序函数添加与布置(2)添加4个数值常量:编程(Programming )→数值(Numeric )→ 数值常量(数值常量(Numeric Constant ),值分别为9600(波特率)、8(数据位)、0(校验位,无)、1(停止位)。
(3)添加两个关闭串口函数:编程(Programming )→仪器I/O (Instrument I/O )→串口(Serial )→VISA 关闭(VISA Close )。
(4)添加一个循环结构:编程(Programming )→结构(Structures )→ While 循环(While Loop )。
添加理由:随时监测串口接收缓冲区的数据。
以下添加的函数或结构放置在While 循环结构框架中。
(5)添加一个时钟函数:编程(Programming )→ 定时(Timing )→ 等待下一个整数倍毫秒(Wait Until Next ms Multiple )。
添加理由:以一定的周期监测串口接收缓冲区的数据。
(6)添加一个数值常量:编程(Programming )→数值(Numeric )→ 数值常量(Numeric Constant ),将值改为500(时钟频率值)。
(7)添加一个VISA 串口字节数函数:编程(Programming )→仪器I/O (Instrument I/O )→ 串口(Serial )→ VISA 串口字节数(VISA Bytes at Serial Port ),标签为“Property Node ”。
(8)添加一个数值常量:编程(Programming )→数值(Numeric )→数值常量(Numeric 图13-3 程序前面板第13章LabVIEW串口通信程序设计Constant),将值为0(比较值)。
(9)添加一个比较函数:编程(Programming)→比较(Comparison)→不等于?(Not Equal ?)。
添加理由:只有当串口接收缓冲区的数据个数不等于0时,才将数据读入到接收区。
(10)添加一个布尔函数:编程(Programming)→布尔(Boolean)→非(Not)函数。
添加理由:当关闭程序时,将关闭按钮真(True)变为假(False),退出循环。
如果将循环结构的条件端子设置为“真时停止(Stop if True)”,则不需要添加非(Not)函数。
(11)添加两个条件结构:编程(Programming)→结构(Structures)→条件结构(Case Structure)。
添加理由:发送字符时,需要单击按钮“发送字符”,因此需要判断是否单击了发送按钮;接收数据时,需要判断串口接收缓冲区的数据个数是否不为0。
(12)添加一个串口写入函数:编程(Programming)→仪器I/O(Instrument I/O)→串口(Serial)→VISA写入(VISA Write),并拖入条件结构(上)的真(True)选项框架中。
(13)添加一个串口读取函数:编程(Programming)→仪器I/O(Instrument I/O)→串口(Serial)→VISA读取(VISA Read),并拖入条件结构(下)的真(True)选项框架中。
(14)将字符输入控件图标(标签为“发送区:”)拖入条件结构(上)的真(True)选项框架中,将字符显示控件图标(标签为“接收区:”)拖入条件结构(下)的真(True)选项框架中。
(15)分别将确定(OK)按钮控件图标(标签为“确定按钮(OK Button)”)、停止(Stop)按钮控件图标(标签为“停止按钮(Stop Button)”)拖入循环结构框架中。
4.框图程序设计——连线使用连线工具,将所有函数连接起来,如图13-5所示。
图13-5 框图程序连线(1)将VISA资源名称(VISA resource name)函数的输出端口分别与串口配置(VISA Configure Serial Port)函数、串口字节数(VISA Bytes at Serial Port)函数、串口写入(VISA Write)函数、串口读取(VISA Read)函数的输入端口VISA资源名称(VISA resource name)相连。
(2)将数值常量9600、8、0、1分别与串口配置(VISA Configure Serial Port)函数的输入端口波特率(baud rate)、数据比特(data bits)、奇偶(parity)、停止位(stop bits)相连。
– 285 –LabVIEW 虚拟仪器数据采集与串口通信测控应用实战– 286 –(3)将数值常量(值为500)与等待下一个整数倍毫秒(Wait Until Next ms Multiple )函数的输入端口毫秒倍数(millisecond multiple )相连。
(4)将确定按钮图标“OK Button ”与条件结构(上)的选择端子?相连。
(5)将串口字节数(VISA Bytes at Serial Port )函数的输出端口Number of bytes at Serial port 与不等于?(Not Equal ?)函数的输入端口x 相连。
将串口字节数(VISA Bytes at Serial Port )函数的输出端口Number of bytes at Serial port 与串口读取(VISA Read )函数的输入端口字节总数(byte count )相连。