Home
Support
启用NI-TCLK对NI模块化仪器.NET Source Code Wrapper的支持
启用NI-TCLK对NI模块化仪器.NET Source Code Wrapper的支持
主要软件: Measurement Studio>>Measurement Studio for .NET Support
主要软件版本: 2015
主要软件修正版本: N/A
次要软件: Driver Software>>NI-FGEN, Driver Software>>NI-DCPower, Driver Software>>NI-HSDIO, Driver Software>>NI-DMM, Driver Software>>NI-RFSA, Driver Software>>NI-RFSG
问题: 我正在使用一个模块化仪器编写.NET source code wrapper API,并且我想使用NI-TCLK技术来同步一些模块化仪器设备。我注意到T Clock库对 ITClockSynchronizableDevice 接口的操作,但是我所使用的源代码编码器不能实现它,即使它可以控制与NI-TClk兼容的设备。
那么我怎么样才能使用.NET Source Code Wrapper实现 ITClockSynchronizableDevice 的接口操作?
解答: 要在.NET Source Code Wrapper中实现
ITClockSynchronizableDevice 的操作,请完成以下步骤:
- 在项目中添加对NationalInstruments.ModularInstruments.Common程序集的引用. 右键单击资源管理器的引用, 选择添加引用, 然后在管理器窗口的“扩展”选项卡中,为正在使用的.NET框架版本选择NationalInstruments.ModularInstruments.Common的版本。
注意: NationalInstruments.ModularInstruments.Common 与NI native .NET APIs将一起安装.您可以在National Instruments .NET Driver Support 文档中找到其下载地址。
- 将以下句子添加源代码的顶部
using NationalInstruments.ModularInstruments;
- 修改驱动程序类定义以实现ITClockSynchronizableDevice 接口. 针对于名为niMyDriver的示例驱动程序,如下:
class niMyDriver: object, System.IDisposable, ITClockSynchronizableDevice { // ... }
- 在驱动程序类上实现ITClockSynchronizableDevice 接口. ITClockSynchronizableDevice 接口邀请您实现一个read-only的属性,该属性返回对底层模块化一起的会话句柄。
请右键单击Implement Interface»Implement Interface. 这将生成以下代码,您需要修改这些代码以实现仅定义单个属性的接口:
public HandleRef Handle { get { throw new NotImplementedException(); } }
需要修改的 .NET 源代码应包含一个_handle 的字段,用于在 PInvoke 类上调用方法时标识驱动程序对话._handle 字段可以作为.IntPtr 或者 HandleRef 类型的实现。为了在Handle 类型的.IntPtrI系统下实现TClockSynchronizableDevice 接口,请为 _handle 属性返回一个新的HandleRef:
public HandleRef Handle { get { return new HandleRef( this, this._handle ); } }
为了实现ITClockSynchronizableDevice 接口,请在_handle 的属性中返回如下字段
public HandleRef Handle { get { return this._handle; } }
一旦实现了
ITClockSynchronizableDevice 接口,就可以使用NI-TClk库 ,
NationalInstruments.ModularInstruments.TClock来同步您的仪器。请安装支持,NI-TClk 同步的硬件 (例如 NI-SCOPE).NI 本地的.NET API安装程序演示了如何使用NI-TClk的范例,以及包含帮助文档。
相关链接: Product Documentation: National Instruments .NET Driver SupportKnowledgeBase 6ZKGR0D9: Accessing Modular Instruments Driver Attributes through an NI Native .NET APIKnowledgeBase 70IKG6D9: Accessing Driver C API Functions Not Exposed through an NI Native .NET Driver API
附件:
报告日期: 07/23/2015
最近更新: 10/30/2016
文档编号: 6ZMFG7D9
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.