(57)【要約】【課題】  任意のタイミングでユーザのシーケンスプログラムの変更、および高速シーケンス演算ができ、しかも一般的なバッテリを使用して必要時間のバックアップが可能なプログラマブルコントローラを提供すること。【解決手段】  高速アクセス可能でシーケンスプログラムが書き込まれる実行メモリ２１０と、前記実行メモリよりも低速で低消費電力の、前記実行メモリのプログラムをバックアップするバックアップメモリ１１０と、前記バックアップメモリにバックアップ電源を供給するバッテリＶｂと、外部からのアクセスに対応するＭＰＵ１００と、前記ＭＰＵと前記実行メモリおよび前記バックアップメモリとの間に介在し、前記ＭＰＵによる前記両メモリに対するアクセスを制御するデコーダ３００とをそなえたことを特徴とするプログラマブルコントローラ。【選択図】  図１
2006039851.tif 000002
【特許請求の範囲】
【請求項１】
高速アクセス可能でシーケンスプログラムが書き込まれる実行メモリと、
前記実行メモリよりも低速で低消費電力の、前記実行メモリのプログラムをバックアップするバックアップメモリと、
前記バックアップメモリにバックアップ電源を供給するバッテリと、
外部からのアクセスに対応するＭＰＵと、
前記ＭＰＵと前記実行メモリおよび前記バックアップメモリとの間に介在し、前記ＭＰＵによる前記両メモリに対するアクセスを制御するデコーダと
をそなえたことを特徴とするプログラマブルコントローラ。
【請求項２】
請求項１記載のプログラマブルコントローラにおいて、
前記実行メモリ内のデータを高速でアクセスしてシーケンスを実行するＳＰＵをそなえたことを特徴とするプログラマブルコントローラ。
【請求項３】
請求項１記載のプログラマブルコントローラにおいて、
前記デコーダは、前記バックアップメモリにデータをバックアップ保存することを特徴とするプログラマブルコントローラ。
【請求項４】
請求項１記載のプログラマブルコントローラにおいて、
前記デコーダは、前記実行メモリにデータを書き込む際に、前記バックアップメモリにも同時に同一のデータを書き込むことを特徴とするプログラマブルコントローラ。
【請求項５】
請求項１記載のプログラマブルコントローラにおいて、
前記バックアップメモリにデータを書き込む際に、前記ＭＰＵと同一サイクルで前記実行メモリにも同一のデータを書き込むことを特徴とするプログラマブルコントローラ。
【請求項６】
請求項４または５記載のプログラマブルコントローラにおいて、
前記実行メモリおよびバックアップメモリの一方にデータを書き込む際に、前記両メモリの他方にデータを書き込むか否かを選択可能としたことを特徴とするプログラマブルコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シーケンスプログラムを実行するためのプログラマブルコントローラに関する。
【背景技術】
【０００２】
一般に、プログラマブルコントローラは、ユーザのシーケンスプログラムを実行して制御を行う。このユーザのシーケンスプログラムは、任意のタイミングで変更され、保存できることが望ましい。このようなプログラマブルコントローラでは、一般的にユーザのシーケンスプログラムを、
１)シーケンスを実行するＳ-ＲＡＭをバッテリでバックアップし保存すること、あるいは
２)保存専用の不揮発性メモリに保存すること、
が行われている。
【０００３】
このようなシーケンスプログラムを有するプログラマブルコントローラの簡単な構成例が、特許文献１に記載されている。
【特許文献１】特開昭61-161509号公報（６頁、第３図）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１記載のプログラマブルコントローラは、下記１)および２)に示すような不具合がある。すなわち、
１)シーケンスを実行するＳ-ＲＡＭをバッテリでバックアップし保存する場合
この場合、シーケンス実行を高速に行うためには、高速タイプのＳ-ＲＡＭが必要となるが、高速タイプＳ-ＲＡＭの待機時の消費電流が大きいため、バッテリにより必要なバックアップ時間が確保することができないか、あるいはバッテリのバックアップ時間を確保しようとすると中速タイプのＳ-ＲＡＭを適用することになるため、高速にシーケンスを実行できないという問題がある。
【０００５】
２)  保存専用の不揮発性メモリに保存する場合
この場合、不揮発性メモリ（EEPROM,FLASH‐ROM）は書込み所要時間が長いという欠点があるため、シーケンス実行中など任意のタイミングでシーケンスプログラムを変更することができないか、あるいは時間が掛かるという問題がある。
【０００６】
本発明は上述の点を考慮してなされたものであり、任意のタイミングでユーザのシーケンスプログラムの変更、および高速シーケンス演算ができ、しかも一般的なバッテリを使用して所要時間のバックアップが可能なプログラマブルコントローラを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、上記目的達成のため、
高速アクセス可能でシーケンスプログラムが書き込まれる実行メモリと、前記実行メモリよりも低速で低消費電力の、前記実行メモリのプログラムをバックアップするバックアップメモリと、前記バックアップメモリにバックアップ電源を供給するバッテリと、外部からのアクセスに対応するＭＰＵと、前記ＭＰＵと前記実行メモリおよび前記バックアップメモリとの間に介在し、前記ＭＰＵによる前記両メモリに対するアクセスを制御するデコーダとをそなえたことを特徴とするプログラマブルコントローラ、
を提供するものである。
【発明の効果】
【０００８】
本発明は上述のように、シーケンスプログラムを実行する高速の実行メモリと、実行メモリより低速で実行メモリをバックアップするバックアップメモリとを設け、これら両メモリに対しデコーダを介してアクセスするようにしたため、任意のタイミングでユーザのシーケンスプログラムの変更および高速でのシーケンス演算ができ、しかも一般的なバッテリを使用して必要時間のバックアップが可能なプログラマブルコントローラを提供することができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明に係るプログラマブルコントローラの実施例について、図面を参照して説明する。
【実施例１】
【００１０】
まず、図１を用いて実施例１を説明する。実施例１におけるプログラマブルコントローラ０００は、次の各要素(1)ないし(8)により構成される。すなわち、
(1)全体を制御するマイコン（ＭＰＵ）１００、
(2)ユーザのシーケンスプログラムを実行するシーケンス演算プロセッサ（ＳＰＵ）２００、
(3)ＭＰＵの出力アドレス１、バスコマンド１およびその他の信号（選択信号１）をデコードし、データバスアクセスを制御する信号[チップセレクト（ＣＥ１０・ＣＥ２０・・・・）、データリード（ＲＤ１）、データライト（ＷＲ１）、ウェイトコントロール（ＲＤＹ１）等]を出力するデコーダ３００、
(4)消費電流の小さな中速タイプメモリで構成され、バックアップ時にバックアップされたユーザプログラムを持つバックアップメモリ１１０、
(5)消費電流の大きな高速タイプメモリで構成され、実行するユーザプログラムが書き込まれていてＳＰＵ２００による高速アクセスが可能な実行メモリ２１０、
(6)リセット信号の状態に応じてバックアップメモリ１１０に供給する電源を切り替える電源バックアップ回路４００、および
(7)電源ＯＦＦ時に、バックアップメモリ１１０のデータをバックアップするための電源電流を供給するバッテリＶｂ、および
(8)パソコンなどでユーザプログラムを編集（変更）できるユーザＩ/Ｆ５００、
である。
【００１１】
図２は、実施例１におけるバックアップメモリ１１０と実行メモリ２１０との間でのユーザプログラムの転送動作を示したものである。すなわち、電源ＯＦＦ時にバッテリＶｂがバックアップしていたバックアップメモリ１１０のユーザプログラムを、電源ＯＮ時に実行メモリ２１０に転送してバックアップメモリ１１０および実行メモリ２１０のユーザプログラムデータを同一にする。このとき、選択信号１は、「転送」モードに設定しておく。転送が終了した時点で、選択信号１を、「書込」モードに設定変更する。
【００１２】
その後、ユーザＩ/Ｆ５００によるシーケンスプログラムの変更が指示された場合の、ＭＰＵ１００のシーケンスプログラム書込み時は、ＭＰＵ１００の実行メモリ２１０へのデータ書込みサイクルで、実行メモリ２１０およびバックアップメモリ１１０に同時にデータを書き込めるよう、デコード３００がＭＰＵのバスを制御する。
【００１３】
または、ＭＰＵ１００のバックアップメモリ１１０へのデータ書込みサイクルで、バックアップメモリ１１０および実行メモリ２１０に同時にデータを書き込めるよう、デコード３００がＭＰＵのバスを制御する。
【００１４】
このとき、図２において、各メモリのオフセット量（ｎ，ｍ，ｌ，・・・・）を同一とする。
【００１５】
具体的には、以下に示す(a)ないし(c)、すなわち
(a)チップセレクトＣＥ１０・ＣＥ２０を同時に出力、
(b)データライトＷＲ１を出力、
(c)ＲＥＡＤＹ信号（ウェイトコントロール）ＲＤＹ１を、ＳＰＵ２００のＲＤＹ２と同期させて出力、
となる。
【００１６】
この段階で電源がＯＦＦしても、バックアップメモリ１１０に実行メモリ２１０と同一のデータが記憶されているので、次回の電源ＯＮで実行メモリ２１０のシーケンスプログラムデータを再現できる。
【００１７】
また、既述の通り、実行メモリ２１０をバックアップする必要がないので、バックアップ時に消費電流の大きな高速タイプのメモリを適用でき、ＳＰＵ２００が実行メモリ２１０のデータアクセスを高速化できる。その結果、高速シーケンス演算が可能となる。
【００１８】
さらに、バックアップメモリ１１０は、シーケンス演算時にアクセスされないので中速のメモリを適用でき、その結果、従来と同様のバックアップ時間が確保できる。
【００１９】
なお、図３は実施例１のデコーダ３００の基本的回路構成を示し、図４はデコーダのバス制御信号出力部のデコード例を示している。
【００２０】
すなわち、デコーダ３００は、図３に示すように、アドレスデコード部、バスコマンドデコード部、制御信号デコード部、ＲＥＡＤＹ信号出力部、制御タイミング制御部およびバス制御信号出力部を有し、アドレス１、バスコマンド１、選択信号１、制御クロック１およびＲＤＹ２が与えられて、ＲＥＡＤＹ信号ＲＤＹ１、バス制御信号ＣＥ１０、ＣＥ２０、ＷＲ１およびＲＤ１を出力する。
【００２１】
また、バス制御信号出力部は、図４の図表に示すような入力条件での出力状態が生じる。そして、この図表における符号および文言は、
○：アクティブ
×：ノンアクティブ
転送：データ転送モード
書込：データ同時書込みモード
Ｂ：データ同時書込みモード時の元アドレス指定がバックアップメモリ
Ｊ：データ同時書込みモード時の元アドレス指定が実行メモリ
を示している。
【００２２】
実施例１によれば、バックアップメモリ１１０および実行メモリ２１０のユーザシーケンスプログラムを同一の構成で管理し、シーケンスプログラム実行時に常に同一内容を確保することで、
(i) 任意のタイミングでユーザのシーケンスプログラム変更を可能とする、
(ii) 高速シーケンス演算を可能とする、
(iii) 一般的なバッテリを使用して必要時間のバックアップを可能とする、
を同時に実現できる。
【実施例２】
【００２３】
図５は、本発明の実施例２を示している。図５では、実施例１と同一の要素には同一の符号を付し、重複する説明は省略する。
【００２４】
この実施例２は、実施例１におけるシーケンス演算プロセッサＳＰＵを用いずに、ＭＰＵ１００がシーケンス演算を実行するように構成している。そして、この実施例２では、
アドレス１とアドレス２、
データ１とデータ２、
ＷＲ１とＷＲ２、
ＲＤ１とＲＤ２、
ＣＥ２０とＣＥ２、
は、同一の信号となる。また、実施例１で、ＳＰＵ２００が出力していたＲＤＹ２は、実施例２ではデコーダ３００の内部で生成される。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施例１を示すブロック線図。
【図２】バックアップメモリおよび実行メモリのデータ管理イメージを示す説明図。
【図３】図２に示したデコーダの基本的回路構成例を示すブロック線図。
【図４】図３に示したバス制御信号出力部のデコード例を示す図表。
【図５】本発明の実施例２を示すブロック線図。
【符号の説明】
【００２６】
０００  プログラマブルコントローラ（制御および演算実行部）、１００  マイコン、
２００  シーケンス演算プロセッサ、３００  デコーダ、１１０  バックアップメモリ、
２１０  実行メモリ、４００  バックアップ回路、５００  ユーザインターフェース、
Ｖｂ  バッテリ。
【図１】
2006039851.tif 000003
【図２】
2006039851.tif 000004
【図３】
2006039851.tif 000005
【図４】
2006039851.tif 000006
【図５】
2006039851.tif 000007