(57)【要約】【課題】  ユーザがスイッチの切替動作を行なうことなく複数の指令系統からの指令に対応することのできる位置制御ユニットを提供すること【解決手段】  位置制御ユニット１２は、ＰＬＣ１０を構成するユニットの１つであり、ＣＰＵユニット１１にてユーザプログラムを実行するサイクリックな処理とは非同期で、外部からの指令に基づき内蔵するプログラムを実行する指令処理部１２ｄを備える。位置制御ユニットに与える指令の発生源は、ＣＰＵユニットのラダー演算部１１ａと、外部教示装置１５と、位置制御ユニット１２の内部シーケンス実行部１２ａの３系統を有する。各指令系統からの指令は、それぞれ対応する指令テーブル１２ｂに一旦格納され、排他・調理処理部１２ｃにてその指令テーブルに格納された前記指令を参照して正規の指令を求め、その求めた正規の指令を指令処理部に与える。よって、ユーザは切替スイッチの操作をすることなく、自動的にそのときの状態に適した指令を指令処理部に送り、位置制御を行なうことができる。【選択図】        図３
2005316880.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルコントローラのユーザプログラムを実行するサイクリックな処理とは非同期で、外部からの指令に基づき内蔵するプログラムを実行する指令処理手段を備えたプログラマブルコントローラ用機器であって、
複数の指令系統に対応するものであり、
各指令系統からの指令をそれぞれ格納する指令テーブルと、
その指令テーブルに格納された前記指令を参照して正規の指令を求め、その求めた正規の指令を前記指令処理手段に与える排他・調停手段を備えたことを特徴とするプログラマブルコントローラ用機器。
【請求項２】
前記排他・調停手段は、前記複数の指令系統の中の１つの指令系統のみから指令を受けた場合には、その指令を前記正規の指令に決定する機能を備えたことを特徴とする請求項１に記載のプログラマブルコントローラ用機器。
【請求項３】
前記排他・調停処理手段は、複数の指令系統から指令を受けた場合に、予め決めた優先指令が含まれている場合には、その優先指令を正規の指令に決定する機能を備えたことを特徴とする請求項１または２に記載のプログラマブルコントローラ用機器。
【請求項４】
前記排他・調停処理手段は、複数の指令系統から指令を受けた場合には、停止動作を正規の指令に決定する機能を備えたことを特徴とする請求項１から３のいずれか１項に記載のプログラマブルコントローラ用機器。
【請求項５】
前記複数の指令系統は、前記ユーザプログラムの実行に伴い出力される系統と、外部教示装置から与えられる系統と、内部シーケンスから与えられる系統の中の少なくとも１つを含むものであることを特徴とする請求項１から４のいずれか１項に記載のプログラマブルコントローラ用機器。
【請求項６】
前記複数の指令系統の少なくとも１つは内部シーケンスから与えられる系統であり、
前記内部シーケンスを実行する手段は、前記指令テーブルに格納された他の指令系統からの指令を取得し、その取得した指令も参照して新たな指令を求める機能を備えたことを特徴とする請求項１から４のいずれか１項に記載のプログラマブルコントローラ用機器。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、プログラマブルコントローラ用機器に関するものである。
【背景技術】
【０００２】
生産工場（製造現場）に設置されるファクトリーオートメーション（ＦＡ）の制御装置として、プログラマブルコントローラ（ＰＬＣ）が用いられている。このＰＬＣは、複数のユニットから構成される。すなわち、電源供給源の電源ユニット，ＰＬＣ全体の制御を統率するＣＰＵユニット，ＦＡの生産装置や設備装置の適所に取り付けたスイッチやセンサの信号を入力する入力ユニット，アクチュエータなどに制御出力を出す出力ユニット，通信ネットワークに接続するための通信ユニットなどの各種のユニットを適宜組み合わせて構成される。
【０００３】
ＰＬＣ（ＣＰＵユニット）における制御は、入力ユニットで入力した信号をＣＰＵユニットのＩ／Ｏメモリに取り込み（ＩＮリフレッシュ）、予め登録されたラダー言語で組まれたユーザプログラムに基づき論理演算をし（演算実行）、その演算実行結果をＩ／Ｏメモリに書き込んで出力ユニットに送り出し（ＯＵＴリフレッシュ）、その後、いわゆる周辺処理を行うということをサイクリックに繰り返し処理するようになる。
【０００４】
ところで、ＰＬＣを構成するユニットの中には、高機能な制御を行うための高機能ユニットがある。この高機能ユニットで行う制御の一つとしては、例えば、温度等のアナログ値を受け、ＰＩＤ制御を行う等の専用のプロセス制御（アナログ制御）のプログラムを実施する機能を持つものや、位置制御，モーション制御を行うものなど、各種のものがある。
【０００５】
図１は、この位置制御を行なう位置制御ユニットを備えたＰＬＣユニットの概略構成を示している。ＰＬＣ１は、ＣＰＵユニット２と位置制御ユニット３を備える。もちろん、図示省略するが、これ以外の各種のユニットも連結される。ＣＰＵユニット２のラダー演算部２ａが、ラダープログラム（ユーザプログラム）をサイクリックに演算実行し、位置制御ユニット３に対して各種の指令を与える。
【０００６】
位置制御ユニット３は、ユニットの外部からの指令に基づき、ユーザプログラムをＣＰＵユニット２とは非同期で演算実行する指令処理部３ａを備えている。指令処理部３ａは、演算実行結果を位置制御ユニット３に接続されたモータドライバ４に対して与え、モータドライバ４の動作を制御することにより、そのモータドライバ４により駆動されるモータひいてはそのモータの駆動に伴い移動する移動体の位置を制御する。そして、位置制御ユニット３に対して指令を与える外部の装置・機器としては、ＰＬＣ１を構成するＣＰＵユニット２や、位置制御ユニット３の外部通信ポートに接続された外部教示装置（ティーチングボックス）５がある。
【０００７】
このように、指令処理部３ａに対して動作指令を与える指令系統を複数備えている。これら複数の指令が競合した場合、それぞれの指令が互いに背反する（例えば、動作開始と動作停止など）ことを回避するため、従来の位置制御ユニット３では、ハードあるいはソフト的な切り替えスイッチＳＷをユーザが切り替えることにより各指令系統での動作モードを切り替え、そのモードでは選択された指令系統だけが有効となるように構成している。
【０００８】
また、特許文献１には、高機能ユニットの１つであるモーションコントローラが内部で処理するモーションコマンドを使用する方法と、直接サーボコマンドを作成する方法があり、パラメータの指定によって切り替えることが示されている。
【特許文献１】特開２００１−０８４０１０
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上述した従来の位置制御ユニットでは、スイッチの切替に伴う各動作モードで指令系統が固定されるため、複数の指令系統間での排他や調停などの考慮が不要となる。しかし、動作モードの切り替えをユーザが行なう必要があり、特にハードウェアスイッチによる切り替えの場合、装置（ＰＬＣあるいは位置制御ユニット）の設置場所での操作が必要であった。また、複数の指令系統からの指令を連携させることは不可能であった。
【００１０】
この発明は、ユーザがスイッチの切替動作を行なうことなく複数の指令系統からの指令に対応することのできるプログラマブルコントローラ用機器を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記した目的を達成するため、本発明のプログラマブルコントローラ用機器は、プログラマブルコントローラのユーザプログラムを実行するサイクリックな処理とは非同期で、外部からの指令に基づき内蔵するプログラムを実行する指令処理手段を備えたプログラマブルコントローラ用機器である。そして、複数の指令系統に対応するものであり、各指令系統からの指令をそれぞれ格納する指令テーブルと、その指令テーブルに格納された前記指令を参照して正規の指令を求め、その求めた正規の指令を前記指令処理手段に与える排他・調停手段を備えて構成した。
【００１２】
また、前記排他・調停手段は、例えば、前記複数の指令系統の中の１つの指令系統のみから指令を受けた場合には、その指令を前記正規の指令に決定する機能や、複数の指令系統から指令を受けた場合に、予め決めた優先指令が含まれている場合には、その優先指令を正規の指令に決定する機能や、複数の指令系統から指令を受けた場合には、停止動作を正規の指令に決定する機能等を備えるとよい。
【００１３】
一方、前記複数の指令系統は、前記ユーザプログラムの実行に伴い出力される系統と、外部教示装置から与えられる系統と、内部シーケンスから与えられる系統の中の少なくとも１つを含むとよい。また、前記複数の指令系統の少なくとも１つは内部シーケンスから与えられる系統であり、前記内部シーケンスを実行する手段は、前記指令テーブルに格納された他の指令系統からの指令を取得し、その取得した指令も参照して新たな指令を求める機能を備えるとよい。
【００１４】
本発明は、プログラマブルコントローラ用機器内に複数の指令系統毎の指令テーブルを持ち、その複数の指令系統の指令テーブルを比較して排他・調停するようにしたため、動作モードの切り替えを伴わずに複数の指令系統を許容することができる。また、特に内部にもつ指令系統（動作シーケンス）に対して、他の指令系統からの指令情報を監視できる機能を持たせることにより、他の指令系統からの情報をその指令系統上での指令に利用することができるようになり、複数の指令系統間で連携した指令を与えることが可能となる。
【００１５】
プログラマブルコントローラ用機器は、実施の形態では、位置制御ユニット１２により実現されているが、本発明はこれに限ることはなく、例えばＣＰＵユニットなどに実装されるボードタイプのものでも良い。また、位置制御に限らず、外部から指令を受け、それに基づいてプログラムを実行する機器（ユニット，ボード）であれば何でもよい。
【発明の効果】
【００１６】
この発明では、複数の指令系統から与えられる指令を一旦指令テーブルに格納し、その指令テーブルに格納された指令を参照して排他・調停処理手段が、正規の指令を生成し、指令処理手段にその指令を与えるようにしたため、ユーザがスイッチの切替動作を行なうことなく複数の指令系統からの指令に対応することができる。
【発明を実施するための最良の形態】
【００１７】
図２，図３は、本発明の一実施の形態を示している。ＰＬＣ１０は、電源ユニット１３と、ＣＰＵユニット１１と、位置制御ユニット１２と、通信ユニット１４を備えている。もちろん、これ以外にもＩＯユニット，マスタユニットなど各種のユニットを連結することにより構成される。ＣＰＵユニット11には、プログラマブル表示器（ＰＴ）１６やツールを構成するパソコンなどが接続され、モニタリングや、パラメータの設定などが行えるようになっている。
【００１８】
ＣＰＵユニット１１は、ＩＯの入力信号をＣＰＵユニットのＩ／Ｏメモリに取り込み（ＩＮリフレッシュ）、予め登録されたラダー言語で組まれたユーザプログラムに基づき論理演算をし（演算実行）、その演算実行結果をＩ／Ｏメモリに書き込んで出力ユニットに送り出し（ＯＵＴリフレッシュ）、その後、いわゆる周辺処理を行うということをサイクリックに繰り返し処理する。演算実行は、ラダー演算部１１ａで行い、演算実行をした結果、位置制御ユニット１２に与えられる。係る構成は従来と同様である。
【００１９】
位置制御ユニット１２には、１または複数（例えば、最大１６軸）のサーボドライバ１７が接続される。そして、位置制御ユニット１２は、外部からの指令に従い、ＣＰＵユニット１１におけるサイクリックな処理とは非同期に実装されたユーザプログラムを演算実行し、その実行結果に従い、接続されたサーボドライバ１７に対して指令を送る。サーボドライバ１７は、位置制御ユニット１２から受けた指令に従いサーボモータ２０の駆動を制御する。
【００２０】
また、図３に示すように、位置制御ユニット１２或いはＣＰＵユニット１１に設置された外部通信ポートに、外部教示装置（ティーチングボックス）１５が接続される。この外部教示装置１５は、位置制御ユニット１２に対して直接或いはＣＰＵユニット１１から内部のＣＰＵバスを経由して位置制御ユニット１２に対して所定の指令を与える。さらに、位置制御ユニット１２は、内部シーケンス（軸動作シーケンス）を実行する内部シーケンス実行部１２ａを備えている。位置制御ユニット１２は、この内部シーケンスの実行に伴い求められた指令に基づき動作する機能も備える。
【００２１】
つまり、本実施の形態では、位置制御ユニット１２に対して指令を与える発生源としては、従来のＣＰＵユニット１１と外部教示装置１５に加え、内部シーケンス実行部１２ａがあり、それら複数（３個）の指令系統を備えている。そして、本発明では、指令テーブル１２ｂを用意し、それら各指令系統からの指令を一旦指令テーブル１２ｂに格納するようにした。ここで指令テーブル１２ｂは、指令系統の数分用意し、対応するテーブルに格納する。すなわち、内部シーケンス実行部１２ａからの指令は指令テーブル（１）に格納し、ラダー演算部１１ａからの指令は指令テーブル（２）に格納し、外部教示装置１５からの指令は指令テーブル（３）に格納する。
【００２２】
そして、従来のように、指令処理部１２ｄに対して直接指令を与えるのではなく、各系統からの指令を一旦指令テーブル１２ｂに格納し、排他・調停処理部１２ｃがその格納された指令を参照して実際の指令を生成し、指令処理部１２ｄに与えるようにした。これにより、例えば複数の指令系統から異なる指令を受けた場合であっても、それら異なる指令は所定の指令テーブル１２ｂに格納されるだけで、指令処理部１２ｄには与えられないので、指令処理部１２ｄに相反する指令が与えられるおそれがない。しかも、各指令テーブル１２ｂに格納された指令を参照し、各指令系統からの指令の状態に適する指令を排他・調停処理部１２ｃが決定し、指令処理部１２ｄに与えるので、ユーザは従来のように切り替えスイッチなどを操作して切り替える必要がない。
【００２３】
指令処理部１２ｄは、排他・調停処理部１２ｃから受け取った指令に基づき、演算実行し、その実行結果に従いモータドライバ１７に対して動作指令を与える。指令を受けるのが排他・調停処理部１２ｃからであることをのぞき、受け取った指令に基づく指令処理部１２ｄにおける処理を実行する機能は従来と同様である。
【００２４】
さらに、本実施の形態では、特定の指令系統（例えば、位置制御ユニット１２の内部シーケンス実行部１２ａ）が、自己を含む各指令テーブル１２ｂを参照できるようにし、他の指令系統からの情報を利用して、自分の指令を生成できるようにする機能を備える。これにより、複数の指令系統間を連携させた指令を指令処理部１２ｄへ与えることができる。
【００２５】
次に、排他・調停処理部１２ｃの具体的な指令生成機能を説明する。排他・調停処理部１２ｃは、以下のルールに従って指令処理部１２ｄに与える有効な指令を求めるようにしている。
（１）１つの指令系統のみから指令（軸起動指令）を受けている（指令テーブル１２ｂに格納されている）場合には、係る指令を有効な正規の指令に決定する。  
（２）複数の指令系統から指令を受けている場合には、予め定めた優先軸起動指令が含まれている場合には、それを実行し、含まれていない場合にはその複数の指令の異同を問わず「減速停止動作」を有効な正規の指令に決定する。ここで優先軸起動指令は、本実施の形態では、異常・緊急時等に発行される停止を伴うもので、「サーボアンロック」（優先順位１），「即停止」（優先順位２），「減速停止」（優先順位３）の３つを規定している。仮に、この優先軸起動指令が複数指令系統から発せられた場合には、優先順位の高いものを有効な正規の指令に決定する。
【００２６】
上記の排他・調停ルールに従って指令を決定する排他・調停処理部１２ｃは、実際には、図４に示すフローチャートを実行する機能を有している。まず前提として、各指令系統は、任意のタイミングで対応する指令テーブルに指令を格納する。そして、排他・調停処理部１２ｃは、まず、各指令テーブル１２ｂに格納された指令（軸起動指令）を取得する（Ｓ１１からＳ１３）。
【００２７】
ついで、複数の指令テーブルに軸起動指令が格納されていたか否かを判断する（Ｓ１４）。そし、複数存在しない、つまり、いずれか１つの指令テーブルにのみ実際の軸起動指令が格納されていた場合（分岐判断はＮｏ）には、取得した軸起動指令を正規な指令と決定する（Ｓ１５）。
【００２８】
一方、複数の指令テーブルに軸起動指令が存在していた場合には、Ｓ１４の分岐判断はＹｅｓとなるので、取得した軸起動指令の中に優先軸起動指令が有った（ＯＮ）か否かを判断する（Ｓ１６）。そして、優先軸起動指令が存在する場合には、その優先軸起動指令を正規の指令とする（Ｓ１７）。このとき、複数の指令テーブルに優先軸起動指令が格納されていた場合には、優先順位の高いものを選択する。そして、取得した複数の軸起動指令中に優先軸起動指令が存在しない場合には、減速停止動作を正規の指令に決定する（Ｓ１８）。上記のようにして、正規の指令が決定されたならば、それを指令処理部１２ｄへ渡す（Ｓ１９）。
【００２９】
また、上述した指令テーブル１２ｂ，排他・長堤処理部１２ｃを用いて制御は、１つの軸に対して行なうものである。そして、本実施の形態り位置制御ユニット１２は、複数の軸に対して制御可能となっている。そこで、上述した指令テーブル１２ｂも各軸毎に存在し、排他・調停も軸ごとにシーケンシャルに行う。
【００３０】
上述した実施の形態では、位置制御ユニット１２は、独立した筐体からなるユニットとして説明したが、本発明はこれに限ることはなく、例えばＣＰＵユニットなどに実装されるインナーボードでもよい。また、位置制御に限らず、外部から指令を受け、それに基づいてプログラムを実行する機器（高機能ユニット（ボード）等）であれば何でもよい。
【００３１】
また、上述した実施の形態では、排他・調停処理部１２ｃは１つの軸に対して行なうようにしたが、複数の軸にまたがって排他・調停する機能をもたせてもよい。たとえば３軸目における指令がアンロックになれば、連動して４軸目もアンロックするような制御することができる。
【００３２】
係る処理を行なう具体的なアルゴリズムとしては、例えば、内部シーケンスにて「３軸目における指令がアンロックになれば、連動して４軸目もアンロックする」というような制御プログラムを組むことにより対応できる。また、別の方法としては、排他・調停処理部１２ｂにて「３軸目における指令がアンロックになれば、４軸目の指令テーブル（１），（２），（３）に格納された内容にかかわらず、４軸目を強制アンロックする」というような処理をするようにしてもよい。
【図面の簡単な説明】
【００３３】
【図１】従来例を示す図である。
【図２】本発明の一実施の形態を示す図である。
【図３】本発明の一実施の形態を示す図である。
【図４】排他・調停処理部１２ｃの機能を示すフローチャートである。
【符号の説明】
【００３４】
１０  ＰＬＣ
１１  ＣＰＵユニット
１１ａ  ラダー演算部
１２  位置制御ユニット
１２ａ  内部シーケンス実行部
１２ｂ  指令テーブル
１２ｃ  排他・調停処理部
１２ｄ  指令処理部
１５  外部教示装置
１７  モータドライバ
【図１】
2005316880.tif 000003
【図２】
2005316880.tif 000004
【図３】
2005316880.tif 000005
【図４】
2005316880.tif 000006