2

私は Simulink と Stateflow にほとんど慣れていません。いくつかの単純なステート マシンをモデル化しようとしています。しかし、モデルを実行しようとすると、(Matlab のメイン画面に) エラーが表示されます。

Warning: Input port 1 of 'sample/If' is not connected. 
Warning: Output port 1 of 'sample/If' is not connected. 
Parsing failed for machine: "sample"(#90)

1) これに何か問題がありますか?

2) もう 1 つの質問: S2 にタイマーを追加するにはどうすればよいですか? たとえば、S2 に 2 分以上滞在することはできません。そのため、S2 に入るとすぐにタイマーが開始され、2 分に達すると S3 に移行する必要があります。

PS 何らかの理由で、simulink スキームの stateflow サムネイルに更新されたモデルが表示されません。conditionandif_outfput変数はもう ありません。ここに画像の説明を入力 ここに画像の説明を入力

4

1 に答える 1

0

エラー メッセージは一目瞭然ですCondition。Stateflow チャートの入力が何にも接続されていないため、エラーが発生します。それを Simulink の信号 (条件信号を表すもの) に接続します。同様に、チャートの出力も何にも接続していません。これらの変数はもう存在しないと言いますが、Stateflow はそうは考えていないようです。モデル エクスプローラーからそれらを削除しましたか? そうでない場合でも、Stateflow はそれらがチャートの一部であると見なします。詳細については、ドキュメントのStateflow オブジェクトでのモデル エクスプローラーの使用を参照してください。

タイマーについては、可能です。現時点では、when に終了S2します。トランジションを次のように変更できます(と思います)。モデル コンフィギュレーション パラメーターで絶対時間のサポートを有効にする必要がある場合があります。詳細については、ドキュメントの「時相論理を使用したチャート実行の制御」を参照してください。S3input ==1[input == 1] || after(2000,sec)

于 2014-11-15T15:15:13.713 に答える