(57)【要約】【課題】直接ラダープログラムで入力および出力をアクセス出来ると共に高速の処理を可能することができ、大きなシステムにも同一のＩ／Ｏプロセッサーで対応することができるＩ／Ｏプロセッサーを提供する。【解決手段】ＣＰＵのコープロセッサーとしての１ｂｉｔの演算を行うロジックソルバ２を備えたＩ／Ｏプロセッサー１において、ロジックソルバ２の演算部から直接アクセス可能な、エンコーダパルスをカウントする可逆カウンター３と、パルス幅変調によりＤ／Ａ変換を行うＰＷＭ出力回路４と、Ｉ／Ｏプロセッサー１内部で入出力ポートであるシリアル入力ＳＩ、シリアル出力ＳＯにクロック信号ＣＫ、サンプリングパルス信号ＳＡＭＰを供給するタイミングクロック発生回路６を備えたものである。【選択図】    図１
2006338070.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵのコープロセッサーとしての１ｂｉｔの演算を行うロジックソルバを備えたＩ／Ｏプロセッサーにおいて、
前記ロジックソルバの演算部から直接アクセス可能なエンコーダパルスをカウントする可逆カウンターと、
パルス幅変調によりＤ／Ａ変換を行うＰＷＭ出力回路と、
前記Ｉ／Ｏプロセッサー内部で入出力ポートであるシリアル入力およびシリアル出力にクロック信号、サンプリングパルス信号を供給するタイミングクロック発生回路と
より構成される入出力回路を備え、周辺回路とアクセスして外部機器の制御や入出力の制御を可能とすることを特徴とするＩ／Ｏプロセッサー。
【請求項２】
前記Ｉ／Ｏプロセッサーを２個用いて、その入出力部間をたすき掛けに接続するように結合してデータの授受を行い、共有データを保持することでラダープログラムを平行して解読するようにしたことを特徴とする請求項1記載のＩ／Ｏプロセッサー。
【請求項３】
前記Ｉ／Ｏプロセッサーを少なくとも２個用いて、その入出力部間をカスケードに接続するように結合してデータの授受を行い、ラダープログラムを分割して解くことを可能としたことを特徴とする請求項1記載のＩ／Ｏプロセッサー。                                                                        
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、産業用ロボット、工作機械等のＦＡ分野で用いられるシーケンサーの核となるものであって、特にサーボモータに対する速度指令出力を得る回路に適用される、１ｂｉｔの論理解析機であるロジックソルバと周辺回路のアクセス機能を設けたＩ／Ｏプロセッサーに関する。
【背景技術】
【０００２】
産業用ロボット、工作機械等のＦＡ分野に必要な機械系制御の場合、従来からモーションコントロールなどのシーケンス動作に適したラダープログラムが開発されており、このラダープログラムの解析と実行は、従来、それを行うためのシステム構成が、大別して３通りになっている。その第１の場合はＣＰＵ単独で行う場合、また、第２の場合は、ＣＰＵとビットメモリー(ビットアクセス回路)とを組み合わせて行う場合（例えば、特許文献１を参照）、さらに、第３の場合は、専用のハードウェアであるビット演算処理装置（ロジックソルバー）で行う方式である（例えば、特許文献２参照）。
このうち、ロジックソルバーは主として、ビット演算処理（ビット抽出、ビット演算、ビット挿入など）を高速に実行する機能を備えたものとして周知であるが、一般にＦＡに用いるシーケンサーの核となるＩ／Ｏプロセッサーでは、ｂｉｔ演算部であるロジックソルバがＣＰＵの補助演算機即ちコープロセッサーとしてＣＰＵから最初にプログラムをブートされ、解読すべきデータをもらい、演算開始の信号で演算を行い、結果をＣＰＵが取り出して、Ｉ／Ｏプロセッサーとは別体の入出力装置に対してデータの授受を行うようになっている。
ここで、上記の入出力装置には、パルス幅変調（ＰＷＭ）によるＤ／Ａ変換を行うデジタルパルス幅変換回路がある。以下にその構成を簡単に述べる。すなわち、それは高速カウンタを使用しない高ビットデジタルパルス幅変換回路を提供することを目的として提案されたものであり、クロックパルスを所定数入力するごとに、１発の周期パルスを発する周期カウンタ部と、パルス幅変調を行うデータの所定の上位ビット中の最上位の1ビットのみを残して反転したデータを入力し、前記周期パルスに同期してダウンカウントを行うＰＷＭ回路部と、反転された所定の下位ビットデータを入力し、加算を行う加算器回路部と、加算器回路部のオーバーフロー出力を前記周期パルスに同期して、ＰＷＭ回路部のパルス幅出力に重畳する重畳回路部とを備えたものである（例えば、特許文献３参照）。なお、上記に示した特許文献は何れも本出願人が出願したものとなっている。
【特許文献１】特開昭５９−７７５５７号公報（第１頁、第１図）
【特許文献２】特願２００３−３７５２３９号（第４頁、第１図）
【特許文献３】実公平１−２４９８６号公報（第２頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来のＩ／Ｏプロセッサーでは、ＣＰＵが介在すると入出力の処理に時間がかかったりする。更に単体のロジックソルバでは解読出来るラダープログラムの長さに制限が有るなどの問題もあった。
本発明はこのような問題点に鑑みてなされたものであり、直接ラダープログラムで入力および出力をアクセス出来ると共に高速の処理を可能することができ、大きなシステムにも同一のＩ／Ｏプロセッサーで対応することができるＩ／Ｏプロセッサーを提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記問題を解決するため、本発明は次のように構成したものである。
請求項１に記載の発明は。ＣＰＵのコープロセッサーとしての１ｂｉｔの演算を行うロジックソルバを備えたＩ／Ｏプロセッサーにおいて、前記ロジックソルバの演算部から直接アクセス可能な、エンコーダパルスをカウントする可逆カウンターと、パルス幅変調によりＤ／Ａ変換を行うＰＷＭ出力回路と、前記Ｉ／Ｏプロセッサー内部で入出力ポートであるシリアル入力およびシリアル出力にクロック信号、サンプリングパルス信号を供給するタイミングクロック発生回路とより構成される入出力回路を備え、周辺回路とアクセスして外部機器の制御や入出力の制御を可能とするものである。
また、請求項２記載の発明は、請求項1記載のＩ／Ｏプロセッサーにおいて、前記Ｉ／Ｏプロセッサーを２個用いて、その入出力部間をたすき掛けに接続するように結合してデータの授受を行い、共有データを保持することでラダープログラムを平行して解読するようにしたものである。
また、請求項３記載の発明は、請求項1記載のＩ／Ｏプロセッサーにおいて、前記Ｉ／Ｏプロセッサーを少なくとも２個用いて、その入出力部間をカスケードに接続するように結合してデータの授受を行い、ラダープログラムを分割して解くことを可能としたものである。
【発明の効果】
【０００５】
請求項1〜３記載のＩ／Ｏプロセッサによると、ロジックソルバ自体に入出力回路を備えて、直接ラダープログラムでアクセス出来るようにする事で高速の処理を可能にすることができる。これを用いてパラレル運転、カスケード運転をも可能にすることができ、大きなシステムにも同一のＩ／Ｏプロセッサーで対応出来るという効果がある。
【発明を実施するための最良の形態】
【０００６】
以下、本発明の実施例を図に基づいて具体的に説明する。
【実施例１】
【０００７】
図１は本発明の第１実施例を示すＩ／Ｏプロセッサーの構成図、図２は図１の実施例の動作を示すタイムチャートである。
図１において、１はＩ／Ｏプロセッサー、２はロジックソルバー、３は可逆カウンタ、４はＰＷＭ出力回路、５はシリアル入力、６はタイミングクロック発生回路、７はシリアル出力である。ロジックソルバー２はバスによりＣＰＵと接続されている。
【０００８】
本発明の特徴は以下のとおりである。
ＣＰＵのコープロセッサーとしての１ｂｉｔの演算を行うロジックソルバ２を備えたＩ／Ｏプロセッサー１において、ロジックソルバ２の演算部から直接アクセス可能な、エンコーダパルスをカウントする可逆カウンター３と、パルス幅変調によりＤ／Ａ変換を行うＰＷＭ出力回路４と、汎用の入出力ポートであるシリアル入力５、タイミングクロック発生回路６、シリアル出力７を備えた点である。なお、タイミングクロック発生回路６は後述の図３において、Ｉ／Ｏプロセッサー１内部でシリアル入力ＳＩ、シリアル出力ＳＯにクロック信号ＣＫ、サンプリングパルス信号ＳＡＭＰを供給するものである。
【０００９】
図３は、工作機械主軸駆動用のサーボモータに対する速度指令出力を得ることを目的として、ロジックソルバと周辺回路のアクセス機能を設けたＩ／Ｏプロセッサーを接続した回路の一実施例を示すブロック図である。
図３において、８は主軸用のサーボモータ、９はエンコーダ、１０はアンプ、１１はシフトレジスター、１２はシフトレジスターである。Ｉ／Ｏプロセッサー１の右側には、ＤＩにパラレル入力、シリアル出力のシフトレジスター１１および１２を用いている。これらの入出力は１２８点＋１２８点と言う大きなもので、Ｉ／Ｏプロセッサー自体がパラレル入力を持つと、ピン数が増えプロセッサー自体が大きくなるのとパターンの引き回しが基板間に渡り、現実的で無いのでこの様な方法が用いられている。また、Ｉ／Ｏプロセッサー１内部にはシリアル入力ＳＩ（５）をパラレルにしてロジックソルバ２が読み込む回路と出力用にパラレルに書き込んでシリアルでＳＯ（７）から出力する回路を内蔵している。
【００１０】
次に動作について、図１および図３を用いて説明する。
サーボモータ８の位置検出を行うエンコーダ９の出力はＩ／Ｏプロセッサー１内部でカウントされて位置情報ＰＡ、ＰＢ、ＰＣとなる。速度指令はＰＷＭ出力回路４で出力され、フィルタリングされた後、アンプＡに入力され、サーボモータ８を回転させる。即ち、Ｉ／Ｏプロセッサー１は図示しないＣＰＵから与えられたプログラムと入出力情報に基づいて、ロジックソルバが内部ラダープログラムを解読することで、主軸の制御をＣＰＵと独立して高速に行う事ができる。
【００１１】
本発明の実施例は、Ｉ／Ｏプロセッサーの内部あるロジックソルバを自体にエンコーダパルスのカウンタやＰＷＭ出力回路のポートを設けて、ラダープログラムで直接アクセスすることを可能とし、また、ラダープログラムでサーボループも組むことにようにすると共に、同様にラダープログラムでアクセスできる入出力ポートを設けて入出力を制御する構成にしたので、高速の処理を行うことができる。
【実施例２】
【００１２】
次に、本発明の第２実施例について説明する。
図４は本発明の第２実施例を説明したものであって、（ａ）はＩ／Ｏプロセッサーを２個接続した回路のブロック図、（ｂ）は破線で囲まれたＩ／Ｏプロセッサー内部のバッファ同士がデータの授受を行っている状態を示した図である。
第２実施例が第１実施例と異なる点は、２個のＩ／Ｏプロセッサーを用いて、これらの入出力部を相互にたすき掛けに接続した点である。すなわち、Ｉ／Ｏプロセッサー１Ａのシリアル入力ＳＩがＩ／Ｏプロセッサー１Ｂのシリアル出力ＳＯに接続されると共に、Ｉ／Ｏプロセッサー１Ａのシリアル出力ＳＯがＩ／Ｏプロセッサー１Ｂのシリアル入力ＳＩに接続された構成になっている。これにより、２個のＩ／Ｏプロセッサーの入出力ポートを用いて複数のロジックソルバ自体と結合し、相互にデータの授受を行い、共有データを保持することで、別々のラダープログラムを解読するから、パラレル運転による高速化を可能にすることができる。
【実施例３】
【００１３】
次に、本発明の第３実施例について説明する。
図５は本発明の第３実施例を説明したものであって、（ａ）はＩ／Ｏプロセッサーを３個接続した回路のブロック図、（ｂ）は破線で囲まれたＩ／Ｏプロセッサー内部のバッファ同士がデータの授受を行っている状態を示した図である。
第３実施例が第１実施例と異なる点は、３個のＩ／Ｏプロセッサーを用いて、これらの入出力部をカスケードに接続した点である。すなわち、Ｉ／Ｏプロセッサー１Ａのシリアル出力ＳＯがＩ／Ｏプロセッサー１Ｂのシリアル入力ＳＩに接続されると共に、Ｉ／Ｏプロセッサー１Ｂのシリアル出力ＳＯがＩ／Ｏプロセッサー１Ｃのシリアル入力ＳＩに接続された構成になっている。
一般にロジックソルバ部のプログラムメモリーのＲＡＭは制約が有り、システムに於いては長いものも必要となる。その対応がこの方法であり、この方法を用いて、複数のＩ／Ｏプロセッサーを限りなくカスケードに接続することでデータの授受を行い、見かけ上、ラダープログラムの長さを長くすることによって、ラダープログラムを分割して解読を可能にすることができる。
【産業上の利用可能性】
【００１４】
本発明のＩ／Ｏプロセッサーはロジックソルバ自体に入出力回路を備え、直接ラダープログラムでアクセスすることで高速の処理を可能にしたため、工作機械のほか、半導体製造装置や産業用ロボットなどのモーションコントローラ等に用いるシーケンサにも適用できる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１実施例を示すＩ／Ｏプロセッサーの構成図
【図２】図１の実施例の動作を示すタイムチャート
【図３】工作機械主軸駆動用のサーボモータに対する速度指令出力を得ることを目的とした、ロジックソルバと周辺回路のアクセス機能を設けたＩ／Ｏプロセッサーを接続した回路の一実施例を示すブロック図
【図４】本発明の第２実施例を説明したものであって、（ａ）はＩ／Ｏプロセッサーを２個接続した回路のブロック図、（ｂ）は破線で囲まれたＩ／Ｏプロセッサー内部のバッファ同士がデータを相互に渡している状態を示した図
【図５】本発明の第３実施例を説明したものであって、（ａ）はＩ／Ｏプロセッサーを３個接続した回路のブロック図、（ｂ）は破線で囲まれたＩ／Ｏプロセッサー内部のバッファ同士がデータの授受を行っている状態を示した図
【符号の説明】
【００１６】
１、１Ａ、１Ｂ、１Ｃ  Ｉ／Ｏプロセッサー、
２  ロジックソルバー、
３  可逆カウンタ、
４  ＰＷＭ出力回路、
５  シリアル入力、
６  タイミングクロック発生回路、
７  シリアル出力、
８  主軸、
９  エンコーダ、
１０  アンプ、
１１  シフトレジスター（ＨＣ１６５）、
１２  シフトレジスター（ＨＣ５９５）、
ＳI  シリアル入力、
ＳＯ  シリアル出力、
ＣＫ  クロック、
ＳＡＭＰ  サンプリングパルス、
ＰＡ、ＰＢ、ＰＣ  位置情報
【図１】
2006338070.tif 000003
【図２】
2006338070.tif 000004
【図３】
2006338070.tif 000005
【図４】
2006338070.tif 000006
【図５】
2006338070.tif 000007