LabVIEWでシステム時刻をプログラム的に設定する

更新しました Oct 1, 2025

環境

ソフトウェア

  • LabVIEW Base
  • LabVIEW Full

オペレーティング・システム

  • Windows

計測器からGPS時間を読み取り、LabVIEWからWindowsシステム時間を高解像度で設定したいと考えています。LabVIEWの時間パレットに時間/日付を取得VIsがあることに気付きましたが、「時間設定」VIが見つかりません。

システム時間を設定するための組み込みLabVIEW VI はありません。ただし、これはWindowsSDKを使用して実現できます。以下に、ライブラリ関数呼び出しノードを使用してkernel32.dllからSetSystemTime関数を呼び出す手順を示します。

  1. 関数パレット>>接続>>ライブラリ&実行可能ファイルパレットから、ライブラリ関数呼び出しノードを選択し、ブロックダイアグラム上に配置します。ノードをダブルクリックして、ライブラリ関数の呼び出しダイアログ ボックスを開きます。
  2. ライブラリ名またはパスボックスの参照ボタンをクリックし、kernel32.dll (通常は C:\WINDOWS\system32\kernel32.dll にあります) を選択します。
  3. 関数名ドロップダウン リストからSetSystemTimeを選択します。
  4. 呼び出し規約リストからstdcall (WINAPI)を選択します。
  5. パラメータタブに移動して、現在のパラメータボックスでタイプ項目を数値、データタイプ項目を符号付き 8 ビット整数を選択して、戻り値タイプの設定を行います
  6. プラスボタンをクリックし新パラメータを追加しますそのタイプとしてタイプに適応を選択し、データ形式ハンドルへのポインタに設定します。
  7. OKボタンをクリックして、ライブラリ関数呼び出しノードを構成します。

               

  1. この関数は、パラメータとして8つのWORDS (16 ビット整数) の構造体を受け取ります。これをLabVIEW 再現するには、8つのWORDからなるクラスタを作成します。 8つの単語は、年、月、曜日、日、時、分、秒、ミリ秒を表します。クラスターをライブラリ関数呼び出しノードのarg1入力に配線します。
  2. 希望の値を入力し、プログラムを実行してシステム時間を設定します。

注: Windows Vista 以降の LabVIEWからSetSystemTimeを呼び出している場合は、LabVIEWを管理者として実行する必要があります。これを行うには、LabVIEWアイコンを右クリックし、 管理者として実行を選択します。

追加情報

この関数の詳細については、 msdn.comのSetSystemTimeキュメントを参照してください。 GetSystemTime関数はkernel32.dllにも存在することに注意してください。

LabVIEW 7.1以前でのライブラリ関数呼び出しノードの構成の詳細については、 LabVIEWでの外部コードの使用マニュアルを参照してください。 LabVIEW 8.0以降の場合、詳細についてはライブラリ呼び出しノード関数の構成トピックを参照してください。

次のステップ

コンピュータ上のグループポリシーを変更することで、LabVIEW環境または構築したアプリケーションを管理者として実行する必要性を回避できます。これを行うには、次の手順に従います。

  1. Windows の スタートメニューの検索ボックスにグループ ポリシーと入力して、グループ ポリシーの編集アプリケーションを起動します。
  2. コンピュータの構成>>Windows 設定>>セキュリティ設定>>ローカル ポリシー>>ユーザー権利の割り当てに移動します。
  3. システム時刻の変更エントリをダブルクリックします。
  4. ローカル セキュリティの設定タブで、 ユーザーまたはグループの追加をクリックします。
  5. ユーザーの名前入力し名前の確認をクリックします。
  6. 必要に応じて適用またはOKをクリックします
  7. ログアウトしてからログインすると、PCの時刻をプログラムで変更できるようになります。