機能的プロトタイプとは、最終製品のハードウェアやソフトウェアと同様に動作する、あるいはその動作をシミュレーションする、インタラクティブでテスト可能な製品モデルのことを指します。機能的プロトタイプをテストすることで、設計者とエンジニアは生産前に問題を特定できるため、製造中またはリリース後に発生する問題の解決に費やす時間とコストを節約することができます。
新しいデバイスについて革新的で刺激的なアイデアが浮かんだら、ペーパーデザインは省略して、すぐに物理プロトタイプの試作を始めたいという思うかもしれません。この誘惑に打ち克つことで、長期的に見たときに、時間を節約し、無駄な労力をしないことが可能になります。ペーパーデザインに時間を投資することで、後で大きな配当を生み出し、かつ設計プロセスにおける多くの一般的な落とし穴を避けることができます。ペーパーデザインとは、プロトタイプの詳細な設計をペンまたは鉛筆で紙に書き出すという意味ではありません。それは、ソフトウェアコーディングやハードウェア設計を行う前に計画を立てることを指します。 ペーパーデザインの利点には、頭の中にあるアイデアを紙に書き出すことで、開発が進んでからではなく、早い段階でミスを発見したり、早期に導入したお客様からのフィードバックを得られることなどがあります。
素晴らしいアイデアとナプキンの裏側に書いたスケッチから詳細なペーパーデザインにどのように進めばよいでしょうか。最初のステップは、ユーザ要件のリストを作成して自分の目標を明確に定義することです。これらの要件は可能な限り具体的に定義する必要があります。ここで定義した要件を確実に満たすために、この段階で調査することが重要です。その設計は実現可能ですか。あなたの要件を満たすことが現実的にできますか。設計に関するニーズと希望を区別してください。イノベータとして、高度だが、必要ではない機能をプロトタイプに追加したいと思うかもしれませんが、目的に照らして、それらに忠実に従ってください。
抽象化することで、アプリケーションの作成方法を定義せずにアプリケーションを記述することができます。抽象化は、アプリケーションを高い概念レベルに一般化することです。抽象化には、手続きの抽象化とデータの抽象化があります。手続きの抽象化は、手続きの機能を手続きの実装方法から分離することです。データの抽象化は、保存するデータをデータを保存する物理的な方法から分離することです。抽象化を支援するには、システム要件書からキーとなる動詞と名詞を削除します。これらの動詞と名詞から、プログラムの目的とユーザインタフェースの一部となるオブジェクトを識別することができます。動詞と名詞は、プロトタイプを完成させるために必要なハードウェアコンポーネントを識別するのにも役立ちます。
デバイス要件から抽象化されたコンポーネントのセットを取得したら、フローチャートを使用して、抽象化されたコンポーネントからソフトウェアデザインに移行することができます。フローチャートのためにアプリケーションをより管理しやすい単位に分割することは、アプリケーションフローの理解を深めることができます。LabVIEWは、エンジニアや科学者の生産性を高めることを目的に設計されたグラフィカルプログラミング開発環境であり、ペーパーデザインをコードにすばやく変換するのに理想的なツールです。LabVIEWブロックダイアグラムはフローチャートに似ているため、フローチャートからソフトウェアコードへの移行が簡単に行えます。
図1: 血圧モニタのフローチャート、状態図、ステートマシン。状態図で定義された5つの状態がステートマシンに実装されていることに注目
状態図は、プログラムの状態と遷移を示す特殊タイプのフローチャートです。各状態は、条件を満たすか、動作を実行するか、イベントを待機します。状態を遷移させるのは、プログラムを次の状態に移行させる条件、動作、またはイベントです。状態アーキテクチャは、ほとんどの組込システムで使用されており、状態図はそのプロトタイプを作成するのに役立ちます。プロトタイプはアイドル状態であっても常に所定の状態にあるという前提で設計されているからです。
LabVIEWでは、ステートマシンは、ケースストラクチャ、Whileループ、シフトレジスタで構成されます。初期ケースはループの外側で指定します。状態図の各状態は、ケースストラクチャの1つのケースに対応します。各ケースには、1つの状態を実装するコードと、他のケースへの遷移を定義するロジックが含まれています。このアーキテクチャを使用すると、ステートマシンにケースとロジックを追加することで、アプリケーションを拡張することができます。
多くの場合、ユーザインタフェース(UI)のプロトタイプ作成は、ペーパーデザインをソフトウェアに移行するときに行うのが最適です。この移行時にUIのプロトタイプを作成することは、設計アーキテクチャとアプリケーション要件を検討するのに役立ちます。また、潜在的な顧客や投資家に向けて具体的なデバイス機能をデモするために使用できることも重要な利点です。プロトタイプが複雑になればなるほど、設計への支持を集めたり、フィードバックを収集したりするためにUIプロトタイプの価値が高まります。最後に、プロトタイプ設計者が機能の設計や追加をアピールする際に大きな役割を果たすことができます。これらのUIプロトタイプの利点は、コストを抑え、開発時間を短縮し、最終的にはより良い製品を生み出すことにつながります。
図2: LabVIEWで設計したUI (コードはUI Interest Groupから取得可能)
LabVIEWにはフロントパネルが内蔵されているため、カスタマイズ性の高いUIをすばやく開発するのに最適です。LabVIEWでは、設計とプロトタイプのサイクルを繰り返す際に機能を簡単に追加できるため、サイクル中の設計変更にかかる労力を最小限に抑えることができます。LabVIEWを使用すれば、UIのプロトタイプをすばやく作成し、試作プロセスの中で変更し、最終製品としてデプロイすることができます。
LabVIEWでは、コードを書き始めたり、アプリケーションアーキテクチャを完成させたりする前に、必要なすべての入力と出力を備えたフロントパネルを設計することができます。このUIモックアップは、必要な入力と出力を決定するのに役立ちます。また、これをもとに要件を絞り込むことができます。
図3: LabVIEWで作成したUIモックアップ
UIプロトタイプを作成した次のステップは、ユーザがフロントパネルを操作したり、メニューをクリックしたり、制御器を調整したり、サンプルデータセットや乱数生成に基づいて結果を表示できるように機能を追加することです。このアプローチの美しさは、UIのプロトタイプを作成していると同時にソフトウェア設計構造を定義していることです。両方がうまく完了すれば、残りの試作プロセスでストラクチャを構築することができます。
仮想プロトタイピングとは、機械的なモデリングとシミュレーションを制御系設計と組み合わせて、組込制御システム/デバイスの設計と試作の効率を高める画期的な手法です。仮想プロトタイピングを使用すると、ソフトウェア設計/制御アルゴリズムを3D CADメカニカルモデルに接続して、物理プロトタイプを作成する前にシステムの機械構造をテストすることができます。
図4: 仮想プロトタイピングの手法
仮想プロトタイピングを作成することで、お客様の要件を正しく理解し、設計プロセスのスピードが上がり、効率的にデバッグを行うことができるため、機械設計に関するリスクを軽減することができます。仮想プロトタイプを作成しない場合、お客様から製品の動作に関する具体的なのフィードバックを受け取るためには、完成した物理プロトタイプを作成する必要があります。仮想プロトタイピングを使用すれば、実際の機械を作成する前に、機械構造をデジタル形式で表したものをお客様に見せて、フィードバックを得ることができます。これにより、お客様も設計プロセスに深く関わることができ、設計者は手遅れになる前の試作プロセスの早い段階で設計を改善することが可能になります。
また、仮想プロトタイプを作成することで、製品の市場投入までの時間を短縮することができます。この手法では、仮想設計を概念化し、設計を繰り返す行うことができるため、物理プロトタイプの段階では最初から完成度の高いものを作成することができます。制御ソフトウェアを3D CADモデルに接続することができるため、これまでは物理プロトタイプを作成するまで見つけられなかったような問題を発見して、修正することが可能です。2D/3Dモーションプロファイルなどのモーションコントロールコードを作成して、3Dモデルでコードを実行することができます。部品が大きすぎて衝突が起きる場合や、輪郭モーションと線形モーションの違いを確認したい場合も、仮想プロトタイピングの段階で問題を修正し、確認することができます。仮想プロトタイピングでは、従来の設計方式に比べ、早い段階で重要な設計上の判断を下すことが可能です。
LabVIEWを使用して、あらゆる機械システムをシミュレーションできます。LabVIEW Control Design and Simulation Moduleを使用すると、開ループモデルの動作解析、閉ループコントローラの設計、オンライン/オフラインでのシステムシミュレーション、物理的な実装を行うことができます。
図5:LabVIEW Control Design and Simulation Tools
伝達関数、状態空間、または極/ゼロ点/ゲインを使用して、モデルを第一原理から作成することができます。また、時間ステップ応答やボード線図などの時間/周波数解析ツールを使用して、そのようなモデルの開/閉ループの動作を対話的に解析することもできます。MIMO (multiple input, multiple output) システムとSISO (single input, single output) システムの両方に対応した内蔵ツールを使用し、シミュレーション機能を活用して線形/非線形システムのダイナミクスを検証します。内蔵ツールを使用して、The MathWorks, Inc.Simulink®ソフトウェアで開発したモデルをLabVIEWで動作するように変換することもできます。
真に機能的なシステムを作成するには、プロトタイプに I/O を追加することが不可欠です。センサ入力と制御出力を追加することで、その設計が機能し、現実世界で実装可能であることを証明できます。ペーパーデザインを作成し、その設計図をソフトウェアに組み込み、仮想環境でシミュレーションしても、大部分はまだ概念的な作業でしかありません。予算の決定者に、作成した設計の価値を証明する際、実際に物理世界で動作する機能設計が必要になります。プロトタイプの動作により得られるデータは、クライアントや設計チームのメンバーと機能要件を調整するために役立ちます。
センサをゼロからシステムに統合し、そこから意味のあるデータを取得するには深い技術的知識が求められるため、多くの場合、予期しない多くの時間と労力がかかります。従来型のセンサ統合の場合、設計が変更になるたびに手間のかかる再構成が必要となります。しかも、設計が変更になるのは珍しいことではありません。特にセンサに関しては、仕様がプロトタイプのニーズに合っているかを確認すること自体が難しい作業です。
プロトタイプにI/Oを追加するのは困難な作業です。カスタムI/Oソリューションの構築に必要な時間とリソースの総コストを予測することは難しいため、プロトタイプ作成プロセスの障害となることがよくあります。
プロトタイプにI/Oを追加する難題を克服するには、取り組み方法におけるパラダイムシフトが必要です。特に低レベルのセンサ通信問題に取り組むだけの専門知識を持たない専門技術者が効率的に試作しようとするなら、やり方を変える必要があります。
NIの統合ハードウェアと直感的なグラフィカルソフトウェア、再構成可能I/Oデバイス、さらに便利なIPやサポートシステムを利用することで、難題を解決することができます。
図6: CompactRIOとモジュール式のホットスワップ可能なCシリーズI/Oモジュールを内蔵の信号調節機能と組み合わせることで、プロトタイプにI/Oをすばやく追加可能
センサ入力と制御出力を機能的プロトタイプに正しく統合できれば、展開と量産に大きく近づきます。それは、製品設計プロセスにおける最大の難関を突破したことを意味します。
アルゴリズムエンジニアリングとは、「アルゴリズムの応用設計」を意味する造語です。紙に鉛筆で描いたアルゴリズムの素案を、信頼性が高く、十分に検証された、使い勝手に優れた実装に落とし込むプロセスを指します。アルゴリズムをプロトタイプに実装して所要の機能を実現するこの作業は、製品開発サイクル全体の中で最も難しい仕事になるかもしれません。しかし、大きな見返りが得られる作業でもあります。実環境とインタフェースするI/Oハードウェアを使えば、アルゴリズムが実際に機能を果たす様子を自分の目で確認することができます。
アルゴリズムを機能的プロトタイプに実装するのは簡単な作業ではありません。以下に挙げるような、さまざまな要因があるからです。
プログラミングの限界―高いI/O性能を特長とする制御システムやプロセッサ (FPGAなど) iに関して、通常、1人の開発者が対応できるプログラミングには限界があります。異なるプラットフォームのプログラミングには、通常、システムレベルの設計者がほとんどもっていないプログラミング知識が必要です。
基本アルゴリズムの実装―基本機能の低レベルアルゴリズムの実装は時間のかかる作業です。 ところがプロトタイピングではスピードが最優先されるため、一般に良く知られたアルゴリズムについては、手元に既存のコードが無いからといってゼロから時間をかけて新規に作成する余裕はありません。
複数のプラットフォーム向けにアルゴリズムを作り直す―機能的プロトタイプが進化するにつれて、アルゴリズムを再検討して異なるタイプのシステムに移植する必要が生じます。プラットフォーム間でランタイム環境が異なると移植元のコードは機能しません。このため、あるアプリケーションを開発する際に、プロトタイピングから最終製品への実装までの工程を通して段階的にそのアプリケーションを拡張することは困難です。
テストと検証―通常、システムが機能要件を満たしているかどうかは、開発プロセスの終わり近くになるまで分からず、最初からやり直すにはコストがかかりすぎます。たとえば、採用予定のプロセッサでは必要な数の並列タスクを十分な速度で実行できないことが判明する場合があります。十分なサイクル時間を達成できない恐れがあります。また、プロセッサの負荷が高い解析については、リアルタイムで処理できない可能性もあります。
LabVIEWグラフィカルシステム設計を採用すれば、機能的プロトタイプ作成時のアルゴリズムエンジニアリングに潜む数多くの落とし穴を回避したり、その影響を軽減したりすることができます。グラフィカルシステム設計とは、グラフィカルで直感的なプログラミング手法と、柔軟性が高く市販品 (COTS: Commercial Off-The-Shelf) として入手可能なハードウェア製品を組み合わせることで、設計上の課題を解決する手法です。この手法を導入すれば、設計の全工程を通して1つの開発環境を使用することができます。以下では、上記で挙げた課題をこの手法によってどのように解決できるのか、詳しく説明します。
グラフィカルシステム設計のメリットの1つとして、どのような演算モデル (MoC:Model of Computation) で実装していても、プログラマがアルゴリズムを作成できるという点が挙げられます。アルゴリズムを実現するコードは複雑化の一途をたどっており、プログラマはコーディング能力を高めるためにさまざまな演算モデルを習得する必要に迫られています。グラフィカルシステム設計で使用できるMoCの一部を以下に示します。
データフロー―データフローは、LabVIEWグラフィカルプログラミング環境で標準的に使用される演算モデルです。データフローでは、開発者は演算を実行する前にすべての入力にデータを供給する必要があります。データフローは、その直感的なコーディング構造によって、並列処理などのアプリケーションを容易に実装することができます。
テキスト数式演算―複雑な関数を簡単に記述できるツールとしては、このほかにもテキスト数式演算があります。テキスト数式演算を使用すると、複雑なアルゴリズムをスクリプト形式で容易に記述でき、高い可読性も実現することができます。テキスト数式演算の例としては、フォーミュラノードやLabVIEW MathScript RTモジュールなどが挙げられます。LabVIEW MathScript RTモジュールを使用すれば、アルゴリズムを開発する、信号処理の考え方を検討する、結果を分析するなど、アルゴリズム開発の各段階それぞれにおいて最も効果的な構文を利用できます。
図7: テキストベースのコードをLabVIEW MathScript RTモジュールで再利用
Cコード―場合によっては、もともとC/C++言語で記述されていたアルゴリズムを使うこともあるでしょう。その場合は、既存のC/C++コードを再利用することが可能です。インラインCノードまたはライブラリ関数呼び出しノードを使用することで、LabVIEW内で前のコードを直接呼び出すことができます。既存コードを用いる場合、あるいは値の小さい数値や配列アルゴリズムを実装する場合には、インラインCノードを使用します。DLLや共有ライブラリ内のCコードにアクセスする場合は、ライブラリ関数呼び出しノードを使用します。
LabVIEWプラットフォームは長年にわたって、さまざまな設計分野で広く導入されています。そのため、異なる設計ツールやシミュレーションツールとのデータの互換性を確保する必要性が高まりました。LabVIEWはそれに応えて、多くの統合ツールや、ライブラリ、ファイル形式との相互運用性を確立しています。さらに、LabVIEWは以下のような多種のソフトウェアツールや計測リソースとも標準で統合されています。
これらのツールを活用することで、ほぼすべての計測器や制御器からの出力データを統合することが可能になります。LabVIEWを汎用のハードウェア通信インタフェースの標準規格と組み合わせれば、開発者は将来にわたって互換性や拡張性を確保できます。
LabVIEWは、数式処理や信号処理、確率、制御などさまざまな分野の基本的なアルゴリズムに対応した関数を何百も備えています。これらの関数を利用すれば、開発者は低位のコードを記述せずにすむので、エンジニアは「ソリューションの実装方法」ではなく「ソリューションそのもの」に注力できるようになります。
LabVIEWを利用すると、実環境のデータをとても簡単に集録できます。そのため、実環境のデータを使ってアルゴリズムをテストし、アルゴリズムを最適化するという作業を繰り返し行う際にLabVIEWは非常に有用です。この反復的なテスト手法では、異なる関数を試して期待どおりの結果が得られるかどうかを確認できます。たとえば、フィルタを用いて信号を処理する場合、ソリューションを幅広い選択肢の中から選んで、実際に必要な信号を集録し、その結果をグラフやファイルで確認することが可能です。そのアプリケーションに適した結果が得られなかった場合は、別のフィルタを選択すればよいのです。一般的には、アルゴリズムに供給する実信号を集録してから、ソフトウェア上でシミュレーションする方が簡単です。
図8: NIのLabVIEWはプロトタイプで使用できる数百の標準アルゴリズムを搭載
プロトタイプの目的の1つは、潜在的な顧客、投資家、同僚にアイデアとデザインを迅速に見せることです。プロトタイプを作成するもう1つの重要な理由は、基本的なソフトウェアおよびハードウェアパフォーマンスの設計をテストおよび検証することです。多くの場合、問題は、機能的プロトタイプの電気的、ソフトウェア、および機械的なコンポーネントを組み合わせた場合にのみ明らかになります。
プロトタイプの段階で徹底的にテストすることで、大きなサンクコストになる前に、また、修正が非現実的になる前の早い段階で問題を発見することができます。プロトタイプテストは、パフォーマンスの主張をバックアップするための具体的な証拠を提供し、その結果、自信を持って実装できる信頼性の高い最終製品につながります。
ソフトウェア定義型計測器は本質的に柔軟性があり、自動化が容易です。そのため、今日の製品設計チームは、手動テストにかかる時間を削減し、ラボで必要な計測の量を最小限に抑えることで、開発プロセスを合理化することができます。
LabVIEWグラフィカルソフトウェアプラットフォームを使用すると、メインアルゴリズムの品質と信頼性をテストするための簡単なプログラムを設定できます。プロトタイプを作成する際は、テストの以下の2つの主要な側面に注意してください。
リミットテスト―ソフトウェア設計が、さまざまなデータポイントにわたってI/Oチャンネルで質の高いデータを提供することを確認します。これにより、製品開発サイクル全体を通じてプロトタイプを品質仕様の範囲内に保つことができます。
ストレステスト―品質仕様が長時間の露出で満たされていることを確認し、すべてのI/Oチャンネルが同時に限界に到達することを確認します。アルゴリズムには、処理中のデータが過負荷になっても対処できる堅牢性が必要です。
シミュレーションVIを使用してハードウェアなしでテストすることにより、ソフトウェアアルゴリズムの限界をテストします。これは、LabVIEWさまざまな信号生成VIを使用するか、実際のI/Oを正確に描写するVIを開発することで可能です。
図9: I/Oのシミュレーション方法
ソフトウェアテストでは、実際のハードウェアを使用する場合と操作性が異なるため、テストで検証できる内容が制限される可能性があります。LabVIEWを使用すると、COTSハードウェアを使用して、実際のI/Oテストを実行できます。
デジタルマルチメータまたはデータ収集デバイスを使用して、物理ハードウェアI/Oをデバッグすることができます。LabVIEWとNI-DAQmxドライバと組み合わせることで、使いやすく、高レベルインタフェースのDAQmx Express VIを使用して複雑なデータ収集タスクを実行することができます。
図10: NI DAQハードウェアを使用したテスト
アイデアからペーパーデザイン、機能的プロトタイプ、最終的にリリース可能な製品に至るまでの設計プロセスを進めていくことはハードルが高いため、これらの段階間の移行を容易にする方法を見つける必要があります。理想的なのは、実際にデプロイ可能なプロトタイプを設計することです。そうすれば、プロトタイプを数多く生産して配布することができます。これは実際にはあまり起こりませんが、デプロイメントを念頭に置いて設計とプロトタイプ作成を行うことで、設計の重要なコンポーネントがデプロイメントに耐えられるかどうかを確認できます。重要なのは、効果的なプロトタイプに必要な柔軟性と機能を提供するだけでなく、市場に出せるものを作れるような強力でカスタマイズ可能なツールとプラットフォームを見つけることです。
図11: 最終製品に近いプロトタイプを作成することが理想
LabVIEW RIO (再構成可能I/O) アーキテクチャはNIグラフィカルシステム設計プラットフォームに不可欠な要素です。組込監視/制御システムの設計・試作・デプロイメントの最新手法であるグラフィカルシステム設計では、オープンなLabVIEWグラフィカルプログラミング環境とCOTSハードウェアを組み合わせて、開発を大幅に簡素化します。この手法によって、カスタム設計を組み込めるようになり、質の高いアプリケーションを設計できるようになります。
LabVIEW RIOアーキテクチャは、プロセッサ、再構成可能FPGA、モジュール式I/Oハードウェア、グラフィカル設計ソフトウェアの4つのコンポーネントに基づいています。これらのコンポーネントを組み合わせることで、高性能のI/Oを備えたカスタムハードウェア回路を迅速に開発し、柔軟性に優れたシステムタイミング制御機能を実現することができます。多くのNI製品はこのアーキテクチャを採用しています。
図12: 柔軟性、信頼性、性能を最大限に高めることのできるLabVIEW RIOアーキテクチャを採用したNIの製品
Single-Board RIOコントローラは、柔軟性に優れたカスタマイズ性の高いシングルプリント基板です。お客様は、I/O端子、電源、エンクロージャを用意します。Single-Board RIOにより、最終製品へのシームレスなユーザ統合が可能です。さらに柔軟性やコンパクトなサイズが必要な場合は、NI System on Module (SOM) を使用して設計を行うことができます。
図13: Single-Board RIO/SOMコントローラは、最大限の柔軟性を提供
高い堅牢性が求められる場合は、CompactRIOハードウェアが最適です。この工業レベルのハードウェアは、過酷な環境下でも動作することができます。高レベルの衝撃と振動に対応できるデバイスが必要で、そのような過酷な条件下で動作する独自コントローラを開発する時間と費用をスキップしたい場合は、CompactRIOをご検討ください。CompactRIOプラットフォームは堅牢であるだけでなく、Single-Board RIOデバイスで必要なカスタマイズが不要です。電力変換、筐体、I/O端子を独自処理したくない場合にも、CompactRIOが適しています。
図14: CompactRIOコントローラは、最大限の堅牢性を提供
ラボ環境など、より正確な計測を行う場合、またはPCベースのプラットフォームによって制限されている場合には、RシリーズマルチファンクションRIOデバイスが有効です。PCI、PCI Express、USB、PXI、およびPXI Expressフォームファクタで提供されるこれらのデバイスは、Single-Board RIOおよびCompactRIOと比較して優れたI/O信号調節と確度を提供します。Rシリーズデバイスは、LabVIEW RIOアーキテクチャのメリットを活用して、従来のデータ収集ソリューションよりも柔軟に機能を拡張することができます。
図15: Rシリーズデータ収集では、標準のPCフォームファクタでLabVIEW FPGAを使用可能
最大3 GS/秒のアナログまたは1 Gb/秒のデジタルを備えた超高性能I/Oが必要な場合は、FlexRIOが最適です。FlexRIOは、テストコストの削減や組込システムの開発のスピードアップなど、LabVIEW RIOアーキテクチャで最速のI/Oと最大のFPGAを提供し、非常に複雑な試作や実装の課題に取り組む際に有効です。
図16: FlexRIOコントローラとモジュールは、最大のFPGA性能とI/O性能を提供
LabVIEW RIOアーキテクチャは、さまざまなフォームファクタオプションを提供するだけでなく、共通のプラットフォームを共有しています。つまり、LabVIEW RIOアーキテクチャでサポートされている製品に対して同じコードとプロセスを使用し、必要に応じて切り替えることができます。実際、Single-Board RIO、CompactRIO、Rシリーズ、FlexRIOの間で切り替える場合、ほとんどのコードを再利用できます。最終製品のすべての要件が完全に分かっていなくても、試作のプラットフォームの選択を間違った場合ても、すべてのコードを一から書き直す必要はありません。これにより、試作プロセスをより早く開始することができ、開発期間の短縮につながります。また、CompactRIOで試作を開始し、Single-Board RIOに移行して、最小限の機械的リワークを行い、ソフトウェアにほとんど変更を加えずに実装することもできます。これが可能なのは、これらの製品が共通のプラットフォームに基づいているからです。
プロトタイプ作成 (試作) は、組込設計プロセスの中でも極めて重要な部分です。アイデアを製品として実現可能なことを投資家やお客様、会社の経営陣にわかりやすい形で示せれば、予算を獲得しやすくなります。NIのグラフィカルシステム設計ツールは、大規模な設計を行わなくても、機能的プロトタイプを短期間で試作できる便利なツールです。この手順を利用して質の高い機能的プロトタイプを作成することで、次のアプリケーションを早期に軌道に乗せることが可能になります。
Simulink® is a registered trademark of The MathWorks, Inc.