主要内容

状态流チャ,トを使用したアナログトリガ,式のデ,タ収集

この例では,Stateflow®,数据采集工具箱™および应用设计师を使用して,アナログトリガー式のデータ収集アプリを作成する方法を説明します。

数据采集工具箱は,采集デバイスまたはオーディオサウンドカードから測定データを収集する機能を備えています。アプリケーションによっては,測定対象のアナログ信号の条件に基づいてデータのキャプチャまたはログを開始する,アナログトリガー式の収集が推奨されます。ソフトウェアでアナログトリガーされる収集では,測定データの連続したストリームから関心のあるセグメントのみをキャプチャすることができます。たとえば,信号レベルが一定のしきい値を通過したときにオ,ディオ録音をキャプチャすることができます。

程序设计师このアプリ例はとStateflowを使用して作成されており,以下の処理を実装する方法を示します。

  • 状态流チャ,トを使用してアプリのステ,トロジックを制御

  • 使用可能なdaqデバスを選択

  • デバスの収集パラメタを設定

  • 収集中にアプリの用户界面にラ用户界面ブプロットを表示

  • プログラム可能なトリガ,条件に基づいてトリガ,されるデ,タキャプチャを実行

  • キャプチャされたデタをmatlab®のベスワクスペス変数に保存

既定では,アプリはApp Designerで設計モ,ドで開きます。アプリを実行するには,[実行]ボタンをクリックするか,コマンドラ。

AnalogTriggerAppStateflow

要件

このアプリ例には以下が必要です。

  • MATLAB R2020a以降

  • 数据采集工具箱(Windows®のみでサポ,ト)

  • Stateflow(チャ,トの作成および編集のみ)

  • サポトされているdaqデバスまたはサウンドカド(アナログ入力.电压またはIEPE測定およびバックグラウンド収集をサポートする国家仪器または测量计算のデバイスなど)

  • 対応するハドウェアサポトパッケジおよびデバスドラバ

アプリのステ,トとStateflowチャ,ト

複雑なロジックを含むアプリを作成するときは,アプリの動作モードに対応するさまざまなステートを考慮してください。Stateflowチャートを使用すると,こうしたアプリのステートを可視化して整理することができます。ステ,ト間の遷移を使用して,アプリの制御ロジックを実装します。たとえば,ファAnalogTriggerAppLogic.sfxは,このアプリのロジックを制御するStateflowチャ,トを定義します。チャートは,アプリのUI内のアクションまたはデータ駆動型の条件に基づいてステート間を遷移できます。たとえば,[開始]ボタンをクリックすると,チャ,トは配置ステ,トから收购ステ,トに遷移します。信号の値が指定したトリガ,レベルを超えると,チャ,トはLookingForTriggerステ,トからCapturingDataステ,トに遷移します。

アプリとstatflowチャ,トの統合

MATLABアプリとStateflowチャ,トの間に双方向接続を確立するには,アプリの関数startupFcnで,チャ,トオブジェクトを作成し,そのハンドルをアプリのプロパティに保存します。

app. chart = AnalogTriggerAppLogic(app=app);

アプリは,このハンドルを使用して,チャ,ト内のステ,トの遷移をトリガ,します。たとえば,[開始]をクリックすると,アプリのコ,ルバック関数StartButtonPushedがチャ,トのacquisitionStart入力@ @ベントを呼び出します。この电子邮箱ベントは,配置ステ,トから收购ステ,トへの遷移をトリガ,します。

チャト内のベントではない遷移条件を評価するために,アプリはチャトオブジェクトの関数一步を呼び出します。たとえば,デバイスからデータを収集している間、アプリ関数dataAvailable_Callbackは関数一步を定期的に呼び出します。トリガ,条件が検出されると,チャ,トはLookingForTriggerステ,トからCapturingDataステ,トに遷移します。

Stateflowチャートで,アプリのオブジェクトハンドルをチャートのローカルデータとして保存します。パブリックプロパティを共有してアプリのパブリック関数を呼び出すために,Stateflowチャートは,ステートアクション,遷移条件,または遷移アクションでこのハンドルを使用できます。

参考

関連するトピック