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