(57)【要約】【課題】ＦＰＧＡを用いて、高速応答を必要とする制御システムに組み込み可能としたプログラマブルコントローラを提供すること。【解決手段】本プログラマブルコントローラ３は、シーケンス制御用ハードウエア論理回路が動作プログラムとして電源立ち上げ時に外部パーソナルコンピュータからロードされるＦＰＧＡ１０と、入力機器から入力信号を取り込むと共に制御信号に応じて出力信号を出力機器へ出力するもので、ＦＰＧＡに接続されたＩ／Ｏ部７と、を備え、ＦＰＧＡ１０は、内部ハードウエア論理回路でＩ／Ｏ部７からの入力信号を処理すると共に、Ｉ／Ｏ部７に制御信号を出力し、Ｉ／Ｏ部７は、ＦＰＧＡ１０からの制御信号に応答して出力信号を出力する。【選択図】図１
2010191509.tif 000002
【特許請求の範囲】
【請求項１】
シーケンス制御用ハードウエア論理回路が動作プログラムとして電源立ち上げ時に外部パーソナルコンピュータからロードされるＦＰＧＡと、
入力機器から入力信号を取り込むと共に制御信号に応じて出力信号を出力機器へ出力するものでＦＰＧＡに接続されたＩ／Ｏ部と、
を備え、
前記ＦＰＧＡは、内部ハードウエア論理回路でＩ／Ｏ部からの入力信号を処理すると共に、Ｉ／Ｏ部に制御信号を出力し、前記Ｉ／Ｏ部は、ＦＰＧＡからの制御信号に応答して出力信号を出力するようになっている、ことを特徴とするプログラマブルコントローラ。
【請求項２】
前記ＦＰＧＡは、内部にコンフィグレーションＲＯＭを備えると共に、前記パーソナルコンピュータから転送される動作プログラムをこのコンフィグレーションＲＯＭにロードし、電源立ち上げ時には、このＲＯＭからＦＰＧＡに動作プログラムを転送すると共に、ＦＰＧＡとＩ／Ｏ部とが直結された互いのピン同士間で信号を入出力するようになっている、ことを特徴とする請求項１に記載のプログラマブルコントローラ。
【請求項３】
前記ＦＰＧＡは、内部にコンフィグレーションＲＯＭを備えると共に、前記パーソナルコンピュータから転送される動作プログラムをこのコンフィグレーションＲＯＭにロードし、電源立ち上げ時には、このＲＯＭからＦＰＧＡに動作プログラムを転送すると共に、ＦＰＧＡとＩ／Ｏ部とがパラレルまたはシリアルのバスで接続され、このバスを介して互いの間で信号を入出力するようになっている、ことを特徴とする請求項１に記載のプログラマブルコントローラ。
【請求項４】
前記ＦＰＧＡは、内部にコンフィグレーションＲＯＭと、動作プログラム管理部と、を備えると共に、動作プログラム管理部は、前記パーソナルコンピュータから転送される複数の動作プログラムをこのコンフィグレーションＲＯＭにロードし、電源立ち上げ時には、このＲＯＭから任意の１つの動作プログラムを選択してＦＰＧＡに動作プログラムを転送することが可能となっている、請求項１に記載のプログラマブルコントローラ。
【請求項５】
パーソナルコンピュータ等の動作プログラム転送ソースと、
この動作プログラム転送ソースにコンフィグレーションバスを介して接続された複数のプログラマブルコントローラと、を有し、
各プログラマブルコントローラは、
シーケンス制御用ハードウエア論理回路が動作プログラムとして電源立ち上げ時に外部パーソナルコンピュータからロードされるＦＰＧＡと、
入力機器から入力信号を取り込むと共に制御信号に応じて出力信号を出力機器へ出力するもので、ＦＰＧＡに直結された互いのピン同士間で信号を入出力可能に直結、またはパラレルまたはシリアルのバスで信号を入出力可能に接続されたＩ／Ｏ部と、
を備え、
前記ＦＰＧＡは、内部ハードウエア論理回路でＩ／Ｏ部からの入力信号を処理すると共に、Ｉ／Ｏ部に制御信号を出力し、前記Ｉ／Ｏ部は、ＦＰＧＡからの制御信号に応答して出力信号を出力するようになっている、ことを特徴とするプログラマブルコントローラシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生産機械をシーケンス制御するプログラマブルコントローラにかかり、特に、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）により動作プログラムをハードウエア構成することが可能なプログラマブルコントローラに関するものである。
【背景技術】
【０００２】
プログラマブルコントローラは、各種機械や装置等（制御装置）においてそのシーケンス制御に用いられている。
【０００３】
図６を参照して、１はパーソナルコンピュータ、３はプログラマブルコントローラである。従来では、パーソナルコンピュータ１がソフトウエアによる動作プログラムＡを通信ポート２を介してプログラマブルコントローラ３に転送する。
【０００４】
この動作プログラムＡの一例を図６中に示す。動作プログラムＡは、ステップｎ１で接点Ｘ１，Ｘ２がＡＮＤ入力されると、出力Ｙ１として出力される。ステップｎ２で接点Ｘ３，Ｘ４がＯＲ入力されると、出力Ｙ２として出力される。
【０００５】
この動作プログラムＡはラダープログラムである。ラダープログラムは、プログラマブルコントローラによる制御シーケンスを定めるプログラムであり、図６でその一部を示すようにラダー図で記述される。ラダー図は、回路図が、あたかも、はしご状に描かれており、左右両端の垂直な二つの母線が動力をシンボリックに表わし、その間で水平に結ぶ平行な線上に接点回路の動力流れが示される。このようなラダー図形式のラダープログラムを作成、編集するには、例えば、パーソナルコンピュータ１が使用される。
【０００６】
プログラマブルコントローラ３は、内部に、ＣＰＵ４、動作プログラム格納ＲＯＭ５、ワークＲＡＭ６、複数のＩ／Ｏ部７、を有し、これらは内部バス８で接続されている。ＣＰＵ４は、図外の入力機器から入力した信号をＩ／Ｏ部７のメモリに取り込んでＩＮリフレッシュを行い、ＲＯＭ５内の動作プログラムに基づき演算実行し、その演算実行結果をＩ／Ｏ部７内のメモリに書き込んでＯＵＴリフレッシュ処理を行う（例えば特許文献１、２等参照）。
【０００７】
Ｉ／Ｏ部７には、複数の入力点７ａ、複数の出力点７ｂが接続されている。入力点７ａにはセンサ等の図示略の入力機器が接続され、出力点７ｂにはアクチュエータ等の図示略の出力機器が接続されている。
【０００８】
センサ等の入力機器は制御装置の状態をセンシングしそのセンシング状態からＯＮ／ＯＦＦしそのＯＮ／ＯＦＦにかかる入力信号を入力点７ａを介してＩ／Ｏ部７に入力する。Ｉ／Ｏ部７から内部バス８を経由してＣＰＵ４には入力信号が入力される。
【０００９】
一方、ＣＰＵ４は入力信号に基づき、動作プログラムに従い演算を行い、この演算の結果から制御信号を内部バス８を経由してＩ／Ｏ部７に出力する。Ｉ／Ｏ部７はこの制御信号から出力点７ｂを介してアクチュエータ等の出力機器に出力信号を出力することで出力機器をＯＮ／ＯＦＦ動作させ、これにより、制御装置を駆動制御するようになっている。
【００１０】
以上のプログラマブルコントローラ３では、ＣＰＵ４でプログラムを実行し、演算処理する場合には、ＣＰＵ４とＲＡＭ６との間で多数回繰り返しアクセスしてデータのやり取りを行う必要がある一方で、プログラマブルコントローラ特有の遅いクロック速度では上記演算の結果を導くに至るまでには相当長い時間を費やす必要がある。
【００１１】
このことにより、従来のプログラマブルコントローラ３を、高速応答を必要とする制御システムに組み込んだ場合、応答が間に合わないという課題がある。
【００１２】
さらに、演算処理の実行でＣＰＵリソースが長時間にわたり無くなるために、その制御システムで他の並列処理を行う場合、その処理を満足に実行することができなくなるという課題もある。
【００１３】
なお、従来のプログラマブルコントローラ３では、ＩＮリフレッシュを行い、ＲＯＭ５内の動作プログラムに基づき演算実行し、その演算実行結果をＩ／Ｏ部７内のメモリに書き込んでＯＵＴリフレッシュ処理するという時間的に微小にずれたシーケンスの繰り返しであるから、順次処理構造となり、その順次処理構造においてＣＰＵ４は、その制御動作にクロックが必要である。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００５−２５９０７９号公報
【特許文献２】特開２００８−２５１０５２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
そこで、本願出願人は、プログラマブルデバイスの１つであるＦＰＧＡを用いて上記課題を解決することを考えたのである。
【００１６】
特開２０００−１０１４２１号公報を参照して、ＦＰＧＡは、コンピュータのようにプログラムに応じて異なる機能を実現することができるので、用途が広く、また、設計変更が容易である。ＦＰＧＡのプログラムは、コンピュータのそれとは異なり、要素の接続を変更することによりハードウエアを構成するためのものである。ＦＰＧＡで構成された回路は高速処理することができる。
【００１７】
また、特開２００８−０４２５４６号公報を参照して、ＦＰＧＡは、多数の小さな論理セル（論理ブロック）と、これら論理セルの間に縦横に張り巡らされた配線網とを有して構成されており、複数の論理セルを組み合わせ、チップ内部の自由な配線領域で接続することにより、非常に自由度が高く、大規模で高速な回路を実現できる。ＦＰＧＡには、例えばＬＵＴ（Ｌｏｏｋ Ｕｐ Ｔａｂｌｅ）アーキテクチャ構造のものが製品化されている。ＬＵＴとは、入力の組み合わせによって予め決められた出力が得られるメモリのことであり、ＬＵＴとフリップフロップやマルチプレクサを内蔵したＣＬＢ（Ｃｏｎｆｉｇｕｒａｔｉｏｎ Ｌｏｇｉｃ Ｂｌｏｃｋ）で論理セルを実現している。このＬＵＴは、構造がＳＲＡＭと似ており、高集積化しやすいなどの特徴から、ＣＰＬＤよりも大規模なロジック回路を実現できる。
【００１８】
ただし、回路情報を記憶する部分がＳＲＡＭベースであるため、電源を切ってしまうと回路情報が失われてしまう。そのため、回路情報を保持するためのＲＯＭを外付けし、電源投入と同時にＲＯＭからＦＰＧＡにダウンロードする必要がある。この動作をコンフィグレーションという。
【００１９】
以上から、本発明により解決すべき課題は、ＦＰＧＡを用いて、高速応答を必要とする制御システムに組み込み可能としたプログラマブルコントローラを提供することである。
【課題を解決するための手段】
【００２０】
本発明によるプログラマブルコントローラは、シーケンス制御用ハードウエア論理回路が動作プログラムとして電源立ち上げ時に外部パーソナルコンピュータからロードされるＦＰＧＡと、入力機器から入力信号を取り込むと共に制御信号に応じて出力信号を出力機器へ出力するものでＦＰＧＡに接続されたＩ／Ｏ部と、を備え、前記ＦＰＧＡは、内部ハードウエア論理回路でＩ／Ｏ部からの入力信号を処理すると共に、Ｉ／Ｏ部に制御信号を出力し、前記Ｉ／Ｏ部は、ＦＰＧＡからの制御信号に応答して出力信号を出力するようになっている、ことを特徴とする。
【００２１】
本発明において、好ましい態様は、前記ＦＰＧＡは、内部にコンフィグレーションＲＯＭを備えると共に、前記パーソナルコンピュータから転送される動作プログラムをこのコンフィグレーションＲＯＭにロードし、電源立ち上げ時には、このＲＯＭからＦＰＧＡに動作プログラムを転送すると共に、ＦＰＧＡとＩ／Ｏ部とが直結された互いのピン同士間で信号を入出力するようになっていることである。
【００２２】
本発明において、別の好ましい態様は、前記ＦＰＧＡは、内部にコンフィグレーションＲＯＭを備えると共に、前記パーソナルコンピュータから転送される動作プログラムをこのコンフィグレーションＲＯＭにロードし、電源立ち上げ時には、このＲＯＭからＦＰＧＡに動作プログラムを転送すると共に、ＦＰＧＡとＩ／Ｏ部とがパラレルまたはシリアルのバスで接続され、このバスを介して互いの間で信号を入出力するようになっている、ことである。
【００２３】
本発明において、別の好ましい態様は、前記ＦＰＧＡは、内部にコンフィグレーションＲＯＭと、動作プログラム管理部と、を備えると共に、動作プログラム管理部は、前記パーソナルコンピュータから転送される複数の動作プログラムをこのコンフィグレーションＲＯＭにロードし、電源立ち上げ時には、このＲＯＭから任意の１つの動作プログラムを選択してＦＰＧＡに動作プログラムを転送することが可能となっている、ことである。
【００２４】
本発明によるプログラマブルコントローラシステムは、パーソナルコンピュータ等の動作プログラム転送ソースと、この動作プログラム転送ソースにコンフィグレーションバスを介して接続された複数のプログラマブルコントローラと、を有し、各プログラマブルコントローラは、シーケンス制御用ハードウエア論理回路が動作プログラムとして電源立ち上げ時に外部パーソナルコンピュータからロードされるＦＰＧＡと、入力機器から入力信号を取り込むと共に制御信号に応じて出力信号を出力機器へ出力するもので、ＦＰＧＡに直結された互いのピン同士間で信号を入出力可能に直結、またはパラレルまたはシリアルのバスで信号を入出力可能に接続されたＩ／Ｏ部と、を備え、前記ＦＰＧＡは、内部ハードウエア論理回路でＩ／Ｏ部からの入力信号を処理すると共に、Ｉ／Ｏ部に制御信号を出力し、前記Ｉ／Ｏ部は、ＦＰＧＡからの制御信号に応答して出力信号を出力するようになっている、ことを特徴とする。
【発明の効果】
【００２５】
本発明によると、ＦＰＧＡ内部にシーケンス制御するための動作プログラムをハードウエア論理回路で実行できる構成としているので、従来のようにＣＰＵとメモリとの間でのシーケンス制御上でのデータのやり取りがなくなり、演算速度が格段に速くなる。結果、本発明では、高速応答を必要とする制御システムに組み込むことができるプログラマブルコントローラを提供することができる。
【図面の簡単な説明】
【００２６】
【図１】図１は、本発明の実施の形態にかかるプログラマブルコントローラのブロック構成を示す図である。
【図２】図２は、別の実施の形態において、コンフィグレーションＲＯＭを用いたプログラマブルコントローラのブロック構成を示す図である。
【図３】図３は、さらに別の実施の形態において、コンフィグレーションＲＯＭを用いたプログラマブルコントローラのブロック構成を示す図である。
【図４】図４は、さらに別の実施の形態において、汎用ＲＯＭを用いたプログラマブルコントローラのブロック構成を示す図である。
【図５】図５は、さらに別の実施の形態において、ネットワークを経由して、ＦＰＧＡをコンフィグレーションした構成を示す図である。
【図６】図６は、従来にかかるプログラマブルコントローラのブロック構成を示す図である。
【発明を実施するための形態】
【００２７】
以下、添付した図面を参照して、本発明の実施の形態に係るプログラマブルコントローラを説明する。
【００２８】
図１を参照して、１は、動作プログラム作成装置や動作プログラムの転送ソースとしてのパーソナルコンピュータ、３は、パーソナルコンピュータ１から動作プログラムが転送されるプログラマブルコントローラである。パーソナルコンピュータ１とプログラマブルコントローラ３は、コンフィグレーションバス９により接続されている。
【００２９】
パーソナルコンピュータ１は、プログラム転送元として、ハードウェア論理回路情報からなる動作プログラムをコンフィグレーションバス９を介して、プログラム転送先であるプログラマブルコントローラ３に転送する。
【００３０】
この動作プログラムの一部を図中符号Ｂで示す。この動作プログラムＢは、図６の動作プログラムＡと比較して、ラダー図ではなく、図６のラダー図ステップｎ１が、図１の論理回路ではＡＮＤゲートの入力Ｘ１，Ｘ２と、出力Ｙ１であり、図６のラダー図ステップｎ２が、図１の論理回路ではＯＲゲートの入力Ｘ３，Ｘ４と、出力Ｙ２である。パーソナルコンピュータ１は、図１で示す上記したハードウェア論理回路情報を動作プログラムＢとしてプログラマブルコントローラ３に転送する。
【００３１】
プログラマブルコントローラ３は、ＦＰＧＡ１０と、Ｉ／Ｏ部７とを有する。具体的には、パーソナルコンピュータ１は上記動作プログラムＢをＦＰＧＡ１０に転送する。ＦＰＧＡ１０は、転送されてきた動作プログラムＢを書き込む、すなわち、コンフィグレーションして格納する。この場合、実施の形態のＦＰＧＡ１０はＳＲＡＭベースであり、電源投入後にユーザ回路である動作プログラムＢを書き込む。このＦＰＧＡ１０は例えば米国Ｘｉｌｉｎｘ社製である。
【００３２】
ＦＰＧＡ１０は、内部に論理ブロック群と、論理ブロック群間を接続する配線リソース群とを有する。動作プログラムＢに従い配線リソース群により論理ブロック群を接続することで、任意の論理回路が構成される。このような動作プログラムＢによるプログラミングにより論理回路が構成されることは周知であり、詳細を略する。
【００３３】
こうして、ＦＰＧＡ１０内には、動作プログラムＢにより、入力信号を入力するインターフェースとしての入力回路１０ａ、制御信号を出力するインターフェースとしての出力回路１０ｂ、および動作プログラムを実行する実行回路１０ｃとが構成される。Ｉ／Ｏ部７は、入力接点Ｘ１−Ｘ４からセンサ等の入力機器の状態を示す入力信号を取り込み、内部バス８を経由して、ＦＰＧＡ１０の入力回路１０ａに入力する。ＦＰＧＡ１０は、入力信号の状態から実行回路１０ｃで演算を行い、その演算の結果を出力回路１０ｂからアクチュエータ等の出力機器を駆動するための制御信号として内部バス８に出力する。Ｉ／Ｏ部７は、ＦＰＧＡ１０の出力回路１０ｂから制御信号に応答して出力信号を生成し、その出力信号を出力接点Ｙ１，Ｙ２から出力機器に出力する。
【００３４】
このようにして図１のプログラマブルコントローラ３では、ＣＰＵが不要であり、また、動作プログラムがソフトウエアである場合には必要としていた動作プログラム格納メモリや、およびＣＰＵが作業に用いるワークメモリが不要である。したがって、従来のごとく、ＣＰＵでプログラムを実行し、演算処理する際のＣＰＵとメモリとの間でのデータのやり取りがなくなり、演算速度が格段に速くなる。
【００３５】
以上から本実施の形態では高速応答を必要とする制御システムに組み込むことができるプログラマブルコントローラを提供することができる。
【００３６】
図２を参照して、別の実施の形態を説明する。
【００３７】
この実施の形態では、プログラマブルコントローラ３内部にコンフィグレーションＲＯＭ１１を設けると共に、パーソナルコンピュータ１から動作プログラムＢをコンフィグレーションＲＯＭ１１に転送してアップロードしておく。図１では電源が遮断されると、ＦＰＧＡ１０内部の動作プログラムＢは無くなり、パーソナルコンピュータ１から電源立ち上げ時に毎回ロードする必要がある、これに対して、図２では、コンフィグレーションＲＯＭ１１からＦＰＧＡ１０にアップロードすることができるので、パーソナルコンピュータ１から電源の立ち上げ時に毎回ロードする必要がなくなって好ましい。
【００３８】
こうして電源立ち上げ時には、コンフィグレーションＲＯＭ１１からＦＰＧＡ１０に一度だけ動作プログラムＢを転送する。
【００３９】
ＦＰＧＡ１０は、外部端子として電源ピン、グランドピン、アドレスや、データの入出力ピン、等の各種ピンを有する。そして、ＦＰＧＡ１０においては、これらピンのうち、入力回路１０ａや出力回路１０ｂは、Ｉ／Ｏ部７のピンと１：１で対応するピンを有する。これらピンは直接接続されている。ＦＰＧＡ１０は、Ｉ／Ｏ部７に対して上記１：１対応のピンにより直接、入力信号を取り込み、制御信号を出力して制御するので、プログラマブルコントローラとして動作速度が高速となる。
【００４０】
図３を参照して、さらに別の実施の形態を説明する。
【００４１】
この実施の形態では、プログラマブルコントローラ３内部にコンフィグレーションＲＯＭ１１を設けると共に、パーソナルコンピュータ１から動作プログラムＢをコンフィグレーションＲＯＭ１１に転送してロードしておく。そして、電源立ち上げ時に、コンフィグレーションＲＯＭ１１からＦＰＧＡ１０に一度だけ動作プログラムＢを転送する。以上は図２と同様である。図３の実施の形態では、図２とは異なって、図１とは同様に、ＦＰＧＡ１０の入力回路１０ａ、出力回路１０ｂが、Ｉ／Ｏ部７に対して、パラレルまたはシリアルのバス８で接続されている。そのため、Ｉ／Ｏ部７の拡張性が高い。
【００４２】
図４を参照して、さらに別の実施の形態を説明する。
【００４３】
この実施の形態では、プログラマブルコントローラ３内部にＣＰＵまたはＰＬＤ（プログラマブルロジックデバイス）を動作プログラム管理部１２として設けると共に、汎用ＲＯＭ１３を設ける。
【００４４】
そして、パーソナルコンピュータ１から複数の動作プログラムＢをプログラマブルコントローラ３に転送する。
【００４５】
プログラマブルコントローラ３では、転送されてきた動作プログラムＢを動作プログラム管理部１２により、汎用ＲＯＭ１３にロードしておく。そして、動作プログラム管理部１２が汎用ＲＯＭ１３にロードする動作プログラムＢを管理するようにし、ＦＰＧＡ１０の状況に応じて汎用ＲＯＭ１３にロードしている複数の動作プログラムＢの中から１つの動作プログラムＢを選択して、ＦＰＧＡ１０にアップロードする。これにより、１つのＦＰＧＡ１０により、複数の動作プログラムＢによる高速動作を実現することができる。なお、ＦＰＧＡ１０とＩ／Ｏ部７とのバス８接続構成は図３と同様である。
【００４６】
図５を参照して、さらに別の実施の形態を説明する。
【００４７】
この実施の形態では、パーソナルコンピュータ１からコンフィグレーションバス９により複数のプログラマブルコントローラ３ａ，３ｂで動作プログラムＢを転送可能とする。プログラマブルコントローラ３ａでは、図２と同様にＦＰＧＡ１０とＩ／Ｏ部７とが直結された構成と、ＦＰＧＡ１０とＩ／Ｏ部７とがバス接続された構成とを含む。プログラマブルコントローラ３ｂでは、ＦＰＧＡ１０はすべてのＩ／Ｏ部７にバス接続されている。
【００４８】
以上説明した実施の形態では、ＦＰＧＡ１０内部に動作プログラムをハードウエア論理回路で実行できる構成としているので、従来のようにＣＰＵとメモリとの間でのデータのやり取りがなくなり、演算速度が格段に速くなる。結果、本発明では、高速応答を必要とする制御システムに組み込むことができるプログラマブルコントローラシステムを提供することができる。
【符号の説明】
【００４９】
１  パーソナルコンピュータ
３  プログラマブルコントローラ
７  Ｉ／Ｏ部
１０  ＦＰＧＡ
【図１】
2010191509.tif 000003
【図２】
2010191509.tif 000004
【図３】
2010191509.tif 000005
【図４】
2010191509.tif 000006
【図５】
2010191509.tif 000007
【図６】
2010191509.tif 000008