バッファメモリを備えるバスインタフェースを夫々備える複数のコントローラユニットと、前記バスインタフェースを介して前記複数のコントローラシステムを接続し、前記複数のコントローラユニットのうちの送信側のコントローラユニットのバスインタフェースが備えるバッファメモリの記憶内容を受信側のコントローラユニットのバスインタフェースが備えるバッファメモリに転送するユニット間転送処理を第1の時間間隔で実行するバスと、を備えるプログラマブルコントローラシステムであって、前記送信側のコントローラユニットは、前記第1の時間間隔よりも大きい第2の時間間隔で交信データを生成するデータ生成部と、前記データ生成部が生成した交信データを分割して前記第2の時間間隔を前記第1の時間間隔で除して得られる値以下の数の転送単位データを生成するデータ分割部と、前記データ分割部が生成した複数の転送単位データの夫々を自コントローラユニットのバスインタフェースが備えるバッファメモリに前記第1の時間間隔で順次格納するデータ格納部と、を備え、前記受信側のコントローラユニットは、前記ユニット間転送処理により自コントローラユニットのバッファメモリに前記第1の時間間隔で順次転送されてくる複数の転送単位データを前記第1の時間間隔で順次読み出すデータ読み出し部と、前記データ読み出し部が読み出した複数の転送単位データを結合して前記データ生成部が生成した交信データを再構築するデータ結合部と、を備える、ことを特徴とするプログラマブルコントローラシステム。前記バッファメモリはダブルバッファ構成を備え、前記データ格納部が転送単位データを格納する処理と、前記ユニット間転送処理と、前記データ読み出し部が転送単位データを読み出す処理と、を前記ダブルバッファ構成のバッファメモリを使用してパイプライン処理的に実行する、ことを特徴とする請求項1に記載のプログラマブルコントローラシステム。前記第1の時間間隔は、前記複数のコントローラユニットの夫々に排他的に割り当てられる複数のタイムスロットに時分割されており、前記データ格納部が転送単位データを格納する処理と、前記ユニット間転送処理と、前記データ読み出し部が転送単位データを読み出す処理とは、前記送信側のコントローラユニットに割り当てられたタイムスロットにおいて実行される、ことを特徴とする請求項2に記載のプログラマブルコントローラシステム。前記第1の時間間隔は、前記複数のコントローラユニットの夫々に排他的に割り当てられる第1のタイムスロットであって前記ユニット間転送処理が実行される第1のタイムスロットと、前記データ格納部が転送単位データを格納する処理と前記データ読み出し部が転送単位データを読み出す処理とが実行される第2のタイムスロットとを含む複数のタイムスロットに分割されている、ことを特徴とする請求項1に記載のプログラマブルコントローラシステム。前記第2のタイムスロットは、前記第1の時間間隔の末尾に位置し、前記データ分割部は、前記第1の時間間隔毎に、交信データの完成を待つことなく当該交信データの生成済みの一部から転送単位データを生成する、ことを特徴とする請求項4に記載のプログラマブルコントローラシステム。前記データ分割部は、前記データ生成部が生成した交信データにおける位置を特定するための識別番号を夫々の分割データに付して前記複数の転送単位データを生成し、前記データ結合部は、前記複数の転送データに付されている識別番号に基づいて前記データ生成部が生成した交信データを再構築する、ことを特徴とする請求項1乃至請求項5のうちの何れか一項に記載のプログラマブルコントローラシステム。バッファメモリを備えるバスインタフェースを夫々備える複数のコントローラユニットと、前記バスインタフェースを介して前記複数のコントローラシステムを接続し、前記複数のコントローラユニットのうちの送信側のコントローラユニットが備えるバッファメモリの記憶内容を受信側のコントローラユニットが備えるバッファメモリに第1の時間間隔で転送するユニット間転送処理を実行するバスと、を備えるプログラマブルコントローラシステムであって、前記送信側のコントローラユニットは、前記第1の時間間隔よりも大きい第2の時間間隔毎に完成する交信データを、前記第1の時間間隔毎に分割して生成し、前記生成した分割データの夫々を自コントローラユニットのバスインタフェースが備えるバッファメモリに前記第1の時間間隔で順次格納するデータ生成部を備え、前記受信側のコントローラユニットは、前記ユニット間転送処理により自コントローラユニットのバスインタフェースが備えるバッファメモリに前記第1の時間間隔で順次転送されてくる複数の分割データを前記第1の時間間隔で順次読み出す第1データ読み出し部と、前記第1データ読み出し部が読み出した複数の分割データを結合して前記データ生成部が完成する交信データを構築する第1データ結合部と、を備える、ことを特徴とするプログラマブルコントローラシステム。前記送信側のコントローラユニットは、前記データ生成部が自コントローラユニットのバスインタフェースが備えるバッファメモリに順次格納した複数の分割データを前記第1の時間間隔で順次読み出す第2データ読み出し部と、前記第2データ読み出し部が読み出した複数の分割データを結合して前記データ生成部が完成する交信データを構築する第2データ結合部と、を備える、ことを特徴とする請求項7に記載のプログラマブルコントローラシステム。前記第2データ読み出し部が分割データを読み出す処理と、当該分割データにかかる前記ユニット間転送処理と、を同時並行的に実行する、ことを特徴とする請求項7に記載のプログラマブルコントローラシステム。前記バッファメモリはダブルバッファ構成を備え、前記データ生成部が分割データを格納する処理と、前記ユニット間転送処理と、前記第1データ読み出し部が分割データを読み出す処理と、を前記ダブルバッファ構成のバッファメモリを使用してパイプライン処理的に実行する、ことを特徴とする請求項7または請求項8に記載のプログラマブルコントローラシステム。前記第1の時間間隔は、前記複数のコントローラユニットの夫々に排他的に割り当てられる複数のタイムスロットに時分割されており、前記データ生成部が分割データを格納する処理と、前記ユニット間転送処理と、前記第1データ読み出し部が分割データを読み出す処理とは、前記送信側のコントローラユニットに割り当てられたタイムスロットにおいて実行される、ことを特徴とする請求項9に記載のプログラマブルコントローラシステム。前記第1の時間間隔は、前記複数のコントローラユニットの夫々に排他的に割り当てられる第1のタイムスロットであって前記データ生成部が分割データを生成して格納する処理と前記ユニット間転送処理とが同時並行的に実行される第1のタイムスロットと、前記第1の時間間隔の末尾に位置し、前記第1データ読み出し部が分割データを読み出す処理に割り当てられてられる第2のタイムスロットと、を含む複数のタイムスロットに分割されている、ことを特徴とする請求項7または請求項8に記載のプログラマブルコントローラシステム。プログラマブルコントローラシステムにおけるコントローラユニット間の制御データの交信には時間的な信頼性が求められる。即ち、所定のサイズのデータを所定の時間で確実に相手に届けることが求められる。しかしながら、上記特許文献1の技術によれば、ソケットを用いて分割データを送信するため、送信元が複数存在する場合、交信データの衝突が発生するなどにより分割データが意図したタイミングで送信先に到着しない場合が考えられる。即ち、上記特許文献1の技術では、信頼性のあるデータ交信を行うことができないという問題があった。本発明は、上記に鑑みてなされたものであって、演算周期が交信周期よりも大きい場合でも交信データの時間的な信頼性を保障したプログラマブルコントローラシステムを得ることを目的とする。上述した課題を解決し、目的を達成するために、本発明は、バッファメモリを備えるバスインタフェースを夫々備える複数のコントローラユニットと、前記バスインタフェースを介して前記複数のコントローラシステムを接続し、前記複数のコントローラユニットのうちの送信側のコントローラユニットのバスインタフェースが備えるバッファメモリの記憶内容を受信側のコントローラユニットのバスインタフェースが備えるバッファメモリに転送するユニット間転送処理を第1の時間間隔で実行するバスと、を備えるプログラマブルコントローラシステムであって、前記送信側のコントローラユニットは、前記第1の時間間隔よりも大きい第2の時間間隔で交信データを生成するデータ生成部と、前記データ生成部が生成した交信データを分割して前記第2の時間間隔を前記第1の時間間隔で除して得られる値以下の数の転送単位データを生成するデータ分割部と、前記データ分割部が生成した複数の転送単位データの夫々を自コントローラユニットのバスインタフェースが備えるバッファメモリに前記第1の時間間隔で順次格納するデータ格納部と、を備え、前記受信側のコントローラユニットは、前記ユニット間転送処理により自コントローラユニットのバッファメモリに前記第1の時間間隔で順次転送されてくる複数の転送単位データを前記第1の時間間隔で順次読み出すデータ読み出し部と、前記データ読み出し部が読み出した複数の転送単位データを結合して前記データ生成部が生成した交信データを再構築するデータ結合部と、を備える、ことを特徴とする。本発明にかかるプログラマブルコントローラシステムは、演算周期第2の時間間隔毎に生成される交信データを当該演算周期よりも小さい交信周期第1の時間間隔でデータ転送を行うバスを介して確実に到着せしめることができるので、演算周期が交信周期よりも大きい場合でも交信データの時間的な信頼性を保障することができる。以下に、本発明にかかるプログラマブルコントローラシステムの実施の形態を図面に基づいて詳細に説明する。なお、これらの実施の形態によりこの発明が限定されるものではない。実施の形態1.図1は、本発明にかかる実施の形態1のプログラマブルコントローラシステムの構成を示す図である。図1に示すように、プログラマブルコントローラシステム1は、コントローラユニット10A~10Cとベースユニット20とを備えて構成されている。コントローラユニット10A~10Cは、内部にCPU後述するCPU11を具備しており、夫々が備えるCPU11を使用してプログラマブルコントローラシステム1の制御を役割分担して実行する。コントローラユニット10A~10C間の連携は、互いに制御データを送受信することによって行われる。具体的には、コントローラユニット10A~10Cの夫々は、コントローラユニット10A~10Cのうちの他のコントローラユニットから送られてきた制御データを用いて自身が備えるCPU11で夫々所定の演算を行い、その結果を制御データとして前記他のコントローラユニットに送信する。コントローラユニット10A~10Cは、例えばPLCユニット、モーションコントローラユニット、ロボットコントローラユニット、CNCユニットが該当する。以降、コントローラユニット10A~10Cをコントローラユニット10と総称することがある。ベースユニット20は定周期バス30を備えている。定周期バス30は、コントローラユニット10A~10Cの夫々にデータ送信可能なタイムスロットを時分割で割り当てる。コントローラユニット10A~10Cの夫々は、定周期バス30を介して、送受信用のバッファメモリ後述する送信用交信メモリ15a、15b、および受信用交信メモリ16a、16bのサイズよりも小さいサイズのデータを自コントローラユニット10に割り当てられたタイムスロット内で送信先に確実に転送することができる。図2は、コントローラユニット10間でデータの交信が行われる様子を説明する図である。図示するように、交信周期を構成する3つのタイムスロットは、コントローラユニット10A~10Cに夫々排他的に割り当てられている。即ち、夫々のタイムスロットにおいてコントローラユニット10A~10Cのうちの1つのみが送信側のコントローラユニット10となることができ、定周期バス30上で交信データが衝突しないようになっている。送信元となったコントローラユニット10は、他の2つのコントローラユニット10を送信先として、自コントローラユニット10に割り当てられたタイムスロット内でデータを転送している。一般に、プログラマブルコントローラシステム1の製品ライフサイクルは家庭用の電化製品等に比較して長い。そのため、将来の技術進歩によりコントローラユニット10が送信対象の制御データを用意する周期演算周期が向上しても当該コントローラユニット10を接続可能にするために、定周期バス30は、往々にして、同時期に市場にリリースされているコントローラユニット10よりも高速な交信周期でデータの交信を行うことができる場合がある。また、送受信用のバッファメモリは、SRAMStaticRandomAccessMemoryなどの高速メモリが送受信のためのインタフェース回路後述する定周期バスI/F14に組み込まれて構成されているため、サイズの柔軟な変更が困難である一方、コントローラユニット10が生成する送信対象の制御データのサイズは、ユーザの設定などにより比較的に容易に変動する。即ち、ユーザは、コントローラユニット10の演算周期を大きくしてより大きなサイズの制御データを生成させることができる。その結果、制御データのサイズが送受信用のバッファメモリのサイズよりも大きくなることがある。そこで、本発明の実施の形態1では、演算周期が交信周期よりも大きい場合であってもデータ交信の時間的な信頼性を担保するために、制御データを分割して予め決められた回数の交信周期で送信先に送信するようにしている。すなわち、図2において、1つのタイムスロットで転送されるデータ転送単位データは、ヘッダ部100とデータ部101とを備えている。1つの制御データは複数のタイムスロットで送信できるように複数に分割されており、当該分割後の夫々のデータ分割データは転送単位データが備えるデータ部101に格納される。ヘッダ部100は、データ部101に格納されている分割データの、分割前の制御データ以下、交信データにおける先頭からの位置を示すブロック番号を含んでいる。なお、ベースユニット20に接続可能なユニットには、コントローラユニット10のほかにも、例えばA/D変換ユニットや温度調節ユニットなど、夫々異なる機能を有する多様なユニット機能ユニットが用意されている。ユーザは、プログラマブルコントローラシステム1の使用目的に合わせて所望の機能ユニットを選択してベースユニット20に接続することができる。また、ここでは、ベースユニット20の内部バスとしての定周期バス30によってコントローラユニット10間が接続されるものとして説明しているが、定周期でデータ交信を行うことができるのであれば、外部バスあるいはネットワークで接続されるように構成してもよい。図3は、コントローラユニット10の構成を説明する図である。図示するように、コントローラユニット10は、CPU11、DRAM12、DMAコントローラ13、および定周期バスインタフェースI/F14を備えている。CPU11、DRAM12、DMAコントローラ13、および定周期バスI/F14は夫々バスに接続されている。CPU11は、演算周期毎に交信データを生成する。そして、生成した交信データを分割し、夫々の分割データから転送単位データを生成して夫々DRAM12に格納する。なお、順次生成される交信データを全て受信されるために、CPU11は、交信データを最大で演算周期を交信周期で除算した数まで分割することが可能である。交信データのサイズを大きくしたい場合、当該交信データを生成するためにかかる時間演算周期が交信データのサイズに応じて大きくなるため、当該交信データの分割数を大きくすることで交信データのサイズ増加に対応することができる。また、CPU11は、自コントローラユニット10が交信データの受信側であるとき、転送されてきた複数の分割データを結合して分割前の交信データを再構築する。DRAM12は、CPU11が生成した交信データや、他のコントローラユニット10から送られてくる交信データが格納される。定周期バスI/F14は定周期バス30に接続するための接続インタフェースである。実施の形態1の定周期バスI/F14は、データ送信用のバッファメモリおよびデータ受信用のバッファメモリは夫々ダブルバッファ構成を有している。即ち、定周期バスI/F14は、データ送信用のバッファメモリとして、送信用交信メモリ15aおよび送信用交信メモリ15bを備え、データ受信用のバッファメモリとして、受信用交信メモリ16aおよび受信用交信メモリ16bを備えている。これにより、コントローラユニット10は、データの送信時には、送信対象の分割データのデータ送信用のバッファメモリへのセットと分割データの送信とを並行して実行することで、データの送信を効率的に実行することができる。また、データの受信時には、分割データの受信とデータ受信用のバッファメモリに格納された分割データの取り込みとを並行して実行することで、データの受信を効率的に実行することができる。なお、送信用交信メモリ15a、15bを送信用交信メモリ15と総称することがある。同様に、受信用交信メモリ16a、16bを受信用交信メモリ16と総称することがある。DMAコントローラ13はCPU11からの指令に基づいてDRAM12と送信用交信メモリ15または受信用交信メモリ16との間のデータ転送DMA転送を実行する。次に、図4および図5を参照して、本発明の実施の形態1のプログラマブルコントローラシステム1の動作を説明する。図4は、データの送受信のタイミングを説明するタイミングチャートであり、図5は、構成要素間のデータの流れを説明する図である。なお、ここでは、説明を簡単にするために、コントローラユニット10Aが送信元となり、コントローラユニット10Bおよびコントローラユニット10Cが送信先となるデータ交信について説明する。また、演算周期は交信周期の2倍の大きさを有し、交信データの分割数は2つであるとして説明する。なお、送信先となったコントローラユニット10Bとコントローラユニット10Cの動作は同じであるので、ここでは代表としてコントローラユニット10Bの動作を説明する。また、図4に示す夫々の交信周期第1~第6交信周期の夫々は、簡単のためにタイムスロットの表記を省略しているが、実際には既に述べたように夫々3つのタイムスロットから構成されており、コントローラユニット10Aからコントローラユニット10B、10Cへのデータ交信はそのうちの1つのタイムスロットを使用して実行される。まず、第1演算周期において、コントローラユニット10AのCPU11は、交信データを生成する。そして、コントローラユニット10AのCPU11は、生成した交信データを分割し、夫々の分割データ分割データD0、分割データD1から夫々転送単位データを生成し、生成した夫々の転送単位データをDRAM12に格納するステップS1。なお、コントローラユニット10AのCPU11は、転送単位データを生成する際には、夫々のヘッダ部100にブロック番号を記入する。以降、データ部101に分割データD0を含む転送単位データを転送単位データD0、データ部101に分割データD1を含む転送単位データを転送単位データD1と表記する。第3交信周期においては、コントローラユニット10AのCPU11は、DMAコントローラ13に指令して、DRAM12に格納されている転送単位データD0をDRAM12から送信用交信メモリ15aに転送させるステップS2。第4交信周期においては、コントローラユニット10Aの定周期バスI/F14は、送信用交信メモリ15aに格納されている転送単位データD0をコントローラユニット10Bの受信用交信メモリ16aに送信するステップS3。また、当該第4交信周期において、コントローラユニット10AのCPU11は、DMAコントローラ13に指令して、DRAM12に格納されている転送単位データD1をDRAM12から送信用交信メモリ15bに転送させるステップS4。第5交信周期においては、コントローラユニット10BのCPU11は、受信用交信メモリ16aに格納されている転送単位データD0のヘッダ部100に記述されているブロック番号を参照するとともに、DMAコントローラ13に指令して、データ部101に格納されている分割データD0を受信用交信メモリ16aからDRAM12に転送させるステップS5。また、当該第5交信周期において、コントローラユニット10Aの定周期バスI/F14は、送信用交信メモリ15bに格納されている転送単位データD1をコントローラユニット10Bの受信用交信メモリ16bに送信するステップS6。第6交信周期においては、コントローラユニット10BのCPU11は、受信用交信メモリ16bに格納されている転送単位データD1のヘッダ部100に記述されているブロック番号を参照するとともに、DMAコントローラ13に指令して、データ部101に格納されている分割データD1を受信用交信メモリ16bからDRAM12に転送させるステップS7。なお、コントローラユニット10BのCPU11は、分割データD0および分割データD1を夫々のブロック番号の順番でアドレスが連続するように夫々DRAM12に格納させることによって、自コントローラユニット10BのDRAM12内に格納完了したときに分割データD1、D2が自動的に結合され、結果として分割前の交信データが再構築されるようにしてもよい。または、コントローラユニット10BのCPU11は、分割データD0および分割データD1を夫々別々の位置にDRAM12に一時的に格納させ、夫々DRAM12に別々に一時的に格納された分割データD0および分割データD1を読み出して1つに結合して分割前の交信データを再構築するようにしてもよい。このように、プログラマブルコントローラシステム1は、第1演算周期で送信元のコントローラユニット10が生成した交信データを第3演算周期の終わりまでに送信先に確実に到着せしめることができる。なお、ここでは簡単のために1つの交信データに着目してデータ転送の動作を説明したが、コントローラユニット10は、演算周期毎に交信データを生成し、生成した交信データをパイプライン処理的に順次転送する。即ち、プログラマブルコントローラシステム1は、第i演算周期で送信元のコントローラユニット10が生成した交信データを第i2演算周期の終わりまでに送信先に到着せしめ、送信先のコントローラユニット10は第i3演算周期から当該交信データを利用することができる。なお、以上の説明においては、コントローラユニット10の定周期バス30への接続数は3つであるとして説明したが、コントローラユニットの接続数は3つに限定されない。コントローラユニット10の接続数が3つから増減しても、交信周期内で割り当てられる自コントローラユニット10用のタイムスロットの時間が変化するだけで、送信元のコントローラユニット10が交信データを作成してから送信先のコントローラユニット10が当該交信データを利用できるようになるまでの一連の処理のタイミングは変化しない。また、以上の説明においては、CPU11が交信データの分割、転送単位データの生成、および交信データの再構築を行うものとして説明したが、コントローラユニット10にこれらの処理の一部または全部を実行する専用の回路またはプロセッサをCPU11とは別に具備するように構成してもよい。以上説明したように、本発明の実施の形態1によれば、送信側のコントローラユニット10では、CPU11は、定周期バス30の交信間隔よりも大きい演算周期で交信データを生成し、前記生成した交信データを分割して演算周期を交信周期で除して得られる値以下の数の転送単位データを生成し、DMAコントローラ13は、複数の転送単位データの夫々を送信用交信メモリ15a、15bに交信間隔で順次転送し、受信側のコントローラユニット10では、DMAコントローラ13は、受信用交信メモリ16a、16bに順次転送されてくる複数の転送単位データを交信間隔で順次読み出して、CPU11は、前記DMAコントローラ13が読み出した複数の転送単位データを結合して交信データを再構築する、ように構成したので、演算周期毎に生成される交信データを当該演算周期よりも小さい交信周期でデータ転送を行う定周期バス30を介して確実に到着せしめることができる。即ち、演算周期が交信周期よりも大きい場合でも交信データの時間的な信頼性が保障される。また、送信用交信メモリ15および受信用交信メモリ16は夫々ダブルバッファを構成し、DRAM12と送信用交信メモリ15との間のデータ転送、送信用交信メモリ15と受信用交信メモリ16との間のデータ転送ユニット間転送処理、および受信用交信メモリ16とDRAM12との間のデータ転送をパイプライン処理的に実行するように構成したので、交信周期毎に転送単位データをデータ転送することができる。また、交信周期は、複数のコントローラユニット10の夫々に排他的に割り当てられる複数のタイムスロットに時分割されており、送信側のコントローラユニット10におけるDRAM12と送信用交信メモリ15との間のデータ転送、前記送信側のコントローラユニット10の送信用交信メモリ15と受信側のコントローラユニット10の受信用交信メモリ16との間のデータ転送、および前記受信側のコントローラユニット10における受信用交信メモリ16とDRAM12との間のデータ転送は、前記送信側のコントローラユニット10に割り当てられたタイムスロットにおいて実行される、ように構成したので、複数のコントローラユニット10間の交信データの衝突を防止することができる。また、送信側のコントローラユニット10が備えるCPU11は、生成された交信データにおける位置を特定するためのブロック番号を夫々の分割データに付して転送単位データを生成し、受信側のコントローラユニット10が備えるCPU11は、受信した転送データに付されている識別番号に基づいて分割前の交信データを再構築する、ように構成した。実施の形態2.図6は、本発明にかかる実施の形態2のプログラマブルコントローラシステムの構成を示す図である。なお、ここでは、実施の形態1と同じ構成要素には同一の符号を付して、重複する説明を省略する。図6に示すように、プログラマブルコントローラシステム2は、コントローラユニット40A~40Cとベースユニット20とを備えて構成されている。以降、コントローラユニット40A~40Cをコントローラユニット40と総称する場合がある。図7は、コントローラユニット40の構成を説明する図である。図示するように、コントローラユニット40は、CPU41、DRAM12、DMAコントローラ13、および定周期バスI/F42を備えている。CPU41、DRAM12、DMAコントローラ13、および定周期バスI/F42は夫々バスに接続されている。定周期バスI/F42は定周期バス30に接続するための接続インタフェースである。実施の形態2の定周期バスI/F42は、送信用交信メモリ43および受信用交信メモリ44を備えている。図8は、コントローラユニット40間でデータの交信が行われる様子を説明する図である。図示するように、交信周期は、4つのタイムスロットで構成されており、当該4つのタイムスロットのうちの最初の1つは、DMA転送に割り当てられる。そして、残りの3つは、コントローラユニット40A~40Cに夫々割り当てられている。即ち、本発明の実施の形態2によれば、DRAM12と送受信用のバッファメモリ送信用交信メモリ43または受信用交信メモリ44との間のデータ転送と、送信用交信メモリ43と受信用交信メモリ44との間のデータ転送と、を1つの交信周期に相当する時間内で連続して実行することができる。次に、図9および図10を参照して、本発明の実施の形態2のプログラマブルコントローラシステム2の動作を説明する。図9は、データの送受信のタイミングを説明するタイミングチャートであり、図10は、構成要素間のデータの流れを説明する図である。なお、ここでは、説明を簡単にするために、コントローラユニット40Aが送信元となり、コントローラユニット40Bおよびコントローラユニット40Cが送信先となるデータ交信について説明する。なお、図9に示す夫々の交信周期第1~第6交信周期の夫々は、簡単のためにコントローラユニット40に割り当てられているタイムスロットの表記を省略しているが、実際には既に述べたように夫々4つのタイムスロットから構成されており、コントローラユニット40Aからコントローラユニット40B、40Cへのデータ交信にかかる処理のうちのDMA転送以外の処理はそのうちの1つのタイムスロットを使用して実行される。まず、第1演算周期においては、コントローラユニット40AのCPU41は、交信データを生成する。そして、コントローラユニット40AのCPU41は、生成した交信データを分割し、夫々の分割データ分割データD0、分割データD1から夫々転送単位データを生成し、生成した夫々の転送単位データをDRAM12に格納するステップS11。なお、コントローラユニット40AのCPU41は、転送単位データを生成する際には、夫々のヘッダ部100にブロック番号を記入する。第3交信周期のDMA転送用のタイムスロットにおいて、コントローラユニット40AのCPU41は、DMAコントローラ13に指令して、DRAM12に格納されている転送単位データD0をDRAM12から送信用交信メモリ43に転送させるステップS12。その後、第3交信周期のコントローラユニット40Aに割り当てられているタイムスロットにおいて、コントローラユニット40Aの定周期バスI/F42は、送信用交信メモリ43に格納されている転送単位データD0をコントローラユニット40Bの受信用交信メモリ44に転送するステップS13。第4交信周期のDMA転送用のタイムスロットにおいて、コントローラユニット40BのCPU41は、受信用交信メモリ44に格納されている転送単位データD0のヘッダ部100に記述されているブロック番号を参照するとともに、DMAコントローラ13に指令して、データ部101に格納されている分割データD0を受信用交信メモリ44からDRAM12に転送させるステップS14。ステップS14の処理と同時並行的に、コントローラユニット40AのCPU41は、DMAコントローラ13に指令して、DRAM12に格納されている転送単位データD1をDRAM12から送信用交信メモリ43に転送させるステップS15。その後、第4交信周期のコントローラユニット40Aに割り当てられているタイムスロットにおいて、コントローラユニット40Aの定周期バスI/F42は、送信用交信メモリ43に格納されている転送単位データD1をコントローラユニット40Bの受信用交信メモリ44に転送するステップS16。第5交信周期のDMA転送用のタイムスロットにおいては、コントローラユニット40BのCPU41は、受信用交信メモリ44に格納されている転送単位データD1のヘッダ部100に記述されているブロック番号を参照するとともに、DMAコントローラ13に指令して、データ部101に格納されている分割データD1を受信用交信メモリ44からDRAM12に転送させるステップS17。なお、コントローラユニット40BのCPU41は、実施の形態1のCPU11と同様に、分割データD0および分割データD1から分割前の交信データを再構築する。このように、本発明の実施の形態2によれば、交信周期を複数のタイムスロットに時分割し、夫々のタイムスロットを複数のコントローラユニット40の夫々とDMA転送とに割り当てて、夫々のコントローラユニット40に割り当てられたタイムスロットにおいてユニット間転送処理を実行するように構成したので、ステップS12とステップS13、あるいはステップS13とステップS14に示すように、ユニット間転送処理とDMA転送とを1つの交信周期にかかる時間で実行することができる。その結果として、図9に示したように、第1演算周期で生成された交信データが第3演算周期の半ば第6交信周期の始めから利用できるようになる。即ち、実施の形態2によれば、送信側のコントローラユニット40が交信データを生成してから受信側のコントローラユニット40が当該交信データを利用できるようになるまでの時間を実施の形態1に比較して短縮することができる。実施の形態3.実施の形態2では、各交信周期の先頭のタイムスロットがDMA転送用に割り当てられていた。実施の形態3においては、各交信周期の末尾のタイムスロットがDMA転送用に割り当てられる。図11は、本発明にかかる実施の形態3のプログラマブルコントローラシステムの構成を示す図である。なお、ここでは、実施の形態1または実施の形態2と同じ構成要素には同一の符号を付して、重複する説明を省略する。図11に示すように、プログラマブルコントローラシステム3は、コントローラユニット50A~50Cとベースユニット20とを備えて構成されている。以降、コントローラユニット50A~50Cをコントローラユニット50と総称する場合がある。図12は、コントローラユニット50の構成を説明する図である。図示するように、コントローラユニット50は、CPU51、DRAM12、DMAコントローラ13、および定周期バスI/F42を備えている。CPU51、DRAM12、DMAコントローラ13、および定周期バスI/F42は夫々バスに接続されている。定周期バスI/F42は定周期バス30に接続するための接続インタフェースである。実施の形態3の定周期バスI/F42は、送信用交信メモリ43および受信用交信メモリ44を備えている。次に、本発明の実施の形態3のプログラマブルコントローラシステム3の動作を説明する。図13は、データの送受信のタイミングを説明するタイミングチャートである。なお、ここでは、説明を簡単にするために、コントローラユニット50Aが送信元となり、コントローラユニット50Bおよびコントローラユニット50Cが送信先となるデータ交信について説明する。なお、図13に示す夫々の交信周期第1~第6交信周期の夫々は、簡単のためにコントローラユニット50に割り当てられているタイムスロットの表記を省略しているが、実際には既に述べたように夫々4つのタイムスロットから構成されており、コントローラユニット50Aからコントローラユニット50B、50Cへのデータ交信にかかる処理のうちのDMA転送以外の処理はそのうちの1つのタイムスロットを使用して実行される。まず、第1交信周期において、コントローラユニット50AのCPU51は、交信データのうちの前半部分を生成すると、当該前半部分の交信データ分割データD0から転送単位データD0を生成し、生成した転送単位データD0をDRAM12に格納するステップS21。その後、第2交信周期において、コントローラユニット50AのCPU51は、交信データのうちの後半部分を生成すると、当該後半部分の交信データ分割データD1から転送単位データD1を生成し、生成した転送単位データD1をDRAM12に格納するステップS22。なお、コントローラユニット50AのCPU51は、転送単位データを生成する際には、夫々のヘッダ部100にブロック番号を記入する。第2交信周期の末尾のDMA転送用のタイムスロットにおいては、コントローラユニット50AのCPU51は、DMAコントローラ13に指令して、DRAM12に格納されている転送単位データD0をDRAM12から送信用交信メモリ43に転送させるステップS23。第3交信周期においては、コントローラユニット50Aの定周期バスI/F42は、送信用交信メモリ43に格納されている転送単位データD0をコントローラユニット50Bの受信用交信メモリ44に転送するステップS24。その後、第3交信周期のDMA転送用のタイムスロットにおいて、コントローラユニット50BのCPU51は、受信用交信メモリ44に格納されている転送単位データD0のヘッダ部100に記述されているブロック番号を参照するとともに、DMAコントローラ13に指令して、データ部101に格納されている分割データD0を受信用交信メモリ44からDRAM12に転送させるステップS25。また、ステップS25の処理と同時並行的に、コントローラユニット50AのCPU51は、DMAコントローラ13に指令して、DRAM12に格納されている転送単位データD1をDRAM12から送信用交信メモリ43に転送させるステップS26。第4交信周期においては、コントローラユニット50Aの定周期バスI/F42は、送信用交信メモリ43に格納されている転送単位データD1をコントローラユニット50Bの受信用交信メモリ44に転送するステップS27。その後、第4交信周期のDMA転送用のタイムスロットにおいては、コントローラユニット50BのCPU51は、受信用交信メモリ44に格納されている転送単位データD1のヘッダ部100に記述されているブロック番号を参照するとともに、DMAコントローラ13に指令して、データ部101に格納されている分割データD1を受信用交信メモリ44からDRAM12に転送させるステップS28。なお、コントローラユニット50BのCPU51は、実施の形態1のCPU11と同様に、分割データD0および分割データD1から分割前の交信データを再構築する。このように、本発明の実施の形態3によれば、DMA転送用のタイムスロットを交信周期の末尾に確保し、CPU51は、交信周期毎に、交信データの完成を待つことなく当該交信データの生成済みの一部から転送単位データを生成する、ように構成したので、図13のステップS23に示すように、交信データが完成する前に当該交信データにかかるDMA転送を開始することができるようになる。即ち、送信側のコントローラユニット50が交信データを生成してから受信側のコントローラユニット50が当該交信データを利用できるようになるまでの時間を実施の形態2に比べてさらに短縮することができる。実施の形態4.図14は、本発明にかかる実施の形態4のプログラマブルコントローラシステムの構成を示す図である。なお、ここでは、実施の形態1と同じ構成要素には同一の符号を付して、重複する説明を省略する。図14に示すように、プログラマブルコントローラシステム4は、コントローラユニット60A~60Cとベースユニット20とを備えて構成されている。以降、コントローラユニット60A~60Cをコントローラユニット60と総称する場合がある。図15は、コントローラユニット60の構成を説明する図である。図示するように、コントローラユニット60は、CPU61、DRAM12、DMAコントローラ13、および定周期バスI/F14を備えている。CPU61、DRAM12、DMAコントローラ13、および定周期バスI/F14は夫々バスに接続されている。定周期バスI/F14は定周期バス30に接続するための接続インタフェースである。実施の形態4の定周期バスI/F14は、送信用交信メモリ15a、送信用交信メモリ15b、受信用交信メモリ16a、および受信用交信メモリ16bを備えている。次に、本発明の実施の形態4のプログラマブルコントローラシステム4の動作を説明する。図16は、データの送受信のタイミングを説明するタイミングチャートである。なお、ここでは、説明を簡単にするために、コントローラユニット60Aが送信元となり、コントローラユニット60Bおよびコントローラユニット60Cが送信先となるデータ交信について説明する。なお、図16に示す夫々の交信周期第1~第6交信周期の夫々は、簡単のためにコントローラユニット60に割り当てられているタイムスロットの表記を省略しているが、実際には夫々3つのタイムスロットから構成されており、コントローラユニット60Aからコントローラユニット60B、60Cへのデータ交信にかかる処理はそのうちの1つのタイムスロットを使用して実行される。まず、第1交信周期において、コントローラユニット60AのCPU61は、交信データのうちの前半部分を生成すると、当該前半部分の交信データ分割データD0から転送単位データD0を生成し、生成した転送単位データD0を送信用交信メモリ15aに格納するステップS31。第2交信周期において、コントローラユニット60Aの定周期バスI/F14は、送信用交信メモリ15aに格納されている転送単位データD0をコントローラユニット60Bの受信用交信メモリ16aに転送するステップS32。ステップS32の処理と同時並行的に、コントローラユニット60AのCPU61は、DMAコントローラ13に指令して、送信用交信メモリ15aに格納されている転送単位データD0を送信用交信メモリ15aからDRAM12に転送させるステップS33。さらに、第2交信周期において、コントローラユニット60AのCPU61は、交信データのうちの後半部分を生成すると、当該後半部分の交信データ分割データD1から転送単位データD1を生成し、生成した転送単位データD1を送信用交信メモリ15bに格納するステップS34。なお、コントローラユニット60AのCPU61は、転送単位データを生成する際には、夫々のヘッダ部100にブロック番号を記入する。第3交信周期において、コントローラユニット60AのCPU61は、DMAコントローラ13に指令して、送信用交信メモリ15bに格納されている転送単位データD1を送信用交信メモリ15bからDRAM12に転送させるステップS35。また、コントローラユニット60Aの定周期バスI/F14は、送信用交信メモリ15bに格納されている転送単位データD1をコントローラユニット60Bの受信用交信メモリ16bに転送するステップS36。また、コントローラユニット60BのCPU61は、DMAコントローラ13に指令して、受信用交信メモリ16aに格納されている転送単位データD0を受信用交信メモリ16aからDRAM12に転送させるステップS37。ステップS36およびステップS37の処理は、ステップS35の処理と同時並行的に実行される。第4交信周期において、コントローラユニット60BのCPU61は、DMAコントローラ13に指令して、受信用交信メモリ16bに格納されている転送単位データD1を受信用交信メモリ16bからDRAM12に転送させるステップS38。なお、コントローラユニット60BのCPU61は、実施の形態1のCPU11と同様に、分割データD0および分割データD1から分割前の交信データを再構築する。このように、本発明の実施の形態4によれば、送信側のコントローラユニット60では、CPU61は、交信周期よりも大きい演算周期で完成する交信データを、交信周期毎に分割して生成し、生成した分割データの夫々をDRAM12を介さずに送信用交信メモリ15に直接格納し、受信側のコントローラユニット60では、DMAコントローラ13は、ユニット間転送処理により受信用交信メモリ16に転送されてきた複数の分割データを交信周期毎に順次読み出して、CPU61は、DMAコントローラ13が読み出した複数の分割データを結合して交信データを構築する、ように構成したので、DRAM12を介して送信用交信メモリ15に分割データを格納する場合に比べて、送信側のコントローラユニット60が交信データを生成してから受信側のコントローラユニット60が当該交信データを利用できるようになるまでの時間を短縮することができる。また、送信側のコントローラユニット60では、DMAコントローラ13は、送信用交信メモリ15に順次格納した複数の分割データを交信周期毎に順次読み出して、CPU61は、DMAコントローラ13が読み出した複数の分割データを結合して交信データを構築する、ように構成したので、生成した分割データをDRAM12を介さずに送信用交信メモリ15に格納する本発明の実施の形態4においても、送信側のコントローラユニット60は受信側のコントローラユニット60に送信済みの交信データを利用することができる。また、送信用交信メモリ15および受信用交信メモリ16は夫々ダブルバッファを構成し、DRAM12と送信用交信メモリ15との間のデータ転送、ユニット間転送処理、および受信用交信メモリ16とDRAM12との間のデータ転送をパイプライン処理的に実行するように構成したので、交信周期毎に転送単位データをデータ転送することができる。また、交信周期は、複数のコントローラユニット60の夫々に排他的に割り当てられる複数のタイムスロットに時分割されており、送信側のコントローラユニット60における分割データを送信用交信メモリ15に格納する処理、送信側のコントローラユニット60と受信側のコントローラユニット60との間のユニット間転送処理、および受信側のコントローラユニット60における受信用交信メモリ16とDRAM12との間のデータ転送は、送信側のコントローラユニット60に割り当てられたタイムスロットにおいて実行される、ように構成したので、複数のコントローラユニット60間の交信データの衝突を防止することができる。実施の形態5.図17は、本発明にかかる実施の形態5のプログラマブルコントローラシステムの構成を示す図である。なお、ここでは、実施の形態1と同じ構成要素には同一の符号を付して、重複する説明を省略する。図17に示すように、プログラマブルコントローラシステム5は、コントローラユニット70A~70Cとベースユニット20とを備えて構成されている。以降、コントローラユニット70A~70Cをコントローラユニット70と総称する場合がある。図18は、コントローラユニット70の構成を説明する図である。図示するように、コントローラユニット70は、CPU71、DRAM12、DMAコントローラ13、および定周期バスI/F72を備えている。CPU71、DRAM12、DMAコントローラ13、および定周期バスI/F72は夫々バスに接続されている。定周期バスI/F72は定周期バス30に接続するための接続インタフェースである。実施の形態5の定周期バスI/F72は、送信用交信メモリ73a、送信用交信メモリ73b、および受信用交信メモリ74を備えている。次に、本発明の実施の形態5のプログラマブルコントローラシステム5の動作を説明する。図19は、データの送受信のタイミングを説明するタイミングチャートである。なお、ここでは、説明を簡単にするために、コントローラユニット70Aが送信元となり、コントローラユニット70Bおよびコントローラユニット70Cが送信先となるデータ交信について説明する。なお、図19に示す夫々の交信周期第1~第6交信周期の夫々は、簡単のためにコントローラユニット70に割り当てられているタイムスロットの表記を省略しているが、実際には夫々4つのタイムスロットから構成されており、コントローラユニット70Aからコントローラユニット70B、70Cへのデータ交信にかかる処理は、DMA転送にかかる処理を除き、そのうちの1つのタイムスロットを使用して実行される。まず、第1交信周期において、コントローラユニット70AのCPU71は、交信データのうちの前半部分を生成すると、当該前半部分の交信データ分割データD0から転送単位データD0を生成し、生成した転送単位データD0を送信用交信メモリ73aに格納するステップS41。その後、第1交信周期のDNA転送用のタイムスロットにおいては、コントローラユニット70AのCPU71は、DMAコントローラ13に指令して、送信用交信メモリ73aに格納されている転送単位データD0を送信用交信メモリ73aからDRAM12に転送させるステップS42。第2交信周期において、コントローラユニット70Aの定周期バスI/F72は、送信用交信メモリ73aに格納されている転送単位データD0をコントローラユニット70Bの受信用交信メモリ74に転送するステップS43。ステップS43の処理と同時並行的に、コントローラユニット70AのCPU71は、交信データのうちの後半部分を生成すると、当該後半部分の交信データ分割データD1から転送単位データD1を生成し、生成した転送単位データD1を送信用交信メモリ73bに格納するステップS44。なお、コントローラユニット70AのCPU71は、転送単位データを生成する際には、夫々のヘッダ部100にブロック番号を記入する。ステップS43、ステップS44の処理の後、第2交信周期のDNA転送用のタイムスロットにおいては、コントローラユニット70AのCPU71は、DMAコントローラ13に指令して、送信用交信メモリ73bに格納されている転送単位データD1を送信用交信メモリ73bからDRAM12に転送させるステップS45。ステップS45と同時並行的に、コントローラユニット70BのCPU71は、DMAコントローラ13に指令して、受信用交信メモリ74に格納されている転送単位データD0を受信用交信メモリ74からDRAM12に転送させるステップS46。第3交信周期において、コントローラユニット70Aの定周期バスI/F72は、送信用交信メモリ73bに格納されている転送単位データD1をコントローラユニット70Bの受信用交信メモリ74に転送するステップS47。その後、第3交信周期のDMA転送用のタイムスロットにおいては、コントローラユニット70BのCPU71は、DMAコントローラ13に指令して、受信用交信メモリ74に格納されている転送単位データD1を受信用交信メモリ74からDRAM12に転送させるステップS48。なお、コントローラユニット70BのCPU71は、実施の形態1のCPU11と同様に、分割データD0および分割データD1から分割前の交信データを再構築する。このように、本発明の実施の形態5によれば、DMA転送用のタイムスロットを交信周期の末尾に確保し、CPU71は、交信周期毎に、交信データの完成を待つことなく当該交信データの生成済みの一部である分割データを送信用交信メモリ73に格納する、ように構成したので、図19のステップS42に示すように、交信データが完成する前に当該交信データにかかるDMA転送を開始することができるようになる。即ち、送信側のコントローラユニット70が交信データを生成してから受信側のコントローラユニット70が当該交信データを利用できるようになるまでの時間を実施の形態4に比べてさらに短縮することができる。