複数のUKFブロックの使用方法。
Afficher commentaires plus anciens
質問事項:複数の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' で使われています
Réponses (1)
Toshinobu Shintai
le 9 Nov 2021
0 votes
おっしゃるように複数のUKFブロックを以下のように作った所、問題なく実行できました。
「Unscented Kalman Filter」ブロックをコピーし、「Simulink Function - State Transition Function」と「Simulink Function - Measurement Function」もコピーして、コピーしたそれぞれのSimulink Functionの関数名を「Unscented Kalman Filter」ブロックのブロックパラメータに指定する。(以下の画像を参照)

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

Simulink FunctionブロックとUKFブロックは同じモデルファイルにありますでしょうか。もし、参照モデルで分けられている場合はUKFブロックからSimulink Functionを参照できないと思います。
また、エラーメッセージを素直に読み取ると、同じデータ名を使用するData Store Memoryが複数使われているというエラーのようですが、そのようなことをしていませんでしょうか。
Yudai Tanimura
le 9 Nov 2021
Modifié(e) : Yudai Tanimura
le 10 Nov 2021
Yudai Tanimura
le 3 Fév 2022
Modifié(e) : Yudai Tanimura
le 3 Fév 2022
Catégories
En savoir plus sur モデル化 dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!