【手続補正書】
【提出日】平成17年1月13日(2005.1.13)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【書類名】    明細書
【発明の名称】  プログラマブルコントローラの周辺装置
【特許請求の範囲】
【請求項１】  機械装置の動作を制御するＰＣ（プログラマブルコントローラ）に接続されるプログラマブルコントローラの周辺装置において、前記ＰＣとデータの授受を行なうインタフェース部と、ＳＦＣ（シーケンシャルファンクションチャート）プログラムを記憶しているＳＦＣプログラム記憶部と、ＳＦＣプログラム記憶部に記憶されたＳＦＣプログラムに基づくＳＦＣ図のキャラクタと当該ＳＦＣ図のステップまたはトランジション内に記述されるＺＯＯＭのキャラクタとを同一画面に表示する関連付け情報を格納するキャラクタメモリ部と、前記キャラクタメモリ部のデータに基づいてＳＦＣ図とＺＯＯＭをモニタするための情報を前記インタフェース部を介して前記ＰＣから収集するモニタ部と、前記キャラクタメモリ部の関連付け情報と前記モニタ部のモニタ情報とに基づいて表示手段に表示させるＳＦＣ図の複数のステップまたはトランジションとこれら表示させる複数のステップまたはトランジションに対応するＺＯＯＭをそれぞれ関連づけさせて表示手段に表示させる表示部とを備えたことを特徴とするプログラマブルコントローラの周辺装置。
【請求項２】  前記表示部は、前記複数のステップをトランジション毎に活性状態または非活性状態に表示させるとともに、活性状態または非活性状態のステップに対応してトランジション内の対応するＺＯＯＭの出力状態を変更して表示させることを特徴とする請求項１記載のプログラマブルコントローラの周辺装置。
【請求項３】  前記キャラクタメモリ部には、ＳＦＣ図のキャラクタメモリ領域に該キャラクタメモリ領域のステップまたはトランジションに対応するＺＯＯＭのキャラクタメモリのアドレスが格納されていることを特徴とする請求項１または請求項２記載のプログラマブルコントローラの周辺装置。
【請求項４】  ＺＯＯＭは複数種類のプログラムから成ることを特徴とする請求項３記載のプログラマブルコントローラの周辺装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は機械等の動作を制御するコントロール装置に関する発明である。
【０００２】
【従来の技術】
従来から、機械設備のシ−ケンス制御を行うために、その機械設備に接続されたプログラマブルコントローラ（以下「ＰＣ」という）が用いられている。また、このＰＣがシーケンス制御を行うため、周辺装置がプログラムを作成している。更にまた、ＰＣにプログラムを転送したり、ＰＣがシーケンス制御を行っている状態を監視する機能を、その周辺装置は有している。周辺装置は、シーケンシャルファンクションチャート（以下「ＳＦＣ」という）プログラムのモニター表示を行う。
【０００３】
ＰＣに転送するプログラムの記述方式には、ラダー図方式、フロー式、ニーモニック方式などがあるが、ＳＦＣもこの記述方式の１つである。
【０００４】
ＳＦＣは、シーケンス制御に使用される全言語に共通の順序制御における実行順序や処理内容の表現形式で、国際電気標準会議（ＩＥＣ）の国際規格でもある。
ＳＦＣはステップ、トランジション、リンクの３つの記述要素によって構成される。上記ステップは１つのアクションを表すもので、アクティブな論理（活性）状態と非アクティブな論理（非活性）状態を持ち、アクティブ状態（条件成立状態）のときだけに１対１に対応するアクションの内容を実行する。上記トランジションはステップ間の遷移を表すもので、ステップを活性状態にするための条件が関連づけられている。すなわち、条件が真であれば、遷移に先行するステップが非活性化され、遷移に続くステップが活性化される。上記リンクは通常下に向かって実行される制御の流れを変える分岐を表すもので、前のステップに戻すといった場合に使用する。
【０００５】
【発明が解決しようとする課題】
従来の周辺装置は、ＳＦＣ図とステップまたはトランジション内のラダー図を同一画面に表示するものなので、ＳＦＣ図とステップまたは、トランジション内のラダー図を同一画面上に全て表示できなかった。つまり、別のステップまたはトランジションに設定されたラダー図を参照する場合、参照したいステップまたはトランジションまでカーソルを移動した後、所定のラダー図を選択し、この選択した後、画面上の表示きり変えを行うことにより、ユーザーは、周辺装置に接続された機械装置等（例えば放電加工装置等）の動作プログラムを確認していた。
また、複数のステップが活性状態になっている場合、それぞれのステップに設定されたラダー図を同時にモニタできなかっため、デバッグの作業効率が悪いという欠点があった。
更にまた、ＳＦＣ図とステップまたはトランジションに設定されたラダー図は表示画面が別々に存在してたため、どのステップまたはトランジションに対応するラダー図なのかを、ユーザーが理解しにくいという欠点があった。
【０００６】
本発明の目的は、ＳＦＣ図のステップまたはトランジションに設定されたラダー図を、周辺装置の表示手段の同一画面上に表示する場合、すべてのステップまたはトランジションに設定されたラダー図を、周辺装置の表示手段の同一画面上に表示することにより、ＳＦＣプログラムの可読性とデバッグの作業効率の向上をはかるものである。
また、ＳＦＣ図のステップまたはトラジションに設定されたラダー図を、周辺装置の表示手段において、ユーザーが認識しやすくすることである。
【０００７】
【課題を解決するための手段】
この発明に係るプログラマブルコントローラの周辺装置は、機械装置の動作を制御するＰＣ（プログラマブルコントローラ）に接続されるプログラマブルコントローラの周辺装置において、前記ＰＣとデータの授受を行なうインタフェース部と、ＳＦＣ（シーケンシャルファンクションチャート）プログラムを記憶しているＳＦＣプログラム記憶部と、ＳＦＣプログラム記憶部に記憶されたＳＦＣプログラムに基づくＳＦＣ図のキャラクタと当該ＳＦＣ図のステップまたはトランジション内に記述されるＺＯＯＭのキャラクタとを同一画面に表示する関連付け情報を格納するキャラクタメモリ部と、前記キャラクタメモリ部のデータに基づいてＳＦＣ図とＺＯＯＭをモニタするための情報を前記インタフェース部を介して前記ＰＣから収集するモニタ部と、前記キャラクタメモリ部の関連付け情報と前記モニタ部のモニタ情報とに基づいて表示手段に表示させるＳＦＣ図の複数のステップまたはトランジションとこれら表示させる複数のステップまたはトランジションに対応するＺＯＯＭをそれぞれ関連づけさせて表示手段に表示させる表示部とを備えたものである。
【０００８】
また、前記表示部は、前記複数のステップをトランジション毎に活性状態または非活性状態に表示させるとともに、活性状態または非活性状態のステップに対応してトランジション内の対応するＺＯＯＭの出力状態を変更して表示させるものである。
【０００９】
また、前記キャラクタメモリ部には、ＳＦＣ図のキャラクタメモリ領域に該キャラクタメモリ領域のステップまたはトランジションに対応するＺＯＯＭのキャラクタメモリのアドレスが格納されているものである。
【００１０】
また、ＺＯＯＭは複数種類のプログラムから成るものである。
【００１１】
【発明の実施の形態】
実施の形態１．
図１（ａ）は、ユーザーが、周辺装置のＳＦＣの状態を、監視（以下「モニタ」という）している画面イメージ図である。
図において左側はＳＦＣ図、右側はＳＦＣ図のステップもしくは、トランジション内に記述されているラダー図（以下ＺＯＯＭという）である。１０１はステップｓ１が活性状態を表す反転表示に、１０３はステップｓ１のＺＯＯＭであり、Ｙ２０,Ｙ２１がそれぞれ出力状態を表す反転表示となっている。１０２はステップｓ２へ活性状態が移る条件としてのトランジションｔ１であり、ステップｓ２へ活性状態が遷移すると、図１（ｂ）の表示に変化する。活性状態が遷移することにより、ＳＦＣ図のカーソルは１０１のステップｓ１から，２０１のステップｓ２へ移動し、２０１のステップｓ２は活性状態を表す反転表示となる。また、ＺＯＯＭ表示はステップｓ１のＺＯＯＭ１０３からステップｓ２のＺＯＯＭ２０２に変化する。ステップｓ２が活性状態であることから、２０２のＺＯＯＭはＴ０が出力状態を表す反転表示となっている。
【００１２】
次に，上記周辺装置が、ＳＦＣの状態を監視する動作について、図２のＰＣの周辺装置構成図および、図３と図４のフローチャートを用いて説明する。
図２において、５１３はＰＣの周辺装置、５０３は機械装置に接続し、その機械装置の動作を制御するＰＣ、５１２はＰＣの周辺装置５１３に接続されＳＦＣ図などの各種情報をオペレータに対して表示するための手段であり例えばＣＲＴ等で構成される、５０４はＰＣの周辺装置５１３内に設けられＰＣ５０３との間でデータの授受を行うＰＣＩ／Ｆ部、５０１はＰＣの周辺装置５１３に接続されオペレータからの指示を入力するキーボード、５０２はＰＣの周辺装置５１３に接続され、オペレータからの指示を入力するマウス、５０５はＰＣの周辺装置５１３内にＳＦＣプログラムを記憶しているＳＦＣプログラム記憶部、５０８はＳＦＣプログラム記憶部５０５内に記憶されたＳＦＣプログラムに従いＳＦＣ図を画面に表示するためのデータ（以下キャラクタメモリという）を作成するＳＦＣキャラクタメモリ部、５０９はＳＦＣキャラクタメモリ部５０８で作成されたキャラクタメモリに従いＳＦＣ図で活性中のステップをＰＣＩ／Ｆ部５０４を介してＰＣ５０３から収集するＳＦＣモニタ部、５０７はＳＦＣキャラクタメモリ部５０８と同様に、ＳＦＣプログラムにもとづいてＺＯＯＭを表示するためのキャラクタメモリを作成するＺＯＯＭキャラクタメモリ部、５０６はＳＦＣモニタ部５０９と同様に、ＰＣ５０３からＺＯＯＭ内の接点やコイルのＯＮ／ＯＦＦの状態を収集するＺＯＯＭモニタ部、５１１はＳＦＣキャラクタメモリ部５０８で作成されるキャラクタメモリとＳＦＣモニタ部５０９が収集したモニタ情報に従い実際にＣＲＴ表示５１２にＳＦＣ図として表示するＳＦＣ表示部、５１０はＳＦＣ表示部と同様にＺＯＯＭの表示をＺＯＯＭキャラクタメモリ部５０７およびＺＯＯＭモニタ部５０６のモニタ情報に従いＣＲＴ表示５１２上に表示するためのＺＯＯＭ表示部である。
【００１３】
オペレータより、ＳＦＣプログラムのモニタを開始する指示があった場合、まず、ＳＦＣキャラクタメモリ部５０８によってＳＦＣ図のキャラクタメモリが作成される。具体的には図３に示すとおりである。まずステップＳ１２０１でＳＦＣ図がまだ表示されていないか、ＳＦＣ図の表示内容が変化した場合のみキャラクタメモリを作成すれば良いのでその判断を行う。この判断の結果、まだＳＦＣ図が表示されていない場合、もしくは表示画面がスクロールすることによりＳＦＣ図の表示内容が変わった場合、ステップＳ１２０２でＳＦＣプログラムからＳＦＣ図のキャラクタメモリを作成する。ＳＦＣプログラムは図５のようなニーモニック形式でＳＦＣプログラム記憶部５０５に格納されており、図５のＳＦＣプログラムは図１のＳＦＣ図をニーモニック形式にしたものである。図５において６５１はＳＦＣプログラムであることを表す命令、６５２はステップｓ０を表す命令、６５３はトランジションｔ０を表す命令、６５４はトランジションｔ０の次にステップｓ１があることを表す命令、６５５はステップｓ１を表す命令、６５６と６５７はステップｓ１のＺＯＯＭに存在する命令、６５８はトランジションｔ１を表す命令、６５９と６６０はトランジションｔ１のＺＯＯＭに存在する命令、６６１はトランジションｔ１の次にステップｓ２があることを表す命令、６６２はステップｓ２を表す命令、６６３はステップｓ２のＺＯＯＭに存在する命令、６６４はトランジションｔ２を表す命令、６６５はトランジションｔ２のＺＯＯＭに存在する命令、６６６はトランジションｔ２の次にはステップが存在しないことを表す命令、６６７はＳＦＣプログラムの終わりを表す命令である。またキャラクタメモリとは、ＳＦＣプログラムを実際に画面上に表示し易い形式にした表示用のデータのことで、ＳＦＣ図用キャラクタメモリの構造は、図６〜７の通りである。図６はＳＦＣ図の１つのステップやトランジション分のキャラクタメモリ情報の構造であり、５１はステップやトランジション,リンクといった種別を表し、５２は表示用キャラクタタイプで実際に画面上に表示するステップやトランジションの記号を表す。また５３のステップ番号／トランジション番号／リンク方向のデータには、種別５１がステップまたはトランジションの場合はそれぞれステップ番号／トランジション番号５３を示し、リンクの場合にはリンク方向５３を表す。図７はＳＦＣキャラクタメモリ部５０８に格納されるキャラクタメモリ全体の構造であり、ＳＦＣ図全体を表示するための情報を表す。実際のキャラクタメモリの情報はキャラクタメモリデータ領域８０３に図６で示した１つのステップ、トランジションまたはリンクのキャラクタメモリ情報を表示イメージに合わせて二次元配列に並べたものとなる。キャラクタメモリ幅８０１は二次元配列の列方向の最大を示し、キャラクタメモリ高さ８０２は二次元配列の行方向の最大を示す。この構造をＳＦＣプログラム記憶部５０５に記憶されているＳＦＣプログラムのデータに従って作成する。例えば、図５のＳＦＣプログラム６５２はステップｓ０を表しているが、これを図６の形式に変換する。図６の種別５１はステップ、表示用キャラクタタイプ５２はキャラクタ５４、ス��ップ番号５３は０となる。次に図６の形式に変換したデータを図７のキャラクタメモリデータ領域８０３の座標（Ｘ０，Ｙ０）のキャラクタメモリ情報に格納する。このようにして６５１から６６７までの命令を順に変換して、キャラクタメモリを作成する。このときＺＯＯＭの命令は無視される。その後、作成されたキャラクタメモリは、ＳＦＣ表示部５１１によってＣＲＴ表示５１２へ送られ、画面の左半分に表示する。
【００１４】
次に、ＺＯＯＭキャラクタメモリ部５０７によってＺＯＯＭのキャラクタメモリが作成される。その動作を図８のフローチャートを用いて説明する。まず、ＺＯＯＭについてはＳＦＣ図上のカーソル位置のステップまたは、トランジション内のラダー図を表示するため、図８のステップＳ１２１１でＳＦＣ図上に表示されているカーソル位置の座標（Ｘｎ，Ｙｎ）をＳＦＣキャラクタメモリ部５０８より取得する。通常最初に画面が表示された場合は、カーソル位置は左上の（１，１）に設定されている。次にステップＳ１２１２でステップＳ１２１１で求めたカーソル位置の座標（Ｘｎ，Ｙｎ）からカーソル位置の図６で示したＳＦＣキャラクタメモリ情報をＳＦＣキャラクタメモリ部５０８より取得する。取得したキャラクタメモリ情報から種別５１、ステップ番号またはトランジション番号５３が取得できるので、ステップＳ１２１３でそれに対応する命令をＳＦＣプログラム記憶部５０５にあるＳＦＣプログラムから検索する。最後にステップＳ１２１４で検索した命令の次のアドレスから格納されているカーソル位置のステップまたはトランジション内に設定されたニーモニック形式の命令をＳＦＣプログラム記憶部５０５より取得して、このニーモニック形式の命令をラダー図キャラクタメモリに変換してＺＯＯＭキャラクタメモリを作成する。ラダー図キャラクタメモリの構造は、図９〜図１０の通りである。図９はラダー図の１つの接点やコイルなどの表示用データであり、図９におて、分岐記号９０１は命令記号９０２がどの様なリンクで接続されているかのパターンを示し、命令記号９０２では接点やコイルなどのラダー記号の種別を示す。アドレス９０３は接点やコイルなどに関連付けられているＰＣ内の入出力などのデバイスのアドレスを格納し、同様に命令コード９０４に関連する命令コードが格納されている。図１０はラダー図全体のキャラクタメモリの構造であり、ＳＦＣキャラクタメモリと同様に、図９で示した１つのキャラクタメモリデータを表示イメージに合わせて二次元配列で格納する。全体行数１００１はキャラクタメモリの行数の最大を示し、列数１００２は各々の行の列方向の最大を示す。その後、作成されたキャラクタメモリは、ＺＯＯＭ表示部５１０によってＣＲＴ表示５１２へ送られ、画面の右半分に表示する。
【００１５】
この段階で、画面表示が完了する。次に表示されたＳＦＣ図やＺＯＯＭ上に実際のＰＣの状態をモニタ表示するために、ＳＦＣモニタ部５０９やＺＯＯＭモニタ部５０６がＰＣＩ／Ｆ部５０４を介してＰＣ５０３よりモニタ情報を収集して表示を行う。ＳＦＣ図側ではステップが活性か非活性かのビット情報をＰＣから収集し画面上の該当ステップを反転表示する。ＺＯＯＭ側ではラダー図に表示されている接点やコイルのＯＮ／ＯＦＦのビット情報をＰＣから収集して反転表示で表す。
【００１６】
まずＳＦＣモニタ部５０９によりＳＦＣ図のモニタデータが作成され、同様にＺＯＯＭモニタ部５０６によりＺＯＯＭのモニタデータが作成される。その動作を図４および図１１のフローチャートを用いて説明する。まずＳＦＣモニタ部５０６ではステップＳ１３０１でステップの活性か非活性かのビット情報をＰＣから収集するため、ＳＦＣキャラクタメモリ部５０８からキャラクタメモリ中に存在するステップ番号を図６、図７で示したキャラクタメモリ情報のステップ番号５３からすべて取得する。次にステップＳ１３０２はＳ１３０１で得たステップ番号の状態をＰＣＩ／Ｆ部５０４を介してＰＣ５０３に問い合わせて活性か非活性かのビット情報をＰＣ５０３より取得する。この処理はオペレータによりモニタの中断が行われるまで繰り返される。 一方ＺＯＯＭモニタ部５０９では接点やコイルのＯＮ／ＯＦＦのビット情報をＰＣ５０３から収集するが、実際には接点やコイルに付属するデバイスのＯＮ／ＯＦＦのビット情報を取得するれば良いので、このビット情報をＰＣ５０３から取得する。まず、ステップＳ１３１１でＺＯＯＭキャラクタメモリ部５０７で作成されたラダー図のキャラクタメモリ内で使用されているデバイスをＺＯＯＭキャラクタメモリ部５０７の図９で示したアドレス９０３からすべて取得する。次にステップＳ１３１２ではステップＳ１３１１で取得したデバイスの一覧を作成する。最後にステップＳ１３１３では、ステップＳ１３１２で作成したデバイス一覧をＰＣＩ／Ｆ部５０４を介してＰＣ５０３へ登録して、デバイス一覧にある各デバイスのＯＮ／ＯＦＦのビット情報をＰＣ５０３から収集する。
【００１７】
最後にＳＦＣモニタ部５０９で作成したモニタデータは、ＳＦＣ表示部５１１によりＣＲＴ表示５１２へ送られ、既に表示されているＳＦＣ図上の活性ステップを反転表示する。同様に ＺＯＯＭモニタ部５０６で作成したモニタデータは、ＺＯＯＭ表示部５１０によりＣＲＴ表示５１２へ送られ、既に表示されているラダー図上のデバイスの状態を表示する。
この様にして、画面の左側にＳＦＣ図のモニタ表示、右側に左側のＳＦＣ図上のカーソルで指定した位置のＺＯＯＭのモニタ表示を行い、オペレータにＰＣ５０３の動作状態を伝えている。
【００１８】
実施の形態２．
次にこの発明の実施の形態２について説明する
図１２（a）は、実施の形態２によるモニタ画面イメージ図である。なお、図１２（a）,図１２(b)、図１３（ａ）は、一つの画面上に同時に表示され、コントロール装置が、トランジションに設定されたラダー図を前記制御プログラムと対応するように同一画面上に表示状態を示す。ＳＦＣ図と個々のステップ、トランジションに設定されたラダー図が同一画面上に表示されており、３０１はステップｓ１が活性状態を表す反転表示に、３０４はステップｓ１に設定されたラダー図で、Ｙ２０,Ｙ２１がそれぞれ出力状態を表す反転表示となっている。３０２はステップｓ２へ活性状態が移る条件トランジションｔ１であり、３０３はトランジションｔ１に設定されたラダー図である。３０３のＸ０、Ｘ７８がそれぞれＯＮの状態になると、ステップｓ２へ活性状態が遷移するため、図１２（ｂ）のような表示に変化する。４０１はステップｓ２が活性状態を表す反転表示に、４０２はステップｓ２に設定されたラダー図で、Ｔ０が出力状態を表す反転表示となっている。図１３（ａ）は、ＳＦＣ図に分岐がある場合のモニタ画面イメージ図であり、４１０のステップｓ１と４１１のステップｓ４が同時に活性状態になっていることを示している。分岐した場合も（ａ）、（ｂ）と同様ＺＯＯＭのラダー図がそれぞれのステップ、トランジションの右側に表示される。
【００１９】
また、実施の形態２ではＺＯＯＭのプログラムを論理記述式言語で表現することができる。図１３（ｂ）はＺＯＯＭのプログラムをラダー図から論理記述式言語に置き換えたプログラムでモニタしているイメージ画面であり、反転表示になっている箇所はＳＦＣステップの活性または接点／コイルのＯＮ状態を表している。論理記述式言語とはシーケンスプログラムを論理式で表現したもので、命令（１文字目の英小文字）と１デバイスの文字列を最小単位とし、ステップではコイル命令を“，”で区切りながら羅列して、トランジションではＡＮＤ“＆”／ＯＲ“｜”条件で各単位を接続してシーケンスプログラムを表現している。図１３（ｂ）の４２０はステップｓ１に設定された論理式で、ｏＹ２０はニーモニック命令で表現するとＯＵＴ  Ｙ２０となり、同様にｏＹ２１はＯＵＴ  Ｙ２１となる。ｏＹ２０とｏＹ２１は，で区切られており、ラダー図で表現した場合、図１３（ａ）の４１２のラダー図のように並列コイルとなる。４２１はトランジションｔ１に設定された論理式で、ａＭ１００はＡ接点のデバイスＭ１００であることを示しており、ｂＭ１０１はＢ接点のデバイスＭ１０１であることを示しており、ａＤ０．１はＡ接点のデバイスＤ０．１であることを示している。ａＭ１００とｂＭ１０１の間はＯＲ条件である｜で区切られ、ｂＭ１０１とａＤ０．１の間はＡＮＤ条件である＆で区切られていることから、ニーモニック命令で表現した場合、ＬＤ  Ｍ１００、ＯＲＩ  Ｍ１０１、ＡＮＤ  Ｄ０．１となる。ラダー図で表現した場合、図１３（ａ）の４１３のラダー図と同じになる。
【００２０】
次に実施の形態２によるモニタの動作について図１４のＰＣの周辺装置構成図および、図１５、図１６および図１７のフローチャートを用いて説明する。
図１４において、５１３はＰＣの周辺装置、５０３はＰＣ、５１２はＰＣの周辺装置５１３に接続されＳＦＣ図などの各種情報をオペレータに対して表示するための手段であり例えばＣＲＴ等で構成される。５０４はＰＣの周辺装置５１３内に設けられＰＣ５０３との間でデータの授受を行うＰＣＩ／Ｆ部、５０１はＰＣの周辺装置５１３に接続されたオペレータからの指示を入力するキーボード、同様に５０２はＰＣの周辺装置５１３に接続されオペレータからの指示を入力するマウス、５０５はＰＣの周辺装置５１３内にＳＦＣプログラムを記憶しているＳＦＣプログラム記憶部、６０２はＳＦＣプログラム記憶部５０５内に記憶されたＳＦＣプログラムに従いＳＦＣ図とＺＯＯＭを同一画面に表示するためのキャラクタメモリを作成するＳＦＣ・ＺＯＯＭキャラクタメモリ部、６０１はＳＦＣ・ＺＯＯＭキャラクタメモリ部６０２で作成されたキャラクタメモリのデータに従いＳＦＣ図とＺＯＯＭをモニタするための情報をＰＣＩ／Ｆ部５０４を介してＰＣ５０３から収集するＳＦＣ・ＺＯＯＭモニタ部、６０３はＳＦＣ・ＺＯＯＭキャラクタメモリ部６０２で作成されるキャラクタメモリとＳＦＣ・ＺＯＯＭモニタ部６０１が収集したモニタ情報に従い実際にＣＲＴ表示５１２にＳＦＣ図とＺＯＯＭを同一画面に表示するＳＦＣ・ＺＯＯＭ表示部である。
【００２１】
まず、オペレータよりＳＦＣプログラムを表示する指示があった場合、ＳＦＣ・ＺＯＯＭキャラクタメモリ部６０２によってＳＦＣ図のキャラクタメモリが作成される。その動作を図１５のフローチャートを用いて説明する。ステップＳ１４０３でまだＳＦＣ図が表示されていないか、表示内容が変化した場合のみキャラクタメモリを作成すれば良いのでその判断を行う。判断はまだＳＦＣ図が表示されていない時、もしくはオペレータの指示により表示画面がスクロールすることによりＳＦＣ図の表示内容が変わった時にキャラクタメモリを作成するというもので、その場合、ステップＳ１４０４でＳＦＣプログラム記憶部５０５のＳＦＣプログラムの内容に従って、ＳＦＣ・ＺＯＯＭキャラクタメモリ部６０２が１画面分のＳＦＣ図と個々のステップ、トランジションに対応するＺＯＯＭキャラクタメモリを作成して、ＳＦＣ図とＺＯＯＭが関連付けされたＳＦＣ・ＺＯＯＭキャラクタメモリを作成する。
【００２２】
次に図１５のステップＳ１４０４においてＳＦＣ・ＺＯＯＭキャラクタメモリ作成の詳細を図１７のフローチャートを用いて説明する。ＳＦＣ・ＺＯＯＭのキャラクタメモリの構成は図７の通りで、ＳＦＣプログラム記憶部５０５に記憶されているＳＦＣプログラムのデータに従って作成され、ＳＦＣ・ＺＯＯＭキャラクタメモリ部６０２に格納される。図１８、図１９はＺＯＯＭのプログラムがラダー図であるときの構成、図２０はＺＯＯＭのプログラムが論理記述式言語であるときの構成を示している。１１０３のＳＦＣキャラクタメモリ領域には図６で示した１つのステップ、トランジションまたはリンクのＳＦＣキャラクタメモリ情報とステップまたはトランジションに対応するＺＯＯＭキャラクタメモリが格納されているアドレスが、図１４のＣＲＴ表示５１２で表示される表示イメージに合わせて二次元配列に格納されたものとなる。図１８、図１９の１１０３の詳細は１１０５〜１１２２に示される部分であり、二次元配列の座標（Ｘ０，Ｙ０）から（Ｘ１，Ｙ０）、（Ｘ２，Ｙ０）．．．（Ｘ０，Ｙ１）．．．（Ｘｎ，Ｙｎ）の順にキャラクタメモリ情報とＺＯＯＭキャラクタメモリのアドレスが格納される。例えば、１１０５は座標（Ｘ０，Ｙ０）のＳＦＣキャラクタメモリ情報、１１０６は座標（Ｘ０，Ｙ０）のステップまたはトランジションに対応するＺＯＯＭキャラクタメモリが格納されているアドレスが格納され、対応するＺＯＯＭキャラクタメモリが存在しない場合は０が格納される。１１０１のキャラクタメモリの幅は二次元配列の列方向の最大を示し、１１０２のキャラクタメモリの高さは二次元配列の行方向の最大を示す。図１８の１１０４は１１０３のＳＦＣキャラクタメモリ領域のＺＯＯＭキャラクタメモリが格納されているアドレスの参照先であり、ＺＯＯＭのプログラムがラダー図の場合、図１０で示したラダー図キャラクタメモリが、またＺＯＯＭのプログラムが論理記述式言語の場合、論理記述式キャラクタメモリが、ＳＦＣ図に存在するＺＯＯＭの個数分格納されている。１１０４の領域の大きさは可変であり、ＺＯＯＭが１つも存在しない場合は領域の大きさが０となる。例えば、ＺＯＯＭのプログラムがラダー図の場合は、図１８の１１１４には座標（Ｘ０，Ｙ２）に対応するＺＯＯＭキャラクタメモリが格納されているアドレスが格納されており、このアドレスの参照先は図１８の１１２３となる。１１２３には座標（Ｘ０，Ｙ２）のステップまたはトランジションに対応するＺＯＯＭキャラクタメモリが格納されている。同様に図１８の１１２４は座標（Ｘ０，Ｙ３）、１１２５は座標（Ｘ０，Ｙ４）、１１２６は座標（Ｘ０，Ｙ５）のＺＯＯＭキャラクタメモリが格納されている。またＺＯＯＭのプログラムが論理記述式言語の場合も同様に、図１９の１１２７は座標（Ｘ０，Ｙ２）、１１２８は座標（Ｘ０，Ｙ３）、１１２９は座標（Ｘ０，Ｙ４）、１１３０は座標（Ｘ０，Ｙ５）のＺＯＯＭキャラクタメモリが格納されている。これらのＺＯＯＭキャラクタメモリは、ＳＦＣキャラクタメモリ１１０３に格納されているＺＯＯＭキャラクタメモリのアドレスによって関連付けされている。まず、図１７のステップＳ１６０２でＳＦＣ図のキャラクタメモリを作成する。この作成は図５のＳＦＣプログラムのデータに従って行われる。例えば、図５のＳＦＣプログラム６５５の命令はステップｓ１を表しているが、これを図６の形式に変換する。種別５１はステップ、表示用キャラクタタイプ５２はキャラクタ５４、ステップ番号５３は１となる。図５のＳＦＣプログラム６５４の命令はステップｓ１がトランジションｔ０の１行下に接続されることを示していることとステップｓ０は座標（Ｘ０，Ｙ０）にそれに対応するトランジションｔ０は（Ｘ０，Ｙ１）にあることにより、図６の形式に変換したデータをＳＦＣキャラクタメモリ領域１１０３の座標（Ｘ０，Ｙ２）のキャラクタメモリ情報に格納する。次にステップＳ１６０５でＳＦＣ図座標（Ｘｎ，Ｙｎ）にＺＯＯＭプログラムが存在するかを判断する。例えば、座標（Ｘ０，Ｙ２）はステップｓ１で図５のＳＦＣプログラム６５５の命令であることがステップＳ１６０２でわかっているが、６５５の命令に続く命令６５６、６５７がＺＯＯＭプログラムの命令を表しており、座標（Ｘ０，Ｙ２）にはＺＯＯＭプログラムが存在すると判断する。もしステップを表す命令の次がトラジションを表す命令になっているまたはトランジションを表す命令の次がステップを表す命令になっている場合は、ＺＯＯＭプログラムの命令は存在しないと判断して、次のステップＳ１６０６とステップＳ１６０７もしくはステップＳ１６０９とＳ１６１０の処理を行わない。例えば、図５のＳＦＣプログラムで６５２の命令はステップｓ０を表す命令だが、次の命令６５３はトランジションを表す命令となっているため、ステップｓ０にはＺＯＯＭプログラムの命令が存在しないということになる。次にステップＳ１６０８でＺＯＯＭプログラムの表示形式がラダー図か論理記述式言語かを判別する。ラダー図か論理記述式言語かはオペレータによって選択され、内部のフラグに保持されるので、そのフラグによって判別する。ＺＯＯＭのプログラムがラダー図の場合は、ステップＳ１６０６でＳＦＣ図座標（Ｘｎ，Ｙｎ）に対応するラダー図キャラクタメモリを作成する。ステップＳ１６０５でラダー図が存在するか判断する際、ＺＯＯＭプログラムの命令がどれになるかということがわかっているので、これをキャラクタメモリへ変換する。例えば、座標（Ｘ０，Ｙ２）ステップｓ１のＺＯＯＭプログラムの命令は、図５のＳＦＣプログラム６５６と６５７であるが、これを図９のキャラクタメモリの形式に１命令ずつ変換する。６５６は、分岐記号が０３、命令記号はＯＵＴ命令に相当する０９、アドレスはＹ２０、命令コードはＯＵＴ命令が命令記号に置き換わっているため無しとなる。６５７は、６５６から数えて２つ目のＯＵＴ命令であり、ラダー図にした場合６５６のＯＵＴ命令に対して並列になるため、分岐記号は０９、命令記号は６５６と同様０９、アドレスはＹ２１、命令コードは６５６と同様無しとなる。次に図９の形式に変換したキャラクタメモリを図１０の形式に変換する。１行目のｍ列目には図５上の６５６を変換したキャラクタメモリが、２行目のｍ列目には６５７を変換したキャラクタメモリが格納される。１００２の列数ｍの値はオペレータにより任意に変更することができ、それに応じてキャラクタメモリを拡張または縮小する。図２０において（ａ）は列数６の場合、（ｂ）は列数３の場合の表示例である。こうして図１０の形式に変換されたラダー図キャラクタメモリは、図１８のＺＯＯＭキャラクタメモリ領域１１０４に格納される。例えば座標（Ｘ０，Ｙ２）ステップｓ１の場合は、図１８の１１２３に格納される。次に図１７のステップＳ１６０７ではステップＳ１６０６で作成したラダー図キャラクタメモリのアドレスを図１８のＳＦＣキャラクタメモリ領域１１０３に格納して、ＳＦＣ図とラダー図の関連付けを行う。例えば、座標（Ｘ０，Ｙ２）ステップｓ１の場合、対応するラダー図キャラクタメモリは１１２３（図１８）となるので、このアドレスを座標（Ｘ０，Ｙ２）のＺＯＯＭキャラクタメモリのアドレス１１１４（図１８）に格納する。 ＺＯＯＭのプログラムが論理記述式言語の場合は、図１７のステップＳ１６０９でＳＦＣ図座標（Ｘｎ，Ｙｎ）に対応する論理記述式キャラクタメモリを作成する。ＺＯＯＭのプログラムがラダー図であるときと同様に、ステップＳ１６０５でＺＯＯＭプログラムが存在するか判断する際、変換すべき命令がどれになるかということがわかっているので、これをキャラクタメモリへ変換する。例えば、座標（Ｘ０，Ｙ２）ステップｓ１のラダー図の命令は、図５のＳＦＣプログラム６５６と６５７であるが、これを論理記述式キャラクタメモリに変換する。図５の６５６は命令がＯＵＴ、デバイスがＹ２０であることから、“ｏＹ２０”の文字列へ変換する。図５の６５７は命令がＯＵＴ、デバイスがＹ２１であることから６５６のときと同様“ｏＹ２１”の文字列へ変換する。コイル出力命令の場合は“，”で区切って１つのＺＯＯＭキャラクタメモリにするため“ｏＹ２０，ｏＹ２１”という文字列を作成する。このように作成されたデータは図１９のＺＯＯＭキャラクタメモリ領域１１０４に格納される。例えば座標（Ｘ０，Ｙ２）ステップｓ１の場合は、図１９の１１２７に格納される。次ににステップＳ１６１０ではステップＳ１６０９で作成した論理記述式キャラクタメモリのアドレスを図１９のＳＦＣキャラクタメモリ領域１１０３に格納して、ＳＦＣ図と論理記述式言語の関連付けを行う。例えば、座標（Ｘ０，Ｙ２）ステップｓ１の場合、対応するラダー図キャラクタメモリは１１２７となるので、このアドレスを座標（Ｘ０，Ｙ２）のＺＯＯＭキャラクタメモリのアドレス１１１４に格納する。このようにしてＳＦＣプログラム記憶部５０５のＳＦＣプログラムからＳＦＣ・ＺＯＯＭキャラクタメモリが作成される。
【００２３】
次に図１５のステップＳ１４０４で作成したＳＦＣ・ＺＯＯＭキャラクタメメモリを使って、ステップＳ１４０６もしくはステップＳ１４０７でＳＦＣ・ＺＯＯＭ表示部６０３によりＣＲＴ表示５１２（図２）に表示する。表示する前に図１５のステップＳ１４０５でＺＯＯＭプログラムの表示形式がラダー図か論理記述式言語かを判別して、ラダー図の場合は図１５のステップＳ１４０６で、論理記述式言語の場合は図１５のステップＳ１４０７で表示する。表示はＳＦＣ・ＺＯＯＭキャラクタメモリ部６０２より得られるＳＦＣ・ＺＯＯＭキャラクタメモリの順番に従って、座標（Ｘ０，Ｙ０）から（Ｘ１，Ｙ０）、（Ｘ２，Ｙ０）．．．（Ｘｎ，Ｙｎ）の順に行われる。１つの座標の表示処理は、まず図６で示したＳＦＣキャラクタメモリ情報からＳＦＣのシンボルを表示する。次に、ＺＯＯＭキャラクタメモリのアドレスが０でなければ、ＺＯＯＭキャラクタメモリが存在することになるので、図１５のステップＳ１４０６ではＺＯＯＭキャラクタメモリのアドレスから図１０で示したＺＯＯＭキャラクタメモリを取得して、ＺＯＯＭ部分の表示を行う。例えば、座標（Ｘ０，Ｙ２）ステップｓ１の場合、図１８の１１１３から取得したＳＦＣキャラクタメモリ情報に従って、表示用キャラクタタイプ５２（図６）からＳＦＣのステップのシンボルを表示して、種別５１（図６）がステップ、ステップ番号５３（図６）が１であることからＳＦＣシンボルの横に“Ｓ１”を表示する。次にＺＯＯＭキャラクタメモリが存在するので、ＺＯＯＭキャラクタメモリのアドレス１１１４（図１８）から１１２３のＺＯＯＭキャラクタメモリを取得して、１１２３（図１８）に示すようなラダー図を表示する。図１５のステップＳ１４０７ではＺＯＯＭキャラクタメモリアドレスから論理記述式の文字列を取得してＺＯＯＭ部分の表示を行う。例えば、座標（Ｘ０，Ｙ２）ステップｓ１の場合、ＳＦＣのシンボルは図１５のステップＳ１４０６と同様の表示を行い、ＺＯＯＭキャラクタメモリのアドレス１１１４（図１９）から１１２７のＺＯＯＭキャラクタメモリを取得して、１１２７（図１９）に示すような論理記述式を表示する。ステップＳ１４０８（図１５）ではモニタ中かどうかを判別する。モニタ中かどうかの判別は、オペレータからモニタ開始の操作が行われることにより、モニタ中のフラグがＯＮになるので、これで判別する。モニタ中であれば、ステップＳ１４０９（図１５）にてＰＣＩ／Ｆ部５０４（図１４）を介してＰＣ５０３（図１４）からＳＦＣ・ＺＯＯＭモニタ部６０１（図１４）によってモニタ情報を取得する。 
【００２４】
次に図１５のステップＳ１４０９においてモニタ情報取得の詳細を図１６のフローチャートを用いて説明する。まずＳＦＣ・ＺＯＯＭモニタ部６０１（図１３）ではステップＳ１５０２（図１６）でステップの活性か非活性かのビット情報をＰＣから収集するため、ＳＦＣ・ＺＯＯＭキャラクタメモリ部６０２（図１４）からキャラクタメモリ中に存在するステップ番号をすべて取得する。取得する方法は、図１８のＳＦＣキャラクタメモリ領域１１０３にあるすべてのＳＦＣキャラクタメモリ情報から図６で示す種別５１とステップ番号５３から取得する。次に取得したステップ番号の状態をＰＣＩ／Ｆ部５０４（図１４）を介してＰＣ５０３（図１４）に問い合わせて活性か非活性かのビット情報をＰＣ５０３（図１４）より取得する。 次にＺＯＯＭの接点やコイルのＯＮ／ＯＦＦのビット情報をＰＣ５０３（図１４）から収集するが、実際には接点やコイルに付属するデバイスのＯＮ／ＯＦＦのビット情報を取得するれば良いので、このビット情報をＰＣ５０３（図１４）から取得する。まず、ステップＳ１５０６（図１６）でＺＯＯＭプログラムの表示形式がラダー図か論理記述式言語かを判別する。次にＺＯＯＭのプログラムがラダー図である場合はステップＳ１５０３（図１６）でＳＦＣ・ＺＯＯＭキャラクタメモリ部６０２（図１４）で作成されたＺＯＯＭキャラクタメモリで図９で示すアドレスからデバイス文字列をすべて取得して一覧を作成する。例えば図１８のＳＦＣ・ＺＯＯＭキャラクタメモリの場合、１１２３からはＹ２０、Ｙ２１が、１１２４からはＸ０、Ｘ７８が、１１２５からはＴ０が、１１２６からもＴ０が取得され、デバイスの一覧が作成される。ＺＯＯＭのプログラムが論理記述式言語の場合も同様にステップＳ１５０５で図１８で示したＳＦＣ・ＺＯＯＭキャラクタメモリのＺＯＯＭキャラクタメモリ領域１１０４からデバイス文字列をすべて取得して一覧表を作成する。取得できるデバイスの文字列はラダー図の場合と同一となる。最後にステップＳ１５０４（図１６）では、ステップＳ１５０３もしくはステップＳ１５０５で作成したデバイス一覧をＰＣＩ／Ｆ部５０４（図１４）を介してＰＣ５０３（図１４）へ登録して、デバイス一覧にある各デバイスのＯＮ／ＯＦＦのビット情報をＰＣ５０３（図１４）から収集する。この処理はオペレータによりモニタの中断が行われるまで繰り返される。
【００２５】
最後に図１５のステップＳ１４０９で取得したモニタ情報をＣＲＴ表示５１２（図１４）へ送りモニタ画面を表示する。表示の前にステップＳ１４１０（図１５）でＺＯＯＭプログラムの表示形式がラダー図か論理記述式言語を判別する。ＺＯＯＭのプログラムがラダー図の場合は、ステップＳ１４１１（図１５）で既に表示されているＳＦＣ図上の活性ステップを反転表示して、ＺＯＯＭのラダー図上にあるデバイスの状態を表示する。 ＺＯＯＭのプログラムが論理記述式言語の場合は、ステップＳ１４１２（図１５）でまずＳＦＣ図上の活性ステップを反転表示して、ＺＯＯＭの論理記述式にあるデバイスの状態を表示する。この様にして、ＳＦＣ図とＺＯＯＭプログラムを合成した画面を表示して、オペレータにＰＣ５０３（図１４）の動作状態を伝えている。
【００２６】
実施の形態２によれば、ＳＦＣ図とラダー図の同一画面表示でオペレータによって選択された任意の１つのステップまたはトランジションに設定されたラダー図しか、実施の形態１にて表示できなかったものが、オペレータによる選択操作無しですべてのステップまたはトランジションに設定されたラダーが同一画面上に表示されるようになる点や、ラダー図が対応するステップまたはトランジションの近くに表示され、ラダー図がどのステップまたはトランジションに対応しているのかがわかりやすくなる点等からプログラム全体の見通しがよくなり、プログラムの可読性が向上する効果がある。また、図１３（ａ）で示したように並列分岐などで同時に複数の活性したステップがあった場合でも、活性したすべてのステップに対応するＺＯＯＭプログラムがモニタできる点や、従来交互にしかできなかったステップとトランジションのＺＯＯＭプログラムのモニタが同時にできるといった点等からデバッグ、保守の作業効率が向上する効果がある。また、ＺＯＯＭのプログラム表示を論理記述式言語にすることによりＺＯＯＭプログラムが簡素化され、よりＳＦＣプログラムの見通しがよくなる。
【００２７】
【発明の効果】
以上のように本発明は構成されているので、制御プログラムの個々のステップと、トランジションに設定されたラダー図とを、制御プログラムと同一画面上に表示することにより、ユーザーが機械装置等の制御状況を認識しやすくなる。
【図面の簡単な説明】
【図１】
本発明の実施の形態１のモニタ（表示手段）の画面サンプル図である。
【図２】
本発明の実施の形態１の回路ブロック図である。
【図３】
本発明の実施の形態１のキャラクターメモリ部の動作を示すフローチャートである。
【図４】
本発明の実施の形態１のモニタ（表示手段）の動作を示す図である。
【図５】
本発明の実施の形態１プログラム構成図である。
【図６】
本発明の実施の形態１のキャラクター構成図である。
【図７】
本発明の実施の形態１のキャラクター構成図である。
【図８】
本発明の実施の形態１のキャラクターメモリ部の動作を示すフローチャートである。
【図９】
本発明の実施の形態１のキャラクターメモリ構成図である。
【図１０】
本発明の実施の形態１のキャラクターメモリ構成図である。
【図１１】
本発明の実施の形態１のモニタ部（表示手段）の動作を示すフローチャートである。
【図１２】
本発明の実施の形態２のモニタ（表示手段）の画面サンプル図である。
【図１３】
本発明の実施の形態２のモニタ（表示手段）の画面サンプル図である。
【図１４】
本発明の実施の形態２の回路ブロック図である。
【図１５】
本発明の実施の形態２の動作を示すフローチャートである。
【図１６】
本発明の実施の形態２のモニタ部（表示手段）の動作を示すフローチャートである。
【図１７】
本発明の実施の形態２のキャラクターメモリ部の動作を示すフローチャートである。
【図１８】
本発明の実施の形態２のキャラクターメモリの構成を示す図である。
【図１９】
本発明の実施の形態２のキャラクターメモリの構成を示す図である。
【図２０】
本発明の実施の形態２のラダー図の縮小表示例である。
【符号の説明】
５０１  キーボード、  ５０２  マウス、  ５０３  プログラマブルコントローラ（ＰＣ）、  ５０４  ＰＣＩ／Ｆ部、  ５０５  プログラム記憶部、  ５１２  表示手段、  ５１３  周辺装置、  ６０１  モニタ部、  ６０２  キャラクタメモリ部、  ６０３  表示部。