サービス
サービスを探す
プロ人材を探す
仕事を探す
ブログを探す
サービス
サービスを探す
プロ人材を探す
仕事を探す
ブログを探す
購入・発注したい方
サービスを探す
プロ人材を探す
ノウハウ・素材を探す
ブログを探す
仕事・求人を投稿して募集
エージェントに人材を紹介してもらう
受注・働きたい方
出品する
単発の仕事を探す
継続 (時給/月給) の仕事を探す
エージェントに仕事を紹介してもらう
カテゴリ一覧
イラスト作成・漫画制作
デザイン制作
Web制作・HP作成・EC構築
動画編集・映像制作
集客・マーケティング相談
NEW
ビジネス代行・事務代行
音楽制作・ナレーション
IT相談・システム開発
ライティング・翻訳
コンサルティング・士業
生成AI活用・開発・制作
占い
悩み相談・カウンセリング
学習指導・資格・キャリア相談
住まい・美容・生活相談
オンラインレッスン・習い事
ハンドメイド制作
出張撮影・出張サービス
資産運用・副業の相談
NEW
弁護士検索・法律Q&A(法律相談)
サポート
はじめての方へ
ご利用ガイド
お困りのときは
ログイン
会員登録
サービスを探す
イラスト作成・漫画制作
>
デザイン制作
>
Web制作・HP作成・EC構築
>
動画編集・映像制作
>
集客・マーケティング相談
NEW
>
ビジネス代行・事務代行
>
音楽制作・ナレーション
>
IT相談・システム開発
>
ライティング・翻訳
>
コンサルティング・士業
>
生成AI活用・開発・制作
>
占い
>
悩み相談・カウンセリング
>
学習指導・資格・キャリア相談
>
住まい・美容・生活相談
>
オンラインレッスン・習い事
>
ハンドメイド制作
>
出張撮影・出張サービス
>
資産運用・副業の相談
NEW
>
>
プロ人材を探す
>
ノウハウ・素材を探す
ブログを探す
>
求人募集を投稿する
人材を紹介してもらう
仕事を探す
出品する
仕事を探す
仕事を紹介してもらう
出品する
仕事を紹介してもらう
求人募集を投稿する
人材を紹介してもらう
ブログを投稿
会員登録で10%割引クーポンを獲得!
会員登録で10%割引クーポンを獲得!
ココナラブログ
ホーム
ブログトップ
ブログ
コラム
LabVIEWプログラムの全体構成を把握する方法
記事
コラム
easymeasurements
2022/10/03 11:27
よく頂く御相談に「前任者によるソースコードがあるものの、
全体構成が理解できず改修できない
」という案件があります。
御存知の通りLabVIEWは「
グラフィカルプログラミング言語
」ですので、作り方を間違えたり、無法でプログラムを作り込んでいくと、可読性の低いプログラムができてしまっているケースがございます。この場合、「どこから、どう動いているのかわからない」と感じる方が多いようなので、どこから追跡すべきか?に絞っていくつかポイントを記します。
(1)ローカル /グローバル変数が多数、分散して使われているケース
ローカル/グローバル変数は実行順序の制御ができず、かつ分散/並列して利用されてしまうと、追跡が非常に困難になるケースがあります(特に仕様が明確でない場合)。この場合は、制御器/表示器orローカル変数上で右クリック、「検索→ローカル変数」で「書き込みされている場所」を追跡してください。
多くのケースでは「書き込み<<読み込み」で用いられているため、書き込まれた場所を特定することで、起点を探すことが可能となります。
(2)エラーが発生し、エラーダイアログが表示されてしまうケース
エラーワイヤが正しく配線されていない場合、オプション設定でエラー制御が意図しない設定になっている場合に見られます。エラーダイアログを設置していないのにも関わらず、エラーダイアログが表示され動きが阻害される、などが該当します。
まずはエラーが発生しているvi名をエラーダイアログから特定します。次に、そのviを開き、エラーオプションを確認して、自動でエラーダイアログが表示されるようになっているか?を確認してください。LabVIEWではエラー処理がAutoになっている場合、そのサブviのエラー端子が上位側で「配線されていない場合」、自動的にエラーダイアログが「表示されてしまう」迷惑な仕様になっています。ですので不必要にエラーダイアログが表示される場合には、上位側でエラーワイヤを適切に処置するか、サブvi側でauto detectをoffすることでエラーダイアログを抑制することが可能です。本来エラーワイヤは極力配線することが基本ですが…
(3)ブロックダイアグラムが広大で追跡が困難なケース
GUIプログラムなので、工夫しないと画面上にパーツが散乱してしまい、機能拡張をするごとに面積が広大になる傾向があります。このようなプログラムに遭遇した場合、まずはモニタ画面内に収められないか?を検討してください。モニタ画面から外れる大きさの場合、思考が妨げられて追跡が困難になるように感じています。まずはサイズを小さくする、を行いましょう。
次に、同じ機能を繰り返し行っている箇所、ブラックボックス的に利用しても問題ない部分をサブvi化できないか?を検討してください。サブvi化してそのviを使うことで、画面占有面積の低下、サブvi単体でのデバッグ実行、などが可能となります。それと画面が広大なソースの場合、上下/左右へnスクロールは避けるよう修正することが重要です。ワイヤフロー的にスクロールする場合、左右へのスクロールは許容、上下スクロールはNG、などのルールを決めることで可読性が向上すると思います。
(4)実行順序が明確でなく追跡困難な場合
並列ループなどで追跡困難なケースの場合、デバッグ機能を活用することをお勧めします。各並列ループのトリガとなる起点をまず見つけ出し、そのトリガ発生後の位置にブレークポイントを仕掛けます。その状態でUI操作などのイベントを生成し、どの順番にブレークポイントで停止するか?を追うことで凡その流れが把握可能です。ある程度流れを掴んだ後は、デバッグ用のサブviなどを作成し、各所にそれを埋め込むことで実行された時刻、順番などのログをデバッグviの中に保存します。プログラム実行後、その実行履歴から、どのviがどういう順序で実行されたのか?などを確認することが可能です。
(5)パフォーマンスの低下が大きい場合
私見ですが、プログラムを作成し動作させた場合、実行するPC負荷率が30%を超えるようなプログラムの作り方は問題だ、と考えています(RealtimeOSのプログラムを除く)。特にWindowsなどの場合ジッタは数ms~1000msなど幅が広くなることがあり、注意が必要です。LabVIEWのツールにあるパフォーマンスモニタなどでどのviの実行回数が多いのか?メモリを大量消費しているviはないか?などを確認することで、トラブルを発生している場所をある程度推測することが可能です。特に大きい文字列をメモリで使いまわしている場合、表示器/制御器の改行演算が毎回行われる場合があり、極端に速度低下する場合が多く見られますので注意が必要です。
その他、色々と対応方法はありますが、また機会を見て記載させて頂きます。
#LabVIEW
#プログラミング
一覧に戻る
このブログを見た人にオススメ
エラーをAIに直してもらうだけでは実力にならない
記事
IT・テクノロジー
たむぷろ フロントエンジニア
2026/08/07 06:57
エラーが怖くなくなるとプログラミングは一気に楽になる
記事
IT・テクノロジー
たむぷろ フロントエンジニア
2026/08/06 05:22
大規模なプログラミング開発もご相談いただけます
記事
IT・テクノロジー
ITサポーターKUMA222
2026/08/04 19:11
開発環境が動かないときに確認する順番
記事
IT・テクノロジー
たむぷろ フロントエンジニア
2026/08/04 07:55
実務経験がない人ほど技術選定にこだわりすぎる
記事
IT・テクノロジー
たむぷろ フロントエンジニア
2026/08/03 06:44