文档库 最新最全的文档下载
当前位置:文档库 › Labview串口

Labview串口

Labview串口
Labview串口

先是英文资料,后面有详细的中文资料。

https://www.wendangku.net/doc/433188576.html,/devzone/cda/tut/p/id/2897

Serial Instrument Control Tutorial

目录

1.Overview of Serial Bus

2.Connecting and Setting up a Serial Instrument Control System

3.How to Create a VISA Resource for the Instrument in MAX

4.Instrument Control Software Articles and Related Links

Overview of Serial Bus

Serial is a common device communication protocol for instrument control because most computers and many remote instruments include at least one serial port. Single applications can be used across a variety of instruments with few modifications, reducing

programming and test time.

For more information on the serial protocol, including information on transfer speeds and important parameters, please refer to

Serial Communication Overview.

Connecting and Setting up a Serial Instrument Control System

Engineers typically use serial to transmit American Standard Code for Information Interchange (ASCII) data. All data types are converted to strings of ASCII characters and then transmitted bit by bit across the serial bus. For two ports to communicate, both the instrument and the controlling computer must have the same baud rate, data bit size, stop bits, and parity.

A basic serial instrument control system consists of four parts:

1. PC

2. Serial cable

3. Serial instrument

As mentioned, most computers include a serial port. The only hardware setup required is connecting the serial cable to the serial port on the PC and the serial port on the instrument. The serial instrument may include some hardware drivers or software utilities for communication, and should include documentation on the baud rate, packet size, stop bits, and parity bits that the instrument

will use. Additionally, check the National Instruments Instrument Driver Network to see if LabVIEW drivers already exist for yout

instrument, as well has tutorials on how to use them.

To confirm that the serial port on your computer is working properly, refer to Serial Communication Starting Point, to see how to

perform a serial loop back test.

How to Create a VISA Resource for the Instrument in MAX

With NI-VISA, communicating with your serial instrument is easy. To confirm that you are able to communicate with your instrument, open Measurement & Automation Explorer (MAX) found at Start>>Programs>>National

Instruments>>Measurement & Automation.

Figure 1. MAX Main Menu

Expand the “Devices and Interfaces” subdirectory below “My System,” then expand “Serial & Parallel.” Below it you should see all the serial and parallel ports o n your computer. In this example the computer has one serial port (“COM1”) and one parallel port (“LPT1”). Figure 2 shows the directory path to the serial port and the configuration window when COM1 is selected.

Figure 2. Serial Port Configuration Window

From this configuration window you can change the VISA Resource Name for easier identification and you can also “Open VISA

Test Panel” to send and receiv e communication from your serial instrument. Your instrument should have specific commands for collecting and transmitting data, and sending those commands to the instrument from the VISA Test Panel will confirm that you

have a connection.

Using NI-VISA to Communicate with Your Serial Instrument

NI-VISA makes serial instrument programming fast and easy. VISA Open, VISA Read, VISA Write, and VISA Close are the basic VISA functions in LabVIEW used in the example VI in Figure 3. This example opens a VISA session to a serial device. A command is written to the device, and the response is read back. In this example the specific command being sent is the ID query for the device. Check with your device manufacturer for your device command set. After all communication is complete, the VISA session

is closed.

Figure 3. LabVIEW Serial Program Using NI-VISA

https://www.wendangku.net/doc/433188576.html,/public.nsf/allkb/9F439B3D68D9072F4825703000383197

串口通信的基本概念

问题:我从那里能够学到串口通信的基本知识

解答:串口通信的基本概念

1,什么是串口?

2,什么是RS-232?

3,什么是RS-422?

4,什么是RS-485?

5,什么是握手?

1,什么是串口?

串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus 或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取

远程采集设备的数据。

串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。

典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)

接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配:

a,波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。b,数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII 码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单的文本(标准 ASCII 码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。

c,停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停

止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。

d,奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否

不同步。

2,什么是RS-232?

RS-232(ANSI/EIA-232标准)是IBM-PC及其兼容机上的串行连接标准。可用于许多用途,比如连接鼠标、打印机或者Modem,同时也可以接工业仪器仪表。用于驱动和连线的改进,实际应用中RS-232的传输长度或者速度常常超过标准的值。RS-232只限于PC串口和设备间点对点的通信。RS-232串口通信最远距离是50英尺。

DB-9针连接头

-------------

\ 1 2 3 4 5 /

\ 6 7 8 9 /

-------

从计算机连出的线的截面。

RS-232针脚的功能:

数据:

TXD(pin 3):串口数据输出RXD(pin 2):串口数据输入

握手:

RTS(pin 7):发送数据请求CTS(pin 8):清除发送DSR(pin 6):数据发送就绪DCD(pin 1):数据载波检测

DTR(pin 4):数据终端就绪

地线:

GND(pin 5):地线

其他

RI(pin 9):铃声指示

3,什么是RS-422?

RS-422(EIA RS-422-A Standard)是Apple的Macintosh计算机的串口连接标准。RS-422使用差分信号,RS-232使用非平衡参考地的信号。差分传输使用两根线发送和接收信号,对比RS-232,它能更好的抗噪声和有更远的传输距离。在工业环境中更好的抗噪性和更远的传

输距离是一个很大的优点。

4,什么是RS-485?

RS-485(EIA-485标准)是RS-422的改进,因为它增加了设备的个数,从10个增加到32个,

同时定义了在最大设备个数情况下的电气特性,以保证足够的信号电压。有了多个设备的能力,你可以使用一个单个RS-422口建立设备网络。出色抗噪和多设备能力,在工业应用中建立连向PC机的分布式设备网络、其他数据收集控制器、HMI或者其他操作时,串行连接会选择RS-485。RS-485是RS-422的超集,因此所有的RS-422设备可以被RS-485控制。RS-485

可以用超过4000英尺的线进行串行通行。

DB-9 引脚连接

-------------

\ 1 2 3 4 5 /

\ 6 7 8 9 /

-------

从计算机连出的线的截面。

RS-485和RS-422的引脚的功能

数据:TXD+(pin 8),TXD-(pin 9),RXD+(pin 4),RXD-(pin 5)

握手:RTS+(pin 3),RTS-(pin 7),CTS+(pin 2),CTS-(pin 6)

地线:GND (pin 1)

5,什么是握手?

RS-232通行方式允许简单连接三线:Tx、Rx和地线。但是对于数据传输,双方必须对数据定时采用使用相同的波特率。尽管这种方法对于大多数应用已经足够,但是对于接收方过载的情况这种使用受到限制。这时需要串口的握手功能。在这一部分,我们讨论三种最常用的RS-232握手形式:软件握手、硬件握手和Xmodem。

a,软件握手:我们讨论的第一种握手是软件握手。通常用在实际数据是控制字符的情况,类似于GPIB使用命令字符串的方式。必须的线仍然是三根:Tx,Rx和地线,因为控制字符在传输线上和普通字符没有区别,函数SetXModem允许用户使能或者禁止用户使用两个控制字符XON和OXFF。这些字符在通信中由接收方发送,使发送方暂停。

例如:假设发送方以高波特率发送数据。在传输中,接收方发现由于CPU忙于其他工作,输入buffer已经满了。为了暂时停止传输,接收方发送XOFF,典型的值是十进制19,即十六

进制13,直到输入buffer空了。一旦接收方准备好接收,它发送XON,典型的值是十进制17,即十六进制11,继续通信。输入buffer半满时,LabWindows发送XOFF。此外,如果XOFF传输被打断,LabWindows会在buffer达到75%和90%时发送XOFF。显然,发送方必

须遵循此守则以保证传输继续。

b,硬件握手:第二种是使用硬件线握手。和Tx和Rx线一样,RTS/CTS和DTR/DSR一起工作,一个作为输出,另一个作为输入。第一组线是RTS(Request to Send)和CTS(Clear to Send)。当接收方准备好接收数据,它置高RTS线表示它准备好了,如果发送方也就绪,它置高CTS,表示它即将发送数据。另一组线是DTR(Data Terminal Ready)和DSR(Data Set Ready)。这些现主要用于Modem通信。使得串口和Modem通信他们的状态。例如:当Modem已经准备好接收来自PC的数据,它置高DTR线,表示和电话线的连接已经建立。读取DSR线置高,PC机开始发送数据。一个简单的规则是DTR/DSR用于表示系统通信就绪,而RTS/CTS用于单

个数据包的传输。

在LabWindows,函数SetCTSMode使能或者禁止使用硬件握手。如果CTS模式使能,LabWindows

使用如下规则:

当PC发送数据:

RS-232库必须检测CTS线高后才能发送数据。

当PC接收数据:

如果端口打开,且输入队列有空接收数据,库函数置高RTS和DTR。

如果输入队列90%满,库函数置低RTS,但使DTR维持高电平。

如果端口队列近乎空了,哭喊数置高RTS,但使DRT维持高电平。

如果端口关闭,库函数置低RTS和DTR。

c,XModem握手:最后讨论的握手叫做XModem文件传输协议。这个协议在Modem通信中非常通用。尽管它通常使用在Modem通信中,XModem协议能够直接在其他遵循这个协议的设备通信中使用。在LabWindows中,实际的XModem应用对用户隐藏了。只要PC和其他设备使用XModem协议,在文件传输中就使用LabWindows的XModem函数。函数是XModemConfig,

XModemSend和XModemReceive。

XModem使用介于如下参数的协议:start_of_data、end_of_data、neg_ack、wait_delay、

start_delay、max_tries、packet_size。这些参数需要通信双方认定,标准的XModem有一个标准的定义:然而,可以通过XModemConfig函数修改,以满足具体需要。这些参数的使用方法由接收方发送的字符neg_ack确定。这通知发送方其准备接收数据。它开始尝试发送,有一个超时参数start_delay;当超时的尝试超过max_ties次数,或者收到接收方发送的start_of_data,发送方停止尝试。如果从发送方收到start_of_data,接收方将读取后继信息数据包。包中含有包的数目、包数目的补码作为错误校验、packet_size字节大小的实际数据包,和进一步错误检查的求和校验值。在读取数据后,接收方会调用wait_delay,然后想发送方发送响应。如果发送方没有收到响应,它会重新发送数据包,直到收到响应或者超过重发次数的最大值max_tries。如果一直没有收到响应,发送方通知用户传输数据失败。由于数据必须以pack_size个字节按包发送,当最后一个数据包发送时,如果数据不够放满一个数据包,后面会填充ASCII码NULL(0)字节。这导致接收的数据比原数据多。在XModem 情况下一定不要使用XON/XOFF,因为XModem发送方发出包的数目很可能增加到XON/OFF控

制字符的值,从而导致通信故障。

RS-232,RS-422和RS-485 串口通讯接口的快速比较

问题:

RS-232,RS-422以及RS-485串口的基本区别是什么?

解答:

下面的表格比较了:工作方式,驱动器和接收器的总数,电缆的最大长度及最大传输速率。RS-232 是大多数计算机通用的接口,比如COM1 和COM2。注意,大多数计算机的接口COM1以及COM2并不是RS-422/RS-485。然而,RS-422 是苹果Macintosh计算机的标准接口。RS-485 是基于RS-422的一

种改进,在工业中更普遍。所有NI的RS-485 板卡都支持RS-422标准。

问题: 串行通讯的基本架构是什么?

解答: 串口通讯架构

每一个异步串行系统的核心都是一个UART(通用异步接收机/发送机)。UART不仅控制传输的数据,相应的电平,同时也控制通讯的速度。UART能够存储足够的信息,所以保证了在电脑忙得时候,数据流也能连续传输。这对于同时处理大量任务的操作系统非常有帮助。下面附图是理想串行通讯的示意。我们大部分的串行卡都有一个输入输出的FIFO(查看目录了解详细信息)。FIFO的数据可以通过串行驱动获取。串行驱动会自动地把FIFO的数据传输到软件的缓存,这个缓存是可以在应用软件由用户配置的(比如,在LabVIEW您可以使用Serial Port Init VI来设置缓存去大小)。读接口的数据实际上包含从软件缓存读的过程。

确认硬件操作的回路测试

有三种方式确认串口的操作:LabVIEW,超级终端和LabWindows/CVI。这三种方式进行回路测试是把串口的发送和接受引脚短接。第一步描述短接引脚的过程。LabVIEW的处理写在下面,而超级终端和LabWindows/CVI的过程在本文后面的链接里。对于LabVIEW建议使用如下步骤:

a,连接一根电缆到串口。最常用的RS-232电缆是9针或者25针(DB-9或者DB-25)。在电缆端把2、3引脚短接。这会把计算机发送数据的线连接到接收

数据的线。一旦短接,BD-9的上一排变成【1 2=3 4 5】。

对于RS-485端口,电压是差分的。因此,你必须短接TXD+和RXD+、TXD-和RXD-(对于DB-9电缆,连接pin4到pin8和pin5到pin9;对于模块化接口,连接pin2到pin6和pin3到pin7;对于Combicon接头,连接pin1到pin5和pin2到pin4。)确保你的软件配置为4线模式。

在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、从串口接收数据

Labview串口通信开发实例(值得拥有)

串口通信的基本概念 串口通信的基本概念 1,什么是串口? 2,什么是RS-232? 3,什么是RS-422? 4,什么是RS-485? 5,什么是握手? 1,什么是串口? 串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。 串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米; 而对于串口而言,长度可达1200米。

典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参 数必须匹配: a,波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB 设备的通信。 b,数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信 的情况。 c,停止位:用于表示单个包的最后一位。典型的值为1,1.5和

LabVIEW串口通信详解

目录 1.串口扩展的问题: (2) 2.串口功能的确认: (2) 3.串口线的检查: (3) 4.串口参数设置: (4) 5.在LabVIEW中使用串口 (5) 5.2被动接收类型 (6) 6.串口数据类型的转换 (9) 6.1LabVIEW从串口接收数据 (9) ① (9) ② (10) 6.2使用LabVIEW发送数据 (10) ① (10) ② (10) 7.串口问题汇总: (11) 7.1串口资源被占用: (11)

LabVIEW串口通信详解 LabVIEW串口通信详解 串口可以说是我们最容易见到,也最容易接触到的一种总线,台式机上一般都有二个,而现在很多下位机、仪器等很多都还是使用串口通信的。论坛上很多朋友都经常会使用到串口,并遇到一些问题,这里有必要做一个详细的说明,以方便广大会员朋友,文章请勿转载到其它地方,谢谢。 论坛上早先发布过一个贴子,叫《串口WORD资料》,里面有一些中英文的串口的资料,这个文章是对那个资料的补充,如果是初接触串口的朋友建议先看一下上一个贴子先。上一个贴子中提到过的内容这里不再进行补充。 首先补充一个比较重要的问题,就是在LabVIEW中使用串口的话一定要先安装VISA 这个驱动,然后生成的EXE运行时也需要在目标机上安装VISA Runtime Engine,可以在打包时一起打包。 VISA的驱动可以在NI网站上下载到: https://www.wendangku.net/doc/433188576.html,/nidu/cds/view/p/id/1605/lang/zhs 1.串口扩展的问题: 先说一下串口的扩展问题,一般的台式机或工控机上都至少有二个串口,一般都是够用的,但是现在市场上已经很难找到带串口的笔记本了,而有时候在外出调试时需要在笔记本中使用到串口的,这时一般是使用USB-RS232的转接线,价格从十几到一百多都有,很多朋友反应在使用价格低的转接线时会出现乱七八糟的问题,而贵一点的线就很少听说有其它问题的,所以大家在使用便宜的USB-RS232转接线时要特别注意线的质量,遇到一些奇怪的问题时先考虑换一根好一点的线。PCI-RS232扩展卡也同理,便宜的卡也容易出问题,尽量买好一点的,以免因小失大。PCI-RS232一般至少能扩展2个串口,有些BT一点的可以扩展到8-16个,一堆线和接头。转接线和扩展卡一般是要装驱动的。 2.串口功能的确认: 在使用串口之前,最好先确认一下串口是否正常,特别是使用转换接或扩展卡的。检查的方法很简单,就是将串口的2、3脚短接起来,3脚是发送数据,2脚接收数据,就是这个串口自发自收。电脑上的串口软件一般是用串口调试助手,很出名的,也好用。如下图所示:

Labview串口

先是英文资料,后面有详细的中文资料。 https://www.wendangku.net/doc/433188576.html,/devzone/cda/tut/p/id/2897 Serial Instrument Control Tutorial 目录 1.Overview of Serial Bus 2.Connecting and Setting up a Serial Instrument Control System 3.How to Create a VISA Resource for the Instrument in MAX 4.Instrument Control Software Articles and Related Links Overview of Serial Bus Serial is a common device communication protocol for instrument control because most computers and many remote instruments include at least one serial port. Single applications can be used across a variety of instruments with few modifications, reducing programming and test time. For more information on the serial protocol, including information on transfer speeds and important parameters, please refer to Serial Communication Overview. Connecting and Setting up a Serial Instrument Control System

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)和End Mode for Writes(ASRL End Out) 属性。默认值为 Unasserted 。 详细信息 Serial Settings:Error Replacement Character 指定字符,用于替换带有错误(例如,奇偶校验错误)的输入字符。默认值为0。 详细信息 Serial Settings:Wire Mode 指定当前的连线/转发器模式。对于RS485硬件,该 属性仅对NI 开发的RS485串行驱动程序有效。对于 RS232硬件,值RS232/DCE 和RS232/AUTO 仅对NI 开发的RS232串行驱动程序有效,相应的NI 硬件中 也支持该功能。不支持该功能 时,RS232/DTE 是唯 一有效的值。 详细信息 Serial Settings:Discard NUL Characters 指定是否忽略值为0的数据字节。如属性为TRUE , 读取操作将忽略NUL 字符。如该属性为FALSE ,读取操作将NUL 字符视为正常字符。对于二进制传递,应将该属性设置为FALSE 。默认值为FALSE 。 详细信息 Serial Settings:Stop Bits 指定用于表示帧结束的停止位的数量。有效值为:(10)停止1,(15)停止1.5,(20)停止2。 详细信息 Serial Settings:Flow Control 指定传输和接收数据使用的流控制方法。有效值是: (0)无流控制,(1)XON/XOFF 流控制, (2)RTS/CTS 流控制,(3)XON/XOFF 和RTS/CTS 流控制, (4)DTR/DSR 流控制,(5)XON/XOFF 和DTR/DSR 流控 制。某些值或组合值只适用于特定的串行端口和/或 操作系统。 详细信息 Message Based 指定是否在出现END 条件时终止读取操作。属性仅

非常好--LabVIEW串口通信详解

LabVIEW串口通信详解 串口可以说是我们最容易见到,也最容易接触到的一种总线,台式机上一般都有二个,而现在很多下位机、仪器等很多都还是使用串口通信的。论坛上很多朋友都经常会使用到串口,并遇到一些问题,这里有必要做一个详细的说明,以方便广大会员朋友,文章请勿转载到其它地方,谢谢。 论坛上早先发布过一个贴子,叫《串口WORD资料》,里面有一些中英文的串口的资料,这个文章是对那个资料的补充,如果是初接触串口的朋友建议先看一下上一个贴子先。上一个贴子中提到过的内容这里不再进行补充。 首先补充一个比较重要的问题,就是在LabVIEW中使用串口的话一定要先安装VISA这个驱动,然后生成的EXE运行时也需要在目标机上安装VISA Runtime Engine,可以在打包时一起打包。 VISA的驱动可以在NI网站上下载到:https://www.wendangku.net/doc/433188576.html,/nidu/cds/view/p/id/1605/lang/zhs 1.串口扩展的问题: 先说一下串口的扩展问题,一般的台式机或工控机上都至少有二个串口,一般都是够用的,但是现在市场上已经很难找到带串口的笔记本了,而有时候在外出调试时需要在笔记本中使用到串口的,这时一般是使用USB-RS232的转接线,价格从十几到一百多都有,很多朋友反应在使用价格低的转接线时会出现乱七八糟的问题,而贵一点的线就很少听说有其它问题的,所以大家在使用便宜的USB-RS232转接线时要特别注意线的质量,遇到一些奇怪的问题时先考虑换一根好一点的线。PCI-RS232扩展卡也同理,便宜的卡也容易出问题,尽量买好一点的,以免因小失大。PCI-RS232一般至少能扩展2个串口,有些BT一点的可以扩展到8-16个,一堆线和接头。转接线和扩展卡一般是要装驱动的。 2.串口功能的确认: 在使用串口之前,最好先确认一下串口是否正常,特别是使用转换接或扩展卡的。检查的方法很简单,就是将串口的2、3脚短接起来,3脚是发送数据,2脚接收数据,就是这个串口自发自收。电脑上的串口软件一般是用串口调试助手,很出名的,也好用。如下图所示:图1 串口调试助手 打开软件,选择已经短接好的串口号,点击“手动发送”,如果串口是好的,2、3脚又短接起来了,马上就可以在上面的接收框里看到接收的数据就是发送的数据。稍微要注意一下的是有些电脑的COM1和COM2的位置是反过来的,所以要确定好串口调试助手左上角的串口上择的是已经短接的那一个,如果COM1没接收到,可以再先COM2再发一次看一下。 3.串口线的检查: 检查好串口后,一般也要注意一下使用的串口线,标准的串口线是9根线都是用上的,但有一些是只使用了三根线的:2、3、5。第3个脚管是发送,第2个管脚接收,另一个5是地线,这里叫它简化的串口线,简化的串口线能用上的地方,标准的串口线也肯定能用上,因为标准线的9根线已经包括了简化串口线中的3根线,但标准串口线能用上的地方,简化串口线就不一定能用上,所以在使用串口线之间一定要确定好串口线的类型,一般买的串口线都是标准线,但自制的串口线因为应用场合不同就要先确定一下。 G串口线还有一个地方需要注意一下的,就是2、3脚的接法,标准接法中是2、3脚交叉的,即这边的2接另一边的3,这边的3接另一边的2,扭了一下,所以叫交叉线,因为正常使用时,这边第二脚是发送数据,另一边第三脚是接收数据,所以要将这二个管脚连接起来,这样才能正常使用。但是有些情况下,2、3是直连的,即这边的第2脚连接另一边的第2脚,第3脚连接第3脚,这种叫直连线,这种线一般是用于延长串口的,比如需要将工控机的串口接头引到机柜表面上时,就使用这种线,这样机柜表面的串口线的定义还是跟电脑接出来的一样,外面的那一根串口线再使用交叉线。从电脑主板上将串口引到主机后面板上的线就是这样的直连线。购买串口线的时候一般也会问你买直连的还是交叉的,要区别对待。 串口线还有一个要稍微注意一下的就是DB头,因为电脑上接出来的一般是公头(针),要跟电脑接的话要母头(孔),一般仪器的串口也是公头,所以二边都是母头的串口线比较常见。串口的接头一般是DB9的,也有DB25的,但比较少用,有些比较BT的仪器厂家居然用RJ11(水晶头那种)作为串口头,让人不爽! 总之,使用串口前一定要先确定好硬件没问题,不然很浪费时间的。 4.串口参数设置: 在LabVIEW中使用串口时,有几个参数比较重要,需要先说明一下的。一个是串口初始化这个节点的“终

在LabVIEW中应用串口使用LabVIEW系统VI串口VI介绍

在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中使用一样。同样可以使用中断方式进行 接收。具体的例子可以发索取。

labview中 我现在在做一个上位机对串口发送 ASCII码和十六

在LabVIEW中使用串口 第一部分使用LabVIEW系统VI 一、串口VI介绍 LabVIEW的串口通讯VI位于Instrument I/O Platte的Serial中,包括: VI名称 VI功能 VISA Configure Serial Port 初始化VISA resource name指定的串口通讯参数 VISA Write 将输出缓冲区中的数据发送到VISA resource name指定的串口 VISA Read 将VISA resource name指定的串口接收缓冲区中的数据读取指定字节数的数据到 计算机内存中 VISA Serial Break 向VISA resource name指定的串口发送一个暂停信号 VISA Bytes at Serial Port 查询VISA resource name指定的串口接收缓冲区中的数据字节数 VISA Close 结束与VISA resource name指定的串口资源之间的会话 VISA Set I/O Buffer Size 设置VISA resource name指定的串口的输入输出缓冲区大小 VISA Flush I/O Buffer 清空VISA resource name指定的串口的输入输出缓冲区 二、使用说明 在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中使用一样。同样可以使用中断方式进行接收。

LabVIEW串口通信入门教程

串口可以说是我们最容易见到,也最容易接触到的一种总线,台式机上一般都有二个,而现在很多下位机、仪器等很多都还是使用串口通信的。论坛上很多朋友都经常会使用到串口,并遇到一些问题,这里有必要做一个详细的说明,以方便广大会员朋友方便使用。 首先补充一个比较重要的问题,就是在LabVIEW中使用串口的话一定要先安装VISA这个驱动,然后生成的EXE运行时也需要在目标机上安装VISA Runtime Engine,可以在打包时一起打包。 1.串口扩展的问题: 先说一下串口的扩展问题,一般的台式机或工控机上都至少有二个串口,一般都是够用的,但是现在市场上已经很难找到带串口的笔记本了,而有时候在外出调试时需要在笔记本中使用到串口的,这时一般是使用USB-RS232的转接线,价格从十几到一百多都有,很多朋友反应在使用价格低的转接线时会出现乱七八糟的问题,而贵一点的线就很少听说有其它问题的,所以大家在使用便宜的USB-RS232转接线时要特别注意线的质量,遇到一些奇怪的问题时先考虑换一根好一点的线。PCI-RS232扩展卡也同理,便宜的卡也容易出问题,尽量买好一点的,以免因小失大。PCI-RS232一般至少能扩展2个串口,有些BT一点的可以扩展到8-16个,一堆线和接头。转接线和扩展卡一般是要装驱动的。 2.串口功能的确认: 在使用串口之前,最好先确认一下串口是否正常,特别是使用转换接或扩展卡的。检查的方法很简单,就是将串口的2、3脚短接起来,3脚是发送数据,2脚接收数据,就是这个串口自发自收。电脑上的串口软件一般是用串口调试助手,很出名的,也好用。如下图所示:

图1串口调试助手 打开软件,选择已经短接好的串口号,点击“手动发送”,如果串口是好的,2、3脚又短接起来了,马上就可以在上面的接收框里看到接收的数据就是发送的数据。稍微要注意一下的是有些电脑的COM1和COM2的位置是反过来的,所以要确定好串口调试助手左上角的串口上择的是已经短接的那一个,如果COM1没接收到,可以再先COM2再发一次看一下。 3.串口线的检查: 检查好串口后,一般也要注意一下使用的串口线,标准的串口线是9根线都是用上的,但有一些是只使用了三根线的:2、3、5。第3个脚管是发送,第2个管脚接收,另一个5是地线,这里叫它简化的串口线,简化的串口线能用上的地方,标准的串口线也肯定能用上,因为标准线的9根线已经包括了简化串口线中的3根线,但标准串口线能用上的地方,简化串口线就不一定能用上,所以在使用串口线之间一定要确定好串口线的类型,一般买的串口线都是标准线,但自制的串口线因为应用场合不同就要先确定一下。 G串口线还有一个地方需要注意一下的,就是2、3脚的接法,标准接法中是2、3脚交叉的,即这边的2接另一边的3,这边的3接另一边的2,扭了一下,所以叫交叉线,因为正常使用时,这边第二脚是发送数据,另一边第三脚是接收数据,所以要将这二个管脚连接起来,这样才能正常使用。但是有些情况下,2、3是直连的,即这边的第2脚连接另一边的第2脚,第3脚连接第3脚,这种叫直连线,这种线一般是用于延长串口的,比如需要将工控机的串口接头引到机柜表

基于labview串口助手设计资料

虚拟仪器课程设计题目:串口调试助手设计 学院:华东交通大学机电工程学院班级:2012xxxxxx 学号:2012xxxxxxxx 姓名:xxxx

目录 《虚拟仪器设计》课程设计任务书 (2) 1.引言 (4) 2. labview及串口通信简介 (4) 2.1 Labview (4) 2.2串口通信简介 (5) 3.串口相关节点介绍 (6) 3.1 VISA配置串口 (6) 3.2 设置缓冲区大小 (7) 3.3visa写入 (7) 3.4 VISA读取 (7) 4.程序框图设计 (8) 4.1 串口初始化输入模块 (8) 4.2数据发送程序 (9) 4.3数据接收 (9) 4.4字节数显示 (10) 4.5 属性节点设置 (10) 5.前面板设计 (10) 6.结语 (11) 7.心得体会 (12) 8. 参考文献 (13)

华东交通大学机电工程学院 《虚拟仪器设计》课程设计任务书 学生姓名:高俊须学号:20120310110212 一、设计题目 串口调试助手设计 二、设计目的和要求 通过对虚拟仪器的设计,了解虚拟仪器设计的基本原理及常用的对象使用方法;通过设计一台虚拟式数据采集系统、图形识别系统、通过串口、并口控制、测温系统、转速测量系统等,了解虚拟仪器数据采集卡的使用及设置,并口或串口的数据传输,了解虚拟编程中如何使用非NI公司的数据采集卡或电脑中常用的声卡,如何配置DAQ助手等,学会把外界物理信号采集到计算机并进行简单分析或者通过虚拟仪器产生符合要求的信号并通过声卡输出或者学会利用NI的ELVIS系统设计简单的测量软件。加深虚拟仪器知识、单片机的了解,培养学生运用虚拟仪器思想解决工程实际问题的能力。 二、设计内容 A.详细要求: (1)串口可选;(2)波特率可调;(3)串口通讯方式可调(9位还是11位); (4)校验方式可选(奇校验偶校验);(5)设计界面要标准 B.前面板上要设置必要的控件对象以设置相应参数。 C.设计界面要美观,程序可读性好。 三、设计进度安排 设计时间总计2周 课程设计任务及要求讲解(0.5天) 设计任务分析及查找资料(1.5天) 程序编制及调试(5.5天) 设计说明书撰写(2天) 答辩(0.5天) 四、设计任务书应包括的主要内容 目录设计题目任务分析实现过程程序前面板及流程图

在labview中使用串口进行通讯

设为首页加入收藏联系站长 今天是: 2005年11月25日 星期五 | 首页 | 技术文章 | 资源下载 | 您现在的位置: LabVIEW和虚拟仪器协作同盟 >> 技术文章 >> 原创文章 >> 正文 用户登录 新用户注册 [图文]串口常识(三) 热 荐 ★★★★ 在LabVIEW中使用串口进行通讯 副标题:第三部分 作者:测试工程师 文章来源:本站原创 点击数:1308 更新时间:2005-5-18 在LabVIEW 中应用串口 第一部分使用LabVIEW 系统VI 一、串口VI 介绍 LabVIEW 的串口通讯VI 位于Instrument I/O Platte 的Serial 中,包括: 二、使用说明 在 LabVIEW 环境中使用串口与在其它开发环境中开发过程类似,基本的流程框图如下。 首先需要调用VISA Configure Serial Port 完成串口参数的设置,包括串口资源分配、波特率、数据位、停止位、校验位和流控 VI 名称 VI 功能 VISA Configure Serial Por t 初始化VISA resource name 指定的串口通讯参数 VISA Write 将输出缓冲区中的数据发送到VISA resource name 指定的串口 VISA Read 将VISA resource name 指定的串口接收缓冲区中的数据读取指定字节数的数据到计算中 VISA Serial Break 向VISA resource name 指定的串口发送一个暂停信号 VISA Bytes at Serial Port 查询VISA resource name 指定的串口接收缓冲区中的数据字节数 VISA Close 结束与VISA resource name 指定的串口资源之间的会话 VISA Set I/O Buffer Size 设置VISA resource name 指定的串口的输入输出缓冲区大小 VISA Flush I/O Buffer 清空VISA resource name 指定的串口的输入输出缓冲区 图1、串口操作数据流图

labview visa 串口例子

一介绍Labview Labvie是实验室虚拟仪器工程工作台(Labview Virtual Instruments Engineering Workbench)的简称,是美国国家仪器公 司开发的虚拟仪器开发平台软件,它的功能强大灵活,可以广泛应用于自动测量系统、工业过程自动化、实验室仿真等各个领域。 Labview使用图形化编程语言编程,简单直观,极大节省程序开发时间,同时Labview可提供丰富的库函数和功能模块,可完成各种各样的复杂编程任务。 二串口 串行通信接口标准经过使用和发展,目前已经有几种。但都是在RS-232标准的基础上经过改进而形成的。所以,以RS-232C为主来讨论。RS-323C标准是美国EIA(电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。它适合于数据传输速率在0~20000b/s范围内的通信。这个标准对串行通 信接口的有关问题,如信号线功能、电器特性都作了明确规定。由于通行设备厂商都生产与RS-232C制式兼容的通信设备,因此,它作为一种标准,目前已在微机通信接口中广泛采用。 三实现通讯的方式 (1)利用VISA (2)使用ActiveX(采用MScomm) 四使用VISA实现串口通讯 VISA是应用于仪器编程的标准I/O应用程序接口(API),VISA 本身并不具有仪器编程能力,VISA是调用低层驱动器的高层的API。 VISA可以和VXI、GPIB及串口仪器按照所使用的仪器调用相应的设备驱动器,具体的使用方法可参考Labview的用户手册 1说明

https://www.wendangku.net/doc/433188576.html,bview 中VISA串口读写 详细请见LABVIEW自带的例程serial write and read.vi 五使用MSCOMM 由于Labview对于ActiveX良好的支持性,我们可以很方便的借助于ActiveX技术来扩展Labview功能,增强灵活性的有效途径。在串口通讯方面,我们采用微软提供的Mscomm控件来实现串口的通讯。将MSCOMM32.OCX文件注册并且导入到labview当中,这样我们的USER. CONTROL下面有Microsoft Communications Control.ctl。这样我们可以很方便的使用此ActiveX组件从而实现串口通讯。

labview串口调试助手

《虚拟仪器技术》课程设计报告 题目:串口调试助手 专业:测控技术与仪器 班级:测控0901 学号:091301120 姓名:吴迪 指导教师:陈老师王老师 完成日期: 2013年3月

扬州大学能源与动力工程学院 2013年3月

目录 一.设计目的 (2) 二.设计步骤 (6) 1.基本框架的设计 (7) 2.配置串口各个参数 (8) 3.写入字符串 (9) 4.写入格式的选择 (11) 5.读取字符串 (12) 6.读取字符串格的选择 (13) 7.清空读取字符串 (13) 8.打开串口 (14) 9.对界面颜色的设计 (14) 三.总程序图 (15) 四.调试中遇到的问题 (16) 五.体会 (17)

第一部分 课 程 设 计 指 导 书

1.设计目的 (1)掌握Labview软件编程方法 (2)掌握虚器仪器实验室硬件的应用 (3)培养综合应用所学知识来指导实践的能力 2.设计所用仪器及器件 (1) NI公司的数据采集和信号调理卡。NI MyDQA卡,myboard 辅助电路板。 (2)计算机一台。 (3)各种相关的实验材料和设备。 3.实物内容及要求 (1)设计成果一份。 (2)课程设计报告一份。 4.进程安排 1.布置任务、查阅资料,方案设计(两天) 根据设计要求,查阅参考资料,进行方案设计及可行性论证,确定设计方案,画出详细的原理图。 2.上机在LabVIEW环境下按要求进行设计(三天) 要求在虚拟仪器上观测到正确的波形并达到规定的技术指标。

3.硬件的装配及调试(三天) 使用数据采集卡进行装配调试,使其全面达到规定的技术指标,最终通过验收。 4.总结报告(一天) 5.课程设计报告内容 总结设计过程,写出设计报告,设计报告具体内容要求如下:1.课程设计的目和设计的任务 2.课程设计的要求及技术指标 3.总方案的确定并画出原理框图。 4.各基本单元原理及设计 (结合设计图写)。 5.总原理图,工作原理、工作特性(结合框图及前面版讲解)。 6.电路安装、调试步骤及方法,调试中遇到的问题,及分析解决方法。 7.实验结果分析,改进意见及收获。 8.体会。

labview串口调试

labview串口调试 其实labview 传送的只是二进制的数,只是默认以ASCII 码显示而已。除 你楼主的方法,还有一种就是利用字符串到字节数组转换工具,将传送的数据 按每8 位,保存为一个数组元素。再用索引数组索引出需要的二进制数即可。 https://www.wendangku.net/doc/433188576.html,bview 对串口进行调试时,首先需要安装visa 驱动,可在NI 的官方网站上 下载,不过速度好像不是很快。 2.最简模式下进行串口程序接收。如图:然后 在最右边接一个字符串接受区就可以接受到串口发送的数据了。注意:通过 串口发送的是ascii 码,因此如果单片机那边发送的是比如0x20 之类的数据, 那么在接受端你用”Normal”模式将看不到任何东西,因为Normal 是以ascii 模 式查看,而0x20 的ascii 表示空格,解决的方法为右键点击接受区(字符串指示器),然后选择16 进制模式便可以正常查看。那如果要在单片机那么发送一个 具体的数字,怎么才能正确的将这个数提取出来呢?这才是难点所在。有种 方法可以解决:在下位机(发送端)发送的就是表示该数的ascii 码,比如你要 发送12,那么就发送49,50(ascii 比实际的数大48),因此在下位机专门写个函数 将欲发送的数转换成ascii 码就可以正常发送了。函数很简单,就是将其拆开然 后加48。此方法是专门用于labview,因为要从接收到的字符串中提取数字就必 须用这种方法,当然其他的软件,比如说VB 之类的在这方面就简单一些,因 为它可以在上位机对接受到的ascii 码进行处理还原。3.得到字符串后,将有用 的信息提取出来:比如收到如下信息: b0001b002b0003b0004b0005 如果字符串是上述固定格式,可以scan from string 函数直接将数字提取出来,但我遇到的 问题是上面的格式在每次发送的时候却不是固定的(串口都这样)上述字符 串有可能以如下方式收到001b0002b0003b0004b0005b00 此时scan from string 就会报错,因为它发现第一个不是字母等等。经过查找,发现Search/Split

labview串口通讯的分析

关键词:labview 串口通信 学习labview有一段时间了,发现了其中功能的强大和编程的简洁性,高效性 现在初步实现了串口的通信,把其中的体会和实现过程写出来,权当抛砖引玉 其中的串口采用的是Rs-232,D型口,共九跟针,其中能用的就是三跟针脚,2,3,5,一个是发送一个是接受,一个是接地,如果做一个串口线延长线的话,只需连接这三根针脚即可,就是2连3,3连2,5连5。 在labview中采用的visa,首先是进行串口设置,设置串口号,波特率,在这里面只要设置这两个就可以了,其余的采用默认,其中特别注意的是要安装visa驱动包,只有安装了这个驱动包,你的串口才可以选择,一般现在的电脑上只有一个串口,那么为了调试方便,这里有两个工具可以推荐,一个叫做串口虚拟软件,我用的是VSPD XP 5,就是一个虚拟串口的软件,让你的电脑能够多虚拟两个串口,你要设置成让他们互联,另一个就是串口调试工具,叫,用来调试串口通信的,可以验证通信时候成功。visa驱动包在ni网站上有,具体什么地址你可以到搜索一下. 再就是visa read 作用是从串口读取数据,这里面有个read buffer ,从串口读取的数据 visa write向串口写入数据或者是命令 还有visa close 结束串口读取数据,目的是读完数据后,释放串口资源 我的例子 前面板图 程序图

labview串口通讯的深入分析收藏 labview称做"G"语言,只是说明了它具备了通用编程语言的编程能力,但是任何编程语言都有器独特的特点,否则经过几十年的风风雨雨,并没有出现一种编程语言一统天下的格局,每种编程语言都有其特别适合的领域,从这点来说,数据采集和仪器通讯可以说是它最擅长的领域.毫无疑问,计算机的串口通讯是相对比较简单的通讯方式,labview也不例外地对它提供了支持. LABVIEW的串口控制,可以通过多种方法: 1.最基本的IN OUT 控制,LABVIEW提供了In port 和Out Port两个基本输入输出VI,通过它就可以直接读写寄存器,我本人做的许多并口控制设备就是利用了这两个节点,在计算机的DOS时代,通过IN OUT指令进行串口通讯是唯一的选择,现在正在做单片机的朋友都知道,单片机的串口通讯都是通过操作寄存器实现的,对于计算机的COM1,它的端口地址是0X3F8,完全可以通过它来完成串口通讯. 2.利用API的WriteFile 函数实现串口通讯,这是VC进行串口通讯的方法. 3.利用VB提供的MSCOMM控件(这是目前用的最多的,它支持查询和中断两种模式,即可以发送文本型数据(ASCII),由可以发送二进制(BIN,实际是BYTE ARRAY) 4.利用LABVIEW特有的VISA通讯 直接控制寄存器的方法在计算机串口通讯基本看不到了.只有在单片机中还采用这种方式. 通过C51串口通讯,简单地介绍一下这种方法:

LABVIEW串口设计

第一部分使用LabVIEW系统VI 1.1、串口VI介绍 LabVIEW的串口通讯VI位于Instrument I/O Platte的Serial中,包括: VISA Configure Serial Port:初始化VISA resource name指定的串口通讯参数VI SA Write:将输出缓冲区中的数据发送到VISA resource name指定的串口 VISA Read:将VISA resource name指定的串口接收缓冲区中的数据读取指定字节数的数据到计算机内存中 VISA Serial Break:向VISA resource name指定的串口发送一个暂停信号 VISA Bytes at Serial Port:查询VISA resource name指定的串口接收缓冲区中的数据字节数 VISA Close:结束与VISA resource name指定的串口资源之间的会话 VISA Set I/O Buffer Size:设置VISA resource name指定的串口的输入输出缓冲区大小 VISA Flush I/O Buffer:清空VISA resource name指定的串口的输入输出缓冲区 1.2、使用说明 在LabVIEW环境中使用串口与在其它开发环境中开发过程类似,基本的流程框图如下。 图1、串口操作数据流图

首先需要调用VISA Configure Serial Port完成串口参数的设置,包括串口资源分配、波特率、数据位、停止位、校验位和流控等等。 图2、初始化串口 如果初始化没有问题,就可以使用这个串口进行数据收发。发送数据使用VIS A Write,接收数据使用VISA Read。在接收数据之前需要使用VISA Bytes at Ser ial Port查询当前串口接收缓冲区中的数据字节数,如果VISA Read要读取的字节数大于缓冲区中的数据字节数,VISA Read操作将一直等待,直至Timeout或者缓冲区中的数据字节数达到要求的字节数。当然也可以分批读取接收缓冲区或者只从中读取一定字节的数据。 图3、从串口发送数据 图4、从串口接收数据 在某些特殊情况下,需要设置串口接收/发送缓冲区的大小,此时可以使用VISA S et I/O Buffer Size;而使用VISA Flush I/O Buffer则可以清空接收与发送缓冲区。在串口使用结束后,使用VISA Close结束与VISA resource name指定的串口之

在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、使用控件的串口收发程序

LabVIEW中使用串口

在LabVIEW中使用串口 第一部分 使用LabVIEW系统的VI 一、串口VI介绍 LabVIEW的串口通讯VI位于Instrument I/O的Serial中,包括: VI名称 VI功能 VISA Configure Serial Port 初始化VISA resource name指定的串口通讯参数 VISA Write 将输出缓冲区中的数据发送到VISA resource name指定的串口 VISA Read 将VISA resource name指定的串口接收缓冲区中的数据读取指定字节数的数据到计算机内存中 VISA Serial Break 向VISA resource name指定的串口发送一个暂停信号 VISA Bytes at Serial Port 查询VISA resource name指定的串口接收缓冲区中的数据字节数 VISA Close 结束与VISA resource name指定的串口资源之间的会话 VISA Set I/O Buffer Size设置VISA resource name指定的串口的输入输出缓冲区大小 VISA Flush I/O Buffer清空VISA resource name指定的串口的输入输出缓冲区 二、使用说明 在LabVIEW环境中使用串口与在其它开发环境中的开发过程类似,基本的流程框图如下。 图1 串口操作数据流图 首先需要调用VISA Configure Serial Port完成串口参数的设置,包括串口资源分配、波特率、数据位、停止位、校验位和流控制等等。 图2 初始化串口 如果初始化没有问题,就可以使用这个串口进行数据收发。发送数据使用VISA Write,接收数据使用VISA Read。在接收数据之前,需要使用VISA Bytes at Serial Port查询当前串口接收缓冲区中的数据字节数,如果VISA Read要读取的字节数大于缓冲区中的数据字节数,VISA Read操作将一直等待,直至Timeout 或者缓冲区中的数据字节数达到要求的字节数。当然也可以分批读取接收缓冲区或者只从中读取一定字节的数据。

相关文档
相关文档 最新文档