 フローチャートエディタの使い方

ISaGRAFフローチャートエディタはアクション、テストブロックをST、IL、QuickLD言語でプログラムができます。フローチャートは判断を記述するダイアグラムですが、シーケンシャル操作も記述することができます。 LDやILでは無限ループとなるような場合でも、フローチャートではターゲットでの処理をブロックすることなく戻りのジャンプの記述も可能となります。

フローチャート（FC）言語の基本要素

フローチャートの入力

フローチャート上での作業

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

レベル２プログラムのQuickLDによるプログラミング

表示オプション

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

その他のISaGRAFツールの読み出し

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

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

辞書からの変数選択


フローチャート（FC）言語の基本要素

フローチャート（FC）はシーケンシャルな処理を記述するグラフィカル言語です。フローチャートプログラムはアクションとテストから成り立っています。アクションとテストをデータの流れを示すリンクで結合します。以下にフローチャート言語の基本要素を示します。

FCチャートの開始:  "begin" シンボルはフローチャートプログラムの最初に必ず存在します。このシンボルはチャート内に１つだけ存在して、削除することはできません。このシンボルはフローチャートが実行される時の最初の状態を持ちます。

FCチャートの終了:  "end" シンボルはフローチャートプログラムの最後に必ず存在します。このシンボルはチャート内に１つだけ存在して、削除することはできません。“End”シンボルに何も接続されていないような状態（ループ状態）が可能です。このシンボルが実行された時は、フローチャートの最後の状態となります。

FCフローリンク(リンク): フローリンクはチャート内の２つのポイントを接続するラインです。リンクには流れの方向性を示す矢印がついています。２つのリンクは同一のソースとなるポイントから引かれることはありません。

FCアクション: アクションシンボルは実行されるアクションを記述します。アクションシンボルは番号と名前によって識別されます。チャート内の２つのアクションシンボルは同一の番号或いは名前を持つことができません。アクションはST、LD、ILのいずれかの言語でプログラムされます。アクションはリンクで接続され、一つのリンクがアクションに入り込み、一つのリンクがアクションから出て行きます。

FCテスト: テストシンボルはブール型の条件式を表わします。テストシンボルは番号と名前によって識別されます。ST、LD、IL言語で記述された表現の評価結果により“YES”、“NO”のいずれかのパスへフローが導かれます。ST言語でプログラムされている時は表現の最後にセミコロン（；）をつけることがあります。LD言語でプログラムされている時は、変数名が割り振られない一つのコイルが評価結果を持ちます。

FCサブプログラム: フローチャートプログラムでは階層構造のプログラムを行うことができます。一つのフローチャートは別のフローチャートを読み出すことができます。呼び出されるプログラムはFCサブプログラム（チャイルドFCプログラム）と呼ばれます。 FCサブプログラムを読み出すプログラムは親FCプログラムとも呼ばれます。フローチャートにおいてはFCサブプログラムの処理が完了するまでの間は親FCプログラムの処理はサスペンドされています。SFCプログラムでは同時実行が可能です。

FC I/O操作ブロック: I/O操作ブロックシンボルはアクションを実行するためのブロックです。他のアクションと同様にI/O操作ブロックは番号と名前で識別されます。他のアクションブロックと同じ意味を持ちますが、I/O操作ブロックではターゲットのハードウェアに依存しているI/O操作などを区別して表現することによりプログラムをわかりやすくするためのものになっています。動作そのものは他のアクションと同じです。

FCコネクタ: コネクタはチャート上での２つのポイントを直接に線を引くことなくリンクさせるために使います。コネクタは円で表現され接続ソースから接続されます。接続先となるフローチャート上のポイント（通常は接続先の名前や番号）を指定することによりコネクタの設定が終わります。

FCコメント: コメントはフローチャートの実行とは関係ありませんが、フローチャート上の任意の場所に挿入することができます。コメントによりプログラムを読みやすくドキュメントすることができます。


フローチャートの入力

フローチャートを入力するためには以下のエレメント（アクション、テスト、コネクタなど）をグラフィックエリアに配置させてこれらをリンクで接続することになります。

オブジェクトの挿入

オブジェクトの選択

コメントの挿入

フローの挿入

コネクタの挿入

オブジェクトの移動

オブジェクトのサイズ変更

テストの出力の入れ替え


オブジェクトの挿入

チャートにオブジェクトを挿入するためには、ツールバーから目的のボタンを選択して、グラフィックエリアをマウスクリックします。空白エリアに配置することも、フローリンクを選択することでリンク間に挿入させることも可能です。なお、リンク間の挿入は垂直フローリンク上でのみ可能です。

以下の基本要素を挿入することができます。

アクション（ST,IL,QuickLDのいずれかでプログラム）

IO操作ブロック

テスト（ST,IL,QuickLDのいずれかでプログラム）

コネクタ

FCサブプログラムの読み出し

コメント

ISaGRAFのフローチャートでは以下の典型的なブロックを準備しています。これらは既に引かれているフローリンクに挿入することができます。空白エリアでの配置はできません。

If / Then / Else

Repeat until

While


オブジェクトの選択

グラフィックオブジェクトの選択はプログラムの編集作業で必要になります。チャート内の一つ或いは複数のオブジェクトを選択するためには、ツールバー上の矢印のボタン [image] を選択して、チャート内のオブジェクトをマウスクリックします。複数のオブジェクトの選択の場合はマウスをドラッグして選択したい領域を指定します。選択されたオブジェクトは青色で、小さい四角によって囲まれることで表示されます。 Shiftや Ctrlキーを押しながらマウスクリックすることにより特定のオブジェクトを含めたり、はずしたりすることができます。

新しいオブジェクトを選択することで、前に選択されていたオブジェクトは選択からはずれます。すべての選択をはずしたい場合は、チャート内の空白エリアをマウスクリックします。

単一のオブジェクトの選択の場合はキーボードでの矢印キーにより選択されているオブジェクトを切り替えることができます。フローリンクも選択することができます。


コメントの挿入

チャート内の空白エリアにコメントテキストを挿入することができます。コメントはフローチャートの処理には影響を与えません。プログラムを分かり易くするために使われます。コメントを挿入するためにはツールバーからコメントボタンを選択してコメントを配置したい場所をマウスクリックします。コメントテキストを書き込む際にはコメントオブジェクトをダブルクリックします。"(*" や "*)" などの特殊な記号は挿入する必要はありません。選択されたコメントブロックはコーナー部分をドラッグすることにより、自由にサイズの変更が可能です。


フローリンクの挿入

オブジェクト間をフローリンクで接続するためにツールバー上のフローの挿入ボタンを選択します。フローの方向性にしたがってマウスをドラッグしてオブジェクト間をフローで接続します。まず、接続されていないオブジェクトを選択して、目的のポイントまでマウスをドラッグします。目的のポイントは未接続状態のオブジェクトの上部、もしくは、存在しているリンク上の場所となります。フローリンク上での結合部分は小さなグレーの円として表現されます。この結合ポイントはダイアグラムをアレンジするために移動させることができます。


コネクタの挿入

ISaGRAFフローチャートエディタではコネクタを扱うことができます。これはフローリンクと同様に２つのオブジェクト間の接続を表現するものです。コネクタを用いることで長いフローリンクを使わなくてすむために、チャートが分かり易いものになるメリットがあります。コネクタで別のフローチャートとの接続を行うことはできません。

コネクタはフローチャート上の一つのオブジェクトとして存在します。ツールバー上からコネクタのボタンを選択して、チャート上の配置する場所をマウスクリックします。この時接続先のリストボックスが表示され、これらから選択します。 コネクタは円で表現され接続先のオブジェクトの番号と名前を持つことになります。フローリンクによりコネクタが別のオブジェクトから接続されます。


オブジェクトの移動

チャート内のオブジェクトを移動するためには、移動させるオブジェクトを選択ボタンであらかじめ選択しておきます。一つ或いは複数のオブジェクトを選択しておくことができます。これらをマウスでドラッグするすることにより移動させることができます。オブジェクトは他のオブジェクトと重なり合うことはできません。

一つのオブジェクト（アクション、テストなど）が選択されて、移動させると残りのチャートも自動的に以下に接続されているオブジェクトも移動します。


オブジェクトのサイズ変更

"Begin"と"End"のシンボル以外のすべてのグラフィックオブジェクトは自由にサイズの変更が可能です。オブジェクトのサイズを変更するためには、オブジェクトを選択してオブジェクトの境界線の小さな四角部分をマウスでドラッグします。ただし、この際オブジェクトが他のオブジェクトとの重なることができない（或いはウィンドウの境界との干渉）ために、あらかじめ重なりそうなオブジェクトを移動させておく必要があるかもしれません。

垂直なフローリンクがオブジェクトと接続されている場合は、オブジェクトは水平に変更すると自動的に左右に分担されてフローリンクがオブジェクトの中心になるようになります。


テストブロックの出力の入れ替え

テストブロックから出力されるYES/NOの位置を入れ替えることができます。入れ替えるためには、YES, NOのラインのいずれかをダブルクリックします。


フローチャートの編集

フローチャートの「編集」メニューコマンドにより、選択されているオブジェクトに対しての編集が可能です。

チャートの修正

検索と置換

オブジェクトへの直接ジャンプ

オブジェクト番号の取り直し


チャートの修正

DELキーは選択したオブジェクトの削除に使えます。選択されたオブジェクトから接続されているフローリンクも同時に削除されます。「編集」－「元に戻す」メニューコマンドにより、削除されたオブジェクトを復元することができます。DELキーは複数の選択されたオブジェクトに対しても操作ができます。「切り取り」、「コピー」、「貼り付け」コマンドにより選択されたオブジェクトを移動やコピーすることができます。


検索と置換

「編集」－「検索」、「置換」メニューコマンドにより、プログラム全体（アクション、テストブロックがST,IL,QuickLDで記述されている）に対してテキストの検索、置換ができます。検索、置換は開かれているエディタウィンドウでテキストが検索され、テキストが検索されるとそのレベル２プログラムが開かれます。


オブジェクトへの直接ジャンプ

「編集」－「ジャンプ」メニューコマンドにより、或いはツールバー上の [image] ボタンの選択により、開いているフローチャート内で指定されたグラフィックオブジェクトへの直接ジャンプが行えます。ウィンドウのスクロールは自動的に行われ、オブジェクトが見えるところに表示されます。


番号の取り直し

「編集」－「番号の取り直し」メニューコマンドにより、フローチャート内でのオブジェクトに割り当てられている番号の取り直しを行います。フローチャート上でのオブジェクトはユニークな参照番号が取られます。新しいオブジェクトが挿入される毎に新しい番号が割り当てられます。「番号の取り直し」によって、チャート上の場所によってオブジェクトの番号が取り直されます。番号は上から下へ、左から右へ番号が増加します。


表示オプション

「オプション」－「レイアウト」メニューコマンドにより、チャートの画面表示に関係するパラメータがまとめられたダイアログボックスが開きます。「ワークスペース」グループボックスではツールバーやステータスバーの表示／非表示が行えます。「ドキュメント」グループボックスでは編集グリッドの表示／非表示やカラーモードの選択を行えます。

ツールバー上の「ズーム」 ボタンにより、表示のズーム率を変更することができます。このボタンはテストやアクションを記述するレベル２プログラミングでも有効となります。（選択されているウィンドウがズームの対象となります。）

ツールバー上の「グリッド」ボタンにより、編集グリッドの表示／非表示を行うことができます。このボタンはテストやアクションを記述するレベル２プログラミングでも有効となります。（選択されているウィンドウがズームの対象となります。）

「オプション」―「フォント」メニューコマンドにより、チャート内のテキストフォントのタイプを選択することができます。ST,ILプログラムではフォントのサイズも有効に設定できます。FC, QuickLDではフォントサイズは画面サイズに対応して自動的に変更されますのでサイズの設定は無効となります。


その他のISaGRAFツール読み出し
その他のISaGRAFツールの読み出し

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

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

変数辞書の編集


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

「ファイル」－「ベリファイ」メニューコマンドにより、開いているプログラムのプログラムの文法チェックを行います。フローチャートではメインのチャートとレベル２プログラムの両方がチェックされます。もし、アプリケーション内に一つのプログラムしか存在しない場合は、ベリファイでエラーが検出されない時にはアプリケーションのコード生成も行われます。「オプション」－「コンパイルオプション」メニューコマンドにより、コード生成時の最適化パラメータを調整することができます。アプリケーションコード生成に関する詳細は“アプリケーションコード生成の使い方”を参照願います。


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

「ファイル」－「シミュレート」、「ファイル」－「デバッグ」メニューコマンドにより、グラフィックデバッガをシミュレーションモード、或いは、オンラインモードで起動し、再び、フローチャートエディタを開きます。デバッグモードで再オープンされたエディタではプログラムの修正は行えません。


変数辞書の編集

「ファイル」－「辞書」メニューコマンドにより、変数辞書を編集することができます。ここでは編集中のプログラムでのみ有効なローカル変数、ローカル定義ワードの編集ができます。


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

「ファイル」メニューコマンドには以下のコマンドがあります。

別プログラムを開く

プログラムの印刷


別プログラムを開く

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


プログラムの印刷

「ファイル」－「印刷」コマンドにより、編集中のプログラムを印刷できます。このコマンドはプロジェクトのドキュメント生成を起動させます。ここで、印刷すべき項目を追加、削除することもできます。


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

「ファイル」－「修正履歴」メニューコマンドにより、編集中のプログラム修正履歴ファイルを編集することができます。このファイルはプログラムが文法チェックのためにベリファイされる毎に出力メッセージが記入され自動更新されています。ベリファイの結果の出力は日付とともに表わされています。

「オプション」―「修正履歴の更新」コマンドが選択されている時は自動的にプログラムが保存される毎に修正履歴を編集するダイアログボックスが開きます。

ここで、テキストの入力の後で「ＯＫ」ボタンを選択することにより、日付スタンプとともに保存されます。この機能はプログラムのメンテナンス上でプログラムの編集履歴を後で確認できるために大変有効です。


辞書からの変数選択

 ST, ILプログラムを編集中に「編集」－「変数選択」メニューコマンドにより、変数選択用のダイアログボックスが開き、現在のカーソルの場所に既に辞書で宣言されている変数を挿入することができます。

QuickLDプログラムを編集中でも接点、コイル、ブロックのパラメータを選択する場合にも同様に変数選択用のダイアログボックスが開きます。

ダイアログボックスで「スコープ」選択ボックスがグローバル、ローカル変数の切り替えを行います。この右側の選択ボックスではデータのタイプを選択できます。以下に示すアイコンボタンによっても変数タイプを切り替えることができます。

ブール型

整数／実数型

タイマ型

文字列型

変数を選択する場合には、リストボックス上の変数名を選択して「ＯＫ」ボタンを選択します。この時、選択された変数名と割り当てられているコメントが表示されます。或いは、変数のリストボックスを使わずに、直接変数名をタイプ入力することもできます。定数の入力を行うこともできます。


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

「ツール」メニューには以下のコマンドが含まれます。これらはフローチャートエディタの下部ウィンドウに情報を表示するために使われます。

「コンパイラアウトプットウィンドウの表示」	最後のコンパイルでのメッセージを表示

「検索」	プログラム全体からテキストの検索を行った結果を表示

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

エラーメッセージや検索結果がアウトプットウィンドウに表示されている時は、これをダブルクリックすることでプログラム中の指定場所を表示します。

プログラムがベリファイ（コンパイル）されていない場合は、このアウトプットウィンドウを表示させることはできません。


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

アクションやテストブロックにレベル２プログラムを記述する際には、アクションやテストブロックを選択してダブルクリックします。レベル２プログラムウィンドウがフローチャートウィンドウの右側に開きます。フローチャートウィンドウとレベル２プログラムウィンドウの間の境界はマウスで自由に移動することができます。最大で２つまでのレベル２ウィンドウを同時に開くことができます。以下にレベル２ウィンドウを開くためのキーボード、マウス、「編集」メニュー操作を示します。

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

最初のレベル２ウィンドウ	Enter	ダブルクリック	レベル２の編集

２つ目のレベル２ウィンドウ	Ctrl+Enter	Ctrl + ﾀﾞﾌﾞﾙｸﾘｯｸ	セパレートウィンドウでレベル２の編集

２つのレベル２ウィンドウが開いている時はこれらの境界はマウスで自由に移動できます。レベル２ウィンドウの右上のボタンでウィンドウを閉じることができます。

レベル２プログラミング言語のデフォルトはST言語です。なお、プログラム言語はIL, QuickLD言語を用いることも可能です。選択されているプログラミング言語はウィンドウのタイトルバー右側に表示されます。プログラミング言語を変更する場合はこの部分をマウスクリックして変更します。「オプション」－「レベル２言語の設定」メニューコマンドによっても言語を切り替えることができます。ただし、プログラミング言語の切り替えはレベル２プログラムが空白の状態の時にのみ有効です。一度、プログラムを行った場合はこれを完全に削除することで再度選択が可能となります。

レベル２ウィンドウのタイトルバー下部に１行のテキスト編集ボックスが開きます。ここで入力されたテキストはテストやアクションブロックのコメントとなり、「ジャンプ」コマンドなどでジャンプ先を選択する場合に有効に使えます。また、フローチャートの印刷の際にも表示されます。

「オプション」－「リフレッシュ」メニューコマンドにより、レベル２プログラムの内容をメインフローチャートプログラムに反映させることができます。


Quick LDによるプログラミング

レベル２プログラミングにQuick LDエディタを使うことができます。テストブロックでのLDプログラムでは１行のラングのみプログラムすることになります。コイルへ変数割り当ては必要がありません。以下に例を示します。

Quick LDによるプログラミングで、ラダープログラム用のシンボルを挿入するためのショートカットキーを以下に示します。

F2:	接点を後に挿入／ラングの開始に使用

F3:	接点を前に挿入

F4:	接点を並列に挿入

F5:	コイルを並列に挿入（テストブロックでは使えません）

F6:	ブロックを後に挿入

F7:	ブロックを前に挿入

F8:	ブロックを並列に挿入

F9:	選択されたコイルと並列でジャンプの挿入（テストブロックでは使えません）

ジャンプの飛び先はラング名となります。ラング名を入力する際には、ラングの先頭（左端）にカーソルをセットしてENTERキーを選択します。既に入力済みのラベル名が表示され、新規にラング名を入力することができます。また、ジャンプ先を入力する「ラベルへジャンプ」ダイアログボックスではジャンプ先のラベル名を選択します。「削除」ボタンによりジャンプ先のラベル名を削除することができます。但し、この操作によってラベル名そのものは削除することはできません。

接点、コイル、ブロックの入出力パラメータにカーソルを選択した状態でENTERキーを選択することで変数を割り当てることができます。ブロックにカーソルを置くことによりファンクションブロックのタイプを選択することができます。ダブルクリックによっても同様のことができます。

CNTL＋スペースキーによって選択されている接点のタイプ（A接点、B接点など）を変更することができます。詳細はQuick LDエディタの使い方を参照願います。