1/7创建自定义设备发布日期: 八月24,2011概览NIVeriStand通过基于配置的开发方法,为创建实时测试应用程序提供软件架构。所有实时测试系统的一般任务和功能都得到了实现并在NIVeriStand引擎中得到了优化。尽管NIVeriStand已经提供了大多数实时测试系统应用所需的一般功能,NI公司还进一步设计了自定义和扩展环境,确保在必要时总能满足应用需求。您可以使用NIVeriStand自定义设备将更多的功能添加至NIVeriStand引擎。通过在NIVeriStand上安装一个提供了NIVeriStand数据和定时资源接口的模板库,可以在NIlabVIEW上创建NIVeriStand自定义设备。这使自定义设备具有像NIVeriStand引擎内部的本地任务一样的执行能力。该接口的使用范例增加了对第三方硬件I/O接口或执行自定义功能的支持,例如在线信号处理。本文举出一个自定义设备的例子,演示如何创建和使用NIVeriStand自定义设备。该设别增添了将本地数据传输至运行NIVeriStand系统定义的实时系统的功能。了解更多关于为NIVeriStand创建自定义设备信息,请查阅。NIVeriStandCustomDeviceDeveloper'sGuide目录自定义设备应用说明将自定义设备添加至NIVeriStand结合NIVeriStand使用自定义设备了解自定义设备的工作方式Summary1.自定义设备应用说明NIVeriStand本身支持在实时系统上记录和运行测试配置文件,但是这需要主机运行连接到实时硬件的NIVeriStand工作区以开始记录任务和获取记录数据。该白皮书描述了一个自定义设备的例子,它可以将数据记录到可运行您NIVeriStand系统定义的本地机器上,以完成无接头的数据记录。以下各段演示了如何安装和使用自定义设备,然后研究如何使用NI公司提供的模板通过NIVeriStand创建自定义设备。下载NIVeriStand2010范例代码下载NIVeriStand2009范例代码下载NIVeriStand评估版2.将自定义设备添加至NIVeriStand下面的说明描述了如何在您的NIVeriStand项目中添加自定义设备进行应用。1. 打开之前请先下载并移动下列文件:NIVeriStand将移动至您电脑的任意位置SourceFiles将从文件夹移动至:SourceDistributionFilesCustomDevicellbs– WindowsXP:C:\DocumentsandSettings\AllUsers\Documents\NationalInstruments\NIVeriStand\CustomDevices– WindowsVista/7:C:\Users\Public\Documents\NationalInstruments\NIVeriStand\CustomDevices2. 打开NIVeriStand;3. 选择项目文件构建活动项目;SinewaveDelay4. 点击打开NIVeriStand项目管理器(NIVeriStand2010或更新版本);ConfigureProject5. 展开选项并双击文件打开;SystemDefinitionFiletheSinewaveDelay.nivssdfSystemExplorer6. 展开选项;Controller7. 在配置树中的右键单击项目以添加自定义设备;CustomDevices8. 注意到默认配置通道已经被定义并添加到配置树显示;9. (可选)编辑设备名称和NameTDMSFilePath; 请注意:C:是实时系统中的根目录(ftp:IPAddressC:)10. 选择并点击按钮,为自定义设备添加通道;LoggingChannels一般情况下,请为通道进行适当的命名,因为通道名称会显示在LoggingChannels选项下和技术数据管理流文件(TechnicalDataManagementStreaming,TDMS)中。您需要添加Sine和通道。OutputTime11. 设置映射连接;这可使您从您将要被记录的NIVeriStand系统定义连接到自定义设备的记录通道。2/7系统定义连接到自定义设备的记录通道。点击工具栏中的按钮,打开设置对话框。MappingDialogSystemConfigurationMappings选择一个源文件和目标文件,然后点击。– 进行如下设置,完成SinewaveOut1和SineOutput映射连接。 – 您将会看到和下图所示类似的映射连接信息。 Youshouldnowseemappingssimilartothepicturebelow:12. 点击关闭映射连接设置对话框;OK13. 双击设置选项确认操作系统和IP地址;Controller14. 保存并关闭。SystemExplorer3.结合NIVeriStand使用自定义设备从NIVeriStand工作区控制记录下面的介绍描述了如何从工作区连接到自定义设备。1. 右键单击选择;SinewaveDelay.nivsproj»Deploy2. 运行工作区窗口;3. 进入工作区后,切换到编辑模式(Ctrl+M),并在工作区添加一个数值控件Medium;4. 点击按钮,依次打开,然后选择;ChannelBrowseController—CustomDevices—RTLogging—ConfigurationChannelsFileNumber该变量控制着系统在新文件创建时给文件名附加的数字。5. 点击,再次点击;OKOK6. 放置一个布尔控件,点击ChannelBrowse按钮,并依次进入(同4)到;LogtoRTFile?该变量控制数据记录或未记录状态,True为记录,False为未记录。 7. 点击,再次点击;OKOK8. 切换至运行模式(Ctrl+M);9. 通过在一段时间设置布尔控件值为True来进行数据记录,将布尔值重新设置为False则停止记录。LogtoRTFiles?恢复数据记录文件以下说明描述了如何恢复数据记录文件。请注意:该模版设计为只有在FileNumber变量改变或加载了新的配置时才关闭对文件的引用。1. 对于实时目标,打开一个FTP窗口以连接到实时系统(数据文件位于根目录下)。将数据文件(*.tdms)和索引文件(*.tdms_index)复制到您的主机上。3/7将数据文件(*.tdms)和索引文件(*.tdms_index)复制到您的主机上。2. 对于Windows操作系统,该文件位于C:\目录下。3. 打开数据记录文件(*.tdms)。该操作可在LabVIEW中使用TDMSFileViewer.vi或在NIVeriStand中使用TDMSFileViewer工具完成。4.了解自定义设备的工作方式原始模板VI通过一系列和NIVeriStand一起安装的VI创建。您可以在\NationalInstruments\LabVIEW\vi.lib\NIVeriStand\CustomDeviceTools\CustomDeviceUtilityLibrary文件夹下找到这些VI。创建自定义设备模板请注意:用于创建自定义设备的LabVIEW版本必须和后面使用的NIVeriStand版本相匹配。打开文件夹,并打开。CustomDeviceTemplateToolCustomDeviceTemplateToolVI更改目标文件夹位置和自定义设备名称,保持该自定义设备的执行模式为Asynchronous。运行然后关闭VI。您现在可以在新创建的项目文件中进行工作项目文件库中包含三个默认创建的VI以便您进行开发:如果是首次将自定义设备添加到SystemExplorer,则初始化VI会立即运行以创建通道和默认值,然后主页面将在SystemExplorer中显示。如果配置文件已经运行或部署,则下载实时驱动并与NIVeriStand引擎同时运行。打开RTLoggingInitializationVI.vi。创建并保存全局变量。您可以使用全局变量来保存字符串常量和防止用户错误。从函数选板()添加放置一个全局变量。双击打开并对其进行配置,然后在文件库中将它保存为RTLoggingGlobalString.vi。编程—结构添加四个字符串输入控件到全局变量VI。复制控件名称到字符串输入控件中,并将其设置为默认值(),如下图所示。保存并关闭VI。编辑—设置当前值为默认值创建,具体见项目附件和下面所示截图。阅读完整源代码以获取更多VI细节。该示例演示了如何设置自定义设备描述和属性、创建自定义设备选项RTLoggingInitializationVI4/7创建,具体见项目附件和下面所示截图。阅读完整源代码以获取更多VI细节。该示例演示了如何设置自定义设备描述和属性、创建自定义设备选项RTLoggingInitializationVI以及添加自定义设备通道。当初始化VI运行后,将会产生如下两项默认配置(ConfigurationChannels和LoggingChannels).ConfigurationChannels下包含三个通道。 自定义配置页面每个选项和通道都具有默认页面(VI),该页面会在GUID未连接时行。如果需要进行自定义(下面以LogtoRTFile?为例),您可以通过使用模板VI进行。以下步骤演示了如何为LogtoRTFile?通道创建自定义页面的例子,以便在初始阶段设定一个布尔型默认值登陆或登出。打开位于项目下图所示位置的PageTemplate.vit。选择并将类型从模板VIs类改至VIs类。然后按照当前项目位置依次打开选择(示例名称:RTLoggingLogtoRTFileVI.vi)—OpenAdditionalCopy—ContinueNametheVISavetheVI。将该新建VI拖入您的项目中RTLoggingCustomDevice.lvlib下。 您现在可以改变VI代码来匹配添加的RTLoggingLogtoRTFileVI.vi,如下图所示添加布尔控件。DefualtValueA. 添加布尔控件到前面板。B. 如下图所示,改变初始化代码以初始化该默认值按钮。C. 添加事件结构来处理布尔值改变情况。5/7 添加事件结构来处理布尔值改变情况。为布尔值发生改变时,添加事件分支到主事件结构。连接新值到来设置新的默认值。NIVeriStand—SetCustomDeviceChannelDefaultValueVID. 通过类似步骤可以为FileNumber、RTLoggingChannelMainVI(您可在该VI中添加通道)和RTLoggingChannelIndividualVI(为每个通道运行)创建自定义VI。对于RTLoggingChannelMainVI,该VI使用额外代码进行了微小的自定义调整以提示用户为通道命名,并检查该名称是否已经作为通道名称存在。 创建XML文件和GUID每个自定义设备都需要一个对应的XML文件,该文件需要在SystemExplorer中使用以定义文件路径并将GUID关联至VI。默认的XML文件是在您使用CustomDeviceTemplateTool工具时由程序自动为您创建的。该XML文件在您首次加载NIVeriStand时就进行了加载和解析,因此,任何改动都会在NIVeriStand下一次启动时得到执行。您可以使用C