MATLAB: Chartを入れると正常に動作しない

chart;stateflow日本語

 以下のBuck converterでStateflowのchartを入れると正常に動作しません.本来はH-bridge converterでchartを使ってアルゴリズムを書きたいのですが,ここではわかりやすくするためBuck converterで説明します.このバックコンバータは御社のWebページからダウンロードしたものです.以下リンクです. http://www.mathworks.co.jp/help/physmod/elec/examples/synchronous-buck-converter.html
このBuck converterの制御部分に以下のようにchartを入れると出力電圧が0V(chartを入れない時は15V)になってしまいます.chartを入れようが入れまいが同じように動作するようにchartの中身をつくったのですが(図参照).
実際に使用したファイルは以下のリンクからダウンロードできます. https://www.dropbox.com/s/6q7anhhs9yttb78/elec_switching_power_supply_copy.slx?dl=0
よろしくお願いします.

Best Answer

Buck ステート内のコードを
en: out1=in1;
から
du: out1=in1;
に変更してみてください。
en entry すなわちステートがアクティブになった時に一度だけ実行されます。したがって、初期値の0がずっとホールドされてしまいます。ステートがアクティブのときに入力信号の変化を伝搬したい場合には du もしくは during をお使いください。
詳細は ステート アクション タイプ をご参照ください。