【事件の表示】
　特許第３３４８１７７号「プログラマブルコントローラ」の請求項１に係る特許に対する特許異議の申立てについて、次のとおり決定する。
【結　論】
　訂正を認める。
　特許第３３４８１７７号の請求項１に係る特許を維持する。
【理　由】
第１．手続の経緯
　本件特許第３３４８１７７号の請求項１に係る発明は、平成５年９月１０日の出願であって、平成１４年９月１３日に特許の設定登録がなされ、その後、株式会社山武により特許異議の申立てがなされ、当審において取消理由通知がなされ、その指定期間内である平成１６年１月６日に訂正請求がなされたものである。
　
第２．訂正の適否についての判断
１．訂正の内容
　訂正請求は、本件特許に係る願書に添付した明細書（以下「本件特許明細書」という。）を訂正請求書に添付した訂正明細書（以下「本件訂正明細書」という。）のとおり訂正することを求めるものであり、その訂正の内容は次のとおりである。
　
（１）訂正事項１
　特許請求の範囲の請求項１の記載
「【請求項１】ＣＰＵユニットとＩ／Ｏユニットとが外部バスで接続され、上記外部バスを経由して、Ｉ／ＯユニットからＣＰＵユニットへ入力データを入力し、上記入力データに基づき実行したユーザプログラム実行結果を出力データとしてＣＰＵユニットからＩ／Ｏユニットへ出力するようにして、ＣＰＵユニットのユーザプログラム実行とＣＰＵユニット・Ｉ／Ｏユニット間の入出力とを繰り返し実行するプログラマブルコントローラであって、
　上記ＣＰＵユニットは、
　ユーザプログラムを実行するマイクロプロセッサと、
　上記ユーザプログラム実行用の入出力データを記憶する実行用データ記憶手段と、
　上記Ｉ／Ｏユニットとの間で転送される入出力データを記憶する転送用データ記憶手段と、
　上記外部バスに接続され、Ｉ／Ｏユニットと転送用データ記憶手段との間でデータの転送を行うデータ転送手段と、
　上記マイクロプロセッサ、実行用データ記憶手段、転送用データ記憶手段およびデータ転送手段を互いに接続する内部バスとを具備し、
　ＣＰＵユニットにおけるユーザプログラムの実行終了から次のユーザプログラムの実行開始までの間に、実行用データ記憶手段に記憶された出力データを内部バスを介して転送用データ記憶手段へ転送すると共に、転送用データ記憶手段に記憶された入力データを内部バスを介して実行用データ記憶手段へ転送するようにし、
　ＣＰＵユニットにおけるユーザプログラムの実行中に、データ転送手段が、転送用データ記憶手段に記憶された出力データを外部バスを介してＩ／Ｏユニットへ転送すると共に、Ｉ／Ｏユニットから入力データを外部バスを介して転送用データ記憶手段へ転送するようにした、
　ことを特徴とするプログラマブルコントローラ。」を、
「【請求項１】ＣＰＵユニットとＩ／Ｏユニットとが外部バスで接続され、上記外部バスを経由して、Ｉ／ＯユニットからＣＰＵユニットへ入力データを入力し、上記入力データに基づき実行したユーザプログラム実行結果を出力データとしてＣＰＵユニットからＩ／Ｏユニットへ出力するようにして、ＣＰＵユニットのユーザプログラム実行とＣＰＵユニット・Ｉ／Ｏユニット間の入出力とを繰り返し実行するプログラマブルコントローラであって、
　上記ＣＰＵユニットは、
　ユーザプログラムを実行するマイクロプロセッサと、
　上記ユーザプログラム実行用の入出力データを記憶する実行用データ記憶手段と、
　上記Ｉ／Ｏユニットとの間で転送される入出力データを記憶する転送用データ記憶手段と、
　上記外部バスに接続され、Ｉ／Ｏユニットと転送用データ記憶手段との間でデータの転送を行うデータ転送手段と、
　上記マイクロプロセッサ、実行用データ記憶手段、転送用データ記憶手段およびデータ転送手段を互いに接続する内部バスとを具備し、
　ＣＰＵユニットにおけるユーザプログラムの実行終了から次のユーザプログラムの実行開始までの間に、実行用データ記憶手段に記憶された出力データを内部バスを介して転送用データ記憶手段へ転送すると共に、転送用データ記憶手段に記憶された入力データを内部バスを介して実行用データ記憶手段へ転送するようにし、
　ＣＰＵユニットにおけるユーザプログラムの実行は、マイクロプロセッサが、実行用データ記憶手段に記憶された入力データを用いてユーザプログラムを実行するものであり、その実行中に、データ転送手段が、転送用データ記憶手段に記憶された出力データを外部バスを介してＩ／Ｏユニットへ転送すると共に、Ｉ／Ｏユニットから入力データを外部バスを介して転送用データ記憶手段へ転送するようにした、
　ことを特徴とするプログラマブルコントローラ。」と訂正する。
　
（２）訂正事項２
  特許明細書の段落【０００６】の記載
「【課題を解決するための手段】
　上記目的を達成するため、請求項１記載の発明では、ＣＰＵユニットとＩ／Ｏユニットとが外部バスで接続され、上記外部バスを経由して、Ｉ／ＯユニットからＣＰＵユニットへ入力データを入力し、上記入力データに基づき実行したユーザプログラム実行結果を出力データとしてＣＰＵユニットからＩ／Ｏユニットへ出力するようにして、ＣＰＵユニットのユーザプログラム実行とＣＰＵユニット・Ｉ／Ｏユニット間の入出力とを繰り返し実行するプログラマブルコントローラであって、上記ＣＰＵユニットは、ユーザプログラムを実行するマイクロプロセッサと、上記ユーザプログラム実行用の入出力データを記憶する実行用データ記憶手段と、上記Ｉ／Ｏユニットとの間で転送される入出力データを記憶する転送用データ記憶手段と、上記外部バスに接続され、Ｉ／Ｏユニットと転送用データ記憶手段との間でデータの転送を行うデータ転送手段と、上記マイクロプロセッサ、実行用データ記憶手段、転送用データ記憶手段およびデータ転送手段を互いに接続する内部バスとを具備し、ＣＰＵユニットにおけるユーザプログラムの実行終了から次のユーザプログラムの実行開始までの間に、実行用データ記憶手段に記憶された出力データを内部バスを介して転送用データ記憶手段へ転送すると共に、転送用データ記憶手段に記憶された入力データを内部バスを介して実行用データ記憶手段へ転送するようにし、ＣＰＵユニットにおけるユーザプログラムの実行中に、データ転送手段が、転送用データ記憶手段に記憶された出力データを外部バスを介してＩ／Ｏユニットへ転送すると共に、Ｉ／Ｏユニットから入力データを外部バスを介して転送用データ記憶手段へ転送するようにした、ことを特徴とする。」を、
「【課題を解決するための手段】
　上記目的を達成するため、請求項１記載の発明では、ＣＰＵユニットとＩ／Ｏユニットとが外部バスで接続され、上記外部バスを経由して、Ｉ／ＯユニットからＣＰＵユニットへ入力データを入力し、上記入力データに基づき実行したユーザプログラム実行結果を出力データとしてＣＰＵユニットからＩ／Ｏユニットへ出力するようにして、ＣＰＵユニットのユーザプログラム実行とＣＰＵユニット・Ｉ／Ｏユニット間の入出力とを繰り返し実行するプログラマブルコントローラであって、上記ＣＰＵユニットは、ユーザプログラムを実行するマイクロプロセッサと、上記ユーザプログラム実行用の入出力データを記憶する実行用データ記憶手段と、上記Ｉ／Ｏユニットとの間で転送される入出力データを記憶する転送用データ記憶手段と、上記外部バスに接続され、Ｉ／Ｏユニットと転送用データ記憶手段との間でデータの転送を行うデータ転送手段と、上記マイクロプロセッサ、実行用データ記憶手段、転送用データ記憶手段およびデータ転送手段を互いに接続する内部バスとを具備し、ＣＰＵユニットにおけるユーザプログラムの実行終了から次のユーザプログラムの実行開始までの間に、実行用データ記憶手段に記憶された出力データを内部バスを介して転送用データ記憶手段へ転送すると共に、転送用データ記憶手段に記憶された入力データを内部バスを介して実行用データ記憶手段へ転送するようにし、ＣＰＵユニットにおけるユーザプログラムの実行は、マイクロプロセッサが、実行用データ記憶手段に記憶された入力データを用いてユーザプログラムを実行するものであり、その実行中に、データ転送手段が、転送用データ記憶手段に記憶された出力データを外部バスを介してＩ／Ｏユニットへ転送すると共に、Ｉ／Ｏユニットから入力データを外部バスを介して転送用データ記憶手段へ転送するようにした、ことを特徴とする。」と訂正する。
　
２．訂正の目的の適否、新規事項の有無及び特許請求の範囲の拡張・変更の存否
（１）訂正事項１
  訂正事項１は、請求項１において、ユーザプログラムの実行は、マイクロプロセッサが、実行用データ記憶手段に記憶された入力データを用いてユーザプログラムを実行するものであり、その実行中に、データ転送手段が、転送用データ記憶手段に記憶された出力データを外部バスを介してＩ／Ｏユニットへ転送すると共に、Ｉ／Ｏユニットから入力データを外部バスを介して転送用データ記憶手段へ転送することを、限定するもので、特許請求の範囲の減縮を目的とする訂正に該当する。
　また、限定した事項は、本件特許明細書の段落【００１６】、【００２４】等の記載に基づくもので、新規事項の追加に該当せず、さらに、実質的に特許請求の範囲を拡張又は変更するものでもない。
　
（２）訂正事項２
　訂正事項２は、上記訂正に伴って、発明の詳細な説明の記載を特許請求の範囲と整合させるためのもので、明りょうでない記載の釈明を目的とする訂正に該当し、新規事項の追加に該当せず、実質的に特許請求の範囲を拡張又は変更するものでもない。
　
３．むすび
　以上のとおりであるから、上記訂正は、特許法等の一部を改正する法律（平成６年法律第１１６号）附則第６条第１項の規定によりなお従前の例によるとされる、特許法第１２０条の４第３項において準用する平成６年法律第１１６号による改正前の特許法第１２６条第１項ただし書き及び第２項の規定に適合するので、当該訂正を認める。
　
第３．特許異議の申立てについて
１．異議申立ての理由及び取消理由の概要
　特許異議申立人は、甲第１号証（特開昭５９−２００３０３号公報）及び甲第２号証（特開平２−８９０６号公報）を提出し、本件特許明細書の請求項１に係る発明は、その出願前に頒布された刊行物である甲１号証に記載された発明であること、及び甲第１号証及び甲第２号証に記載の発明に基づいて容易に発明をすることができたものであるから、特許法第２９条第１項第３号又は第２項の規定により特許を受けることができないものであるとの主張をしている。
　また、当審において通知した取消理由は、本件の請求項１に係る発明は、甲第１号証及び甲第２号証に記載の発明に基づいて容易に発明をすることができたものであるから、特許法第２９条第２項の規定により特許を受けることができないものであるというものである。
　
２．本件発明
　本件特許の請求項１に係る発明（以下「本件発明」」という。）は、本件訂正明細書の特許請求の範囲の請求項１に記載された上記のとおりのものである。
　
３．刊行物に記載の発明及び本件発明との対比、判断
（１）甲第１号証には、１サイクル中において、本件発明の「ユーザプログラム」に相当する「シーケンスプログラム」の実行と、本件発明における「転送用データ記憶手段に記憶された出力データを外部バスを介してＩ／Ｏユニットへ転送すると共に、Ｉ／Ｏユニットから入力データを外部バスを介して転送用データ記憶手段へ転送する」ことに相当する「入出力制御」を並列に実行することについて記載されている。
　しかしながら、甲第１号証の「（ｎ−１）番目の処理時間にすでに第二のメモリ部９にセットされている入力データを参照しながら、シーケンスプログラムを実行し」（３頁左上欄５〜７行）の記載のとおり、甲第１号証に記載の発明においては、本件発明の「マイクロプロセッサ」に相当する「論理解読部」は、本件発明の「転送用データ記憶手段」に相当する「メモリ部」に記憶された入力データを用いてシーケンスプログラムを実行しており、少なくとも、本件発明における「マイクロプロセッサが、実行用データ記憶手段に記憶された入力データを用いてユーザプログラムを実行」する構成を備えていない。
　
（２）そして、本件発明は、甲第１号証に記載の発明が備えない上記構成を備えることにより、データ転送手段に関する構成と相俟って、マイクロプロセッサによるユーザプログラムの実行とデータ転送手段による転送用データ記憶手段とＩ／Ｏユニット間のデータ転送とが、完全に独立した状態で並行して行えることから、本件訂正明細書の発明の効果の欄に記載のとおり、ＭＰＵによるユーザプログラム実行処理とデータ転送手段によるＩ／Ｏユニットとの入出力データの交換処理とが並列処理され、Ｉ／Ｏリフレッシュサイクル及び命令実行サイクルが短縮され、Ｉ／Ｏリフレッシュの際の転送用データ量が大きくなった場合でも命令実行サイクルへの影響を小さくできるという格別の効果を奏するものである。
　
（３）また、甲第２号証に記載の発明においては、本件発明における「Ｉ／Ｏユニット」に相当する「Ｉ／Ｏ制御装置」と演算制御装置ＣＵとの間でのデータの転送を行うもので、本件発明における「転送用データ記憶手段」及びそのための「データ転送手段」を欠くもので、本件発明の前提となる構成を備えていないことから、当然、甲第１号証に関する対比で検討した上記の効果を奏することはできない。
　しかも、異議申立人が特に引用する「演算制御部ＣＰＵは、入出力処理制御装置ＩＯ１〜ＩＯｎから送信されて、その時点でシステムバス伝送制御部ＳＢＣ１〜ＳＢＣｎに蓄積されている入力データを取り込み（処理１１３）、処理１０８に戻ってその入力データを用いた演算処理を実行する。」（４頁左上欄１２〜１６行）の記載からは、必ずしも、システムバス伝送制御部から本件発明の「実行用データ記憶手段」にさらにデータが転送されていることを確定することもできない。
　
（４）したがって、本件発明が、甲第１号証に記載された発明であるとも、甲第１号証及び甲第２号証に記載された発明に基づいて容易に発明をすることができたものともいうことはできない。
　
４．むすび
　以上のとおりであるから、特許異議申立ての理由及び証拠によっては、本件訂正後の請求項１に係る特許を取り消すことはできない。
　また、他に本件訂正後の請求項１に係る特許を取り消すべき理由を発見しない。
　よって、結論のとおり決定する。
【異議決定日】
平成１６年１月２３日（２００４．１．２３）
【訂正の要旨】
審決（決定）の【理由】欄参照。
（５４）【発明の名称】
プログラマブルコントローラ
（５７）【特許請求の範囲】
　【請求項１】
　ＣＰＵユニットとＩ／Ｏユニットとが外部バスで接続され、上記外部バスを経由して、Ｉ／ＯユニットからＣＰＵユニットへ入力データを入力し、上記入力データに基づき実行したユーザプログラム実行結果を出力データとしてＣＰＵユニットからＩ／Ｏユニットへ出力するようにして、ＣＰＵユニットのユーザプログラム実行とＣＰＵユニット・Ｉ／Ｏユニット間の入出力とを繰り返し実行するプログラマブルコントローラであって、
　上記ＣＰＵユニットは、
　ユーザプログラムを実行するマイクロプロセッサと、上記ユーザプログラム実行用の入出力データを記憶する実行用データ記憶手段と、
　上記Ｉ／Ｏユニットとの間で転送される入出力データを記憶する転送用データ記憶手段と、
　上記外部バスに接続され、Ｉ／Ｏユニットと転送用データ記憶手段との間でデータの転送を行うデータ転送手段と、
　上記マイクロプロセッサ、実行用データ記憶手段、転送用データ記憶手段およびデータ転送手段を互いに接続する内部バスとを具備し、
　ＣＰＵユニットにおけるユーザプログラムの実行終了から次のユーザプログラムの実行開始までの間に、実行用データ記憶手段に記憶された出力データを内部バスを介して転送用データ記憶手段へ転送すると共に、転送用データ記憶手段に記憶された入力データを内部バスを介して実行用データ記憶手段へ転送するようにし、
　ＣＰＵユニットにおけるユーザプログラム
の実行は、マイクロプロセッサが、実行用データ記憶手段に記憶された入力データを用いてユーザプログラムを実行するものであり、その実行
ことを特徴とするプログラマブルコントローラ。
【発明の詳細な説明】
　【０００１】
　【産業上の利用分野】
　本発明は、ＣＰＵユニットとＩ／Ｏユニットとの間で外部バスを介して入出力データの交換を行うようにしたプログラマブルコントローラに関する。
　【０００２】
　【従来の技術】
　プログラマブルコントローラは、通常、ＣＰＵユニットや入出力データの入出力を行うＩ／Ｏユニットが接続されて構成されている。
　【０００３】
　このようなプログラマブルコントローラでは、通常、図５に示すように、ＣＰＵユニット内のマイクロプロセッサ（以下、ＭＰＵという）が、ユーザプログラムの実行と、ＣＰＵユニットとＩ／Ｏユニット間の外部バスを介してのＩ／Ｏリフレッシュ処理、すなわち入出力データの交換とを繰り返し実行している。
　【０００４】
　【発明が解決しようとする課題】
　しかし、ＣＰＵユニットとＩ／Ｏユニット間の外部バスは一般的にユニット内の内部バスと比較してデータ転送速度が遅いので、上記従来のプログラマブルコントローラのように、ＣＰＵユニット内のＭＰＵが外部バスを介して直接Ｉ／ＯユニットとＩ／Ｏリフレッシュを行っていたのでは、Ｉ／Ｏリフレッシュの際の転送用データ量が大きくなった場合に、命令実行サイクルに占めるＩ／Ｏリフレッシュサイクルの割合が無視できなくなる、という問題があった。
　【０００５】
　そこで、本発明は、Ｉ／Ｏリフレッシュの際の転送用データ量が大きくなった場合でも命令実行サイクルに影響を与えないプログラマブルコントローラを提供することを目的とする。
　【０００６】
　【課題を解決するための手段】
　上記目的を達成するため、請求項１記載の発明では、ＣＰＵユニットとＩ／Ｏユニットとが外部バスで接続され、上記外部バスを経由して、Ｉ／ＯユニットからＣＰＵユニットへ入力データを入力し、上記入力データに基づき実行したユーザプログラム実行結果を出力データとしてＣＰＵユニットからＩ／Ｏユニットへ出力するようにして、ＣＰＵユニットのユーザプログラム実行とＣＰＵユニット・Ｉ／Ｏユニット間の入出力とを繰り返し実行するプログラマブルコントローラであって、上記ＣＰＵユニットは、ユーザプログラムを実行するマイクロプロセッサと、上記ユーザプログラム実行用の入出力データを記憶する実行用データ記憶手段と、上記Ｉ／Ｏユニットとの間で転送される入出力データを記憶する転送用データ記憶手段と、上記外部バスに接続され、Ｉ／Ｏユニットと転送用データ記憶手段との間でデータの転送を行うデータ転送手段と、上記マイクロプロセッサ、実行用データ記憶手段、転送用データ記憶手段およびデータ転送手段を互いに接続する内部バスとを具備し、ＣＰＵユニットにおけるユーザプログラムの実行終了から次のユーザプログラムの実行開始までの間に、実行用データ記憶手段に記憶された出力データを内部バスを介して転送用データ記憶手段へ転送すると共に、転送用データ記憶手段に記憶された入力データを内部バスを介して実行用データ記憶手段へ転送するようにし、ＣＰＵユニットにおけるユーザプログラムの
実行は、マイクロプロセッサが、実行用データ記憶手段に記憶された入力データを用いてユーザプログラムを実行するものであり、その実行
　【０００７】
　【０００８】
　【０００９】
　【００１０】
　【作用】
　請求項１記載の発明では、マイクロプロセッサが、ユーザプログラムの実行後、実行用データ記憶手段に記憶された出力データを転送用データ記憶手段へ転送すると共に、転送用データ記憶手段に記憶された入力データを実行用データ記憶手段へ転送し、その後ユーザプログラムを実行する一方、データ転送手段が、マイクロプロセッサによる入出力データの転送後、転送用データ記憶手段に記憶された出力データをＩ／Ｏユニットへ転送すると共に、Ｉ／Ｏユニットが取り込んだ入力データを転送用データ記憶手段へ転送する。
　【００１１】
　【００１２】
　【００１３】
　【００１４】
　【実施例】
　以下、本発明に係るプログラマブルコントローラ（以下、ＰＬＣという）の実施例を図面に基づいて説明する。
　【００１５】
　図１に、本発明に係るＰＬＣの構成を示す。このＰＬＣは、ＣＰＵユニット１と、Ｉ／Ｏユニット２とを外部バス３で接続して構成されている。
　【００１６】
　ＣＰＵユニット１は、ユーザプログラムの実行等をするＭＰＵ１１と、ＭＰＵ１１を動作させるためのシステムプログラムが格納されたシステムプログラムメモリ１２と、ユーザプログラムが格納されたユーザプログラムメモリ１３と、プログラム命令実行の際の入出力データを記憶する実行用データ記憶手段としてのワークメモリ１４と、外部バス３と接続されるインタフェース（Ｉ／Ｆ）回路１５とを有しており、それらは内部バス１６を介して接続されている。
　【００１７】
　インタフェース回路１５は、転送用データ記憶手段としての転送用データ記憶部５１と、ＭＰＵ１１からのデータ転送命令により転送用データ記憶部５１とＩ／Ｏユニット２間で後述するように入出力データの転送を行うデータ転送手段としてのデータ転送回路５２とから構成されている。本実施例では、転送用データ記憶部５１は、シングルポートの転送用データメモリ５１ａと、内部バス１６および外部バス３と接続され、ＭＰＵ１１からの切替え指令により転送用データメモリ５１ａの接続先を内部バス１６あるいは外部バス３の一方に切替えるバス切替回路５１ｂとから構成されている。
　【００１８】
　また、Ｉ／Ｏユニット２は、ＣＰＵユニット１とデータ交換を行うと共に、外部機器への入出力や、Ｉ／Ｏユニット内部でデータ処理を実行するように構成されている。ここでは、Ｉ／Ｏユニット２は、１台しか示されていないが、外部バス３上に複数台接続することができ、また、入力専用、出力専用であっても良い。
　【００１９】
　次に、第１実施例のＰＬＣの動作を説明する。この第１実施例は、ＭＰＵ１１によるユーザプログラム実行時間が、データ転送回路５２による転送用データメモリ５１ａとＩ／Ｏユニット２間のデータ交換時間よりも長い場合の実施例である。
　【００２０】
　図２に、この第１実施例におけるＭＰＵ１１およびデータ転送回路５２の動作のタイムチャートを示す。
　【００２１】
　第１実施例の場合、ＭＰＵ１１によるユーザプログラム実行時間ｔ１のほうが、データ転送回路５２によるＩ／Ｏユニット２とのデータ交換時間ｔ２よりも長いため、ＭＰＵ１１は、ユーザプログラムの実行後、すぐにバス切替回路５１ｂに切替指令を送って転送用データメモリ５１ａを内部バス１６に接続するように指示して、ワークメモリ１４に格納されている出力データを内部バス１６を介して転送用データメモリ５１ａに転送すると共に、転送用データメモリ５１ａに格納されている入力データをワークメモリ１４に転送させる。
　【００２２】
　この転送終了後、ＭＰＵ１１は、バス切替回路５１ｂに切替指令を送って転送用データメモリ５１ａの接続先を内部バス１６から外部バス３に切替えるように指示すると共に、データ転送回路５２に動作開始指令を送ってＭＰＵ１１のＩ／Ｏリフレッシュ処理の終了を通知し、その後すぐに次サイクルに入って、ユーザプログラムを再び実行するようにする。
　【００２３】
　一方、データ転送回路５２では、ＭＰＵ１１からＩ／Ｏリフレッシュ処理の終了通知を受けると、バス切替回路５１ｂによって転送用データメモリ５１ａの接続先が外部バス３に切替わっているため、転送用データメモリ５１ａに格納されている出力データを外部バス３を介してＩ／Ｏユニット２に転送すると共に、Ｉ／Ｏユニット２が取込んだ入力データをデータ転送用データメモリ５１ａへ転送する。そして、ＭＰＵ１１から次の動作開始指令が来るまで待機する。
　【００２４】
　従って、この第１実施例によれば、ＭＰＵ１１によるユーザプログラム実行処理とデータ転送回路によるＩ／Ｏユニット２とのＩ／Ｏリフレッシュ処理とが並列処理され、ＭＰＵ１１はＣＰＵユニット１内のＩ／Ｆ回路１５の転送用データメモリ５１ａと内部バス１６を介してＩ／Ｏリフレッシュ、すなわち入出力データの交換を行うだけで良いため、外部バス３を介してＩ／Ｏユニット２とＩ／Ｏリフレッシュを行う場合と比べて、Ｉ／Ｏリフレッシュサイクルおよび命令実行サイクルが短縮化され、Ｉ／Ｏリフレッシュの際の転送用データ量が大きくなった場合でも命令実行サイクルへの影響を小さくできる。
　【００２５】
　ここで、図２に示すように、ＭＰＵ１１が転送用データメモリ５１ａとのＩ／Ｏリフレッシュにｔ３時間だけ要するとすると、この第１実施例によれば、従来より（ｔ２−ｔ３）時間だけ命令実行サイクルを短縮化できることになる。
　【００２６】
　次に、本発明の第２実施例を説明する。この第２実施例のＰＬＣは、ハード構成の点では図１に示す第１実施例と同様であるが、システムプログラムが第１実施例のものと異なっており、ＭＰＵが第１実施例のものと異なる動作をするように構成されている。
　【００２７】
　つまり、この第２実施例は、後述する図３に示すように、ＭＰＵによるユーザプログラム実行時間ｔ１が、データ転送回路によるＩ／Ｏユニットとのデータ交換時間ｔ２より短い場合の実施例であり、ＭＰＵがユーザプログラムの実行後、一定時間待機してからＩ／Ｆ回路の転送用データメモリとＩ／Ｏリフレッシュを行うように構成されている。
　【００２８】
　次に、この第２実施例の動作を説明する。なお、ＰＬＣの構成については図１に示す第１実施例のＰＬＣの構成の符号を使用して説明する。
　【００２９】
　図３に、この第２実施例におけるＭＰＵ１１およびデータ転送回路５２の動作のタイムチャートを示す。
　【００３０】
　この第２実施例では、ユーザプログラム実行時間ｔ１が、データ転送回路５２によるＩ／Ｏユニット２とのデータ交換時間ｔ２より短いので、ＭＰＵ１１は、ユーザプログラムの実行後一定時間ｔ４だけ待機してからバス切替回路５１ｂに切替指令を送って転送用データメモリ５１ａを内部バス１６に接続させ、ワークメモリ１４に格納されている出力データと、転送用データメモリ５１ａに格納されている入力データとを内部バス１６を介して交換する。
　【００３１】
　この入出力データの交換処理終了後、ＭＰＵ１１は、バス切替回路５２に対し転送用データメモリ５１ａの接続先を内部バス１６から外部バス３に切替えるよう切替指令を送ると共に、データ転送回路５１ｂに動作開始指令を送る。
　【００３２】
　そして、データ転送回路５２は、この動作開始指令を受けると、転送用データメモリ５１ａに格納されている出力データを外部バス３およびバス切替回路５１ｂを介してＩ／Ｏユニット２に転送すると共に、Ｉ／Ｏユニット２からデータ転送用データメモリ５１ａに入力データを転送する。そして、ＭＰＵ１１から次の動作開始指令が来るまで待機する。
　【００３３】
　従って、この第２実施例によれば、第１実施例の場合と同様に、ＭＰＵ１１によるユーザプログラム実行処理とデータ転送回路によるＩ／Ｏユニット２とのＩ／Ｏリフレッシュ処理とが並列処理され、ＭＰＵ１１はＩ／Ｆ回路１５の転送用データメモリ５１ａと内部バス１６を介して入出力データの交換を行うだけで良いため、外部バス３を介してＩ／Ｏユニット２とＩ／Ｏリフレッシュを行う場合と比べて、Ｉ／Ｏリフレッシュサイクルおよび命令実行サイクルが短縮化され、Ｉ／Ｏリフレッシュの際の転送用データ量が大きくなった場合でも命令実行サイクルへの影響を小さくできる。
　【００３４】
　ここで、この第２実施例によれば、図３に示すように従来より（ｔ２−（ｔ３＋ｔ４））だけ命令実行サイクルを短縮化できることがわかる。
　【００３５】
　次に、本発明の第３実施例を説明する。この第３実施例のＰＬＣは、ハード構成の点では第２実施例および図１に示す第１実施例と同様であるが、システムプログラムが第１実施例および第２実施例のものと異なっており、ＭＰＵが第１実施例および第２実施例のものと異なる動作をするように構成されている。
　【００３６】
　つまり、この第３実施例は、ＭＰＵによるユーザプログラム実行時間ｔ１が、データ転送回路によるＩ／Ｏユニットとのデータ交換時間ｔ２より長い場合の実施例で、ＭＰＵがユーザプログラムの実行際、最新の入力データを使用できるように構成されている。
　【００３７】
　次に、この第３実施例の動作を説明する。なお、ＰＬＣの構成については図１に示す第１実施例のＰＬＣの構成の符号を使用して説明する。
　【００３８】
　図４に、この第３実施例におけるＭＰＵ１１およびデータ転送回路５２の動作のタイムチャートを示す。
　【００３９】
　この第３実施例では、ユーザプログラム実行時間ｔ１が、データ転送回路５２によるＩ／Ｏユニット２とのデータ交換時間ｔ２より長いため、ＭＰＵ１１は、ユーザプログラムの実行後、すぐにバス切替回路５１ｂに切替指令を送って転送用データメモリ５１ａを内部バス１６に接続させ、ワークメモリ１４に格納されている出力データを内部バス１６を介して転送用データメモリ５１ａに転送すると共に、転送用データメモリ５１ａに格納されている入力データをワークメモリ１４に転送させる。ここまでの処理は、第１実施例の場合とまったく同様である。
　【００４０】
　この転送終了後、ＭＰＵ１１は、バス切替回路５１ｂに切替指令を送って転送用データメモリ５１ａの接続先を内部バス１６から外部バス３に切替えさせ、その後データ転送回路５２に動作開始指令を送って、その後すぐに次サイクルに入って、ユーザプログラムを再び実行するようにする。
　【００４１】
　一方、データ転送回路５２では、ＭＰＵ１１からＩ／Ｏリフレッシュ処理の終了通知を受けると、バス切替回路５１ｂによって転送用データメモリ５１ａの接続先が外部バス３に切替わっているので、まずはＯＵＴリフレッシュ、すなわち転送用データメモリ５１ａに格納されている出力データを外部バス３を介してＩ／Ｏユニット２に転送する。
　【００４２】
　そして、この後ＭＰＵ１１がユーザプログラムの実行を終了してＩ／Ｏリフレッシュ処理を開始するまで、ＩＮリフレッシュの繰り返し、すなわちＩ／Ｏユニット２からデータ転送用データメモリ５１ａへの入力データの転送を繰り返すようにする。
　【００４３】
　つまり、図４では、ＭＰＵ１１によるユーザプログラム実行時間ｔ１からデータ転送回路５２によるＯＵＴリフレッシュ時間ｔ２１を除いた時間ｔ２２の間だけＩＮリフレッシュを繰り返すようにする。
　【００４４】
　そして、ＭＰＵ１１がユーザプログラムの実行を終了したとき、データ転送回路５２は、そのＩＮリフレッシュ処理の繰返し処理を終了して、ＭＰＵ１１から次の動作開始指令が来るまで待機する。
　【００４５】
　従って、この第３実施例によれば、第１実施例、第２実施例の場合と同様に、ＭＰＵ１１によるユーザプログラム実行処理とデータ転送回路によるＩ／Ｏユニット２とのＩ／Ｏリフレッシュ処理とが並列処理され、ＭＰＵ１１はＣＰＵユニット１内の転送用データメモリ５１ａと内部バス１６を介し入出力データの交換を行うだけで良いため、外部バス３を介してＩ／Ｏユニット２とＩ／Ｏリフレッシュを行う場合と比べてＩ／Ｏリフレッシュサイクルおよび命令実行サイクルが短縮化され、Ｉ／Ｏリフレッシュの際の転送用データ量が大きくなった場合でも命令実行サイクルへの影響を小さくできる。
　【００４６】
　ここで、この第３実施例によれば、図２に示す第１実施例の場合と同様に、ＭＰＵ１１が転送用データメモリ５１ａとのＩ／Ｏリフレッシュにｔ３時間だけ要するとすると、従来より、（ｔ２−ｔ３）時間だけ命令実行サイクルを短縮化できることになる。
　【００４７】
　また、この第３実施例によれば、データ転送回路５２が、ＯＵＴリフレッシュ処理後、ＭＰＵ１１がＩ／Ｏリフレッシュ処理を行うまでＩＮリフレッシュを繰り返すため、ＭＰＵ１１がＩ／Ｏリフレッシュ処理を行う際には、転送用データメモリ５１ａに最新の入力データが記憶されており、次サイクルのユーザプログラム実行時には最新の入力データを使用できることになる。
　【００４８】
　なお、上記第１〜第３の各実施例では、図１に示すように、転送用データ記憶手段としての転送用データ記憶部５１をシングルポートの転送用データメモリ５１ａとバス切替回路５１ｂとで構成したが、本発明では、転送用データ記憶部５１をデュアルポートメモリのみで構成して、このデュアルポートメモリをバス切替回路を介さずに内部バス１６および外部バス３の双方に直接接続するようにし、このデュアルポートメモリにＭＰＵ１１およびデータ転送回路５２の双方が自由にアクセスできるようにしても勿論よい。
　【００４９】
　【発明の効果】
　以上説明したように、本発明では、ＣＰＵユニット内のＭＰＵが、ユーザプログラムの実行後から次のユーザプログラムの実行開始までの間に、ＣＰＵユニット内の実行用データ記憶手段と転送用データ記憶手段との間で入出力データの交換を行い、ユーザプログラムの実行中に、ＣＰＵユニット内の転送用データ記憶手段とＩ／Ｏユニットとの間に入出力データの交換を行うようにしたため、ＭＰＵによるユーザプログラム実行処理と、データ転送手段によるＩ／Ｏユニットとの入出力データの交換処理とが並列処理される。
　【００５０】
　このため、本発明によれば、ＭＰＵが直接ＣＰＵユニット外部のＩ／Ｏユニットとデータ交換を行う必要がなくなり、外部バスを介してＩ／Ｏユニット３とＩ／Ｏリフレッシュを行う場合と比べて、Ｉ／Ｏリフレッシュサイクルおよび命令実行サイクルが短縮化され、Ｉ／Ｏリフレッシュの際の転送用データ量が大きくなった場合でも命令実行サイクルへの影響を小さくできる。
【図面の簡単な説明】
　【図１】
　本発明に係る第１実施例のＰＬＣの構成を示すブロック図。
　【図２】
　第１実施例におけるＭＰＵとデータ転送回路の動作を示すタイムチャート。
　【図３】
　第２実施例におけるＭＰＵとデータ転送回路の動作を示すタイムチャート。
　【図４】
　第３実施例におけるＭＰＵとデータ転送回路の動作を示すタイムチャート。
　【図５】
　従来のＰＬＣにおける命令実行サイクルを示すタイムチャート。
　【符号の説明】
　１　ＣＰＵユニット
　２　Ｉ／Ｏユニット
　３　外部バス
　１１　マイクロプロセッサ（ＭＰＵ）
　１２　システムプログラムメモリ
　１３　ユーザプログラムメモリ
　１４　ワークメモリ（実行用データ記憶手段）
　１５　インタフェース（Ｉ／Ｆ）回路
　５１　転送用データ記憶部（転送用データ記憶手段）
　５２　データ転送回路（データ転送手段）