"複数の独立したシーケンスプログラムを並行して実行するプログラマブルコントローラであって、シーケンスプログラムの中の所定の第1の命令をハードウェアで実行する複数の演算処理回路と、並行して実行されている複数の独立したシーケンスプログラムの中で、前記演算処理回路で実行できない第2の命令を実行する複数台のMPUと、前記演算処理回路で発生した少なくとも1つの前記第2の命令の情報を、その命令の発生した順番に前記MPUに転送する第1の転送手段と、前記MPUが実行した前記第2の命令の実行結果の情報を、前記第2の命令の情報の発生元である前記演算処理回路に転送する第2の転送手段とを備え、前記複数の演算処理回路は、前記のMPUの数と同じ数の、少なくとも一つの演算処理回路を含んだグループに分けられ、かつそれらのグループのうちの少なくとも一つは、少なくとも二つの演算処理回路を含み、前記第1及び第2の転送手段並びに前記MPUはこの少なくとも二つの演算処理回路を含むグループに対応して配されている、前記のプログラマブルコントローラ。前記複数の演算処理回路を前記グループに分けて構成するときに、前記複数の演算処理回路の各々がどのグループに属するかを選択する選択手段を有することを特徴とする請求項1に記載のプログラマブルコントローラ。前記選択手段は、前記演算処理回路の各々がどのグループに属するかを指定するデータを格納するレジスタと、前記レジスタに格納されたデータに従って各々の前記演算処理回路を対応する各グループの前記MPUと前記第1の転送手段と前記第2の転送手段に関連づける選択回路と、を備えたことを特徴とする請求項2に記載のプログラマブルコントローラ。前記演算処理回路の各々がどのグループに属するかを指定する前記データは、前記複数の独立したシーケンスプログラムを任意に前記グループに分けてシミュレーションを行い、前記複数のシーケンスプログラムの実行時間が最短となる組み合わせのデータであることを特徴とする請求項3に記載のプログラマブルコントローラ。前記第1の転送手段に替えて、一つの前記演算処理回路から一つの前記MPUに前記第2の命令の情報を直接転送する第3の転送手段を有する構成を含むことを特徴とする請求項1から請求項4のいずれか一つに記載のプログラマブルコントローラ。背景技術で説明した1の技術では、図2に示されるように、処理時間の合計が長くなるという問題がある。また、2の技術では、図3に示されるように、複数本のシーケンスプログラムをASIC30内部の複数個の演算処理回路、及び、1台のMPU10で実行する。そのため、プログラムを構成する命令において、MPUが実行する命令の占める割合が大きいと、複数本のプログラムが同時にMPUに命令の実行を要求する可能性が高くなり、MPUの命令実行待ちでプログラムが停止することになるという問題があった。図5は、従来技術の問題点を説明する図であり、2の技術を用いて、プログラム1~3が並行して処理されることを示している。符号100はMPUの実行命令時間、符合112はASICの実行命令時間である。また、符号114と符号116はプログラムの処理停止を意味する。MPU10が1台であるため、プログラム1のMPU10での処理が終了するのを待って、プログラム2のMPU10での処理が開始する。また、プログラム3の処理では、プログラム2のMPU10での処理が終了するのを待って、プログラム3のMPU10での処理が開始する。このように、MPU10が1個であるため、複数のプログラムのMPU実行命令を同時に処理することができず、プログラムが停止することが起こるという問題点がある。そこで本発明の目的は、上記従来技術の問題点に鑑み、プログラムを構成する命令において、MPUが実行する命令の占める割合が大きく、複数本のプログラムが同時にMPUに命令の実行を要求する場合でも、MPUの命令実行待ちでプログラムが停止する時間を短縮することが可能な、複数の独立したシーケンスプログラムを並列実行するプログラマブルコントローラを提供することである。本願の請求項1に係る発明は、複数の独立したシーケンスプログラムを並行して実行するプログラマブルコントローラであって、シーケンスプログラムの中の所定の第1の命令をハードウェアで実行する複数の演算処理回路と、並行して実行されている複数の独立したシーケンスプログラムの中で、前記演算処理回路で実行できない第2の命令を実行する複数台のMPUと、前記演算処理回路で発生した少なくとも1つの前記第2の命令の情報を、その命令の発生した順番に前記MPUに転送する第1の転送手段と、前記MPUが実行した前記第2の命令の実行結果の情報を、前記第2の命令の情報の発生元である前記演算処理回路に転送する第2の転送手段とを備え、前記複数の演算処理回路は、前記のMPUの数と同じ数の、少なくとも一つの演算処理回路を含んだグループに分けられ、かつそれらのグループのうちの少なくとも一つは、少なくとも二つの演算処理回路を含み、前記第1及び第2の転送手段並びに前記MPUはこの少なくとも二つの演算処理回路を含むグループに対応して配されている、前記のプログラマブルコントローラである。請求項2に係る発明は、前記複数の演算処理回路を前記グループに分けて構成するときに、前記複数の演算処理回路の各々がどのグループに属するかを選択する選択手段を有することを特徴とする請求項1に記載のプログラマブルコントローラである。請求項3に係る発明は、前記選択手段は、前記演算処理回路の各々がどのグループに属するかを指定するデータを格納するレジスタと、前記レジスタに格納されたデータに従って各々の前記演算処理回路を対応する各グループの前記MPUと前記第1の転送手段と前記第2の転送手段に関連づける選択回路と、を備えたことを特徴とする請求項2に記載のプログラマブルコントローラである。請求項4に係る発明は、前記演算処理回路の各々がどのグループに属するかを指定する前記データは、前記複数の独立したシーケンスプログラムを任意に前記グループに分けてシミュレーションを行い、前記複数のシーケンスプログラムの実行時間が最短となる組み合わせのデータであることを特徴とする請求項3に記載のプログラマブルコントローラである。請求項5に係る発明は、前記第1の転送手段に替えて、一つの前記演算処理回路から一つの前記MPUに前記第2の命令の情報を直接転送する第3の転送手段を有する構成を含むことを特徴とする請求項1から請求項4のいずれか一つに記載のプログラマブルコントローラである。本発明により、プログラムを構成する命令において、MPUが実行する命令の占める割合が大きく、複数本のプログラムが同時にMPUに命令の実行を要求する場合でも、MPUの命令実行待ちでプログラムが停止する時間を短縮することが可能な、複数の独立したシーケンスプログラムを並列実行するプログラマブルコントローラを提供できる。以下、本発明の実施形態を図面と共に説明する。なお、同じ要素や類似する要素は、同じ符号を用いて説明する。まず、本願の特許請求の範囲および課題を解決するための手段に記載される第1の転送手段と第2の転送手段について概略を説明する。第1の転送手段と第2の転送手段は、特許文献1に詳細に記述されているように、従来公知の技術であるため、詳細な説明は省略し、ここでは概略を説明する。シーケンスプログラムの中で、演算処理回路で実行可能な命令を第1の命令といい、前記演算処理回路で実行できずMPUで処理する命令を第2の命令という。演算処理回路は、第2の命令が発生したときにMPU命令実行要求信号を出力し該MPU命令実行要求信号を出力してからMPUが該第2の命令を完了するまで停止状態となるMPU命令実行要求手段と、MPUが前記第2の命令の実行を完了した信号を受けてプログラム実行を再開する再開手段とを有する。第1の転送手段は、第2の命令が発生したときにMPU命令実行要求信号を順次受け付ける受付手段と、前記第2の命令が発生した前記演算処理回路のID番号と前記第2の命令のプログラムアドレスを順次記憶する記憶手段と、前記記憶手段に記憶されているプログラムアドレスに基づいてMPUが順次前記第2の命令を実行していくためのMPU命令実行開始信号を前記受付手段からMPUに順次出力するMPU実行開始手段を有する。第2の転送手段は、MPUが第2の命令の実行を完了する毎に完了した前記第2の命令に対応する前記ID番号の演算処理回路にMPU命令実行完了信号と実行結果を出力するMPU実行完了通知手段とを有する。図6は、従来技術のハードウェアを2個実装した本発明の第1の実施形態を説明する図である。第1の実施形態は、ASIC30にn本の演算処理回路と2台の調停回路31,32を設け、2台のMPU11,12を用いる。第1の実施形態をより一般的に述べると、複数台のMPUと、複数個の演算処理回路、および、演算処理回路が実行できない命令MPU実行命令の実行をMPUに要求する際の複数の演算処理回路間の調停を行うMPUと同数の調停回路とを有するハードウェアを設ける。なお、マルチコアMPUのように、1チップに複数のコアを有するMPU1台で構成してもよい。第1の実施形態では、事前に各シーケンスプログラムの実行開始前に、ソフトウェアでシミュレーションを行ない、全体のプログラムの実行時間が最も短い構成となるように、複数のシーケンスプログラムを複数のセットにそれぞれ割り当てておく。これにより、最短の時間で複数のシーケンスプログラムを処理することができる。ところで、並列実行するプログラムの本数、あるいは、各プログラムに含まれるMPU実行命令の数も様々であるため、複数台のMPUを最大限に有効利用できない場合がある。図7は、プログラム1を構成する命令がほとんどMPU実行命令、プログラム2~8を構成する命令がほとんどASIC実行命令の場合のプログラムの実行時間を説明する図である。ただし、この図のプログラムの実行時間は、各プログラムが専用の演算処理回路及び専用のMPUで実行される、すなわち、各プログラムは、他のプログラムとの競合により、MPUの命令実行待ちとなって停止することがない、とした場合の実行時間である。図8は、演算処理回路が8回路で、従来技術のハードウェアを2つ実装する場合を説明する図である。図8の構成は、図6においてn=8の場合である。ASIC30には、8個の演算処理回路1~8と2つの調停回路31,32が備わっている。第1の調停回路31には演算処理回路1~4が接続され、第2の調停回路32には演算処理回路5~8が接続されている。そして、第1のMPU11に第1の調停回路31が接続され、第2のMPU12に第2の調停回路32が接続されている。図9は、図8の構成のプログラマブルコントローラで図7のプログラムを実行した場合のプログラムの実行時間を説明する図である。第1のMPU11は、プログラム1~4の実行処理で、MPU命令実行の待ち合わせを行なうため、プログラムの停止が発生する。図9に示される停止時間の問題を回避するため、図8に示される調停回路と演算処理回路との組み合わせを変更する。図10は、演算処理回路が8回路で、一つの調停回路を備えたハードウェアを実装する場合を説明する図である。演算処理回路1は直接、第1のMPU11に接続し、演算処理回路2~8は調停回路39に接続される。図11は、図10の構成のプログラマブルコントローラで図7のプログラムを実行した場合のプログラムの実行時間を説明する図である。プログラム1を構成する命令がほとんどMPU実行命令、プログラム2~8を構成する命令がほとんどASIC実行命令の場合、図8より図10のようなハードウェア構成になっている方が全体の実行時間を短縮できる。MPU実行命令とASIC実行命令の割合はプログラム毎に異なるため、プログラムに応じて複数のMPUと演算処理回路との組み合わせを変更する。図12は、MPUと同数の調停回路の各々が調停する演算処理回路の数を変更できるようにし、並列実行するプログラムの内容に応じて、最適なハードウェア構成を選択できる本発明の第2の実施形態を説明する図である。図12において、m個m<nの調停回路が調停する演算処理回路の数をハードウェア的に変更できるようにする。例えば、図13に示すようにMPU2台の場合について説明する。MPU2台の場合、調停回路2回路、演算処理回路n回路n=2j、j=1,2,3,のハードウェア接続の組み合わせを以下のn/2通りに変更できるようにする。なお、複数のMPUに替えて、例えば、マルチコアMPUのように1チップに複数のコアを有するMPUを1台として構成してもよい。[1]MPU1、調停回路1、演算処理回路1を接続。MPU2、調停回路2、演算処理回路2~nを接続。[2]MPU1、調停回路1、演算処理回路1,2を接続。MPU2、調停回路2、演算処理回路3~nを接続。[3]MPU1、調停回路1、演算処理回路1~3を接続。MPU2、調停回路2、演算処理回路4~nを接続。[n/2]MPU1、調停回路1、演算処理回路1~n/2を接続。MPU2、調停回路2、演算処理回路n/21~nを接続。図13において、演算処理回路の数が8個の場合を例として説明する。図14は、本発明の実施形態のMPUを2個と演算処理回路を8回路とを実装する第1の構成を説明する図である。図15は、本発明の実施形態のMPUを2個と演算処理回路を8回路とを実装する第2の構成を説明する図である。図16は、本発明の実施形態のMPUを2個と演算処理回路を8回路とを実装する第3の構成を説明する図である。図17は、本発明の実施形態のMPUを2個と演算処理回路を8回路とを実装する第4の構成を説明する図である。図14~図17の組み合わせは、複数個の演算処理回路を有するハードウェアのレジスタ設定などで変更することができる仕様にする。変更することができる仕様を、図18を用いて後述して説明する。そして、このハードウェア構成をどのように設定するかは、各シーケンスプログラム実行開始前にソフトウェアでシミュレーションを行ない、全ハードウェア構成の組み合わせで複数本のプログラムを実行して、全体のプログラムの実行時間が最も短い構成を選択する。以上のように、複数本の独立したシーケンスプログラム実行時、複数の演算処理回路と調停回路とMPUのハードウェアを複数セットで構成し、さらに、シーケンスプログラムの内容に応じてプログラマブルコントローラのハードウェアの構成を変更する組み替えることにより、プログラムの実行がMPU実行命令の実行待ちで停止する時間を短縮することができる。図18は、本発明に係るハードウェア構成を変更するための回路を説明する図である。図18ではメモリ20は省略されている。第1の調停回路31には第1のMPU11が接続され、第2の調停回路32には第2のMPU12が接続される。第1の調停回路31は演算処理回路1~n/2の調停を行なうことが可能で、MPU命令実行要求信号を第1のMPU11に出力する。また、第1のMPU11は命令の実行が完了すると、第1の調停回路31にMPU命令実行完了信号を出力する。第1の調停回路31は、このMPU命令実行完了信号をMPU命令実行要求信号を出力した演算処理回路に出力する。第2の調停回路32は、演算処理回路2~nの調停を行なうことが可能で、MPU命令実行要求信号を第2のMPU12に出力する。したがって、演算処理回路2~n/2は、第1の調停回路31及び第2の調停回路32の双方に接続可能である。つまり、演算処理回路2~n/2と第1の調停回路31および第2の調停回路32とは、図18に示すとおり、セレクタ51~59を介して接続され、演算処理回路2~n/2が出力するMPU命令実行要求信号及びデータは、セレクタ51~59の設定によって、第1の調停回路31または第2の調停回路32のどちらか一方に出力される。そして、MPU命令実行要求信号及びデータは、第1の調停回路31または第2の調停回路32から、第1のMPU11または第2のMPU12に出力される。図18において、セレクタ51~59は9つのセレクタを意味するのではなく、図示されているセレクタのみに符号を付けた。一方、第1のMPU11または第2のMPU12が出力したMPU命令実行完了信号は、第1の調停回路31または第2の調停回路32から、更に、直接、または、セレクタ51~59を介してMPU命令実行要求信号を出力した演算処理回路に出力される。演算処理回路1と第1の調停回路31とは直接接続している。レジスタ及びデコーダ40の端子S1,S2,,Sn/2―1から出力される信号は、0または1の出力であり、セレクタ51~59を切り替える。セレクタの切り替えは、レジスタ及びデコーダ40からの指示によって行う。セレクタ51~59をどのように設定するかは、第2のMPU12からレジスタ及びデコーダ40へセレクタ設定情報dとして与えられる。なお、レジスタ及びデコーダ40へのセレクタ設定情報は第1のMPU11から与えるようにしてもよい。セレクタ51,52,57を例として説明する。演算処理回路2の端子aからの出力は、セレクタ51の0端子とセレクタ57の0端子に入力する。セレクタ51,57の1端子はグランドに接地され、セレクタ51の出力は第1の調停回路31の端子a2に入力する。セレクタ57の出力は第2の調停回路32の端子a2に入力する。セレクタ52の0端子には第1の調停回路31のb2端子からの出力が入力し、セレクタ52の1端子には第2の調停回路32のb2端子からの出力が入力する。そして、セレクタ52の出力は、演算処理回路2のb端子に入力する。演算処理回路3~n/2も同様にセレクタ53~56,58,59を介して第1の調停回路31と第2の調停回路32に接続されている。レジスタ及びデコーダ40のS1端子からの出力は、セレクタ51,52の切替え端子に入力し、一方、セレクタ57の切替え端子にインバータ60を介して入力する。例えば、レジスタ及びデコーダ40の端子S1から1を意味する信号が出力されると、セレクタ51のスイッチは1に接続され、S1から0を意味する信号が出力されると、セレクタ51のスイッチは0に接続される。上述したように、各演算処理回路1~nのa端子から、MPU命令実行要求信号およびデータが、直接、もしくは、セレクタ51~59を介して第1の調停回路31,第2の調停回路32に出力される。図18では、演算処理回路1、演算処理回路n/21~演算処理回路nは、第1の調停回路31、または、第2の調停回路32に直接接続されている。そして、第1の調停回路31,第2の調停回路32からMPU命令実行完了信号が、直接、もしくは、セレクタを介して各演算処理回路1~nに送り出される。セレクタ51~59の選択信号は、レジスタ及びデコーダ40により生成する。n/2-1個の演算処理回路を、第1の調停回路31または第2の調停回路32のどちらかに接続するかを決めるための選択信号Sn/2-1,,S3,S2,S1は表1のようになる。表1ここで、Sn/2―1,,S3,S2,S1=1,,1,1,1の場合、第1のMPU11にデータ、MPU命令実行要求信号を出力するのは演算処理回路1のみである。この場合、第1の演算処理回路と第1のMPU11の間のデータ、MPU命令実行要求信号、およびMPU命令実行完了信号の授受は、調停回路を介さずに直接行われる。また、レジスタ及びデコーダ40は、レジスタの設定値に応じて表1のような選択信号を生成する回路にする。このレジスタ及びデコーダ40のレジスタはMPUにより設定することが可能な構成とする。例えば、演算処理回路が8回路の場合、2ビットレジスタR1,R0を設け、このデータをデコードして、表2のように選択信号S1,S2,S3を生成する。表2以上説明した本発明の実施形態によれば、本発明は、複数の演算処理回路と複数台のMPUを用いる構成により、複数本の独立したシーケンスプログラムを並行して実行するハードウェアに関するものであるが、シーケンスプログラムの本数、各シーケンスプログラムを構成する命令の内容により、複数の演算処理回路と、複数台のMPUのハードウェア接続の組み合わせの中から、プログラムの処理時間を最も短縮できる最適な構成を選択することができる。"