(57)【要約】【課題】  コントローラにおける通信処理の通信性能をユーザが任意に設定できるようにしたコントローラを提供すること【解決手段】  ユーザプログラムの命令実行と、通信処理を含む１サイクルの処理を繰り返し実行するＰＬＣ（ＣＰＵユニット１０）は、通信条件記憶エリア１４ａに、通信処理の通信性能を規定する通信条件（パケット処理時間等）を記憶し、ＭＰＵ１２は、その通信条件記憶エリアに格納された通信条件に従い、通信処理を実行する。ユーザがツールを用いて通信条件を更新することより、そのときの使用状況にあった通信処理と、スキャンタイムのバランスを取ることができる。【選択図】        図４
2005293312.tif 000002
【特許請求の範囲】
【請求項１】
ユーザプログラムの命令実行と、通信処理を含む１サイクルの処理を繰り返し実行するコントローラであって、
前記通信処理の通信性能を規定する通信条件を記憶する通信条件記憶手段と、
その通信条件記憶手段に格納された通信性能に従い、前記通信処理を実行する手段とを備え、
前記通信条件記憶手段に格納された前記通信性能は、外部からの指令に基づき設定可能に構成したことを特徴とするコントローラ。
【請求項２】
前記通信性能は、１サイクル当たりのパケットの処理時間であることを特徴とする請求項１に記載のコントローラ。
【請求項３】
前記通信性能は、１サイクル当たりのパケットの処理量であることを特徴とする請求項１に記載のコントローラ。
【請求項４】
前記通信性能は、前記１サイクルを行う際に要するスキャンタイムに対する割合であることを特徴とする請求項１に記載のコントローラ。
【請求項５】
前記１サイクルを行う際に要するスキャンタイムを測定する測定手段を備え、
その測定手段により求めたスキャンタイムの実測値を外部へ出力可能としたことを特徴とする請求項１から４のいずれか１項に記載のコントローラ。
【請求項６】
ユーザプログラムの命令実行と、通信処理を含む１サイクルの処理を繰り返し実行するコントローラ用のツールであって、
ユーザからの入力に伴い前記通信処理の通信性能を取得する取得手段と、
その取得した通信性能を前記コントローラに設定する設定手段を備えたことを特徴とするツール。
【請求項７】
ユーザからの通信性能の入力は、低・高などの相対的な情報とし、
その相対的な情報を具体的な数値情報に変換して前記コントローラに設定する機能を備えたことを特徴する請求項６に記載のツール。
【請求項８】
前記設定手段が前記コントローラに対して設定する通信性能に基づき前記コントローラが動作した場合のスキャンタイムを取得する手段と、
その取得したスキャンタイムを出力手段に出力する機能を備えたことを特徴とする請求項６または７に記載のツール。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ユーザプログラムの命令実行と、通信処理を含む１サイクルの処理を繰り返し実行するコントローラと、そのコントローラ用のツールに関するものである。
【背景技術】
【０００２】
生産工場（製造現場）に設置されるファクトリーオートメーション（ＦＡ）の制御装置として、プログラマブルコントローラ（ＰＬＣ）が用いられている。このＰＬＣには、直接あるいはネットワークを介してスイッチ，センサ等の入力装置や、モータ，アクチュエータ等の出力装置が接続される。ＰＬＣは、入力装置から取得した入力データに基づき予め登録されたユーザプログラム記述言語（例えばラダー言語）で組まれたユーザプログラムを演算実行し、得られた出力データに基づき出力装置の動作を制御する。
【０００３】
また、ＰＬＣは、ネットワークを介して他のＰＬＣや、上位のコンピュータ（監視装置，管理装置）や、プログラマブル表示器等と接続され、それらの外部の装置と通信処理を行う機能を有する。なお、通信処理は、上記の外部の装置に限らず、入力装置や出力装置との間でも行われることがある。
【０００４】
上記のユーザプログラムの演算実行と、通信処理の関係を示すと、図１のようになる。すなわち、ＰＬＣは、「ラダー命令実行処理（ユーザプログラムの演算実行を行う）」→「通信処理」→「その他の処理」を１サイクルとし、サイクリックに繰り返し実行する。そして、１サイクルを実行するのに要する時間をスキャンタイムと称する。そして、通信処理は、１サイクルにつき、１パケットを送るようにしている。これにより、スキャンタイムの変動を抑えるようにしている。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来の１サイクル当たり１パケットについて通信処理をするものでは、以下に示す問題を有する。すなわち、従来一般的に用いられていた伝送速度の遅いシリアル通信ではさほど問題はないが、近年のＰＬＣでは、イーサネット（登録商標）などの伝送速度の速いネットワークにも接続可能となったため、一度に多数の通信（パケット）を受信し、それに対するレスポンスを返すというように通信処理をすべき対象が集中して発生することがある。
【０００６】
このような場合でも、１サイクル当たり１パケットしか通信処理できないため、ほぼ同時期にＮ個分の通信処理すべきパケットが存在した場合には、最大でＮサイクル分だけ遅れて処理されることになり、迅速な通信処理ができなくなる。さらに、例えば図２に示すように、スキャンタイムが長くなると（図１に示すものに比べて）、上記の問題はより顕著に表れる。
【０００７】
一方、係る問題を解決するため、１秒当たりのパケット処理量（ＰＰＳ：Ｐａｃｋｅｔ  Ｐｅｒ  ｓｅｃ）を定義するものもある。この場合、通信処理対象のパケットが存在する場合には、定義された間隔で順次通信処理をする。従って、図３に示すように、１サイクル中にラダー命令の実行を中断して複数回通信処理が行なわれることがある。
【０００８】
１サイクル中に発生する通信処理の回数は、そのときに溜まっている通信処理対象のパケットの数により変動し、０回の場合もあれば、複数回，多数回の場合もある。そして、スキャンタイムは、通信処理の発生回数により変化するため、一義的に定義できず、スキャンタイムnをある程度の時間に保ちたいというユーザには適用できない。
【０００９】
さらに、上記の１サイクル当たりの通信処理を１パケットで固定する方式（図１，図２参照）と、１秒当たりのパケット処理量を固定する方式（図３参照）のいずれの場合も、システム設定であり、ユーザが簡単に変更することができなかった。
この発明は、コントローラにおける通信処理の通信性能をユーザが任意に設定できるようにしたコントローラおよびツールを提供することを目的とする。
【課題を解決するための手段】
【００１０】
この発明のコントローラは、ユーザプログラムの命令実行と、通信処理を含む１サイクルの処理を繰り返し実行するコントローラであって、前記通信処理の通信性能を規定する通信条件を記憶する通信条件記憶手段と、その通信条件記憶手段に格納された通信性能に従い、前記通信処理を実行する手段とを備え、前記通信条件記憶手段に格納された前記通信性能は、外部からの指令に基づき設定可能に構成した。
【００１１】
ここで、コントローラとは、プログラマブルコントローラその他の制御装置はもちろんのこと、ＣＰＵユニットのような構成要素も含む。
【００１２】
前記通信性能は、１サイクル当たりに通信処理できる性能であり、この通信性能が高いほど、各パケット等の通信処理対象を遅滞なく伝送することができるようになるが、１サイクルに要するスキャンタイムが長くなり、通信性能が低いほどスキャンタイムを短くすることができるが通信処理対象が集中した場合には、実際に伝送するまでに大きな遅れが生じる。本発明では、外部からの指令によりコントローラが記憶保持する通信性能を設定できるため、上記通信性能とスャンタイムのバランスを考慮し、各ユーザがそれぞれ適切な通信性能を設定することにより、自己の使用条件に応じた適切な動作状態となる。
【００１３】
そして、通信性能の規定・設定は各種行えるが、例えば、１サイクル当たりのパケットの処理時間としたり、１サイクル当たりのパケットの処理量としたり、１サイクルを行う際に要するスキャンタイムに対する割合などにより規定できる。
【００１４】
前記１サイクルを行う際に要するスキャンタイムを測定する測定手段を備え、その測定手段により求めたスキャンタイムの実測値を外部へ出力可能とするとよい。この外部への出力は、スキャンタイムを測定したことなどを契機とし、自発的に外部（例えばツール）に送信したり、外部からのコマンド（指令）に対するレスポンスとして実測値を出力するようにしてもよく、また、上記とは逆に外部からアクセス可能なメモリ領域に格納しておき、外部からアクセスして取得できるようにしてもよい。スキャンタイムの実測値がわかると、設定した通信性能が適切であったか否かの評価が行え、仮に不適切であった場合には、通信性能を更新する際の参考となる。
【００１５】
本発明に係るツールは、ユーザプログラムの命令実行と、通信処理を含む１サイクルの処理を繰り返し実行するコントローラ用のツールであって、ユーザからの入力に伴い前記通信処理の通信性能を取得する取得手段と、その取得した通信性能を前記コントローラに設定する設定手段を備えて構成した。
【００１６】
取得手段は、実施の形態では、例えば図７や図８などの設定画面を表示したり、入力を受ける機能であり、Ｓ１１からＳ１５などを実行する機能部分に対応する。また、設定手段は、実施の形態では、Ｓ１６や、図１０を実行する機能部分に対応する。
【００１７】
ユーザからの通信性能の入力は、低・高などの相対的な情報とし、その相対的な情報を具体的な数値情報に変換して前記コントローラに設定する機能を備えるとよい。このようにすると、ユーザ感覚的に通信性能を設定することができる。
【００１８】
前記設定手段が前記コントローラに対して設定する通信性能に基づき前記コントローラが動作した場合のスキャンタイムを取得する手段と、その取得したスキャンタイムを出力手段に出力する機能を備えるとよい。取得する手段は、設定したコントローラを実際に動作させ、その場合の実測値のスキャンタイムを取得するようにしてもよい、理論値などにより演算して推定してもよい。
【発明の効果】
【００１９】
この発明では、コントローラにおける通信処理の通信性能をユーザが任意に設定できるようになる。
【発明を実施するための最良の形態】
【００２０】
図４は、本発明の好適な一実施の形態を示している。ＰＬＣを構成するＣＰＵユニット１０と、ツール２０とがネットワークを介して接続されている。図示の例では、ＣＰＵユニット10とツール２０を直接接続しているが、ＰＬＣが接続される他のネットワークを介して接続することもできる。つまり、ＰＬＣは、このＣＰＵユニット１０の他に、電源ユニットや、ＩＯユニットや、通信ユニットなど、各種の機能を実行するユニットを適宜連結して構成される。係る場合に、通信ユニットが接続されるネットワークにツール２０を接続し、ツール２０は、通信ユニット経由でＣＰＵユニットにアクセスするようにしてもよい。
【００２１】
また、ＣＰＵユニット１０の通信相手は、本実施の形態ではツール２０を例に挙げて説明しているが、他のＰＬＣのＣＰＵユニットに対する通信等も適用できる。これにより、分散制御等が行える。このように複数のＰＬＣが存在する場合、ツール２０は、ネットワークにつながる複数のＰＬＣのＣＰＵユニットそれぞれに対して、通信処理の設定ができるようになっている。
【００２２】
なお、ＰＬＣは、上記のように複数のユニットを連結するのに限ることはなく、必要な全ての機能を１つの筐体内に実装した一体型のタイプもあり、係るタイプにも本発明は適用できる。
【００２３】
ＣＰＵユニット１０は、ＰＬＣの構成要素の一つである。そして、ＣＰＵユニット１０の本来のサイクリック処理動作をするためのシステムプログラムは、システムＲＯＭ１１に格納されている。そして、ＭＰＵ１２は、ワークメモリとしてのシステムＲＡＭ１３を適宜使用しながら、システムＲＯＭ１１のシステムプログラムに従った所定の処理を実行する。また、ＰＬＣの運転時において、ユーザがプログラミングツールを用いて予め作成したユーザプログラムは、ユーザメモリ１４に格納されている。さらに、ユーザプログラム実行の論理演算に用いるＩ／Ｏデータやパラメータは、ＩＯメモリ１５に格納されている。そしてＣＰＵユニット１０は、ユーザプログラム実行処理の前のＩＮリフレッシュ処理においてＩＮデータを、ＰＬＣシステムバスを介して接続されたＩ／Ｏユニット（図示省略）から取り込む。そしてＣＰＵユニット１０における論理演算処理ではそのＩＮデータに基づいて論理演算し、ＯＵＴリフレッシュ処理にてその論理演算結果をＯＵＴデータとしてＩ／Ｏユニットに対して出力する。
【００２４】
ＣＰＵユニット１０におけるユーザプログラム実行処理は、ＭＰＵ１２で行われる。ＭＰＵ１２は、ユーザプログラム実行処理に入ると、ユーザメモリ１４に格納されたユーザプログラムを順次呼び出して実行する。
【００２５】
通信インタフェース１６は、ツール２０との間でデータの送受を行うものである。本実施の形態における通信インタフェース１６は、例えばイーサネット（登録商標）などの、高速なネットワークに対応している。この通信インタフェース１６を介してツール２０は、ＣＰＵユニット１０のＩ／Ｏデータをモニタしたり、ユーザメモリ１４に格納されているユーザプログラムをアップロードしたり、編集したユーザプログラムをユーザメモリ１４に対してダウンロードしたり、各種の設定を行なったりする。このツール２０との間の通信処理は、例えば、ＣＰＵユニット１０におけるサイクリック処理の周辺処理にて行う。
【００２６】
ここで、本実施の形態では、ユーザプログラムは、ラダー言語により構築されており、上記の論理演算（論理演算処理）は、ラダー命令実行と等価である。そして、ＭＰＵ１２は、図５に示すように、従来と同様にラダー命令実行と、通信処理と、その他の処理（周辺処理）を１サイクルとして、サイクリックに繰り返し実行する。本実施の形態における通信処理は、ＣＰＵユニット１０に内蔵した通信インタフェース１６を介して行なう。また、その他の処理は、ＰＬＣとパソコンツールとの間で、イーサネット（登録商標）経由でデータをやり取りする処理があり、例えば、上位通信プロトコル処理や、データアクセス処理（型式読み出し、状態読み出し、変数モニタなど）等がある。具体的には、ツールがＰＬＣのメモリエリアを読み出すものである。読み出すデータとしては、スキャンタイム，エラー回数，実行回数，実行合計時間などがある。なお、制御に使うＩ／Ｏデータの通信は、各ＰＬＣにコントロール通信ユニットを備え、それでコントローラリンク通信をすることで行われる。
【００２７】
ラダー命令実行と、通信処理と、その他の処理は、タスク管理部１２ａがその実行を管理する。すなわち、ラダー命令実行を行う機能と、通信処理を行う機能と、その他の処理を行う機能は、ＭＰＵ１２内に実装され、それぞれタスクとして実行するようになっている。そこで、タスク管理部１２ａは、まずラダー命令実行を行うタスクを稼働させ、ユーザメモリ１４に格納されたユーザプログラムを先頭から最終行まで命令を逐次実行する。最終行まで実行したならば、次に、通信処理を行うタスクを稼働させる。所望の通信処理が実行されたならば、その他の処理を行うタスクを稼働させる。なお、その他の処理は、上限値（スキャンタイムに対する割合）が予め設定されており、その上限値に達すると処理が終了する。係る処理（実行タスクの切り替え）を逐次行うことにより、図５に示すような１サイクルの処理を繰り返し行うことになる。
【００２８】
なお、図には示していないが、ラダー命令を実行するのに伴い、ＩＮリフレッシュやＯＵＴリフレッシュ処理を行なう。一例としては、ラダー実行をした後で、ＩＮリフレッシュ・ＯＵＴリフレッシュを行い、その後通信処理に移行するようにできる。よって、ラダー命令実行の中にＩＮリフレッシュ・ＯＵＴリフレッシュ処理が含まれているととらえても良い。
【００２９】
ここで、本発明では、通信処理の実行条件（通信条件）をユーザの設定により変更できるようにしている。具体的には、本実施の形態では、１スキャンタイム値のパケットの処理時間（ｔ１［μｓｅｃ］）を任意に設定できるようにしている。具体的なｔ１の値は、ツール２０を用いて書き込み可能なユーザメモリ１４中の所定記憶エリアである通信条件格納エリア１４ａに登録する。そして、例えばタスク管理部１２ａが、その通信条件格納エリア１４ａにアクセスして、登録されている処理時間ｔ１を取得し、通信処理の実行タスクを稼働後、ｔ１［μｓｅｃ］経過したならば通信処理を実行するタスクを停止するとともに、その他の処理を実行するタスクを稼働するように制御する。また、通信処理を実行するタスク自体が処理時間ｔ１を取得し、設定された処理時間だけ通信処理を実行したらその回の処理を終了するようにしてもよい。なお、通信条件格納エリア１４aは、本実施の形態では、ユーザメモリ１４にその領域を確保したが、本発明はこれに限ることはなく、ようはユーザかアクセス可能な記憶エリアであればよい。
【００３０】
上述したごとく、処理時間ｔ１を格納する通信条件格納エリア１４ａは、ユーザがアクセス可能なユーザメモリ１４に領域を確保しているため、ツール２０を用いてユーザが自由に設定できる。従って、例えばスキャンタイムｎ１が長くなってもよいが、通信が遅れるのを避けたいユーザは、処理時間ｔ１を長く設定し、逆に、通信は送られてもよいが、スキャンタイムｎ１を短くしたいユーザは、ｔ１を短く設定することにより、各ユーザの仕様にあった通信条件で動作するＰＬＣを簡単に構築することができる。
【００３１】
また、通信条件としては、上述したように、パケット処理時間を可変とするものに限ることはなく、例えば図６に示すように、通信処理対象のパケット数ｐ１を変更するようにしてもよい。つまり、１スキャンタイムあたりのパケット処理量を変更するもので、従来のようにｐ1＝１［パケット］としてスキャンタイムｎ１を早くすることを優先したり、逆にｐ１を複数に設定し、通信処理を優先するようにできる。さらに通信処理を優先する場合でも、数値を適宜に設定することによりその程度を所望の値に設定することにより、ユーザが望む仕様に設定することができる。
【００３２】
さらにまた、時間ｔ１やパケット数ｐ１のように絶対値として設定するのではなく、スキャンタイムｎ１に対する割合（例えば１０％）のように相対的な値により通信条件を設定することもできる。
【００３３】
次に、上記の通信条件をユーザが容易に設定するためのツール２０について説明する。図４に示したように、ツール２０は、入力部２１と、メモリ２２と、ＭＰＵ２３と、表示部２４ならびに通信インタフェース２５が内部バス２６を介して接続された構成をとる。入力部２１は、各種の条件を入力するキーボード，ポインティングデバイス等から構成される。また、表示部２４は、ディスプレイからなり、本発明との関係でいうと、そのディスプレイの表示画面に条件の入力画面を表示し、ユーザに条件の入力を促す機能を有する。
【００３４】
通信インタフェース２５は、ＰＬＣ（ＣＰＵユニット１０）と通信をするためのもので、ＣＰＵユニット１０に直結する場合には、例えばＲＳ２３２Ｃ対応のインタフェースとなり、ＰＬＣの通信ユニットなどに接続する場合には、その通信ユニットが接続されているネットワーク（イーサネット（登録商標）等）に対応したインタフェースとなる。
【００３５】
メモリ２２は、図では１つのブロックとして示しているが、実際には、システムプログラムや、表示画面のテンプレートや、設定条件のリストなどを格納する不揮発性メモリと、ＭＰＵ２３の演算実行中にワークメモリとして使用したりする揮発性メモリがある。
【００３６】
ＭＰＵ２３は、例えば、図７，図８に示すような、通信条件の設定画面を表示部２４に出力表示し、プルダウンメニューに基づき、パケット処理時間を設定する。このとき、具体的な絶対値で指定する方法もあるが、ユーザが具体的な絶対値を指定することは困難である。そこで、「高」「中」「低」などの抽象的な情報を入力することにより、ツール側で具体的な時間や、パケット数などに変更し、その変換した値をＰＬＣにダウンロードするようにした。そして、具体的には、図９以降に示すフローチャートを実行するようになる。
【００３７】
まず、ＰＬＣのシステム設定モードにし（Ｓ１１）、通信設定を選択する（Ｓ１２）。すなわち、まず、Ｓ１１の処理では、ユーザが表示部２４に表示されたメニュー画面からシステム設定モードを選択したことを認識すると、図７に示すような各種の設定を行なうための設定画面を表示する（実際には、フロントページでもある図７における「一般の設定画面」を初期画面として表示する）。次いで、ユーザは、この設定画面中の任意の項目を選択し、各種のパラメータ等を設定するが、本発明との関係で言うと、通信条件の設定画面は、「Ｅｔｈｅｒｎｅｔ」の画面にあるため、ユーザは「Ｅｔｈｅｒｎｅｔ」の欄をクリックすることなる。そこで、Ｓ１２の処理では、係る「Ｅｔｈｅｒｎｅｔ」の欄がクリックされたことを検知して、該当する画面を切り替え表示する（図７参照）。
【００３８】
次いで、通信性能（ここでは、処理時間）の入力画面を表示する（Ｓ１３）。つまり、図７に示す画面において、左欄側のグループ中の「高度な設定」がクリックされたことを検知すると、右欄側に図示するパラメータの入力画面を表示する。この入力画面における「通信帯域量」の欄が、通信処理時間を指定する欄である。本例では、プルダウンメニュー方式で「低・中・高」の３種類から選択するようにしている。ここで、「低」は４００μｓｅｃ，「中」は１．６ｍｓｅｃ，「高」は３．２ｍｓｅｃ２対応づけている。もちろん、具体的な数値を入力するようにしても良いが、具体的な数値としてどれくらいが標準なのかをユーザが任期視していないと、適切な数値を入力できなくなるため、「低・中・高」というように感覚的に理解しやすいようにした。
【００３９】
ユーザは、プルダウンメニューを利用して、３つのうちのいずれかの通信速度を選択するため、ＭＰＵ２３は、どの速度を選択されたかを取得する（Ｓ１４）。そして、選択された速度を表示する。つまり、図７に示す状態から、ユーザが通信帯域量（パケット処理時間）を「高」にすると、図８に示すように、通信帯域量の欄を「高」と表示する。実際には、メニューリストの中で選択されたものを表示する。
【００４０】
この状態で、設定画面の下側に用意された「ＯＫ」ボタン或いは「適用」ボタンがクリックされたことを検知すると、そのとき選択されている通信帯域量が通信設定内容として確定される（Ｓ１５）。本実施の形態では、パケット処理時間を変更・設定することを前提としているため、いきなり通信帯域量の入力を行なうようにしたが、例えば、パケット数や、割合など、通信条件を複数種類用意し、その中から任意のものをユーザに選択させるようにした場合には、係る種類の選択画面も用意する。なお、その場合においても、通信帯域量は、「低・中・高」のように、複数の段階から選択させ、それぞれにパケット数や割合を対応づけておくようにすると良い。なおまた、パケット数は、現状が１パケット固定であることから、数値入力を許容しても良い。
【００４１】
そして、上述の処理により確定された通信設定の内容（処理時間）をＰＬＣ（ＣＰＵユニット）へ送り、設定する（Ｓ１６）。この設定処理は、ツール２０とＰＬＣ（ＣＰＵユニット１０）との間で、図１０，図１１に示すフローチャートを実行することで行なう。
【００４２】
すなわち、まずツール側では、図１０に示すように、ＰＬＣのモードをモニタ（Ｓ２１）し、プログラムモードか否かを判断する（Ｓ２２）。そして、プログラムモードでない（ＲＵＮモード）場合には、プログラムモードに切り替える指令を送信する（Ｓ２３）。これにより、Ｓ２４の処理を実行する際には、ＰＬＣ側はプログラムモードに切替が完了しているため、通信設定内容をＰＬＣへ送信する（Ｓ２４）。このとき送る通信設定内容（通信条件）は、ユーザが指定した「低・中・高」のいずれかに対応する具体的な数値（予め用意した対応テーブルを参照して取得）を送ることになる。
【００４３】
図１５に示すように、ＰＬＣ（ＣＰＵユニット２０）側では、ツール２０側で少なくともＳ２３の処理を行なうことにより、プログラムモードに切り替わる（Ｓ３１）。その後、ツール２０から通信設定の変更指令を受けるのを待つ（Ｓ３２）。そして、通信設定を受信したならば、受信した内容に設定を更新する（Ｓ３３）。これにより、ユーザメモリ１４の通信条件格納エリア１４ａに、取得した通信設定の内容、つまり、具体的なパケット処理時間を格納する。
【００４４】
ＣＰＵユニット１０のＭＰＵ１２は、設定の更新を行なった後、電源リセットをかけて再起動し（Ｓ３４）、ＲＵＮモードに切り替える（Ｓ３５）。そして、更新されたパケット処理時間に基づき、ラダー命令実行，通信処理，その他の処理といった一連の処理を実行する（Ｓ３５）。このとき、スキャンタイム計測部１２ｂが、実際にかかったスキャンタイムｎ１を実測する（Ｓ３６）。そして、実測して得られたスキャンタイムｎ１をツール２０に送る。以後、通常のサイクリックな処理を行なう（Ｓ３７）。
【００４５】
なお、スキャンタイム計測部１２ｂは、通常のサイクリックな処理の実行時においても、継続してスキャンタイムｎ１を計測し、記憶保持する。また、上記のＳ３６で求めた実測値ｎ１は、ＣＰＵユニット２０側から自発的に送信しても良いが、ツール２０からの要求に応じてレスポンスとしてツール２０側に渡すようにしても良い。
【００４６】
一方、ツール２０は、Ｓ２４の通信設定内容をＰＬＣに送ったのち、ＰＬＣ（ＣＰＵユニット２０）側からスキャンタイムｎ１が送られてくるのを待つ（Ｓ２５）。そして、スキャンタイムｎ１を受信したならば、そのスキャンタイム（サイクルタイム）ｎ１を表示部２４に表示し（Ｓ２６）、ユーザからの許可を待つ。
【００４７】
ユーザは、表示部に表示されたスキャンタイムを見て、許容できるか否かを判断し、入力部２１を操作してその判断結果を入力する。そこで、ＭＰＵ２３は、ユーザからの許可の指示を受けると（Ｓ２７の分岐判断でＹｅｓ）、設定を終了する（Ｓ２８）。また、不許可の指示を受けると（Ｓ２７の分岐判断でＮｏ）、再設定を行なう（Ｓ２９）。つまり、図９のフローチャートを実行する。
【００４８】
なお、上記した実施の形態では、図１０に示すフローチャートのように、Ｓ２４の処理を行ない一旦ツール１０から通信設定の内容をＰＬＣに送った後、Ｓ２５からＳ２９の処理ステップのように、ＰＬＣからのサイクルタイムの受信を待って再設定の可否を促す機能を設けたが、本発明はこれに限ることはない。すなわち、例えば、Ｓ２４処理を実行することでツール側の処理は一旦終了するようにし、人間がＰＬＣの動作状態（応答精度）をチェックし、必要に応じて再設定を行うこともできる。この場合の再設定は、例えば図９に示すフローチャートなどを実行することにより対応できる。
【００４９】
なお、上記した実施の形態では、スキャンタイムｎ１を実測し、その結果をツール２０の表示部２３に表示して、その長短（適否）をユーザに判断させ、スキャンタイムｎ１と通信処理の調整行なうようにしたが、本発明では、スキャンタイムｎ１を必ずしも表示する必要はない。また、表示する場合でも、実測するのではなく、ユーザプログラムの命令数などに基づきツールが計算によりスキャンタイムの推定値を求め、それを表示するようにしてもよい。
【００５０】
さらに、通信処理の設定として、割合を用いた場合には、例えば、ユーザプログラムの命令数などに基づいてラダー命令実行にかかる時間を推測し、その他の処理にかかる時間を固定値とし、通信処理時間を変数として設定した割合になる処理時間を算出し、それを通信設定内容として通知することにより実現できる。また、一旦通信処理時間を０にセットして、１サイクルの処理を実行し、そのとき実測したスキャンタイムｎ１に基づき所望の割合になり通信処理時間を求め、それを通信設定内容として通知するようにしても良い等、各種の対応がとれる。
【図面の簡単な説明】
【００５１】
【図１】従来例を示す図である。
【図２】従来例を示す図である。
【図３】従来例を示す図である。
【図４】本発明の一実施の形態を示す図である。
【図５】本実施の形態の動作を説明する図である。
【図６】本実施の形態の動作を説明する図である。
【図７】条件設定画面の一例を示す図である。
【図８】条件設定画面の一例を示す図である。
【図９】ツールの機能を示すフローチャートである。
【図１０】ツールの機能を示すフローチャートである。
【図１１】ＰＬＣ（ＣＰＵユニット）の機能を示すフローチャートである。
【符号の説明】
【００５２】
１０  ＣＰＵユニット
１１  システムＲＯＭ
１２  ＭＰＵ
１２ａ  タスク管理部
１２ｂ  スキャンタイム計測部
１３  システムＲＡＭ
１４  ユーザメモリ
１４ａ  通信条件格納エリア
１５  ＩＯメモリ
１６  通信インタフェース
２０  ツール
２１  入力部
２２  メモリ
２３  ＭＰＵ
２４  表示部
２５  通信インタフェース
２６  バス
【図１】
2005293312.tif 000003
【図２】
2005293312.tif 000004
【図３】
2005293312.tif 000005
【図４】
2005293312.tif 000006
【図５】
2005293312.tif 000007
【図６】
2005293312.tif 000008
【図７】
2005293312.tif 000009
【図８】
2005293312.tif 000010
【図９】
2005293312.tif 000011
【図１０】
2005293312.tif 000012
【図１１】
2005293312.tif 000013