您好,欢迎来到欧得旅游网。
搜索
您的当前位置:首页labview中的visa用法

labview中的visa用法

来源:欧得旅游网
在LabVIEW中使用VISA

在LabVIEW中使用VISA VISA是仪器编程的标准I/O API。 VISA的多种用途 VISA可控制GPIB、串口、USB、以太网、PXI或VXI仪器,并根据使用仪器的类型调用相应的驱动程序,用户无需学习各种仪器的通信协议。VISA于操作系统、总线和编程环境。换言之,无论使用何种设备、操作系统和编程语言,均使用相同的API。 开始使用VISA之前,应确保选择合适的仪器控制方法。 GPIB、串口、USB、以太网和某些VXI仪器使用基于消息的通信方式。对基于消息的仪器进行编程,使用的是高层的ASCII字符串。仪器使用本地处理器解析命令字符串,设置合适的寄存器位,进行用户期望的操作。SCPI(可编程仪器标准命令)是用于仪器编程的ASCII命令字符串的标准。相似的仪器通常使用相似的命令。用户只需学习一组命令,而无需学习各个仪器生产厂商各种仪器的不同命令消息。最常用的基于消息的函数是:VISA读取、VISA写入、VISA置触发有效、VISA清空和VISA读取STB。 PXI和许多VXI仪器使用基于寄存器的通信方式。对基于寄存器的仪器进行编程,使用的是将直接写入仪器控制寄存器的底层二进制信息。该通信方式的优点是速度快,因为仪器不需解析命令字符串,并将信息转换为寄存器层次的程序。基于寄存器的仪器实际上是在直接硬件操作层上进行通信。最常用的基于寄存器的函数是:VISA输入、VISA输出、VISA转入和VISA转出

LabVIEW VISA与串口通讯的编程实现

(2013-05-25 11:25:52)

VISA是虚拟仪器软件体系结构的缩写(即Virtual Instruments Software Architecture),实质上是一个I/O口软件库及其规范的总称。

VISA是应用于仪器编程的标准I/0应用程序接口,是工业界通用的仪器驱动器标准API(应用程序接口),采用面向对象编程,具有很好的兼容性、扩展性和性。用户可用一个API控制包括VXI、GPIB及串口仪器在内的不同种类的仪

器。它还支持多平台工作、多接口控制,是一个多类型的函数库。

在LabVIEW中编写的VISA接口程序,当外部设备变更时,只需要更换几个程序模块即可使用,简单方便而且开发效率高。

在LabVIEW 中利用VISA节点进行串行通信编程。为了方便用户使用,LabVIEW将这些VISA节点单独组成一个子模块,共包含8个节点,分别实现初始化串口、串口写、串口读、中断以及关闭串口等功能。

一、基本步骤

在LabVIEW 中,进行串口通信的基本步骤分为3步:

第一:串口初始化,利用ⅥSA Configure Serial Port.vi【VISA配置串口】节点设定串口的端口号、波特率、停止位、校验位、数据位。

第二:读写串口,利用VISA Read节点和VISA Write节点对串口进行读写。

第三:关闭串口,停止所有读写操作。

二、主要节点介绍

下面介绍一下VISA串口的主要节点及其功能: 1、串口配置

该节点主要用于串口的初始化,如图1所示。

图1 串口配置节点

VISA资源名称:指PC的串口名,例:COMl,COM2等。 波特率:串口速率,默认为9600bps。

数据比特:一帧信息中的位数,LabVIEW 中允许5~8位数据,默认为8。 奇偶:奇偶校验位,可选为无校验、奇校验或偶校验,默认为无校验。 停止位:一帧信息中的停止位的位数,可选为1位、1.5位或2位。 流控制:设置传输机制使用的控制类型,可选为None、XON/XOFF软件流控或RTS/CTS硬件流控,默认为None。

终止符:设置一帧数据的结束符,即当接收串口数据时,当收到终止符时,软件自动结束一帧数据接收。

特别需要注意的是超时(TIMEOUT) 和结束符号两个参数.TIMEOUT默认的10秒,结束符号默认是使能状态,默认的结束符是0X0A(\\n),另外,回车0x0D (\\r)也经常做为做为结束符号

2、串口写入【从写缓冲区中写数据至visa资源名称指定的串口】

该节点主要用于写入串口数据,如图2所示。

图2 串口写入节点

写入缓冲区:串口发送的内容。

3、串口读取【从visa资源名称指定的串口中读数据至读缓冲区】 该节点主要用于读取串口中的数据,如图3所示。

图3 串口读取节点

字节总数:要读取的字节数量。 读取缓冲区:PC串口收到的数据。

返回数:实际读取的字节数,字节总数应大于或等于返回数,否则会丢数。 4、串口关闭

该节点主要用于关闭已打开的串口,释放串口资源,以便串口被其他程序所调用,如图4所示。

图4 串口关闭节点

三、典型串口程序框图

按照串口编程的3个基本步骤,图5和图6给出了两个典型的串口读写程序框图。图5为读取的字节数为固定值,图中为4个字节,如果串口中数据字节数目不

等于4个字节则会出错。图6则是先判断出串口中数据的字节数目,然后将其全部读取出来。相对而言,图6的通用性更好,但是出错的概率也会增大,因为不知道串口发来的数据是否与我们所需要的数据的字节数相等。

图5 典型串口读写程序框图1

图6 典型串口读写程序框图2

参考文献:

文献1:基于LabVIEW 的串口通信应用(李晴) 文献2:http://china.ni.com/

串口通信

编辑

串行接口是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件。一般完成这种功能的电路,我们称为串行接口电路。

目录

1定义 2原理

1定义

串口通信程序框图

串口通信是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式。这种通信方式使用的数据线

少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。

串口是计算机上一种非常通用的设备通信协议。大多数计算机(不包括笔记本电脑)包含两个基于RS-232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。

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

2原理

串行通信

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

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

a,波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的位的个数。例如300波特表示每秒钟发送300个位。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。

b,数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是6、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。[2]

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

d,奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个

逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位为1,这样就有3个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。[1]

串行通信是工业现场仪器或设备常用的通信方式,它是将一条信号的各位数据按顺序逐 位传送。计算机串行通信(简称串口)采用RS232 协议,允许一个发送设备连接到一个接 收设备以传送数据,最大速率为115200bps。计算机串行口采用Intel 8250 异步串行通信组 件构成,通常以COM1~COM4 来表示。 1.LabView 串口节点

LabView 中提供了已封装好的串口通信节点,它们位于函数->数据通信->协议->串 口。

这里主要介绍程序中使用到的串口配置、串口读取、串口写入和串口关闭, 其他串口相关的节点使用方法查询LabView 帮助。

串口配置

在进行串口通信时,首先要对串口进行初始化和配置。这可以由VISA 配置 串口节点来完成,串口配置节点如下图所示。

使用该节点可以设置串口的VISA 资源名称、波特率、数据位、超时时间、 终止符以及流控制等参数。

VISA 资源名称控件用于规定对VISA 会话句柄开放的资源,并维持会话句柄和类。VISA 会话句柄是VISA 使用的唯一逻辑标识符,用于与资源进行通信。VISA 会话句柄由VISA 资源名称输入控件保持,用户不可见。VISA 资源名称输出是VISA 函数中输出的VISA 资 源

名称的副本。通过将资源名称输出或输入至函数和VI,并链接函数和VI,从而简化数据流 编程。这与文件I/O 函数使用的文件引用句柄输出相似。

【【【【句柄,是整个windows编程的基础。一个句柄是指使用的一个唯一的整数

值,即一个四字节长的数值,来标志应用程序中的不同对象和同类对象中的不同的实例,诸如,一个窗口,按钮,图标,滚动条,输出设备,控件或者文件等。应用程序能够通过句柄访问相应的对象的信息,但是句柄不是一个指针,程序不能利用句柄来直接阅读文件中的信息。如果句柄不用在I/O文件中,它是毫无用处的。 句柄是windows用来标志应用程序中建立的或是使用的唯一整数,windows使用了大量的句柄来标志很多对象。

1概念

句柄的由来[1]

windows 之所以要设立句柄,根本上源于内存管理机制的问题—虚拟地址,简而言之数据的地址需要变动,变动以后就需要有人来记录管理变动,(就好像户籍管理一样),因此系统用句柄来记载数据地址的变更。

数据对象加载进入内存中之后即获得了地址,但是这个地址并不是固定的,(至于为什么以及什么情况下变动具体需要大家研究虚拟地址的原理与机制我这里只提我确定知道的例子)数据对象会根据需要在内存与硬盘之间游弋移动(例如不常用的数据会为常用数据让出其占用的内存空间进而被淘汰进硬盘中的虚拟内存之中以优化配置整体系统的资源进而提升效率性能),因此其物理地址总是变动的,那么作为管理者 则必须对 管理对象所发生的变化了如指掌才行,因此系统为进程分配固定的地址(句柄)来存储进程下的数据对象变化后的地址也就是当前的地址,其实设计机制很简单 :系统的某个部门移动了对象的地址后,同时上报给句柄所属部门管理者,管理者将改动写入句柄即可。该数据被重新起用时去其所属句柄内按内容存取即可。

句柄,英文:HANDLE,在Windows编程中是一个很重要的概念,在许多地方都扮演着重要的角色。但由此而产生的句柄概念也大同小异,比如:《Microsoft Windows 3 Developer's Workshop》(Microsoft Press,by Richard Wilton)一书中句柄的概念是:在Windows环境中,句柄是用来标识项目的。

在程序设计中,句柄是一种特殊的智能指针 。当一个应用程序要引用其他系统(如数据库、操作系统)所管理的内存块或对象时,就要使用句柄。

句柄与普通指针的区别在于,指针包含的是引用对象的内存地址,而句柄则是由系统所管理的引用标识,该标识可以被系统重新定位到一个内存地址上。这种间接访问对象的模式增强了系统对引用对象的控制。

在上世纪80年代的操作系统(如Mac OS 和Windows)的内存管理中,句柄被广泛应用。Unix系统的文件描述符基本上也属于句柄。和其它桌面环境一样,Windows API大量使用句柄来标识系统中的对象,并建立操作系统与用户空间之间的通信渠道。例如,桌面上的一个窗体由一个HWND类型的句柄来标识。如今,内存容量的增大和虚拟内存算法使得更简单的指针愈加受到青睐,而指向另一指针的那类句柄受到冷淡。尽管如此,许多操作系统仍然把指向私有对象的指针以及进程传递给客户端的内部数组下标称为句柄。】】】】

串行接口

串行接口,简称串口,也就是COM接口,是采用串行通信协议的扩展接口。串口的出现是在1980年前后,数据传输率是115kbps~230kbps,串口一般用来连接鼠标和外置Modem以及老式摄像头和写字板等设备,目前部分新主板已开始取消该接口。

串口形容一下就是 一条车道,而并口就是有8个车道 同一时刻能传送8位(一个字节)数据。

但是并不是并口快,由于8位通道之间的互相干扰。传输受速度就受到了。而且当传输出错时,要同时重新传8个位的数据。串口没有干扰,传输出错后重发一位就可以了。所以快比并口快。串口硬盘就是这样被人们重视的

串口传输是一位接一位的,象串起的珠子一样现在有串行的硬盘SATA接口,是一样的道理,它之所以可以150MB/s的速度传输,得益于其串行的方式,并行的几路信号在比较高的频率下不能很好的解决他们之间的干扰,所以现在ATA 13MBb/s的并行硬盘已走到极限,取而代之的是STAT。另80 channel的ATA100的并口硬盘数据线,其中有40根是地线,是用来防止并行信号之间的干扰的。

STAT那个速度标称的bit/s,实际就是150M/300M的速度 现在最快的单块硬盘的速度也不足100MB/s 常见的都在40-60MB/s的速度,

串口是一个接口名称,简称COM口,或者RS232接口; 一般电脑集成一个COM1 口;安装一些转接卡口可以增加串口数量,例如USB 转RS232; PCI转RS232等

串口是什么,有什么作用? 满意答案

你说的“串口”是指电脑主板带的那种“串口”没错吧??这种“串口”是一种底层的数据通迅端口,大多是给一些硬件设备提供的,类似于一些 专业的网络交换机,集团电话设备,有很多的打卡设备,以及绝大多数的POS 打印机 等等!! “串口”的具体模样如下图所示:

8

//串口叫做串行接口,也称串行通信接口,按电气标准及协议来分包括RS-232-C、RS-422、RS485、USB等。 RS-232-C、RS-422与RS-485标准只对接口的电气特性做出规定,不涉及接插件、电缆或协议。USB是近几年发展起来的新型接口标准,主要应用于高速数据传输领域。 //串口现在用的很少,

以前有用过,像串口打印机,串口鼠标等;现在基本都是USB接口的,支持热拔插

VME/VXI总线

VME是Versa Module Europe的缩写,1986年VME总线成为IEC标准(IEC821),1987年成为IEEE标准(IEEE1014)。VME总线采用高可靠的针式连接器,使得系统的可靠性比采用印 刷板板边连接器的系统有极大的提高。VME总线是一种非复用的32位异步总线。非复用是指它的地址和数据分别有各自的信号线;异步意 味着总线上信号的定时关系是由总线延迟和握手信号来确定,而不是靠系统时钟来协调。只要总线信号所表达的功能被确认有效后,信号 就立即被激活。这样无论是快的还是慢的器件,新的或老的技术,都可用于VME总线,总线的速度自动与器件的速度相适配。这是其最大 的优点。

VXI(VMEbus eXtension for Instrumentation)是VME总线在仪器领域的扩展,是在VME总线、Eurocard标准(机械结构标准)和 IEEE488等的基础上,由主要仪器制造商共同制订的开放性仪器总线标准。1993年,VXI规范被采纳为国际标准IEEE1155。

VXI 系统最多可包含 256个装置,主要由主机箱、零槽控制器、具有多种功能的模块仪器和驱动软件、系统应用软件等组成。系统中 各功能模块可随意更换,即插即用组成新系统。VXI总线工控机规定的操作系统类型有DOS、WINDOW 3.1、WINDOWS 95、WINDOWS NT、 Solaris 1和2、HP-UX、MacOS以及SCO Unix。

从VXI总线和VME总线工控机运行的操作系统可以看出:VXI总线工控机制造商希望兼容主流计算机市场提供的丰富而廉价的应用软件 开发工具包、外设和驱动软件,而VME总线只能利用OS制造商

或第三方合作伙伴提供的专用开发环境和外设工作。

在LabVIEW中编写PLC串口调试程序

发布时间:2007-09-06 来源:中国自动化网 类型:专业论文 1071人浏览

关键字:

PLC

导读:

1. 概述 虚拟仪器代表了今后测试仪器的发展方向,而LabVIEW作为虚拟仪器的一种较为优秀的开发平台,因其编程简单、功能图表丰富及开发环境开发,而得到日益广泛的应用。 在生产型企业中的典型应用是由PLC网络...

1. 概述

虚拟仪器代表了今后测试仪器的发展方向,而LabVIEW作为虚拟仪器的一种较为优秀的开发平台,因其编程简单、功能图表丰富及开发环境开发,而得到日益广泛的应用。

在生产型企业中的典型应用是由PLC网络和工控机组成的以LabVIEW为开发平台的生产监控系统。该系统通过PLC、LabVIEW的控制程序和网络通讯功能,实现生产网络各功能的控制和监控。因此实现工控机与PLC网络的通讯和数据的解析是实现整个监控系统的基础。

此文中,介绍了如何通过LabVIEW的串口节点和仪器I/O助手实现读写松下FP2 系列的PLC。 图1-1为PLC和工控机组成的生产网络的典型架构图,其中各PLC以PC Link网络的形式通讯。

图1-1 PC机与PLC组成的典型网络架构图

图中PLC模块组的各模块单元分别为:

a) PW:电源模块

b) CPU:松下FP2系列PLC控制模块

c) MW:网络通讯单元MEWNET (Multi-wire link unit) d) SDU:串口通讯单元Serial data unit e) I/O:输入输出模块

2. 串口读写程序的编写

2.1. LabVIEW中VISA节点简介

在LABVIEW中用于串行通信的节点实际上是VISA(Virtual instrument software architecture)节点。为了方便用户使用,LabVIEW将这些VISA节点单独组成一个子模块,共包含6个节点,分别实现初始化串口、串口写、串口读、中断以及关闭串口等功能,这些节点位于Functions模板/All Functions子模板/Instrument I/O子模板、Serial子模板中,如下图2-1所示。

图2-1 VISA节点选择路径

在LabVIEW中,VISA串行通信节点的使用方法比较简单,且易于理解。以下试验结合各节点的参数定义、用法及功能,详细说明了一个完整的串口读写过程。

2.2. LabVIEW编写串口读写程序

图2-2所示的是LabVIEW 中串口读写程序的前面板设计,在此面板中可选择串口资源,设置串口参数,包括波特率、数据位、校验、停止位与握手控制(流控制)等。按如图1-2上的参数设置好,在发送区输入符合松下PLC通讯协议格式的读命令字符串:“%01#RDD0000000026**\\r”,按下运行按钮后,在返回区会收到正确返回字串: “%01RD6F694F496F704F5051576F696F696F696F696F696F

696F696F696F696F696F696F696F696F696F696F696F696F696F696F696F696F6910”。

依照《松下MEWTOCOL通讯协议》的解释,此字串已正确的返回数据寄存器DT0到DT26

的数据信息。这样就轻易地实现了LabVIEW的一个读取PLC数值的动作。

图2-2 LabVIEW串口程序前面板

在LabVIEW 中,前面板节点与后面板节点成对应前后关系,程序在后面板执行,其结果在前面板中显示。打开LABVIEW的后面板,程序显示如下图2-3,其执行顺序为:第一步,初始化串口,设置串口的通讯参数,使其与PLC的串行通讯参数一致,此动作由“VISA Configuration Serial Port.vi”节点点完成。如下图:

图2-3 LabVIEW串口设置节点后面板

该节点的主要功能是初始化、配置串口。用该节点设置串口的波特率为:115200bps、数据位为:8位;停止位为:1位;奇偶校验为:奇校验;流量控制为:不使用。其中波特率可设为115200 bps、19200 bps、9600 bps等;数据位一般可设为:7或8位;而校验位可设为:无校验、奇校验与偶校验等。根据此节点的特征:输入数字“0”代表为无校验,输入数字“1”为奇校验,输入数字“2”为偶校验。对于停止位则输入数字“10”代表选择的停止位为1位,输入数字“15”代表选择停止位为1.5位,输入数字“20”代表选择停止位为2位。握手控制(流控制)一般设为不使用,即输入数字“0”(握手控制只在串口缓存不足时才使用)。

完成了第一步串口设置后,程序就执行第二步动作,向串口写入字符。这一步动作由VISA节点“VISA Write”完成。图标及端口见图2-4。

图2-4 VISA 的串口写节点

该节点的主要功能:将把write buffer端口输入的数据写入由VISA resource name端口指定的设备中。可用于将字符串写入串口的输出缓存,将字符串从串口发送出去。

第三步动作为等待动作。串口将数据发送给PLC后,串口与PLC都需要时间执行程序。 如图2-5所示的,由一个毫秒等待计时器与一个顺序结构框架表示此程序需要等待50ms,然后才可以执行下一步程序。

图2-5 串口等待50ms

第四步为读取串口缓存动作,这一步动作由VISA节点“VISA Read”完成。图标及端口见图2-6。

图2-6 VISA 的串口读节点

该节点的主要功能:从由 VISA resource name端口指定的设备中读取由byte count端口指定长度的数据。可用于从串口缓存中读出指定长度的数据。

而检测当前串口输入字节数可由属性节点“Property Node”中完成,图标及端口见图2-7。

图2-7 串口属性节点

该节点的主要功能:返回串口的输入缓存中数据的字节数。在使用VISA Read节点读取串口前,可以先用VISA Bytes at Serial Port节点检测当前串口输入缓存中存在的字节数,然后由此指定VISA Read节点从串口输入缓存中读取的字节数,可以保证一次将串口输入缓存中的数据全部读出。此节点功能可设为其它VIS节点的属性如:TCP/IP或USB。

第五步动作就是在完成发送与读取后关闭占用的串口资源。这一步动作由VISA节点“VISA Close”完成。图标及端口见图2-8

图2-8 串口关闭节点

该节点的主要功能:关闭由VISA resource name端口指定的设备连接。可用于关闭

一个已经打开的串口,从而释放LabVIEW对这个串口资源的占用。 整个动作在LabVIEW中的写法如图2-9:

图2-9 串口读写程序的后面板

以上是一个较为简单的串口读写程序。由于在整个PC link网络中连接了多个站点的松下PLC,而PLC一次最多只能被读取连续的27个数据寄存器的数值,所以,要完成整个生产系统的数据读取,必须要分开执行多次读和写的动作。在这种情况下,就需要考虑读写的时序问题。要完成连续的周期性的多点读写操作,在LabVIEW中可以使用顺序结构。顺序结构的功能是强制程序按一定的顺序执行。顺序结构可分为层叠式与平铺式。不过这两种结构执行相同的读写操作,时间和顺序都相同,都可以实现对于串口的连续多点读写。

由于读写数据时每个数据长度不一定都一样,数据较多的,要等待较长的时间,这样才能保证在等待时间内将所有数据读取完毕;数据较少的,就不需等待同样的时间。然而等待的时间一般较难确定,时间设得太长,占用串口的时间就会较长,会降低通讯效率,造成数据延时;时间太短,数据没有完全返回时就执行下一步程序,可能会造成数据的丢失。

在LabVIEW 7.0中新增了一个仪器I/O助手“Instrument I/O Assistant Express VI”,此VI可以较好地解决串口等待时间的问题。节点的图标如下图2-10:

图2-10 Instrument I/O Assistant Express VI的图标

仪器I/O助手提供了与GPIB、USB、串口、VXI等及其他传统仪器的直接I/O连接,使用这种代码生成助手(code-generating assistant),可以轻松地实现多点连续读写串口功能。以下只选择读串口的功能作解说。

首先,双击此节点,会弹出其操作界面,如下图2-11:

图2-11仪器I/O助手操作界面

此操作界面可选择串口,并设置串口特性。点击如图“ ”按钮,会弹出如图2-12的串口设置界面。

图2-12 仪器I/O助手下的串口设置界面

此操作界面设置串口参数的功能与“VISA Configuration Serial Port.vi”节点相同,参数是被固化的,也就是说一旦完成了设置,串口的参数就不会随意地改动,除非重新进入此界面再设置。

设置好参数后,可以点击“Add step”操作,跟随其指示操作可以完成其他设置。如下图:

图2-13 I/O助手下的串口其他设置的界面

在此操作界面上可以测试串口数据,写入要发送的字符串,并进行单步操作,也可添加读写命令等操作,还可以查询帮助文件,获得更详细操作说明。完成任务的输出端口“Taken1”和“Taken2”,以字符串形式直接输出。但如果输出口大于5个时,其会将输出口变成“字符簇”输出,此时只要选择节点“Unbundle”将其解包就可以得出其相应的字符串。

通过以上设置,就可以实现不间断地读取PLC数据寄存器“DT0”到“DT26”与“D100”到“DT126”中的数据。实践证明,用此程序读取相同数量与数值PLC寄存器时,此功能节点要比用VISA节点写的程序要快很多,基本上是个无等待、不间断的读取过程。

2.3. 结论

结合VISA各功能节点与仪器I/O助手“Instrument I/O Assistant Express VI”这两种串口读写方法,依照《松下MEWTOCOL协议》,就可以轻松地实现对FP2系列PLC中各种状态的读写:包括改变输入、输出点的状态,对数据寄存器的数值进行读写,读取PLC的系统数据等操作,还能轻易地读写PC-link网络上各站点的数据与监控各站点的PLC状态。

VISA配置串口 VI

»目录

LabVIEW 2012帮助

版本日期:June 2012

产品编号:371361J-0118

»查看产品信息

所属选板:串口VI和函数 必需:基础软件包

使VISA资源名称指定的串口按特定设置初始化。通过连线数据至VISA资源名称输入端可确定要使用的多态实例,也可手动选择实例。 范例

请在下拉菜单选择该VI的实例。

VISA配置串口

启用终止符使串行设备做好识别终止符的准备。 如值为TRUE(默认),VI_ATTR_ASRL_END_IN

属性设置为识别终止符。如值为FALSE,VI_ATTR_ASRL_END_IN属性设置为0(无)且串行设备不识别终止符。

终止符通过调用终止读取操作。从串行设备读取终止符后读取操作终止。 0xA是换行符(\\n)的十六进

制表示。消息字符串的终止符由回车(\\r)改为0xD。

超时指定读/写操作的时间,以毫秒为单位。 默认值为10000。

VISA资源名称指定要打开的资源。VISA资源名称控件也可指定会话句柄和类。

波特率是传输速率。 默认值为9600。

数据位是输入数据的位数。 数据位的值介于5和8之间。默认值为8。

奇偶指定要传输或接收的每一帧使用的奇偶校验。 该输入支持下列值。

0 no parity(默认) 1 odd parity 2 even parity 3 mark parity 4 space parity

错误输入(无错误)表明节点运行前发生的错误。该输入将提供标准错误输入功能。

停止位指定用于表示帧结束的停止位的数量。 该输入支持下列值。

10 1停止位 15 1.5停止位 20 2停止位

流控制设置传输机制使用的控制类型。 该输入支持下列值。

0 None(默认)-传输机制不使用流控制机制。假定该连接两边的缓冲区都足够容纳所有的传输数据。

1 XON/XOFF—该传输机制用XON和XOFF字符进行流控制。该传输机制通过在接收缓冲区将满时发送XOFF控制输入流,并在接收到XOFF后通过中断传输控制输出流。

2 RTS/CTS—该机制用RTS输出信号和CTS输入信号进行流控制。该传输机制通过在接收缓冲区将满时置RTS信号无效控制输入流,并在置CTS信号无效后通过中断传输控制输出流。

3 XON/XOFF and RTS/CTS—该传输机制用XON和XOFF字符及RTS输出信号和CTS输入信号进行流控制。该传输机制通过在接收缓冲区将满时发送XOFF并置RTS信号无效控制输入流,并在接收到XOFF且置CTS无效后通过中断传输控制输出流。

4 DTR/DSR—该机制用DTR输出信号和DSR输入信号进行流控制。该传输机制通过在接收缓冲区将满时置DTR信号无效控制输入流,并在置DSR信号无效后通过中断传输控制输出流。 5 XON/XOFF and DTR/DSR—该传输机制用XON和XOFF字符及DTR输出信号和DSR输入信号进行流控制。该传输机制通过在接收缓冲区将满时发送XOFF并置RTS信号无效控制输入流,并在接收到XOFF且置DSR信号无效后通过中断传输控制输出流。

VISA资源名称输出是由VISA函数返回的VISA资源名称的副本。

错误输出包含错误信息。该输出将提供标准错误输出功能。

VISA配置串口(串行仪器)

启用终止符使串行设备做好识别终止符的准备。 如值为TRUE(默认),VI_ATTR_ASRL_END_IN

属性设置为识别终止符。如值为FALSE,VI_ATTR_ASRL_END_IN属性设置为0(无)且串行设备不识别终止符。

终止符通过调用终止读取操作。从串行设备读取终止符后读取操作终止。 0xA是换行符(\\n)的十六进

制表示。消息字符串的终止符由回车(\\r)改为0xD。

超时指定读/写操作的时间,以毫秒为单位。 默认值为10000。

VISA资源名称指定要打开的资源。VISA资源名称控件也可指定会话句柄和类。

波特率是传输速率。 默认值为9600。

数据位是输入数据的位数。 数据位的值介于5和8之间。默认值为8。

奇偶指定要传输或接收的每一帧使用的奇偶校验。 该输入支持下列值。

0 no parity(默认) 1 odd parity 2 even parity 3 mark parity 4 space parity

错误输入(无错误)表明节点运行前发生的错误。该输入将提供标准错误输入功能。

停止位指定用于表示帧结束的停止位的数量。 该输入支持下列值。

10 1停止位 15 1.5停止位 20 2停止位

流控制设置传输机制使用的控制类型。 该输入支持下列值。

0 None(默认)-传输机制不使用流控制机制。假定该连接两边的缓冲区都足够容纳所有的传输数据。

1 XON/XOFF—该传输机制用XON和XOFF字符进行流控制。该传输机制通过在接收缓冲区将满时发送XOFF控制输入流,并在接收到XOFF后通过中断传输控制输出流。

2 RTS/CTS—该机制用RTS输出信号和CTS输入信号进行流控制。该传输机制通过在接收缓冲区将满时置RTS信号无效控制输入流,并在置CTS信号无效后通过中断传输控制输出流。

3 XON/XOFF and RTS/CTS—该传输机制用XON和XOFF字符及RTS输出信号和CTS输入信号进行流控制。该传输机制通过在接收缓冲区将满时发送XOFF并置RTS信号无效控制输入流,并在接收到XOFF且置CTS无效后通过中断传输控制输出流。

4 DTR/DSR—该机制用DTR输出信号和DSR输入信号进行流控制。该传输机制通过在接收缓冲区将满时置DTR信号无效控制输入流,并在置DSR信号无效后通过中断传输控制输出流。 5 XON/XOFF and DTR/DSR—该传输机制用XON和XOFF字符及DTR输出信号和DSR输入信号进行流控制。该传输机制通过在接收缓冲区将满时发送XOFF并置RTS信号无效控制输入流,并在接收到XOFF且置DSR信号无效后通过中断传输控制输出流。

VISA资源名称输出是由VISA函数返回的VISA资源名称的副本。

错误输出包含错误信息。该输出将提供标准错误输出功能。

范例

关于使用VISA配置串口VI的范例见labview\\examples\\instr\\smplserl.llb。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- ovod.cn 版权所有 湘ICP备2023023988号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务