如何在LabVIEW中通过编程设定系统时间?



硬件: PXI/CompactPCI>>Controllers

问题:

我从一个仪器当中读取到了GPS时间,并想在LabVIEW中以较高的分辨率设定Windows系统时间。我注意到LabVIEW的时间函数选版中有获取时间/日期的VI,但没有设定时间的VI。如何才能在LabVIEW中实现时间设定?

 

 



解答: LabVIEW中没有现成的VI用于系统时间设定,但可以通过Windows SDK来实现。参考以下的步骤,通过调用库函数节点的方式,调用kernel32.dll中SetSystemTime函数,可以设定系统时间:
  1. 在程序框图中放置一个调用库函数节点。双击此节点打开调用库函数对话框。
  2. 点击浏览按钮并选择kernel32.dll (一般放置于"C:\WINDOWS\system32\kernel32.dll")。
  3. 函数名下拉列表中选择 "SetSystemTime" 。
  4. 调用规范下拉列表中选择"stdcall (WINAPI)" 。
  5. 返回类型中选择“数值”以及“有符号8位整数”。
  6. 点击添加参数并在类型中选择“匹配至类型”,接着在数据格式中选择“句柄指针”。
  7. 点击确定按钮,完成对调用库函数节点的配置。
  8. 这个函数以一个包含八个双字节(16位整数)的结构体作为参数。在LabVIEW中,需要创建一个包含八个双字节的簇来传递这个参数。八个双字节分别为年、月、星期、日、小时、分钟、秒以及毫秒。将此簇连接至调用库函数节点的参数1
  9. 输入相应的值,并运行程序以设定系统时间。

若要查看更多有关SetSystemTime函数的说明,请参考msdn.com (链接如下)。注意,kernel32.dll中同时包含GetSystemTime函数。

有关在LabVIEW 7.1或更早的版本中配置调用库函数节点的信息,请参考Using External Code in LabVIEW 文档(链接如下)。对于 LabVIEW 8.0 或之后的版本,请参考LabVIEW帮助文档中的Configuring the Call Library Function Node Help(链接如下)。

相关链接: Microsoft Platform SDK: SetSystemTime
Product Manuals: Using External Code in LabVIEW
LabVIEW Help: Configuring the Call Library Function Node
Developer Zone Tutorial: An Overview of Accessing DLLs or Shared Libraries from LabVIEW

附件:





报告日期: 02/06/2004
最近更新: 03/29/2009
文档编号: 365AR7FQ