トップ :: G 物理学 :: G05 制御;調整




【発明の名称】 ビット演算制御装置及びこれを備えるプログラマブルロジックコントローラ
【発明者】 【氏名】中村 善史
【住所又は居所】東京都府中市東芝町1番地 株式会社東芝府中事業所内

【氏名】力石 健司
【住所又は居所】東京都府中市東芝町1番地 株式会社東芝府中事業所内

【氏名】菊池 紀男
【住所又は居所】東京都府中市東芝町1番地 株式会社東芝府中事業所内

【氏名】竹内 伸吾
【住所又は居所】東京都府中市東芝町1番地 株式会社東芝府中事業所内

【要約】 【課題】プログラムの変更を保ちながら高速動作が可能なビット演算制御装置及びこれを備えるプログラマブルロジックコントローラ(PLC)を提供する。

【解決手段】(a)予めラダープログラムをコンパイルして命令リストに変換し、命令リストを等価なデジタル回路データに変換し、又は(b)ラダープログラムの構成部品を回路部品のシンボルとして用いて作成した回路図のデータをラダー構成部品と等価なデジタル回路でデジタル回路データに展開し、このデジタル回路データを現場で書き込み可能なプログラマブルロジックデバイス(PLD)11の構成データに変換して書き込みされたPLD11と実行時にPLD11に入力信号を入力する手段17および出力信号を制御対象15に出力する手段18を有するビット演算制御装置10である。さらに、このビット演算制御装置10を備えるPLCである。
【特許請求の範囲】
【請求項1】 ラダープログラムを実行するプログラマブルロジックコントローラ(PLC)に設けられるビット演算制御装置が、プログラマブルロジックデバイス(PLD)を有し、このPLDは、制御演算を実行する前に、(a)ラダープログラムをコンパイルして命令リストに変換し、この命令リストを等価なデジタル回路データに変換したり、または(b)ラダープログラムの構成部品を回路部品のシンボルとして用いて回路図を作成し、この回路図のデータをラダー構成部品と等価なデジタル回路を用いてデジタル回路データに展開し、前記(a)または(b)で得られたデジタル回路データを現場で書き込みと書き換えが可能な前記PLDの構成データに変換し、このデータの書き込みがなされたPLDで、かつ制御演算の実行時に制御対象からPLDに入力信号を入力する手段と、前記PLDからの出力信号を前記制御対象に出力する手段とを有することを特徴とするビット演算制御装置。
【請求項2】 前記入力信号に状態を記憶する入力レジスタと前記出力信号に状態を記憶する出力レジスタを有するとともに、(1)演算処理の中間信号に状態を記憶する中間レジスタと、演算処理を分割して行なう複数の演算処理ブロックとを設けて演算処理を実行させ、あるいは(2)演算処理を分割して行なう複数の演算処理ブロックを設け、各演算処理ブロックの境界に状態を記憶する境界レジスタを配置し、境界レジスタに取り込むタイミングと境界レジスタから出力するタイミングとを制御するブロック制御論理部を設けて演算処理を分割して実行させるようにした請求項1に記載のビット演算制御装置。
【請求項3】 前記PLDの入力部に実入力信号の代わりに任意の模擬入力信号を入力する手段と前記PLDの出力部に実出力信号の代わりに任意の模擬出力信号を出力する手段を設ける請求項1に記載のビット演算制御装置。
【請求項4】 前記PLDの内部にある入力信号に状態を記憶する入力レジスタと出力信号に状態を記憶する出力レジスタに対し、外部のマイクロプロセッサから任意の値の設定と読み出しをする読出し設定手段を有し、またはこの読出し設定手段に、PLD内部の回路状態を一括して読み出す手段と、ビット演算動作中にこの回路内容を接続されたマイクロプロセッサにより読み出す手段と、読み出された回路内容を外部表示装置に転送して表示する手段とを有する請求項1に記載のビット演算制御装置。
【請求項5】 前記PLDに、周期および動作開始エッジのような動作パラメータを設定するハードウエアタイマ手段が組み込まれている請求項1に記載のビット演算制御装置。
【請求項6】 前記PLDに書き込まれた内容を動作中に変更し、あるいは立ち上げ時、内部初期化時および定常処理時のうち少なくとも1以上の段階で回路の構成を変えて演算処理を動作させる請求項1に記載のビット演算制御装置。
【請求項7】 前記PLDが、PLD内部の書き込みデータの読み出しが不可能な保護機能を有する請求項1に記載のビット演算制御装置。
【請求項8】 入力信号に状態を記憶する入力レジスタと出力信号に状態を記憶する出力レジスタをそれぞれテスト演算用と実演算用の2種類有し、テスト演算と実演算を交互に実行させる手段と、テスト演算用の出力レジスタの値を期待値と比較する手段と、比較により不一致が確認された場合処理を停止する手段とを有し、あるいは制御演算結果の出力信号に状態を記憶する結果出力レジスタを2個有し、同一の制御演算を2回行い、その結果をそれぞれの結果出力レジスタに格納する手段と、2個の結果出力レジスタの値を比較してこれらの値の一致を確認する比較手段と、比較により不一致が確認された場合処理を停止する手段を有する請求項1に記載のビット演算制御装置。
【請求項9】 制御演算結果の出力信号に状態を記憶する結果出力レジスタを3個以上の奇数個有し、同一の制御演算を結果出力レジスタの個数回行う手段と、その結果をそれぞれの結果出力レジスタに格納する手段と、全ての結果出力レジスタの出力値から多数決を取る手段とを有し、多数決の結果を外部に出力し、あるいは入力信号に状態を記憶する入力レジスタと出力信号に状態を記憶する出力レジスタとを有し、しかも制御演算部とその制御演算結果の出力信号に状態を記憶する結果出力レジスタとを一組として、これを3組以上の奇数個並列に有し、制御演算を並列に行う手段と、その結果をそれぞれの結果出力レジスタに格納する手段と、全結果出力レジスタの値から多数決を取る手段とを有し、多数決の結果を外部に出力する請求項1に記載のビット演算制御装置。
【請求項10】 同一のビット演算制御装置内または外部装置に複数個のPLDを設け、PLD間で通信する手段と、演算すべき入力データ、PLDの内部状態およびPLDの制御演算部の構成データのうちの少なくとも1種をやり取りする手段とを有するとともに、次の(1)〜(3)のうちのいずれかあるいは複数個を有する請求項1に記載のビット演算制御装置。
(1)制御のマスターとなるPLDが上記通信手段により処理の空いているPLDを探して演算すべき内容を指示する手段(2)演算すべき入力データを全てのPLDで共有したメモリ上に格納する手段と、各PLDが自立的に共有したメモリ上から格納された入力データを取り出しビット演算する手段と、PLDが内部の診断により故障と判断し停止する手段(3)複数個のPLDの制御演算部の構成データを全てのPLDで共有したメモリ上に格納する手段と、各PLDが自立的に共有したメモリ上から格納されたPLDの制御演算部の構成データを読込みビット演算する手段【請求項11】 請求項1〜10のいずれかに記載のビット演算制御装置を備えることを特徴とするプログラマブルロジックコントローラ。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明は、ラダー・プログラムを実行するプログラマブルロジックコントローラに設けられるビット演算処理装置およびこれを備えるプログラマブルロジックコントローラに関する。
【0002】
【従来の技術】従来、シーケンスプログラムを実行することにより各種自動制御機器の自動制御を行うプログラマブルロジックコントローラ(PLC)では、高速演算処理を実現するために、シーケンス命令の中のビット演算を行う専用のビット演算プロセッサ(BP)と、ビット演算以外のシーケンス命令(一般命令)を実行するマイクロプロセッサ(MPU)を内蔵している。
【0003】自動制御のシステムの設計者は、制御システムの設計が従来のリレーシーケンスから、リレーシーケンスを模式化したラダー図と呼ばれるグラフィック型のプログラム上に目的の動作を記述するソフトウエア的設計に設計態様が変化している。
【0004】ラダー図とは、出力に対する信号の組み合わせをa接点やb接点のシンボルとこれらの直列接続、並列接続で記述するものである。
【0005】ラダー図をコンパイルして命令の羅列である命令リスト(IL)に変換する。
【0006】命令リストは、通常デバイスと呼ばれるビットデータの論理和や論理積およびそれらの組み合わせといった論理演算命令と、数値データの演算や転送といった応用演算命令から構成されるが、ラダー図から変換した場合、論理演算命令のみが含まれる。
【0007】この命令リストをプログラマブルロジックデバイス(PLD)内にダウンロード等により格納させ、先頭から一命令ずつ解釈し、ビット演算であればBP(ビット演算プロセッサ)が実行し、一般命令であればMPU(マイクロプロセッサ)が実行する。
【0008】ビット演算プロセッサBPは、1や0の状態を持つ接点情報に対するAND、OR、NOTのようなビット単位の演算に特化されており、MPUで同様な演算を実行する場合に比べ高速である。
【0009】
【発明が解決しようとする課題】ビット演算プロセッサ(BP)はプログラム規模が大きくなるにつれ、動作速度が遅くなり、要求された制御周期内に演算を完了させることが難しくなっている。
【0010】上記BPを使用した場合においても、BPとMPUが命令リストの格納された同一のメモリを参照しながら実行するためMPUとBPが並列実行したとしても、メモリアクセスがネックになって期待される性能の向上は少ない。
【0011】高水準言語プログラムであるインタープリタによるソフト実行では、変更修正が容易という利点はあるが、プログラムを順番に実行しているため、コンパクトに比較すると、プログラム規模が大きくなるにつれ、動作速度が遅くなっている。
【0012】リレー同等の電子的な素子によるハードウエア固定ロジックでは、高速動作が可能であるが、設計後の修正処理・追加が不可能である。
【0013】本発明は、プログラムの変更を保ちながら、高速動作が可能なビット演算制御装置およびこれを備えるプログラマブルロジックコントローラを提供することを目的とする。
【0014】
【課題を解決するための手段】本発明に係るビット演算制御装置は、上述した課題を解決するために、ラダープログラムを実行するプログラマブルロジックコントローラ(PLC)に設けられるビット演算制御装置が、プログラマブルロジックデバイス(PLD)を有し、このPLDは、制御演算を実行する前に、(a)ラダープログラムをコンパイルして命令リストに変換し、この命令リストを等価なデジタル回路データに変換したり、または(b)ラダープログラムの構成部品を回路部品のシンボルとして用いて回路図を作成し、この回路図のデータをラダー構成部品と等価なデジタル回路を用いてデジタル回路データに展開し、前記(a)または(b)で得られたデジタル回路データを現場で書き込みと書き換えが可能な前記PLDの構成データに変換し、このデータの書き込みがなされたPLDで、かつ制御演算の実行時に制御対象からPLDに入力信号を入力する手段と、前記PLDからの出力信号を前記制御対象に出力する手段とを有するものである。
【0015】本発明においては、デジタル回路の設計データをビット演算制御装置に事前に格納しているので、外部メモリへの参照の必要がなく、従来のようなビット演算プロセッサ(BP)とマイクロプロセッサ(MPU)とが命令リストの格納された同一のメモリにアクセスする方式に比べ、高速で演算処理することができる。
【0016】本発明においては、制御の現場で書き込まれた内容の変更・追加などが可能であり、ユーザ側のニーズに容易に対応することができる。また、ラダープログラムがPLD内部で並列的に演算実行されることにより、全演算の中で最大遅延となる出力信号の遅れ時間内に全ビット演算を完了させることが可能となる。
【0017】また、本発明に係るビット演算制御装置は、前記入力信号に状態を記憶する入力レジスタと前記出力信号に状態を記憶する出力レジスタを有するとともに、(1)演算処理の中間信号に状態を記憶する中間レジスタと、演算処理を分割して行なう複数の演算処理ブロックとを設けて演算処理を実行させ、あるいは(2)演算処理を分割して行なう複数の演算処理ブロックを設け、各演算処理ブロックの境界に状態を記憶する境界レジスタを配置し、境界レジスタに取り込むタイミングと境界レジスタから出力するタイミングとを制御するブロック制御論理部を設けて演算処理を分割して実行させるようにしたものである。
【0018】さらに、本発明に係るビット演算制御装置は、PLDの入力部に実入力信号の代わりに任意の模擬入力信号を入力する手段とPLDの出力部に実出力信号の代わりに任意の模擬出力信号を出力する手段を設けるようにしてもよい。
【0019】これにより、任意の入力を加えて演算部の動作の検証を容易に行うことができ、同様に任意の出力値を出力することで、周辺出力回路の動作検証を容易に行うことができる。
【0020】また、本発明に係るビット演算制御装置は、PLDの内部にある入力信号に状態を記憶する入力レジスタと出力信号に状態を記憶する出力レジスタに対し、外部のマイクロプロセッサから任意の値の設定と読み出しをする読出し設定手段を有し、またはこの読出し設定手段に、PLD内部の回路状態を一括して読み出す手段と、ビット演算動作中にこの回路内容を接続されたマイクロプロセッサにより読み出す手段と、読み出された回路内容を外部表示装置に転送して表示する手段とを有するものである。
【0021】これにより、ビット演算制御装置に対しマイクロプロセッサのソフトウエアによる任意のタイミングでの演算の開始や、入出力信号の模擬的入出力の実行と、マイクロプロセッサによる処理との連携処理も可能となる。また、制御動作に影響を与えずにリアルタイムにビット演算の詳細にわたって監視することも可能になる。
【0022】さらに、本発明に係るビット演算制御装置は、PLDに周期および動作開始エッジのような動作パラメータを設定するハードウエアタイマ手段を組み込むようにしたものである。
【0023】これにより、ディレイ、ワンショット、周期パルス、不感帯処理といった時間要素を持った演算処理が可能になる。
【0024】さらに、本発明に係るビット演算制御装置は、PLDに書き込まれた内容を動作中に変更し、あるいは立ち上げ時、内部初期化時および定常処理時のうち少なくとも1以上の段階で回路の構成を変えて演算処理を動作させるようにしてもよい。
【0025】これにより、時分割で異なる演算処理を動作させることができ、小規模のPLDであっても大規模のビット演算が可能になる。また、回路構成をその都度変えることでPLDの規模を縮小することができる。
【0026】さらにまた、本発明に係るビット演算制御装置は、PLDが、PLD内部の書き込みデータの読み出しが不可能な保護機能を有するようにすることができる。
【0027】これにより、制御処理の内容を第三者から参照されることを防ぐことができる。
【0028】一方、本発明に係るビット演算制御装置は、入力信号に状態を記憶する入力レジスタと出力信号に状態を記憶する出力レジスタをそれぞれテスト演算用と実演算用の2種類有し、テスト演算と実演算を交互に実行させる手段と、テスト演算用の出力レジスタの値を期待値と比較する手段と、比較により不一致が確認された場合処理を停止する手段とを有し、あるいは制御演算結果の出力信号に状態を記憶する結果出力レジスタを2個有し、同一の制御演算を2回行い、その結果をそれぞれの結果出力レジスタに格納する手段と、2個の結果出力レジスタの値を比較してこれらの値の一致を確認する比較手段と、比較により不一致が確認された場合処理を停止する手段を有するようにしてもよい。
【0029】これにより、回路の故障やノイズ等による誤動作を減らし、制御の信頼性を向上させることができる。
【0030】また、本発明に係るビット演算制御装置は、制御演算結果の出力信号に状態を記憶する結果出力レジスタを3個以上の奇数個有し、同一の制御演算を結果出力レジスタの個数回行う手段と、その結果をそれぞれの結果出力レジスタに格納する手段と、全ての結果出力レジスタの出力値から多数決を取る手段とを有し、多数決の結果を外部に出力し、あるいは入力信号に状態を記憶する入力レジスタと出力信号に状態を記憶する出力レジスタとを有し、しかも制御演算部とその制御演算結果の出力信号に状態を記憶する結果出力レジスタとを一組として、これを3組以上の奇数個並列に有し、制御演算を並列に行う手段と、その結果をそれぞれの結果出力レジスタに格納する手段と、全結果出力レジスタの値から多数決を取る手段とを有し、多数決の結果を外部に出力するようにすることができる。
【0031】これにより、ノイズ等により一時的に演算が異常になっても、あるいは一部の回路が異常になっても継続して正しい制御ができる。
【0032】さらに、本発明に係るビット演算制御装置は、同一のビット演算制御装置内または外部装置に複数個のPLDを設け、PLD間で通信する手段と、演算すべき入力データ、PLDの内部状態およびPLDの制御演算部の構成データのうちの少なくとも1種をやり取りする手段とを有するとともに、次の(1)〜(3)のうちのいずれかあるいは複数個を有することができる。
【0033】(1)制御のマスターとなるPLDが上記通信手段により処理の空いているPLDを探して演算すべき内容を指示する手段(2)演算すべき入力データを全てのPLDで共有したメモリ上に格納する手段と、各PLDが自立的に共有したメモリ上から格納された入力データを取り出しビット演算する手段と、PLDが内部の診断により故障と判断し停止する手段(3)複数個のPLDの制御演算部の構成データを全てのPLDで共有したメモリ上に格納する手段と、各PLDが自立的に共有したメモリ上から格納されたPLDの制御演算部の構成データを読込みビット演算する手段このような構成とすることにより、同一制御装置内または外部装置に複数個のPLDを持ち、個々に異なる処理を行いつつ強調動作をすることが可能になる。
【0034】また、各PLDが自立的に共有したメモリ上から格納された入力データやPLDの演算部構成データの取り出しや読込みをすることにより、マスターPLDが不要となり、一部のPLDが故障しても自動的に他のPLDに処理が引き継がれる。
【0035】本発明に係るプログラマブルロジックコントローラ(PLC)は、前記ビット演算制御装置を備えたものである。
【0036】上記ビット演算制御装置を備えることにより、高速演算処理が実現でき、また設計後の処理変更にも容易に対応できる。
【0037】
【発明の実施の形態】本発明に係るビット演算制御装置の実施の形態について、添付図面を参照して説明する。
【0038】本発明に係るビット演算制御装置は、ラダープログラムを実行するプログラマブルロジックコントローラ(PLC)に設けられるビット演算処理装置であり、このビット演算制御装置10はプログラマブルロジックデバイス(PLD)と呼ばれる、制御する現場でもその都度書き込みと書き換えが可能なユーザ回路を持つ半導体素子を有する。前記ラダープログラムを実行するプログラマブルロジックコントローラ(PLC)としては、例えば、ラダープログラムをコンパイルして命令リストに変換し、その命令リストに基づいて、あるいは命令リストへの変換を介さず、回路図データから直接的に作成されるデジタル回路データに基づいて、プログラム可能デバイスとしてのPLDにマッピングし、ビット演算処理を行なうPLCが挙げられる。
【0039】PLD(プログラマブルロジックデバイス)は、制御演算を実行する以前に、(a)ラダー図形式で設計されたラダー設計データを命令リストデータに変換し、この命令リストデータを等価な処理をするデジタル回路のデータに変換したり、または(b)グラフィカルな回路図設計ツールを使用し、ラダープログラムの構成部品を回路部品のシンボルとして用いて回路図を作成することで制御システムの設計を行い、この回路図のデータを事前に用意したラダー構成部品と等価なデジタル回路を用いて展開することでデジタル回路のデータを作成し、前記(a)または(b)で得られたデジタル回路データをさらに現場で書き込みと書き換えが可能なPLDの構成データに変換し、このデータの書き込みが行なわれる。
【0040】このように、本発明に係るビット演算制御装置においては、予めPLDに制御システムの設計データを格納しているので、外部メモリへの参照の必要がなく、高速で制御システムのシステム設計を演算処理することができる。また、PLDは、書き込まれた内容の変更・追加などが可能であるので、演算処理が異なる場合、書き込まれた回路構成などをその都度変えることにより制御システムのシステム設計の変更に容易に対応することができる。また、現場などで動作を確認しながらラダープログラムを変更し、PLDの内容を書き換えることができるため、柔軟な制御システムの設計変更が可能である。
【0041】図1および図2は、本発明に係るビット演算制御装置に用いられるラダープログラムによる設計フローを示す図である。図1は、ラダー図形式で作成されたラダー設計データを使った例を示し、図2は、ラダープログラムの構成部品をシンボルとして用いて作成された回路図データを使った例を示す。
【0042】まず、図1のビット演算制御装置に係るラダープログラムによる設計フローに基づいて説明する。
【0043】制御システムの設計者は、制御システムのシステム設計を行なうために、ラダー図形式で設計が可能なCAD等の設計ツールを使用してビット演算プログラム用のラダー設計データAを作成する。
【0044】続いて、作成されたラダー設計データAは論理演算命令と応用演算命令から構成される命令リストの変換処理Bを行い、ラダー設計データAと等価な命令リスト(IL)データCに変換する。
【0045】変換された命令リスト(IL)データCは、等価回路変換Dにより、命令リストと等価なデジタル回路データEに変換される。
【0046】ラダー図のラダー設計データから等価に変換された命令リストはビットデータに対する論理和と論理積から構成されるため、命令リストの1命令毎に一対一でデジタル回路に容易に変換できる。デジタル回路データEの形式としては、後工程のPLDの配置配線処理Fの入力形式に対応する必要があるが、汎用の形式として、EDIF(Electronic Design Interchange Format)が一般的である。
【0047】次に、変換したデジタル回路データEに情報入出力用付加回路を組み込む。具体的には、変換したデジタル回路データEと予め用意された入出力回路のデータや保持回路のデータGとを組み合わせ、PLD処理用ツールにてPLD(プログラマブルロジックデバイス)の配置配線を組み込む配置配線処理Fを行い、PLDに書き込むデータ(PLD書き込みデータ)Hを生成する。このPLD書き込みデータHはPLD用ダウンロードデータである。PLDの配置配線処理Fには、PLDの種類に応じた市販されている処理ツールを使用することができる。
【0048】続いて、PLDの配置配線処理で生成されたPLD書き込みデータHを、PLDの種類に応じた書き込みツールを用いてPLDに書き込み処理Iを行うと、PLDは書き込まれた回路に従い目的とする制御動作が行なわれる。
【0049】図2に示す設計フローでは、制御システム設計者は、制御システムの回路図の設計ツールJを使い、回路部品のデータとしてラダーシンボルデータ(ラダープログラムの構成部品データ)Kを用いて、ラダー図形式で制御システムを設計し、回路図データLを作成する。
【0050】次に、作成されたラダー図形式の回路図データLを等価回路変換Mにより、ラダー論理対応データNを参照して回路図データLを等価なデジタル回路データEに変換する。
【0051】ラダー論理対応データNには、ラダーシンボルデータKと1対1に対応した、単純なデジタル回路の組み合わせで記述された回路が格納されている。
【0052】上記等価回路変換Mにより、設計データ全体がデジタル回路の組み合わせに展開することができる。このような設計方式によれば、図1で示すような命令リスト(IL)への変換を介さずに、直接的に回路図データからデジタル回路データEを作成することができる。
【0053】次に、変換したデジタル回路データEと、予め用意した入出力回路データ・保持回路データGとを組み合わせて、PLD(プログラマブルロジックデバイス)の配置配線処理Fを行い、PLD書き込みデータHを生成する。
【0054】配置配線処理Fには、PLDの種類に応じた市販されている処理ツールが使用できる。続いて、生成されたPLD書き込みデータHを、PLDの種類に応じた書き込みツールを使ってPLDに書き込み処理Iを行うと、PLDは書き込まれた回路に従い動作するようになる。
【0055】このように、本発明に係るビット演算制御装置においてはPLDは、図1または図2の設計フローに示すように、事前に制御システムの回路が書き込まれ、制御演算を実行する時には、このPLDの入力端子に制御する対象から入力データを加えることによりビット演算が実行され、このビット演算によるPLDからの出力を制御対象に出力する。
【0056】本発明のビット演算制御装置においては、事前にPLDに制御システムのシステム回路が書き込まれ、ラダープログラムがPLD内部で並列的に演算実行され、ラダープログラムの中間データはPLDの内部回路に保持されることにより、外部メモリへの参照が全く発生しない。そのため、ビット演算制御装置の制御演算速度は、回路上並列化された演算の中で、最大遅延時間となる回路の出力信号のみに依存し、この出力信号の遅れ時間内に全てのビット演算を完了させることができる。また、並列化の度合に応じて最大遅延時間を短くできるのでより高速処理が可能となる。
【0057】本発明のビット演算制御装置においては、制御演算を実行する前に、PLD書き込みデータ(現場でもユーザ回路の書き込みと書き換えが可能なデータ)HをPLD素子に書き込む手段と、制御演算を実行する時に入力データをPLDに加える手段と、PLDからの出力を制御対象に出力する手段とを有する構成であればよい。
【0058】例えば、PLD書き込みデータHをPLDに書き込む手段(制御現場にてPLD素子に書き込む手段)をビット演算制御装置内に設けて、それ以外のラダープログラムからPLD書き込みデータHへの変換までの一連の設計に要する手段を別個に設けることもできる。この一連の設計に要する手段あるいはその一部や大部分をビット演算制御装置内に設けるようにしてもよい。制御を行う現場などで動作を確認しながらラダープログラムを変更する場合などを考慮すると、上記一連の設計に要する手段あるいはその一部や大部分をビット演算制御装置内に設けることが好ましい。
【0059】例えば、PLD書き込みデータHをPLDに書き込む手段、制御演算を実行する時に入力データをPLDに加える手段およびPLDからの出力を制御対象に出力する手段とともに、制御演算の実行前に、ラダープログラムをコンパイルして変換した命令リストを命令リストと等価なデジタル回路データHに変換する手段、デジタル回路データEをPLD書き込みデータHに変換する手段もビット演算制御装置内に設けるようにしてもよい。
【0060】また、PLD書き込みデータHをPLDに書き込む手段、制御演算を実行する時に入力データを該PLDに加える手段およびPLDからの出力を制御対象に出力する手段とともに、制御演算の実行前に、ラダープログラムの構成部品を回路部品のシンボルとして用いて回路図を作成する手段、回路図のデータを事前に用意したラダー構成部品と等価なデジタル回路を用いてデジタル回路データに展開する手段およびデジタル回路データをPLD書き込みデータHに変換する手段をビット演算制御装置内に設けるようにしてもよい。
【0061】次に、図1または図2に示す設計フローに基づいて書き込みがなされたPLDを用いるビット演算制御装置の第1実施例を図3に示す。
【0062】図3は、本発明のビット演算制御装置の構成例を示すブロック図である。
【0063】ビット演算制御装置10は、演算本体であるPLD(プラズマブルロジックデバイス)あるいはPLD素子11と制御された周期毎の演算を実現するための演算周期発生部12から構成される。
【0064】PLD素子11には、図1または図2に示された設計フローによるPLD設計データ(PLD書き込みデータ)Hが書き込まれている。ビット演算制御装置10は、制御対象15と接続され、入力信号aと出力信号bのやりとりが行なわれる。
【0065】PLD素子11は、ラダー論理等価回路16と入力回路17と出力回路18とデータ保持回路19から構成されている。
【0066】入力回路17と出力回路18とデータ保持回路19は、フリップフロップデジタル素子のようなクロック信号を使ったデータ保持素子により、それらの回路動作が実現されている。
【0067】制御対象15からの入力信号aは、演算周期発生部12からのタイミング信号cにより、入力回路17に取り込まれ保持される。外部に出力されない内部の状況および中間値などはデータ保持回路19に、演算周期発生部12からのタイミング信号Cにより取り込まれ保持される。
【0068】ラダー論理等価回路16は、入力回路17の出力信号dとデータ保持回路14の出力信号eを入力として、書き込まれたラダープログラムに等価な論理を処理し、内部の遅延時間経過後、出力回路18およびデータ保持回路19に出力信号f,gとしてそれぞれ出力される。
【0069】ビット演算制御装置10の内部の遅延時間は、書き込まれたラダープログラム等価論理の複雑さにより左右され、その最大遅延は、PLD(素子)11の配置配線処理Fの段階で予測することができる。最大遅延は、制御された周期時間から入力回路17の遅延時間と出力回路18のフリップフロップのセットアップ時間を引いた時間より小さい時間でなければ正しく動作しない。
【0070】出力回路18では、入力回路17と同様に、演算周期発生部12からのタイミング信号cにより、ラダー論理等価回路16の出力fが取り込まれ保持され、また出力信号bを制御対象15に出力する。PLD素子11に高速PLDを用いることで、1msec以下の制御周期を得ることができる。PLD素子11は高性能CPUに較べ高価である。
【0071】ビット演算制御装置10は制御周期発生部12からの一つのタイミング信号cでデータ保持機構であるデータ保持回路19を動作させているため、出力回路18からの出力信号bは、入力回路17への1タイミング前の入力信号aに基づいた信号となる。
【0072】ビット演算制御装置10においては、全演算の中で最大遅延となる出力信号の遅れ時間内に全ビット演算を完了させるため、図4および図5に示すように、ラダープログラムがPLD素子11の内部で並列的に実行されることが好ましい。この並列的な実行としては、演算処理を分割して、一度に複数の処理を実行することができる、パイプライン化と呼ばれるような分割実行が挙げられる。分割された各演算処理ブロック16a,16b,16cは、図5に示すように必ずしも並列的に設ける必要はなく、図4に示すように各演算処理ブロック16a,16bを直列的に設けることもできる。
【0073】図4および図5にビット演算制御装置の第2および第3実施例の機能ブロック図の例をそれぞれ示す。具体的には、ビット演算制御装置10において、入力信号aに状態を記憶する入力レジスタとしての入力回路16と出力信号bに状態を記憶する出力レジスタとしての出力回路18とを設けるとともに、(1)図4に示すように演算処理の中間信号に状態を記憶する中間レジスタとしてのデータ保持回路19と、演算処理を分割して複数の演算処理ブロック16a,16bをラダー論理等価回路16に設けて演算を実行させることにより、あるいは(2)図5に示すように、演算処理を分割して行なう複数の演算処理ブロック16a,16b,16cのラダー論理等価回路16に設け、各演算処理ブロック16a,16b,16cの境界に状態を記憶する境界レジスタ24a,24b,24cを配置し、境界レジスタ24a,24b,24cに取り込むタイミングと境界レジスタ24a,24b,24cから出力するタイミングとを制御するブロック制御部26を設けて演算を分割して実行させることにより行うことができる。
【0074】図4に示された第2実施例のビット演算制御装置10は、中間レジスタ22を設けて演算処理を分割実行する例を示すPLD素子11内部のブロック図である。
【0075】図4に示すように、PLD素子11Aは、入力信号に状態を記憶する入力レジスタとしての入力回路17と、前段の演算処理ブロックであるラダー論理等価回路16aと、演算処理の中間信号に状態を記憶する中間レジスタとしての中間データ保持回路22と、後段の演算処理ブロックであるラダー論理等価回路16bと、出力信号に状態を記憶する出力レジスタとしての出力回路18から構成されている。
【0076】中間レジスタ22の設置に当っては、PLD素子11Aの演算本体で遅延時間の大きな信号についての中間信号に付加させるようにすることが好ましい。
【0077】ラダー論理等価回路16aとラダー論理等価回路16bは、図3に示されたラダー論理等価回路16の処理を2分割させた演算処理ブロックを構成しており、個々の演算処理ブロック16a,16bで最大の遅延時間を低減させている。この低減により、演算周期発生部12において、制御周期時間を高速化することができる。
【0078】さらに、中間レジスタとしての中間データ保持回路22の数を増やすことで、より多くの段数でラダー論理等価回路16の分割が可能になる。ラダー論理等価回路16の分割段数は、中間レジスタである中間データ保持回路22の数プラス1個である。
【0079】ラダー論理等価回路16の処理を分割した場合、入力信号aから出力信号bへの遅延時間は、[演算周期×(分割段数+1)]となる。
【0080】このように、ラダー論理等価回路16の演算処理を分割して実行することにより、見かけ上の遅延時間を減らし、次々に入力信号aを与えることが可能になり、演算のスループットを向上させることができる。
【0081】図5は、本発明のビット演算制御装置10の第3実施例において、例えば、境界レジスタ24a,24b,24cを設けて演算処理を並列的に分割実行する例を示すPLD素子11B内部のブロック図である。
【0082】図5に示すように、PLD素子11Bは、入力回路17と、各演算処理ブロック16a,16b,16cの境界に状態を記憶する境界レジスタ24a,24b,24cと、演算処理ブロックとしてのラダー論理等価回路16a,16b,16cと、出力回路18と、境界レジスタ24a,24b,24cに取り込むタイミングと境界レジスタ24a,24b,24cから出力するタイミングとを制御するタイミング制御部としてのブロック制御論理部25から構成されている。
【0083】境界レジスタ24a,24b,24cは、入力値dと帰還値hを、ブロック制御論理部25からの境界制御信号i1,i2,i3のタイミングで、境界レジスタ24a,24b,24cに取り込んだり、ラダー論理等価回路16a,16b,16cに伝搬する機能を持つ。
【0084】入力回路12は、図3の説明で述べた演算周期発生部12からのタイミング信号cにより、入力信号aを取り込んで保持し、境界レジスタ24a,24b,24cに出力する。出力回路18も同様に、演算周期発生部12からのタイミング信号cにより、ラダー論理等価回路16a,16b,16cからの出力信号fを取り込んで保持し、出力回路18から出力信号bを制御対象15に出力するようになっている。
【0085】このビット演算制御装置10で制御システムの設計に当っては、次の設計方法を採用できる。
【0086】PLDBでは、図1で述べたラダー設計データAを処理タイミングまたは時系列順にブロックに分割しデジタル回路データEを複数生成する。もしくは、予め処理順番毎に分けて設計した複数のラダー設計データAからデジタル回路データEを複数生成する。さらに、処理の順序を制御するブロック制御論理部26をラダープログラム等により設計しデジタル回路データEを生成する。それらのデジタル回路データEを合わせて、PLD書き込みデータHに変換しPLD書き込み処理Iを行う。
【0087】このような制御システムとすることにより、ブロック間の動作の関係が明確になり、プログラム設計が容易になる。
【0088】また、本発明のビット演算制御装置10においては、図6の第4実施例で示すように、演算部の動作検証や周辺出力回路の動作検証を行う手段26を備えることが好ましい。
【0089】例えば、ビット演算制御装置10において、PLD素子11Cの入力部に信号切換部30を介して実入力信号の代わりに任意の模擬入力信号jを入力する手段28とPLD素子11Cの出力部に実出力信号の代わりに任意の模擬出力信号lを出力する手段29を有することにより、上記動作検証を行うことができる。動作検証手段26はラダー論理等価回路16の演算処理を検証するもので、模擬入力手段28と模擬出力手段29を備えている。
【0090】図6に示されたビット演算制御装置10は、動作検証手段35を設けた例を示すPLD素子11C内部のブロック図である。
【0091】図6に示したように、PLD素子11Cは、入力回路17と、入力信号切換部30と、ラダー論理等価回路16と、出力回路18と、出力信号切換部31とから構成される。
【0092】入力信号切換部30には、通常の入力信号a以外に模擬入力手段28から模擬入力信号(模擬入力値)jが加わり、入力模擬選択信号kによって切り換えられる。
【0093】出力信号切換部31には、通常の出力信号bと模擬出力手段29からの模擬出力信号(模擬出力値)lが加わり、出力模擬選択信号mによって切り換えられる。
【0094】ラダー論理等価回路16の演算処理動作を動作検証手段35で検証する場合、任意の値を模擬入力値(模擬入力信号)lに加えることで、ラダー論理等価回路16の制御動作を確認することができる。また、任意の値を模擬出力値mに加えることで、制御対象の動作を直接指示して確認することができる。
【0095】このような模擬検証手段26を設けることにより、ラダー論理等価回路16の演算部の動作検証を容易に行うことができ、周辺出力回路18の動作検証を容易に行うことができる。
【0096】また、図7は、本発明のビット演算制御装置10にマイクロプロセッサ33を連携させた第5実施例を示すPLD素子11D内部のブロック図である。図7に示されたビット演算制御装置10は、マイクロプロセッサ(MPU)33を用いることで、任意のタイミングでの演算の開始と結果の出力を行なったり、動作検証などの目的で模擬的入出力の実行やマイクロプロセッサ33による処理との連携処理なども行うことができる。
【0097】例えば、図7のビット演算制御装置10において、PLD素子11D内部にある入力信号dに状態を記憶する入力レジスタとしての入力回路17と出力信号fに状態を記憶する出力レジスタとしての出力回路18に対し、外部のマイクロプロセッサ33から任意の値の設定と読み出しをする手段34を有し、またはこの読出し設定手段34に加えて、PLD素子11D内部の回路状態を一括して読み出す手段と、ビット演算動作中にこの回路内容を接続されたマイクロプロセッサ33により読み出す手段と、読み出した回路内容を外部表示装置に転送して表示する手段とを有することにより、上記機能が実現される。
【0098】図7に示すように、演算本体であるPLD素子11Dとビット演算制御装置10の全体を制御するマイクロプロセッサ33とから構成される。
【0099】PLD素子11Dには、前記設計フローによるPLD設計データ(PLD書き込みデータ)Hが書き込まれている。マイクロプロセッサ33は、入力装置35と出力装置36により、制御対象15と接続されている。
【0100】PLD素子11Dは、ラダー論理等価回路16と、入力レジスタとしての入力回路17と、出力レジスタとしての出力回路18と、アドレスデコーダ回路37と、バスバッファ38a,38bとから構成されている。
【0101】入力回路17と出力回路18は、バス信号nとアドレスデコーダ回路37からの制御信号O1,O2;P1,P2により、マイクロプロセッサ33から任意の値の設定と読み出しが可能であり、読出し設定手段34をアドレスコーダ37とマイクロプロセッサ33から構成している。マイクロプロセッサ33のソフトウエアにより任意のタイミングで、入力回路17に値を設定してビット演算を開始することができる。
【0102】また、他のビット演算の途中であっても、読出し設定手段34はマイクロプロセッサ(MPU)33のソフトウエアにより入力回路12または出力回路18に任意の値を設定して、模擬的に入出力信号を入出力する機能が実現できる。また、PLD素子11Dによるビット演算処理とマイクロプロセッサ33によるソフトウエア処理との連携により、数値データの演算や転送といった応用演算命令を含んだ実行も可能になる。
【0103】このビット演算制御装置10においては、PLD素子11D内部の入力レジスタ17と出力レジスタ18に対し外部のマイクロプロセッサ33から読出し設定手段34で任意の値の設定と読み出しを行なう場合、演算動作中にPLD素子11D内部の回路状態を読み出して、読み出された回路状態を外部表示装置に表示するようにしてもよい。
【0104】例えば、読出し設定手段34はスキャン回路のようなPLD素子11D内部の回路状態を一括して読み出す手段と、ビット演算動作中にPLD素子11Dの回路内容を接続されたマイクロプロセッサ33により読み出す手段と、読み出したPLD素子11D内部の回路内容をエンジニアリングツール等の外部表示装置に転送してリアルタイムに表示する手段とを備える。
【0105】PLD素子11D内部の回路状態を一括して読み出す手段は、例えば、設計回路のデータにスキャン回路(図示せず)を付加してPLD素子11Dに書き込むことで得られる。図1に示したラダー設計データAを作成する際に、PLD素子11Dの内部の回路状態を一括して読み出す機能を有するスキャン回路も加えて作成して、PLD素子11Dに書き込む。または、スキャン回路を、設計回路のデータとは別個に、ラダープログラム等により設計しデジタル回路データEを生成して、スキャンと設計回路のデータのデジタル回路データEを合わせて、PLD書き込みデータHに変換しPLDに書き込み処理Lを行うようにしてもよい。
【0106】スキャン回路は、マイクロプロセッサ33からのバス信号nと、アドレスデコーダ回路37からの制御信号O1,O2;P1,P2により、マイクロプロセッサ33から読み出しが可能である。マイクロプロセッサ33のソフトウエアにより読み出した回路内容をエンジニアリングツール等の表示手段である外部表示装置に転送してリアルタイムに表示する。
【0107】これにより、制御動作に影響を与えずにリアルタイムにビット演算の詳細を監視することができる。
【0108】このビット演算制御装置10において、PLD素子11Dに周期および動作開始エッジのような動作パラメータを設定するハードウエアタイマ手段を組み込むことができる。
【0109】このハードウエアタイマ手段は、例えば、図1に示したデジタル回路データEの中にハードウエアタイマを組み込むことで実現される。
【0110】これにより、ディレイ、ワンショット、周期パルスおよび不感帯処理というような時間要素を有する演算処理を実現することができる。
【0111】また、このビット演算制御装置10においては、時分割で異なる演算処理にも対応することができる。
【0112】例えば、PLD素子11Dに書き込まれた内容を動作中に変更することで、時分割で異なる演算処理を動作させることができる。これにより、小規模のPLD素子11Dであっても大規模のビット演算が可能になる。
【0113】また、制御システムの特性により、立ち上げ時、内部初期化時および定常処理時で演算内容が異なる場合に、そのうちの少なくとも1以上の段階で回路の構成を変えて演算処理を動作させることができる。回路構成をその都度変えることによりPLD素子11Dの規模を縮小することができる。
【0114】さらに、ビット演算制御装置10は、図8の第6実施例に示すように、PLD素子11Fに内部書き込みデータの読み出しが不可能な保護機能を有するPLD素子11Eを用いてもよい。
【0115】このようなPLD素子11Eを使用することで、内部の制御論理や動作を見ることができず、制御処理の内容を第三者から参照されることを防ぐことができる。
【0116】このビット演算制御装置10においては、ノイズ等による誤動作に対応できる手段を備えていることが好ましい。
【0117】例えば、ビット演算制御装置10において、入力信号aに状態を記憶する入力レジスタとしての入力回路17a,17bと出力信号bに状態を記憶する出力レジスタ18a,18bをそれぞれテスト演算用と実演算用との二種類を有し、テスト演算と実演算を交互に行う手段12と、テスト演算用の出力レジスタ18aの値を期待値と比較する手段40と、比較により不一致が確認された場合処理を停止する手段とを有する。また、ビット演算制御装置10はラダー論理等価回路16で演算処理された制御演算結果の出力信号fに状態を記憶する出力レジスタ18a,18bを2個有し、同一の制御演算を2回行い、その結果をそれぞれの結果出力レジスタに格納する手段と、2個の結果出力レジスタの値を比較してこれらの値の一致を確認する比較手段と、比較により不一致が確認された場合処理を停止させる処理停止手段41を有することにより誤動作に対応することができる。
【0118】図8は、このビット演算制御装置10において、テスト演算と実演算を交互に行う手段を設けた第7実施例を示すPLD素子11F内部のブロック図である。
【0119】図8に示すように、PLD素子11Eは、入力信号aに状態を記憶する実演算用の入力レジスタとしての入力回路17bと、テスト用の入力レジスタとしての入力回路17aと、ラダー論理等価回路16と、出力信号bに状態を記憶する実演算用の出力レジスタとしての出力回路18bと、テスト用の出力レジスタとしての出力回路18aと、テスト演算用の出力レジスタの値を期待値と比較する手段としての比較回路40から構成されている。
【0120】演算周期発生部12(図1参照)からの制御(演算)周期信号cにより、入力回路12aおよび出力回路13bと、入力回路12bおよび出力回路13bを選択的に動作させて、テスト演算と実演算とを交互に行わせる。演算周期発生部12は、テスト演算と実演算を交互に行なう手段を構成している。
【0121】テスト演算用の入力信号a1が、演算周期信号cにより、入力回路17aに取り込まれて保持され、ラダー論理等価回路16に出力されて、演算処理される。ラダー論理等価回路16の出力は、演算周期信号cにより、出力回路18aに取り込まれて保持され、次いで、比較回路40に出力される。比較回路40では、出力回路18aの出力値が期待値と一致することを確認し、出力信号b1を出力する。
【0122】このテスト演算が終了すると、実演算を実施する。
【0123】実演算では制御対象からの通常の入力信号aは、演算周期信号cにより、入力回路17bに取り込まれて保持される。上記入力信号aは出力信号dとなってラダー論理等価回路16に出力され、演算処理される。出力回路18bは、演算周期信号cにより、ラダー論理等価回路16の出力を取り込んで保持し、出力信号bを制御対象15(図3参照)に出力するようになっている。
【0124】このような実演算が終了すると、上記のテスト演算を再び実施される。同様にして実演算とテスト演算とが交互に実施される。そして、比較回路40で、出力回路18aの出力値が期待値と一致しないことを確認したとき、PLD素子11F、ひいてはラダー論理等価回路16の回路故障として故障信号gを処理停止手段41に出力して、処理動作を停止させる。
【0125】これにより、ビット演算制御装置10の回路の故障等による誤動作を減らし、制御の信頼性を向上させることができる。
【0126】図9は、本発明のビット演算制御装置10において、2回の同一制御演算結果値を比較する手段44を設けた例を示すPLD素子11F内部のブロック図である。
【0127】図9では、ビット演算制御装置10のPLD素子11Fは、入力回路17と、ラダー論理等価回路16と、制御演算結果の出力信号に状態を記憶する結果出力レジスタとしての結果保持回路43a,43bと、2個の結果出力レジスタの値を比較する手段としての比較回路64と、比較回路からの結果出力信号に状態を記憶する出力レジスタとしての出力回路18と、順序制御部45とから構成される。
【0128】制御対象15(図3参照)からの入力信号aは、演算周期発生部12からの演算周期信号cにより、入力回路17に取り込まれて保持される。この入力信号aは入力回路17からの出力信号dとなって、ラダー論理等価回路16に出力され、制御演算が行われる。
【0129】ラダー論理等価回路16からの結果出力信号fは、順序制御部45からの結果読み取り信号r1,r2により異なるタイミングで、結果保持回路43a,43bに取り込まれる。結果保持回路43a,43bに取り込まれた結果値は、正常時は全く同じ値になるが、電気的なノイズなどにより異なった結果となることもあり得る。結果保持回路43a,43bからの出力信号s1,s2を比較回路44に入力して相互に比較され、出力信号s1,s2の値が一致することを確認し、その一致した出力値を出力回路18に一旦保持して外部に出力する。不一致の場合は、ビット演算制御装置10の回路の故障として故障信号tを処理停止手段41に出力して、処理動作を停止させる。
【0130】一方、PLD素子11Fの順序制御部45は、制御周期信号cの期間内に、結果取り込み信号r1,r2を出力する必要があるが、ラダー論理等価回路16の遅延時間以降の制御周期の終わりまでの時間を均等割した時間毎に出力すると互いの保持信号が独立しノイズ除去効果が大きい。
【0131】これにより、ノイズ等による誤動作を回避することができる。
【0132】図10はビット演算制御装置の第8実施例を示すもので、この実施例ではこのビット演算制御装置10が、複数回の同一の制御演算の結果値の多数決を取る手段48を設けた例を示すPLD11G内部のブロック図であり、ビット演算制御装置10は一時的に演算が異常になっても継続して制御できるようにしたものである。
【0133】図10に示されたビット演算制御装置10は、ラダー論理等価回路16の制御演算結果の出力信号gに状態を記憶する結果出力レジスタとしての結果保持回路47a,47b,47cを3個以上の奇数個有し、同一の制御演算信号を結果出力レジスタ47a,47b,47cにそれぞれ入力させる手段としての順序制御回路45と、制御演算結果をそれぞれの結果出力レジスタに格納する手段48と、全結果出力レジスタの値から多数決を取る手段としての多数決回路49とを有し、多数決の結果を外部に出力し、あるいは入力信号aに状態を記憶する入力レジスタとしての入力回路17と出力信号bに状態を記憶する出力レジスタとしての出力回路18とを有する。
【0134】ビット演算制御装置10は、制御演算を並列に行って結果値の多数決をとる手段49を設けた例を示す。このビット演算制御装置10はPLD素子11Gの内部に、入力回路17と、ラダー論理等価回路16と、制御演算結果の出力信号g1,g2,g3に状態を記憶する結果出力レジスタとしての結果保持回路47a,47b,47cと、全結果出力レジスタからの出力値v1,v2,v3から多数決を取る手段としての多数決回路48と、ラダー論理等価回路16からの制御演算信号gを異なるタイミングで入力させる順序制御部45とから構成されている。
【0135】ラダー論理等価回路16からの結果出力信号gは、順序制御部45からの結果取り込み信号u1,u2,u3により異なるタイミングで、結果保持回路47a,47b,47cに取り込まれる。結果保持回路47a,47b,47cに取り込まれた結果値は、正常時はまったく同じ値になるが、電気的ノイズなどにより異なった結果となることがあり得る。
【0136】結果保持回路47a,47b,47cからの出力各v1,v2,v3を多数決回路48により多数決をとり、その結果を出力回路18に保持して外部に出力する。順序制御部45は、制御周期信号cの期間内に、結果取り込み信号u1,u2,u3を出力する必要があるが、ラダー論理等価回路16の遅延時間以降の制御周期の終わりまでの時間を均等割した時間毎に出力すると互いの保持信号が独立しノイズ除去効果が大きい。
【0137】このように、演算処理の結果値の多数決をとることにより、ノイズ等により一時的にPLD素子11Hの演算が異常になっても継続して制御が可能になる。
【0138】図11は、本発明に係るビット演算制御装置の第9実施例を示すもので、PLD素子11H内部のブロック図である。この実施例に示されたビット演算制御装置10は、制御演算部であるラダー論理等価回路16a,16b,16cと、その制御演算結果の出力信号g1,g2,g3に制御演算部であるラダー論理等投下回路16a,16b,16cとその制御演算の結果の出力状態を記憶する結果出力レジスタ47a,47b,47cとを一組として、3組以上の奇数組並列に備えて制御演算を並列に行う手段50と、その結果をそれぞれの結果出力レジスタに格納する手段45と、全結果出力レジスタ47a,47b,47cの値から多数決を取る手段48とを有し、多数決の結果を外部に出力することにより、継続した制御を実現するようにしたものである。
【0139】図11に示されたビット演算制御装置10には、制御演算を並列に行って結果値の多数決をとる手段49を設けた例を示すこのビット演算制御装置10はPLD素子11Hの内部に、入力回路17と、ラダー論理等価回路16a,16b,16cと、制御演算結果の出力信号g1,g2,g3に状態を記憶する結果出力レジスタとしての結果保持回路47a,47b,47cと、全結果出力レジスタからの出力値v1,v2,v3から多数決を取る手段としての多数決回路48と、結果保持回路47a,47b,47cにラダー論理等価回路16a,16b,16cからの制御演算信号gを異なるタイミングで入力させる順序制御部45とから構成されている。
【0140】ラダー論理等価回路16a,16b,16cからの結果出力信号g1,g2,g3は、順序制御部45からの結果取り込み信号u1,u2,u3により異なるタイミングで、結果保持回路47a,47b,47cに取り込まれる。
【0141】結果保持回路47a,47b,47cからの各出力v1,v2,v3を多数決回路48により多数決をとり、その結果を出力回路18に保持して外部に出力する。順序制御部45は、制御周期信号cの期間内に、結果取り込み信号u1,u2,u3を出力する必要があるが、ラダー論理等価回路16の遅延時間以降の制御周期の終わりまでの時間を均等割した時間毎に出力すると互いの保持信号が独立しノイズ除去効果が大きい。
【0142】ラダー論理等価回路16a,16b,16cには、それぞれ全く同一のビット演算論理となっていて、正常時は同一の値を出力するが、ラダー論理等回路16a,16b,16cの回路の部分的故障や電気的ノイズなどにより異なった結果となることがあり得る。ラダー論理等価回路16a,16b,16cからの出力g1,g2,g3は結果保持回路47a,47b,47cに取り込まれ、その出力v1,v2,v3を多数決回路48に送ってここで多数決をとり、その結果を出力回路18に保持して外部に出力する。
【0143】このように、ラダー論理等回路16a,16b,16cの演算処理の結果値の多数決をとることにより、特定の回路故障等により異なった結果になったとしても出力回路18からは正常な値bが出力され、制御動作を継続することができる。
【0144】なお、本発明に係る本発明のビット演算制御装置10においては、同一のビット演算制御装置内または外部装置に複数個のPLD(PLD素子)を設けて、個々に異なる処理を行いつつ、データのやり取りをするなどの強調動作をさせることができる。
【0145】例えば、このビット演算制御装置において、同一の制御装置内または外部装置に複数個のPLDを設け、PLD間で通信する手段と、演算すべき入力データ、PLDの内部状態およびPLDの制御演算部の構成データのうちの少なくとも1種をやり取りする手段を備える一方、(1)制御マスターとなるPLD素子が上記PLD間通信手段により処理の空いているPLDを探して演算すべき内容を指示する手段を有することにより、個々に異なる処理を行いつつ協調動作をすることが可能になる。PLD間で通信する手段としては、PLD内部に通信機能を持たせて、PLD間に通信回線を有するようにしてもよく、無線通信で行ない得るようにしてもよい。
【0146】また、(1)の技術手段に代えて、(2)演算すべき入力データを全てのPLDで共有したメモリ上に格納する手段と、各PLD素子が自立的に共有したメモリ上から格納された入力データを取り出しビット演算する手段と、PLD素子が内部の診断により故障と判断し停止する手段を設けるようにしてもよい。このようすると、入力データの割り当てをする制御のマスターとなるPLDが不要となり、一部のPLDが内部の診断により故障と判断した場合でも自動的に他のPLDに処理が引き継がれる。
【0147】さらに、(1)の技術手段に代えて、(3)複数個のPLDの制御演算部の構成データを全てのPLDで共有したメモリ上に格納する手段と、各PLDが自立的に共有したメモリ上から格納されたPLDの制御演算部の構成データを読込みビット演算する手段を有するようにしてもよい。PLDで共有したメモリは記録媒体であってもよい。また、(1)〜(3)の各技術手段複数個を組み合わせてもよい。
【0148】このような技術手段を組み合せることにより、PLD演算部構成データの割り当てについても、入力データと同様にマスターPLDが不要となり、一部のPLDが故障しても自動的に他のPLDに処理が引き継がれる。
【0149】上記のように、同一制御装置内または外部装置の複数個のPLDが個々に異なる処理を行いつつ強調動作をすることにより、より効率的にまた制御の信頼性の向上した制御演算処理が可能となる。
【0150】本発明のプログラマブルロジックコントローラ(PLC)は、上記ビット演算制御装置を備えることにより、高速演算処理が実現でき、また設計後の処理変更への対応も容易にできる。
【0151】
【発明の効果】本発明によれば、制御プログラムの変更が現地で可能な利便性を保ちながら、プログラムの変更修正が容易で高速演算を可能とするビット演算制御装置およびプログラマブルロジックコントローラを提供することができる。
【出願人】 【識別番号】000003078
【氏名又は名称】株式会社東芝
【住所又は居所】東京都港区芝浦一丁目1番1号
【出願日】 平成13年8月22日(2001.8.22)
【代理人】 【識別番号】100078765
【弁理士】
【氏名又は名称】波多野 久 (外1名)
【公開番号】 特開2003−67010(P2003−67010A)
【公開日】 平成15年3月7日(2003.3.7)
【出願番号】 特願2001−251982(P2001−251982)