複数のUKFブロックの使用方法。

2 visualizaciones (últimos 30 días)
Yudai Tanimura
Yudai Tanimura el 9 de Nov. de 2021
Editada: Yudai Tanimura el 3 de Feb. de 2022
質問事項:複数の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' で使われています

Respuestas (1)

Toshinobu Shintai
Toshinobu Shintai el 9 de Nov. de 2021
おっしゃるように複数のUKFブロックを以下のように作った所、問題なく実行できました。
「Unscented Kalman Filter」ブロックをコピーし、「Simulink Function - State Transition Function」と「Simulink Function - Measurement Function」もコピーして、コピーしたそれぞれのSimulink Functionの関数名を「Unscented Kalman Filter」ブロックのブロックパラメータに指定する。(以下の画像を参照)
この方法で問題ありませんでしょうか。
  4 comentarios
Yudai Tanimura
Yudai Tanimura el 9 de Nov. de 2021
Editada: Yudai Tanimura el 10 de Nov. de 2021
Simulink FunctionブロックとUKFブロックは同じモデルファイルにあり、コピーと関数名変更以外は実施していません。
また、1つ目の回答と同様に同一フォルダにコピーした場合、および参考ファイルからUKFブロックをコピーし関数名を変更した場合、いずれも同一エラーが発生しました。
ですので、Simulink Functionブロックが原因であることは確定しました。
Yudai Tanimura
Yudai Tanimura el 3 de Feb. de 2022
Editada: Yudai Tanimura el 3 de Feb. de 2022
エラーが発生する2つのUKFブロックは、同一モデルファイルに存在します。関係性は、同一ディレクトリ内でコピーして変数変更したものです。マスク内を確認すると、Data Store Memoryのデータ名はコピー元と同じxでした。この方法は、最初の回答と同様かと思いますが、現状エラーは解消しません。
UKFブロックをコピーした場合に、Data Store Memoryのタグ重複エラーが発生する場合としない場合の違いが出現する点について、ご教示いただけますと幸いです。

Iniciar sesión para comentar.

Categorías

Más información sobre プログラムによるモデル編集 en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!