DataSocketバインドされているフロントパネル要素がデフォルト値のゼロで上書きされる

更新しました Jul 24, 2019

使用製品

Software

  • LabVIEW

問題

DataSocket Transfer Protocol(dstp)を介してDataSocket要素に接続されている数値制御器(フロントパネル要素)を使用しています。DataSocket要素が書き込まれる前にVIが起動されると、フロントパネル要素がゼロで上書きされ、現在の値が失われます。


解決策

DataSocketサーバは、すべての新しいDataSocket要素にデフォルト値としてゼロを割り当てます。これは、アクティブなデータバインド接続を持つフロントパネル要素によって読み取られます。この動作を変更する方法はありません。別の方法として、以下のことができます。
 

  • DataSocket要素が読み取られる前に書き込みます。そうすれば、フロントパネル要素は意味のある値を返します。
  • プログラム的にデフォルト値のゼロを無視し、DataSocket要素が書き込まれるのを待ちます
  • 代わりにシェア変数を使用します。シェア変数には同じ方法でデフォルト値が割り当てられないため、フロントパネル要素の値はシェア変数が書き込まれたときにのみ変更されます。

追加情報

ナショナルインスツルメンツは、シェア変数エンジンを介してデータバインドを使用することをお勧めします。

この記事はお役に立ちましたか?

いいえ