(58)【調査した分野】(Int.Cl.,DB名)
設備を制御するプログラマブルコントローラで実行可能な動作プログラムを編集するためのプログラム編集部、及び編集中の前記動作プログラムを表示する表示部を備えた動作プログラム編集装置であって、
前記動作プログラムは、それぞれが個別の制御処理を表す複数のステップと、前記複数のステップ間の遷移条件を表すトランジションとを含んで記述され、前記複数のステップを上流側から下流側に連続して実行する連続運転中に途中停止した後の再起動時には、前記複数のステップのうち最も上流側のステップから実行が再開されるものであり、
前記プログラム編集部は、
前記再起動時において前記複数のステップのうち一部のステップを迂回してこれら一部のステップの制御処理の実行を省略させるためのバイパス回路を含むバイパス回路を生成するバイパス回路生成手段と、
前記複数のステップのうち、前記バイパス回路によって実行が省略される範囲の最後のステップの選択を受け付ける第1の選択受付手段と、
前記複数のステップのうち、前記バイパス回路によって実行が省略される範囲の最初のステップの選択を受け付ける第2の選択受付手段と、を備え、
前記バイパス回路生成手段は、前記第2の選択受付手段で選択を受け付けた前記最初のステップの直前から前記第1の選択受付手段で選択を受け付けた前記最後のステップの一つ下流側のステップの直前までをバイパスするバイパス回路を生成すると共に、前記バイパス回路を有効とするか否かの遷移条件を示すトランジションを前記バイパス回路と共に生成し、当該遷移条件として前記第1の選択受付手段によって選択された前記最後のステップの制御処理が実行されたことを示す信号を用いる、
動作プログラム編集装置。
前記第1の選択受付手段は、前記表示部に表示された複数の前記ステップのうち1つのステップが選択されたときに前記表示部に表示されるダイアログ画面において当該ステップを前記バイパス回路によって実行が省略される範囲の最後のステップとして設定する設定操作がなされた場合に、当該ステップを前記最後のステップとして受け付け、
前記第2の選択受付手段は、前記ダイアログ画面に前記最後のステップよりも上流側の複数のステップを表示し、当該表示された複数のステップから1つのステップが選択されたとき、当該選択されたステップを前記最初のステップとして受け付ける、
請求項1に記載の動作プログラム編集装置。
前記動作プログラムは、複数の前記ステップの制御処理を並行して又は選択的に実行させることを可能とする分岐回路、及び前記分岐回路によって分岐した複数の前記ステップの実行処理経路を合流させる合流回路を含み、
前記第2の選択受付手段は、前記最後のステップが前記分岐回路によって分岐した1つの実行処理経路に含まれる場合、他の実行処理経路に含まれる前記ステップ、及び前記分岐回路よりも上流側の前記ステップの選択を不可とする、
請求項2に記載の動作プログラム編集装置。
前記動作プログラムは、複数の前記ステップの制御処理を並行して又は選択的に実行させることを可能とする分岐回路、及び前記分岐回路によって分岐した複数の前記ステップの実行処理経路を合流させる合流回路を含み、
前記第2の選択受付手段は、前記最後のステップよりも上流側に前記分岐回路及び前記合流回路が存在する場合、当該分岐回路と当該合流回路との間における前記ステップの選択を不可とする、
請求項2又は3に記載の動作プログラム編集装置。
コンピュータを、設備を制御するプログラマブルコントローラで実行可能な動作プログラムを編集するためのプログラム編集部を備えた動作プログラム編集装置として動作させるためのプログラムであって、
前記動作プログラムは、それぞれが個別の制御処理を表す複数のステップと、前記複数のステップ間の遷移条件を表すトランジションとを含んで記述され、前記複数のステップを上流側から下流側に連続して実行する連続運転中に途中停止した後の再起動時には、前記複数のステップのうち最も上流側のステップから実行が再開されるものであり、
前記プログラム編集部は、前記再起動時において前記複数のステップのうち一部のステップを迂回してこれら一部のステップの制御処理の実行を省略させるためのバイパス回路を含むバイパス回路を生成するバイパス回路生成手段、前記複数のステップのうち前記バイパス回路によって実行が省略される範囲の最後のステップの選択を受け付ける第1の選択受付手段、及び前記複数のステップのうち前記バイパス回路によって実行が省略される範囲の最初のステップの選択を受け付ける第2の選択受付手段として動作し、前記第2の選択受付手段で選択を受け付けた前記最初のステップの直前から前記第1の選択受付手段で選択を受け付けた前記最後のステップの一つ下流側のステップの直前までをバイパスするバイパス回路を生成すると共に、前記バイパス回路を有効とするか否かの遷移条件を示すトランジションを前記バイパス回路と共に生成し、当該遷移条件として前記第1の選択受付手段によって選択された前記最後のステップの制御処理が実行されたことを示す信号を用いる、
プログラム。
【発明を実施するための形態】
【0012】
[実施の形態]
以下、本発明の実施の形態を、
図1乃至
図8を参照して説明する。なお、以下に示す実施の形態は、本発明を実施する上での好適な一具体例として示すものであり、技術的に好ましい種々の技術的事項を具体的に例示している部分もあるが、本発明の技術的範囲は、この具体的態様に限定されるものではない。
【0013】
図1は、本発明の実施の形態に係る動作プログラム編集装置2を、プログラマブルコントローラ10、制御対象の設備12、及び操作盤13と共に示す構成図である。
【0014】
動作プログラム編集装置2は、表示画面を備えた情報処理装置によって構成される。本実施の形態では、動作プログラム編集装置2が、MPU(Micro-processing unit)及びその周辺回路等を有して構成された本体部20、表示部としてのディスプレイ21、文字入力部としてのキーボード22、及びポインティングデバイスとしてのタッチパッド23を有する可搬型コンピュータ(ノートパソコン)によって構成されている。
【0015】
この動作プログラム編集装置2は、プログラマブルコントローラ10によって実行される動作プログラムを編集する機能、及び編集された動作プログラムを通信ケーブル141によってプログラマブルコントローラ10に転送する機能を有している。この動作プログラムは、SFC言語によって記述されたSFCプログラムと、SFCプログラムの後述する各ステップ及びトランジションに割り当てられたラダー言語によるラダープログラムとからなる。
【0016】
プログラマブルコントローラ10は、電源モジュール101、CPUモジュール102、通信モジュール103、出力モジュール104、入力モジュール105、及びこれら各モジュールが装着されたベース100を有して構成されている。電源モジュール101は、ベース100を介して、CPUモジュール102等に電源を供給する。通信モジュール103は、操作盤13のモニタ装置130との通信を行う。
【0017】
出力モジュール104は、設備12に設けられた複数のアクチュエータ121に接続された複数の出力接点を有している。複数のアクチュエータ121は、例えばソレノイドやモータ、あるいは油圧を制御する電磁切換弁等からなる。入力モジュール105は、設備12に設けられた複数のセンサ122に接続された複数の入力接点を有している。複数のセンサ122は、例えば近接センサや光電センサ、あるいはリミットスイッチ等からなる。
【0018】
CPUモジュール102は、動作プログラム編集装置2によって編集された動作プログラムを実行し、入力モジュール105の各入力接点の状態等に応じて出力モジュール104の各出力接点をオン/オフさせることにより、設備12を制御する。本実施の形態では、設備12が工作機械であり、搬入されたワークをクランプした状態で、切削や研削等の所定の加工動作を行うものとする。
【0019】
操作盤13は、表示器を備えたモニタ装置130と、自動/各個選択スイッチ131と、運転準備スイッチ132と、起動スイッチ133と、実行スイッチ134と、非常停止スイッチ135とを有している。自動/各個選択スイッチ131は、動作プログラム編集装置2によって編集された動作プログラムに従って連続運転を行う自動運転モードと、設備12のアクチュエータ121に個別の動作を行わせる各個操作モードとを切り替えるスイッチである。運転準備スイッチ132は、設備12のアクチュエータ121を動作可能とするためのスイッチである。起動スイッチ133は、自動運転の起動を指示するためのスイッチである。実行スイッチ134は、各個操作モードでの個別動作の実行を指示するためのスイッチである。非常停止スイッチ135は、設備12の動作を即時停止させるためのスイッチである。これらの各スイッチ131〜135は、プログラマブルコントローラ10の入力モジュール105に接続されている。
【0020】
モニタ装置130は、通信ケーブル142によってプログラマブルコントローラ10の通信モジュール103と接続され、出力モジュール104の各出力接点のオン/オフ状態、入力モジュール105の各入力接点のオン/オフ状態、及びCPUモジュール102が記憶している各種フラグのオン/オフ状態を随時読み出し可能である。また、モニタ装置130は、プログラマブルコントローラ10から、CPUモジュール102が記憶している動作プログラムを読み出すことも可能である。そして、モニタ装置130は、表示器の表示画面130aにプログラマブルコントローラ10のCPUモジュール102による動作プログラムの実行状況を随時表示する。
【0021】
動作プログラム編集装置2によって編集されるSFCプログラムは、それぞれが個別の制御処理を表す複数のステップと、これら複数のステップ間の遷移条件を表すトランジションとを含んで記述されたものである。また、このSFCプログラムは、複数のステップを上流側から下流側に連続して実行する設備12の連続運転中に途中停止した後の再起動時には、プログラマブルコントローラ10のCPUモジュール102によって、複数のステップのうち最も上流側のステップから実行が再開される。
【0022】
モニタ装置130は、CPUモジュール102が実行中のステップを、その前後のステップと共に表示画面130aに表示する。この際、モニタ装置130は、例えば表示色を変えることにより、CPUモジュール102が実行中のステップを他のステップと識別可能に表示する。
図1に示す例では、CPUモジュール102が実行中のステップをハッチングで図示している。
【0023】
(動作プログラム編集装置2の機能構成)
図2は、動作プログラム編集装置2の機能構成を示すブロック図である。動作プログラム編集装置2は、プログラマブルコントローラ10で実行可能な動作プログラムを編集するためのプログラム編集部200を有する本体部20、編集中の動作プログラムを表示するディスプレイ21、ならびにキーボード22及びタッチパッド23を有している。本体部20は、さらに、プログラム編集部200によって編集された動作プログラムを記憶する記憶部24、及びプログラマブルコントローラ10との通信を行う通信部25を有している。記憶部24は、例えばハードディスクや半導体記憶素子からなる。
【0024】
なお、タッチパッド23に替えて、例えばマウスやトラックボールをポインティングデバイスとして用いることも可能である。また、ディスプレイ21を例えば液晶パネル等の表示装置とタッチパッド等の位置入力装置とを組み合わせて構成した場合には、この位置入力装置をポインティングデバイスとして用いることができ、さらに表示装置に表示された文字を位置入力装置へのタッチ操作によって選択することで、キーボード22に替えて文字入力を行うことも可能である。
【0025】
プログラム編集部200は、動作プログラム編集装置2に予めインストールされたプログラムをMPUが実行することで、自動運転プログラム編集手段201、バイパス回路生成手段202、第1の選択受付手段203、及び第2の選択受付手段204として動作する。以下の説明では、コンピュータを動作プログラム編集装置2として動作させるためのプログラムを、プログラマブルコントローラ10で実行される動作プログラムと明確に区別するため、「アプリケーションプログラム240」という。このアプリケーションプログラム240は、例えばCD−ROM等の記憶媒体やインターネット等の電気通信回線を通じて提供され、記憶部24に記憶される。
【0026】
自動運転プログラム編集手段201は、使用者によるキーボード22及びタッチパッド23の操作により、設備12を自動運転させるための自動運転プログラムを編集する。バイパス回路生成手段202は、自動運転プログラムによる設備12の連続運転中に設備12が途中停止した後の再起動時において、複数のステップのうち一部のステップの実行を省略させるためのバイパス回路を生成する。すなわち、バイパス回路生成手段202は、自動運転プログラム編集手段201によって編集された自動運転プログラムに、バイパス回路を付加する。
【0027】
第1の選択受付手段203は、複数のステップのうち、バイパス回路生成手段202によって生成されるバイパス回路によって実行が省略される範囲の最後のステップの選択を受け付ける。第2の選択受付手段204は、複数のステップのうち、バイパス回路生成手段202によって生成されるバイパス回路によって実行が省略される範囲の最初のステップの選択を受け付ける。
【0028】
以下、バイパス回路によって実行が省略される範囲の最初のステップを「バイパス先頭ステップ」といい、バイパス回路によって実行が省略される範囲の最後のステップを「バイパス最終ステップ」という。
【0029】
図3は、自動運転プログラム編集手段201によって編集される、SFCプログラムの一例を示す。SFCプログラムは、IEC61131−3規格にのっとり、個別の制御処理を表す複数のステップと、ステップ間の遷移条件を表すトランジションとを、交互に並べて記述される。SFCプログラムの先頭のステップである「ST000」は、自動運転を示すステップである。プログラマブルコントローラ10は、自動運転の開始時に、SFCプログラムの最上流にあたる「ST000」から下流側に向かって、順次各ステップの制御処理を実行する。
【0030】
図3に示すSFCプログラムは、クランプ動作指令(ST001)、前進命令(ST002)、加工動作指令(ST003)、及び後退指令(ST004)の各ステップの制御処理を順次実行するように構成されている。
【0031】
クランプ動作指令(ST001)のステップの制御処理を実行してから、1つ下流側の前進命令(ST002)のステップの処理を実行するためには、トランジション「TR001」を通過する必要がある。このトランジション「TR001」の遷移条件は、「クランプ端」であるため、例えば設備12においてワークをクランプするクランパがクランプ端まで移動したことを示すセンサ122の信号が入力モジュール105に入力されたときに遷移条件が満たされ、通過可能となる。これにより、プログラマブルコントローラ10は、このトランジション「TR001」直下のステップである前進命令(ST002)を実行する。この前進命令は、加工装置をワークに向かって前進させる動作の指令である。以下同様に、各トランジション(TR002,TR003,TR004)の遷移条件が満たされると、1つ下流側のステップの制御処理が実行される。
【0032】
各ステップ及び各トランジションには、それぞれラダープログラムが割り当てられる。各ステップに割り当てられたラダープログラムは、所定の条件の下、設備12のアクチュエータ121に接続された出力モジュール104の出力接点をオンさせるプログラムであり、この所定の条件には、設備12の動作上の安全を確保するための各種インタロック信号等が含まれる。各トランジションに割り当てられたラダープログラムには、その直前のステップの制御処理の動作が完了したことを示す入力モジュール105の入力接点を含んで、次のステップへの遷移条件が設定される。
【0033】
ところで、設備12は、その自動運転中に様々な要因により途中停止する場合がある。例えば、加工動作指令(ST003)によるワークの加工中に、ワークを加工するための刃具が損傷して加工完了に至らない場合等には、トランジション「TR003」の遷移条件が満たされず、設備12が途中停止する。このような場合には、保全担当者がモニタ装置130の表示内容によって何れのステップで途中停止しているかを確認し、設備12の電源を遮断して安全を確保した上で刃具を交換した後、自動/各個選択スイッチ131を各個操作モードに切り替え、各個操作によって加工を完了させる。あるいは、ワークを破棄せざるを得ない場合には、各個操作による加工を行うことなく、復旧作業を刃具の交換にとどめる。その後さらに保全担当者は、自動/各個選択スイッチ131を自動運転モードに切り替え、設備12の自動運転を再開させる。
【0034】
この際、プログラマブルコントローラ10は、SFCプログラムの最も上流側のステップから実行を再開する。しかし、ワークは既に加工が完了した状態もしくは加工できない状態であるため、前進命令(ST002)及び加工動作指令(ST003)のステップを省略し、加工動作指令(ST003)の次のステップである後退指令(ST004)から制御処理を実行させる必要がある。
【0035】
従来では、このような途中停止後の自動運転の再開(再起動)を適切に行わせるために、例えば上記特許文献1に記載されたように、トランジションに割り当てられたラダープログラムにおいて、再起動されたときにオン状態となる途中起動フラグを用いて所定の動作条件を設定する必要があり、そのプログラミング作業に手間がかかる等の問題があった。
【0036】
そこで、本実施の形態では、バイパス回路生成手段202、第1の選択受付手段203、及び第2の選択受付手段204により、設備12の再起動を適切に行わせるためのバイパス回路を生成可能としている。以下、
図3に示すSFCプログラムにおいて、途中停止後の再起動時にステップ「ST002」及び「ST003」の制御処理を省略するバイパス回路を生成する場合を例にとって、その具体的な処理内容を
図4及び
図5を参照して具体的に説明する。
【0037】
バイパス回路を生成するために、動作プログラムの編集者が動作プログラム編集装置2に対して行う措置は、バイパス先頭ステップとバイパス最終ステップの選択である。第1の選択受付手段203は、バイパス最終ステップの選択を受け付け、第2の選択受付手段204は、バイパス先頭ステップの選択を受け付ける。バイパス回路生成手段202は、第1及び第2の選択受付手段203,204の受け付け結果に基づいて、バイパス回路を自動生成する。
【0038】
より具体的には、
図3に示すSFCプログラムが動作プログラム編集装置2のディスプレイ21に表示された状態で、タッチパッド23の操作によってステップ「ST003」を指定すると、ステップ「ST003」の属性を示すダイアログ画面がディスプレイ21に表示される。このダイアログ画面の一例を
図4に示す。
【0039】
図4に示すように、タッチパッド23によってステップ「ST003」を指定したときに表示されるダイアログ画面3には、完了記憶機能を使用するか否かを選択するためのチェックボックス31、及び完了記憶機能を選択する場合に、再起動時において実行の省略を開始するバイパス先頭ステップを選択するドロップダウンボタン32が表示される。ここで、完了記憶機能とは、例えばプログラマブルコントローラ10の電源が一旦オフにされた場合でも、当該ステップの制御処理が完了したことを記憶しておく機能である。具体的には、後述するキープリレーをオンさせることにより、当該ステップの制御処理が完了したことを記憶する。
【0040】
また、ダイアログ画面3では、プログラマブルコントローラ10がステップ「ST003」の制御処理を実行する際に自動でオンさせるフラグのアドレスが、表示欄33に表示される。このフラグは、ダイアログ画面3の対象であるステップ「ST003」の制御処理の実行に際してオン状態となる実行フラグであり、
図4に示す例では、この実行フラグのアドレスである「EKF00」が表示欄33に表示されている。
【0041】
この実行フラグは、直下のトランジションが成立し、次のステップに移行する際に、プログラマブルコントローラ10の処理によって自動的にオフ状態となる。つまり、この実行フラグは、ラダープログラムによってオン又はオフされるものではなく、そのオン/オフ状態がプログラマブルコントローラ10自体の処理によって切り替わる。
【0042】
なお、
図4では、ダイアログ画面3において表示されるその他の属性情報の表示エリア30については、その具体的内容の図示を省略している。
【0043】
ステップ「ST003」を指定したときに表示されるダイアログ画面3において、動作プログラムの編集者がチェックボックス31にチェックを入れると、このステップ「ST003」がバイパス最終ステップとしてプログラム編集部200に受け付けられる。すなわち、チェックボックス31にチェックを入れる操作は、ステップ「ST003」を、バイパス回路によって実行が省略される範囲の最後のステップとして設定するための設定操作である。この受け付け処理は、第1の選択受付手段203としての機能によるものである。
【0044】
また、このダイアログ画面3において、プログラムの編集者がドロップダウンボタン32をクリックしたときに表示されるプルダウンメニュー320からステップ「ST002」を選択すると、このステップ「ST002」がバイパス先頭ステップとしてプログラム編集部200に受け付けられる。この際、プルダウンメニュー320に選択肢として表示されるステップは、ステップ「ST003」よりも上流側のステップである。この受け付け処理は、第2の選択受付手段204としての機能によるものである。
【0045】
そして、動作プログラムの編集者がダイアログ画面3の「OK」ボタン34をクリックすると、ダイアログ画面3の表示が消え、これと同時にバイパス先頭ステップ及びバイパス最終ステップの選択が確定する。
【0046】
このように、第1の選択受付手段203は、ディスプレイ21に表示された複数のステップのうち1つのステップが選択されたときに表示されるダイアログ画面において、当該ステップをバイパス回路によって実行が省略される範囲の最後のステップとして設定する設定操作がなされた場合に、当該ステップをバイパス最終ステップとして受け付ける。また、第2の選択受付手段204は、ダイアログ画面にバイパス最終ステップとして受け付けられたステップよりも上流側の複数のステップを表示し、当該表示された複数のステップから1つのステップが選択されたとき、当該選択されたステップをバイパス先頭ステップとして受け付ける。
【0047】
バイパス回路生成手段202は、第1及び第2の選択受付手段203,204によって受け付けられたバイパス最終ステップ及びバイパス先頭ステップの選択が確定すると、バイパス回路を生成すると共に、バイパス最終ステップに割り付けられるラダープログラム、及び生成されたバイパス回路のトランジションに割り付けられるラダープログラムを生成する。
【0048】
図5は、
図3に示すSFCプログラムに、バイパス回路生成手段202によって生成されたバイパス回路4が追加されたSFCプログラムの例である。
図5では、バイパス回路生成手段202によって生成されたバイパス回路4を破線で囲って示している。
【0049】
このバイパス回路4は、バイパス先頭ステップであるステップ「ST002」の1つ上流側に生成されたダミーステップ40と、このダミーステップとステップ「ST002」との間に生成された第1のトランジション(TR011)41と、第1のトランジション41と並列に生成された第2のトランジション(TR012)42と、第2のトランジション42を通過した場合のジャンプ先を明示するバイパス経路43とを含んでいる。
【0050】
バイパス経路43は、ステップ「ST002」及びステップ「ST003」を迂回して、第2のトランジション42と、バイパス最終ステップの一つ下流側のステップであるステップ「ST004」とを接続している。すなわち、自動運転プログラムへのバイパス経路43の接続先は、バイパス最終ステップの一つ下流側のステップの直前であり、第2のトランジション42の遷移条件が満たされた場合は、トランジション「TR003」の遷移条件である加工完了の成否にかかわらず、ステップ「ST004」以降のステップが実行される。
【0051】
図6(a)〜(c)は、バイパス回路生成手段202によって生成されるラダープログラムの一例を示し、(a)はバイパス最終ステップであるステップ「ST003」に、(b)は第1のトランジション41に、(c)は第2のトランジション42に、それぞれ割り当てられるラダープログラムを示している。
【0052】
ステップ「ST003」に割り当てられるラダープログラム50は、前述の実行フラグである「EKF00」がオン状態となることによりキープリレー「K01」がオン状態にセットされる第1の回路501と、キープリレー「K01」をオフ状態にリセットするための第2の回路502によって構成される。キープリレー「K01」は、オン状態にセットされた後、リセットされるまではオン状態が維持されるリレーであり、オン状態にセットされた状態でプログラマブルコントローラ10の電源が遮断されても、その後に電源が投入された際には、そのオン状態が維持されている。
【0053】
第1の回路501は、実行フラグ「EKF00」のオン/オフ状態のみに応じて、実行フラグ「EKF00」がオン状態である場合にキープリレー「K01」がセットされるラダープログラムとして生成されるが、動作プログラムの編集者は、実行フラグ「EKF00」の接点の他に、キープリレー「K01」をセットするための条件となる各種のインタロック信号等の接点を必要に応じて追加することができる。
【0054】
第2の回路502としては、常時オン接点である「V04」のb接点(反転接点)によってキープリレー「K01」がリセットされる回路が生成されるが、「V04」のb接点は常時オフであるので、この回路のままではキープリレー「K01」がリセットされない。このため、動作プログラムの編集者は、設備12の構成に応じて、キープリレー「K01」をリセットするための条件設定を第2の回路502に追加する。具体的には、例えば設備12の各可動部が原位置にあることを示す接点を、「V04」のb接点に替えて追加する。
【0055】
このキープリレー「K01」は、第1及び第2のトランジション41,42における遷移条件として用いられる。具体的には、キープリレー「K01」がリセットされているとき、遷移条件が満たされるように構成されたラダープログラム51が第1のトランジション41に割り当てられる。また、キープリレー「K01」がセットされているとき、遷移条件が満たされるように構成されたラダープログラム52が第2のトランジション42に割り当てられる。
【0056】
第1のトランジション41に割り当てられたラダープログラム51におけるリレー「TR011」は、第1のトランジション41の遷移条件を示し、このリレー「TR011」がオン状態であれば、第1のトランジション41が通過可能状態となる。また、第2のトランジション42に割り当てられたラダープログラム52におけるリレー「TR012」は、第2のトランジション42の遷移条件を示し、このリレー「TR012」がオン状態であれば、第2のトランジション42が通過可能状態となる。
【0057】
途中停止後の再起動ではなく、設備12の自動運転がSFCプログラムの先頭のステップであるステップ「ST000」から開始された場合、キープリレー「K01」はオフ状態であるので、第1のトランジション41の遷移条件が満たされ、ステップ「ST001」の次には、ステップ「ST002」の制御処理が実行される。
【0058】
一方、ステップ「ST003」によってなされた加工動作指令の加工が完了していない状態で途中停止した後の再起動であれば、ステップ「ST003」の制御処理の実行時に、第1の回路501によってセットされたキープリレー「K01」のオン状態が維持されているので、第1のトランジション41の遷移条件は満たされず、第2のトランジション42の遷移条件が満たされる。これにより、バイパス経路43が有効となり、バイパス先頭ステップであるステップ「ST002」からバイパス最終ステップであるステップ「ST003」までの制御処理の実行が省略される。
【0059】
このように、バイパス回路生成手段202は、途中停止後の再起動時においてバイパス経路43を有効とするための第2のトランジション42の遷移条件として、第1の選択受付手段203によって選択されたバイパス最終ステップ(ステップ「ST003」)の制御処理が実行されたことを示す信号(キープリレー「K01」)を用いる。
【0060】
次に、SFCプログラムが分岐を含む場合のバイパス回路の生成について、
図7及び
図8を参照して説明する。SFCプログラムで使用可能な分岐回路としては、後述する並列分岐回路と選択分岐回路がある。
【0061】
図7は、複数のステップの制御処理を並行して実行させることを可能とする並列分岐回路44、及び並列分岐回路44によって分岐した複数のステップの実行処理経路を合流させる合流回路45を含む、SFCプログラムの例を示す。
【0062】
このような並列分岐回路44及び合流回路45を含むSFCプログラムでは、バイパス最終ステップに対するバイパス先頭ステップの位置によっては、再起動後に設備12の動作を適切に行わせることができない場合がある。そのため、第2の選択受付手段204は、不適切なバイパス先頭ステップの選択を不可とする。
【0063】
具体的には、第2の選択受付手段204は、バイパス最終ステップが並列分岐回路44によって分岐した1つの実行処理経路に含まれる場合、他の実行処理経路に含まれるステップ、及び並列分岐回路44よりも上流側のステップの選択を不可とする。また、第2の選択受付手段204は、バイパス最終ステップよりも上流側に並列分岐回路44及び合流回路45が存在する場合、並列分岐回路44と合流回路45との間におけるステップの選択を不可とする。
【0064】
図7に示す例では、並列分岐回路44によって、各ステップの実行処理経路が、ステップ「ST003」からなる第1実行処理経路441と、ステップ「ST004」及びステップ「ST006」からなる第2実行処理経路442と、ステップ「ST005」及びステップ「ST007」からなる第3実行処理経路443とに分岐する。これら第1乃至第3実行処理経路441〜443の各ステップの制御処理は並行して実行される。
【0065】
そして、例えば第1の選択受付手段203によって受け付けられたバイパス最終ステップが第3実行処理経路443のステップ「ST007」である場合、第2の選択受付手段204は、バイパス先頭ステップとして、第1実行処理経路441のステップ「ST003」、第2実行処理経路442のステップ「ST004」及び「ST006」、ならびに並列分岐回路44よりも上流側のステップ「ST002」等を選択することを不可とする。より具体的には、ダイアログ画面3においてドロップダウンボタン32をクリックしたときに表示されるプルダウンメニュー320にこれらのステップを表示せず、バイパス最終ステップであるステップ「ST007」と同じ第3実行処理経路443に含まれ、かつステップ「ST007」よりも上流側にあたるステップ「ST005」のみを表示する。
【0066】
また、第1の選択受付手段203によって受け付けられたバイパス最終ステップが合流回路45よりも下流側のステップ「ST008」である場合、第2の選択受付手段204は、バイパス先頭ステップとして、第1乃至第3実行処理経路441〜443に含まれるステップ「ST003」〜「ST007」を選択することを不可とする。より具体的には、ダイアログ画面3においてドロップダウンボタン32をクリックしたときに表示されるプルダウンメニュー320にこれらのステップを表示せず、並列分岐回路44よりも上流側にあたるステップ「ST002」等を表示する。
【0067】
これにより、バイパス先頭回路とバイパス最終回路との位置関係が不適切なバイパス回路が生成されてしまうことを防ぐことができる。
【0068】
図8は、複数のステップの制御処理を選択的に実行させることを可能とする選択分岐回路46、及び選択分岐回路46によって分岐した複数のステップの実行処理経路を合流させる合流回路47を含む、SFCプログラムの例を示す。
【0069】
このような選択分岐回路46及び合流回路47を含むSFCプログラムにおいても、バイパス最終ステップに対するバイパス先頭ステップの位置によっては、再起動後に設備12の動作を適切に行わせることができない場合がある。そのため、第2の選択受付手段204は、不適切なバイパス先頭ステップの選択を不可とする。
【0070】
具体的には、第2の選択受付手段204は、バイパス最終ステップが選択分岐回路46によって分岐した1つの実行処理経路に含まれる場合、他の実行処理経路に含まれるステップ、及び選択分岐回路46よりも上流側のステップの選択を不可とする。また、第2の選択受付手段204は、バイパス最終ステップよりも上流側に選択分岐回路46及び合流回路47が存在する場合、選択分岐回路46と合流回路47との間におけるステップの選択を不可とする。
【0071】
図8に示す例では、選択分岐回路46によって、各ステップの実行処理経路が、ステップ「ST003」からなる第1実行処理経路461と、ステップ「ST004」及び「ST006」からなる第2実行処理経路462と、ステップ「ST005」及びステップ「ST007」からなる第3実行処理経路463とに分岐する。第1実行処理経路461におけるステップ「ST003」の制御処理は、トランジション「TR011」の遷移条件が満たされた場合に実行される。第2実行処理経路462におけるステップ「ST004」及び「ST006」の制御処理は、トランジション「TR012」の遷移条件が満たされた場合に実行される。また、第3実行処理経路463におけるステップ「ST005」及び「ST007」の制御処理は、トランジション「TR013」の遷移条件が満たされた場合に実行される。
【0072】
そして、例えば第1の選択受付手段203によって受け付けられたバイパス最終ステップが第3実行処理経路463のステップ「ST007」である場合、第2の選択受付手段204は、バイパス先頭ステップとして、第1実行処理経路461のステップ「ST003」、第2実行処理経路462のステップ「ST004」及び「ST006」、ならびに選択分岐回路46よりも上流側のステップ「ST002」等を選択することを不可とする。より具体的には、ダイアログ画面3においてドロップダウンボタン32をクリックしたときに表示されるプルダウンメニュー320にこれらのステップを表示せず、バイパス最終ステップであるステップ「ST007」と同じ第3実行処理経路463に含まれ、かつステップ「ST007」よりも上流側にあたるステップ「ST005」のみを表示する。
【0073】
また、第1の選択受付手段203によって受け付けられたバイパス最終ステップが合流回路47よりも下流側のステップ「ST008」である場合、第2の選択受付手段204は、バイパス先頭ステップとして、第1乃至第3実行処理経路461〜463に含まれるステップ「ST003」〜「ST007」を選択することを不可とする。より具体的には、ダイアログ画面3においてドロップダウンボタン32をクリックしたときに表示されるプルダウンメニュー320にこれらのステップを表示せず、選択分岐回路46よりも上流側にあたるステップ「ST002」等を表示する。
【0074】
これにより、バイパス先頭回路とバイパス最終回路との位置関係が不適切なバイパス回路が生成されてしまうことを防ぐことができる。
【0075】
(実施の形態の作用及び効果)
以上説明した実施の形態によれば、以下に述べる作用及び効果が得られる。
【0076】
(1)第1の選択受付手段203及び第2の選択受付手段204の受け付け結果に基づいて、途中停止後の再起動を可能とするバイパス回路がバイパス回路生成手段202によって生成されるので、バイパス回路を容易に作成することができ、動作プログラムの編集者の負担を軽減することが可能となる。
【0077】
(2)バイパス回路生成手段202によって生成されたバイパス回路は、SFCプログラムに明示されるので、動作プログラムの編集者以外の第三者にとっても、SFCプログラムの動作内容を確実に把握することができる。
【0078】
(3)バイパス回路生成手段202は、途中停止後の再起動時においてバイパス経路43を有効とするための第2のトランジション42の遷移条件として、バイパス最終ステップの制御処理が完了していることを示すキープリレー「K01」を用いるので、第2のトランジション42に割り当てられるラダープログラムを簡潔に構成することができる。
【0079】
(4)第1の選択受付手段203及び第2の選択受付手段は、ダイアログ画面3における設定操作及び選択操作によってバイパス最終ステップ及びバイパス先頭の選択を受け付けるので、動作プログラムの編集者の負担がさらに軽減される。
【0080】
(5)第2の選択受付手段204は、不適切なバイパス先頭ステップの選択を不可とするので、設備12を動作させる上で不適切なバイパス回路が生成されてしまうことを未然に防ぐことができる。
【0081】
(付記)
以上、本発明を実施の形態に基づいて説明したが、上記に記載した実施の形態は特許請求の範囲に係る発明を限定するものではない。また、実施の形態の中で説明した特徴の組合せの全てが発明の課題を解決するための手段に必須であるとは限らない点に留意すべきである。
【0082】
また、本発明は、その趣旨を逸脱しない範囲で適宜変形して実施することが可能である。例えば、上記実施の形態では、可搬型コンピュータにアプリケーションプログラム240をインストールし、動作プログラム編集装置2として用いる場合について説明したが、これに限らない。例えばモニタ装置130に動作プログラム編集機能を持たせ、動作プログラム編集装置として用いてもよい。
【0083】
また、ダイアログ画面3の構成は、
図4に例示したものに限らず、様々な構成のものを用いることができ、例えばリストボックスに替えてラジオボタンによってバイパス先頭ステップを選択するようにしてもよい。またさらに、上記実施の形態では、先にバイパス最終ステップを選択し、次にバイパス先頭ステップを選択するようにしたが、この順序を逆にし、先にバイパス先頭ステップを選択し、次にバイパス最終ステップを選択するようにしてもよい。
【0084】
また、プログラマブルコントローラ10の制御対象としては、工作機械の他、エレベータや自動販売機、あるいは信号機等の各種の設備を適用することができる。