(57)【特許請求の範囲】
【請求項１】
プログラマブルロジックコントローラに接続され、当該プログラマブルロジックコントローラにメモリを増設する増設記憶装置であって、
データの読み出しおよび書き込みが可能なＲＡＭからなる実装メモリと、
前記プログラマブルロジックコントローラと前記実装メモリとの間においてデータの読み書きの手順を、データの読み出しおよび書き込みが可能なＲＯＭからなり増設用として前記プログラマブルロジックコントローラに適合した適合メモリと同じ手順に変換することにより、前記実装メモリを前記プログラマブルロジックコントローラに適合させる適合化処理部とを備え、
前記適合化処理部は、前記プログラマブルロジックコントローラにおいて適合するか否かを識別するための識別子であって前記適合メモリに対応した識別子を、偽装識別子として予め記憶している識別子記憶部を有し、前記プログラマブルロジックコントローラから前記識別子を要求する要求信号を受けると前記識別子記憶部に記憶されている前記偽装識別子を前記プログラマブルロジックコントローラに返信する
ことを特徴とする増設記憶装置。
【請求項２】
前記実装メモリに電源供給するバックアップ電源をさらに備えることを特徴とする請求項１に記載の増設記憶装置。
【請求項３】
前記実装メモリは不揮発性であることを特徴とする請求項１または請求項２に記載の増設記憶装置。
【請求項４】
前記識別子記憶部は前記偽装識別子を複数記憶しており、
前記適合化処理部は、前記複数の前記偽装識別子の中から一の前記偽装識別子を選択する選択部を有しており、前記要求信号に対する応答として前記選択部で選択された前記偽装識別子を返信し、且つ当該偽装識別子に対応する前記適合メモリと同じ手順にデータの読み書きの手順を変換することを特徴とする請求項１ないし請求項３のいずれか１項に記載の増設記憶装置。
【請求項５】
前記偽装識別子は、対応する前記適合メモリの製造メーカを特定するメーカ識別子と、対応する前記適合メモリの品番を特定するデバイス識別子とを含んでいることを特徴とする請求項１ないし請求項４のいずれか１項に記載の増設記憶装置。
【請求項６】
前記適合化処理部は、前記プログラマブルロジックコントローラから入力される信号を、前記実装メモリに適合する電圧レベルに変換して当該実装メモリに出力し、前記実装メモリから入力される信号を、前記プログラマブルロジックコントローラに適合する電圧レベルに変換して当該プログラマブルロジックコントローラに出力する信号変換部を有することを特徴とする請求項１ないし請求項５のいずれか１項に記載の増設記憶装置。
【請求項７】
前記適合化処理部は、前記プログラマブルロジックコントローラから供給される電力の電圧レベルを、前記実装メモリの駆動に適した電圧レベルに変換する電源変換部を有することを特徴とする請求項１ないし請求項６のいずれか１項に記載の増設記憶装置。
【請求項８】
前記適合化処理部は、前記実装メモリから読み出されるデータおよび前記実装メモリに書き込まれるデータを一時的に保持するバッファを有することを特徴とする請求項１ないし請求項７のいずれか１項に記載の増設記憶装置。
【請求項９】
プログラマブルロジックコントローラと、当該プログラマブルロジックコントローラに接続され、当該プログラマブルロジックコントローラにメモリを増設する増設記憶装置とを備えたＰＬＣシステムであって、
前記増設記憶装置は、請求項１ないし請求項８のいずれか１項に記載の増設記憶装置からなることを特徴とするＰＬＣシステム。
【請求項１０】
プログラマブルロジックコントローラと、データの読み出しおよび書き込みが可能なＲＡＭからなる増設メモリとに接続され、前記増設メモリによって前記プログラマブルロジックコントローラにメモリを増設するアダプタ装置であって、
前記プログラマブルロジックコントローラと前記増設メモリとの間においてデータの読み書きの手順を、データの読み出しおよび書き込みが可能なＲＯＭからなり増設用として前記プログラマブルロジックコントローラに適合した適合メモリと同じ手順に変換することにより、前記増設メモリを前記プログラマブルロジックコントローラに適合させる適合化処理部を備え、
前記適合化処理部は、前記プログラマブルロジックコントローラにおいて適合するか否かを識別するための識別子であって前記適合メモリに対応した識別子を、偽装識別子として予め記憶している識別子記憶部を有し、前記プログラマブルロジックコントローラから前記識別子を要求する要求信号を受けると前記識別子記憶部に記憶されている前記偽装識別子を前記プログラマブルロジックコントローラに返信する
ことを特徴とするアダプタ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルロジックコントローラにメモリを増設するために用いられる増設記憶装置、これを備えたＰＬＣシステム、アダプタ装置に関する。
【背景技術】
【０００２】
たとえば工場などにおいて、製造装置等の外部機器をシーケンス制御するためにプログラマブルロジックコントローラ（以下、「ＰＬＣ（Programmable Logic Controllerの略）」という）が用いられている。
【０００３】
ＰＬＣは、外部機器をシーケンス制御するためのシーケンスプログラムや、シーケンスプログラムの実行処理を管理するファームウェア（システムプログラム）等の各種プログラムを記憶する記憶部を有している。また、ＰＬＣとしては、拡張（増設メモリ用）コネクタを備え、この拡張コネクタに増設記憶装置を接続することにより、増設記憶装置が搭載しているメモリによって記憶部の記憶容量を拡張可能とした構成も知られている。ここで、ＰＬＣ用の増設記憶装置は、一般的にフラッシュＲＯＭ（フラッシュメモリ）等のＲＯＭ（Read Only Memory）からなるメモリを搭載している（たとえば特許文献１参照）。
【０００４】
ところで、ＰＬＣは、増設記憶装置とデータ交換を行うためには、増設記憶装置が搭載しているＲＯＭに対応した所定の手順に従って動作する必要がある。ただし、この手順を構成する命令コードやデータ転送単位等、あるいは手順そのものがＲＯＭの型式によって異なる場合があるため、ＰＬＣは、ＲＯＭの型式ごとに異なる手順を適用する必要がある。そこで、ＰＬＣは、増設記憶装置に識別子要求信号を送信することにより、増設記憶装置のＲＯＭからこのＲＯＭを特定し識別するための識別子を読み出し、識別子によって特定されるＲＯＭに対応する所定の手順に従ってデータの読み書きを行うように構成される。
【０００５】
特許文献１記載の増設記憶装置は、実際に搭載しているＲＯＭに登録された第１識別子を、ＰＬＣが認識可能な第２識別子に変換する変換部を有しており、これにより、ＰＬＣにおいては、第２識別子に基づいてＲＯＭに対応する手順が判断される。そのため、新規な型式のＲＯＭを搭載した増設記憶装置であっても、ＰＬＣからは見かけ上、自機（ＰＬＣ）の認識可能な旧式のＲＯＭを搭載した増設記憶装置のように見え、増設記憶装置の新規な型式のＲＯＭとデータ交換することができる。したがって、旧バージョンのＰＬＣであっても、記憶部の記憶内容を新規なＲＯＭに対応可能に書き換えることなく、新規なＲＯＭが搭載された増設記憶装置にそのまま使用することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−１７６７００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献１記載の増設記憶装置は、ＰＬＣによる識別子の読み出し時に識別子を変換して出力するので、そもそも識別子の読み出しに対応していないＲＡＭ（Random Access Memory）をメモリとして搭載した場合にまでＰＬＣを適応させることはできない。すなわち、上述の増設記憶装置では、ＰＬＣに対して、実際とは異なる型式のＲＯＭを搭載しているように見せ掛けることができるものの、ＲＯＭ以外のメモリ（ＲＡＭ）を搭載した場合にまで、ＲＡＭに対応していないＰＬＣをそのまま使用することはできない。
【０００８】
本発明は上記事由に鑑みて為されており、ＲＡＭを搭載しながらも、ＲＡＭに対応していないプログラマブルコントローラをそのまま使用することができる増設記憶装置、これを備えたＰＬＣシステム、アダプタ装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の増設記憶装置は、プログラマブルロジックコントローラに接続され、当該プログラマブルロジックコントローラにメモリを増設する増設記憶装置であって、データの読み出しおよび書き込みが可能なＲＡＭからなる実装メモリと、前記プログラマブルロジックコントローラと前記実装メモリとの間においてデータの読み書きの手順を、データの読み出しおよび書き込みが可能なＲＯＭからなり増設用として前記プログラマブルロジックコントローラに適合した適合メモリと同じ手順に変換することにより、前記実装メモリを前記プログラマブルロジックコントローラに適合させる適合化処理部とを備え、前記適合化処理部は、前記プログラマブルロジックコントローラにおいて適合するか否かを識別するための識別子であって前記適合メモリに対応した識別子を、偽装識別子として予め記憶している識別子記憶部を有し、前記プログラマブルロジックコントローラから前記識別子を要求する要求信号を受けると前記識別子記憶部に記憶されている前記偽装識別子を前記プログラマブルロジックコントローラに返信することを特徴とする。
【００１１】
この増設記憶装置において、前記実装メモリに電源供給するバックアップ電源をさらに備えることがより望ましい。
【００１２】
この増設記憶装置において、前記実装メモリは不揮発性であることがより望ましい。
【００１３】
この増設記憶装置において、前記識別子記憶部は前記偽装識別子を複数記憶しており、前記適合化処理部は、前記複数の前記偽装識別子の中から一の前記偽装識別子を選択する選択部を有しており、前記要求信号に対する応答として前記選択部で選択された前記偽装識別子を返信し、且つ当該偽装識別子に対応する前記適合メモリと同じ手順にデータの読み書きの手順を変換することがより望ましい。
【００１４】
この増設記憶装置において、前記偽装識別子は、対応する前記適合メモリの製造メーカを特定するメーカ識別子と、対応する前記適合メモリの品番を特定するデバイス識別子とを含んでいることがより望ましい。
【００１５】
この増設記憶装置において、前記適合化処理部は、前記プログラマブルロジックコントローラから入力される信号を、前記実装メモリに適合する電圧レベルに変換して当該実装メモリに出力し、前記実装メモリから入力される信号を、前記プログラマブルロジックコントローラに適合する電圧レベルに変換して当該プログラマブルロジックコントローラに出力する信号変換部を有することがより望ましい。
【００１６】
この増設記憶装置において、前記適合化処理部は、前記プログラマブルロジックコントローラから供給される電力の電圧レベルを、前記実装メモリの駆動に適した電圧レベルに変換する電源変換部を有することがより望ましい。
【００１７】
この増設記憶装置において、前記適合化処理部は、前記実装メモリから読み出されるデータおよび前記実装メモリに書き込まれるデータを一時的に保持するバッファを有することがより望ましい。
【００１８】
本発明のＰＬＣシステムは、プログラマブルロジックコントローラと、当該プログラマブルロジックコントローラに接続され、当該プログラマブルロジックコントローラにメモリを増設する増設記憶装置とを備え、前記増設記憶装置は、上述したいずれかの増設記憶装置からなることを特徴とする。
【００１９】
本発明のアダプタ装置は、プログラマブルロジックコントローラと、データの読み出しおよび書き込みが可能なＲＡＭからなる増設メモリとに接続され、前記増設メモリによって前記プログラマブルロジックコントローラにメモリを増設するアダプタ装置であって、前記プログラマブルロジックコントローラと前記増設メモリとの間においてデータの読み書きの手順を、データの読み出しおよび書き込みが可能なＲＯＭからなり増設用として前記プログラマブルロジックコントローラに適合した適合メモリと同じ手順に変換することにより、前記増設メモリを前記プログラマブルロジックコントローラに適合させる適合化処理部を備え、前記適合化処理部は、前記プログラマブルロジックコントローラにおいて適合するか否かを識別するための識別子であって前記適合メモリに対応した識別子を、偽装識別子として予め記憶している識別子記憶部を有し、前記プログラマブルロジックコントローラから前記識別子を要求する要求信号を受けると前記識別子記憶部に記憶されている前記偽装識別子を前記プログラマブルロジックコントローラに返信することを特徴とする。
【発明の効果】
【００２０】
本発明は、ＲＡＭを搭載しながらも、ＲＡＭに対応していないプログラマブルコントローラをそのまま使用することができるという利点がある。
【図面の簡単な説明】
【００２１】
【図１】実施形態１に係る増設記憶装置の概略構成を示すブロック図である。
【図２】実施形態１に係る増設記憶装置を用いたＰＬＣシステムの構成を示すシステム構成図である。
【図３】実施形態１に係る増設記憶装置を用いたＰＬＣシステムの動作を示す説明図である。
【図４】実施形態１に係る増設記憶装置の偽装回路の概略構成を示す回路図である。
【図５】（ａ）は実施形態１に係る増設記憶装置の外観を示す平面図、（ｂ）はＲＯＭを搭載した従来の増設記憶装置の外観を示す平面図である。
【図６】実施形態１に係る増設記憶装置に用いるコマンドを示す説明図である。
【図７】実施形態１に係る増設記憶装置に用いる他のコマンドを示す説明図である。
【発明を実施するための形態】
【００２２】
（実施形態１）
本実施形態の増設記憶装置１は、図２に示すように、プログラマブルロジックコントローラ（以下、「ＰＬＣ（Programmable Logic Controllerの略）」という）２に接続され、ＰＬＣ２にメモリを増設するために用いられる。この増設記憶装置１は、ＰＬＣ２と共にＰＬＣシステムを構築する。
【００２３】
以下ではまず、ＰＬＣ２の構成について簡単に説明する。
【００２４】
ＰＬＣ２は、図２に示すように、Ｉ／Ｏバスコネクタ２１と、演算処理部２２と、記憶部２３と、拡張コネクタ２４とを備えている。これらＩ／Ｏバスコネクタ２１と、演算処理部２２と、記憶部２３と、拡張コネクタ２４とは、データを相互に交換できるように内部バスによって相互に接続されている。
【００２５】
Ｉ／Ｏバスコネクタ２１は、外部機器（図示せず）を接続するためのコネクタである。ここでいう外部機器は、たとえばスイッチやセンサのようにＰＬＣ２へデータを出力する装置、リレーや表示器のようにＰＬＣ２から入力されるデータに応じた動作を実行する装置、ＰＬＣ２との間で双方向にデータのやり取りを行う装置を含む。これらの外部機器は、Ｉ／Ｏバスコネクタ２１を介してＰＬＣ２の内部バスに接続されることによって、演算処理部２２に電気的に接続される。
【００２６】
記憶部２３は、外部機器をシーケンス制御するためのシーケンスプログラムや、シーケンスプログラムの実行処理を管理するファームウェア（システムプログラム）等の各種プログラムを記憶している。さらに、詳しくは後述するが増設記憶装置に搭載されているメモリを識別するための識別子等の情報も、記憶部２３に記憶されている。ここで、記憶部２３は、たとえばバックアップ用の電源（図示せず）が併設された揮発性のＲＡＭ（Random Access Memory）２３１と、不揮発性のＲＯＭ（Read Only Memory）２３２とを有している。記憶部２３は、ＰＬＣ２のユーザが専用のツール（ソフトウェア）を使用して作成するシーケンスプログラム等についてはＲＡＭ２３１に記憶し、ファームウェア等についてはＲＯＭ２３２に記憶する。
【００２７】
なお、ＲＡＭ２３１は、演算処理部２２の演算処理に用いられるワーキングメモリも兼ねている。記憶部２３は、書き換え可能な不揮発性の記憶装置、たとえばＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）やハードディスク等を用いて構成されていて
もよい。記憶部２３は、この種の記憶装置にシーケンスプログラムを記憶する場合、バックアップ用の電源が省略されてもよい。
【００２８】
演算処理部２２は、記憶部２３に記憶されているファームウェア上で、シーケンスプログラムを実行する。つまり、演算処理部２２は、Ｉ／Ｏバスコネクタ２１を介して外部機器から入力された外部信号に応じてシーケンスプログラムを実行し、外部機器をシーケンス制御するための制御信号を生成してＩ／Ｏバスコネクタ２１経由で外部機器へ出力する。演算処理部２２は、ＡＳＩＣ（Application Specific Integrated Circuit）２２１およびＣＰＵ（Central Processing Unit）２２２を主構成とし、これらの周辺回路を具備して構成されている。
【００２９】
演算処理部２２は、単純な命令や高速処理が要求される命令については、それ専用に特化された回路構成のＡＳＩＣ２２１にて実行し、その他の命令をＣＰＵ２２２で実行することにより、総合的な処理速度の高速化を図っている。なお、この構成に限らず、演算処理部２２は、ＰＬＣ２が動作する上で必要な演算処理を全てＣＰＵ２２２で実行してもよい。
【００３０】
拡張コネクタ２４は、増設記憶装置と電気的に接続するためのコネクタである。つまり、ＰＬＣ２は、拡張コネクタ２４に増設記憶装置が接続されることにより、記憶部２３に増設記憶装置内のメモリが増設されることになり、記憶部２３の記憶容量が拡張される。ここで、拡張コネクタ２４に接続される増設記憶装置は１種類に限定されず、拡張コネクタ２４は、本実施形態の増設記憶装置１を含む複数種類の増設記憶装置に対応するように構成されている。
【００３１】
上述した構成のＰＬＣ２には、データの読み出しおよび書き込みが可能なフラッシュＲＯＭ（フラッシュメモリ）等のＲＯＭからなるメモリを搭載した増設記憶装置が、適合（対応）している。つまり、ＲＯＭからなるメモリを搭載した増設記憶装置が拡張コネクタ２４に接続されると、ＰＬＣ２は、増設記憶装置のメモリを認識し、このメモリに対して記憶部２３と同じようにデータの読み出しおよび書き込みを行うことができる。これによりＰＬＣ２は記憶部２３の記憶容量が拡張される。
【００３２】
たとえば、増設記憶装置のメモリにＰＬＣ２のユーザが専用のツールを使用して作成したシーケンスプログラムが書き込まれ、この増設記憶装置が接続されることにより、ＰＬＣ２は、増設記憶装置内のシーケンスプログラムを使用することができる。この場合、ＰＬＣ２は、シーケンスプログラムを増設記憶装置から直接読み出して実行してもよいし、増設記憶装置から記憶部２３のＲＡＭ２３１に一旦読み出して、ＲＡＭ２３１内のシーケンスプログラムを実行してもよい。また、増設記憶装置は、ＰＬＣ２の記憶容量を単に増加させるだけでなく、たとえばシーケンスプログラムのバックアップや、シーケンスプログラムだけを製造メーカに持ち込んでシーケンスプログラムの解析を行ったりする際にも用いられる。
【００３３】
ところで、本実施形態の増設記憶装置１は、上述のようにＰＬＣ２に適合したフラッシュＲＯＭ等のＲＯＭからなるメモリに代えて、上記ＰＬＣ２に不適合なＲＡＭからなるメモリ（実装メモリ）を搭載している。そのため、この増設記憶装置１は、本来ならばＰＬＣ２に接続されてもメモリがＰＬＣ２に認識されず、メモリに対してＰＬＣ２がデータの読み書きを行うことができない。そこで、本実施形態では、増設記憶装置１は、以下に説明する構成を採用することにより、ＲＡＭを搭載しながらも、ＲＡＭに対応していないＰＬＣ２をそのまま使用できるようにしている。
【００３４】
すなわち、本実施形態の増設記憶装置１は、図１に示すように、ＲＡＭからなる実装メモリ１１と、実装メモリ１１をＰＬＣ２に適合させる適合化処理部１２と、ＰＬＣ２に接続されるコネクタ１３とを備えている。増設記憶装置１は、コネクタ１３をＰＬＣ２の拡張コネクタ２４（図２参照）に接続することによって、ＰＬＣ２と電気的に接続される。
【００３５】
実装メモリ１１は、データの読み出しおよび書き込みが可能な非同期ＳＲＡＭ（Static RAM）からなる。さらに、実装メモリ１１は、フラッシュＲＯＭ等のＲＯＭからなるメモリに代えて搭載されているので、ここでは、ＲＯＭと同様に不揮発性であるｎｖＳＲＡＭ（不揮発性ＳＲＡＭ）やＭＲＡＭ（Magnetoresistive RAM）が実装メモリ１１として用いられる。あるいは、ＳＲＡＭが、このＳＲＡＭに電源供給するバックアップ電源と組み合わされることにより、不揮発性の実装メモリ１１を構成していてもよい。実装メモリ１１は、適合化処理部１２を介してコネクタ１３に接続されており、ＰＬＣ２によるデータの読み出しや書き込みについては、適合化処理部１２を通して行われる。
【００３６】
適合化処理部１２は、実装メモリ１１をＲＯＭからなるメモリに見せ掛けることによりＰＬＣ２に適合させる偽装回路１２１と、信号の電圧レベルを変換する信号変換部１２２と、電源電力の電圧レベルを変換する電源変換部１２３とを有している。
【００３７】
信号変換部１２２は、ＰＬＣ２から入力される信号を、実装メモリ１１に適合する電圧レベルに変換して実装メモリ１１に出力し、また、実装メモリ１１から入力される信号を、ＰＬＣ２に適合する電圧レベルに変換してＰＬＣ２に出力する。ここでは、信号変換部１２２は、図１に示すように双方向バッファ１２４とバッファ１２５とで構成されている。
【００３８】
双方向バッファ１２４は、電圧レベルの異なる複数種類の信号の各々に合わせて、複数の閾値が設定されている。ここでは、“Ｈ”（ハイ）の電圧レベルが５Ｖ、“Ｌ”（ロー）の電圧レベルが０Ｖの信号のＨ／Ｌを判別するための５Ｖ用閾値と、“Ｈ”の電圧レベルが３．３Ｖ、“Ｌ”の電圧レベルが０Ｖの信号のＨ／Ｌを判別するための３Ｖ用閾値とが設定されている。双方向バッファ１２４は、ＰＬＣ２から出力されるＤＡＴＡ信号の電圧レベルが５Ｖ用閾値以上である場合には、このＤＡＴＡ信号が“Ｈ”であると判断し、電圧レベルが３．３ＶのＤＡＴＡ信号を偽装回路１２１を介して実装メモリ１１へ出力する。一方、双方向バッファ１２４は、ＰＬＣ２から出力されるＤＡＴＡ信号の電圧レベルが５Ｖ用閾値未満の場合には、このＤＡＴＡ信号が“Ｌ”であると判断し、電圧レベルが０ＶのＤＡＴＡ信号を偽装回路１２１を介して実装メモリ１１へ出力する。
【００３９】
また、双方向バッファ１２４は、実装メモリ１１から出力されるＤＡＴＡ信号の電圧レベルが３Ｖ用閾値以上である場合には、このＤＡＴＡ信号が“Ｈ”であると判断し、電圧レベルが５ＶのＤＡＴＡ信号をＰＬＣ２へ出力する。一方、双方向バッファ１２４は、実装メモリ１１から出力されるＤＡＴＡ信号の電圧レベルが３Ｖ用閾値未満の場合には、このＤＡＴＡ信号が“Ｌ”であると判断し、電圧レベルが０ＶのＤＡＴＡ信号をＰＬＣ２へ出力する。
【００４０】
このように、双方向バッファ１２４は、ＤＡＴＡ信号の“Ｈ”、“Ｌ”の電圧レベルを、ＰＬＣ２に適合した５Ｖ、０Ｖと、実装メモリ１１に適合した３．３Ｖ、０Ｖとの間で双方向に変換する。
【００４１】
バッファ１２５は、ＰＬＣ２から出力される信号に合わせて、５Ｖ用閾値のみが設定されている。バッファ１２５は、ＰＬＣ２から出力されるＡＤＤＲ信号、ＣＳ信号、ＲＤ信号、ＷＲ信号の各信号について、電圧レベルが５Ｖ用閾値以上である場合、この信号が“Ｈ”であると判断して、電圧レベルが３．３Ｖの信号を実装メモリ１１へ出力する。一方、バッファ１２５は、ＰＬＣ２から出力されるＡＤＤＲ信号、ＣＳ信号、ＲＤ信号、ＷＲ信号の各信号について、電圧レベルが５Ｖ用閾値未満の場合、この信号が“Ｌ”であると判断して、電圧レベルが０Ｖの信号を実装メモリ１１へ出力する。
【００４２】
このように、バッファ１２５は、ＰＬＣ２から出力されるＡＤＤＲ信号、ＣＳ信号、ＲＤ信号、ＷＲ信号の各信号の電圧レベルを、ＰＬＣ２に適合した５Ｖ、０Ｖから、実装メモリ１１に適合した３．３Ｖ、０Ｖへと単方向で変換する。
【００４３】
ここで、ＤＡＴＡ信号は、データを表す信号であり、コネクタ１３から双方向バッファ１２４および偽装回路１２１を介して実装メモリ１１に接続されるＤＡＴＡバスによって、ＰＬＣ２と実装メモリ１１との間で双方向に伝送される。ＡＤＤＲ信号は、実装メモリ１１のメモリアドレスを表す信号であって、コネクタ１３からバッファ１２５および偽装回路１２１を介して実装メモリ１１に接続されるＡＤＤＲバスによって、ＰＬＣ２から実装メモリ１１へ伝送される。ＣＳ信号は、実装メモリ１１を制御するための信号、ＲＤ信号は、実装メモリ１１からデータの読み出しを行うためのストローブ信号であって、ＷＲ信号は、実装メモリ１１へデータの書き込みを行うためのストローブ信号である。ＣＳ信号、ＲＤ信号、ＷＲ信号は、コネクタ１３からバッファ１２５および偽装回路１２１を介して実装メモリ１１に接続されるＣＳライン、ＲＤライン、ＷＲラインのそれぞれによって、ＰＬＣ２から実装メモリ１１へ伝送される。
【００４４】
電源変換部１２３は、ＰＬＣ２から供給される電力の電圧レベルを、実装メモリ１１および偽装回路１２１の駆動に適した電圧レベルに変換する。電源変換部１２３は、たとえばレギュレータＩＣを主構成とし、ＰＬＣ２から供給される電源電圧（たとえば５Ｖ）を、実装メモリ１１および偽装回路１２１の駆動電圧（たとえば３．３Ｖ）に変換する。
【００４５】
偽装回路１２１は、ＰＬＣ２と実装メモリ１１との間において、データ交換（データの読み出しおよび書き込み）の手順を、増設用としてＰＬＣ２に適合した適合メモリと同じ手順に変換することにより、実装メモリ１１をＰＬＣ２に適合させている。ここでいう適合メモリは、ＰＬＣ２に適合したフラッシュＲＯＭ等のＲＯＭからなるメモリを想定しており、ＰＬＣ２からの見かけ上、増設記憶装置１に実装されているように見せ掛けるためのメモリである。つまり、増設記憶装置１は、実際に適合メモリを搭載するのではなく、偽装回路１２１にて実装メモリ１１を適合メモリに見せ掛けることにより、ＲＡＭを実装メモリ１１として搭載しながらも、ＲＡＭに対応していないＰＬＣ２をそのまま使用可能としている。
【００４６】
上記構成により、図３に示すように、ＰＬＣ２にあっては増設記憶装置１の適合化処理部１２に対しフラッシュＲＯＭとしてアクセス可能になり、且つ適合化処理部１２にあっては実装メモリ１１に対しＲＡＭとしてアクセス可能になる。その結果、ＰＬＣ２と増設記憶装置１との間においては、ＰＬＣ２は、見かけ上フラッシュＲＯＭとしての増設記憶装置１にアクセスすることで、実装メモリ１１に対してデータの読み書きが可能になる。
【００４７】
ここにおいて、ＰＬＣ２は、増設記憶装置とデータ交換（データの読み出しおよび書き込み）を行うためには、増設記憶装置が搭載しているメモリに対応した所定の手順に従って動作する必要がある。ただし、この手順を構成する命令コードやデータ転送単位等、あるいは手順そのものがメモリの型式によって異なる場合があるため、ＰＬＣ２は、メモリの型式ごとに異なる手順を判断するべく、まずメモリの型式を特定する必要がある。
【００４８】
そのため、一般的な増設記憶装置は、搭載しているメモリに対応する識別子（ＩＤ）をこのメモリ内に予め保持しており、ＰＬＣ２から識別子を要求する旨の信号（識別子要求信号）を受けると、メモリが識別子をＰＬＣ２に返信する。言い換えれば、ＰＬＣ２は、識別子要求信号を送信することによって、増設記憶装置のメモリからこのメモリに対応する識別子を読み出す。これにより、ＰＬＣ２においては、識別子によって増設記憶装置に搭載されているメモリが適合するか否かを識別することができ、適合する場合には、そのメモリに応じた所定の手順に従ってデータの読み書きを行う。なお、ここでいう識別子は、ＰＬＣ２においてメモリが適合するか否かを識別するための識別子であって、ＰＬＣ２が採用する手順を判断できればよいので、メモリの型式（品番）ごとに設定されている。
【００４９】
本実施形態の増設記憶装置１においては、実装メモリ１１がそもそもＰＬＣ２に不適合なＲＡＭからなるため、実装メモリ１１そのものには識別子要求信号に応答して識別子を返信する機能は備わっていない。そこで、本実施形態では、適合化処理部１２の偽装回路１２１が、適合メモリに対応した識別子を偽装識別子として予め記憶している識別子記憶部３８（図４参照）を有し、ＰＬＣ２からの識別子要求信号を受けると偽装識別子をＰＬＣ２に返信する。これにより、増設記憶装置１は、ＰＬＣ２からの見かけ上、偽装識別子に対応するメモリ（適合メモリ）を搭載しているように見え、ＰＬＣ２においては、適合メモリに応じた所定の手順に従ってデータの読み書きを行うことができる。
【００５０】
以下、偽装回路１２１の構成についてさらに詳しく説明する。
【００５１】
偽装回路１２１は、図４に示すように、ＰＬＣ２側となる端子３１１〜３１５（以下、各々を区別しないときには「端子３１」という）と、実装メモリ１１側となる端子３２１〜３２５（以下、各々を区別しないときには「端子３２」という）とを有している。つまり、端子３１は信号変換部１２２を介してコネクタ１３に接続され、端子３２は実装メモリ１１に接続されている。さらに、偽装回路１２１は、バッファ３３１〜３３８（以下、各々を区別しないときには「バッファ３３」という）と、マルチプレクサ（図中ＭＸ）３４と、アドレス判別部３５と、コマンド判別部３６と、アンド回路３７とを有している。さらに、図４の例では、偽装回路１２１には、メーカＩＤを記憶するメーカＩＤ記憶部３８１と、デバイスＩＤを記憶するデバイスＩＤ記憶部３８２とからなる識別子記憶部３８が設けられている。メーカＩＤ、デバイスＩＤについては後述する。
【００５２】
ＰＬＣ２側の端子３１１には、コネクタ１３に接続されるＤＡＴＡバスが接続され、実装メモリ１１側の端子３２１には、実装メモリ１１に接続されるＤＡＴＡバスが接続される。偽装回路１２１の内部においては、端子３１１は、バッファ３３１，３３２を介して端子３２１に接続され、さらに、端子３２１は、バッファ３３４とマルチプレクサ３４とバッファ３３３とを介して端子３１１に接続されている。ここで、バッファ３３１の出力は、コマンド判別部３６のデータ入力にも接続されている。バッファ３３１は分岐ロスを補償するように予め設定された増幅率でＤＡＴＡ信号を増幅し、バッファ３３２〜３３４は、偽装回路１２１内での伝送ロスを補償するように予め設定された増幅率でそれぞれＤＡＴＡ信号を増幅する。
【００５３】
マルチプレクサ３４は、３入力１出力のセレクタであって、アドレス判別部３５から入力されるセレクト信号に応じてＡ入力、Ｂ入力、Ｃ入力の３入力から選択した入力と、出力とを電気的に接続する。Ａ入力は、バッファ３３４の出力に接続され、Ｂ入力はメーカＩＤ記憶部３８１に接続され、デバイスＩＤ記憶部３８２に接続されている。マルチプレクサ３４の出力は、バッファ３３３の入力に接続されている。
【００５４】
ＰＬＣ２側の端子３１２には、コネクタ１３に接続されるＡＤＤＲバスが接続され、実装メモリ１１側の端子３２２には、実装メモリ１１に接続されるＡＤＤＲバスが接続される。偽装回路１２１の内部においては、端子３１２は、バッファ３３５，３３６を介して端子３２２に接続されている。ここで、バッファ３３５の出力はアドレス判別部３５のアドレス入力およびコマンド判別部３６のアドレス入力にも接続されている。バッファ３３５は分岐ロスを補償するように予め設定された増幅率でＡＤＤＲ信号を増幅し、バッファ３３６は偽装回路１２１内での伝送ロスを補償するように予め設定された増幅率でＡＤＤＲ信号を増幅する。
【００５５】
コマンド判別部３６は、データ入力から入力されたＤＡＴＡ信号と、アドレス入力から入力されたＡＤＤＲ信号とに基づいて、ＰＬＣ２が実装メモリ１１に指示したコマンド（命令）を判別する。さらに、コマンド判別部３６は、後述のモード信号を出力するモード出力がアドレス判別部３５のモード入力に接続されている。
【００５６】
実装メモリ１１に対するコマンドは、アドレスおよびデータを含んでおり、コマンドにより実装メモリ１１における所定のアドレスに所定のデータが書き込まれることによって、実装メモリ１１は、このコマンドに対応する動作を実行するように構成されている。
【００５７】
コマンド判別部３６は、ＰＬＣ２からのコマンドを判別し、判別結果に応じて増設記憶装置１の動作モードを切り替える。本実施形態では、コマンド判別部３６は、識別子を読み出すＩＤ読出モードと、実装メモリ１１のデータを読み出すデータ読出モードと、第１のメモリ１１にデータを書き込むデータ書込モードとの３つのモード間で動作モードを切り替える。つまり、コマンド判別部３６は、入力されたＤＡＴＡ信号およびＡＤＤＲ信号が識別子を読み出すコマンド（つまり識別子要求信号）である場合、モード出力からＩＤ読出モードを表すモード信号を出力する。一方、コマンド判別部３６は、入力されたＤＡＴＡ信号およびＡＤＤＲ信号が識別子を読み出すコマンドではない場合、モード出力からデータ読出モードあるいはデータ書込モードを表すモード信号を出力する。
【００５８】
アドレス判別部３５は、アドレス入力から入力されるＡＤＤＲ信号およびモード入力から入力されるモード信号に基づいて、マルチプレクサ３４に出力するセレクト信号を決定する。アドレス判別部３５は、ＡＤＤＲ信号が適合メモリの識別子を格納してあるアドレスを表し、且つモード信号がＩＤ読出モードを表している場合には、Ｂ入力またはＣ入力を出力に接続するようにマルチプレクサ３４を制御するセレクト信号を出力する。これ以外の場合には、アドレス判別部３５は、Ａ入力を出力に接続するようにマルチプレクサ３４を制御するセレクト信号を出力する。
【００５９】
識別子記憶部３８は、ＰＬＣ２に適合したフラッシュＲＯＭ等のＲＯＭからなる適合メモリに対応する識別子を、偽装識別子として予め記憶している。識別子は、１ないし複数の符号からなる符号列であり、メモリの型式（品番）ごとに対応付けられている。ここでは、識別子は、対応するメモリの製造メーカを特定するメーカＩＤ（メーカ識別子）と、対応するメモリの品番を特定するデバイスＩＤ（デバイス識別子）とで構成されている。本実施形態では一例として、メーカＩＤ記憶部３８１に偽装識別子のメーカＩＤとして“ＢＦＨ”が記憶され、デバイスＩＤ記憶部３８２には偽装識別子のデバイスＩＤとして“１０Ｈ”が記憶されていると仮定する。なお、メーカＩＤ記憶部３８１およびデバイスＩＤ記憶部３８２は、ＥＥＰＲＯＭやＲＯＭ等の不揮発性の記憶素子を用いて具現化される。
【００６０】
端子３１３，３１４，３１５には、それぞれコネクタ１３に接続されるＣＳライン、ＲＤライン、ＷＲラインが接続され、端子３２３，３２４，３２５には、それぞれ実装メモリ１１に接続されるＣＳライン、ＲＤライン、ＷＲラインが接続される。偽装回路１２１の内部においては、端子３１３，３１４は、それぞれバッファ３３７，３３８を介して端子３２３，３２４に接続されている。ここで、バッファ３３５の出力はアドレス判別部３５のアドレス入力およびコマンド判別部３６のアドレス入力にも接続されている。バッファ３３７，３３８は偽装回路１２１内での伝送ロスを補償するように予め設定された増幅率でそれぞれＣＳ信号、ＲＤ信号を増幅する。
【００６１】
また、端子３１５は、アンド回路３７の第１入力に接続され、端子３２５は、アンド回路３７の出力に接続されている。アンド回路３７の第２入力には、コマンド判別部３６からイネーブル信号が入力される。コマンド判別部３６は、ＩＤ読出モードおよびデータ読出モードでは“Ｌ”、データ書込モードでは“Ｈ”のイネーブル信号を出力する。
【００６２】
アンド回路３７は、第１入力に入力されるＷＲ信号と第２入力に入力されるイネーブル信号との論理積（アンド）をとり、その結果に応じて、端子３２５に「Ｈ」または「Ｌ」のＷＲ信号を出力する。これにより、アンド回路３７は、ＩＤ読出モードおよびデータ読込モードにおいて、端子３１５から端子３２５へのＷＲ信号の伝達を禁止するライトプロテクトとして機能する。つまり、アンド回路３７は、ＩＤ読出モードとデータ読込モードとにおいては、コマンド判別部３６からのイネーブル信号が“Ｌ”であるため、端子３１５にＷＲ信号が入力されても、このＷＲ信号を端子３２５へ伝達することはない。
【００６３】
すなわち、ＲＡＭからなる実装メモリ１１は、ＷＲ信号がイネーブルになるとＤＡＴＡバスの値を書き込んでしまう。また、ＲＡＭにはそもそもＩＤ（識別子）読出のためのモードが存在しない。そこで、本実施形態では、実装メモリ１１が、コマンド操作のためのデータを誤って書き込むことを防止するため、偽装回路１２１は、通常時にはアンド回路３７によって実装メモリ１１へＷＲ信号が伝達されないようにしている。コマンド判別部３６から“Ｈ”のイネーブル信号が出力されるデータ書込モードにあっては、アンド回路３７はライトプロテクトとして機能せず、ＰＬＣ２から実装メモリ１１へＷＲ信号が伝達可能となる。
【００６４】
上述したように構成される偽装回路１２１は、プログラマブルロジックデバイス（以下、「ＰＬＤ（Programmable Logic Device）の略」という）を用いて実現される。ここでいうＰＬＤには、ＣＰＬＤ（Complex PLD）とＦＰＧＡ（Field Programmable Gate Array）とを含んでいる。これにより、増設記憶装置１は、図５（ａ）に示すように、基板１００に、コネクタ１３と、実装メモリ１１としてのｎｖＳＲＡＭと、偽装回路１２１としてのＰＬＤと、電源変換部１２３と、双方向バッファ１２４およびバッファ１２５とが実装されて構成される。この増設記憶装置１は、コネクタ１３がＰＬＣ２の拡張コネクタ２４に接続されることにより、実装メモリ１１が適合化処理部１２を介してＰＬＣ２の内部バスに接続され、この状態で、ＰＬＣ２にメモリを増設するように機能する。
【００６５】
一方、ＰＬＣ２に適合するフラッシュＲＯＭからなるメモリを搭載した従来の増設記憶装置は、図５（ｂ）に示すように、基板１００に、コネクタ１３とフラッシュＲＯＭ１１０とが実装されて構成される。このように、本実施形態の増設記憶装置１は、たとえば実装部品のパッケージをＴＳＯＰ（Thin Small Outline Package）として小型化すれば、パッケージをＤＩＰ（Dual Inline Package）とした従来の増設記憶装置と、同程度のサイズで実現することができる。なお、駆動用の電源電圧についても、本実施形態の増設記憶装置１は従来の増設記憶装置に比べて低電圧化されている。
【００６６】
次に、本実施形態に係る増設記憶装置１を用いたＰＬＣシステムの動作について説明する。
【００６７】
増設記憶装置１がＰＬＣ２に接続された状態でＰＬＣ２が起動、あるいはＰＬＣ２の稼働中に増設記憶装置１がＰＬＣ２に接続されると、増設記憶装置１およびＰＬＣ２からなるＰＬＣシステムが起動する。ＰＬＣシステムが起動すると、ＰＬＣ２は、増設記憶装置１との間でデータ交換（データの読み出しおよび書き込み）を可能とするべく、増設記憶装置１に対して識別子要求信号を送信する。
【００６８】
増設記憶装置１は、ＰＬＣ２から電源変換部１２３経由で電力供給されて偽装回路１２１および実装メモリ１１が動作し、識別子要求信号を受信すると、偽装回路１２１が識別子記憶部３８に記憶されている偽装識別子をＰＬＣ２に返信する。
【００６９】
本実施形態においては、ＰＬＣ２が増設記憶装置１から識別子（ＩＤ）を読み出すためのコマンド（つまり識別子要求信号）は、たとえば図６に示すように５つのステップによって構成されている。なお、図６では、「1st Write」が第１ステップ、「2nd Write」が第２ステップ、「3rd Write」が第３ステップ、「READ」が第４，５ステップを表し、「Adde1」にアドレス、「Data」にデータを示している。
【００７０】
具体的に説明すると、ＰＬＣ２は増設記憶装置１に対し、識別子要求信号として、まず第１ステップで、第１アドレス（“５５５５Ｈ”）のＡＤＤＲ信号および第１データ（“ＡＡＨ”）のＤＡＴＡ信号を送信する。これらＡＤＤＲ信号およびＤＡＴＡ信号は、それぞれ信号変換部１２２経由で偽装回路１２１に入力される。
【００７１】
次の第２ステップでは、ＰＬＣ２は、第２アドレス（“２ＡＡＡＨ”）のＡＤＤＲ信号および第２データ（“５５Ｈ”）のＤＡＴＡ信号を増設記憶装置１に送信し、これらＡＤＤＲ信号およびＤＡＴＡ信号は、第１ステップと同様に偽装回路１２１に入力される。次の第３ステップでは、ＰＬＣ２は、第３アドレス（“５５５５Ｈ”）のＡＤＤＲ信号および第３データ（“９０Ｈ”）のＤＡＴＡ信号を増設記憶装置１に送信し、これらＡＤＤＲ信号およびＤＡＴＡ信号は、第１ステップと同様に偽装回路１２１に入力される。
【００７２】
第１〜３ステップでは、ＡＤＤＲ信号、ＤＡＴＡ信号を受けた偽装回路１２１は、ＡＤＤＲ信号をアドレス判別部３５、コマンド判別部３６の各々に入力し且つ実装メモリ１１に出力し、ＤＡＴＡ信号をコマンド判別部３６に入力し且つ実装メモリ１１に出力する。コマンド判別部３６は、第１〜３ステップでＡＤＤＲ信号およびＤＡＴＡ信号が識別子を要求するコマンドであると判断すると（つまりＡＤＤＲ信号が第１〜３アドレスで、ＤＡＴＡ信号が第１〜３データであると）、ＩＤ読出モードに切り替える。つまり、コマンド判別部３６は、アドレス判別部３５へＩＤ読出モードを表すモード信号を出力し、アンド回路３７へのイネーブル信号を“Ｌ”に維持する。
【００７３】
次に、第４ステップでは、ＰＬＣ２は、第４アドレス（“００００Ｈ”）のＡＤＤＲ信号を増設記憶装置１に送信し、このＡＤＤＲ信号は、第１ステップと同様に偽装回路１２１に入力される。次の第５ステップでは、ＰＬＣ２は、第５アドレス（“０００１Ｈ”）のＡＤＤＲ信号を増設記憶装置１に送信し、このＡＤＤＲ信号は、第１ステップと同様に偽装回路１２１に入力される。
【００７４】
ここで、アドレス判別部３５は、ＩＤ読出モードを表すモード信号が入力されている。そのため、アドレス判別部３５は、第４，５ステップでＡＤＤＲ信号が識別子を格納してあるアドレスであると判断すると（つまりＡＤＤＲ信号が第４，５アドレスであると）、Ｂ入力またはＣ入力を出力に接続するようにマルチプレクサ３４を制御する。ここでは、マルチプレクサ３４は、ＡＤＤＲ信号が第４アドレスのとき（第４ステップ）にＢ入力を出力に接続し、ＡＤＤＲ信号が第５アドレスのとき（第５ステップ）にＣ入力を出力に接続するように、セレクト信号によって制御される。
【００７５】
したがって、マルチプレクサ３４は、第４ステップにてＢ入力に接続されたメーカＩＤ記憶部３８１内のメーカＩＤ（“ＢＦＨ”）を出力し、第５ステップにてＣ入力に接続されたデバイスＩＤ記憶部３８２内のデバイスＩＤ（“１０Ｈ”）を出力する。これにより、偽装回路１２１は、第４，５ステップにおいて、偽装識別子（メーカＩＤが“ＢＦＨ”でデバイスＩＤが“１０Ｈ”）をＤＡＴＡ信号として、信号変換部１２２経由でＰＬＣ２に送信することになる。
【００７６】
また、このとき、イネーブル信号は“Ｌ”であるから、アンド回路３７は、ライトプロテクトとして機能し実装メモリ１１へのＷＲ信号の伝達を禁止している。そのため、適合化処理部１２は、ＩＤ読出モードにおいては、ＲＡＭからなる実装メモリ１１がコマンド操作のためのデータを誤って書き込むことを防止できる。
【００７７】
上述したような動作により、増設記憶装置１は、ＰＬＣ２から識別子要求信号を受信すると、実装メモリ１１がＲＡＭであるにも関わらず、適合化処理部１２からＰＬＣ２に適合した適合メモリの識別子（偽装識別子）をＰＬＣ２へ返信することになる。これにより、ＰＬＣ２は、増設記憶装置１に搭載されているメモリ（実際には、偽装回路１２１が保持している偽装識別子に対応するメモリ）の型式を特定でき、以降、この型式に対応した手順に従って増設記憶装置１との間でデータ交換を実行する。
【００７８】
ＰＬＣ２との間でデータ交換が行われる際の増設記憶装置１の動作について、以下に間単に説明する。
【００７９】
まず、ＰＬＣ２が増設記憶装置１の実装メモリ１１からデータを読み出す場合には、増設記憶装置１は、コマンド判別部３６でのコマンドの判別結果に応じて、動作モードをデータ読出モードに切り替える。データ読出モードにおいては、増設記憶装置１は、ＲＡＭからなる実装メモリ１１を搭載しているものの、フラッシュＲＯＭ（フラッシュメモリ）を搭載している場合と同じように動作する。つまり、増設記憶装置１がデータ読出モードにあれば、アドレス判別部３５は、Ａ入力を出力に接続するようにセレクト信号によってマルチプレクサ３４を制御する。これにより、偽装回路１２１はＤＡＴＡ信号、ＡＤＤＲ信号、ＲＤ信号をスルーさせるので、ＰＬＣ２は、実装メモリ１１からデータを読み出すことができる。
【００８０】
また、このときコマンド判別部３６から出るイネーブル信号は“Ｌ”に維持されているから、アンド回路３７は、ライトプロテクトとして機能し実装メモリ１１へのＷＲ信号の伝達を禁止している。そのため、適合化処理部１２は、データ読出モードにおいては、ＲＡＭからなる実装メモリ１１がコマンド操作のためのデータを誤って書き込むことを防止できる。
【００８１】
一方、ＰＬＣ２が増設記憶装置１の実装メモリ１１にデータを書き込む場合には、増設記憶装置１は、コマンド判別部３６でのコマンドの判別結果に応じて、動作モードをデータ書込モードに切り替える。本実施形態においては、ＰＬＣ２がデータを書き込むためのコマンドは、たとえば図７に示すように５つのステップによって構成される。なお、図７では、「1st Write」が第１ステップ、「2nd Write」が第２ステップ、「3rd Write」が第３ステップ、「Data Write」が第４，５ステップを表し、「Adde1」にアドレス、「Data」にデータを示している。
【００８２】
つまり、ＰＬＣ２は増設記憶装置１に対し、まず第１ステップで、第１アドレス（“５５５５Ｈ”）および第１データ（“ＡＡＨ”）をＡＤＤＲ信号、ＤＡＴＡ信号として送信する。さらに、ＰＬＣ２は、第２ステップで第２アドレス（“２ＡＡＡＨ”）および第２データ（“５５Ｈ”）を、第３ステップでは第３アドレス（“５５５５Ｈ”）および第３データ（“Ａ０Ｈ”）をＡＤＤＲ信号、ＤＡＴＡ信号として増設記憶装置１に送信する。これらＡＤＤＲ信号およびＤＡＴＡ信号は、それぞれ信号変換部１２２経由で偽装回路１２１に入力される。コマンド判別部３６は、第１〜３ステップでコマンドを判別し、データ書込モードに切り替える。
【００８３】
データ書込モードにおいては、増設記憶装置１は、コマンド判別部３６から“Ｈ”のイネーブル信号が出力されるので、アンド回路３７によるライトプロテクトが解除され、ＰＬＣ２から実装メモリ１１へＷＲ信号が伝達可能となる。また、増設記憶装置１がデータ書込モードにあれば、アドレス判別部３５は、Ａ入力を出力に接続するようにセレクト信号によってマルチプレクサ３４を制御する。
【００８４】
つまり、ＰＬＣ２は、データを書き込む場合、増設記憶装置１に対してライトプロテクトの解除コマンドを発行し、このコマンドを受け付けることによって、偽装回路１２１はアンド回路３７によるライトプロテクトを解除する。これにより、偽装回路１２１は、ＰＬＣ２と実装メモリ１１との間でＤＡＴＡ信号、ＡＤＤＲ信号、ＲＤ信号、さらにＷＲ信号をスルーさせる。
【００８５】
そのため、増設記憶装置１がデータ書込モードにあれば、ＰＬＣ２は、実装メモリ１１に対してデータを書き込むことができる。図７の例では、第４ステップで実装メモリ１１の第４アドレス（“００００Ｈ”）に所定の第４データ（“＊＊Ｈ”）が書き込まれ、第５ステップで実装メモリ１１の第５アドレス（“０００１Ｈ”）に所定の第５データ（“＊＊Ｈ”）が書き込まれる。実装メモリ１１へのデータの書き込みが完了すれば、コマンド判別部３６は、データ書込モードを終了して“Ｌ”のイネーブル信号を出力する。これにより、アンド回路３７は、再びライトプロテクトとして機能し実装メモリ１１へのＷＲ信号の伝達を禁止するので、データ書込モード以外で、ＲＡＭからなる実装メモリ１１がコマンド操作のためのデータを誤って書き込むことを防止できる。
【００８６】
また、ＲＡＭとフラッシュＲＯＭとでは書き込み可能なデータの単位が異なっており、ＲＡＭでは１バイト単位でデータが書き込まれるのに対し、フラッシュＲＯＭでは数バイト単位でデータの書き込みが行われる。そこで、本実施形態では、適合化処理部１２は、ＲＡＭである実装メモリ１１から読み出されるデータおよび実装メモリ１１に書き込まれるデータを一時的に保持するバッファを有し、ＰＬＣ２からの見かけ上、数バイト単位でデータが読み書きされるようにする。つまり、増設記憶装置１は、信号変換部１２３の双方向バッファ１２４およびバッファ１２５が上記バッファとして機能し、ＰＬＣ２との間でのデータ交換をフラッシュＲＯＭに合わせて数バイト単位で行っている。
【００８７】
以上説明した本実施形態の増設記憶装置１によれば、ＰＬＣ２は、適合化処理部１２が保持する偽装識別子に基づいて、実装メモリ１１とのデータ交換を実行するための手順を判断することができ、搭載されているメモリがＲＡＭであってもデータ交換可能になる。要するに、この増設記憶装置１は、実装メモリ１１としてＲＡＭを搭載しながらも、ＲＡＭに対応していないＰＬＣ２に対して、ＰＬＣ２に適合したメモリ（ＲＯＭ）を搭載しているように見せ掛けることができる。したがって、増設記憶装置１は、ＲＡＭを搭載しながらも、ＲＡＭに対応していないＰＬＣ２をバージョンアップ等することなくそのまま使用することができる、という利点がある。
【００８８】
しかも、この増設記憶装置１によれば、非同期ＳＲＡＭ系のメモリデバイスを実装メモリ１１として用いることができるので、ＲＯＭのみしか使用することができない従来の増設記憶装置に比べて、メモリデバイスの選択肢が多くなるという利点もある。
【００８９】
また、本実施形態の増設記憶装置１は信号変換部１２２を備えているので、ＰＬＣ２における入出力信号の電圧レベルと、増設記憶装置１における入出力信号の電圧レベルとが不一致であっても、増設記憶装置１とＰＬＣ２とが相互に信号を授受できる。
【００９０】
さらに、本実施形態の増設記憶装置１は電源変換部１２３を備えているので、ＰＬＣ２から供給される電力の電圧レベルと異なる電圧レベルで駆動される実装メモリ１１および偽装回路１２１を採用することができる。
【００９１】
また、実装メモリ１１は、不揮発性のＲＡＭ、あるいはＲＡＭにバックアップ電源が組み合わされて用いられているので、ＰＬＣ２からの電源供給が遮断されてもデータを保持し続けることができる。したがって、増設記憶装置１は、不揮発性という点でも、フラッシュＲＯＭを搭載した増設記憶装置と同様に扱うことができる。
【００９２】
さらにまた、適合化処理部１２は、データを一時的に保持するバッファを有するので、ＲＡＭとフラッシュＲＯＭとの間における書き込み可能なデータの単位の差を埋めることができる。したがって、ＰＬＣ２にあっては、ＲＡＭからなる実装メモリ１１に対しても、見かけ上、フラッシュＲＯＭと同じように複数バイト単位でデータ交換が可能になる。
【００９３】
また、偽装回路１２１はＰＬＤで構成されているので、比較的簡単にプログラムの書き換えが可能であり、識別子記憶部３８内の偽装識別子がＰＬＣ２に適合していない場合に、偽装識別子の書き換えによって対応することも可能である。さらに、ＰＬＤで構成された偽装回路１２１は起動が比較的早いので、ＰＬＣ２はＰＬＣシステムの起動と略同時に増設記憶装置１にアクセス可能になる。なお、偽装回路１２１はＡＳＩＣで構成されていてもよい。
【００９４】
ところで、上述した増設記憶装置１の適合化処理部１２は、実装メモリ１１と切り離されて、実装メモリ１１の代わりに増設メモリ（図示せず）が着脱自在に接続されるアダプタ装置を構成してもよい。
【００９５】
アダプタ装置は、上述の適合化処理部１２およびコネクタ１３に加え、増設メモリを接続するためのメモリ用コネクタを一体に備えて構成される。このアダプタ装置は、ＰＬＣ２と、データの読み出しおよび書き込みが可能なＲＡＭからなる増設メモリとに接続され、増設メモリによってＰＬＣ２にメモリを増設する。なお、コネクタ１３あるいはメモリ用コネクタは、適合化処理部１２と別体に設けられ、適合化処理部１２との間がケーブルで接続されていてもよい。
【００９６】
このように構成されるアダプタ装置によれば、ＰＬＣ２は、適合化処理部１２が保持する偽装識別子に基づいて、増設メモリとのデータ交換を実行するための手順を判断することができ、増設メモリがＲＡＭであっても増設メモリとの間でデータ交換可能になる。要するに、アダプタ装置は、増設メモリとしてＲＡＭを使用しながらも、ＲＡＭに対応していないＰＬＣ２に対して、ＰＬＣ２に適合したメモリ（ＲＯＭ）を搭載しているように見せ掛けることができる。つまり、増設メモリとＰＬＣ２との間にアダプタ装置を介在させるだけで、ＰＬＣ２に不適合なメモリであっても増設メモリとして使用可能になるので、ＰＬＣ２のユーザにおいては、増設メモリとして使用可能なメモリデバイスの選択肢が多くなる。
【００９７】
（実施形態２）
本実施形態の増設記憶装置１は、識別子記憶部３８が偽装識別子を予め複数記憶している点で実施形態１の増設記憶装置１と相違する。以下、実施形態１と同様の構成については、共通の符号を付して適宜説明を省略する。
【００９８】
本実施形態では、適合化処理部１２の偽装回路１２１は、識別子記憶部３８に記憶されている複数の偽装識別子の中から、一の偽装識別子を選択する選択部（図示せず）を有している。具体的には、識別子記憶部３８は、メーカＩＤ記憶部３８１とデバイスＩＤ記憶部３８２とをそれぞれ複数ずつ有し、選択部は、複数の偽装識別子から一の偽装識別子を選択するスイッチ回路にて構成される。ここで、複数の仮想デバイスに対応する偽装識別子が、それぞれメーカＩＤとデバイスＩＤに分離されて、各メーカＩＤ記憶部３８１および各デバイスＩＤ記憶部３８２に予め記憶される。
【００９９】
選択部は、たとえば識別子記憶部３８とマルチプレクサ３４との間に挿入されたディップスイッチからなり、複数のメーカＩＤ記憶部３８１のうちの１つをＢ入力に接続し、複数のデバイスＩＤ記憶部３８２のうちの１つをＣ入力に接続する。したがって、ユーザは、選択部を操作してマルチプレクサ３４のＢ入力、Ｃ入力の各接続先を選択することにより、１組のメーカＩＤおよびデバイスＩＤからなる偽装識別子を選択することができる。増設記憶装置１は、このようにして選択された偽装識別子を、識別子要求信号への応答として偽装回路１２１からＰＬＣ２に返信することになる。
【０１００】
以上説明した本実施形態の増設記憶装置１では、ユーザは、実際に実装メモリ１１として搭載されているＲＡＭの型式あるいはＰＬＣ２の型式に合わせて、複数の偽装識別子の中から適用する一の偽装識別子を選択することができる。要するに、偽装識別子は、ＰＬＣ２からの見かけ上の増設記憶装置１が搭載しているメモリ（適合メモリ）を特定する識別子であるから、実際に搭載されているＲＡＭの型式や接続されるＰＬＣ２の型式に合わせて変更することが望ましい。本実施形態の増設記憶装置１は、この偽装識別子を予め複数保持しているので、実際に適用する偽装識別子をこれら複数の中からユーザが任意に選択することができる。したがって、増設記憶装置１は、実装メモリ１１として搭載しているＲＡＭの型式やＰＬＣ２の型式ごとに偽装回路１２１を別設計とする必要がなく、偽装回路１２１の共通化を図ることができる。
【０１０１】
また、本実施形態では、偽装識別子がメーカＩＤとデバイスＩＤとを含むので、メーカＩＤが共通する複数の偽装識別子については、メーカＩＤは１つ記憶されていればよく、これにより、識別子記憶部３８に必要な記憶容量を少なく抑えることができる。つまり、識別子記憶部３８は、メーカＩＤが共通でデバイスＩＤが異なる複数の偽装識別子を記憶する場合、メーカＩＤ記憶部３８１に１つのメーカＩＤを記憶し、デバイスＩＤ記憶部３８２に複数のデバイスＩＤを記憶すればよいので、記憶容量を少なくできる。
【０１０２】
その他の構成および機能は実施形態１と同様である。
【符号の説明】
【０１０３】
１  増設記憶装置
２  ＰＬＣ（プラグラマブルロジックコントローラ）
１１  実装メモリ
１２  適合化処理部
１２１  偽装回路
１２２  信号変換部
１２３  電源変換部
１２４  双方向バッファ（バッファ）
１２５  バッファ
３８  識別子記憶部
【図１】
0005816034.tif 000002
【図２】
0005816034.tif 000003
【図３】
0005816034.tif 000004
【図４】
0005816034.tif 000005
【図５】
0005816034.tif 000006
【図６】
0005816034.tif 000007
【図７】
0005816034.tif 000008