シェア変数をホストしているシステムがクラッシュした場合はどうなりますか

更新しました Oct 1, 2025

使用製品

ソフトウェア

  • LabVIEW

問題

いくつかのシェア変数を使用して重要なアプリケーションをセットアップしていますが、シェア変数エンジンをホストしているコンピュータが予期せずダウンした場合に何が起こるか心配です。シェア変数はどうなりますか?

解決策

シェア変数は、一度デプロイされると、明示的にアンデプロイされるまでサービスとしてデプロイされたままになります。シェア変数エンジンを実行しているコンピュータが何らかの理由でオフラインになるかクラッシュすると、すべてのサブスクライバはシェア変数ノードのエラー出力ターミナルから次のエラーを受け取ります。

エラー -1950679023: サーバーへの接続が切断されました。

読み取られる値は、シェア変数のデータ型のデフォルト値、または最後に認識された値になります。ホストコンピュータがオンラインに戻ると、サブスクライバは引き続き次の警告を受信する場合があります。

警告 -1950679034: シェア変数に値がありません。

この警告が表示された場合は、シェア変数がまだ書き込まれていないことを意味している可能性があります。変数が最初のデータを受け取ると、警告は消えます。フロントパネル データ バインディングを使用している場合、ホストコンピュータがオフラインの間は三角形のLEDが赤色に点灯し、オンラインに戻ると緑色に点灯します。

追加情報

CompactRIOやReal-Time PXIコントローラなどの LabVIEW Real-Time ターゲットを使用している場合は、リアルタイム ターゲット上でシェア変数ライブラリをホストすることを検討することが適切です。これらのデバイスにはウォッチドッグ機能があり、通常はアプリケーションの重要な部分を制御するハードウェア コンポーネントが含まれています。ほとんどのWindowsまたはPCベースのターゲットには、これらのフェイルセーフ機能がありません。

LabVIEWデータロギングおよび監視制御モジュール(DSC)は、初期値アラームロギングなどの機能をシェア変数に追加します。シェア変数の初期値を有効にすると、ホストコンピュータがオンラインに戻ったときにデフォルトでこの値が設定されます。シェア変数にBad Statusアラームを設定することも、このタイプのイベントを処理する良い方法です。 DSC モジュールを使用している場合、ライブラリがリアルタイム ターゲットでホストされている場合、シェア変数のアラーム機能とログ機能は使用できないことに注意することが重要です。これらの機能は、ライブラリがデスクトップ コンピューターからホストされている場合にのみ使用できます。