2016-07-22 32 views
-3

私はC言語で、Simulinkのブロック図に変換するために必要なコードがたくさんあります。私はSimulinkのブロックダイアグラムに、基本的なSimulinkブロックのみを使用させたいので、S-Functionを使用したくはありません。ユーザーはCコードを知らなくても変更できます。私はいくつかの行を変換することができました。しかし、私はCコードの次の行に問題があります:このCコード行をSimulinkのブロック図に変換するにはどうすればよいですか?

myVar += myConst1 - myConst2*myConst3 
\\ More code changing other variables etc. 
myVar -= myConst4 

私の最初のアイデアはフィードバックループを使用することでした。しかし、myVarがいくつかの他のコード行で変更されているので、この考えはうまくいかないでしょう。

myVarが更新されるたびに、いつでもmyVarを保存するようにしました。次回のmyVarにアクセスすると、(他のコード行でも)新しい値になります。私はsimout()を使用できません。なぜなら、モデルが実行されているときに変数を動的に変更する必要があるからです。これどうやってするの?

ありがとうございます!

答えて

0

"データストアメモリ"、 "データストア読み取り"、 "データストア書き込み"ブロックを使用することができれば、これらのブロックを使用してブロック実行の相対的な順序を設定できます。 enter image description here

+0

アプリケーションの分野によっては、e。 g。 「MISRA AC SLSF」ガイドラインは次のように述べている。「データストアメモリは、サブシステムの境界を越えてデータを交換するために使用されてはならず、データ交換が透過的である場合、すなわちローカルサブシステム内でのみ使用されなければならない。 –

関連する問題