(57)【特許請求の範囲】
【請求項１】
制御対象機器の動作単位毎に設けられる複数のステップの実行順序を示すチャート式プログラム、及び前記複数のステップにおけるそれぞれの動作内容を複数の接点及びコイルを含む回路要素によって表したラダープログラムを編集するための制御プログラムの編集装置であって、
前記チャート式プログラムの編集時に設定された前記複数の接点のアドレス情報を含む設定情報を記憶する記憶手段と、
前記記憶手段によって記憶された前記設定情報に基づいて、前記ラダープログラムの少なくとも一部を生成する自動生成手段とを備え、
前記複数のステップのうち少なくとも一部のステップは、前記制御対象機器の可動部を一方向に動作させる順動作ステップ、及び前記可動部を逆方向に動作させる逆動作ステップからなるステップ対をなし、
前記設定情報は、前記順動作ステップに対応する前記逆動作ステップのステップ番号、及び前記複数のステップのそれぞれの動作が実行されたことを示す実行済接点のアドレス情報を含み、
前記自動生成手段は、前記順動作ステップに対応するラダープログラムを、前記逆動作ステップの前記実行済接点とのインターロックを含んで生成すると共に、前記順動作ステップの動作を実行させる動作指令のコイルの活性状態を前記逆動作ステップの動作を実行させる動作指令のコイルが活性状態となるまで保持させる自己保持回路を生成する、
制御プログラムの編集装置。
【請求項２】
前記設定情報は、前記チャート式プログラムに沿った前記制御対象機器の連続運転の実行を開始させる実行開始信号のアドレス情報、及び前記複数のステップの動作を起動させる起動接点のアドレス情報を含み、
前記自動生成手段は、前記アドレス情報に基づいて、少なくとも前記実行開始信号及び前記起動接点を含む前記ラダープログラムを生成する、
請求項１に記載の制御プログラムの編集装置。
【請求項３】
前記自動生成手段によって前記ラダープログラムの少なくとも一部が生成された後、前記チャート式プログラムの編集によって前記設定情報の内容が変更された場合に、前記変更された内容に応じて前記ラダープログラムを修正するラダープログラム自動修正手段をさらに備えた、
請求項１又は２に記載の制御プログラムの編集装置。
【請求項４】
前記ラダープログラムの編集時に前記自動生成手段によって生成された内容が変更された場合に、前記変更された内容に応じて前記記憶手段によって記憶された前記設定情報を修正する設定情報自動修正手段をさらに備えた、
請求項１乃至３の何れか１項に記載の制御プログラムの編集装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御対象機器の動作単位毎に設けられる複数のステップの実行順序を示すチャート式プログラム、及び複数のステップにおけるそれぞれの動作内容を複数の接点及びコイルを含む回路要素によって表したラダープログラムを編集するための制御プログラムの編集装置に関する。
【背景技術】
【０００２】
従来、動作単位毎に設けられる複数のステップの実行順序を示すシーケンシャル・ファンクション・チャート式プログラム（以下、「チャート式プログラム」という）と、複数のステップの具体的な動作内容を複数の接点によって表したラダープログラムとを有する制御プログラムに従って、制御対象機器を制御するプログラマブルコントローラが知られている（例えば、特許文献１参照）。
【０００３】
チャート式プログラム、及びラダープログラムは、それぞれＩＥＣ６１１３１−３規格において、ＳＦＣ言語、及びラダー言語として定義されている。チャート式プログラムは、個別の動作単位の実行順序をフローチャートのように記述する形式であり、例えば制御プログラムがラダープログラムのみによって記述された場合に比較して、制御対象機器の動作の流れを容易に把握することが可能である。
【０００４】
また、特許文献２には、チャート式プログラムの実行状況を表示画面に表示するモニタ装置が記載されている。このモニタ装置は、例えば背景色を変えることにより、実行中のステップを他のステップと識別可能に表示する。
【０００５】
このように、制御対象機器を制御するための制御プログラムをチャート式プログラム及びラダープログラムによって作成し、チャート式プログラムの実行状況を表示画面に表示することで、例えば旧来のプログラマブルコントローラのようにラダープログラムのみによって制御対象機器を制御する場合に比較して、制御対象機器の自動運転中に異常が発生して途中停止した場合の保守作業を行いやすくなる等の利点がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−９７０７９号公報
【特許文献２】特開２００３−１８６５０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
チャート式プログラムは、制御プログラムの作成経験が浅いプログラム作成者にとっても、比較的容易に作成することが可能である。しかし、チャート式プログラムの各ステップに対応するラダープログラムの作成は、特定のルールに従って行う必要があり、このルールを習得して適切な制御を実現するための制御プログラムを作成するには、熟練を必要としていた。
【０００８】
本発明は、上記の事情に鑑みてなされたものであり、チャート式プログラムに基づき、特定のルールに従ったラダープログラムを容易に作成することができる制御プログラムの編集装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、上記の目的を達成するため、制御対象機器の動作単位毎に設けられる複数のステップの実行順序を示すチャート式プログラム、及び前記複数のステップにおけるそれぞれの動作内容を複数の接点及びコイルを含む回路要素によって表したラダープログラムを編集するための制御プログラムの編集装置であって、前記チャート式プログラムの編集時に設定された前記複数の接点のアドレス情報を含む設定情報を記憶する記憶手段と、前記記憶手段によって記憶された前記設定情報に基づいて、前記ラダープログラムの少なくとも一部を生成する自動生成手段とを備え、前記複数のステップのうち少なくとも一部のステップは、前記制御対象機器の可動部を一方向に動作させる順動作ステップ、及び前記可動部を逆方向に動作させる逆動作ステップからなるステップ対をなし、前記設定情報は、前記順動作ステップに対応する前記逆動作ステップのステップ番号、及び前記複数のステップのそれぞれの動作が実行されたことを示す実行済接点のアドレス情報を含み、前記自動生成手段は、前記順動作ステップに対応するラダープログラムを、前記逆動作ステップの前記実行済接点とのインターロックを含んで生成すると共に、前記順動作ステップの動作を実行させる動作指令のコイルの活性状態を前記逆動作ステップの動作を実行させる動作指令のコイルが活性状態となるまで保持させる自己保持回路を生成する、制御プログラムの編集装置を提供する。
【発明の効果】
【００１０】
本発明に係る制御プログラムの編集装置によれば、チャート式プログラムに基づき、特定のルールに従ったラダープログラムを容易に作成することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態に係る制御プログラム編集装置を、プログラマブルコントローラ、設備、及び操作盤と共に示す構成図である。
【図２】制御プログラム編集装置の機能構成を示すブロック図である。
【図３】チャート式プログラム編集手段によって編集されたチャート式プログラムにおける１つのプロセスの具体例を示す。
【図４】設定情報記憶手段によって記憶部に記憶される設定情報の一例を示す説明図である。
【図５】ダイアログボックスの一例を示す説明図であり、（ａ）は前後ユニット前進動作のステップに関する設定情報を入力するためのダイアログボックスを、（ｂ）は前後ユニット後退動作のステップに関する設定情報を入力するためのダイアログボックスを、それぞれ示す。
【図６】自動生成手段によって生成されるラダープログラムの一例を示す。
【図７】図６に示すラダープログラムにプログラム作成者が複数の接点を追加したラダープログラムの一例を示す。
【発明を実施するための形態】
【００１２】
［実施の形態］
以下、本発明の実施の形態を、図１乃至図７を参照して説明する。なお、以下に示す実施の形態は、本発明を実施する上での好適な一具体例として示すものであり、技術的に好ましい種々の技術的事項を具体的に例示している部分もあるが、本発明の技術的範囲は、この具体的態様に限定されるものではない。
【００１３】
図１は、本発明の実施の形態に係る制御プログラムの編集装置としての制御プログラム編集装置２を、プログラマブルコントローラ１０、制御対象機器としての設備１２、及び操作盤１３と共に示す構成図である。
【００１４】
制御プログラム編集装置２は、表示画面を備えた情報処理装置によって構成される。本実施の形態では、制御プログラム編集装置２が、ＭＰＵ（Micro-processing unit）及びその周辺回路等を有して構成された本体部２０、表示部としてのディスプレイ２１、文字入力部としてのキーボード２２、及びポインティングデバイスとしてのタッチパッド２３を有する可搬型コンピュータ（ノートパソコン）によって構成されている。ただし、制御プログラム編集装置２の構成は、これに限らず、例えば据置型コンピュータ（デスクトップパソコン）にディスプレイやキーボード及びポインティングデバイス等の周辺機器を組み合わせて構成されていてもよい。
【００１５】
この制御プログラム編集装置２は、プログラマブルコントローラ１０によって実行される制御プログラムを編集する機能、及び編集された制御プログラムを通信ケーブル１４１によってプログラマブルコントローラ１０に転送する機能を有している。この制御プログラムは、ＳＦＣ言語によって記述されたチャート式プログラムと、チャート式プログラムの後述する各ステップ及びトランジションに割り当てられたラダー言語によるラダープログラムとを含んでいる。
【００１６】
プログラマブルコントローラ１０は、電源モジュール１０１、ＣＰＵモジュール１０２、通信モジュール１０３、出力モジュール１０４、入力モジュール１０５、及びこれら各モジュールが装着されたベース１００を有して構成されている。電源モジュール１０１は、ベース１００を介して、ＣＰＵモジュール１０２等に電源を供給する。通信モジュール１０３は、操作盤１３のモニタ装置１３０との通信を行う。
【００１７】
出力モジュール１０４は、設備１２に設けられた複数のアクチュエータ１２１に接続された複数の出力接点を有している。複数のアクチュエータ１２１は、例えばソレノイドやモータ、あるいは油圧を制御する電磁切換弁等からなる。入力モジュール１０５は、設備１２に設けられた複数のセンサ１２２からの入力信号によってオン／オフする複数の入力接点を有している。複数のセンサ１２２は、例えば近接センサや光電センサ、あるいはリミットスイッチ等からなる。
【００１８】
ＣＰＵモジュール１０２は、制御プログラム編集装置２によって編集された制御プログラムを実行し、入力モジュール１０５の各入力接点の状態等に応じて出力モジュール１０４の各出力接点をオン／オフさせることにより、設備１２を制御する。本実施の形態では、設備１２が工作機械であり、搬入されたワーク対して所定の部品を組み付けるものとする。
【００１９】
操作盤１３は、表示器１３０ａを備えたモニタ装置１３０と、自動／各個選択スイッチ１３１と、運転準備スイッチ１３２と、起動スイッチ１３３と、実行スイッチ１３４と、非常停止スイッチ１３５とを有している。自動／各個選択スイッチ１３１は、制御プログラム編集装置２によって編集された制御プログラムに従って連続運転を行う自動運転モードと、設備１２のアクチュエータ１２１に個別の動作を行わせる各個操作モードとを切り替えるスイッチである。運転準備スイッチ１３２は、設備１２のアクチュエータ１２１を動作可能とするためのスイッチである。起動スイッチ１３３は、自動運転の起動を指示するためのスイッチである。実行スイッチ１３４は、各個操作モードでの個別動作の実行を指示するためのスイッチである。非常停止スイッチ１３５は、設備１２の動作を即時停止させるためのスイッチである。これらの各スイッチ１３１〜１３５は、プログラマブルコントローラ１０の入力モジュール１０５に接続されている。
【００２０】
モニタ装置１３０の表示器１３０ａには、自動運転モードにおいて、プログラマブルコントローラ１０によるチャート式プログラムの各ステップの実行状況が表示される。また、モニタ装置１３０の表示器１３０ａには、各個操作モードにおいて、設備１２に行わせることができる複数の動作項目がボタン形式で表示される。この表示器１３０ａは、タッチパネルであり、作業者が表示器１３０ａに表示されたボタンを押すことで、当該ボタンに対応する動作項目の動作を設備１２に行わせることが可能である。この各個操作は、例えば設備１２の自動運転モードでの連続運転中に何らかの異常が発生した場合の復旧作業時に行われる。
【００２１】
モニタ装置１３０は、通信ケーブル１４２によってプログラマブルコントローラ１０の通信モジュール１０３と接続され、出力モジュール１０４の各出力接点のオン／オフ状態、入力モジュール１０５の各入力接点のオン／オフ状態、及びＣＰＵモジュール１０２が記憶している各種フラグのオン／オフ状態を随時読み出し可能である。また、モニタ装置１３０は、プログラマブルコントローラ１０から、ＣＰＵモジュール１０２が記憶している制御プログラムを読み出すことも可能である。そして、モニタ装置１３０は、表示器１３０ａにプログラマブルコントローラ１０のＣＰＵモジュール１０２による制御プログラムの実行状況を随時表示する。
【００２２】
制御プログラム編集装置２によって編集されるチャート式プログラムは、設備１２の動作単位毎に設けられる複数のステップと、複数のステップ間の遷移条件となるトランジションとを含んで記述されたものである。チャート式プログラムは、そのプログラム単位が「プロセス」として定義されている。このプロセスには、複数のステップの実行順序（フロー）が示されている。
【００２３】
１つのプロセスに含まれる複数のステップのうち少なくとも一部のステップは、設備１２の可動部を一方向に動作させる順動作ステップ、及びこの可動部を逆方向に動作させる逆動作ステップからなるステップ対をなす。順動作ステップから見た場合、逆動作ステップは反対動作ステップとなる。また、逆動作ステップから見た場合、順動作ステップは反対動作ステップとなる。通常、１つのプロセスには、複数のステップ対が含まれる。
【００２４】
それぞれのステップ及びトランジションには、ラダープログラムが割り当てられている。ステップに割り当てられたラダープログラムは、当該ステップにおける具体的な動作内容を複数の接点及びコイルを含む回路要素によって表している。また、トランジションに割り当てられたラダープログラムは、ステップ間の遷移条件を１つ又は複数の接点によって表している。ラダープログラムは、これらの回路要素によって表されることから、ラダー回路とも呼ばれている。
【００２５】
コイル及びリレーは、１つのリレーの構成要素として考えることができる。すなわち、リレーのコイルへの通電又は非通電により、このリレーの接点がオン又はオフされる。接点には、コイルへの通電時にオン状態となり、非通電時にオフ状態となるａ接点と、コイルへの通電時にオフ状態となり、非通電時にオン状態となるｂ接点とがある。また、リレーには、例えば出力モジュール１０４に内蔵された実リレーと、ラダープログラムを記述するために用いられる仮想の内部リレーと、ＣＰＵモジュール１０２自体の処理によって接点がオン／オフされるステップ起動リレー等がある。
【００２６】
各リレーには、それぞれを識別するためのアドレスが割り当てられている。本実施の形態では、実リレーには「Ｙ」で始まるアドレス（例えば、「Ｙ００１」，「Ｙ００２」など）が割り当てられ、内部リレーには「Ｍ」で始まるアドレス（例えば、「Ｍ００１」，「Ｍ００２」など）が割り当てられる。また、ステップ起動リレーには、「ＥＫ」で始まるアドレス（例えば、「ＥＫ００１」，「ＥＫ００２」など）が割り当てられる。このステップ起動リレーは、各ステップに対応するラダープログラムの実行を行わせるためのものである。ＣＰＵモジュール１０２は、チャート式プログラムの実行時において、トランジションを通過して次のステップの処理の実行を開始する際に、そのステップに対応するステップ起動リレーの接点（以下、この接点を「起動接点という」）を一時的にオン状態とする。
【００２７】
また、トランジションには、その遷移条件が満たされたときに接点（ａ接点）がオン状態となるリレーが割り付けられる。このリレーには、「Ｒ」で始まるアドレス（例えば、「Ｒ００１」，「Ｒ００２」など）が割り当てられる。またさらに、プロセスには、そのチャート式プログラムを実行することが可能な状態となったときにラダープログラムによって接点がオン状態とされる実行開始信号が割り付けられる。この実行開始信号は、当該プロセスのチャート式プログラムに基づいた設備１２の連続運転の実行を開始させる信号であり、「Ｒ」で始まるアドレスが割り当てられる。
【００２８】
ラダープログラムにおいて、コイルは出力要素であり、コイルが通電状態（活性状態）となるか、あるいは非通電状態（非活性状態）となるかの条件設定が、１つ又は複数の接点の組み合わせによって規定される。例えば、アドレスとしてＹ００１が割り当てられた実リレーのコイルが通電状態となる条件が満たされた場合には、このＹ００１の実リレーの接点（ａ接点）がオン状態となると共に、この接点に接続された設備１２のアクチュエータ１２１が動作する。
【００２９】
モニタ装置１３０は、ＣＰＵモジュール１０２が実行中のステップを、その前後のステップと共に表示器１３０ａに表示する。この際、モニタ装置１３０は、例えば表示色を変えることにより、ＣＰＵモジュール１０２が実行中のステップを他のステップと識別可能に表示する。図１に示す例では、ＣＰＵモジュール１０２が実行中のステップをハッチングで図示している。各ステップの動作が実行されたか否かは、後述する実行済接点をモニタすることにより、判別することができる。
【００３０】
図２は、制御プログラム編集装置２の機能構成を示すブロック図である。制御プログラム編集装置２は、プログラマブルコントローラ１０で実行可能な制御プログラムを編集するためのプログラム編集部２００を有する本体部２０、編集中の制御プログラム等を表示するディスプレイ２１、ならびにキーボード２２及びタッチパッド２３を有している。本体部２０は、さらに、プログラム編集部２００によって編集された制御プログラム等を記憶する記憶部２４、及びプログラマブルコントローラ１０との通信を行う通信部２５を有している。記憶部２４は、例えばハードディスクや半導体記憶素子からなる。
【００３１】
なお、タッチパッド２３に替えて、例えばマウスやトラックボールをポインティングデバイスとして用いることも可能である。また、ディスプレイ２１を例えば液晶パネル等の表示装置とタッチパッド等の位置入力装置とを組み合わせて構成した場合には、この位置入力装置をポインティングデバイスとして用いることができ、さらに表示装置に表示された文字を位置入力装置へのタッチ操作によって選択することで、キーボード２２に替えて文字入力を行うことも可能である。
【００３２】
プログラム編集部２００は、制御プログラム編集装置２に予めインストールされたシステムプログラムをＭＰＵが実行することで、チャート式プログラム編集手段２０１、設定情報記憶手段２０２、ラダープログラム自動生成手段２０３、ラダープログラム編集手段２０４、ラダープログラム自動修正手段２０５、及び設定情報自動修正手段２０６として機能する。
【００３３】
チャート式プログラム編集手段２０１は、プログラム作成者によるキーボード２２やタッチパッド２３の操作によってチャート式プログラムを編集する手段である。設定情報記憶手段２０２は、チャート式プログラム編集手段２０１の編集時にプログラム作成者によって制御プログラム編集装置２に入力された設定情報２４０を記憶部２４に記憶する手段である。ラダープログラム自動生成手段２０３は、設定情報記憶手段２０２によって記憶部２４に記憶された設定情報２４０に基づいて、ラダープログラムの少なくとも一部を自動的に生成する手段である。ラダープログラム編集手段２０４は、プログラム作成者によるキーボード２２やタッチパッド２３の操作によってラダープログラムを編集する手段である。
【００３４】
また、ラダープログラム自動修正手段２０５は、ラダープログラム自動生成手段２０３によってラダープログラムの少なくとも一部が生成された後、チャート式プログラムの編集によって記憶部２４に記憶された設定情報２４０の内容が変更された場合に、当該変更された内容に応じてラダープログラムを自動的に修正する手段である。設定情報自動修正手段２０６は、ラダープログラムの編集時にラダープログラム自動生成手段２０３によって生成された内容が変更された場合に、当該変更された内容に応じて設定情報記憶手段２０２によって記憶された設定情報２４０を自動的に修正する手段である。
【００３５】
ここで、「編集」とは、プログラム（チャート式プログラム又はラダープログラム）を新規に作成したり、作成されたプログラムを改変することをいう。また、「自動的に」とは、制御プログラム編集装置２のＭＰＵがシステムプログラムを実行することにより、プログラム作成者の作業負担を軽減して処理を行うことをいう。
【００３６】
図３は、チャート式プログラム編集手段２０１によって編集されたチャート式プログラムにおける１つのプロセスの具体例を示す。チャート式プログラムは、ＩＥＣ６１１３１−３規格にのっとり、個別の制御処理を表す複数のステップと、ステップ間の遷移条件を表すトランジションとを、交互に並べて記述される。チャート式プログラムの先頭のステップである「ＳＴ０００」は、自動運転モードで設備１２の連続運転を行う自動サイクルを示すステップである。プログラマブルコントローラ１０は、自動運転の開始時に、チャート式プログラムの最上流にあたる「ＳＴ０００」から下流側に向かって、順次各ステップの制御処理を実行する。
【００３７】
図３に示すチャート式プログラムは、前後ユニット前進動作（ＳＴ００１）、上下ユニット上昇動作（ＳＴ００２）、組付けサイクル（ＳＴ００３）、上下ユニット下降動作（ＳＴ００４）、及び前後ユニット後退動作（ＳＴ００５）の各ステップの制御処理を順次実行するように構成されている。ここで、ＳＴ０００〜ＳＴ００５は、各ステップのステップ番号である。
【００３８】
このプロセスにおいて、前後ユニット前進動作のステップ（ＳＴ００１）は、設備１２の可動部である前後ユニットを一方向（前進方向）に動作させる順動作ステップであり、前後ユニット後退動作のステップ（ＳＴ００５）は、前後ユニットを逆方向（後退方向）に動作させる逆動作ステップである。また、上下ユニット上昇動作のステップ（ＳＴ００２）は、設備１２の可動部である上下ユニットを一方向（上昇方向）に動作させる順動作ステップであり、上下ユニット下降動作のステップ（ＳＴ００４）は、上下ユニットを逆方向（下降方向）に動作させる逆動作ステップである。
【００３９】
前後ユニット前進動作のステップ（ＳＴ００１）と前後ユニット後退動作のステップ（ＳＴ００５）とは１つのステップ対をなす。同様に、上下ユニット上昇動作のステップ（ＳＴ００２）と上下ユニット下降動作のステップ（ＳＴ００４）とは１つのステップ対をなす。すなわち、このプロセスには、２つのステップ対が含まれている。
【００４０】
図４は、設定情報記憶手段２０２によって記憶部２４に記憶される設定情報２４０の一例を示す説明図である。記憶部２４には、プロセスに含まれる全てのステップ（ＳＴ０００〜ＳＴ００５）に関する設定情報２４０が記憶されるが、図４では、このうちＳＴ００２〜ＳＴ００４のステップに関する設定情報２４０については図示を省略している。
【００４１】
設定情報記憶手段２０２によって記憶部２４に記憶される設定情報２４０には、設備１２の連続運転の実行を開始させる実行開始信号のアドレス情報、複数のステップのそれぞれの動作を起動させる起動接点のアドレス情報、複数のステップのそれぞれの動作が実行がされたことを示す実行済接点のアドレス情報、順動作ステップに対応する逆動作ステップ（反対動作ステップ）のステップ番号、及び逆動作ステップに対応する順動作ステップ（反対動作ステップ）のステップ番号、ならびに各種のコメントの情報が含まれる。ここで、「コメント」とは、制御プログラムの内容を第三者にも分かりやすく示すための文字情報である。
【００４２】
実行開始信号がオンしていることは、各ステップの動作を実行するための必要条件となる。実行開始信号は、仮想的なリレーの接点のオン又はオフの情報として示される。起動接点及び実行済接点のアドレス情報及びコメント、ならびに反対動作ステップのステップ番号は、各ステップのそれぞれに対応して設定される。自動運転中接点のアドレス、実行済接点のアドレス、反対動作ステップ、及び各種のコメントは、プログラム作成者がチャート式プログラムの編集時にキーボード２２やタッチパッド２３によって入力する情報である。
【００４３】
図４に示す設定情報２４０のうち、起動接点のアドレスは、プログラム作成者によって１つのステップが新規に作成されたときに、チャート式プログラム編集手段２０１が自動的に当該ステップに対して割り当てるアドレスである。起動接点は、プログラマブルコントローラ１０が制御プログラムに従って設備１２を制御する際に、ＣＰＵモジュール１０２自体の処理によってオン／オフされる。
【００４４】
具体的には、トランジションの遷移条件が満たされ、次のステップの動作の実行を開始する際に、ＣＰＵモジュール１０２自体の処理によって、当該トランジションの直下のステップに対応する起動接点がオン状態となる。例えば、前後ユニット前進動作のステップ（ＳＴ００１）の実行によって前後ユニットが前進端まで移動すると、トランジション（ＴＲ００１）の遷移条件が満たされ、上下ユニット上昇動作（ＳＴ００２）に対応する起動接点がオン状態となる。起動接点は、一時的にオン状態となった後、ＣＰＵモジュール１０２自体の処理によって自動的にオフ状態となる。
【００４５】
実行済接点は、当該ステップの動作を設備１２に行わせるための実リレーの接点である。すなわち、この実行済接点をモニタすれば、設備１２における当該ステップの動作の実行完了の成否を判別することができる。
【００４６】
反対動作ステップのステップ番号は、例えば制御プログラム編集装置２のディスプレイ２１に表示されたダイアログボックスに対してプログラム作成者が入力操作を行うことで設定される。
【００４７】
図５（ａ）及び（ｂ）は、このダイアログボックスの一例を示す説明図である。図５（ａ）では、前後ユニット前進動作のステップ（ＳＴ００１）に関する設定情報２４０を入力するためのダイアログボックス２１０Ａを示し、図５（ｂ）では、前後ユニット後退動作のステップ（ＳＴ００５）に関する設定情報２４０を入力するためのダイアログボックス２１０Ｂを示している。
【００４８】
このダイアログボックス２１０Ａ，２１０Ｂには、当該ステップ（ＳＴ００１，ＳＴ００５）の動作内容を示すコメントを入力するためのコメント欄２１１と、実行済接点のアドレスを入力するためのアドレス入力欄２１２と、実行済接点のコメントを入力するためのコメント欄２１３と、反対動作を選択するためのプルダウンメニュー欄２１４が設けられている。ダイアログボックス２１０Ａのアドレス入力欄２１２には、前後ユニット前進動作のステップ（ＳＴ００１）の動作を設備１２に行わせるための実リレーのアドレス（本実施の形態では、Ｙ１０１）が入力され、このアドレスによって特定される実行済接点のコメントがコメント欄２１３に入力される。同様に、ダイアログボックス２１０Ｂのアドレス入力欄２１２には、前後ユニット後退動作のステップ（ＳＴ００５）の動作を設備１２に行わせるための実リレーのアドレス（本実施の形態では、Ｙ１０５）が入力され、このアドレスによって特定される実行済接点のコメントがコメント欄２１３に入力される。
【００４９】
プログラム作成者は、ステップの動作内容を示すコメントをコメント欄２１１に入力すると共に、実行済接点のアドレス及びそのコメントをアドレス入力欄２１２及びコメント欄２１３に入力し、さらにプルダウンメニュー欄２１４のプルダウンメニューから反対動作ステップを選択する。その後、プログラム作成者がダイアログボックス２１０Ａ，２１０ＢのＯＫボタン２１５をクリックすると、ダイアログボックス２１０Ａ，２１０Ｂのコメント欄２１１、アドレス入力欄２１２、及びプルダウンメニュー欄２１４に入力又は選択された内容が確定し、記憶部２４に設定情報２４０として記憶される。この記憶処理は、設定情報記憶手段２０２によってなされる。なお、反対動作ステップがない場合には、プルダウンメニューから反対動作ステップを選択する操作は不要である。
【００５０】
ラダープログラム自動生成手段２０３は、設定情報記憶手段２０２によって記憶部２４に記憶された設定情報２４０に基づいて、ラダープログラムを自動的に生成する。プログラム作成者は、ラダープログラム自動生成手段２０３によって生成されたラダープログラムに、設備１２の安全を確保するために必要なインターロックや、各個操作を可能とするための接点等を追加して、設備１２を制御するための制御プログラムを完成させる。
【００５１】
図６は、前後ユニット前進動作のステップ（ＳＴ００１）について、ラダープログラム自動生成手段２０３によって自動的に生成されるラダープログラムの一例を示す。図７は、図６に示すラダープログラムに、プログラム作成者が複数の接点及びコメントを追加したラダープログラムの一例を示す。図６及び図７では、ラダープログラムを構成する各回路要素（接点又はコイル）の上にそのアドレスを示し、さらにその上に各回路要素について設定されたコメントの内容を示している。
【００５２】
図６に示すラダープログラムにおいて、アドレスＲ１００で示されるリレーは、図３に示すチャート式プログラムによって定義されるプロセスの実行開始信号のリレーであり、そのコイルは、後述するアドレスＭ０１０で示される接点（図７参照）がオン状態となったときに活性状態となる。
【００５３】
また、図６に示すラダープログラムにおいて、アドレスＥＫ１０１で示される接点は起動接点であり、アドレスＭ１０１で示されるコイルは、前後ユニット前進動作のステップ（ＳＴ００１）の動作を設備１２に行わせる実リレー（アドレス：Ｙ１０１）を活性状態とする前進動作指令の内部リレーのコイルである。このアドレスＹ１０１の実リレーの接点は、実行済接点である。また、アドレスＥＫ１０１、Ｙ１０１、及びＹ１０５で示される接点には、ダイアログボックス２１０Ａ，２１０Ｂのコメント欄２１１，２１３に入力された内容がコメントとして設定される。
【００５４】
また、図６に示すラダープログラムにおいて、アドレスＲ００１で示される接点は、トランジションＴＲ００１の遷移条件が満たされていることを示す接点である。この接点は、図７に示すラダープログラムにおいて、チャート式プログラムの処理フローにおけるトランジションＴＲ００１の通過後にも、前後ユニット後退動作のステップ（ＳＴ００５）の実行を開始するまでは、アドレスＭ１０１の接点の状態をオン状態に保つために用いられる。
【００５５】
また、図６に示すラダープログラムにおいて、アドレスＭ１１０で示される接点（ｂ接点）は、前後ユニット前進動作のステップ（ＳＴ００１）の反対動作ステップである前後ユニット後退動作のステップ（ＳＴ００５）における後退動作指令の内部リレーの接点である。この接点は、アドレスＭ１０１の接点と直列に接続されて自己保持回路を構成し、前後ユニット後退動作のステップ（ＳＴ００５）においてアドレスＭ１１０の内部リレーのコイルが活性状態となるまで、アドレスＭ１０１のコイルの活性状態が保持される。
【００５６】
またさらに、図６に示すラダープログラムにおいて、アドレスＹ１０５で示される接点（ｂ接点）は、前後ユニット後退動作のステップ（ＳＴ００５）の実行済接点である。この接点がアドレスＭ１０１の接点と直列に接続されることにより、反対動作ステップの動作が同時に実行されないようにするためのインターロック回路を構成している。すなわち、ラダープログラム自動生成手段２０３は、逆動作ステップの実行済接点とのインターロックを含んでラダープログラムを生成する。
【００５７】
図６に示すラダープログラムは、チャート式プログラムの各ステップに対応するラダープログラムを作成する際の特定のルールにのっとったものであり、プログラム作成者がチャート式プログラムを作成した後、例えば制御プログラム編集装置２のディスプレイ２１に表示される所定のボタンをプログラム作成者がクリックしたときにラダープログラム自動生成手段２０３によって生成され、記憶部２４に記憶される。
【００５８】
図６に示すラダープログラムによっても、設備１２をチャート式プログラムの処理フローに従って動作させることは可能である。すなわち、本実施の形態において、ラダープログラム自動生成手段２０３は、設備１２をチャート式プログラムの処理フローに従って動作させることを可能とするラダープログラムを自動的に生成する。
【００５９】
ただし、これに限らず、ラダープログラム自動生成手段２０３が、実行開始信号（アドレス：Ｒ１００）及び起動接点（アドレス：ＥＫ１０１）のオン／オフ状態にのみ基づいて、前後ユニット前進動作のステップ（ＳＴ００１）の動作を設備１２に行わせる実リレー（アドレス：Ｙ１０１）を活性状態とするラダープログラムを生成するようにしてもよい。この場合のラダープログラムは、例えばアドレスＲ１００の接点と、アドレスＥＫ１０１の接点と、アドレスＹ１０１のコイルとが直列に接続され、かつアドレスＹ１０１のコイルのオン状態を保持する自己保持回路を有するものである。この場合でも、プログラム作成者の作業負担を軽減し、制御プログラムの作成経験が浅いプログラム作成者でも、チャート式プログラムのステップに対応するラダープログラムを容易に作成することができる。すなわち、ラダープログラム自動生成手段２０３は、少なくとも起動接点及び自動運転中接点を含むラダープログラムを生成することが可能に構成されていればよい。
【００６０】
図７では、プログラム作成者によって付加された接点及びそのコメントを破線で囲って示している。このうち、図７における先頭の行の回路は、アドレスＲ１００で示されるリレーを活性状態とするための回路である。ラダープログラムには、操作盤１３の運転準備スイッチ１３２が押された後の運転準備状態において起動スイッチ１３３が押し込み操作され、かつ設備１２やプログラマブルコントローラ１０に異常が発生していない場合にアドレスＭ０１０の内部リレーのコイルを活性状態とするための回路が別途設けられている。
【００６１】
また、図７に示すラダープログラムの回路要素のうち、アドレスＭ０１０で示される接点は、操作盤１３の自動／各個選択スイッチ１３１によって自動運転モードが選択されていることを示す内部リレーの接点である。アドレスＭ３００で示される接点は、設備１２の上下ユニットが下降端にあることを示す内部リレーの接点である。アドレスＭ００１で示される接点は、操作盤１３の運転準備スイッチ１３２が押し込み操作されて設備１２のアクチュエータ１２１が動作可能な運転状態であることを示す内部リレーの接点である。
【００６２】
また、アドレスＭ０１２，Ｍ２０１，Ｍ０２０で示される接点は、設備１２のアクチュエータ１２１に個別の動作を行わせる各個操作のために付加された接点である。このうち、アドレスＭ０１２で示される接点は、操作盤１３の自動／各個選択スイッチ１３１によって各個操作モードが選択されたときにオン状態となる内部リレーの接点である。アドレスＭ２０１で示される接点は、操作盤１３におけるモニタ装置１３０の表示器１３０ａに表示された「前後ユニット前進動作」のＰＢ（ブッシュボタン）が押されたときにオン状態となる内部リレーの接点である。また、アドレスＭ０２０で示される接点は、操作盤１３の実行スイッチ１３４が押されたときにオン状態となる内部リレーの接点である。これらの接点により、各個操作モードにおいて作業者が表示器１３０ａに表示された「前後ユニット前進動作」のボタンを押し、さらに実行スイッチ１３４を押し込み操作すると、上下ユニットが下降端に位置し、かつ運転準備状態であることを条件としてアドレスＭ１０１で示されるコイルが活性状態となり、設備１２の前後ユニットが前進動作する。
【００６３】
また、図７に示すラダープログラムでは、アドレスＲ００１で示される接点が、設備１２の上下ユニットが下降端にあることを示すアドレスＭ３００で示される接点と並列に接続されていることにより、トランジションＴＲ００１の遷移条件が満たされた後、上下ユニットが下降端から上昇しても、アドレスＭ００１の内部リレーのコイルの活性状態が維持される。
【００６４】
プログラム作成者は、ラダープログラム編集手段２０４によって上記の接点を追加すると共に、必要なコメントを各回路要素に設定する。なお、図７に破線で囲った接点以外にも、必要に応じて接点やコイル等の回路要素をさらに付加してもよい。
【００６５】
また、本実施の形態では、制御プログラム編集装置２がラダープログラム自動修正手段２０５を有することにより、ラダープログラム自動生成手段２０３によって図６に示すラダープログラムが生成された後、チャート式プログラムの編集によって記憶部２４に記憶された設定情報２４０の内容が変更された場合に、当該変更された内容に応じてラダープログラムが自動的に修正される。
【００６６】
具体的には、チャート式プログラムの編集中に、例えば図５（ａ）に示すダイアログボックス２１０Ａによる設定操作によって前後ユニット前進動作のステップ（ＳＴ００１）の実行済接点のアドレスがＹ１０１からＹ１１１に変更された場合には、この変更がラダープログラムに反映され、図６又は図７に示すラダープログラムにおけるＹ１０１のコイルのアドレスがＹ１１１に修正される。また、例えば前後ユニット前進動作のステップ（ＳＴ００１）の反対動作のステップ番号がＳＴ００５からＳＴ００６に変更された場合には、図６又は図７に示すラダープログラムにおけるＹ１０５の接点のアドレスが、変更後の反対動作ステップの実行済接点のアドレスに修正されると共に、Ｍ１１０の接点のアドレスが、変更後の反対動作ステップに対応するアドレスに修正される。
【００６７】
同様に、図５（ａ）に示すダイアログボックス２１０Ａによる設定操作によってコメントが変更された場合にも、このコメントの変更内容がラダープログラムのコメントに反映される。
【００６８】
また、本実施の形態では、制御プログラム編集装置２が設定情報自動修正手段２０６を有することにより、ラダープログラム自動生成手段２０３によって図６に示すラダープログラムが生成された後、このラダープログラムの編集の際にラダープログラム自動生成手段２０３によって生成された部分の内容が変更された場合に、この変更が記憶部２４に記憶された設定情報２４０に反映される。
【００６９】
例えば、図６又は図７に示すラダープログラムにおいて、実行済接点のアドレスがＹ１０１からＹ１１１に変更された場合には、この変更が記憶部２４に記憶された設定情報２４０に反映され、前後ユニット前進動作のステップ（ＳＴ００１）の実行済接点のアドレスがＹ１１１となる。これにより、設備１２の自動運転中にモニタ装置１３０においてチャート式プログラムの実行状況を表示する場合には、アドレスＹ１１１で示されるリレーの接点のオン／オフ状態によって、前後ユニット前進動作のステップ（ＳＴ００１）の動作が実行されたか否かが判別される。
【００７０】
同様に、ダイアログボックス２１０Ａによる設定操作によって設定されたコメントがラダープログラムの編集時に変更された場合にも、その変更内容が記憶部２４に記憶された設定情報２４０に反映される。
【００７１】
（実施の形態の作用及び効果）
以上説明した実施の形態によれば、チャート式プログラムの編集時に入力された設定情報２４０に基づいてラダープログラムが自動的に生成されるので、チャート式プログラムに基づいて、特定のルールに従ったラダープログラムを容易に作成することができる。また、ラダープログラムを作成する際のプログラム作成者の作業負担を軽減することが可能となる。特に、チャート式プログラムにおいてステップ対をなす順動作ステップに対応したラダープログラムについては、逆動作ステップとのインターロックを含んでラダープログラムが自動生成されるので、プログラム作成者の作業負担が大幅に軽減される。
【００７２】
また、本実施の形態によれば、チャート式プログラムの編集によって設定情報の内容が変更された場合に、その変更内容がラダープログラムに反映される。また、ラダープログラムの編集時にラダープログラム自動生成手段２０３によって生成された内容が変更された場合に、その変更内容が設定情報２４０に反映される。これにより、プログラム作成者の作業負担がより一層軽減される。
【符号の説明】
【００７３】
１０…プログラマブルコントローラ、１００…ベース、１０１…電源モジュール、１０２…ＣＰＵモジュール、１０３…通信モジュール、１０４…出力モジュール、１０５…入力モジュール、１２…設備（制御対象機器）、１２１…アクチュエータ、１２２…センサ、１３…操作盤、１３０…モニタ装置、１３０ａ…表示器、１３１…各個選択スイッチ、１３２…運転準備スイッチ、１３３…起動スイッチ、１３４…実行スイッチ、１３５…非常停止スイッチ、１４１，１４２…通信ケーブル、２…制御プログラム編集装置、２０…本体部、２００…プログラム編集部、２０１…チャート式プログラム編集手段、２０２…設定情報記憶手段、２０３…ラダープログラム自動生成手段（自動生成手段）、２０４…ラダープログラム編集手段、２０５…ラダープログラム自動修正手段、２０６…設定情報自動修正手段、２１…ディスプレイ、２１０Ａ，２１０Ｂ…ダイアログボックス、２１１，２１３…コメント欄、２１２…アドレス入力欄、２１４…プルダウンメニュー欄、２１５…ＯＫボタン、２２…キーボード、２３…タッチパッド、２４…記憶部、２４０…設定情報、２５…通信部
【図１】
0006657597.tif 000002
【図２】
0006657597.tif 000003
【図３】
0006657597.tif 000004
【図４】
0006657597.tif 000005
【図５】
0006657597.tif 000006
【図６】
0006657597.tif 000007
【図７】
0006657597.tif 000008