(57)【要約】【課題】実行単位が完結するまでに要する時間を短縮すること。【解決手段】複数チャンネルに対する通信を制御可能なプログラマブルコントローラにおいて、１回のスキャン処理においてプログラムの演算処理及び外部機器との通信処理が行われる場合、１回のスキャン処理内において通信処理の対象とする通信ポート数が上限値を超えた場合、上限値を超えた通信ポートに対する通信処理を次周期の実行単位で実行させるようにした。【選択図】図３
2015210752.tif 000002
【特許請求の範囲】
【請求項１】
各種処理を実行する処理部と、外部機器と接続される複数の通信ポートと、を備えたプログラマブルコントローラであって、
プログラムの演算処理及び前記外部機器との通信処理が１回の実行単位内で実行されるとともに、前記実行単位の処理は繰り返し実行され、
前記処理部は、１回の実行単位内において通信処理の対象とする通信ポート数が予め定めた上限値を超えた場合、上限値を超えた通信ポートに対する通信処理を次周期以降の実行単位で実行させる分散処理形態で前記実行単位の処理を実行することを特徴とするプログラマブルコントローラ。
【請求項２】
前記上限値を変更可能としたことを特徴とする請求項１に記載のプログラマブルコントローラ。
【請求項３】
前記処理部は、
１回の実行単位内で全ての通信ポートの通信処理を実行させる統合処理形態と、前記分散処理形態と、を切り替え可能であることを特徴とする請求項１又は請求項２に記載のプログラマブルコントローラ。
【請求項４】
１回の実行単位内の通信処理に要した時間を外部に報知する報知部を備えたことを特徴とする請求項３に記載のプログラマブルコントローラ。
【請求項５】
各種処理を実行する処理部と、外部機器と接続される複数の通信ポートと、を備えたプログラマブルコントローラに実行させる制御プログラムであって、
前記処理部に、
プログラムの演算処理及び前記外部機器との通信処理を１回の実行単位内で実行させるとともに、前記実行単位の処理を繰り返し実行させ、
１回の実行単位内において通信処理の対象とする通信ポート数が予め定めた上限値を超えた場合、上限値を超えた通信ポートに対する通信処理を次周期以降の実行単位で実行させる分散処理形態で前記実行単位の処理を実行させることを特徴とする制御プログラム。
【請求項６】
前記上限値を変更可能としたことを特徴とする請求項５に記載の制御プログラム。
【請求項７】
前記処理部に、
１回の実行単位内で全ての通信ポートの通信処理を実行させる統合処理形態と、前記分散処理形態と、を切り替えさせることを可能としたことを特徴とする請求項５又は請求項６に記載の制御プログラム。
【請求項８】
報知部に、１回の実行単位内の通信処理に要した時間を外部に報知させることを特徴とする請求項７に記載の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルコントローラ及び制御プログラムに関する。
【背景技術】
【０００２】
従来から、モータ等の外部機器をシーケンス制御するためにプログラマブルコントローラが用いられている。プログラマブルコントローラは、外部機器から入力した情報をプログラムに従って演算する演算処理と、該演算処理で得られた情報を外部機器に出力する通信処理を１回の実行単位内で実行し、該実行単位を繰り返し実行するようになっている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１９８１４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、プログラマブルコントローラは、複数チャンネルの通信も制御することが可能である。しかし、全チャンネルの通信処理を１回の実行単位内で完結するように実行したとすると、チャンネル数が多い場合には、１回の実行単位に占める通信処理の割合が増加し、１回の実行単位が完結するまでに要する時間自体も長くなってしまう。これにより、プログラマブルコントローラが情報を入力してから該情報に反応する（例えば、情報の出力処理）までの時間が長くなりがちであった。
【０００５】
この発明は、このような従来の技術に存在する問題点に着目してなされたものであり、その目的は、実行単位が完結するまでに要する時間を短縮することにある。
【課題を解決するための手段】
【０００６】
上記問題点を解決するプログラマブルコントローラは、各種処理を実行する処理部と、外部機器と接続される複数の通信ポートと、を備えたプログラマブルコントローラであって、プログラムの演算処理及び前記外部機器との通信処理が１回の実行単位内で実行されるとともに、前記実行単位の処理は繰り返し実行され、前記処理部は、１回の実行単位内において通信処理の対象とする通信ポート数が予め定めた上限値を超えた場合、上限値を超えた通信ポートに対する通信処理を次周期以降の実行単位で実行させる分散処理形態で前記実行単位の処理を実行する。
【０００７】
この構成によれば、１回の実行単位内で通信処理の対象となる通信ポート数に制限がかかるため、通信ポート数が上限値に達したときには、その通信ポートの通信処理は次周期以降の実行単位での処理に回されることになる。これにより、実行単位が完結するまでに要する時間を短縮することができる。
【０００８】
上記プログラマブルコントローラにおいて、前記上限値を変更可能とすることが好ましい。
この構成によれば、１回の実行単位内で通信処理の対象となる通信ポート数の上限値が適宜変更可能となるため、それに伴って１回の実行単位に占める通信処理の割合も適宜変更される。これにより、実行単位が完結するまでに要する時間も変化し、適当な実行単位時間を設定することが可能となる。
【０００９】
上記プログラマブルコントローラにおいて、前記処理部は、１回の実行単位内で全ての通信ポートの通信処理を実行させる統合処理形態と、前記分散処理形態と、を切り替え可能であることが好ましい。
【００１０】
この構成によれば、統合処理形態で実行単位の処理を実行する場合には、１回の実行単位内で全ての通信ポートの通信処理が完結するため、外部機器から通信される情報を、より早く収集することが可能となる。一方、分散処理形態で実行単位の処理を実行する場合には、上限値を超えた通信ポートの通信処理が次周期以降の実行単位に回されるので、１回の実行単位が完結するまでに要する時間が短くなる。これにより、今周期の演算処理と次周期の演算処理との間隔が短くなり、演算結果を、より早く算出することができる。
【００１１】
上記プログラマブルコントローラにおいて、１回の実行単位内の通信処理に要した時間を外部に報知する報知部を備えることが好ましい。
この構成によれば、１回の実行単位において通信処理に要した時間が報知されるので、この報知結果をもとにユーザは統合処理形態と分散処理形態のどちらに切り替えればよいのかを判断することができ、ユーザの意思を反映して、適宜、統合処理形態と分散処理形態を切り替えることが可能となる。
【００１２】
上記問題点を解決する制御プログラムは、各種処理を実行する処理部と、外部機器と接続される複数の通信ポートと、を備えたプログラマブルコントローラに実行させる制御プログラムであって、前記処理部に、プログラムの演算処理及び前記外部機器との通信処理を１回の実行単位内で実行させるとともに、前記実行単位の処理を繰り返し実行させ、１回の実行単位内において通信処理の対象とする通信ポート数が予め定めた上限値を超えた場合、上限値を超えた通信ポートに対する通信処理を次周期以降の実行単位で実行させる分散処理形態で前記実行単位の処理を実行させる。
【００１３】
この構成によれば、１回の実行単位内で通信処理の対象となる通信ポート数に制限がかかるため、通信ポート数が上限値に達したときには、その通信ポートの通信処理は次周期以降の実行単位での処理に回されることになる。これにより、実行単位が完結するまでに要する時間を短縮することができる。
【００１４】
上記制御プログラムにおいて、前記上限値を変更可能とすることが好ましい。
この構成によれば、１回の実行単位内で通信処理の対象となる通信ポート数の上限値が適宜変更可能となるため、それに伴って１回の実行単位に占める通信処理の割合も適宜変更される。これにより、実行単位が完結するまでに要する時間も変化し、適当な実行単位時間を設定することが可能となる。
【００１５】
上記制御プログラムにおいて、前記処理部に、１回の実行単位内で全ての通信ポートの通信処理を実行させる統合処理形態と、前記分散処理形態と、を切り替えさせることを可能とすることが好ましい。
【００１６】
この構成によれば、統合処理形態で実行単位の処理を実行させる場合には、１回の実行単位内で全ての通信ポートの通信処理が完結するため、外部機器から通信される情報を、より早く収集することが可能となる。一方、分散処理形態で実行単位の処理を実行させる場合には、上限値を超えた通信ポートの通信処理が次周期以降の実行単位に回されるので、１回の実行単位が完結するまでに要する時間が短くなる。これにより、今周期の演算処理と次周期の演算処理との間隔が短くなり、演算結果を、より早く算出することができる。
【００１７】
上記制御プログラムにおいて、報知部に、１回の実行単位内の通信処理に要した時間を外部に報知させることが好ましい。
この構成によれば、１回の実行単位において通信処理に要した時間が報知されるので、この報知結果をもとにユーザは統合処理形態と分散処理形態のどちらに切り替えればよいのかを判断することができ、ユーザの意思を反映して、適宜、統合処理形態と分散処理形態を切り替えることが可能となる。
【発明の効果】
【００１８】
本発明によれば、実行単位が完結するまでに要する時間を短縮することができる。
【図面の簡単な説明】
【００１９】
【図１】プログラマブルコントローラの制御構成を示すブロック図。
【図２】統合処理形態で行われる制御手順を示す模式図。
【図３】分散処理形態で行われる制御手順を示す模式図。
【図４】通信処理に要した時間を示す模式図。
【図５】第２の実施形態において上限時間を設定した場合の処理手順を示す模式図。
【発明を実施するための形態】
【００２０】
（第１の実施形態）
以下、プログラマブルコントローラの第１の実施形態を図面に従って説明する。
図１に示すように、プログラマブルコントローラ１０は、各種処理を実行する処理部２０と、各種制御プログラムや各種情報を記憶する記憶部３０と、処理部２０と外部機器１０１，１０２，１０３との通信を仲介する通信部４０を有している。さらに、プログラマブルコントローラ１０は、表示部５０を有している。外部機器１０１〜１０３としては、例えば、パソコン、温度等の計測器、バーコードリーダ、画像処理装置、表示装置、センサ等が挙げられる。
【００２１】
通信部４０はインターフェイスであって、通信部４０には、外部機器１０１〜１０３と情報の通信が行われる複数（本実施形態では３つ）の通信ポート４１，４２，４３が設けられている。
【００２２】
処理部２０は、通信部４０を介して外部機器１０１〜１０３と接続されている。具体的には、通信ポート４１は外部機器１０１と接続され、通信ポート４１と外部機器１０１の間には伝送路としてのチャンネルＣＨ０が設定されている。通信ポート４２は外部機器１０２と接続され、通信ポート４２と外部機器１０２の間には伝送路としてのチャンネルＣＨ１が設定されている。通信ポート４３は外部機器１０３と接続され、通信ポート４３と外部機器１０３の間には伝送路としてのチャンネルＣＨ２が設定されている。これにより、外部機器１０１〜１０３は、通信ポート４１〜４３を介して処理部２０との間において情報の通信を行う。記憶部３０には、外部機器１０１〜１０３から取得した情報が一時的に保持される。また、処理部２０は、記憶部３０及び表示部５０とも接続されている。
【００２３】
次に、処理部２０が実行する処理内容について説明する。
処理部２０は、外部機器１０１〜１０３から情報を入力したり外部機器１０１〜１０３に情報を出力したりするための一連のサイクル処理を実行している。
【００２４】
該サイクル処理は、更新処理、演算処理、及び通信処理によって構成されている。
更新処理では、通信結果に基づいて各種情報を更新する処理が行われる。具体的には、前周期の通信処理で入力した情報（外部機器からの命令、外部機器からの検出結果等）を取り込み、必要に応じて、設定情報を更新する処理が実行される。また、更新処理では、出力予定であった情報が既に出力されていた場合、該情報を出力させないことが設定される。
【００２５】
演算処理では、記憶部３０に格納された制御プログラムに従って、通信ポート４１〜４３から入力した情報に基づいて演算する処理が実行される。
通信処理では、演算処理の演算結果を通信ポート４１〜４３を介して外部機器１０１〜１０３に出力する処理や、外部機器１０１〜１０３から通信ポート４１〜４３を介して情報を入力する処理が実行される。ちなみに、制御プログラムには通信処理にて利用される通信ポートの順番が記憶されている。
【００２６】
１回のサイクル処理では、更新処理、演算処理、通信処理の順で各処理が実行されるとともに、更新処理、演算処理、及び通信処理は繰り返し実行される。以下、一連のサイクル処理を「スキャン処理」と示すとともに、この一連の繰り返しの一実行単位を「１スキャン」と示す。
【００２７】
また、処理部２０は、１回のスキャン処理において通信処理の対象とする通信ポート数に上限値を設定する。この上限値は適宜変更可能である。本実施形態でいう「通信処理の対象とする通信ポート数」は、特定の通信ポートに接続された外部機器との通信処理を１単位としている。つまり、外部機器１０１〜１０３毎に通信処理を行い、当該処理を１単位としている。また、前述したように、通信ポート４１〜４３は、外部機器１０１〜１０３とそれぞれ接続されているとともに、各通信ポート４１〜４３と外部機器１０１〜１０３の間にはチャンネルＣＨ０〜ＣＨ２がそれぞれ設定されている。このため、処理部２０は、１回のスキャン処理において通信処理の対象とする外部機器数又はチャンネル数に上限値を設定しているとも言いかえることができる。
【００２８】
以下、通信処理の対象とする通信ポート数の上限値を「３」とした場合の制御手順について説明する。本実施形態のプログラマブルコントローラ１０は３つの通信ポート４１〜４３を有しているため、通信処理の対象とする通信ポート数の上限値を「３」とすることと、通信処理の対象とする通信ポート数の上限値を設けないことは同じことを意味する。以下の説明では、説明の都合上、通信処理の対象とする通信ポート数の上限値を「３」として説明する。また、以下の説明では、通信処理の対象とする通信ポート数の上限値を「３」として行われるスキャン処理の処理形態を統合処理形態と示す。
【００２９】
図２に示すように、処理部２０は、更新処理を実行した後、演算処理を実行する。その後、処理部２０は、通信処理の対象とする通信ポート数の上限値を「３」としたことにより、３つの通信ポートを利用する通信処理を１スキャン内で実行することを特定する。また、処理部２０は、制御プログラムを読み出して通信処理の対象とする通信ポートを特定し、特定した内容に従って通信処理の順序を決定する。
【００３０】
具体的には、処理部２０は、通信ポート４１を対象とした通信処理において、通信ポート４１を介して、演算処理で得られた演算結果を外部機器１０１に出力させるように制御する。これにより、外部機器１０１は情報を受け取ることができる。また、処理部２０は、通信ポート４１を介して、外部機器１０１から情報を入力する。
【００３１】
次に、処理部２０は、通信ポート４２を対象とした通信処理において、通信ポート４２を介して、演算処理で得られた演算結果を外部機器１０２に出力させるように制御する。これにより、外部機器１０２は情報を受け取ることができる。また、処理部２０は、通信ポート４２を介して、外部機器１０２から情報を入力する。
【００３２】
次に、処理部２０は、通信ポート４３を対象とした通信処理において、通信ポート４３を介して、演算処理で得られた演算結果を外部機器１０３に出力させるように制御する。これにより、外部機器１０３は情報を受け取ることができる。また、処理部２０は、通信ポート４３を介して、外部機器１０３から情報を入力する。その後、処理部２０は、スキャン処理を終了する。以降、処理部２０は、スキャン処理を繰り返し実行する。
【００３３】
このように、統合処理形態では、１回のスキャン処理において全ての通信ポート４１〜４３の通信処理が実行される。このため、１回のスキャン処理が完結するまでに要する時間も長くなる。しかしながら、全ての通信ポート４１〜４３の通信処理を完結させるまでに要するスキャン処理の回数が少なくて済む。これにより、処理部２０は、外部機器１０１〜１０３から通信される情報を、より早く収集することが可能となる。
【００３４】
次に、通信処理の対象とする通信ポート数の上限値を「１」とした場合の制御手順について説明する。上限値の変更方法としては、例えば、外部パソコンから上限値の変更指示を出力する方法が挙げられる。また、プログラマブルコントローラ１０にユーザが操作可能な操作部を設けるとともに、該操作部の操作によって上限値を変更する方法などが挙げられる。以下の説明では、通信処理の対象とする通信ポート数の上限値を「１」として行われるスキャン処理の処理形態を分散処理形態と示す。
【００３５】
図３に示すように、処理部２０は、更新処理を実行した後、演算処理を実行する。その後、処理部２０は、通信処理の対象とする通信ポート数の上限値を「１」としたことにより、１つの通信ポートを利用する通信処理を１スキャン内で実行することを特定する。また、処理部２０は、制御プログラムを読み出して通信処理の対象とする通信ポートを特定する。
【００３６】
具体的には、処理部２０は、通信ポート４１を対象とした通信処理において、通信ポート４１を介して、演算処理で得られた演算結果を外部機器１０１に出力させるように制御する。これにより、外部機器１０１は情報を受け取ることができる。また、処理部２０は、通信ポート４１を介して、外部機器１０１から情報を入力する。その後、処理部２０は、実行中のスキャン処理を終了させる。続いて、処理部２０は、次周期のスキャン処理を開始する。
【００３７】
今回のスキャン処理において、処理部２０は、更新処理、演算処理を実行する。その後、前周期のスキャン処理で通信ポート４１を対象とした通信処理を実行させたことから、処理部２０は、制御プログラムに基づき、今回のスキャン処理において通信ポート４２を対象とした通信処理を実行させることを特定する。そして、処理部２０は、通信ポート４２を対象とした通信処理において、通信ポート４２を介して、演算処理で得られた演算結果を外部機器１０２に出力させるように制御する。これにより、外部機器１０２は情報を受け取ることができる。また、処理部２０は、通信ポート４２を介して、外部機器１０２から情報を入力する。その後、処理部２０は、実行中のスキャン処理を終了させる。続いて、処理部２０は、次周期のスキャン処理を開始する。
【００３８】
今回のスキャン処理において、処理部２０は、更新処理、演算処理を実行する。その後、前周期のスキャン処理で通信ポート４２を対象とした通信処理を実行させたことから、処理部２０は、制御プログラムに基づき、今回のスキャン処理において通信ポート４３を対象とした通信処理を実行させることを特定する。そして、処理部２０は、通信ポート４３を対象とした通信処理において、通信ポート４３を介して、演算処理で得られた演算結果を外部機器１０３に出力させるように制御する。これにより、外部機器１０３は情報を受け取ることができる。また、処理部２０は、通信ポート４３を介して、外部機器１０３から情報を入力する。
【００３９】
このように、分散処理形態では、１回のスキャン処理内で全ての通信ポート４１〜４３の通信処理が完結せず、各通信ポート４１〜４３の通信処理が複数回のスキャン処理において通信ポート毎に分散される。これにより、１回のスキャン処理で全ての通信ポート４１〜４３の通信処理が実行された場合（図２参照）に要する時間に比して、１回のスキャン処理において通信処理が占める時間が短くなる。これに伴い、前周期の演算処理と次周期の演算処理との間隔も短くなるため、情報の入力間隔が短くなり、入力変化を追従し易くなる。つまり、外部機器１０１〜１０３から入力した情報に基づき演算を開始するまでの時間、及び演算結果を出力するまでの時間を短縮することができる。したがって、例えば、外部機器が起動するまでに要する時間等の短縮を見込むことができる。
【００４０】
このように、本実施形態では、通信処理の対象とする通信ポート数の上限値を「３」とするか「１」とするかによって、処理形態が切り替えられることになる。
また、処理部２０は、１回のスキャン処理の通信処理に要した時間を外部機器１０１〜１０３毎（通信ポート４１〜４３毎）に計測し、計測結果を記憶部３０に一時的に保持する。そして、１回のスキャン処理が終了すると、処理部２０は、記憶部３０から計測結果を読み出し、該計測結果を表示部５０に表示させるように制御する。表示部５０では、１回のスキャン処理の通信処理に要した時間が外部機器１０１〜１０３毎にそれぞれ表示される。本実施形態では、外部機器１０１〜１０３毎の通信処理に要した時間を表示する表示部５０が報知部として機能する。
【００４１】
図４では、外部機器１０１の通信処理に要した時間が「時間Ｔ１」、外部機器１０２の通信処理に要した時間が「時間Ｔ２」、外部機器１０３の通信処理に要した時間が「時間Ｔ３」であった場合の表示形態を示している。
【００４２】
このように、１回のスキャン処理の通信処理に要した時間が外部機器１０１〜１０３毎に表示部５０でそれぞれ表示されるため、ユーザは外部機器１０１〜１０３毎の通信処理に要した時間を把握することが可能となる。そして、ユーザは、外部機器１０１〜１０３毎の通信処理に要した時間を参考にして通信ポート数の上限値を決定することができる。すなわち、統合処理形態でスキャン処理を実行するか、分散処理形態でスキャン処理を実行するかを決定することができる。
【００４３】
したがって、本実施形態では、以下に示す効果を得ることができる。
（１）通信処理の対象とする通信ポート数に上限値を設けることで、１回のスキャン処理内で通信処理の対象となる通信ポート数に制限がかかることになる。このため、通信ポート数が上限値に達したときには、上限値を超えた通信ポートの通信処理は次周期以降のスキャン処理に回されることになる。これにより、１回のスキャン処理内で全ての通信ポート４１〜４３の通信処理が実行される場合に要する時間に比して、１回のスキャン処理が完結するまでに要する時間を短縮することができる。
【００４４】
（２）通信処理の対象となる通信ポート数に上限値を設けることで、１回のスキャン処理が完結するまでに要する時間が短縮されるため、前周期の演算処理と今周期の演算処理との間隔が短くなる。これにより、情報の入力間隔が短くなり、入力変化を追従し易くなる。その結果、外部から入力した情報に基づき演算を開始するまでの時間、及び演算結果を出力するまでの時間を短縮することができる。例えば、外部機器が製品の形状をチェックするために用いられるセンサである場合、センサから情報を入力し、入力した情報に基づいて演算した演算結果を別の外部機器に出力するまでの時間が短くなるため、チェック効率を向上することができる。また、通信処理を複数のスキャン処理において通信ポート毎に分散させるだけで、通信処理を中断させることなく、外部から入力した情報に基づき演算を開始するまでの時間、及び演算結果を出力するまでの時間を短縮することができる。
【００４５】
（３）通信処理の対象とする通信ポート数に上限値を設けない場合、通信処理の対象とする通信ポート数に上限値を設けた場合に比して、１回のスキャン処理が完結するまでに要する時間が長くなる。ところが、１回のスキャン処理内で全ての通信ポート４１〜４３の通信処理が完結するため、通信処理の待機時間が短くなり、外部機器１０１〜１０３から通信される情報を、より早く収集することが可能となる。
【００４６】
（４）１回のスキャン処理内で通信処理の対象とする通信ポート数に制限をかけるという設定変更を行うだけで、処理部２０の性能を上げることなく信号の入出力に要する時間を短縮することができる。つまり、処理部２０の性能の向上を必要としないので、低コストにて、１回のスキャン処理が完結するまでに要する時間を短縮することができる。そして、外部から入力した情報に基づき演算を開始するまでの時間、及び演算結果を出力するまでの時間が短縮されると、間接的に、外部機器の反応速度（例えば、起動）も向上するため、ユーザ設備のタクトタイム向上にも繋がる。
【００４７】
（５）１回のスキャン処理内で通信処理の対象とする通信ポート数の上限値が適宜変更可能となるため、それに伴って１回のスキャン処理が完結するまでに要する時間も変化し、適当なスキャン処理の時間を設定することができる。
【００４８】
（６）ユーザ設備のシステム構成によって優先したい処理内容が異なる場合であっても、ユーザ自身に統合処理形態と分散処理形態を選択させることで、ユーザ設備に最適なシステム構築を実現できる。
【００４９】
（７）１回のスキャン処理の通信処理に要した時間が外部機器１０１〜１０３毎に表示部５０でそれぞれ表示される。この表示結果をもとにユーザは統合処理形態と分散処理形態のどちらに切り替えればよいのかを判断することができ、ユーザの意思を反映して、適宜、統合処理形態と分散処理形態を切り替えることが可能となる。
【００５０】
（８）上限値を通信ポートの数で設定しているため、１回のスキャン処理において、実行中の通信ポートに係る通信処理が途中で中断されない。
（第２の実施形態）
次に、図５に従って、第２の実施形態について説明する。なお、以下の説明では、既に説明した実施形態と同一構成、及び同一制御には、同一の符号を付すなどしてその説明を省略又は簡略化する。
【００５１】
本実施形態において処理部２０は、１回のスキャン処理における通信処理の実行時間に上限を設定する。また、本実施形態のプログラマブルコントローラ１０には、ユーザが操作可能な操作部が設けられており（図示せず）、該操作部の操作によって上限時間を変更可能に構成されている。
【００５２】
以下、１回のスキャン処理における通信処理の実行時間に上限を設定した場合の制御手順について説明する。
処理部２０は、更新処理を実行した後、演算処理を実行する。その後、処理部２０は、制御プログラムを読み出して通信処理の対象とする通信ポートを特定し、特定した内容に従って通信処理の順序を決定する。また、処理部２０は、通信処理の開始に伴って上限時間を設定するとともに、通信処理を開始してからの経過時間を計測する。
【００５３】
処理部２０は、通信処理を開始させると、経過時間が、記憶部３０に記憶された上限時間を超えたか否かを判定する。この判定結果が否定である場合、すなわち、経過時間が上限時間に満たない場合、実行中の通信処理を継続する。一方、この判定結果が肯定である場合、経過時間が上限時間を超えていることになる。これにより、処理部２０は、通信処理を中断し、実行中のスキャン処理を終了させる。
【００５４】
また、処理部２０は、上限時間を超えた場合、どこまで処理を行っていたのかを示す情報を記憶部３０に記憶し、次周期のスキャン処理では前周期のスキャン処理で中断された内容から通信処理を開始させる。具体的には、処理部２０は、次周期の通信処理の開始時に記憶部３０を読み出し、読み出した情報に基づき、前周期のスキャン処理で中断された内容から通信処理を開始させる。なお、通信処理を中断した場合であっても、処理部２０は、再開対象となる通信処理の開始時に上限時間を設定し、通信処理を開始させてからの経過時間を計測する。そして、全ての通信ポート４１〜４３を対象とする通信処理が終了したのであれば、処理部２０は、新たな処理を開始させる。
【００５５】
また、操作部の操作によって上限時間が変更され、該操作部から変更された上限時間が指示された場合、処理部２０は、指示された上限時間を記憶部３０に記憶させるようになっている。
【００５６】
以下、通信処理の実行時間に上限を設定した場合における制御手順の具体例を説明する。
図５では、上限時間として「時間Ｔ４」が設定されている。ちなみに、「時間Ｔ４」は、通信ポート４１，４２の通信処理に要する時間の合計時間よりも長く、通信ポート４１〜４３の通信処理に要する時間の合計時間よりも短い時間である。
【００５７】
このような時間設定であるため、１回のスキャン処理において、通信ポート４１，４２に対する通信処理は完了するが、通信ポート４３に対する通信処理の実行途中に、通信処理が開始されてからの経過時間が上限時間「時間Ｔ４」に到達することになる。これにより、通信ポート４３に対する通信処理の実行途中であるが、通信処理が中断されて１回目のスキャン処理が終了する。そして、２回目のスキャン処理では、中断された内容から通信処理が再開される。
【００５８】
このように、通信処理の実行時間に上限を設定した場合、設定した上限時間の長さに応じて通信処理の実行時間も変化する。特に、上限時間を、全ての通信ポートの通信処理が終了し得ないような値に設定したときには、複数回のスキャン処理に分かれて通信処理が実行される。このため、上限値を時間で設定した場合であっても、１回のスキャン処理が完結するまでに要する時間を短縮することができる。また、上限時間を調整することで、分散処理形態でスキャン処理が実行された場合に得られる効果と同様の効果も得られる。
【００５９】
したがって、本実施形態では、第１の実施形態の効果（１）〜（７）と同様の効果に加えて以下の効果を得ることができる。
（９）外部機器１０１〜１０３との通信に長時間を要するような状況下において上限値を通信ポートの個数で管理したとする。この場合、いずれかの外部機器１０１〜１０３との通信に長時間を要するにもかかわらず、通信ポートの個数で管理されるため、処理が進行しない等の誤作動が生じる虞がある。このような場合であっても、上限値を時間で管理した場合には、上限時間に到達したときに必ず通信処理を終了させることができる。また、上限時間を調整することで、分散処理形態でスキャン処理が実行された場合に得られる効果と同様の効果も得られる。
【００６０】
なお、上記各実施形態は以下のように変更しても良い。
・第２の実施形態では、上限時間を一定値としてもよい。
・第２の実施形態では、外部機器１０１〜１０３毎の通信処理に要した時間が外部に報知されても、報知されなくてもどちらでもよい。
【００６１】
・外部機器１０１〜１０３毎の通信処理に要した時間の報知態様は、図４のような形態に限られず、外部機器１０１〜１０３毎の時間をユーザが認識できるのであればどのような形態であってもよい。
【００６２】
・第１の実施形態において、通信処理の対象となる通信ポート数が上限値に到達した場合、次周期以降のスキャン処理であれば、どのタイミングで通信処理を再開してもよい。
・第２の実施形態において、通信処理が開始されてからの経過時間が上限時間に到達した場合、次周期以降のスキャン処理であれば、どのタイミングで通信処理を再開してもよい。
【００６３】
・各実施形態において、表示部５０における表示対象を、通信処理と演算処理としてもよい。また、１回のスキャン処理において実行される各処理としてもよい。
・各実施形態において、表示部５０は、外部のパソコンや外部の表示器で実現するものでもよい。
【００６４】
・各実施形態において、通信処理の対象とする通信ポートの順序を変更してもよい。例えば、通信ポート４１を対象とする通信処理の後、通信ポート４３を対象とする通信処理を実行し、最後に通信ポート４２を対象とする通信処理を実行してもよい。
【００６５】
・各実施形態において、通信処理の対象とする通信ポート数の上限値と、プログラマブルコントローラ１０が有する通信ポートの個数を任意に変更してもよい。例えば、プログラマブルコントローラ１０に４つの通信ポートが設けられている場合において、通信処理の対象とする通信ポート数の上限値を「２」としてもよい。
【００６６】
・各実施形態において、通信ポートの個数を１つとし、１つの通信ポートに複数のチャンネルを設定し、各チャンネルと外部機器とをそれぞれ接続してもよい。この場合、処理部２０は、１回のスキャン処理の通信処理の対象とする外部機器数又はチャンネル数に上限値を設定していることになる。
【００６７】
・各実施形態において、プログラマブルコントローラに実行させるスキャン処理の内容を組み込んだ制御プログラムをプログラマブルコントローラにインストールさせる形態としてもよい。詳しくは、ユーザは、各実施形態のプログラマブルコントローラ１０が実行していたスキャン処理を実現するための制御プログラムをパソコンにて作成する。そして、ユーザは、作成した制御プログラムをプログラマブルコントローラにインストールさせ、インストール後のプログラマブルコントローラを用いてスキャン処理を実行する。この構成によれば、ユーザ設備の違いによって必要な処理内容をプログラマブルコントローラにインストールして使用することができるため、プログラマブルコントローラをユーザ設備に合わせてカスタマイズすることも可能である。
【００６８】
次に、各実施形態及び別例から把握できる技術的思想を以下に追記する。
（イ）各種処理を実行する処理部と、外部機器と接続される複数の通信ポートと、ユーザが操作可能な操作部と、を備えたプログラマブルコントローラであって、プログラムの演算処理及び前記外部機器との通信処理が１回の実行単位内で実行されるとともに、前記実行単位の処理は繰り返し実行され、前記処理部は、前記通信処理を開始させてからの経過時間が上限値を超えた場合には、超えた時点からの通信処理を次周期以降の実行単位で実行させ、前記操作部が操作されたことを契機として前記上限時間を変更可能とすることが好ましい。
【符号の説明】
【００６９】
ＣＨ０〜ＣＨ２…チャンネル、１０…プログラマブルコントローラ、２０…処理部、３０…記憶部、４０…通信部、４１〜４３…通信ポート、５０…表示部、１０１〜１０３：外部機器。
【図１】
2015210752.tif 000003
【図２】
2015210752.tif 000004
【図３】
2015210752.tif 000005
【図４】
2015210752.tif 000006
【図５】
2015210752.tif 000007