(57)【特許請求の範囲】
【請求項１】
ＣＰＵモジュールがＩＯバスを介してＩＯモジュールにアクセスするプログラマブルコントローラにおいて、
前記ＣＰＵモジュールは少なくとも、シーケンス命令処理を行うシーケンス命令処理プロセッサと、前記シーケンス命令処理において使用するＩＯモジュールのデータをリフレッシュするマイクロプロセッサユニット（ＭＰＵ）と、メモリと、前記ＩＯモジュールにアクセスをするバスインターフエースとからなり、
前記バスインターフエースはダイレクトメモリアクセスコントローラ（ＤＭＡＣ）を備え、該ＤＭＡＣは、前記シーケンス命令処理においてリード命令、ライト命令、ダイレクトリフレッシュ命令の処理が発生すると、前記シーケンス命令処理プロセッサからの直接の指示で、アクセスするＩＯモジュールのアドレス、前記メモリのアドレス、転送モード、転送数のパラメータを前記メモリから自動的にロードし、前記メモリと前記ＩＯモジュールの間のデータ転送を行い、データ転送が終了するとデータ転送終了のステータスを前記メモリにストアすることを特徴とするプログラマブルコントローラ。
【請求項２】
前記ＤＭＡＣを複数備えたことを特徴とする請求項１に記載のプログラマブルコントローラ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プログラマブルコントローラに関するものであり、詳しくはプログラマブルコントローラのＣＰＵモジュールに関し、ＩＯモジュールのアクセスを伴うシーケンス命令処理プロセッサの高速化を計ったプログラマブルコントローラのＣＰＵモジュールに関する。
【０００２】
【従来の技術】
従来技術におけるプログラマブルコントローラは、図２に示すように、シーケンスプログラムの演算等を行うＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）モジュール１０と、外部とのインターフェースを司るＩＯ（Ｉｎｐｕｔ Ｏｕｔｐｕｔ）モジュール２０と、ＣＰＵモジュール１０とＩＯモジュール２０とをバスラインで接続するＩＯバス３０とから構成されている。
【０００３】
ＣＰＵモジュール１０は、ＩＯレフレッシュや周辺処理を行うＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｏｒ Ｕｎｉｔ）１１と、シーケンス命令処理を行うシーケンス命令処理プロセッサ１２と、シーケンスプログラムやデータを格納するメモリ１３と、ＭＰＵ１１とシーケンス命令処理プロセッサ１２が並列に動作できるように分離するためのバッフア１４と、ＭＰＵ１１がＩＯモジュール２０へアクセスする時に、ＭＰＵバス１５のデータをＩＯバス３０に変換するバスインターフエース回路１６とから構成されている。このうち、ＭＰＵ１１とバスインターフエース回路１６とバッフア１４はＭＰＵバス１５を介して接続され、バッフア１４とシーケンス命令処理プロセッサ１２とメモリ１３はＳＰＵバス１７を介して接続されている。
【０００４】
このような構成において、シーケンスプログラムで、リード命令、ライト命令、ダイレクトリフレッシュ命令の処理が発生すると次に示すような動作をする。
【０００５】
先ず、シーケンス命令処理プロセッサ１２は、ＳＰＵバス１７を介してメモリ１３から、種々の命令をフェッチすると、ＩＲＱ信号をアサートし、ＭＰＵ１１に割り込みを行う。ＭＰＵ１１は、割り込みが発生すると、ＭＰＵバス１５、バッフア１４、ＳＰＵバス１７を経由してメモリ１３にアクセスし、命令コード、ＩＯモジュール２０のアドレス、メモリ１３のアドレス、転送数などの命令処理に必要な情報を読み出す。更に、ＭＰＵ１１は、メモリ１３とＩＯモジュール２０の間のデータ転送を行う。このデータ転送が終了すると、この終了したことをシーケンス命令処理プロセッサ１２に通知し、一連の命令処理は完了する。
【０００６】
【発明が解決しようとする課題】
しかしながら、上述した従来技術におけるシーケンス命令処理プロセッサがＩＯモジュールへアクセスしようとした場合、ＭＰＵへ割り込みを行い、ＭＰＵにＩＯモジュールへアクセスを代行してもらう必要があり、処理時間が長くなるという問題がある。即ち、シーケンスプログラムで、リード命令、ライト命令、ダイレクトリフレッシュ命令の処理時間が長くなっていた。又、このことによって、ＭＰＵの処理負荷も増大していた。
【０００７】
従って、シーケンス命令処理プロセッサにおいて、ＩＯモジュールへのアクセスを高速化することに解決しなければならない課題を有する。
【０００８】
【課題を解決するための手段】
上記課題を解決するために、本発明に係るプログラマブルコントローラは下記のような構成にすることである。
【０００９】
（１）ＣＰＵモジュールがＩＯバスを介してＩＯモジュールにアクセスするプログラマブルコントローラにおいて、
前記ＣＰＵモジュールは少なくとも、シーケンス命令処理を行うシーケンス命令処理プロセッサと、前記シーケンス命令処理において使用するＩＯモジュールのデータをリフレッシュするマイクロプロセッサユニット（ＭＰＵ）と、メモリと、前記ＩＯモジュールにアクセスをするバスインターフエースとからなり、
前記バスインターフエースはダイレクトメモリアクセスコントローラ（ＤＭＡＣ）を備え、該ＤＭＡＣは、前記シーケンス命令処理においてリード命令、ライト命令、ダイレクトリフレッシュ命令の処理が発生すると、前記シーケンス命令処理プロセッサからの直接の指示で、アクセスするＩＯモジュールのアドレス、前記メモリのアドレス、転送モード、転送数のパラメータを前記メモリから自動的にロードし、前記メモリと前記ＩＯモジュールの間のデータ転送を行い、データ転送が終了するとデータ転送終了のステータスを前記メモリにストアすることを特徴とするプログラマブルコントローラ。
（２）前記ＤＭＡＣを複数備えたことを特徴とする（１）に記載のプログラマブルコントローラ。
【００１０】
【発明の実施の形態】
次に、本願発明に係るプログラマブルコントローラの実施の形態について図面を参照して説明する。尚、従来技術と同様のものには同一符号を付与して説明する。
【００１１】
本発明に係るプログラマブルコントローラは、図１に示すように、シーケンスプログラムの演算等を行うＣＰＵモジュール１０と、外部とのインターフェースを行うＩＯモジュール２０とから構成され、これらＣＰＵモジュール１０とＩＯモジュール２０はＩＯバス３０を介して接続されている。
【００１２】
ＣＰＵモジュール１０は、ＩＯレフレッシュ及び周辺処理を行うＭＰＵ１１と、シーケンス命令処理を行うシーケンス命令処理プロセッサ１２と、シーケンスプログラムやデータを格納するためのメモリ１３と、ＭＰＵ１１とシーケンス命令処理プロセッサ１２が並列に動作できるようにバスを分離するためのバッフア１４と、ＭＰＵ１１がＩＯモジュール２０へアクセスする時にＭＰＵバス１５をＩＯバス３０に変換するバスインターフエース回路１６と、メモリ１３及びＩＯモジュール２０へアクセス可能なＤＭＡＣ（ダイレクトメモリアクセスコントローラ；Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  ＣｏｎｔｒｏｌＩｅｒ）１８とから構成されている。この内、バスインターフエース回路１６とＤＭＡＣ１８とでバスインターフエースＬＳＩ（１９）を構成する。又、シーケンス命令処理プロセッサ１２とメモリ１３、バッフア１４はＳＰＵバス１７を介して接続することができる構成になっている。
【００１３】
このような構成におけるシーケンスプログラムにおいて、リード命令、ライト命令、ダイレクトレフレッシュ命令の処理が発生すると、シーケンス命令処理プロセッサ１2は、ＳＰＵバス17を介してメモリ13からこれらの命令をフエッチすると、ＤＲＱ信号をアサートし、ＤＭＡＣ18にＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｅｓｓ）要求を行う。そして、ＭＰＵ１１はバスの占有権を開放すると、ＢＡＣＫ信号をアサートし、そのことをＤＭＡＣ１８に通知する。ＤＭＡＣ１８は、ＤＭＡ転送に必要なパラメータを自動的にロードする機能を有し、ＭＰＵバス１５を占有する権利を獲得するとＭＰＵバス１５、バッフア１４、ＳＰＵバス１７を介してメモリ１３にアクセスし、命令コード、ＩＯモジュール２０のアドレス、メモリ１３のアドレス、転送モード、転送数などのＤＭＡ転送に必要な情報を読み出す。次に、ＤＭＡＣ１８は、メモリ１３とＩＯモジュール２０の間のデータ転送を行い、データ転送が終了すると、そのことをシーケンス命令処理プロセッサ１２に通知すると共に、ＤＭＡ転送のステータスをメモリ１３にストアする。このようにして、シーケンス命令処理プロセッサ１２は、ＩＯバス３０をアクセスするためにＤＭＡＣ１８を介して直接にバスインターフエース回路１６を駆動制御することができるため、従来のようにＭＰＵ１１と内部バスを介してＩＯバス３０を駆動制御する必要がなくなり、その分迅速にＩＯモジュール２０をアクセスすることができる。
【００１４】
更に、ＭＰＵ１１への割り込みを行ってＤＭＡＣ１８を介してバスインターフエース回路１６を駆動制御するために、ＤＭＡＣ１８に複数のチャンネルを備えるようにすると、割り込み処理等で速やかにＩＯモジュール２０へのアクセスができるようになる。
【００１５】
【発明の効果】
以上説明したように、本発明に係るプログラマブルコントローラにおけるシーケンス命令処理プロセッサは、ＤＭＡＣを使用することによって、ＭＰＵを介さずにＩＯモジュールへのアクセスが可能になったため、同アクセスを高速に行うことができるという効果がある。
【００１６】
また、シーケンスプログラムにおいて、リード命令、ライト命令、ダイレクトレフレッシュ命令の処理を高速に行うことできるようになり、ＭＰＵの処理負荷軽減を図ることができるという効果がある。
【００１７】
更に、ＤＭＡＣを複数チャンネル装備することによって、シーケンス命令処理中の割り込み処理等で、ＩＯモジュールへのアクセス要求があった場合においても速やかな対処ができるという効果がある。
【図面の簡単な説明】
【図１】本願発明に係るプログラマブルコントローラの構成を示したブロック図である。
【図２】従来技術におけるプログラマブルコントローラの構成を示したブロック図である。
【符号の説明】
１０    ＣＰＵモジュール
１１    ＭＰＵ
１２    シーケンス命令処理プロセッサ
１３    メモリ
１４    バッフア
１５    ＭＰＵバス
１６    バスインターフエース回路
１７    ＳＰＵバス
１８    ＤＭＡＣ
１９    バスインターフエースＬＳＩ
２０    ＩＯモジュール
３０    ＩＯバス
【図１】
0003943302.tif 000002
【図２】
0003943302.tif 000003