文档介绍:第七章数字I/O
DI/O的基本知识
一般数据采集卡上都有DI/O功能,用来实现数据采集的触发、控制及计数等功能。DI/O 按TTL逻辑电平设计,,。
数采板上多路(Line)数字 I/O 组成一组后被称为端口(Port)。一个端口由多少路数字 I/O 组成是依据其数采板而定的,在大多数情况下4或8路数字 I/O 组成一个端口。当读写端口时,你可以在同一时刻设置或获取多路DI/O的状态。MIO E 系列板卡有8路数字 I/O组成了一个端口,实际使用时这8路可以部分是输入,部分是输出。
数字量输入输出的应用分为以下两类:立即型(非锁存型)和定时型(锁存型)。在立即型情况下,当你调用数字 I/O函数后立即更新或读取数字量某一路或端口的状态。在定时型情况下,你可以使用外部信号来控制数字量数据的传输。
LabVIEW 中关于DI/O的VI也分为低、中、高三个等级。
在以下几个不同的子模板中:
Data Acquisition » Digital I/O, 顶层—用于较简单应用中的Easy I/O VI。第二部分将讨论如何使用这些VI。LabVIEW基础教程中也将会详细讲述这些 VI。
Data Acquisition » Digital I/O, 底层—是一些属于中级水平应用的VI,主要用于需要时间或握手线方面的数字信号应用。这些VI可用于单字节数据的传输。第三部分将详细讨论关于这方面数字量信号的操作。图5-2 显示的是Data Acquisition » Digital I/O 子模板。
Data Acquisition » Digital I/O » Advanced Digital I/O —高级水平DI/O VI 可用于作为创建其他数字VI的基本模块。这些高级数字量VI可用于立即型DI/O和定时型DI/O 。图5-3显示的是 Data Acquisition » Digital I/O » Advanced Digital I/O 子模板。
图 5-2. Data Acquisition » DI/O 子模板
图 5-3. Data Acquisition » Digital I/O » Advanced Digital I/O 子模板
立即型 DI/O
立即型DI/O 是最简单而且也是较经常使用的关于数字量方面的应用。它也叫非锁存型的DI/O,所有带有 DI/O 接口的数采板都支持这种DI/O 模式。在这种模式下,当LabVIEW 调用函数后即可立即设置或获取某路DI/O的状态。当某路DI/O被设定为某一状态后,那么该路DI/O 将一直保持这种状态直到其状态被重新设定为止。你可以通过软件改变某路DI/O 是输入或是输出方式。下面将讨论
LabVIEW DAQ VI中的立即型 DI/O。
Easy I/O VI
使用Easy I/O digital VI 你可以立刻输入或输出某一路(某一端口)的数字量。当你设置DI/O VI iteration端为缺省参数时,每当你调用一次DI/O 函数时系统将会按需要自动设置一次数采板。当你在一个循环中重复调用某个DI/O 函数时,为了避免系统重复设置数采板,你可以设置DI/O VI iteration 端为正数。这些VI 可用于所有带有数字量输入输出的NI数采板。
Write to Digital Line 设置某一端口中某一路 DI/O为逻辑高或者逻辑低状态 Device 是数采板的设备号(device number);Port number 是该路DI/O 所在的端口号;Line 准备要写的该路DI/O 的通道号;Line state 是指准备要写的该路DI/O 的状态:高(true) 或低(false)。
图5-4. Write to Digital Line
Read from Digital Line 读取某路 DI/O 的状态。Device 是数采板的设备号(device number);Port number 是该路DI/O 所在的端口号;Line 准备要读取的该路DI/O 的通道号;Line state 返回要读取的该路DI/O 的状态:高(true) 或低(false)。
图 5-5. Read From Digital Line
Write to Digital Port 向某一指定的端口写一数字量,从而同时设定某一端口所有路DI/O通道的状态。Device 是数采板的设备号(device number);Port number 是准备要写的端口号;Pattern 是该端口要写的二进制或等同的十进制数字量。
图 5-6. Write to Digital