 SFC エディタの使い方

ＳＦＣ言語はシーケンシャルなプロセスオペレーションを記述するときに使います。　プロセスのステップを表現する部分とステップ間のトランジションを表現する部分のグラフィックから成り立っています。ＳＦＣ言語はＩＥＣ１１３１－３標準のコアとなる部分です。その他の言語はステップ内のアクションの記述や、トランジションの論理的な条件を記述するために使われます。ＳＦＣ言語エディタにはチャートを作成するグラフィックエディタの部分とＳＴ言語によるテキストプログラミングをする部分があります。こうすることでアクション部分、トランジション条件部分のプログラミングを効率良く行なうことができます。

SFC言語メイントピック

SFCチャートの入力

SFCチャートの修正

レベル２プログラムの入力

変数名の挿入

ステップへのパルスアクションブロックの挿入

ステップへのノーマルアクションブロックの挿入

P0,P1アクションクオリファイア

ブール型アクション

SFCアクション

STで記述されたトランジション

QuickLDで記述されたトランジション

「ツール」メニューコマンド

SFCギャラリの使い方

他のISaGRAFツールのコール

その他の共通的な「ファイル」メニューコマンド

プログラムの修正履歴の更新

変数辞書から変数選択


SFC言語メイントピック

ＳＦＣは、シーケンシャルなプロセスを表現するには最適の言語です。ＳＦＣ言語はプロセスのサイクルを連続したステップをトランジションで区切った構成になっています。

分岐と結合

ステップへのジャンプ

マクロステップ

ＳＦＣのコンポーネント間は方向を持ったラインで接続されます。ディフォルトのラインの方向は上から下へ（↓）です。：

イニシャルステップ

ステップ

トランジション

ステップへのジャンプ

マクロステップ

マクロステップの開始

マクロステップの終了

ＳＦＣ言語によるプログラムは２つのレベルに分かれています。

レベル１  ではグラフィックチャートを表示します。ステップやトランジションにはリファレンスＮｏ．とコメントがアタッチされています。

レベル２ではＳＴ言語（トランジション条件の記述にはＬＤ言語も可能）又はＩＬ言語によるプログラミングでステップ内のアクションあるいはトランジションにアタッチされている条件の記述を行ないます。　アクションやトランジションは他の言語（ＬＤ、ＦＢＤ、ＳＴ，ＩＬ）で書かれたサブプログラムを参照することもできます。　レベル１、レベル２のプログラミングの例を下に示します。：

レベル２のプログラムではステップ内のアクションのプログラミングにはＳＴ、ＩＬ言語を使います。トランジション条件の記述にはＳＴ，ＩＬの他にＬＤ言語（QuickLDエディタを使用）が使えます。


分岐と結合

分岐と結合は複数のステップやトランジションをつなぐマルチプルリンクです。

選択（ＯＲ）分岐ではいくつかのパスの中でどれかひとつの選択が行なわれて実行されます。

並列（ＡＮＤ）分岐はパラレル（並列）処理を意味します。


ステップへのジャンプ

ＳＦＣエディタではコンポーネント間のリンクは上から下（↓）方向になります。　ただし、ステップへのジャンプの場合は上向き（↑）のリンクになります。　下の図は同じ意味を持ちます。

並列（ＡＮＤ）結合の時を除いてトランジションへのジャンプは禁止されています。


マクロステップ

マクロステップは独立に存在しているステップとトランジションの固まりを指します。マクロステップは開始ステップで始まり、終了ステップで終わります。

マクロステップは同一のＳＦＣチャート内に書かれている必要があります。マクロステップの開始ステップ番号とマクロステップシンボルは同じリファレンス番号である必要があります。呼び出されたマクロステップは更に別のマクロステップシンボルを含むこともできます。


SFCチャートの入力

ＳＦＣチャートを描くときはキーコンポーネントのみを配置するだけでよく、接続ラインとしての水平・垂直ラインは自動的に引かれます。

SFCコンポーネントをチャート上に配置するためには、カーソルを目的の場所に移動してエディタのツールバーから目的のタイプのコンポーネントを選択します。シンボルが目的の場所に挿入されます。以下のファンクションキー入力を使うことも可能です。

初期ステップの挿入

ステップの挿入

トランジションの挿入

ステップへのジャンプの挿入

 	選択分岐と結合の挿入 / 選択ブランチの追加

 	並列分岐と結合の挿入 /  並列ブランチの追加

マクロステップの挿入

 	マクロステップの開始、終了ステップの挿入

( " [image] " シンボルはSHIFTキーとの組み合わせを意味します)

編集用のグリッドは配置されるシンボルの場所を示します。グリッド表示があると最初のＳＦＣチャートやサブパーツのレイアウト構成が容易です。「オプション」－「レイアウト」コマンドによりグリッドの表示／非表示が可能です。

SFCエディタは常に現状の選択されている場所の表示が座標の形で表示されます。選択されているセルの場所はグレー表示されます。選択されているボックスの右のコーナーをマウスでドラッグすることによりセルサイズを自由に変更することができます。X/Y比率を変更することも可能です。

セルサイズの調整


分岐と結合の挿入
分岐、結合の挿入

分岐と結合のラインを引く場合は左から右へとラインをコンポーネントを配置していきます。まず、左のブランチの場所を下のいずれかのツールバーボタンで選択した後にチャート内で場所を選択します。

 	選択分岐と結合の挿入／選択ブランチの追加

 	並列分岐と結合の挿入／並列ブランチの追加


分岐、結合ブランチの挿入

各ブランチの開始と最後には以下のツールバーボタンを選択して場所を指定する必要があります。左コーナのスタイル（選択、並列）にあわせて順番に右側に同じスタイルのコンポーネントを配置します。左コーナでコンポーネントが選択されていないときは右側にはコンポーネントを配置することはできません。

 	選択分岐と結合の挿入／選択ブランチの追加

 	並列分岐と結合の挿入／並列ブランチの追加


マクロステップの描き方

このツールバーアイコンボタンにより、メインチャートにマクロステップを挿入することができます。マクロステップはメインチャートと同じＳＦＣチャート内に記述しなければなりません。


 	マクロステップの内容

マクロステップは親チャートと同一のＳＦＣチャート内に書かれる必要があります。マクロステップは開始ステップではじまり、終了ステップで終わります。マクロの開始ステップと親のマクロステップは同じリファレンス番号でなければなりません。マクロステップを書くためのツールバーボタンを以下に示します。

マクロ開始ステップ

マクロ終了ステップ


SFCチャートの修正

マウス或いはカーソルキーにより、チャート内のセルを選択します。選択された場所はグレー色となります。選択された場所に対しては「編集」メニューのコマンド（カット、ペーストなど）が使えます。

  	切り取り／コピー／貼り付け／削除コマンド

シンボルの移動

ステップとトランジションの番号取り直し

指定ステップ、トランジションへのジャンプ

テキストの検索／置換


 	切り取り／コピー／貼り付け／削除コマンド

ツールバーで矢印ボタンが選択されているとき、以下の編集コマンドが選択されたシンボルに使えます。

 切り取り	選択された長方形領域のクリップボードへの移動

 コピー	選択された長方形領域のクリップボードへのコピー

 貼り付け	選択された長方形領域にクリップボードの内容を貼り付ける

 削除	選択された長方形領域の削除


貼り付けコマンド

「貼り付け」コマンドはステップ、トランジション、チャートに対して使えます。「コピー」、「切り取り」コマンドを選択した後に、「貼り付け」コマンドを選択し、貼り付けたい領域のセルをマウスクリックして下さい。貼り付けは上書きモードで行われます。


シンボルの移動

SFCチャートで選択されているシンボル／エレメントはマウスのドラッグ操作で別の場所へ移動させることができます。ドラッグ中は最初の場所は斜線表示されます。

シンボルの移動先は空白でなければなりません。SFCシンボルを移動中での挿入は行えません。


ステップとトランジションの番号取り直し

各ステップ、トランジションにはリファレンス番号が付けられます。この番号は「編集」－「番号取り直し」コマンドにより、編集中のＳＦＣチャートのリファレンス番号を新しく自動で取り直すことができます。この際にステップへのジャンプのリファレンス番号やマクロステップへのジャンプなどの番号も自動で更新されます。


指定ステップ、トランジションへのジャンプ

ＳＦＣチャート編集中に「編集」－「ジャンプ」コマンドにより、編集中のＳＦＣ内の指定されたステップやトランジションへジャンプできます。この際、ジャンプ先のステップやトランジションが見えるようにウィンドウのスクロールが自動で行われます。


テキストの検索／置換

「編集」－「検索／置換」コマンドにより、編集中のＳＦＣチャート内のステップ、トランジション内に記述されている全プログラムを対象にテキストの検索と置換が行えます。検索／置換のダイアログボックスで検索するテキストを入力します。もし、検索テキストが見つかった場合は、レベル２プログラムも同時に開かれます。


レベル２プログラムの入力

レベル２でのプログラムを入力する際にはＳＦＣのステップ、トランジションをダブルクリックします。レベル２プログラミングウィンドウがSFCの右側に開きます。SFCプログラムとレベル２プログラムウィンドウ間にはセパレーションラインがあり、自由にずらすことができます。

レベル２プログラムを最大２つまで同時に開くことができます。以下のキーボード入力コマンドやマウス操作に従います。

キーボード	マウス	「編集」メニュー

１つ目レベル２	Enter	ダブルクリック	「レベル２」コマンド

２つ目レベル２	Ctrl+Enter	Ctrl + ダブルクリック	 セパレートウィンドウでレベル２

２つのレベル２ウィンドウが開いているときは、これらの間のセパレーションの位置は調整できます。レベル２のタイトルバーの右上のボタンでレベル２ウィンドウを閉じることができます。

レベル２のプログラムにはディフォルトでＳＴ言語が使われます。ただし、トランジションのレベル２プログラムに関してはＬＤ言語（Quick LDエディタを使用）が使えます。レベル２ウィンドウのタイトルバーにある「ST/LD」切り替えボタンによりアクティブな言語を切り替えることができます。この切り替えはレベル２ウィンドウが空白状態のときのみ有功となります。

レベル２ウィンドウの上部には一行の編集可能なテキスト行があります。このテキストがステップやトランジションのコメントとなります。このコメントは「ジャンプ」コマンドやSFCドキュメントの印刷の時のコメントとして使われます。

「オプション」－「リフレッシュ」メニューコマンドにより、レベル２ウィンドウが開いている時にレベル２での修正内容をメインのSFCチャートに反映させることができます。

変数名の挿入

ステップにパルス（Ｐ）アクションの挿入

ステップにノーマル（Ｎ）アクションの挿入

 	P0、P1アクションクオリファイヤ

ブールアクション

ＳＦＣアクション

ＳＴでプログラムされたトランジション

Ｑｕｉｃｋ　ＬＤでプログラムされたトランジション


変数名の挿入

テキストエディタでプログラミングを行っている場合にこのボタンを選択すると、プロジェクトに宣言されている変数辞書が開かれ、挿入したい変数名を選択できます。Ｑｕｉｃｋ　ＬＤでプログラムを行っている場合は、選択されているシンボルに対して変数名、ファンクションブロック名、パラメータを選択できます。


ステップにパルス（Ｐ）アクションの挿入

ステップのレベル２プログラミングを行っている場合に、このボタンを選択することでパルスアクションブロックを挿入することができます。以下にフォーマットを示します。

Action (P) :

ST statement;

...

End_Action;

パルスアクションはステップが活性化状態になったときのみ実行されます。詳細は言語リファレンスを参照願います。


ステップにノーマル（Ｎ）アクションの挿入

ステップのレベル２プログラミングを行っている場合に、このボタンを選択することでノーマルアクションブロックを挿入することができます。以下にフォーマットを示します。

Action (N) :

ST statement;

...

End_Action;

ノーマルアクションはステップが活性化状態の時、毎サイクル実行されます。詳細は言語リファレンスを参照願います。


 	 P0、  P1アクションクオリファイア

ISaGRAFは新しく、 P0 、 P1アクションクオリファイアをサポートしています。ステップのレベル２プログラミングを行っている場合に、このボタンを選択することで P0 、 P1アクションブロックを挿入できます。以下にこれらのフォーマットを示します。

Action (P0) :	Action (P1) :

ST statement;	ST statement;

...	...

End_Action;	End_Action;

P1アクションはステップが活性化状態になったときのみ（パルスアクションと同様）に、P0アクションはステップが非活性化状態になったときのみに実行されます。詳細は言語リファレンスを参照願います。


ブールアクション

ブールアクションとは現在のステップの状態を内部・外部変数に割り当てることです。以下に基本的なブールアクションの文法を示します。（< >は入力しません）

<ブール型変数名> (N) ;	ステップのアクティビティ状態を変数に割当て

<ブール型変数名> ;	同上 (N 属性はオプション)

/ <ブール型変数名> ;	ステップのアクティビティ状態の反転を変数に

割り当て

これらの他にも、ステップ状態がアクティブになったとき変数の値をセットあるいはリセットする場合もあります。以下にこれらの文法を示します。

<ブール型変数名> (S) ;	ステップの状態がTRUEになったとき変数の値

をTRUEにする。

<ブール型変数名> (R) ;	ステップの状態がTRUEになったとき変数の値

をFALSEにする。


ＳＦＣアクション

ＳＦＣアクションではチャイルドＳＦＣのシーケンスをコントロールします。即ち、ステップの状態に応じて起動、停止、Ｋｉｌｌを行ないます。　ＳＦＣアクションにはＮ（Non store）、Ｓ（Set）、Ｒ（Reset）識別子がつきます。以下に文法を示します。

<<ﾁｬｲﾙﾄﾞﾌﾟﾛｸﾞﾗﾑ> (N) ;	ステップがアクティブになったときにチャイルドシーケンスを起動し、非アクティブになったときにチャイルドシーケンスを停止(Kill)させます。

<ﾁｬｲﾙﾄﾞﾌﾟﾛｸﾞﾗﾑ> ;	同上 (N 識別子はオプション)

<ﾁｬｲﾙﾄﾞﾌﾟﾛｸﾞﾗﾑ> (S) ;	ステップがアクティブになったときにチャイルドシーケンスを起動し、非アクティブになったときにはチャイルドシーケンスに対して何もしません。

<ﾁｬｲﾙﾄﾞﾌﾟﾛｸﾞﾗﾑ> (R) ;	ステップがアクティブになったときにチャイルドシーケンスを停止（kills）し、非アクティブになったときは何もしません。

ＳＦＣアクションで指定されているプログラムは現在編集中のチャイルドＳＦＣプログラムである必要があります。


ＳＴでプログラムされたトランジション

トランジションのレベル２プログラムはブール表現を使います。これはブール変数をＳＴの文法に従って入力することです。最後に｀；｀を付けます。


Ｑｕｉｃｋ　ＬＤでプログラムされたトランジション

トランジションのレベル２プログラムにはＱｕｉｃｋ　ＬＤを使うこともできます。この場合は、１行のラングでのみ表現しなければなりません。トランジションの状態を表すコイルには変数名を割り付ける必要はありません。以下に例を示します。.

Ｑｕｉｃｋ　ＬＤエディタでプログラムする場合、キーボードの入力のみで行うことができます。カーソルキーでカーソルを移動させ、シンボルを挿入する際には以下のファンクションキーを選択します。

F2:	接点を後に挿入

F3:	接点を前に挿入

F4:	接点を並列に挿入

F6:	ファンクションブロックを後に挿入

F7:	ファンクションブロックを前に挿入

F8:	ファンクションブロックを並列に挿入

（マウスを使って画面上をクリックすることも可能です。）

接点やファンクションブロック、入出力パラメータをカーソルで選択してENTERキーを選択すると、変数を選択するダイアログボックスが開きます。目的の変数名、ファンクションブロック名にカーソルを合わせてENTERキーを選択します。ダブルクリックによっても選択ができます。

カーソルを接点やコイルに合わせて、Ctrlキー　＋　スペースキーを選択することで接点、コイルのタイプ（ａ接点、ｂ接点）を変更することができます。詳細は、「Ｑｕｉｃｋ　ＬＤの使い方」を参照願います。


ツールバーアイコン
その他のISaGRAFツールのコール

べリファイ（コンパイル）プログラム

 	アプリケーションのシミュレーションとデバッグ

編集辞書の編集


ベリファイ（コンパイル）プログラム

「ファイル」－「ベリファイ」コマンドにより、ISaGRAFコード生成が実行されて、編集中のプログラム文法チェックを行います。ＳＦＣプログラムではレベル１、２の両方がチェックされます。文法チェックが完了したら、コード生成ウィンドウを終了して次の操作に移ります。もし、プロジェクトが現在編集中の１つのプログラムのみから構成されている場合は、エラーが存在しなければ、アプリケーションコードも生成されます。

「オプション」－「コンパイラオプション」コマンドにより、コンパイラと最適化のオプションを設定するために使われます。なお、これらの詳細は「コード生成の使い方」を参照願います。


 	アプリケーションのシミュレートとデバッグ

「ファイル」－「シミュレート」、「デバッグ」コマンドにより、ISaGRAFグラフィックデバッガーがシミュレーションモードあるいはオンラインモードで起動します。この際、各プログラムエディタは全てデバッグモードで再オープンされます。このデバッグモードではプログラムの直接の変更はできません。（一度、デバッグモードから抜け出して、プログラムエディタを通常モードで開く必要があります。）詳細は、「グラフィックデバッガがの使い方」を参照願います。


変数辞書の編集

「ファイル」－「辞書」コマンドにより、現在編集のプロジェクトの変数辞書エディタを起動します。更に、この辞書エディタからユーザ定義ワードの編集も行うことができます。詳細は、「辞書エディタの使い方」を参照願います。


その他の共通的な「ファイル」メニューコマンド

以下に、プログラムエディタの「ファイル」メニューコマンドでその他の共通的な項目をリストアップします。

別のプログラムを開く

プログラムの印刷


別のプログラムを開く

「ファイル」－「開く」コマンドにより、現在編集中のプログラムを閉じて、新しく同じ言語の別のプログラムを開くことができます。別の言語で記述されたプログラムを開くことはできません。.


プログラムの印刷

「ファイル」－「印刷」コマンドにより、編集中のプログラムを印刷することができます。ただし、この「印刷」コマンドではプロジェクトのドキュメント印刷が起動されますが、SFCの印刷のみ行われます。

ＳＦＣ、ＦＢＤ、Ｑｕｉｃｋ　ＬＤエディタでは、「編集」－「メタファイルとしてコピー」コマンドにより、編集中のダイアグラムをＷｉｎｄｏｗｓのメタファイルとしてクリップボードにコピーすることができます。この内容は他のアプリケーションに貼り付けることができます。ＳＦＣプログラムにおいてはレベル１（チャート、リファレンス番号、コメント）がその対象になります。


プログラムの修正履歴の更新

「ファイル」－「修正履歴」コマンドにより、修正履歴ファイルの編集を行うことができます。

もし、「オプション」－「修正履歴の更新」コマンドがセットされていると、変更内容をディスクに保存するたびに、以下のダイアログボックスが開きます。

“ＯＫ”ボタンが選択されると、入力されたテキストは修正履歴ファイルに日付・時間スタンプ付きで追加保存されます。この機能はプログラムのメンテナンス上有効に活用できます。


変数辞書から変数選択

 ＳＴ、ＩＬプログラムを編集中には「編集」－「変数の挿入」コマンドにより、編集中のプログラムの現カーソルに辞書に登録されている変数名を挿入できます。また、Ｑｕｉｃｋ　ＬＤでは、「編集」－「テキスト／シンボルのセット」コマンド（あるいは、シンボルや指定された領域をダブルクリック）により、ダイアグラム中の接点、コイル、ブロックの入出力パラメータ等に変数名を割り当てることができます。更に、ＦＢＤエディタでは、シンボルをダブルクリックすることにより、ダイアグラム中の接点、コイル、ブロックの入出力パラメータ等に変数名を割り当てることができます。いずれの場合においても、以下の共通の変数名選択用のダイアログボックスが表示されます。

“スコープ”用の選択コンボボックスでは変数の範囲をグローバル、ローカルから選択できます。

右上のコンボボックスでは変数の型の選択ができます。横の４つのアイコンはこの変数の型の選択を行うためのショートカットとして使うことができます。

ブール型

整数／実数型

タイマ型

可変長文字列型

変数の選択をするためには、リストの中から変数名を選択（クリック）して、選択された変数名とそのコメントが選択ボックス（リストの上部）に表示されることを確認します。次に“ＯＫ”ボタンを選択することで選択された変数名が選ばれます。尚、変数名をダブルクリックしたり、選択ボックスに直接変数名の入力を行うことによっても同じ操作が行えます。


「ツール」メニューコマンド

「ツール」メニューには以下のコマンドが含まれます。これらのコマンドにより、SFCウィンドウの下部にテキストウィンドウに情報を表示します。

「コンパイラアウトプットウィンドウ」	最後のコンパイル時のエラー表示の出力

「検索」	全ステップ、トランジション中でのテキスト検索の結果出力

「アウトプットウィンドウを隠す」	出力ウィンドウを閉じる

エラーメッセージや検索結果が表示されている時は、その行をダブルクリックすることにより、対応したステップ、トランジションのレベル２ウィンドウが開き原因個所を示します。


SFCギャラリの使い方

SFCエディタではSFCギャラリを扱うことができます。SFCギャラリとは各種SFCの構造を集めたもので、SFCチャート中に挿入することができます。SFCギャラリにはレベル２プログラムの内容を含めることができます。以下に「ツール」メニューコマンドを示します。

SFCギャラリへコピー	選択されたエレメントをSFCギャラリへコピー

SFCギャラリからのペースト	SFCギャラリ中のエレメントをSFCチャート上にペースト

SFCギャラリへエレメントをコピーする際（即ち、SFCギャラリエレメントの新規作成の際）に、レベル２プログラムを含めるかどうかの選択が行えます。