複数のUKFブロックの使用方法。
Ältere Kommentare anzeigen
質問事項:複数のUKFブロックを同時に使用する方法を教えてください。
背景:下記URLを参考に、UKFブロックを用いて直列電池中の電池一つ一つのSOC推定プログラムを構築中。
電池ごとにパラメータが異なるため、状態方程式等は電池ごとに設定。UKFブロックは電池ごとに設置。
問題:下記エラーが出る。
Data Store Memory のタグ 'x 'は、ブロック 'calc_batt/batt_2/SOC_KF/UKF_SOC/DataStoreMemory - x' とブロック 'calc_batt/batt_1/SOC_KF/UKF_SOC/DataStoreMemory - x' で使われています
Antworten (1)
Toshinobu Shintai
am 9 Nov. 2021
0 Stimmen
おっしゃるように複数のUKFブロックを以下のように作った所、問題なく実行できました。
「Unscented Kalman Filter」ブロックをコピーし、「Simulink Function - State Transition Function」と「Simulink Function - Measurement Function」もコピーして、コピーしたそれぞれのSimulink Functionの関数名を「Unscented Kalman Filter」ブロックのブロックパラメータに指定する。(以下の画像を参照)

この方法で問題ありませんでしょうか。
4 Kommentare
Yudai Tanimura
am 9 Nov. 2021
Toshinobu Shintai
am 9 Nov. 2021
上記のサンプルに対してUKFブロックをサブシステムの中に格納し、階層を分けましたが、問題なく実行できています。

Simulink FunctionブロックとUKFブロックは同じモデルファイルにありますでしょうか。もし、参照モデルで分けられている場合はUKFブロックからSimulink Functionを参照できないと思います。
また、エラーメッセージを素直に読み取ると、同じデータ名を使用するData Store Memoryが複数使われているというエラーのようですが、そのようなことをしていませんでしょうか。
Yudai Tanimura
am 9 Nov. 2021
Bearbeitet: Yudai Tanimura
am 10 Nov. 2021
Yudai Tanimura
am 3 Feb. 2022
Bearbeitet: Yudai Tanimura
am 3 Feb. 2022
Kategorien
Mehr zu モデル化 finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!