シンプルステートマシン
単純なステートマシンは、状態、状態遷移を制御する遷移、およびアクションまたはメソッドで構成されます。これにより、有限マシンの動作を設計および実装できます。
ステートチャートを使用したアプリケーションの作成
で新しいプロジェクトを作成します 標準プロジェクト テンプレート。ために PLC_PRGの、 を選択 UMLステートチャート 実装言語。
プロジェクトが作成されます。
デバイスツリーで、アプリケーションを選択して[
コンテキストメニューで。名前の付いた機能ブロックを作成します
FB_Simple_Machine
の中に UMLステートチャート(SC) 実装言語。プログラムで機能ブロックをインスタンス化します
PLC_PRG
関数ブロックインスタンスの呼び出しを実装します。PROGRAM PLC_PRG VAR fb_Simple_Machine_A : FB_Simple_Machine; END_VAR fb_Simple_Machine_A();
プロジェクトを名前を付けて保存
SimpleMachine.project
。
ステートチャートとしてのフローロジックの設計
マシンの要件の例:
機械は状態にあります
Idle
初期化フェーズの後。イベントが発生すると、マシンは状態に切り替わります
DoIt
。すべてのアクションとメソッドが処理されると、完了イベントがトリガーされ、マシンはアイドル状態に戻ります。
機械をアイドル状態から状態に切り替えることができます
Exit
そして最後の状態に。
この場合の機械の設計は以下のとおりです。

デザインには、フローロジックを制御するガード条件はまだ含まれていません。さらに、アクションまたはメソッドはまだ呼び出されていないため、マシンはまだ動作していません。
デバイスツリーで、機能ブロックをダブルクリックします FB_Simple_Machine
エディターを開き、上記の図を作成します。
ガード条件の変数の宣言
PROGRAM FB_Simple_Machine VAR bInitDone : BOOL := FALSE; bShutDown : BOOL := FALSE; bDoSomething : BOOL := FALSE; bDoFinished : BOOL := FALSE; END_VAR
ユーザー入力は、通常、ユーザーインターフェイスを介してユーザーが外部で設定するブール変数にマップされます。ステートチャートでガード条件として変数を割り当てると、フローロジックが切り替え可能になります。変数は制御変数として機能します。

メソッドとアクションの追加
フローロジックをステートチャートとして実装したら、状態と遷移に機能を追加します。そうすることで、あなたは州を拡張します ENTRY
、 DO
、 と EXIT
アクションまたはメソッド。アクションまたはメソッドを遷移に追加することもできます。これは、状態遷移で1回呼び出されます。
いずれかを選択して、状態にアクションを追加できます。 、
、 また
シンボル。あなたはクリックすることができます
トランジションにアクションを追加するための記号。

遷移にアクションを割り当てると、時間の動作がわずかに異なる同様のロジックを設計できます。

の中に デバイス ビューでは、アクションとメソッドの割り当てを追跡できます。アクションとメソッドはで作成されました ST 実装言語。
