質問

私は優等プロジェクトの一環として LabVIEW の使い方を学んでいますが、グラフィカルプログラミング言語にはテキストプログラミング言語に比べてどのような利点があるのか​​と疑問に思っています。

役に立ちましたか?

解決

すべては、機器のドライバーとユーザーの能力についてです。 NI(Labview)には、簡単にインターフェイスできる、よくサポートされているラボ機器ドライバーのセットがあります。テストオペレーター(開発者ではない)には、大きな緑/赤の合格/不合格ボタンを備えたGUIが必要です。 cygwinでpythonを使用して複雑な自動化を実装しました。 Labview開発者はcygwin / pythonシステムを呼び出し、ログファイルをデータマイニングできました。したがって、両方を行うことができます。 Pythonシステムは、移植可能、保守可能、拡張可能、使用可能、そして何よりも無料です。

他のヒント

私にとって、LabVIEWの利点はグラフィカルとテキストではありません。

データフローと命令型。

データフロープログラミングは、実行がブラックボックスとしてモデル化されるため、同時実行に適しています。それらの入力は有効であり、その入力/出力は一緒に配線されています。これは、それを修正する方法に関する指示のリストがある暗黙の状態とは対照的です。 ( 'kipediaを大まかに言い換えると、上記のリンクの記事の方が優れています。)

各ブラックボックスは個別のコア/プロセッサ/ノードで実行できます。これにより、プログラムをデータフローの方法で編成すると、事実上、無料の同時実行が可能になります。

残念ながら(そしてこれは一般的なデータフロープログラミングの欠点です)、データフロープログラムを視覚化および編集する最良の方法は、テキストではなくグラフィカルです。これにより、リビジョン管理やコードジェネレーターなどのツールの使用が非常に困難になります。

問題は、あなたとあなたのプロジェクトにとって、データフローの長所は短所を上回っていますか?

LabVIEWを使用したグラフィカルプログラミングの主な利点の1つは、ソースコードが回路図に非常に似ているため、電気/電子技術者にとって使いやすい言語であることです。これが、EEが豊富なデータ集録および自動化の分野でLabVIEWが非常に人気を博した理由の1つです。

私が見つけたもう1つの利点は、開発の素早い速度です。使用可能なフロントパネルコントロールのパレットからGUIを組み立てます。これは、Visual Studioで行う方法と非常に似ています。ソースコードも同様の方法で作成され、多くの定義済みコンポーネントを使用して、メニューからドロップインして相互接続できます。

3番目の利点は、ハードウェアとの互換性です。ナショナルインスツルメンツの主な事業はデータ集録ハードウェアであり、すべての製品がLabVIEWソフトウェアとすぐに通信できるように徹底的に取り組んでいます。データ収集および自動化制御業界の他の多くのハードウェアベンダーも同じことを行っています。

nMRIマシンを調整するパラメーターを計算するために、labviewを使用したことがあります。理論的には、プログラミング言語の経験がほとんどない人がプログラムを作成する方が簡単だからです。制御フローと決定構造はグラフィカルに配置でき、必要な場所に数式を入力できます。

教授および研究助手向け...参考になります。 実際のソフトウェア開発者にとっては...別の言語で書く方が簡単でしょう。

私は過去にLabViewを使用しましたが、データ収集、仮想計装などのために、これ以上のものはありません。前回使用したのは10年前で、90年代半ばの場所に一致するものはありません。

私の見解では、LabVIEWのいくつかの利点は次のとおりです。

  • ボタン、グラフなどの組み込みのユーザーインターフェイスコンポーネントは、文字通りプログラミングを必要としません。フロントパネルに配置するだけで、データ端子がブロック図に表示されます。

  • データ収集ハードウェアおよびテスト機器用のドライバの大きなライブラリがあります。タスクが基本的にこれらとの間でデータをやり取りし、それにユーザーインターフェイスを配置することである場合、ほとんどプログラミングなしでそれを達成できます。

  • 複数のタスクの並列実行は自動的に処理されます-ダイアグラムに2つの独立したループを配置すると、それらは同時に実行されます。多くの場合、これはデータ収集および制御アプリケーションの要件です。

「本物のソフトウェア開発者」を含む多くの人々は、グラフィカルなパラダイムが、テキストよりもソフトウェアの考え方や視覚化に適していると感じています。テキスト言語がLabVIEWよりも優れていることは間違いありません(このサイトの別の議論で説明されています)が、LabVIEWが適している場合は、仕事を完了するのに非常に優れています。

私にとって、それはあなたが何に慣れているかということになりますが、テキストベースの言語に慣れている場合は、Labview を使用するとさらに学習曲線が変わるだけであることがわかるでしょう。Labview を学習して使用するという具体的な目標がない限り、あなたのプロジェクトには意味がないと思います。

一方、テキストベースの言語にあまり慣れていない場合、特にソフトウェアエンジニア以外の人にとっては、Labview の方が使いやすく学習しやすいという意見を持っています。

私は、テスト エンジニアリングにテキスト ベースの言語、Labview および TestStand を頻繁に使用します。私にとって、それは私に関することよりも、他の誰が私のソフトウェアを使用するかということのほうが重要です。企業によっては、Labview の訓練を受けた担当者を数名抱えている場合もあれば、テキストベースの言語で書くことを好む企業もあります。別の言語のトレーニングは全社規模で非常にコストがかかる可能性があり、社内のポジションの採用要件も変化するため、一部の企業は事実上どちらかのパラダイムに「固定」されています。この業界で働くつもりなら、両方に精通し、柔軟に対応することが最善の策だと思います。それが事実で、どちらかを学ぶ時間があれば、苦手な方に取り組んで知識の幅を広げたほうがいいと思います。それが学校の目的ですよね?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top