(57)【特許請求の範囲】
【請求項１】
ＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）と、
ユーザによって書き換え可能なシーケンスプログラムを記憶するＲＡＭ部と、
前記シーケンスプログラムに対応するシーケンス演算部を前記ＦＰＧＡに構築するためのシーケンス演算コアプログラムを記憶するＲＯＭ部と、
前記ＲＯＭ部の前記シーケンス演算コアプログラムを用いて前記ＦＰＧＡに前記シーケンス演算部を構築し、当該シーケンス演算部を介して制御対象を制御するＣＰＵ部と、
を備えたＰＬＣ（プログラマブル・ロジック・コントローラ）であって、
前記ＲＡＭ部は、ユーザによって書き換え可能なカスタムハードウェアロジックプログラムをも記憶するようになっており、
前記ＲＯＭ部は、前記カスタムハードウェアロジックプログラムに対応するカスタムハードウェアロジック部を前記ＦＰＧＡに構築するためのカスタムハードウェアロジックコアプログラムをも記憶するようになっており、
前記ＣＰＵ部は、前記ＲＯＭ部の前記カスタムハードウェアロジックコアプログラムを用いて前記ＦＰＧＡに前記カスタムハードウェアロジック部を構築し、当該カスタムハードウェアロジック部と前記シーケンス演算部とを介して制御対象を制御するようになっており、
前記カスタムハードウェアロジック部は、前記シーケンス演算部とは別個の回路構成とした方が好適な、演算アクセラレータの回路として機能するようになっている
ことを特徴とするＰＬＣ。
【請求項２】
ＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）と、
ユーザによって書き換え可能なシーケンスプログラムを記憶する第１記憶部と、
前記シーケンスプログラムに対応するシーケンス演算部を前記ＦＰＧＡに構築するためのシーケンス演算コアプログラムを記憶する第２記憶部と、
前記第２記憶部の前記シーケンス演算コアプログラムを用いて前記ＦＰＧＡに前記シーケンス演算部を構築し、当該シーケンス演算部を介して制御対象を制御するＣＰＵ部と、を備えたＰＬＣ（プログラマブル・ロジック・コントローラ）であって、
前記第１記憶部は、ユーザによって書き換え可能なカスタムハードウェアロジックプログラムをも記憶するようになっており、
前記第２記憶部は、前記カスタムハードウェアロジックプログラムに対応するカスタムハードウェアロジック部を前記ＦＰＧＡに構築するためのカスタムハードウェアロジックコアプログラムを記憶するようになっており、
前記ＣＰＵ部は、前記第２記憶部の前記カスタムハードウェアロジックコアプログラムを用いて前記ＦＰＧＡに前記カスタムハードウェアロジック部を構築し、当該カスタムハードウェアロジック部と前記シーケンス演算部とを介して制御対象を制御するようになっており、
前記カスタムハードウェアロジック部は、前記シーケンス演算部とは別個の回路構成とした方が好適な、演算アクセラレータの回路として機能するようになっている
ことを特徴とするＰＬＣ。
【請求項３】
ラダー言語を用いることによってシーケンスプログラム及び／またはカスタムハードウェアロジックプログラムを書き換えることができるプログラミングツールに接続可能なインタフェース
を更に備えたことを特徴とする請求項１または２に記載のＰＬＣ。
【請求項４】
論理回路図における結線の選択によってシーケンスプログラム及び／またはカスタムハードウェアロジックプログラムを書き換えることができるプログラミングツールに接続可能なインタフェース
を更に備えたことを特徴とする請求項１または２に記載のＰＬＣ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シーケンス演算部に加えてハードウェアロジック部を構築することができるＰＬＣに関する。
【背景技術】
【０００２】
ＰＬＣ（プログラマブル・ロジック・コントローラ）は、一連のリレー接点形式により表現されるシーケンス演算部（シーケンス制御回路）をプログラムに基づいて構築するシーケンスコントローラであり、産業界において工作機械をはじめとする各種機器の制御に広く用いられている。
【０００３】
最近のＰＬＣにおいては、接点回路により表現される回路図（ラダー図）をそのまま入力プログラムとして利用することができる。すなわち、ＶＨＤＬ等のハードウェア記述言語の知識がなくても、「ラダー言語」と呼ばれるラダー図の入力方法さえ習得すれば、制御回路を適宜に変更できるようになっている。
【０００４】
従来のＰＬＣの構成については、例えば、特開平１１−４５２０５号公報に記載されている。
【特許文献１】特開平１１−４５２０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＰＬＣの基本機能は、前述の通り、シーケンス演算部として機能することである。しかしながら、ＰＬＣは、一般に、ユーザが希望する利用形態に応じて、プログラマブルなシーケンス演算部に加えて、それとは別個に、ハードウェアロジック部をも包含していることが多い。
【０００６】
そのような場合、通常、ハードウェアロジック部は、変更不可能なハードウェアによって構成されている。
【０００７】
一方、理論上は、ハードウェアロジック部の機能をプログラマブルなシーケンス演算部で実現することが可能である。しかしながら、全てのロジック演算をシーケンス演算部に行わせる場合、高速処理が困難となるか、コストが著しく増大してしまう。具体的には、本件発明者の知見によれば、例えば三相誘導電動機の起動の際に、スター結線とデルタ結線とを瞬時に切り換えるという超高速の制御は、シーケンス演算部から分離されたハードウェアロジック部を利用しなければ、事実上不可能である。
【０００８】
本発明は、このような課題を解決するためになされたもので、シーケンス演算部から分離されたハードウェアロジック部を有する一方で、当該ハードウェアロジック部の構成がプログラマブルであるようなＰＬＣを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、ＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）と、ユーザによって書き換え可能なシーケンスプログラムを記憶するＲＡＭ部と、前記シーケンスプログラムに対応するシーケンス演算部を前記ＦＰＧＡに構築するためのシーケンス演算コアプログラムを記憶するＲＯＭ部と、前記ＲＯＭ部の前記シーケンス演算コアプログラムを用いて前記ＦＰＧＡに前記シーケンス演算部を構築し、当該シーケンス演算部を介して制御対象を制御するＣＰＵ部と、を備えたＰＬＣ（プログラマブル・ロジック・コントローラ）であって、前記ＲＡＭ部は、ユーザによって書き換え可能なカスタムハードウェアロジックプログラムをも記憶するようになっており、前記ＲＯＭ部は、前記カスタムハードウェアロジックプログラムに対応するカスタムハードウェアロジック部を前記ＦＰＧＡに構築するためのカスタムハードウェアロジックコアプログラムをも記憶するようになっており、前記ＣＰＵ部は、前記ＲＯＭ部の前記カスタムハードウェアロジックコアプログラムを用いて前記ＦＰＧＡに前記カスタムハードウェアロジック部を構築し、当該カスタムハードウェアロジック部と前記シーケンス演算部とを介して制御対象を制御するようになっていることを特徴とするＰＬＣである。
【００１０】
本発明によれば、シーケンス演算部から分離されたハードウェアロジック部を有することができる一方で、当該ハードウェアロジック部の構成がプログラマブルであるようなＰＬＣを提供することができる。
【００１１】
例えば、ラダー言語を用いることによって、シーケンスプログラム及び／またはカスタムハードウェアロジックプログラムを書き換え可能であることが好ましい。
【００１２】
あるいは、論理回路図における結線の選択によって、シーケンスプログラム及び／またはカスタムハードウェアロジックプログラムを書き換え可能であることが好ましい。
【００１３】
なお、ＲＯＭ部はＲＯＭによって構成され、ＲＡＭ部はＲＡＭによって構成されることが通常であるが、本質的には、これらは記憶部として機能すれば足りる。この観点からは、本発明は以下のように規定することができる。すなわち、本発明は、ＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）と、ユーザによって書き換え可能なシーケンスプログラムを記憶する第１記憶部と、前記シーケンスプログラムに対応するシーケンス演算部を前記ＦＰＧＡに構築するためのシーケンス演算コアプログラムを記憶する第２記憶部と、前記第２記憶部の前記シーケンス演算コアプログラムを用いて前記ＦＰＧＡに前記シーケンス演算部を構築し、当該シーケンス演算部を介して制御対象を制御するＣＰＵ部と、を備えたＰＬＣ（プログラマブル・ロジック・コントローラ）であって、前記第１記憶部は、ユーザによって書き換え可能なカスタムハードウェアロジックプログラムをも記憶するようになっており、前記第２記憶部は、前記カスタムハードウェアロジックプログラムに対応するカスタムハードウェアロジック部を前記ＦＰＧＡに構築するためのカスタムハードウェアロジックコアプログラムをも記憶するようになっており、前記ＣＰＵ部は、前記第２記憶部の前記カスタムハードウェアロジックコアプログラムを用いて前記ＦＰＧＡに前記カスタムハードウェアロジック部を構築し、当該カスタムハードウェアロジック部と前記シーケンス演算部とを介して制御対象を制御するようになっていることを特徴とするＰＬＣである。
【発明を実施するための最良の形態】
【００１４】
図１は、本発明によるＰＬＣの一実施の形態を示す概略図である。
【００１５】
図１に示すように、本実施の形態によるＰＬＣは、シーケンス演算部を構築するハードウェアとして、ＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）１を備えている。ＦＰＧＡ１は、プログラム（プログラムキット）に従って自由に構成変更が可能である。本願出願の時点で、数百円程度の安価に販売されており、ＦＰＧＡを含むからといってコストが増大することは無い。
【００１６】
ＦＰＧＡ１において如何なるシーケンス演算部を構築するかは、シーケンスプログラムによって特定される。シーケンスプログラムは、前述のように、ユーザによって任意に変更され得るものである。本実施の形態のＰＬＣでは、そのようなシーケンスプログラムがＲＡＭ部２によって記憶されている。ＲＡＭ部２は、本実施の形態では、不揮発性のＲＡＭである。
【００１７】
一般に、このシーケンスプログラムは、ラダー言語と呼ばれる言語で記述されている。従って、これから直接的にシーケンス演算部を構築することはできない。ユーザが特定するラダー言語のシーケンスプログラムと、それに対応するＦＰＧＡ１のゲート配列（回路パターン）と、を関連付けるためのプログラムが、シーケンス演算コアプログラムである。本実施の形態のＰＬＣでは、そのようなシーケンス演算コアプログラムがＲＯＭ部３によって記憶されている。シーケンス演算コアプログラムは、専門のプログラミング言語（通常はＶＨＤＬ言語）で記述されている。
【００１８】
そして、ＰＬＣのＣＰＵ部４が、システム初期処理時に制御部として機能して、ＲＡＭ部２のシーケンスプログラムに基づいて、ＲＯＭ部３のシーケンス演算コアプログラムを用いて、ＦＰＧＡ１にシーケンス演算部を構築するようになっている。ＣＰＵ部４は、最終的には、当該シーケンス演算部を利用して、所望の制御対象を所望の態様に制御する。
【００１９】
以上の構成ないし機能については、従来のＰＬＣと同様のものである。
【００２０】
そして、本発明の特徴として、本実施の形態のＰＬＣでは、ＲＡＭ部２が、ユーザによって書き換え可能なカスタムハードウェアロジックプログラムをも記憶している。カスタムハードウェアロジックプログラムは、ＦＰＧＡ１において如何なるカスタムハードウェアロジック部を構築するかを特定するプログラムである。ＦＰＧＡ１に構築されるカスタムハードウェアロジック部としては、演算アクセラレータや、特殊Ｉ／Ｏ（高速パルス入力カウンタや高速パルス出力）等が考えられる。すなわち、シーケンス演算部とは別個の回路構成とした方が好適であるような種々の回路が、カスタムハードウェアロジック部として構築され得るのである。
【００２１】
そして、このカスタムハードウェアロジックプログラムも、ラダー言語と呼ばれる言語で記述されている。ユーザが特定するラダー言語のカスタムハードウェアロジックプログラムと、それに対応するＦＰＧＡ１のゲート配列（回路パターン）と、を関連付けるためのプログラムが、カスタムハードウェアロジックコアプログラムである。本実施の形態のＰＬＣでは、そのようなカスタムハードウェアロジックもＲＯＭ部３によって記憶されている。カスタムハードウェアロジックコアプログラムも、専門のプログラミング言語（通常はＶＨＤＬ言語）で記述されている。
【００２２】
そして、ＰＬＣのＣＰＵ部４が、システム初期処理時に制御部として機能して、ＲＡＭ部２のカスタムハードウェアロジックプログラムに基づいて、ＲＯＭ部３のカスタムハードウェアロジックコアプログラムを用いて、ＦＰＧＡ１にカスタムハードウェアロジック部を構築するようになっている。そしてＣＰＵ部４は、最終的には、当該カスタムハードウェアロジック部と前記シーケンス演算部とを利用して、所望の制御対象を所望の態様に制御するのである。
【００２３】
シーケンスプログラム及びカスタムハードウェアロジックプログラムは、ラダー言語を用いることによってユーザによって比較的容易に書き換え可能である。そのような書き換えを支援するプログラミングツールは、従来より知られている。本実施の形態のＰＬＣは、そのようなプログラミングツールに接続可能なユーザインタフェース６を備えている。ラダー言語を用いる代わりに、論理回路図における結線を直接的に選択するようなプログラミングツールが用いられてもよい。
【００２４】
以上のような本実施の形態によれば、ＦＰＧＡ１において、シーケンス演算部から分離されたハードウェアロジック部を有することができる。また、当該ハードウェアロジック部の構成は、ユーザによって書き換え可能なカスタムハードウェアロジックプログラムによって特定されるので、プログラマブルである（ハードウェアロジック部を変更する際に、基板変更を必要としない）。
【００２５】
ＦＰＧＡ１に用意されているゲート配列の数が顕著に増大した現状では（数百円程度のもので１０万ゲート）、シーケンス演算部の構築のために用いられるＦＰＧＡ１のゲート配列の数は、ＦＰＧＡ１の全ゲート配列の数からすれば十分に少ないことが一般的である。従って、シーケンス演算部の構築のためには使用されない残りのゲート配列からでも、十分に多種多様にハードウェアロジック部を構築することができる。すなわち、従前においてＰＬＣとは別個のハードウェアとして設けられていたハードウェアロジック回路の構成部品が、単純に不要になる。このことは、リソース活用という観点から、コストの面でもエコロジーの面でも、極めて重要な効果である。
【００２６】
なお、図１のＰＬＣは、ＣＰＵ部４の制御機能を支援するために、ＲＡＭ部２とは別個に揮発性のＲＡＭ７を有している。これは、従来のＰＬＣにおいても見られる構成である。
【００２７】
また、図１のＰＬＣは、Ｉ／Ｏポート３を有している。これも、従来のＰＬＣと異なるものではない。
【００２８】
しかしながら、図１のＰＬＣでは、ＦＰＧＡ１において構築されるカスタムハードウェアロジック部がＩ／Ｏポート３とは別個に独自のＩ／Ｏポートを変更可能に有する、ということがあり得る。この点は、従来のＰＬＣとは異なる特徴である。
【図面の簡単な説明】
【００２９】
【図１】本発明によるＰＬＣの一実施の形態を示す概略図である。
【符号の説明】
【００３０】
１  ＦＰＧＡ
２  ＲＡＭ部（不揮発性）
３  ＲＯＭ部
４  ＣＰＵ
５  Ｉ／Ｏポート
６  ユーザインタフェース
７  ＲＡＭ（揮発性）
【図１】
0005143600.tif 000002