(57)【特許請求の範囲】
【請求項１】
設備を制御するプログラマブルコントローラで実行可能な動作プログラムを編集するためのプログラム編集部、及び編集中の前記動作プログラムを表示する表示部を備えた動作プログラム編集装置であって、
前記動作プログラムは、それぞれが個別の制御処理を表す複数のステップと、前記複数のステップ間の遷移条件を表すトランジションとを含んで記述され、前記複数のステップを上流側から下流側に連続して実行する連続運転中に途中停止した後の再起動時には、前記複数のステップのうち最も上流側のステップから実行が再開されるものであり、
前記プログラム編集部は、
前記再起動時において前記複数のステップのうち一部のステップを迂回してこれら一部のステップの制御処理の実行を省略させるためのバイパス回路を含むバイパス回路を生成するバイパス回路生成手段と、
前記複数のステップのうち、前記バイパス回路によって実行が省略される範囲の最後のステップの選択を受け付ける第１の選択受付手段と、
前記複数のステップのうち、前記バイパス回路によって実行が省略される範囲の最初のステップの選択を受け付ける第２の選択受付手段と、を備え、
前記バイパス回路生成手段は、前記第２の選択受付手段で選択を受け付けた前記最初のステップの直前から前記第１の選択受付手段で選択を受け付けた前記最後のステップの一つ下流側のステップの直前までをバイパスするバイパス回路を生成すると共に、前記バイパス回路を有効とするか否かの遷移条件を示すトランジションを前記バイパス回路と共に生成し、当該遷移条件として前記第１の選択受付手段によって選択された前記最後のステップの制御処理が実行されたことを示す信号を用いる、
動作プログラム編集装置。
【請求項２】
前記第１の選択受付手段は、前記表示部に表示された複数の前記ステップのうち１つのステップが選択されたときに前記表示部に表示されるダイアログ画面において当該ステップを前記バイパス回路によって実行が省略される範囲の最後のステップとして設定する設定操作がなされた場合に、当該ステップを前記最後のステップとして受け付け、
前記第２の選択受付手段は、前記ダイアログ画面に前記最後のステップよりも上流側の複数のステップを表示し、当該表示された複数のステップから１つのステップが選択されたとき、当該選択されたステップを前記最初のステップとして受け付ける、
請求項１に記載の動作プログラム編集装置。
【請求項３】
前記動作プログラムは、複数の前記ステップの制御処理を並行して又は選択的に実行させることを可能とする分岐回路、及び前記分岐回路によって分岐した複数の前記ステップの実行処理経路を合流させる合流回路を含み、
前記第２の選択受付手段は、前記最後のステップが前記分岐回路によって分岐した１つの実行処理経路に含まれる場合、他の実行処理経路に含まれる前記ステップ、及び前記分岐回路よりも上流側の前記ステップの選択を不可とする、
請求項２に記載の動作プログラム編集装置。
【請求項４】
前記動作プログラムは、複数の前記ステップの制御処理を並行して又は選択的に実行させることを可能とする分岐回路、及び前記分岐回路によって分岐した複数の前記ステップの実行処理経路を合流させる合流回路を含み、
前記第２の選択受付手段は、前記最後のステップよりも上流側に前記分岐回路及び前記合流回路が存在する場合、当該分岐回路と当該合流回路との間における前記ステップの選択を不可とする、
請求項２又は３に記載の動作プログラム編集装置。
【請求項５】
コンピュータを、設備を制御するプログラマブルコントローラで実行可能な動作プログラムを編集するためのプログラム編集部を備えた動作プログラム編集装置として動作させるためのプログラムであって、
前記動作プログラムは、それぞれが個別の制御処理を表す複数のステップと、前記複数のステップ間の遷移条件を表すトランジションとを含んで記述され、前記複数のステップを上流側から下流側に連続して実行する連続運転中に途中停止した後の再起動時には、前記複数のステップのうち最も上流側のステップから実行が再開されるものであり、
前記プログラム編集部は、前記再起動時において前記複数のステップのうち一部のステップを迂回してこれら一部のステップの制御処理の実行を省略させるためのバイパス回路を含むバイパス回路を生成するバイパス回路生成手段、前記複数のステップのうち前記バイパス回路によって実行が省略される範囲の最後のステップの選択を受け付ける第１の選択受付手段、及び前記複数のステップのうち前記バイパス回路によって実行が省略される範囲の最初のステップの選択を受け付ける第２の選択受付手段として動作し、前記第２の選択受付手段で選択を受け付けた前記最初のステップの直前から前記第１の選択受付手段で選択を受け付けた前記最後のステップの一つ下流側のステップの直前までをバイパスするバイパス回路を生成すると共に、前記バイパス回路を有効とするか否かの遷移条件を示すトランジションを前記バイパス回路と共に生成し、当該遷移条件として前記第１の選択受付手段によって選択された前記最後のステップの制御処理が実行されたことを示す信号を用いる、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、それぞれが個別の制御処理を表す複数のステップと、前記複数のステップ間の遷移条件を表すトランジションとを含んで記述された、プログラマブルコントローラ用の動作プログラムを編集する動作プログラム編集装置、及びコンピュータを動作プログラム編集装置として動作させるプログラムに関する。
【背景技術】
【０００２】
従来、工作機械等の設備を制御するプログラマブルコントローラのプログラム言語としては、ＩＥＣ６１１３１−３規格に規定されているように、ラダー・ロジック（ラダー言語）、シーケンシャル・ファンクション・チャート（ＳＦＣ言語）、及びファンクション・ブロック・ダイアグラム（ＦＢＤ言語）等が知られている。このうち、ＳＦＣ言語は、個別の制御処理の流れをフローチャートのように記述する形式であり、その高い明確性によって近年利用が拡大している。
【０００３】
一方、ＳＦＣ言語によるプログラムは、個別の制御処理を表す複数のステップを先頭から順次実行することを前提として記述されるため、プログラマブルコントローラがＳＦＣ言語によって記述されたプログラムを実行している最中に、何らかの異常によって途中停止した場合、異常処理後の再起動時において、異常が発生したステップの続きのステップから制御処理を再開させることが難しかった。
【０００４】
本出願人は、このような問題点に鑑みて、ＳＦＣ言語によって記述されたプログラムにおいて、途中停止後の再起動を適切に行えるようにしたプログラマブルコントローラを提案している（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−９７０７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１に記載のものは、ステップ間の遷移条件を示す各トランジションにラダー言語によって記述されたラダープログラムを割り当て、このラダープログラムを、再起動されたときにオン状態となる途中起動フラグと、各トランジションの直前のステップの起動条件等とを組み合わせて構成するものであるため、そのプログラミング作業に手間がかかっていた。また、このような動作プログラムの内容は、フローチャート的に表現されたＳＦＣ言語には表れないため、プログラムの編集者以外の第三者（例えば設備の保全担当者）には分かりづらいという問題点もあった。このように、特許文献１に記載のものは、なお改善の余地を残すものとなっていた。
【０００７】
本発明は、上記の事情に鑑みてなされたものであり、その目的は、途中停止後の再起動が可能で、第三者にとってもその動作内容を確実に把握することができるＳＦＣ言語による動作プログラムを、容易に作成することが可能な動作プログラム編集装置、及びコンピュータを動作プログラム編集装置として動作させるプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明は、上記目的を達成するため、設備を制御するプログラマブルコントローラで実行可能な動作プログラムを編集するためのプログラム編集部、及び編集中の前記プログラムを表示する表示部を備えた動作プログラム編集装置であって、前記動作プログラムは、それぞれが個別の制御処理を表す複数のステップと、前記複数のステップ間の遷移条件を表すトランジションとを含んで記述され、前記複数のステップを上流側から下流側に連続して実行する連続運転中に途中停止した後の再起動時には、前記複数のステップのうち最も上流側のステップから実行が再開されるものであり、前記プログラム編集部は、前記再起動時において前記複数のステップのうち一部のステップを迂回してこれら一部のステップの制御処理の実行を省略させるためのバイパス回路を含むバイパス回路を生成するバイパス回路生成手段と、前記複数のステップのうち、前記バイパス回路によって実行が省略される範囲の最後のステップの選択を受け付ける第１の選択受付手段と、前記複数のステップのうち、前記バイパス回路によって実行が省略される範囲の最初のステップの選択を受け付ける第２の選択受付手段と、を備え、前記バイパス回路生成手段は、前記第２の選択受付手段で選択を受け付けた前記最初のステップの直前から前記第１の選択受付手段で選択を受け付けた前記最後のステップの一つ下流側のステップの直前までをバイパスするバイパス回路を生成すると共に、前記バイパス回路を有効とするか否かの遷移条件を示すトランジションを前記バイパス回路と共に生成し、当該遷移条件として前記第１の選択受付手段によって選択された前記最後のステップの制御処理が実行されたことを示す信号を用いる、動作プログラム編集装置を提供する。
【０００９】
また、本発明は、上記目的を達成するため、コンピュータを、設備を制御するプログラマブルコントローラで実行可能な動作プログラムを編集するためのプログラム編集部を備えた動作プログラム編集装置として動作させるためのプログラムであって、前記動作プログラムは、それぞれが個別の制御処理を表す複数のステップと、前記複数のステップ間の遷移条件を表すトランジションとを含んで記述され、前記複数のステップを上流側から下流側に連続して実行する連続運転中に途中停止した後の再起動時には、前記複数のステップのうち最も上流側のステップから実行が再開されるものであり、前記プログラム編集部は、前記再起動時において前記複数のステップのうち一部のステップを迂回してこれら一部のステップの制御処理の実行を省略させるためのバイパス回路を含むバイパス回路を生成するバイパス回路生成手段、前記複数のステップのうち前記バイパス回路によって実行が省略される範囲の最後のステップの選択を受け付ける第１の選択受付手段、及び前記複数のステップのうち前記バイパス回路によって実行が省略される範囲の最初のステップの選択を受け付ける第２の選択受付手段として動作し、前記第２の選択受付手段で選択を受け付けた前記最初のステップの直前から前記第１の選択受付手段で選択を受け付けた前記最後のステップの一つ下流側のステップの直前までをバイパスするバイパス回路を生成すると共に、前記バイパス回路を有効とするか否かの遷移条件を示すトランジションを前記バイパス回路と共に生成し、当該遷移条件として前記第１の選択受付手段によって選択された前記最後のステップの制御処理が実行されたことを示す信号を用いる、プログラムを提供する。
【発明の効果】
【００１０】
本発明によれば、途中停止後の再起動が可能で、第三者にとってもその動作内容を確実に把握することができるＳＦＣ言語による動作プログラムを、容易に作成することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態に係る動作プログラム編集装置を、プログラマブルコントローラ、制御対象の設備、及び操作盤と共に示す構成図である。
【図２】動作プログラム編集装置の機能構成を示すブロック図である。
【図３】自動運転プログラム編集手段によって編集されるＳＦＣプログラムの一例である。
【図４】動作プログラム編集装置のディスプレイに表示されるダイアログ画面の一例である。
【図５】バイパス回路生成手段によって生成されたバイパス回路が追加されたＳＦＣプログラムの一例である。
【図６】（ａ）〜（ｃ）は、バイパス回路生成手段によって生成されるラダープログラムの一例である。
【図７】複数のステップの制御処理を並行して実行させることを可能とする並列分岐回路と合流回路を含むＳＦＣプログラムの一例である。
【図８】複数のステップの制御処理を選択的に実行させることを可能とする選択分岐回路と合流回路を含むＳＦＣプログラムの一例である。
【発明を実施するための形態】
【００１２】
［実施の形態］
以下、本発明の実施の形態を、図１乃至図８を参照して説明する。なお、以下に示す実施の形態は、本発明を実施する上での好適な一具体例として示すものであり、技術的に好ましい種々の技術的事項を具体的に例示している部分もあるが、本発明の技術的範囲は、この具体的態様に限定されるものではない。
【００１３】
図１は、本発明の実施の形態に係る動作プログラム編集装置２を、プログラマブルコントローラ１０、制御対象の設備１２、及び操作盤１３と共に示す構成図である。
【００１４】
動作プログラム編集装置２は、表示画面を備えた情報処理装置によって構成される。本実施の形態では、動作プログラム編集装置２が、ＭＰＵ（Micro-processing unit）及びその周辺回路等を有して構成された本体部２０、表示部としてのディスプレイ２１、文字入力部としてのキーボード２２、及びポインティングデバイスとしてのタッチパッド２３を有する可搬型コンピュータ（ノートパソコン）によって構成されている。
【００１５】
この動作プログラム編集装置２は、プログラマブルコントローラ１０によって実行される動作プログラムを編集する機能、及び編集された動作プログラムを通信ケーブル１４１によってプログラマブルコントローラ１０に転送する機能を有している。この動作プログラムは、ＳＦＣ言語によって記述されたＳＦＣプログラムと、ＳＦＣプログラムの後述する各ステップ及びトランジションに割り当てられたラダー言語によるラダープログラムとからなる。
【００１６】
プログラマブルコントローラ１０は、電源モジュール１０１、ＣＰＵモジュール１０２、通信モジュール１０３、出力モジュール１０４、入力モジュール１０５、及びこれら各モジュールが装着されたベース１００を有して構成されている。電源モジュール１０１は、ベース１００を介して、ＣＰＵモジュール１０２等に電源を供給する。通信モジュール１０３は、操作盤１３のモニタ装置１３０との通信を行う。
【００１７】
出力モジュール１０４は、設備１２に設けられた複数のアクチュエータ１２１に接続された複数の出力接点を有している。複数のアクチュエータ１２１は、例えばソレノイドやモータ、あるいは油圧を制御する電磁切換弁等からなる。入力モジュール１０５は、設備１２に設けられた複数のセンサ１２２に接続された複数の入力接点を有している。複数のセンサ１２２は、例えば近接センサや光電センサ、あるいはリミットスイッチ等からなる。
【００１８】
ＣＰＵモジュール１０２は、動作プログラム編集装置２によって編集された動作プログラムを実行し、入力モジュール１０５の各入力接点の状態等に応じて出力モジュール１０４の各出力接点をオン／オフさせることにより、設備１２を制御する。本実施の形態では、設備１２が工作機械であり、搬入されたワークをクランプした状態で、切削や研削等の所定の加工動作を行うものとする。
【００１９】
操作盤１３は、表示器を備えたモニタ装置１３０と、自動／各個選択スイッチ１３１と、運転準備スイッチ１３２と、起動スイッチ１３３と、実行スイッチ１３４と、非常停止スイッチ１３５とを有している。自動／各個選択スイッチ１３１は、動作プログラム編集装置２によって編集された動作プログラムに従って連続運転を行う自動運転モードと、設備１２のアクチュエータ１２１に個別の動作を行わせる各個操作モードとを切り替えるスイッチである。運転準備スイッチ１３２は、設備１２のアクチュエータ１２１を動作可能とするためのスイッチである。起動スイッチ１３３は、自動運転の起動を指示するためのスイッチである。実行スイッチ１３４は、各個操作モードでの個別動作の実行を指示するためのスイッチである。非常停止スイッチ１３５は、設備１２の動作を即時停止させるためのスイッチである。これらの各スイッチ１３１〜１３５は、プログラマブルコントローラ１０の入力モジュール１０５に接続されている。
【００２０】
モニタ装置１３０は、通信ケーブル１４２によってプログラマブルコントローラ１０の通信モジュール１０３と接続され、出力モジュール１０４の各出力接点のオン／オフ状態、入力モジュール１０５の各入力接点のオン／オフ状態、及びＣＰＵモジュール１０２が記憶している各種フラグのオン／オフ状態を随時読み出し可能である。また、モニタ装置１３０は、プログラマブルコントローラ１０から、ＣＰＵモジュール１０２が記憶している動作プログラムを読み出すことも可能である。そして、モニタ装置１３０は、表示器の表示画面１３０ａにプログラマブルコントローラ１０のＣＰＵモジュール１０２による動作プログラムの実行状況を随時表示する。
【００２１】
動作プログラム編集装置２によって編集されるＳＦＣプログラムは、それぞれが個別の制御処理を表す複数のステップと、これら複数のステップ間の遷移条件を表すトランジションとを含んで記述されたものである。また、このＳＦＣプログラムは、複数のステップを上流側から下流側に連続して実行する設備１２の連続運転中に途中停止した後の再起動時には、プログラマブルコントローラ１０のＣＰＵモジュール１０２によって、複数のステップのうち最も上流側のステップから実行が再開される。
【００２２】
モニタ装置１３０は、ＣＰＵモジュール１０２が実行中のステップを、その前後のステップと共に表示画面１３０ａに表示する。この際、モニタ装置１３０は、例えば表示色を変えることにより、ＣＰＵモジュール１０２が実行中のステップを他のステップと識別可能に表示する。図１に示す例では、ＣＰＵモジュール１０２が実行中のステップをハッチングで図示している。
【００２３】
（動作プログラム編集装置２の機能構成）
図２は、動作プログラム編集装置２の機能構成を示すブロック図である。動作プログラム編集装置２は、プログラマブルコントローラ１０で実行可能な動作プログラムを編集するためのプログラム編集部２００を有する本体部２０、編集中の動作プログラムを表示するディスプレイ２１、ならびにキーボード２２及びタッチパッド２３を有している。本体部２０は、さらに、プログラム編集部２００によって編集された動作プログラムを記憶する記憶部２４、及びプログラマブルコントローラ１０との通信を行う通信部２５を有している。記憶部２４は、例えばハードディスクや半導体記憶素子からなる。
【００２４】
なお、タッチパッド２３に替えて、例えばマウスやトラックボールをポインティングデバイスとして用いることも可能である。また、ディスプレイ２１を例えば液晶パネル等の表示装置とタッチパッド等の位置入力装置とを組み合わせて構成した場合には、この位置入力装置をポインティングデバイスとして用いることができ、さらに表示装置に表示された文字を位置入力装置へのタッチ操作によって選択することで、キーボード２２に替えて文字入力を行うことも可能である。
【００２５】
プログラム編集部２００は、動作プログラム編集装置２に予めインストールされたプログラムをＭＰＵが実行することで、自動運転プログラム編集手段２０１、バイパス回路生成手段２０２、第１の選択受付手段２０３、及び第２の選択受付手段２０４として動作する。以下の説明では、コンピュータを動作プログラム編集装置２として動作させるためのプログラムを、プログラマブルコントローラ１０で実行される動作プログラムと明確に区別するため、「アプリケーションプログラム２４０」という。このアプリケーションプログラム２４０は、例えばＣＤ−ＲＯＭ等の記憶媒体やインターネット等の電気通信回線を通じて提供され、記憶部２４に記憶される。
【００２６】
自動運転プログラム編集手段２０１は、使用者によるキーボード２２及びタッチパッド２３の操作により、設備１２を自動運転させるための自動運転プログラムを編集する。バイパス回路生成手段２０２は、自動運転プログラムによる設備１２の連続運転中に設備１２が途中停止した後の再起動時において、複数のステップのうち一部のステップの実行を省略させるためのバイパス回路を生成する。すなわち、バイパス回路生成手段２０２は、自動運転プログラム編集手段２０１によって編集された自動運転プログラムに、バイパス回路を付加する。
【００２７】
第１の選択受付手段２０３は、複数のステップのうち、バイパス回路生成手段２０２によって生成されるバイパス回路によって実行が省略される範囲の最後のステップの選択を受け付ける。第２の選択受付手段２０４は、複数のステップのうち、バイパス回路生成手段２０２によって生成されるバイパス回路によって実行が省略される範囲の最初のステップの選択を受け付ける。
【００２８】
以下、バイパス回路によって実行が省略される範囲の最初のステップを「バイパス先頭ステップ」といい、バイパス回路によって実行が省略される範囲の最後のステップを「バイパス最終ステップ」という。
【００２９】
図３は、自動運転プログラム編集手段２０１によって編集される、ＳＦＣプログラムの一例を示す。ＳＦＣプログラムは、ＩＥＣ６１１３１−３規格にのっとり、個別の制御処理を表す複数のステップと、ステップ間の遷移条件を表すトランジションとを、交互に並べて記述される。ＳＦＣプログラムの先頭のステップである「ＳＴ０００」は、自動運転を示すステップである。プログラマブルコントローラ１０は、自動運転の開始時に、ＳＦＣプログラムの最上流にあたる「ＳＴ０００」から下流側に向かって、順次各ステップの制御処理を実行する。
【００３０】
図３に示すＳＦＣプログラムは、クランプ動作指令（ＳＴ００１）、前進命令（ＳＴ００２）、加工動作指令（ＳＴ００３）、及び後退指令（ＳＴ００４）の各ステップの制御処理を順次実行するように構成されている。
【００３１】
クランプ動作指令（ＳＴ００１）のステップの制御処理を実行してから、１つ下流側の前進命令（ＳＴ００２）のステップの処理を実行するためには、トランジション「ＴＲ００１」を通過する必要がある。このトランジション「ＴＲ００１」の遷移条件は、「クランプ端」であるため、例えば設備１２においてワークをクランプするクランパがクランプ端まで移動したことを示すセンサ１２２の信号が入力モジュール１０５に入力されたときに遷移条件が満たされ、通過可能となる。これにより、プログラマブルコントローラ１０は、このトランジション「ＴＲ００１」直下のステップである前進命令（ＳＴ００２）を実行する。この前進命令は、加工装置をワークに向かって前進させる動作の指令である。以下同様に、各トランジション（ＴＲ００２，ＴＲ００３，ＴＲ００４）の遷移条件が満たされると、１つ下流側のステップの制御処理が実行される。
【００３２】
各ステップ及び各トランジションには、それぞれラダープログラムが割り当てられる。各ステップに割り当てられたラダープログラムは、所定の条件の下、設備１２のアクチュエータ１２１に接続された出力モジュール１０４の出力接点をオンさせるプログラムであり、この所定の条件には、設備１２の動作上の安全を確保するための各種インタロック信号等が含まれる。各トランジションに割り当てられたラダープログラムには、その直前のステップの制御処理の動作が完了したことを示す入力モジュール１０５の入力接点を含んで、次のステップへの遷移条件が設定される。
【００３３】
ところで、設備１２は、その自動運転中に様々な要因により途中停止する場合がある。例えば、加工動作指令（ＳＴ００３）によるワークの加工中に、ワークを加工するための刃具が損傷して加工完了に至らない場合等には、トランジション「ＴＲ００３」の遷移条件が満たされず、設備１２が途中停止する。このような場合には、保全担当者がモニタ装置１３０の表示内容によって何れのステップで途中停止しているかを確認し、設備１２の電源を遮断して安全を確保した上で刃具を交換した後、自動／各個選択スイッチ１３１を各個操作モードに切り替え、各個操作によって加工を完了させる。あるいは、ワークを破棄せざるを得ない場合には、各個操作による加工を行うことなく、復旧作業を刃具の交換にとどめる。その後さらに保全担当者は、自動／各個選択スイッチ１３１を自動運転モードに切り替え、設備１２の自動運転を再開させる。
【００３４】
この際、プログラマブルコントローラ１０は、ＳＦＣプログラムの最も上流側のステップから実行を再開する。しかし、ワークは既に加工が完了した状態もしくは加工できない状態であるため、前進命令（ＳＴ００２）及び加工動作指令（ＳＴ００３）のステップを省略し、加工動作指令（ＳＴ００３）の次のステップである後退指令（ＳＴ００４）から制御処理を実行させる必要がある。
【００３５】
従来では、このような途中停止後の自動運転の再開（再起動）を適切に行わせるために、例えば上記特許文献１に記載されたように、トランジションに割り当てられたラダープログラムにおいて、再起動されたときにオン状態となる途中起動フラグを用いて所定の動作条件を設定する必要があり、そのプログラミング作業に手間がかかる等の問題があった。
【００３６】
そこで、本実施の形態では、バイパス回路生成手段２０２、第１の選択受付手段２０３、及び第２の選択受付手段２０４により、設備１２の再起動を適切に行わせるためのバイパス回路を生成可能としている。以下、図３に示すＳＦＣプログラムにおいて、途中停止後の再起動時にステップ「ＳＴ００２」及び「ＳＴ００３」の制御処理を省略するバイパス回路を生成する場合を例にとって、その具体的な処理内容を図４及び図５を参照して具体的に説明する。
【００３７】
バイパス回路を生成するために、動作プログラムの編集者が動作プログラム編集装置２に対して行う措置は、バイパス先頭ステップとバイパス最終ステップの選択である。第１の選択受付手段２０３は、バイパス最終ステップの選択を受け付け、第２の選択受付手段２０４は、バイパス先頭ステップの選択を受け付ける。バイパス回路生成手段２０２は、第１及び第２の選択受付手段２０３，２０４の受け付け結果に基づいて、バイパス回路を自動生成する。
【００３８】
より具体的には、図３に示すＳＦＣプログラムが動作プログラム編集装置２のディスプレイ２１に表示された状態で、タッチパッド２３の操作によってステップ「ＳＴ００３」を指定すると、ステップ「ＳＴ００３」の属性を示すダイアログ画面がディスプレイ２１に表示される。このダイアログ画面の一例を図４に示す。
【００３９】
図４に示すように、タッチパッド２３によってステップ「ＳＴ００３」を指定したときに表示されるダイアログ画面３には、完了記憶機能を使用するか否かを選択するためのチェックボックス３１、及び完了記憶機能を選択する場合に、再起動時において実行の省略を開始するバイパス先頭ステップを選択するドロップダウンボタン３２が表示される。ここで、完了記憶機能とは、例えばプログラマブルコントローラ１０の電源が一旦オフにされた場合でも、当該ステップの制御処理が完了したことを記憶しておく機能である。具体的には、後述するキープリレーをオンさせることにより、当該ステップの制御処理が完了したことを記憶する。
【００４０】
また、ダイアログ画面３では、プログラマブルコントローラ１０がステップ「ＳＴ００３」の制御処理を実行する際に自動でオンさせるフラグのアドレスが、表示欄３３に表示される。このフラグは、ダイアログ画面３の対象であるステップ「ＳＴ００３」の制御処理の実行に際してオン状態となる実行フラグであり、図４に示す例では、この実行フラグのアドレスである「ＥＫＦ００」が表示欄３３に表示されている。
【００４１】
この実行フラグは、直下のトランジションが成立し、次のステップに移行する際に、プログラマブルコントローラ１０の処理によって自動的にオフ状態となる。つまり、この実行フラグは、ラダープログラムによってオン又はオフされるものではなく、そのオン／オフ状態がプログラマブルコントローラ１０自体の処理によって切り替わる。
【００４２】
なお、図４では、ダイアログ画面３において表示されるその他の属性情報の表示エリア３０については、その具体的内容の図示を省略している。
【００４３】
ステップ「ＳＴ００３」を指定したときに表示されるダイアログ画面３において、動作プログラムの編集者がチェックボックス３１にチェックを入れると、このステップ「ＳＴ００３」がバイパス最終ステップとしてプログラム編集部２００に受け付けられる。すなわち、チェックボックス３１にチェックを入れる操作は、ステップ「ＳＴ００３」を、バイパス回路によって実行が省略される範囲の最後のステップとして設定するための設定操作である。この受け付け処理は、第１の選択受付手段２０３としての機能によるものである。
【００４４】
また、このダイアログ画面３において、プログラムの編集者がドロップダウンボタン３２をクリックしたときに表示されるプルダウンメニュー３２０からステップ「ＳＴ００２」を選択すると、このステップ「ＳＴ００２」がバイパス先頭ステップとしてプログラム編集部２００に受け付けられる。この際、プルダウンメニュー３２０に選択肢として表示されるステップは、ステップ「ＳＴ００３」よりも上流側のステップである。この受け付け処理は、第２の選択受付手段２０４としての機能によるものである。
【００４５】
そして、動作プログラムの編集者がダイアログ画面３の「ＯＫ」ボタン３４をクリックすると、ダイアログ画面３の表示が消え、これと同時にバイパス先頭ステップ及びバイパス最終ステップの選択が確定する。
【００４６】
このように、第１の選択受付手段２０３は、ディスプレイ２１に表示された複数のステップのうち１つのステップが選択されたときに表示されるダイアログ画面において、当該ステップをバイパス回路によって実行が省略される範囲の最後のステップとして設定する設定操作がなされた場合に、当該ステップをバイパス最終ステップとして受け付ける。また、第２の選択受付手段２０４は、ダイアログ画面にバイパス最終ステップとして受け付けられたステップよりも上流側の複数のステップを表示し、当該表示された複数のステップから１つのステップが選択されたとき、当該選択されたステップをバイパス先頭ステップとして受け付ける。
【００４７】
バイパス回路生成手段２０２は、第１及び第２の選択受付手段２０３，２０４によって受け付けられたバイパス最終ステップ及びバイパス先頭ステップの選択が確定すると、バイパス回路を生成すると共に、バイパス最終ステップに割り付けられるラダープログラム、及び生成されたバイパス回路のトランジションに割り付けられるラダープログラムを生成する。
【００４８】
図５は、図３に示すＳＦＣプログラムに、バイパス回路生成手段２０２によって生成されたバイパス回路４が追加されたＳＦＣプログラムの例である。図５では、バイパス回路生成手段２０２によって生成されたバイパス回路４を破線で囲って示している。
【００４９】
このバイパス回路４は、バイパス先頭ステップであるステップ「ＳＴ００２」の１つ上流側に生成されたダミーステップ４０と、このダミーステップとステップ「ＳＴ００２」との間に生成された第１のトランジション（ＴＲ０１１）４１と、第１のトランジション４１と並列に生成された第２のトランジション（ＴＲ０１２）４２と、第２のトランジション４２を通過した場合のジャンプ先を明示するバイパス経路４３とを含んでいる。
【００５０】
バイパス経路４３は、ステップ「ＳＴ００２」及びステップ「ＳＴ００３」を迂回して、第２のトランジション４２と、バイパス最終ステップの一つ下流側のステップであるステップ「ＳＴ００４」とを接続している。すなわち、自動運転プログラムへのバイパス経路４３の接続先は、バイパス最終ステップの一つ下流側のステップの直前であり、第２のトランジション４２の遷移条件が満たされた場合は、トランジション「ＴＲ００３」の遷移条件である加工完了の成否にかかわらず、ステップ「ＳＴ００４」以降のステップが実行される。
【００５１】
図６（ａ）〜（ｃ）は、バイパス回路生成手段２０２によって生成されるラダープログラムの一例を示し、（ａ）はバイパス最終ステップであるステップ「ＳＴ００３」に、（ｂ）は第１のトランジション４１に、（ｃ）は第２のトランジション４２に、それぞれ割り当てられるラダープログラムを示している。
【００５２】
ステップ「ＳＴ００３」に割り当てられるラダープログラム５０は、前述の実行フラグである「ＥＫＦ００」がオン状態となることによりキープリレー「Ｋ０１」がオン状態にセットされる第１の回路５０１と、キープリレー「Ｋ０１」をオフ状態にリセットするための第２の回路５０２によって構成される。キープリレー「Ｋ０１」は、オン状態にセットされた後、リセットされるまではオン状態が維持されるリレーであり、オン状態にセットされた状態でプログラマブルコントローラ１０の電源が遮断されても、その後に電源が投入された際には、そのオン状態が維持されている。
【００５３】
第１の回路５０１は、実行フラグ「ＥＫＦ００」のオン／オフ状態のみに応じて、実行フラグ「ＥＫＦ００」がオン状態である場合にキープリレー「Ｋ０１」がセットされるラダープログラムとして生成されるが、動作プログラムの編集者は、実行フラグ「ＥＫＦ００」の接点の他に、キープリレー「Ｋ０１」をセットするための条件となる各種のインタロック信号等の接点を必要に応じて追加することができる。
【００５４】
第２の回路５０２としては、常時オン接点である「Ｖ０４」のｂ接点（反転接点）によってキープリレー「Ｋ０１」がリセットされる回路が生成されるが、「Ｖ０４」のｂ接点は常時オフであるので、この回路のままではキープリレー「Ｋ０１」がリセットされない。このため、動作プログラムの編集者は、設備１２の構成に応じて、キープリレー「Ｋ０１」をリセットするための条件設定を第２の回路５０２に追加する。具体的には、例えば設備１２の各可動部が原位置にあることを示す接点を、「Ｖ０４」のｂ接点に替えて追加する。
【００５５】
このキープリレー「Ｋ０１」は、第１及び第２のトランジション４１，４２における遷移条件として用いられる。具体的には、キープリレー「Ｋ０１」がリセットされているとき、遷移条件が満たされるように構成されたラダープログラム５１が第１のトランジション４１に割り当てられる。また、キープリレー「Ｋ０１」がセットされているとき、遷移条件が満たされるように構成されたラダープログラム５２が第２のトランジション４２に割り当てられる。
【００５６】
第１のトランジション４１に割り当てられたラダープログラム５１におけるリレー「ＴＲ０１１」は、第１のトランジション４１の遷移条件を示し、このリレー「ＴＲ０１１」がオン状態であれば、第１のトランジション４１が通過可能状態となる。また、第２のトランジション４２に割り当てられたラダープログラム５２におけるリレー「ＴＲ０１２」は、第２のトランジション４２の遷移条件を示し、このリレー「ＴＲ０１２」がオン状態であれば、第２のトランジション４２が通過可能状態となる。
【００５７】
途中停止後の再起動ではなく、設備１２の自動運転がＳＦＣプログラムの先頭のステップであるステップ「ＳＴ０００」から開始された場合、キープリレー「Ｋ０１」はオフ状態であるので、第１のトランジション４１の遷移条件が満たされ、ステップ「ＳＴ００１」の次には、ステップ「ＳＴ００２」の制御処理が実行される。
【００５８】
一方、ステップ「ＳＴ００３」によってなされた加工動作指令の加工が完了していない状態で途中停止した後の再起動であれば、ステップ「ＳＴ００３」の制御処理の実行時に、第１の回路５０１によってセットされたキープリレー「Ｋ０１」のオン状態が維持されているので、第１のトランジション４１の遷移条件は満たされず、第２のトランジション４２の遷移条件が満たされる。これにより、バイパス経路４３が有効となり、バイパス先頭ステップであるステップ「ＳＴ００２」からバイパス最終ステップであるステップ「ＳＴ００３」までの制御処理の実行が省略される。
【００５９】
このように、バイパス回路生成手段２０２は、途中停止後の再起動時においてバイパス経路４３を有効とするための第２のトランジション４２の遷移条件として、第１の選択受付手段２０３によって選択されたバイパス最終ステップ（ステップ「ＳＴ００３」）の制御処理が実行されたことを示す信号（キープリレー「Ｋ０１」）を用いる。
【００６０】
次に、ＳＦＣプログラムが分岐を含む場合のバイパス回路の生成について、図７及び図８を参照して説明する。ＳＦＣプログラムで使用可能な分岐回路としては、後述する並列分岐回路と選択分岐回路がある。
【００６１】
図７は、複数のステップの制御処理を並行して実行させることを可能とする並列分岐回路４４、及び並列分岐回路４４によって分岐した複数のステップの実行処理経路を合流させる合流回路４５を含む、ＳＦＣプログラムの例を示す。
【００６２】
このような並列分岐回路４４及び合流回路４５を含むＳＦＣプログラムでは、バイパス最終ステップに対するバイパス先頭ステップの位置によっては、再起動後に設備１２の動作を適切に行わせることができない場合がある。そのため、第２の選択受付手段２０４は、不適切なバイパス先頭ステップの選択を不可とする。
【００６３】
具体的には、第２の選択受付手段２０４は、バイパス最終ステップが並列分岐回路４４によって分岐した１つの実行処理経路に含まれる場合、他の実行処理経路に含まれるステップ、及び並列分岐回路４４よりも上流側のステップの選択を不可とする。また、第２の選択受付手段２０４は、バイパス最終ステップよりも上流側に並列分岐回路４４及び合流回路４５が存在する場合、並列分岐回路４４と合流回路４５との間におけるステップの選択を不可とする。
【００６４】
図７に示す例では、並列分岐回路４４によって、各ステップの実行処理経路が、ステップ「ＳＴ００３」からなる第１実行処理経路４４１と、ステップ「ＳＴ００４」及びステップ「ＳＴ００６」からなる第２実行処理経路４４２と、ステップ「ＳＴ００５」及びステップ「ＳＴ００７」からなる第３実行処理経路４４３とに分岐する。これら第１乃至第３実行処理経路４４１〜４４３の各ステップの制御処理は並行して実行される。
【００６５】
そして、例えば第１の選択受付手段２０３によって受け付けられたバイパス最終ステップが第３実行処理経路４４３のステップ「ＳＴ００７」である場合、第２の選択受付手段２０４は、バイパス先頭ステップとして、第１実行処理経路４４１のステップ「ＳＴ００３」、第２実行処理経路４４２のステップ「ＳＴ００４」及び「ＳＴ００６」、ならびに並列分岐回路４４よりも上流側のステップ「ＳＴ００２」等を選択することを不可とする。より具体的には、ダイアログ画面３においてドロップダウンボタン３２をクリックしたときに表示されるプルダウンメニュー３２０にこれらのステップを表示せず、バイパス最終ステップであるステップ「ＳＴ００７」と同じ第３実行処理経路４４３に含まれ、かつステップ「ＳＴ００７」よりも上流側にあたるステップ「ＳＴ００５」のみを表示する。
【００６６】
また、第１の選択受付手段２０３によって受け付けられたバイパス最終ステップが合流回路４５よりも下流側のステップ「ＳＴ００８」である場合、第２の選択受付手段２０４は、バイパス先頭ステップとして、第１乃至第３実行処理経路４４１〜４４３に含まれるステップ「ＳＴ００３」〜「ＳＴ００７」を選択することを不可とする。より具体的には、ダイアログ画面３においてドロップダウンボタン３２をクリックしたときに表示されるプルダウンメニュー３２０にこれらのステップを表示せず、並列分岐回路４４よりも上流側にあたるステップ「ＳＴ００２」等を表示する。
【００６７】
これにより、バイパス先頭回路とバイパス最終回路との位置関係が不適切なバイパス回路が生成されてしまうことを防ぐことができる。
【００６８】
図８は、複数のステップの制御処理を選択的に実行させることを可能とする選択分岐回路４６、及び選択分岐回路４６によって分岐した複数のステップの実行処理経路を合流させる合流回路４７を含む、ＳＦＣプログラムの例を示す。
【００６９】
このような選択分岐回路４６及び合流回路４７を含むＳＦＣプログラムにおいても、バイパス最終ステップに対するバイパス先頭ステップの位置によっては、再起動後に設備１２の動作を適切に行わせることができない場合がある。そのため、第２の選択受付手段２０４は、不適切なバイパス先頭ステップの選択を不可とする。
【００７０】
具体的には、第２の選択受付手段２０４は、バイパス最終ステップが選択分岐回路４６によって分岐した１つの実行処理経路に含まれる場合、他の実行処理経路に含まれるステップ、及び選択分岐回路４６よりも上流側のステップの選択を不可とする。また、第２の選択受付手段２０４は、バイパス最終ステップよりも上流側に選択分岐回路４６及び合流回路４７が存在する場合、選択分岐回路４６と合流回路４７との間におけるステップの選択を不可とする。
【００７１】
図８に示す例では、選択分岐回路４６によって、各ステップの実行処理経路が、ステップ「ＳＴ００３」からなる第１実行処理経路４６１と、ステップ「ＳＴ００４」及び「ＳＴ００６」からなる第２実行処理経路４６２と、ステップ「ＳＴ００５」及びステップ「ＳＴ００７」からなる第３実行処理経路４６３とに分岐する。第１実行処理経路４６１におけるステップ「ＳＴ００３」の制御処理は、トランジション「ＴＲ０１１」の遷移条件が満たされた場合に実行される。第２実行処理経路４６２におけるステップ「ＳＴ００４」及び「ＳＴ００６」の制御処理は、トランジション「ＴＲ０１２」の遷移条件が満たされた場合に実行される。また、第３実行処理経路４６３におけるステップ「ＳＴ００５」及び「ＳＴ００７」の制御処理は、トランジション「ＴＲ０１３」の遷移条件が満たされた場合に実行される。
【００７２】
そして、例えば第１の選択受付手段２０３によって受け付けられたバイパス最終ステップが第３実行処理経路４６３のステップ「ＳＴ００７」である場合、第２の選択受付手段２０４は、バイパス先頭ステップとして、第１実行処理経路４６１のステップ「ＳＴ００３」、第２実行処理経路４６２のステップ「ＳＴ００４」及び「ＳＴ００６」、ならびに選択分岐回路４６よりも上流側のステップ「ＳＴ００２」等を選択することを不可とする。より具体的には、ダイアログ画面３においてドロップダウンボタン３２をクリックしたときに表示されるプルダウンメニュー３２０にこれらのステップを表示せず、バイパス最終ステップであるステップ「ＳＴ００７」と同じ第３実行処理経路４６３に含まれ、かつステップ「ＳＴ００７」よりも上流側にあたるステップ「ＳＴ００５」のみを表示する。
【００７３】
また、第１の選択受付手段２０３によって受け付けられたバイパス最終ステップが合流回路４７よりも下流側のステップ「ＳＴ００８」である場合、第２の選択受付手段２０４は、バイパス先頭ステップとして、第１乃至第３実行処理経路４６１〜４６３に含まれるステップ「ＳＴ００３」〜「ＳＴ００７」を選択することを不可とする。より具体的には、ダイアログ画面３においてドロップダウンボタン３２をクリックしたときに表示されるプルダウンメニュー３２０にこれらのステップを表示せず、選択分岐回路４６よりも上流側にあたるステップ「ＳＴ００２」等を表示する。
【００７４】
これにより、バイパス先頭回路とバイパス最終回路との位置関係が不適切なバイパス回路が生成されてしまうことを防ぐことができる。
【００７５】
（実施の形態の作用及び効果）
以上説明した実施の形態によれば、以下に述べる作用及び効果が得られる。
【００７６】
（１）第１の選択受付手段２０３及び第２の選択受付手段２０４の受け付け結果に基づいて、途中停止後の再起動を可能とするバイパス回路がバイパス回路生成手段２０２によって生成されるので、バイパス回路を容易に作成することができ、動作プログラムの編集者の負担を軽減することが可能となる。
【００７７】
（２）バイパス回路生成手段２０２によって生成されたバイパス回路は、ＳＦＣプログラムに明示されるので、動作プログラムの編集者以外の第三者にとっても、ＳＦＣプログラムの動作内容を確実に把握することができる。
【００７８】
（３）バイパス回路生成手段２０２は、途中停止後の再起動時においてバイパス経路４３を有効とするための第２のトランジション４２の遷移条件として、バイパス最終ステップの制御処理が完了していることを示すキープリレー「Ｋ０１」を用いるので、第２のトランジション４２に割り当てられるラダープログラムを簡潔に構成することができる。
【００７９】
（４）第１の選択受付手段２０３及び第２の選択受付手段は、ダイアログ画面３における設定操作及び選択操作によってバイパス最終ステップ及びバイパス先頭の選択を受け付けるので、動作プログラムの編集者の負担がさらに軽減される。
【００８０】
（５）第２の選択受付手段２０４は、不適切なバイパス先頭ステップの選択を不可とするので、設備１２を動作させる上で不適切なバイパス回路が生成されてしまうことを未然に防ぐことができる。
【００８１】
（付記）
以上、本発明を実施の形態に基づいて説明したが、上記に記載した実施の形態は特許請求の範囲に係る発明を限定するものではない。また、実施の形態の中で説明した特徴の組合せの全てが発明の課題を解決するための手段に必須であるとは限らない点に留意すべきである。
【００８２】
また、本発明は、その趣旨を逸脱しない範囲で適宜変形して実施することが可能である。例えば、上記実施の形態では、可搬型コンピュータにアプリケーションプログラム２４０をインストールし、動作プログラム編集装置２として用いる場合について説明したが、これに限らない。例えばモニタ装置１３０に動作プログラム編集機能を持たせ、動作プログラム編集装置として用いてもよい。
【００８３】
また、ダイアログ画面３の構成は、図４に例示したものに限らず、様々な構成のものを用いることができ、例えばリストボックスに替えてラジオボタンによってバイパス先頭ステップを選択するようにしてもよい。またさらに、上記実施の形態では、先にバイパス最終ステップを選択し、次にバイパス先頭ステップを選択するようにしたが、この順序を逆にし、先にバイパス先頭ステップを選択し、次にバイパス最終ステップを選択するようにしてもよい。
【００８４】
また、プログラマブルコントローラ１０の制御対象としては、工作機械の他、エレベータや自動販売機、あるいは信号機等の各種の設備を適用することができる。
【符号の説明】
【００８５】
１０…プログラマブルコントローラ、１００…ベース、１０１…電源モジュール、１０２…ＣＰＵモジュール、１０３…通信モジュール、１０４…出力モジュール、１０５…入力モジュール、１２…設備、１２１…アクチュエータ、１２２…センサ、１３…操作盤、１３０…モニタ装置、１３０ａ…表示画面、１３１…自動／各個選択スイッチ、１３２…運転準備スイッチ、１３３…起動スイッチ、１３４…実行スイッチ、１３５…非常停止スイッチ、１０４…出力モジュール、１４１，１４２…通信ケーブル、１０５…入力モジュール、２…動作プログラム編集装置、２０…本体部、２００…プログラム編集部、２０１…自動運転プログラム編集手段、２０２…バイパス回路生成手段、２０３…第１の選択受付手段、２０４…第２の選択受付手段、２１…ディスプレイ（表示部）、２２…キーボード、２３…タッチパッド、２４…記憶部、２４０…アプリケーションプログラム（プログラム）、２５…通信部、３…ダイアログ画面、３０…表示エリア、３１…チェックボックス、３２…ドロップダウンボタン、３２０…プルダウンメニュー、３３…表示欄、３４…ボタン、４…バイパス回路、４０…ダミーステップ、４１…第１のトランジション、４２…第２のトランジション、４３…バイパス経路、４４…並列分岐回路、４４１〜４４３…第１乃至第３実行処理経路、４５…合流回路、４６…選択分岐回路、４６１〜４６３…第１乃至第３実行処理経路、４７…合流回路、５０，５１，５２…ラダープログラム、５０１…第１の回路、５０２…第２の回路
【図１】
0006742689.tif 000002
【図２】
0006742689.tif 000003
【図３】
0006742689.tif 000004
【図４】
0006742689.tif 000005
【図５】
0006742689.tif 000006
【図６】
0006742689.tif 000007
【図７】
0006742689.tif 000008
【図８】
0006742689.tif 000009