技术指南:使用MCC数据采集设备的数字输入/输出

目的
介绍如何使用MCC数据采集设备和各种软件平台写入单个数字I/O位。

适用人群
需要监测并控制数字状态的数据采集系统开发人员,并希望了解其在不同软件环境中的使用情况。

概述
数字信号,顾名思义,是只能表征两种状态的信号,比如“开”或“关”。类似的例子包括警示灯的亮或灭,门上锁或没有上锁以及继电器的闭合或断开。这两种状态可表示成数字1和0或布尔值(真和假)。在多数硬件架构中,这些单独位连接形成字节或字,用于高效地传输数据。类似上述用途的硬件IC被应用于现代DAQ设备。通常,输入输出信号以8位为一组,读和写都是8位并行操作。

在一些应用中,您可能需要在同一时刻准确无误地控制或监测一组信号,那么请确保这些信号在同一个端口(Port)上。但对于某些信号,当您人为地将它们连接同一端口时,您也可以决定按顺序对它们进行读和写。除端口操作之外,MCC还提供基于位(Bit)的操作。该操作会自动屏蔽其它无关位。

一个常见的问题是:“我应该以多快的速度对数字输入进行采样?”,回答总是:“频率应该足够快以免丢掉任何一次状态改变”。请注意,数字输入往往不具有自锁功能,它们更不会自动检测输入的变化。您必须定期读取(查询),您的软件决定当前读数与先前相比是否发生改变。相反,由于输出信号会被锁存,所以除非您要求改变状态,否则不必再次向端口进行写操作。

现实世界中的数字信号往往是单向的,但DAQ设备通常会提供双向功能,以适用于一系列广泛应用。通常,DAQ设备在上电时会将数字端口配置为输入模式。您应按需配置DAQ设备每个端口的方向。某些设备提供更为灵活的单独位配置功能。程序启动时,每个数字端口都将进行一次配置。

对于软件控制的数字输出操作(与软件平台无关),需要两个步骤:设置端口方向为输出,然后向端口或某一位写入一个数值。前者只需执行一次,而后者可根据应用程序的需求重复执行。

必须指定以下信息:

  • 端口编号
  • 端口方向
  • 输出数据

以下信息将会返回

  • 错误代码

以下示例展示了如何使用Universal Library™,UL for Android™,NI LabVIEW™,DASYLab®和DAQami执行一次非连续扫描。

Universal Library
以下示例展示了如何使用UL(Universal Library)和Visual Basic进行初始配置,继而控制数字输出:

PortType = MccDaq.DigitalPortType.AuxPort ‘定义使用哪一个数字端口
Direction = MccDaq.DigitalPortDirection.DigitalOut ‘定义输出方向
ULStat = DaqBoard.DConfigPort(PortType, Direction) ‘配置端口
BitNum = 0 ‘定义端口的哪一位用于控制
BitValue = 1 ‘定义写入值
ULStat = DaqBoard.DBitOut(PortType, BitNum, BitValue) ‘将数值输出

UL for Android
以下示例展示了如何使用UL for Android和Java配置并控制数字输出:

DigitalPortType = AUXPORT; //定义使用哪一个数字端口
DigitalDirection = OUTPUT; //定义输出方向
mDioDevice.dConfigPort(DigitalPortType, DigitalDirection); //配置端口
bitNum = 0; //定义端口的哪一位用于控制
bitState = true; Specify the Boolean value to write mDioDevice.dBitOut(DigitalPortType, bitNum, bitState); //将数值输出

NI LabVIEW
以下示例展示了如何使用LabVIEW控制一个数字位的输出。以下接线图展示了相关的VI和设置。在这里硬件设备#0中Auxport的第一位(Do0)被配置为输出,然后负责输出操作人员键入的true或false。

NI LabVIEW

DASYLab
非编程人员可以使用受欢迎的DASYLab对数字信号进行监测和控制。以下展示了一个数字输出模块,其数据输入端被连接至一个Switch Control模块的输出端。操作人员在运行时可以选择开或关,使得DAQ硬件设备的数字输出位D0在1或0之间反转。

DASYLAb

双击Switch模块,您可以在选项菜单中配置开关变量频率。通过下图我们看到频率被设置为1Hz,使得数字输出位D0每秒更新一次以和操作人员的选择保持一致。

DASYLab

 

更多信息
如果您有任何疑问或想要获取更多信息,请联系Measurement Computing Corporation。

更多技术指南可在我们的数据采集技术文章网页上获取。