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

조회 수: 2 (최근 30일)
Yudai Tanimura
Yudai Tanimura 2021년 11월 9일
편집: Yudai Tanimura 2022년 2월 3일
質問事項:複数の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' で使われています

답변 (1개)

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

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 プログラムによるモデル編集에 대해 자세히 알아보기

제품


릴리스

R2021b

Community Treasure Hunt

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

Start Hunting!