■強い結合、弱い結合

   VIへのデータの引き渡し方には、2種類の方法があります。
   VIの端子に直接ワイヤを接続す方法と、グローバル変数を使う方法です。

   前者は、データを渡してくるVIの影響を強く受けます。
   実行されるVIは、データを引き渡してくるVIの処理が終わらないと実行されません。
   実行されるVIとデータを引き渡してくるVIの結合(結びつき)は強いといえます。

   後者は、グローバル変数の内容(データがあってもなくても)に関係なく実行されます。
   シーケンスストラクチャや、エラー処理のワイヤ等を使用して、実行順序を決めないと希望した結果を得られません。
   このVIは他のVIとの結合(結びつき)が弱いといえます。

   正しいデータをもらわなくては、正しい結果がでないと言う点では同じことなのですが、後者には重要な欠点があります。
   グローバル変数は、LabVIEWのどのVI(同時に実行されているもの)からでも変更ができるのです。
   つまり、自分のうかがい知れない場所で、変数の中身が変更されている場合があるのです。
   これは、バグの発生(解析時間)を増大させ、不安定なプログラムを作る要因になります。

   しかし、グローバル変数は、全てにおいて悪というわけではありません。
   次のような場合は、使用しても問題がありません。

    ・グローバルな定数(GPIBアドレスや最大数や最小数の設定など)として使用する場合
    ・排他処理をするために複数のVIからランダムに参照される変数
    ・端子がたりなくなった場合
    ・VIサーバーを使用して、呼び出すVIに特別な機能を持たせたい場合

   上記以外でも、、グローバル変数を使用した方が、わかり易いダイアグラムになることがあります。
   グローバル変数を使用する時は、細心の注意をはらいたいものです。

  [Home] [前へ] [次へ]

   このWebサイトに関するご質問やご感想などについては、info@ocs-lv.co.jpまで電子メールでお送りください。
   本ホームページに関する著作権は、(有)オーシーエスに帰属します。 又、記載されている会社名・商品名称等は各社の商標または登録商標です。
   掲載されている内容の使用に関して、直接的及び間接的に生じる一切の損害についていかなる責任もおいません。
   当社は、日本ナショナルインスツルメンツ(株)社のアライアンスプログラムのアソシエイト会員です。
   Copyright(C)2001 (有)オーシーエス
   最終更新日:2003-04-04