(57)【特許請求の範囲】
【請求項１】
シーケンシャル・ファンクション・チャート手法を用いたシーケンス・コントローラであって、
プロセスの実行が途中で停止したことを検出する停止検出手段と、
前記停止検出手段によって停止が検出されたときに保持系アクションの動作を保持したまま保持系アクション以外のアクションをリセットするリセット手段と、
前記プロセスの実行が再開されることを検出する再開検出手段と、
前記再開検出手段によって再開が検出されたときにイニシャル・ステップから再度前記プロセスを実行する再実行手段と、
を備えたシーケンス・コントローラ。
【請求項２】
前記保持系アクション及び前記保持系アクション以外のアクションの少なくとも一方を指定する指定手段を更に備えた請求項１記載のシーケンス・コントローラ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、シーケンス・コントローラに係り、特に、シーケンシャル・ファンクション・チャート手法を用いたシーケンス・コントローラに関する。
【０００２】
【従来の技術及び発明が解決しようとする課題】
プログラマブル・コントローラ（以下、「ＰＬＣ」という）の標準プログラミング言語としてシーケンシャル・ファンクション・チャート（以下、「ＳＦＣ」という）があり、ソフトウェアのモジュール化の容易性やスキャンの実行処理時間が短い等の利点から、従来のラダー式に代って利用されている。ＳＦＣ式のプログラムでは、あるまとまった動作や処理工程を示すステップと、ステップから次のステップへの遷移条件を示すトラジションとがフローチャート式に結合されている。そして、各ステップには動作プログラムが、各トラジションには遷移条件プログラムが各々割当てられている。ステップには活性と非活性の２つの状態があり、対応する実行プログラムの動作中は活性となり、その後に続くトラジションが満たされると当該ステップは非活性となり、次のステップが活性となる。
【０００３】
このようなＳＦＣ式プログラムによるＰＬＣにおいては、１本のシーケンス・プログラムに対して複数のＳＦＣ式プログラムを実行させることが可能となっており、個々のＳＦＣ式プログラムを制御する場合において、ＳＦＣ式プログラム毎に実行制御専用のリレーを設けたり、パラメータによりＳＦＣ式プログラム毎の制御設定を行うこと等によって、各ＳＦＣ式プログラム毎にプログラムを停止した後にイニシャル・ステップ（先頭ステップ）からの再起動（以下、「リセット起動」という）を実施する技術があった。
【０００４】
この技術では、上記のようなリセット起動を実施する場合、実行中のアクション（実際の実行動作）の実行を停止し、保持系アクションを含む全てのアクションの出力をオフして停止するように制御していた。
【０００５】
このため、制御対象が連続して自動運転するような設備である場合、各ステップの前後でインターロックを取っており、この設備を途中で停止させる場合、或いは該設備を途中で停止させた後に個別にマニュアル動作（以下、「各個運転」という）させる場合には、自動運転中に制御されているインターロックが保持されている必要がある。
【０００６】
しかしながら、例えば、動作の戻し動作等で元の動作状態が保持されている必要があるのに対して、動作途中のバルブの励磁が切れた状態で元の動作状態が保持されていない場合等がある。このため、各個運転後の自動運転の条件が満足していない状況が発生して、設備を必要に応じて動作させることができないような不具合が生じていた。
【０００７】
この問題は、ＳＦＣ手法が主にプラントのような連続運転を行うことが主体の設備に適用されることが多く、各個運転から自動運転への移行を要する設備の要求を満たす必要性が低かったことに起因している。
【０００８】
この問題を解消するために適用し得る技術として、従前からの複雑なラダー・シーケンスによって制御論理を組み込んで各個運転から自動運転への移行を実現する技術があった。ここで、複雑なラダー・シーケンスで制御論理を組み込むことによって各個運転から自動運転への移行を実現する場合の一例を図５を参照しつつ説明する。なお、ここでは、ある１つの制御動作分の複雑なラダー・シーケンスの部分について示す。
【０００９】
図５に示す例では、アンクランプ保持用セットリレー１００を、アンクランプ用指令信号１０２の保持用に、アンクランプ指令信号保持用制御論理１０６として組み込んでいる。このように、セットリレー１００、アンクランプ保持条件の制御論理１０４、アンクランプ指令信号保持用制御論理１０６のような各種制御論理を組み込む工夫を施すことによって、各個運転から自動運転への移行を可能とする方法は考えられるものの、この方法では複数の制御動作分に対して前述のような処置が必要となり、著しく手間がかかるうえ、プログラム量を増加させる、という問題があった。
【００１０】
本発明は上記問題を解消するために成されたものであり、設備を必要に応じてＳＦＣ式プログラムの途中から動作させることが可能なリセット起動を簡易に実施することができるシーケンス・コントローラを提供することを目的とする。
【００１１】
【課題を解決するための手段】
上記目的を達成するために、請求項１記載のシーケンス・コントローラは、シーケンシャル・ファンクション・チャート手法を用いたシーケンス・コントローラであって、プロセスの実行が途中で停止したことを検出する停止検出手段と、前記停止検出手段によって停止が検出されたときに保持系アクションの動作を保持したまま保持系アクション以外のアクションをリセットするリセット手段と、前記プロセスの実行が再開されることを検出する再開検出手段と、前記再開検出手段によって再開が検出されたときにイニシャル・ステップから再度前記プロセスを実行する再実行手段と、を備えている。
【００１２】
請求項１記載のシーケンス・コントローラによれば、停止検出手段によってプロセスの実行が途中で停止したことが検出されたときに保持系アクションの動作が保持されたまま保持系アクション以外のアクションがリセット手段によってリセットされる。
【００１３】
一方、このシーケンス・コントローラでは、再開検出手段によって上記プロセスの実行が再開されることが検出されたときに再実行手段によってイニシャル・ステップから再度上記プロセスが実行される。このとき、本発明では、上記リセット手段の作用によって、保持系アクションについては動作が保持されているのでインターロックを取ることができ、動作が停止したステップまでは何もせずに、動作が停止したステップの次のステップから制御が開始されることになる。
【００１４】
このように、請求項１に記載のシーケンス・コントローラによれば、プロセスの実行が途中で停止したことが検出されたときに保持系アクションの動作を保持したまま保持系アクション以外のアクションをリセットすると共に、当該プロセスの実行が再開されることが検出されたときにイニシャル・ステップから再度当該プロセスを実行しているので、保持系アクションについては動作が保持されてインターロックを取ることができ、設備を必要に応じてＳＦＣ式プログラムの途中から動作させることが可能なリセット起動を、複雑な制御論理を組み込む従来の技術に比較して簡易に実施することができる。
【００１５】
なお、請求項２記載の発明のように、請求項１記載の発明に対して、前記保持系アクション及び前記保持系アクション以外のアクションの少なくとも一方を指定する指定手段を更に備える形態とすることができる。これによってプログラマは各アクションについて保持系アクションであるか否かを容易に設定することができる。
【００１６】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態について詳細に説明する。まず、図１を参照して、本実施の形態に係るシーケンス・コントローラの構成について説明する。
【００１７】
同図に示すように、本実施の形態に係るシーケンス・コントローラは、ＰＬＣ１０、ＰＬＣ１０に接続される操作盤２０を含んで構成される。
【００１８】
ＰＬＣ１０は、中央演算装置であるＣＰＵ１２と、システムプログラム等を記憶したＲＯＭ１４と、ラダー回路で組まれた各種プログラム等を記憶するためのエリアを備えたＲＡＭ１６と、操作盤２０との間でデータの受渡しを行うインタフェース（Ｉ／Ｆ）１８とを主たる構成要素としている。ＣＰＵ１２はＲＯＭ１４、ＲＡＭ１６、及びＩ／Ｆ１８と接続されており、これらとの間で各種情報を示す信号等の送受が可能とされている。
【００１９】
一方、操作盤２０は中央演算装置であるＣＰＵ２１と、システムプログラム等を記憶したＲＯＭ２２と、各種制御プログラムを記憶したＲＡＭ２３と、インタフェース（Ｉ／Ｆ）２４を介してＣＰＵ２１に接続される操作パネル２５と、ＰＬＣ１０のＩ／Ｆ１８と接続される通信用のインタフェース（Ｉ／Ｆ）２６とを主たる構成要素としている。操作盤２０は、概ね筐体形状のもので、操作パネル２５を除く上述した回路機器を内蔵している。
【００２０】
操作パネル２５は、液晶（ＬＣＤ）表示板ＤＰと、該ＬＣＤ表示板ＤＰの周囲に配置された各種のハードスイッチ類ＳＷと各種のハードランプ類ＬＰを含んで構成されている。例えば、ハードスイッチ類ＳＷは、動作モードスイッチＳＷ１、運転準備スイッチＳＷ２、起動スイッチＳＷ３、非常停止スイッチＳＷ４等からなり、ハードランプ類ＬＰは電源ランプ、運転中ランプ、システム異常ランプ等からなる。これらハードウェアにより構成されるハードスイッチ類ＳＷ及びハードランプ類ＬＰは、システム全体の運転制御のために使用されるものである。
【００２１】
なお、本実施の形態においては、操作盤２０はＰＬＣ１０とは別体で構成されているが、この操作盤２０の機能をＰＬＣ１０に持たせることも可能である。
【００２２】
本実施の形態では、制御対象とする設備として、例えば周知のマシニングセンタと称される切削工作機械ＭＴについて説明する。
【００２３】
マシニングセンタＭＴは位置決め制御に関する部分については図略の数値制御装置（ＣＮＣ装置）により互いに直交するＸ、Ｙ、Ｚの各制御軸が制御され、この制御プロセスと連携される各種の補助機能がＰＬＣ１０によりシーケンス制御される。本実施の形態の説明では、数値制御装置が実行する機能については本発明と直接関係しないので、省略している。
【００２４】
マシニングセンタＭＴの場合における前記シーケンス制御の対象としては、例えば、工具主軸の起動停止、この主軸に取り付けられる工具のクランプ・アンクランプ動作、ワークパレットの割出動作、同パレットのクランプ・アンクランプ動作、クーラントや潤滑油等の各種ポンプユニットのオン・オフ制御、エアーブロー開閉弁のオン・オフ制御、更には自動工具交換装置の起動・停止等を含む。
【００２５】
更に、これら制御対象の動作確認のための各種リミットスイッチ類及び作業者により操作される切替スイッチや押釦スイッチがマシニングセンタＭＴ本体の各所に配置されている。これらスイッチ類はＰＬＣ１０への入力信号としてＰＬＣ１０に接続されている。また、マシニングセンタＭＴには前記の各種制御対象にオン・オフ命令を与えるための多数の電磁リレーが備えられており、この電磁リレーのオン・オフ動作によって、対応する制御対象である電動機、ソレノイド等の各種アクチュエータが駆動される。
【００２６】
本実施の形態に係るＰＬＣ１０は、ＲＯＭ１４に記憶されたシーケンス制御用のシステムプログラムに従って、ＲＡＭ１６に記憶されたシーケンス制御用の各種プログラムを実行し、制御対象であるマシニングセンタＭＴの種々の制御対象をシーケンス制御する。斯かるシーケンス制御の一例を簡単に述べると、例えば、主軸工具をクランプする場合、図略の自動工具交換装置が新工具を主軸に挿入したとき、この挿入前進端確認用のリミットスイッチ（前述のリミットスイッチ類のうちの１つ）の動作信号を受けて前述の電磁リレーのうちの１つを付勢する。これにより工具クランプ用の油圧又はエアシリンダの流体回路上の方向切替弁のソレノイドが動作され、シリンダがクランプ動作するように制御される。
【００２７】
一方、操作盤２０は、ハードスイッチ類ＳＷが操作されるとき、これらスイッチの動作信号をＩ／Ｆ２６を介してＰＬＣ１０に入力し、これによりＰＬＣ１０にシーケンス動作を実行させることができる。すなわち、運転準備スイッチＳＷ２を押下すると操作盤２０及びＰＬＣ１０に電源が投与され、起動スイッチＳＷ３を押下すると操作盤２０及びＰＬＣ１０が各々のシステムプログラムに従って動作する。次に、動作モードスイッチＳＷ１を「自動」にして実行スイッチを押下すると操作盤２０及びＰＬＣ１０のＲＡＭ２３、ＲＡＭ１６に記憶されたアプリケーション・プログラムが実行され、ＰＬＣ１０は前述したラダー・プログラムに基づくシーケンス制御動作の実行を開始し、マシニングセンタＭＴを起動する。この場合、ＰＬＣ１０は、マシニングセンタＭＴのＣＮＣ装置（図略）にＮＣプログラムの実行命令を与え、これによりマシニングセンタＭＴがＮＣプログラムに従って制御される。
【００２８】
一方、本実施の形態に係るシーケンス・コントローラでは、ＳＦＣ式プログラム単位をプロセスとして定義し、複数のプロセスを駆動可能とすると共に、各プロセス毎に制御可能なプロセス制御信号を設け、該プロセス制御信号によって容易に制御論理を作り込めるようにしている。
【００２９】
表１には、本発明の発明者らによって定義されたプロセス制御信号の一例が示されている。
【００３０】
【表１】
0003700529.tif 000002
【００３１】
表１において、本発明に特に関係するプロセス制御信号はプロセスに対してリセット起動を実現するためのプロセス制御信号ＪＰＩであるが、該プロセス制御信号ＪＰＩと他の６種類のプロセス制御信号（ＭＯＲ、ＳＴＰ、ＲＤＹ、ＲＵＮ、ＲＥＳ、ＤＧＲ）のオン／オフを組み合わせることにより、プロセス毎に、より複雑な設備制御が可能となっている。
【００３２】
次に、図２、図３及び図４を参照して本実施の形態の作用を説明する。
【００３３】
図２に示すように、まず、プログラマが操作盤２０の図示しない入力機能を用いて複数のＳＦＣ式のプログラムをプロセスＰＲＯＣとして作成する。ここで、各プロセスＰＲＯＣにおいて、設備（本実施の形態ではマシニングセンタＭＴ）の工程進捗をフローチャート式にビジュアル化して、実行動作の単位をステップとして表現する。
【００３４】
この際、プログラマは実際の実行動作（アクション）を、テーブルＴＢにおけるアクション・ブロックで「ＡＣ０８０」、「ＡＣ０８１」というように設定し、かつ各アクションに対してラダー・シーケンスで制御論理ＬＧを組み込む。なお、アクションはリレー・アドレスを直接割り付けて制御することも可能である。
【００３５】
また、各アクションについては、テーブルＴＢにおけるアクション・クオリファイアＡＱによって実行／非実行のタイミングを定義する。本発明に特に関係する、保持系アクションを保持したままでのＳＦＣ単位でのイニシャル・ステップからの再起動であるリセット起動を行うためのアクション・クオリファイアＡＱの定義としては‘Ｓ’（ＳＥＴ、セット）を用いる。また、制御を実施する上で必要に応じて保持系アクションの保持状態を解除するためのアクション・クオリファイアＡＱの定義としては‘Ｒ’（ＲＥＳＥＴ、リセット）を用いる。テーブルＴＢのアクション・クオリファイアＡＱが本発明の指定手段に相当する。
【００３６】
次にプログラマは操作盤２０の図示しない入力機能を用いて、図３に示すような自動運転のプロセス＿ｍ及び図示しない各個運転用のプロセス＿ｎ等のプロセス（以下、「プロセス・ラダー」という）をラダーで作成する。
【００３７】
図３に示されるプロセス＿ｍでは、例えば運転準備スイッチＳＷ２が押下されている場合にプロセス制御信号ＲＤＹ＿ｍがオンとなる。また、動作モードスイッチＳＷ１が「自動」モードに設定されていて「各個」モードでなく、自動運転中であると共に他のプロセスのプロセス制御信号ＪＰＩがオンされていない（同図の‘ＪＰＩ１０’に相当）場合にプロセス制御信号ＲＵＮ＿ｍがオンとなる。更に、何らかの異常等によって自動運転が停止された場合にはＪＰＩ＿ｍがオンとなる。
【００３８】
以上のようにプログラマによって作成されたプロセスＰＲＯＣはＰＬＣ１０のＲＡＭ１６におけるプロセスプログラムエリア１６１に、制御論理ＬＧはＲＡＭ１６におけるアクションプログラムエリア１６２に、プロセス・ラダーはＲＡＭ１６におけるプロセスラダーエリア１６４に、各々転送される。
【００３９】
次に、図４を参照して、本実施の形態に係るシーケンス・コントローラの自動運転から各個運転に移行し、その後自動運転に移行する場合の作用を説明する。なお、図４は、図３に示される自動運転のプロセス＿ｍを制御する際にプロセス＿ｍと並行して実行されるプロセス制御プログラムの流れを示すフローチャートであり、該プログラムはＰＬＣ１０のＲＡＭ１６におけるプロセス制御プログラムエリア１６３に予め記憶されている。
【００４０】
図４のステップ２００では、プロセス制御信号ＪＰＩ＿ｍがオフであるか否かを判定し、オフでない場合（否定判定の場合）はオンであるものと見なしてステップ２０２へ移行し、保持系アクション以外のアクションの実行を停止し、出力をオフする。すなわち、プロセス制御信号ＪＰＩ＿ｍがオンである場合は、マシニングセンタＭＴの自動運転が何らかの異常等によって停止する場合であり、この場合にはステップ２０２へ移行して保持系アクション以外のアクションを停止する。ここで、保持系アクション以外のアクションの対象は、アクション・クオリファイアＡＱとして‘Ｓ’（セット）が設定されていないアクション全てである。
【００４１】
次のステップ２０４では保持系アクションを実行し、次のステップ２０６においてプロセス制御信号ＪＰＩ＿ｍがオフに移行したか否かを判定し、移行していない場合（否定判定の場合）は上記ステップ２０４へ戻り、移行した時点（肯定判定された時点）、すなわち自動運転が再開された時点でステップ２１４へ移行する。この、ステップ２０４及びステップ２０６の繰り返し処理によって、プロセス制御信号ＪＰＩ＿ｍがオフされる（自動運転が再開される）まで、保持系アクションを実行し続けて、この状態を保持させておくことができる。なお、プロセス制御信号ＪＰＩ＿ｍがオンされてからオフに移行するまでの間、すなわち自動運転が停止されている間は、プロセスラダーエリア１６４に記憶されている各個運転のプロセス＿ｎが実施されている。
【００４２】
ステップ２１４ではモニタ用実行フラグをクリアし、次のステップ２２０ではプロセス＿ｍのイニシャル・ステップ（当該プロセスの最初のステップ）を実行し、次のステップ２２２にてプロセス＿ｍのその他のステップを継続して実行した後に上記ステップ２００へ戻って再びプロセス制御信号ＪＰＩ＿ｍのオン／オフ状態を判定する。
【００４３】
以上の処理によって、自動運転が停止した場合においても、保持系アクションは全て保持されており、基本的には全ての条件が満足する（インターロックが取れる）ので、全てのトラジションをクリアして自動運転が停止したステップまでは何もせずに、自動運転が停止したステップの次のステップから制御が開始されることになる。
【００４４】
一方、上記ステップ２００において、プロセス制御信号ＪＰＩ＿ｍがオフであると判定された場合（肯定判定された場合）には、すなわち、通常の自動運転を継続する場合にはステップ２０８へ移行してプロセス制御信号ＲＤＹ＿ｍがオンであるか否かを判定し、オンである場合（肯定判定の場合）はステップ２１０へ移行してプロセス制御信号ＲＵＮ＿ｍがオンであるか否かを判定し、オンである場合（肯定判定の場合）はステップ２１２へ移行してプロセス制御信号ＭＯＲ＿ｍがオンであるか否かを判定し、オンである場合（肯定判定の場合）は上述したステップ２１４へ移行する。
【００４５】
一方、上記ステップ２１２においてプロセス制御信号ＭＯＲ＿ｍがオンでないと判定された場合（否定判定された場合）にはステップ２１６へ移行してモニタ実行フラグを自動制御して上述したステップ２２０へ移行する。また、上記ステップ２０８及びステップ２１０において、プロセス制御信号ＲＤＹ＿ｍ又はプロセス制御信号ＲＵＮ＿ｍがオフであると判定された場合にはステップ２１８へ移行してプロセス＿ｍを停止した後に上記ステップ２００へ戻る。
【００４６】
ステップ２００の処理が本発明の停止検出手段に、ステップ２０２の処理が本発明のリセット手段に、ステップ２０６の処理が本発明の再開検出手段に、ステップ２２０の処理が本発明の再実行手段に、各々相当する。
【００４７】
以上詳細に説明したように、本実施の形態に係るシーケンス・コントローラでは、プロセスの実行が途中で停止したことが検出されたときに保持系アクションの動作を保持したまま保持系アクション以外のアクションをリセットすると共に、当該プロセスの実行が再開されることが検出されたときにイニシャル・ステップから再度当該プロセスを実行しているので、保持系アクションについては動作が保持されてインターロックを取ることができ、設備（マシニングセンタ）を必要に応じてＳＦＣ式プログラムの途中から動作させることが可能なリセット起動を、複雑な制御論理を組み込む従来の技術に比較して簡易に実施することができる。
【００４８】
【発明の効果】
以上詳細に説明したように、本発明によれば、プロセスの実行が途中で停止したことが検出されたときに保持系アクションの動作を保持したまま保持系アクション以外のアクションをリセットすると共に、当該プロセスの実行が再開されることが検出されたときにイニシャル・ステップから再度当該プロセスを実行しているので、保持系アクションについては動作が保持されてインターロックを取ることができ、設備を必要に応じてＳＦＣ式プログラムの途中から動作させることが可能なリセット起動を、複雑な制御論理を組み込む従来の技術に比較して簡易に実施することができる、という効果が得られる。
【図面の簡単な説明】
【図１】実施の形態に係るシーケンス・コントローラの構成を示すブロック図である。
【図２】実施の形態において、プログラマにより作成されるプロセスプログラム、テーブル、制御論理等の説明に供する模式図である。
【図３】自動運転のプロセスの一例を示すシーケンス回路図である。
【図４】図３に示される自動運転のプロセス＿ｍを制御する際にプロセス＿ｍと並行して実行されるプロセス制御プログラムの流れを示すフローチャートである。
【図５】従来技術の問題点の説明に供するシーケンス回路図である。
【符号の説明】
１０    ＰＬＣ
１２    ＣＰＵ
１４    ＲＯＭ
１６    ＲＡＭ
２０    操作盤
２１    ＣＰＵ
２２    ＲＯＭ
２３    ＲＡＭ
２５    操作パネル
ＤＰ    ＬＣＤ表示板
ＬＰ    ハードランプ類
ＭＴ    マシニングセンタ
ＳＷ    ハードスイッチ類
【図１】
0003700529.tif 000003
【図２】
0003700529.tif 000004
【図３】
0003700529.tif 000005
【図４】
0003700529.tif 000006
【図５】
0003700529.tif 000007