(57)【要約】【課題】  バスの切り替え回路が単純で部品点数が少なく、かつＣＰＵのアドレス空間をビット演算プロセッサ用ＲＡＭエリアに占有されず効率の良いデュアルポートＲＡＭへのプログラム書き込み回路を提供する。【解決手段】  ビット演算プロセッサのプログラムカウンタ２の出力をデュアルポートＲＡＭ１のアドレスに入力し、ＣＰＵがデュアルポートＲＡＭ１をアクセスするときは、プログラムカウンタ２にビット演算プロセッサから見たデュアルポートＲＡＭのアドレスを書き込む。【選択図】図１
2006301776.tif 000002
【特許請求の範囲】
【請求項１】
デュアルポートＲＡＭ上でユーザプログラムを実行しビット演算を行うビット演算プロセッサを内蔵するプログラマブルコントローラにあって、ＣＰＵが電源投入時あらかじめ前記プログラマブルコントローラ内に格納されているユーザプログラムを前記デュアルポートＲＡＭに書き込むデュアルポートＲＡＭへのプログラム書き込み回路において、
前記ビット演算プロセッサのプログラムカウンタの出力を前記デュアルポートＲＡＭのアドレスに入力し、
前記ＣＰＵがデュアルポートＲＡＭをアクセスするときは、前記プログラムカウンタに前記ビット演算プロセッサから見たデュアルポートＲＡＭのアドレスを書き込むことを特徴とするデュアルポートＲＡＭへのプログラム書き込み回路。
【請求項２】
前記ＣＰＵが出力するデュアルポートＲＡＭの書き込み信号で前記プログラムカウンタをカウントアップし、該プログラムカウンタをオートインクリメントすることを特徴とする請求項１記載のデュアルポートＲＡＭへのプログラム書き込み回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デュアルポートＲＡＭ上でユーザプログラムを実行しビット演算を行うビット演算プロセッサを内蔵するプログラマブルコントローラで、ＣＰＵが電源投入時にデュアルポートＲＡＭにユーザプログラムを書き込むデュアルポートＲＡＭへのプログラム書き込み回路に関する。
【背景技術】
【０００２】
産業機械のシーケンス制御を行うプログラマブルコントローラでは、従来からビット演算を高速に実行する、ゲートアレーなどを用いたビット演算プロセッサが使用されている。（例えば特許文献1参照）
このビット演算プロセッサには、ユーザが作成したシーケンス制御用のユーザプログラムをＲＡＭに格納して、実行するものがある。従来このＲＡＭにデータを書き込むにはデュアルポートＲＡＭを使用し、プログラマブルコントローラのメインとなるＣＰＵとビット演算プロセッサの双方からランダムに読めるメモリー構成として、電源投入時にＣＰＵからユーザプログラムをデュアルポートＲＡＭに書き込んでいた。
【０００３】
図３は、従来のデュアルポートＲＡＭへのプログラム書き込み回路の例を示す図である。
1はデュアルポートＲＡＭである。ビット演算プロセッサ用のユーザプログラムはＣＰＵによって書き込まれるのでＣＰＵに隷属しているので、通常のデュアルポートＲＡＭのようにバスのアービトレーションは行わず、ＣＰＵの出力である、ビット演算プロセッサ／ＣＰＵ選択信号によってバッファを切り換える。
なお、図３に示す回路はプログラム書き込み時だけでなく、電源投入後、ビット演算プロセッサが有効になると、ビット演算プロセッサのプログラムカウンタを使用し、デュアルポートＲＡＭに格納されたユーザプログラムから、ビット演算の命令をインストラクションとして読み出し実行するときにも使用する。
図４は従来のデュアルポートＲＡＭへのプログラム書き込み回路を使用するときのＣＰＵのアドレス空間とその内容を示す図である。図の上から順に、ＣＰＵのシステムプログラムエリア、ビット演算プロセッサ用のユーザプログラムエリア、ビット演算プロセッサ用デュアルポートＲＡＭエリア、システム用ＲＡＭエリア、Ｉ/Ｏエリアである。なお、ビット演算プロセッサ用のユーザプログラムはあらかじめ作業者により格納されているものとする。
プログラマブルコントローラ電源投入時に、ＣＰＵがビット演算プロセッサ用のユーザプログラムをデュアルポートＲＡＭ１に書き込むときは、ビット演算プロセッサ/ＣＰＵ選択信号をＣＰＵ側にして、ビット演算プロセッサ用ユーザプログラムエリアにあるユーザプログラムをＣＰＵから見たデュアルポートＲＡＭ１のアドレスを使用し、デュアルポートＲＡＭ１に書き込む。
【特許文献１】特開平９−１５２９０４号公報（１０頁、図６）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のデュアルポートＲＡＭへのプログラム書き込み回路では、バスの切り替え回路が多く部品点数が多く、かつＣＰＵのアドレス空間をビット演算プロセッサ用デュアルポートＲＡＭエリアが占有してしまい、システムとしての効率が悪い。
そこで本発明は、このような問題点に鑑みてなされたものであり、バスの切り替え回路が単純で部品点数が少なく、かつＣＰＵのアドレス空間をビット演算プロセッサ用デュアルポートＲＡＭエリアに占有されず効率の良いデュアルポートＲＡＭへのプログラム書き込み回路を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記問題を解決するため、本発明は、次のように構成したのである。
請求項１に記載の発明は、デュアルポートＲＡＭ上でユーザプログラムを実行しビット演算を行うビット演算プロセッサを内蔵するプログラマブルコントローラにあって、ＣＰＵが電源投入時あらかじめ前記プログラマブルコントローラ内に格納されているユーザプログラムを前記デュアルポートＲＡＭに書き込むデュアルポートＲＡＭへのプログラム書き込み回路において、前記ビット演算プロセッサのプログラムカウンタの出力を前記デュアルポートＲＡＭのアドレスに入力し、前記ＣＰＵがデュアルポートＲＡＭをアクセスするときは、前記プログラムカウンタに前記ビット演算プロセッサから見たデュアルポートＲＡＭのアドレスを書き込むことを特徴とするものである。
また、請求項２に記載の発明は、前記ＣＰＵが出力するデュアルポートＲＡＭの書き込み信号で前記プログラムカウンタをカウントアップし、該プログラムカウンタをオートインクリメントすることを特徴とするものである。
【発明の効果】
【０００６】
本発明によれば、ビット演算プロセッサのプログラムカウンタの出力をデュアルポートＲＡＭのアドレスに入力し、ＣＰＵがデュアルポートＲＡＭをアクセスするときは、プログラムカウンタにビット演算プロセッサから見たデュアルポートＲＡＭのアドレスを書き込むようにしたので、バスの切り替え回路が単純化され部品点数が少なくなると共に、ＣＰＵのアドレス空間をビット演算プロセッサ用ＲＡＭエリアに占有されず効率の良いデュアルポートＲＡＭへのプログラム書き込み回路を提供することができる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の実施の形態について図を参照して説明する。
【実施例１】
【０００８】
図１は、本発明のデュアルポートＲＡＭへのプログラム書き込み回路の例を示す図である。本回路が従来技術と異なる点は、アドレスを生成する回路部である。
１はデュアルポートＲＡＭ、２はビット演算プロセッサのプログラムカウンタである。
ビット演算プロセッサのプログラムカウンタ２は開始アドレスが設定出来るように、ＣＰＵのＩ／Ｏの一部となっている。すなわち、ここはＣＰＵが直接アクセスできるため、図３の従来技術に示すように、わざわざバスバッファの切り換えを行う必要はない。
そこで、図１に示すようにデュアルポートＲＡＭ１のアドレスは常にプログラムカウンタの出力となるようにする。電源投入時、デュアルポートＲＡＭ１をＣＰＵがアクセスするときはＩ／Ｏを経由してプログラムカウンタ２にビット演算プロセッサ側から見たデュアルポートＲＡＭの該当アドレスを書き込めば良い。
このときビット演算プロセッサは起動されていないので、プログラムカウンタが自走することはない。デュアルポートＲＡＭ１のアドレスを変更するには再度ＣＰＵがプログラムカウンタ２に新たなアドレスを書き込めば良い。このときプログラムカウンタ２は単なるＤタイプフリップフロップとして使用しているだけである。
なお、ＣＰＵが出力するデュアルポートＲＡＭの書き込み信号でプログラムカウンタ２をカウントアップするようにすれば、プログラムカウンタ２はオートインクリメントを行うためＣＰＵはアドレス変更ごとに毎回アドレスをセットする必要はなくなり、ＣＰＵの負荷を低減することができる。
【０００９】
図２は、本発明のデュアルポートＲＡＭへのプログラム書き込み回路を使用するときのＣＰＵのアドレスと内容を示す図である。ビット演算プロセッサプログラムカウンタ用エリアが数バイト必要になるが、図４にあるビット演算プロセッサ用デュアルポートＲＡＭエリアは不要となる。
このように、ビット演算プロセッサのプログラムカウンタの出力をデュアルポートＲＡＭのアドレスに入力し、ＣＰＵがデュアルポートＲＡＭをアクセスするときは、プログラムカウンタにビット演算プロセッサから見たデュアルポートＲＡＭのアドレスを書き込むようにしたので、バスの切り替え回路が単純化され部品点数が少なくなると共に、ＣＰＵのアドレス空間をビット演算プロセッサ用デュアルポートＲＡＭエリアに占有されず効率の良いデュアルポートＲＡＭへのプログラム書き込み回路を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明のデュアルポートＲＡＭへのプログラム書き込み回路の例を示す図
【図２】本発明のデュアルポートＲＡＭへのプログラム書き込み回路を使用するときのＣＰＵのアドレスと内容を示す図
【図３】従来のデュアルポートＲＡＭへのプログラム書き込み回路の例を示す図
【図４】従来のデュアルポートＲＡＭへのプログラム書き込み回路を使用するときのＣＰＵのアドレス空間とその内容を示す図
【符号の説明】
【００１１】
１  デュアルポートＲＡＭ
２  プログラムカウンタ
【図１】
2006301776.tif 000003
【図２】
2006301776.tif 000004
【図３】
2006301776.tif 000005
【図４】
2006301776.tif 000006