MATLABユーザーコミュニティー

MATLAB与Si金宝appmulinkユーザーコミュニティー向け日本語ブログ

程序设计师で仿真软件モデルのシ金宝appミュレーションアプリを作る

こんにちは、テクニカルサポートエンジニアの遠藤と申します。
前回の投稿は2.月19日ということで、約3.か月ぶりの投稿となります。

前回の記事では金宝app模型APIを用いてMATLABから仿真软件のモデルを編集する方法について書かせていただきました。今回はそれに関連して,MATLABの应用程序设计师機能を用いて仿金宝app真软件モデルのシミュレーションや編集を行うアプリケーションを作成する方法について書いていきたいと思います。

普段業務で金宝app仿真软件しか使っていないという方も,软件设计师でシミュレーションアプリを自作することで業務効率アップにつながるかも……?

应用程序设计师とは

程序设计师とは,MATLABで対話型アプリケーションを簡単に作成するためのアプリケーションです。

程序设计师で作成したアプリの例

アプリの設計やプログラムの作成を直感的な操作で簡単に行うことができるツールとなっています。

程序设计师でシミュレーションアプリを作成するメリット

应用程序设计师でシミュレーションアプリを作成すると、アプリ上の操作で 模拟モデルの金宝appパラメータ設定やシミュレーション実行を行えるようになります。

シミュレーションアプリの例

このようなシミュレーションアプリを作成するメリットとしては、

  • 特定のパラメータ値の変更など決められたタスクを頻繁に行う場合に操作を簡略化できる(業務効率の向上)
  • アプリ上で自由にシミュレーション結果を可視化できる(可視性の向上)
  • 金宝app仿真软件モデルをよく知らない人でもアプリ上の操作のみでパラメータの設定やシミュレーションの実行ができる(使用性の向上)

などが挙げられます。特に3つ目のメリットは,仿真金宝app软件を普段あまり使っていない人にモデルを使ってもらう時などにとても役立ちます。

程序设计师の使い方

金宝app模拟モデルとの連携方法の前に、应用程序设计师の基本的な使い方について簡単に解説します。こちらのビデオもご参照ください。

まず、应用程序设计师を起動します。MATLABのコマンドウィンドウで

> > appdesigner

と実行する,あるいはホームタブの”新規作成”- >“アプリ”から起動することができます。

スタートページが起動します。このスタートページからは,新規アプリの作成や既存のアプリの編集,チュートリアルなどを行うことができます。今回は“空のアプリ”を選択します。

アプリの編集画面が開きます。今開いているのが”設計ビュー”となっており,ボタンやスライダーなどのコンポーネントをアプリ上に配置することができます。右上のボタンから”コードビュー”に切り替えてみます。

今度はアプリのコードが開きます。ここでは実際のアプリの処理をコーディングすることができます。上部のツールバーからアプリにプロパティ(アプリが持つ変数),関数(アプリが持つ関数),コールバック(ユーザーの操作に反応して実行される関数)を追加することができます。

シミュレーションアプリの作成

それでは仿金宝app真软件モデルと連携したシミュレーションアプリを作っていきましょう。今回は例として下のようmyModelな”。基金“というモデルに対してアプリを作っていきます。

①シミュレーション実行ボタンの作成

最初にアプリからシミュレーションを実行するためのボタンを作成します。まず、設計ビューでアプリ上にボタンを配置し、ボタンのテキスト を “跑”に変更します。

つぎに,このボタンが押されたときの処理をプログラムします。ボタンを右クリックして”コールバック”- >“ButtonPushedFcnコールバックの追加“を選ぶと,自動的にコードビューに切り替わります。

新しく“RunButtonPushedという関数が作成されたことがわかります。この関数は先ほど配置した运行ボタンを押したときに実行されます。このように,コンポーネントを配置してコールバックを追加することで,コンポーネントに対してユーザーが操作を行ったときの処理を実装することができます。
さっそくこの関数内にシミュレーションを実行するコードを記述します。シミュレーションを実行するにはsim卡という関数を用います。

作用RunButtonPushed(应用程序、事件)
sim卡(“我的模型”);
结束

これで 跑ボタンを押すとシミュレーションが実行されるようになります。

実際にアプリを起動して確認してみます。应用程序设计师の実行ボタンからアプリを実行します。初回は保存ダイアログが表示されるので、ここでは “myApp.mlapp”という名前で保存します。アプリのウィンドウが起動するので追加した「跑」ボタンを押してみると……

シミュレーションが実行されました!

②シミュレーション結果をプロットする

シミュレーションが実行できたので、その結果をアプリ上にプロットしてみます。そのために、まず 范围ブロックのログを設定します。

これでsim関数の戻り値に范围のログデータが保存されるようになりました。

つぎに,アプリ上に”座標軸”コンポーネントを配置します。シミュレーション結果のプロットなので,标题。包含字符串を“仿真结果”。Ylabel字符串を“时间”。字符串を“价值”に設定します。

つぎに,先ほど作成した“RunButtonPushed関数にプロットするコードを追加します。

作用RunButtonPushed(应用程序、事件)
= sim卡(“我的模型”);
数据= out.ScopeData;
情节(应用程序。UIAxes、数据(:1),数据(:,2));
结束

注意点として、情节関数の第一引数には追加した座標軸(app.UIAxes)を指定してあげる必要があります(これを指定しないと新しく图が作成され,そこにプロットされてしまいます)。詳しくはこのドキュメントをご参照ください。

これで运行ボタンを押すとシミュレーション実行後にシミュレーション結果がプロットされるようになりました。

③モデルのパラメータを変更する

つぎは、「スライダー」コンポーネントを使ってゲインの値を変更できるようにしてみましょう。設計ビューでスライダーを追加し、ラベルを “收益”初期値を 1.範囲を 0,5 に設定します。

設定が終わったら、ボタンの時と同じようにコールバックを追加します。スライダーの場合は 价值变化と 价值变化の 2.つがありますが、ここではスライダーの値が変化したときに実行されるコールバックである 价值变化を追加します。

作用GainSliderValueChanged(应用程序、事件)
值=app.GainSlider.value;
结束

コードビューに上記のような関数が追加されます。あらかじめスライダーの値を“价值”という変数に格納する処理が用意されているので,これを使ってゲインの値を変更する処理を実装します。使うのはもちろん前回の記事でも紹介した设置参数関数です。

作用GainSliderValueChanged(应用程序、事件)
值=app.GainSlider.value;
设置参数(“我的模型/增益”“增益”,num2str(值);
结束

获得パラメータにはゲイン値を文字列で設定する必要があるので、num2str関数でスライダーの値を文字列に変換しなければならない点に注意です。

これでスライダーによってゲインの値を変更できるようになりました。

④モデル起動時にアプリも同時に起動する

最後に,モデルとシミュレーションアプリを別々に起動するのは面倒なので,モデルコールバック機能を用いてモデル起動時にアプリも同時に起動するように設定してみましょう。モデルコールバックは、モデルや読み込まれたときやシミュレーション実行時などに特定の処理を行うための機能で、モデルプロパティから設定することができます。

今回はモデル読み込み時にアプリを起動したいので、预处理にアプリを起動するコマンドを記述します。アプリの起動には、アプリ名(今回は myApp)をそのまま実行します。

これでモデルを開くときに同時にアプリも起動するようになりました。

その他の参考情報

この記事では基本的な应用设计师と仿真软件の連携方法を金宝appご紹介しましたが,MATLAB答案にも应用设计师と仿真软件モデルの連携方法が解説されている投稿がいくつかあります。独自のアプリを作成する際にはこれらもご参考ください。

set_paramを用いてモデルのスタートとストップをアプリから制御する例(ファイルつき)

実行中のモデルからデータを取得しアプリ上に表示する例

モデルへのパラメータの受け渡し方法まとめ

注意事項

MATLAB编译器という製品のアプリケーションコンパイラー機能を使用すると,软件设计师で作成したアプリからスタンドアローンのアプリケーションを生成することができます。しかし,MATLAB编译器は仿真软件モデルを金宝appサポートしていないため,MATLAB编译器だけでは仿真软件モデルを実行するアプリケーションをスタンドアローン化することはできません。

MATLAB R2020aからリリースされた金宝appSimulink编译器という製品を使用すると 金宝app模拟モデルを実行するためのスタンドアローンアプリを作成することができますが、その際には Simulink编译器に適した形でアプリケーションを設計する必要があります。詳しくは金宝app仿真软件编译器のドキュメントページをご確認ください。

おわりに

今回は 应用程序设计师と 模拟モデルの金宝app基本的な連携方法についてご紹介しました。

日々の業務で仿金宝app真软件での設定変更を面倒に感じている方,モデルを他チームに渡す際に説明事項が多くてお困りの方は
独自のシミュレーションアプリを開発することで業務効率が一気に上がるかもしれませんよ!

|

评论

要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。