如何设置实时控制器的时区

更新 Oct 21, 2021

环境

软件

  • LabVIEW Real-Time Module

本文将解释配置实时控制器时区的步骤,并包括三种不同的方法来依据应用程序及开发人员以更改时区。

按照本文档中列出的步进行骤操作后,您将能配置当前时区并在图形、数据结构、数据日志等中获取正确的时间戳。

默认情况下,实时控制器设置为世界标准时间(UTC)。您可以使用以下方法之一配置时区:
  1. 使用Measurement&Automation Explorer(MAX)。
  2. 修改INI文件。
  3. 使用NI System Configuration API。


Measurement & Automation Explorer:

Measurement & Automation Explorer(MAX)中的实时目标,在于Time Settings选项卡上中选择所需的时区。

修改INI文件:

以下方法仅限于 Phar Lab 和 VxWorks 目标。 如果您的设备正在运行 NI Linux RT,请按照本文中列出的步骤进行操作。
请通过修改ni-rt.ini中的RTTarget.TimeZone符记来更改实时控制器的时区。可以在ni-rt.ini文件的[LVRT]部分中找到该符记。
  1. 使用WebDAV或FTP将ni-rt.ini文件从Real-Time控制器复制到开发电脑。
  2. 在文本编辑器(例如记事本)中打开ni-rt.ini文件。
  3. 在文件的顶部,有一个名为[LVRT]的部分,可以在其中找到或添加RTTarget.TimeZone符记。
  4. 若要更改时区,请向INI文件添加或修改RTTarget.TimeZone符记。
    • 例如,使用INI符记RTTarget.TimeZone = CST6CDT将控制器设置为美国中部时区。可用的INI值在下表中列出。
      INI值时区UTC偏移
      CUT0GDT世界标准时间世界标准时间
      GMT0BST英国世界标准时间
      AZOREST1AZOREDT佛得角亚速尔群岛UTC-1
      FALKST2FALKDT福克兰群岛UTC-2
      GRNLNDST3GRNLNDDT东巴西格陵兰UTC-3
      AST4ADT巴西中部UTC-4
      EST5EDT美国东部,哥伦比亚UTC-5
      CST6CDT美国中部,洪都拉斯UTC-6
      MST7MDT美国山UTC-7
      PST8PDT美国育空地区UTC-8
      AST9ADT阿拉斯加州UTC-9
      HST10HDT夏威夷,阿留申群岛UTC-10
      BST11BDT白令海峡UTC-11
      NZST-12NZDT新西兰UTC + 12
      MET-11METDT所罗门群岛UTC + 11
      EET-10EETDT澳大利亚东部UTC + 10
      JST-9JSTDT日本UTC + 9
      柯斯特-9韩国UTC + 9
      WAUST-8WAUDT澳大利亚西部UTC + 8
      TAIST-8TAIDT台湾UTC + 8
      THAIST-7THAIDT泰国UTC + 7
      TASHST-6TASHDT中亚UTC + 6
      PAKST-5PAKDT巴基斯坦UTC + 5
      WST-4WDT高尔基,中亚,阿曼UTC + 4
      MEST-3MEDT火鸡UTC + 3
      SAUST-3沙特沙特阿拉伯UTC + 3
      WET-2WET芬兰UTC + 2
      USAST-2USADT南非UTC + 2
      NFT-1DFT挪威UTC + 1
  5. 在本地(例如桌面)将文件另存为ni-rt.ini。确保文件名为ni-rt.ini。
  6. 使用WebDAV或FTP将文件传输回Real-Time控制器。
  7. 重新启动实时控制器。

注意: Linux实时目标支持tz(或Olson)数据库。该数据库包含有关特定时区的DST设置的所有必需信息。不能更改RTTarget.DSTRule INI符记以更改Linux RT目标上的DST规则。

NI System Configuration APIs:

LabVIEW 2012实时模块及更高版本:
LabVIEW 2012实时模块引入了NI System Configuration API,可用于通过Set Time VI以编程方式设置实时控制器的时区。

Set Time VI的输入时区字符串的格式应为Etc / GMT-X,其中X的正值表示格林尼治标准时间(GMT)以西的时数。例如,Etc \ GMT + 6相当于美国的中央标准时间。有效值范围是格林尼治标准时间(GMT),范围是12到-13。有关如何设置时区的更多信息,请参见 Set Time (VI) 帮助

注意:该图像是LabVIEW片段,其中包含可在项目中重复使用的LabVIEW代码。要使用代码段,请右键单击图像,将其保存到电脑,然后将文件拖到LabVIEW图表上。

如果以上代码片段是在Real-Time目标上执行的,则目标参数必须具有localhost值。否则,将引发错误-2147467263(NI System Configuration: This operation is not implemented for this target or resource)。

LabVIEW 2011 Real-Time模块及先前版本:
LabVIEW 2011 Real-Time模块和之前的Real-Time模块是不支持设置特定时区。然而,建议使用RT Set Date and Time VI以编程方式设置时间。

注意:必须重新启动VxWorks和Pharlap目标才能应用时区设置。 NI Linux Real-Time目标不需要重启。配置时区还可以激活控制器的夏时制功能。