(57)【要約】【課題】  サイクルタイム一定時間の値を短時間で最適な値に調整することを可能とすること。【解決手段】  ＰＬＣの第２の運転可能モード（ＭＯＮ）では、周辺サービス処理におけるユーザプログラムの変更を許容しながら、一連の複数個のシステム処理が繰り返し実行され、かつ実サイクルタイムと比較されるべきサイクルタイム一定時間は、第１の運転可能モード（ＲＵＮ）においては変更を禁止されているものの、第２の運転可能モード（ＭＯＮ）及び運転不能モード（ＰＲＧ）においては、変更を許可されていること。【選択図】  図３
2010170536.tif 000002
【特許請求の範囲】
【請求項１】
制御対象機器に接続される外部入出力部と、制御対象機器を所望の動作態様で運転するのに必要なユーザプログラムを格納するためのユーザメモリと、前記外部入出力部における外部入出力信号に対応する入出力データを格納するための入出力メモリと、当該プログラマブル・コントローラとしての機能を実現するためのシステムプログラムが格納されたシステムメモリとを有し、
前記システムメモリに格納されたシステムプログラムには、繰り返し実行されるべき一連の複数個のシステム処理が含まれており、かつそれら複数個のシステム処理には、少なくとも、
前記外部入出力部から入力データを取り込み、これを前記入出力メモリの入力データ格納領域に書き込むと共に、前記入出力メモリの出力データ格納領域から出力データを読み込み、これを前記外部入出力部へと送り出す入出力リフレッシュ処理と、
前記ユーザメモリからユーザプログラムを構成する各命令を順次に読み出すと共に、これを前記入出力メモリの入力データを参照して実行し、その実行結果により前記入出力メモリの出力データを書き換えるユーザプログラム実行処理と、
通信を介して所定のツール装置から到来するコマンドに応答して、前記ユーザプログラムの変更を可能とする処理を含む周辺サービス処理と、が含まれており、
動作モードとしては、前記制御対象機器を運転可能な運転可能モードと前記制御対象機器を運転不能な運転不能モードとが用意され、
前記運転可能モードでは、
前記一連の複数個のシステム処理が繰り返し実行され、
前記運転不能モードでは、
前記一連の複数個のシステム処理が、少なくとも前記ユーザプログラム実行処理を除いて、繰り返し実行され、さらに
前記システムプログラムには、
前記一連の複数個のシステム処理が繰り返し実行されるときに、前記入出力リフレッシュ処理の開始時から、次の入出力リフレッシュ処理の１つ前に実行されるべきシステム処理の終了時までの経過時間を実サイクルタイムとして計測する計測処理と、
前記計測処理にて計測された実サイクルタイムと所定のサイクルタイム一定時間とを比較していずれが大きいかを判定する判定処理と、
前記判定処理において、前記サイクルタイム一定時間の方が前記実サイクルタイムよりも大きいと判定されるときには、次の入出力リフレッシュ処理の開始時点を、両時間の差分だけ遅らせる一方、前記実サイクルタイムの方が前記サイクルタイム一定時間よりも大きいと判定されるときには、直ちに、次の入出力リフレッシュ処理を開始させる選択遅延処理と、
からなる時間調整処理が含まれており、さらに
前記実サイクルタイムと比較されるべき前記サイクルタイム一定時間は、前記運転不能モードのみならず、前記運転可能モードにおいても、変更を許可されている、ことを特徴とするプログラマブル・コントローラ。
【請求項２】
前記運転可能モードとしては、第１の運転可能モードと第２の運転可能モードが用意されており、
前記第１の運転可能モード（ＲＵＮ）では、
前記周辺サービス処理におけるユーザプログラムの変更を許容することなく、前記一連の複数個のシステム処理が繰り返し実行され、
前記第２の運転可能モード（ＭＯＮ）では、
前記周辺サービス処理におけるユーザプログラムの変更を許容しながら、前記一連の複数個のシステム処理が繰り返し実行され、
前記運転不能モード（ＰＲＧ）では、
前記周辺サービス処理におけるユーザプログラムの変更を許容しながら、少なくとも前記ユーザプログラム実行処理を除く前記一連の複数個のシステム処理が繰り返し実行され、さらに
前記実サイクルタイムと比較されるべき前記サイクルタイム一定時間は、第１の運転可能モードにおいては変更を禁止されているものの、第２の運転可能モード及び運転不能モードにおいては、変更を許可されている、ことを特徴とする請求項１に記載のプログラマブル・コントローラ。
【請求項３】
前記サイクルタイム一定時間が、外部から入力される新たなサイクルタイム一定時間へと変更可能とされている、ことを特徴とする請求項１又は２に記載のプログラマブル・コントローラ。
【請求項４】
前記サイクルタイム一定時間が、所定のアルゴリズムにしたがって当該プログラマブル・コントローラの内部で自動生成される新たなサイクルタイム一定時間へ変更可能とされている、ことを特徴とする請求項１又は２に記載のプログラマブル・コントローラ。
【請求項５】
前記所定のアルゴリズムが、前記実サイクルタイムの過去一定期間分又は一定サイクル数分のサンプル値における最大値に基づいて新たなサイクルタイム一定時間を生成するものである、ことを特徴とする請求項４に記載のプログラマブル・コントローラ。
【請求項６】
前記実サイクルタイムの過去一定期間分又は一定サイクル数分のサンプル値からは、所定基準値を超えるサンプル値が除かれている、ことを特徴とする請求項５に記載のプログラマブル・コントローラ。
【請求項７】
前記入出力リフレッシュ処理が、前記外部入出力部から入力データを取り込み、これを前記入出力メモリの入力データ格納領域に書き込む入力リフレッシュ処理と、前記入出力メモリの出力データ格納領域から出力データを読み込み、これを前記外部入出力部へと送り出す出力リフレッシュ処理とに分割されており、
前記計測処理が、前記一連の複数個のシステム処理が繰り返し実行されるときに、前記出力リフレッシュ処理の開始時から、次の出力リフレッシュ処理の１つ前に実行されるべきシステム処理の終了時までの経過時間を実サイクルタイムとして計測するものであり、
前記選択遅延処理が、前記判定処理において、前記サイクルタイム一定時間の方が前記実サイクルタイムよりも大きいと判定されるときには、次の出力リフレッシュ処理の開始時点を、両時間の差分だけ遅らせる一方、前記実サイクルタイムの方が前記サイクルタイム一定時間よりも大きいと判定されるときには、直ちに、次の出力リフレッシュ処理を開始させる、ことを特徴とする請求項１に記載のプログラマブル・コントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、プログラマブル・コントローラに係り、特に、ユーザプログラムの実行所要時間の変動等の要因に拘わらず、相前後する入出力リフレッシュ処理の実行間隔を一定化する機能を備えたプログラマブル・コントローラに関する。
【背景技術】
【０００２】
プログラマブル・コントローラにおいては、入出力リフレッシュ処理、共通処理、ユーザプログラム実行処理、周辺サービス処理等の一連のシステム処理がサイクリックに実行される。これら一連のシステム処理の一巡する実行所要時間は、通常、スキャンタイムあるいはサイクルタイムと称される。以下では、これを「サイクルタイム」と称することとする。
【０００３】
当業者には良く知られているように、プログラマブル・コントローラの運転中にあって、サイクルタイムの値は、様々な要因により、必ずしも、各サイクル毎に一定とはならない。その要因の１つとしては、ユーザプログラムの実行所要時間は、その時々の制御対象機器の状況により異なることが挙げられる。
【０００４】
サイクルタイムが変動することは、相前後する入出力リフレッシュ処理の実行間隔も変動することを意味する（図１３（ａ）参照）。入出力リフレッシュ処理では、入力ユニットより入力データを取り込み、プログラマブル・コントローラの所定のメモリ内の入力データ格納領域に書き込み、その所定のメモリ内の出力データ領域に格納されている出力データを出力ユニットへと出力する処理が行われるが、相前後する入出力リフレッシュ処理の実行間隔の変動は、そのまま、入出力応答時間（外部機器からの信号を入力ユニットが受信してから、その信号に基づいたユーザプログラムの実行結果を出力ユニットが外部機器へ出力するまでの時間）の変動に繋がる。
【０００５】
プログラマブル・コントローラを使用した制御においては、上述の入出力応答時間の変動に影響を及ぼすサイクルタイムは、できるだけ一定としたいとする要望が従来より存在する（例えば、特許文献１参照）。
【０００６】
そこで、ユーザプログラムの実行所要時間の変動等の要因に拘わらず、サイクルタイムを強制的に一定化する機能を備えたプログラマブル・コントローラが、知られている（図１３（ｂ）参照）。なお、図１３（ａ）、（ｂ）のその他処理には共通処理、ユーザプログラム実行処理、周辺サービス処理などを含む。
【０００７】
この種のサイクルタイム一定化機能を有するプログラマブル・コントローラにあっては、一定としたい目標とするサイクルタイム（以下、「サイクルタイム一定時間」と称する）の設定が可能とされている。サイクルタイム一定時間の値は、プログラマブル・コントローラの運転中において想定される実サイクルタイム（一連のシステム処理の一巡する実際の実行所要時間）よりもある程度長目に設定される。
【０００８】
すると、実サイクルタイムがサイクルタイム一定時間よりも短い場合、実サイクルタイムとサイクルタイム一定時間との差分だけ待ち時間が設けられる。突発的な制御状況等の要因により、あるサイクルにおける実サイクルタイムがサイクルタイム一定時間よりも長くなった場合はそのサイクルにおいて、サイクルタイム一定時間は無視される（図１２参照）。なお、図１２のその他処理には共通処理、ユーザプログラム実行処理、周辺サービス処理などを含む。
【０００９】
このように、サイクルタイム一定化機能と言っても、完全に、毎サイクル、サイクルタイムが一定となるのではなく、実サイクルタイムが設定されたサイクルタイム一定時間を越える場合には、そのサイクルについては、その時点で実行中のシステム処理（例えば、周辺サービス処理）は中断されることなく、サイクルタイム一定時間を超えて、そのまま続行される。これは、実行中のシステム処理を強制的に終了させることは、むしろ、不都合が多いという設計上の配慮による。
【００１０】
プログラマブル・コントローラの動作モードには、ユーザプログラムを実行するとともにその実行結果に基づいて制御対象機器を所望の運転態様で運転する第１の動作モードと、ユーザプログラムを実行しない第２の動作モードが存在する。
【００１１】
従来、上述のサイクルタイム一定時間の設定は、第２の動作モードのみ可能とされ、第１の動作モードでは不能とされていた。
【００１２】
これは、（１）サイクルタイム一定時間の最適値は、実際に制御対象機器を運転しつつ計測するまでもなく、ユーザプログラムの設計時においてある程度正確に予測できること、（２）サイクルタイム一定時間の設定又は設定変更は、制御対象機器の据え付け時、ユーザプログラムの更新時等に行うのが通例であるから、その設定操作は、制御対象機器の停止状態で行えれば十分であること、（３）サイクルタイムはある範囲内で一定でありさえすれば足り、その値の厳密な意味での大小はさほど問題とされないことから、サイクルタイム一定時間の設定変更を、制御対象機器の運転中に頻繁に行う必要性に乏しいこと、等々と言った歴史的背景に基づくものである。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２０００−１０５６０４
【発明の概要】
【発明が解決しようとする課題】
【００１４】
昨今、制御対象機器が複雑かつ高速化したこと等の原因により、制御対象機器のスループットを上昇させ生産性を高めるためには、サイクルタイム一定時間の値そのものについても最適化が求められる傾向にある。
【００１５】
加えて、プログラマブル表示器、リモートＩ／Ｏ機器、他の複数台のプログラマブル・コントローラ等々をネットワークを介して接続する昨今のプログラマブル・コントローラにあっては、各種のイベント割込等のために、実サイクルタイムの値は、当該プログラマブル・コントローラに組み込まれたユーザプログラムの大きさだけでは一意に想定するのが難しい場合もある。
【００１６】
そのため、従来のプログラマブル・コントローラにおいて、サイクルタイム一定時間の値を最適化するためには、動作モードを第２の動作モードとして、サイクルタイム一定時間の仮設定を行っては、その都度、動作モードを第１の動作モードに切り替えて、ユーザプログラムを実行させつつ制御対象機器を試運転し、制御対象機器の運転状態を確認すると言った作業を何度も繰り返すことが必要となる。
【００１７】
しかしながら、一般に、プログラマブル・コントローラにあっては、動作モードを第１の動作モードから第２の動作モードに切り替えて、制御対象機器を運転状態から停止状態へと切り替えるには、第２の動作モードへの切り替えに先だって、危険防止等の配慮から、制御対象機器側における所定の前処理動作（加熱炉内のワークを取り出す、ライン上の製品を元の位置に戻す等々の処理動作）に対応するインターロックプログラムを第１の動作モードにおいて実行するのが通例であるから、運転状態から停止状態へと切り替えるには、それなりの時間がかかるのが通例である。
【００１８】
そのため、従来のプログラマブル・コントローラにおいて、サイクルタイム一定時間の値を最適化するためには、制御対象機器側において、運転状態と停止状態との切替を何度も繰り返すことから、かなりの長時間を要すると言う問題点があった。
【００１９】
本発明は、上述の問題点に着目してなされたものであり、その目的とするところは、サイクルタイム一定時間の値を短時間で最適な値に調整することを可能としたプログラマブル・コントローラを提供することにある。
【００２０】
本発明の他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
【課題を解決するための手段】
【００２１】
上述の技術的課題は、以下の構成を有するプログラマブル・コントローラにより解決できるものと考えられる。
【００２２】
すなわち、このプログラマブル・コントローラは、制御対象機器に接続される外部入出力部と、制御対象機器を所望の動作態様で運転するのに必要なユーザプログラムを格納するためのユーザメモリと、前記外部入出力部における外部入出力信号に対応する入出力データを格納するための入出力メモリと、当該プログラマブル・コントローラとしての機能を実現するためのシステムプログラムが格納されたシステムメモリとを有する。
【００２３】
前記システムメモリに格納されたシステムプログラムには、繰り返し実行されるべき一連の複数個のシステム処理が含まれており、かつそれら複数個のシステム処理には、少なくとも、入出力リフレッシュ処理と、ユーザプログラム実行処理と、周辺サービス処理とが含まれている。
【００２４】
入出力リフレッシュ処理は、前記外部入出力部から入力データを取り込み、これを前記入出力メモリの入力データ格納領域に書き込むと共に、前記入出力メモリの出力データ格納領域から出力データを読み込み、これを前記外部入出力部へと送り出す。
【００２５】
ユーザプログラム実行処理は、前記ユーザメモリからユーザプログラムを構成する各命令を順次に読み出すと共に、これを前記入出力メモリの入力データを参照して実行し、その実行結果により前記入出力メモリの出力データを書き換える。
【００２６】
周辺サービス処理は、通信を介して所定のツール装置から到来するコマンドに応答して、前記ユーザプログラムの変更を可能とする処理を含む。
【００２７】
動作モードとしては、前記制御対象機器を運転可能な運転可能モードと前記制御対象機器を運転不能な運転不能モードとが用意されている。
【００２８】
運転可能モードでは、前記一連の複数個のシステム処理が繰り返し実行される。
【００２９】
運転不能モードでは、前記一連の複数個のシステム処理が、少なくとも前記ユーザプログラム実行処理を除いて、繰り返し実行される。
【００３０】
前記システムプログラムには、さらに、前記一連の複数個のシステム処理が繰り返し実行されるときに、前記入出力リフレッシュ処理の開始時から、次の入出力リフレッシュ処理の１つ前に実行されるべきシステム処理の終了時までの経過時間を実サイクルタイムとして計測する計測処理と、前記計測処理にて計測された実サイクルタイムと所定のサイクルタイム一定時間とを比較していずれが大きいかを判定する判定処理と、前記判定処理において、前記サイクルタイム一定時間の方が前記実サイクルタイムよりも大きいと判定されるときには、次の入出力リフレッシュ処理の開始時点を、両時間の差分だけ遅らせる一方、前記実サイクルタイムの方が前記サイクルタイム一定時間よりも大きいと判定されるときには、直ちに、次の入出力リフレッシュ処理を開始させる選択遅延処理と、からなる時間調整処理が含まれている。
【００３１】
前記実サイクルタイムと比較されるべき前記サイクルタイム一定時間は、前記運転不能モードのみならず、前記運転可能モードにおいても、変更を許可されている。
【００３２】
運転可能モードとしては、第１の運転可能モードと第２の運転可能モードが用意されている。
【００３３】
第１の運転可能モード（ＲＵＮ）では、前記周辺サービス処理におけるユーザプログラムの変更を許容することなく、前記一連の複数個のシステム処理が繰り返し実行される。
【００３４】
第２の運転可能モード（ＭＯＮ）では、前記周辺サービス処理におけるユーザプログラムの変更を許容しながら、前記一連の複数個のシステム処理が繰り返し実行される。
【００３５】
運転不能モード（ＰＲＧ）では、前記周辺サービス処理におけるユーザプログラムの変更を許容しながら、少なくとも前記ユーザプログラム実行処理を除く前記一連の複数個のシステム処理が繰り返し実行される。
【００３６】
そして、前記実サイクルタイムと比較されるべき前記サイクルタイム一定時間は、第１の運転可能モードにおいては変更を禁止されているものの、第２の運転可能モード及び運転不能モードにおいては、変更を許可されている。
【００３７】
このような構成よりなるプログラマブル・コントローラによれば、第２の運転可能モードにおいては、前記周辺サービス処理におけるユーザプログラムの変更を許容しながら、入出力リフレッシュ処理、ユーザプログラム実行処理、及び周辺サービス処理を含む一連の複数個のシステム処理が繰り返し実行され、しかもこの第２の運転可能モードにおいては、前記実サイクルタイムと比較されるべき前記サイクルタイム一定時間についても変更可能とされている。
【００３８】
そのため、制御対象機器を試運転状態のまま、例えばツール装置やプログラマブル表示器等の操作機器の操作により、サイクルタイム一定時間を微調整しつつ、例えば制御対象機器のスループットと相関のある適当なパラメータの値を監視すれば、制御機器側において最適なスループットが得られるようなサイクルタイム一定時間を探し出して、これを新たなサイクルタイム一定時間として設定することができる。
【００３９】
その際に、ユーザプログラムの書き替え機能（例えば、所謂オンラインエディット等）や入出力メモリの書き替え機能（例えば、入出力データの強制セットリセット操作等）を併せて利用することにより、制御対象機器側において最適なスループットが得られるように、ユーザプログラムを改良することも可能となる。
【００４０】
しかも、上記のサイクルタイム一定時間の変更操作は、制御対象機器を運転状態（試運転）に維持したままで行うことができるため、従前のプログラマブル・コントローラにおけるように、変更操作の毎に、制御対象機器を運転状態と停止状態とに切り替えることも不要であるから、運転状態から停止状態への切り替えに伴う時間のかかる前処理動作も不要となり、サイクルタイム一定時間の最適化を短時間で成し遂げることができる。
【００４１】
なお、サイクルタイム一定時間と実サイクルタイムとの比較結果については、既に、所定の内部フラグ（例えば、入出力メモリ内に存在する）に反映させつつ、これをツール装置を介して監視する技術も公知であるから、本発明によれば、そのような技術を利用することにより、運転中にサイクルタイム一定時間を微調整しつつ、その影響を確かめることにより、入出力応答性改善の観点からも最適なサイクルタイム一定時間を見つけ出すこともできる。
【００４２】
ここで、前記実サイクルタイムと比較されるべき前記サイクルタイム一定時間については、通信又は所定の操作部を介して外部から入力される新たなサイクルタイム一定時間へと変更可能としてもよい。
【００４３】
このような構成によれば、当該プログラマブル・コントローラに備え付けの操作部、或いは通信を介して接続されるツール装置（パソコンやプログラマブル表示器等）や他のプログラマブル・コントローラから新たなサイクルタイム一定時間を送り込むことにより、サイクルタイム一定時間の設定変更が可能となる。
【００４４】
なお、こうして送り込まれた新たなサイクルタイム一定時間をいつ実際に実サイクルタイムとの比較動作に反映させるかについては、様々な考え方が存在する。もっとも、普通の考え方にしたがえば、送り込まれた時点で直ちに（次の動作サイクルから）反映させるものであろう。その他の考え方としては、予め決められたタイミング（例えば、別の反映指令操作が行われたタイミング、時間的に設定されたタイミング、特定のシステム処理の実行タイミング等々）とすることが挙げられるであろう。
【００４５】
また、前記実サイクルタイムと比較されるべき前記サイクルタイム一定時間については、所定のアルゴリズムにしたがって当該プログラマブル・コントローラの内部で自動生成される新たなサイクルタイム一定時間へと変更可能としてもよい。
【００４６】
このような構成によれば、アルゴリズムとして、そのプログラマブル・コントローラに適した、又はその制御対象装置に適したアルゴリズムを任意に採用することにより、その時々の制御状態に適したサイクルタイム一定時間の設定が可能となる。
【００４７】
なお、こうして内部生成された新たなサイクルタイム一定時間をいつ実際に実サイクルタイムとの比較動作に反映させるかについては、内部生成動作の実行態様との関係で様々な考え方が存在する。
【００４８】
内部生成動作が単発的に実行されるものとすれば、その実行タイミングで直ちに反映するか、又は前述の場合と同様に、予め決められたタイミング（例えば、別の反映指令操作が行われたタイミング、時間的に設定されたタイミング、特定のシステム処理の実行タイミング等々）とすることが挙げられるであろう。このような構成によれば、内部生成動作をいつ又はどのような周期、頻度で行うかにより、その時々の制御状態に適したサイクルタイム一定時間の設定が可能となる。
【００４９】
内部生成動作が連続的又は継続的に実行されるものとすれば、各実行タイミング（換言すれば、動的に）で反映させることが考えられるであろう。このような構成によれば、常時に、その時々の制御状態に適したサイクルタイム一定時間の設定が可能となる。
【００５０】
前記所定のアルゴリズムとしては、前記実サイクルタイムの過去一定期間分又は一定サイクル数分のサンプル値における最大値に基づいて新たなサイクルタイムを生成するものとしてもよい。
【００５１】
このような構成によれば、例えばオンラインエディットによりユーザプログラムの一部書き替え（追加）が行われたような場合には、書き替え後の新たなユーザプログラムに適したサイクルタイム一定時間への設定変更が自動的に可能となり、オンラインエディット操作のたびに、サイクルタイム一定時間の書き替え操作の手間が不要となる。
【００５２】
このとき、前記実サイクルタイムの過去一定期間分又は一定サイクル数分のサンプル値からは、所定基準値を超えるサンプル値を除くようにしてもよい。
【００５３】
このような構成によれば、突発的な低頻度のイベント割込等によりたまたまサンプル値に異常極大値が混入されて、不必要にサイクルタイム一定時間の値が長すぎる値に自動設定され、それにより入出力応答性を極端に害すると言った不都合を回避することができる。
【００５４】
なお、以上説明した本発明のプログラマブル・コントローラには、演算部、入出力部、通信分等の基本要素の全てを共通の筐体に収容してなるオールインワン型のもの、演算部、入出力部、通信部等の基本要素をそれぞれ専用の筐体に収容してなるビルディング・ブロック型のものの双方を含んでいる。
【００５５】
また、周辺サービス処理の内容については、オールインワン型やビルディング・ブロック型により、多少その内容は異なるが、一般的には、周辺サービス処理には、当該プログラマブル・コントローラに備え付けの操作部又は通信を介して接続されたツール装置との間におけるコマンドやデータのやり取りをする操作部対応処理、通信を介して接続された他のプログラマブル・コントローラとの間における入出力データの一括又はイベント的送受信処理、通信を介して接続されたスレーブ（リモートＩ／Ｏ装置）との間における一括又はイベント的送受信処理等が含まれる。
【００５６】
そして、前述の各動作モードにおいて、周辺サービス処理におけるユーザプログラムの変更を選択的に許容する制御は、例えば上述の操作部対応処理において、該当する書き替え指令コマンドに対応する処理を、各モードにおいて選択的に実行することで容易に実現することができる。
【００５７】
本発明の他の解決手段としては、前記入出力リフレッシュ処理が、前記外部入出力部から入力データを取り込み、これを前記入出力メモリの入力データ格納領域に書き込む入力リフレッシュ処理と、前記入出力メモリの出力データ格納領域から出力データを読み込み、これを前記外部入出力部へと送り出す出力リフレッシュ処理とに分割されても良い。
【００５８】
ここで、前記計測処理は、前記一連の複数個のシステム処理が繰り返し実行されるときに、前記出力リフレッシュ処理の開始時から、次の出力リフレッシュ処理の１つ前に実行されるべきシステム処理の終了時までの経過時間を実サイクルタイムとして計測するものである。
【００５９】
さらに、前記選択遅延処理は、前記判定処理において、前記サイクルタイム一定時間の方が前記実サイクルタイムよりも大きいと判定されるときには、次の出力リフレッシュ処理の開始時点を、両時間の差分だけ遅らせる一方、前記実サイクルタイムの方が前記サイクルタイム一定時間よりも大きいと判定されるときには、直ちに、次の出力リフレッシュ処理を開始させるように構成する。
【００６０】
この場合の前記一連の複数のシステム処理には、入力リフレッシュ処理、出力リフレッシュ処理、共通処理、ユーザプログラム実行処理、周辺サービス処理とが含まれることになる。入力リフレッシュ処理と出力リフレッシュ処理の順序は逆でも良いし、その間に他のシステム処理を挟んでも良い。
【００６１】
このような構成によれば、運転中に出力リフレッシュ処理の実行間隔を最適にするためのサイクルタイム一定時間の設定が可能となる。
【発明の効果】
【００６２】
以上の説明で明らかなように、本発明によれば、制御対象機器を試運転状態のまま、サイクルタイム一定時間を微調整しつつ、制御機器側において最適なスループットが得られるようなサイクルタイム一定時間を探し出して、これを新たなサイクルタイム一定時間として設定することができる。
【図面の簡単な説明】
【００６３】
【図１】本願が適用されるＰＬＣの構成図である。
【図２】ＣＰＵユニットのハードウェア構成図である。
【図３】システムプログラムの全体を概略的に示すゼネラルフローチャートである。
【図４】時間調整処理の詳細フローチャート（その１）である。
【図５】時間調整処理の詳細フローチャート（その２）である。
【図６】ツールとＰＬＣとの関係を模式的に示す図である。
【図７】ツールのサイクルタイム一定時間設定値セット処理を示す詳細フローチャートである。
【図８】ＰＬＣのサイクルタイム一定時間設定値書き換え処理を示す詳細フローチャートである。
【図９】サイクルタイム一定時間設定値の変更タイミング及び計算方法を表にして示す図である。
【図１０】サイクルタイム一定時間設定画面である。
【図１１】ＰＬＣの動作モード別比較表である。
【図１２】サイクルタイム一定時間設定時の動作詳細を示す図である。
【図１３】サイクルタイム一定時間の設定有無による動作の違いを説明する図である。
【発明を実施するための形態】
【００６４】
以下において、この発明に係るプログラマブルコントローラシステムの実施の一形態を添付図面を参照しながら詳細に説明する。
【００６５】
本願が適用されるＰＬＣシステムの構成図が図１に示されている。このシステムは、複数台のＰＬＣ１とＰＣ２ｂとがネットワーク３で繋がれたものであり、ＰＬＣ１は、電源ユニット１１、ＣＰＵユニット１２、入力ユニット１３、出力ユニット１４、特殊ユニット１５、通信ユニット１６で構成されている。ＰＣ２ａとＣＰＵユニット１２とが直接に接続され相互にデータ通信を行うことができるようにしてもよい。電源ユニット１１はＰＬＣ１全体に電力を供給するユニットである。ＣＰＵユニット１２はＰＬＣ全体の制御を行うユニットであり、制御対象装置から何らかの入力がなされた場合には、その入力信号は入力ユニット１３を介して得られ、ＣＰＵユニット１２にて処理される。一方、ＰＬＣ１により制御対象装置を制御する場合には、出力ユニット１４を介して接続される。
【００６６】
特殊ユニット１５は、モーションコントロールユニット、ＰＩＤ演算ユニットなどの増設ユニットであり、必要に応じて設けるものである。図１においては、第１のＰＬＣにのみ設けられており、第２のＰＬＣ、第３のＰＬＣには設けられていない。通信ユニット１６は、ＰＣ２ｂや他のＰＬＣ１との通信を行うための機能を有するものである。
【００６７】
ＰＬＣのＣＰＵユニットのハードウェア構成図が図２に示されている。同図で示されるように、ＣＰＵユニット１２は、ＭＰＵ１２１と、システムメモリ１２２と、バックアップメモリ１２３と、ワークメモリ１２４と、ワークメモリ内にサイクルタイム一定時間用レジスタ１２４ａと、通信回路１２５と、ユーザメモリ１２６と、命令実行ＡＳＩＣ１２７と、入出力メモリ１２８と、Ｉ／Ｏバス１２９とを含んでいる。
【００６８】
ＭＰＵ１２１は、ＣＰＵユニット１２の全体を統括制御するものである。システムメモリ１２２とバックアップメモリ１２３は不揮発性メモリで構成され、システムメモリ１２２にはＭＰＵ１２１で処理されＰＬＣ１としての機能を実現するためのシステムプログラムが記憶され、バックアップメモリ１２３にはバックアップされたユーザプログラムが記憶されている。
【００６９】
ワークメモリ１２４は、ＭＰＵ１２１の処理全体にわたる各種データが記憶される。また、ＰＬＣ１において繰り返し実行される一連の複数個のシステム処理に要する時間を一定にするサイクルタイム一定時間を算出するためのデータも格納されている。
【００７０】
ワークメモリ１２４内に設けられているサイクルタイム一定時間用レジスタ１２４ａは、サイクルタイム一定時間設定値を記憶するもので、この設定値は任意に書き換え可能とされており、当該レジスタは１つでもよいし、複数設けられていてもよい。
【００７１】
通信回路１２５は、ＰＣ２ａとのデータ通信を行うためのものであり、ＣＰＵユニット１２は、この通信回路１２５を介してＰＣ２ａとのデータ通信を行う。
【００７２】
ユーザメモリ１２６は、電源ＯＮ時にはバックアップメモリ１２３から転送されたユーザプログラムが記憶され、ここから読み出されたユーザプログラムが実行される。命令実行ＡＳＩＣ１２７は、ユーザメモリ１２６からユーザプログラムを順番に読み出し、その実行結果を、入出力メモリ１２８へと書き込むためのハードウェアである。
【００７３】
入出力メモリ１２８は、入力ユニット１３より取り込まれた入力データを格納するための入力データ格納領域と、出力ユニット１４へ出力するための出力データを格納するための出力データ格納領域を備える。
【００７４】
Ｉ／Ｏバス１２９は、ＣＰＵユニット１２が、電源ユニット１１と、入力ユニット１３と、出力ユニット１４と相互にデータ通信を行うためのものであり、このＩ／Ｏバス１２９を介して各種データ通信が行われる。
【００７５】
繰り返し実行されるべき一連の複数個のシステム処理は、ＣＰＵユニット内のＭＰＵ１２１がシステムメモリに格納された所定のシステムプログラムを実行することで実現される。システムプログラムの全体を概略的に示すゼネラルフローチャートが図３に示されている。同図に示されるように、一連のシステム処理は、電源投入直後に開始され、電源ＯＮ時処理（ステップ１０１）を行った後、サイクリックに一巡実行される、入出力リフレッシュ処理（ステップ１０２）、共通処理（ステップ１０３）、動作モード判定処理（ステップ１０４）、ユーザプログラム実行処理（ステップ１０５）、周辺サービス処理（ステップ１０６）、時間調整処理（ステップ１０７）とから構成されている。
【００７６】
電源ＯＮ時処理（ステップ１０１）では、ワークメモリ１２４の初期化処理、入出力メモリ１２８の初期化処理、バックアップメモリ１２３に格納されているユーザプログラムをユーザメモリ１２６に転送する処理、ワークメモリ１２４内のサイクルタイム一定時間設定値の書き換え領域であるサイクルタイム一定時間用レジスタ１２４ａを確保する処理などが実行される。
【００７７】
入出力リフレッシュ処理（ステップ１０２）では、入力ユニット１３より入力データを取り込み、入出力メモリ１２８の所定の入力データ格納領域に書き込み、入出力メモリの所定の出力データ格納領域に格納されている出力データを出力ユニット１４へと出力する。
【００７８】
共通処理（ステップ１０３）においては、ＰＬＣが故障していないか否かの診断、ＭＰＵ１２１が一連のシステム処理をするための種々の設定の確認などを主に実行する。診断の内容は、ユーザメモリ１２６のチェック、Ｉ／Ｏバス１２９のチェック、メモリカードの着脱チェックなどである。
【００７９】
共通処理（ステップ１０３）を行った後、ＰＬＣ１の動作モードの判定処理（ステップ１０４）が行われる。ＰＬＣ１の動作モードには、ＲＵＮモードとＭＯＮモードとＰＲＧモードとがある。各動作モードの詳細は後述する。
【００８０】
ＰＬＣ１の動作モードがＰＲＧモードと判定されると、ユーザプログラム実行処理を行うことなく周辺サービス処理（ステップ１０６）へと移行する一方、ＰＬＣ１の動作モードがＲＵＮモードまたはＭＯＮモードと判定されるとユーザプログラム実行処理（ステップ１０５）を行う。
【００８１】
ユーザプログラム実行処理（ステップ１０５）では、ユーザメモリ１２６に格納されているユーザプログラムを構成する各命令を順次に読み出し、入出力メモリ１２８の所定の入力領域に格納されている入力データを参照してユーザプログラム実行処理を行う。そして、その実行結果を入出力メモリ１２８の所定の出力領域に格納される出力データとして書き換える。
【００８２】
周辺サービス処理（ステップ１０６）においては、ネットワーク３を介してＰＣ２ｂまたはＰＣ２ａから直接送信される各種コマンドに応答してユーザメモリ１２６または／及び入出力メモリ１２８に格納されているデータの書き換え処理を行う。ここで、ユーザメモリ１２６に格納されているデータの書き換え処理には、当該メモリに格納されているユーザプログラムの変更を可能とする処理が含まれる。その他、ユーザインタフェースの入出力処理や各種リモート機器などとの通信処理、ＣＰＵユニット１２に装着されたメモリカードへのアクセス処理なども適宜実行される。
【００８３】
周辺サービス処理が終了すると、時間調整処理（ステップ１０７）が行われる。時間調整処理の詳細フローチャートが図４及び図５に示されている。
【００８４】
図４の時間調整処理の詳細フローチャート（その１）においては、時間調整処理が開始されると、実サイクルタイムとサイクルタイム一定時間とを比較していずれが大きいか判定が行われる（ステップ１０７１Ａ）。ここで、実サイクルタイムとは、入出力リフレッシュ処理の開始時から、次の入出力リフレッシュ処理の１つ前に実行されるシステム処理の終了時までの計測された経過時間をいう。
【００８５】
サイクルタイム一定時間の方が実サイクルタイムよりも大きいと判定されると、サイクルタイム一定時間と実サイクルタイムの差分だけ待って（ステップ１０７２Ａ）、実サイクルタイムの値をサンプル値としてワークメモリ１２４の所定領域に記録保存し（ステップ１０７３Ａ）、経過時間を初期化し、次の入出力リフレッシュ処理を開始させると同時に経過時間の計測を開始する（ステップ１０７４Ａ）。なお、ステップ１０７２Ａの処理は、サイクルタイム一定時間と実サイクルタイムの差分だけ待つという処理に替えて、経過時間がサイクルタイム一定時間と等しくなるまで待つという処理にしても良い。
【００８６】
一方で、実サイクルタイムの方がサイクルタイム一定時間よりも大きいときには、実サイクルタイムの値をサンプル値としてワークメモリ１２４の所定領域へ記録保存し、また実サイクルタイムの値の最大値の計算などを行い（ステップ１０７３Ａ）、経過時間を初期化し、次の入出力リフレッシュ処理を開始すると同時に経過時間の計測を開始する（ステップ１０７４Ａ）。
【００８７】
すなわち、時間調整処理においては、サイクルタイム一定時間の方が実サイクルタイムよりも大きいと判定されるときには、次の入出力リフレッシュ処理の開始時点を、両時間の差分だけ遅らせる処理が行われる一方、実サイクルタイムの方がサイクルタイム一定時間よりも大きいときには、直ちに、次の入出力リフレッシュ処理を開始させる。
【００８８】
図５には、別の時間調整処理の詳細フローチャート（その２）が示されている。同図に示されるように、時間調整処理が開始されると、実サイクルタイムとサイクルタイム一定時間とを比較して、いずれが大きいか判定が行われる（ステップ１０７１Ｂ）。サイクルタイム一定時間の方が実サイクルタイムよりも大きいと判定されると、実サイクルタイムとサイクルタイム一定時間との差分を計算して周辺サービス処理に割り当てられる時間を算出し（ステップ１０７２Ｂ）、算出された周辺サービス処理割当時間が経過するまで継続して周辺サービス処理が行われる。ただし、実施すべき周辺サービス処理がなければ割当時間が経過するまで待ち状態となる（ステップ１０７３Ｂ）。周辺サービス処理割当時間が経過すると、実サイクルタイムの値をサンプル値としてワークメモリ１２４の所定領域に記録保存した上で、実サイクルタイムの値の最大値の計算などが行われ（ステップ１０７４Ｂ）、経過時間を初期化し、入出力リフレッシュ処理を開始すると同時に経過時間の計測を開始する（ステップ１０７５Ｂ）。
【００８９】
一方、実サイクルタイムの方がサイクルタイム一定時間よりも大きいときには、実サイクルタイムの値をサンプル値としてワークメモリ１２４の所定領域へ記録保存し、更に、実サイクルタイムの値の最大値の計算などを行い（ステップ１０７４Ｂ）、次いで、経過時間を初期化し、次の入出力リフレッシュ処理を開始すると同時に経過時間の計測を開始する（ステップ１０７５Ｂ）。
【００９０】
ここで、上述の一連のシステム処理は、ＰＬＣ１の動作モードに応じてその内容が異なっている。そのことが、図１１のＰＬＣ１の動作モード別比較表に示されている。同図に示されるように、ＰＬＣ１の動作モードがＲＵＮモードの場合には、周辺サービス処理におけるユーザメモリ１２６に格納されているユーザプログラムの変更が禁止された状態で、一連のシステム処理が繰り返し実行される。
【００９１】
一方、ＰＬＣ１の動作モードがＭＯＮモードの場合には、周辺サービス処理におけるユーザメモリ１２６に格納されているユーザプログラムの変更が許可された状態で、一連のシステム処理が繰り返し実行される。
【００９２】
ＰＬＣ１の動作モードがＰＲＧモードの場合にも、周辺サービス処理におけるユーザメモリ１２６に格納されているユーザプログラムの変更が許可された状態で、少なくともユーザプログラム実行処理を除いた一連のシステム処理が繰り返し実行される。
【００９３】
そのため、ＭＯＮモードにおいては、制御対象機器を試運転状態のまま、例えばツール装置やプログラマブル表示器等の操作機器の操作により、サイクルタイム一定時間を微調整しつつ、例えば制御対象機器のスループットと相関のある適当なパラメータの値を監視すれば、制御機器側において最適なスループットが得られるようなサイクルタイム一定時間を探し出して、これを新たなサイクルタイム一定時間として設定することができる。
【００９４】
その際に、ユーザプログラムの書き替え機能（例えば、所謂オンラインエディット等）や入出力メモリの書き替え機能（例えば、入出力データの強制セットリセット操作等）を併せて利用することにより、制御対象機器側において最適なスループットが得られるように、ユーザプログラムを改良することも可能となる。
【００９５】
しかも、上記のサイクルタイム一定時間の変更操作は、制御対象機器を運転状態（試運転）に維持したままで行うことができるため、従前のプログラマブル・コントローラにおけるように、変更操作の毎に、制御対象機器を運転状態と停止状態とに切り替えることも不要であるから、運転状態から停止状態への切り替えに伴う時間のかかる前処理動作も不要となり、サイクルタイム一定時間の最適化を短時間で成し遂げることができる。
【００９６】
また、時間調整処理における実サイクルタイムとサイクルタイム一定時間との比較結果を入出力メモリ１２８内に所定の内部フラグを設け、ＰＣ２ａにより監視するようにしてもよい。このような実施形態によれば、運転中にサイクルタイム一定時間を微調整しつつ、その影響を確かめることにより、入出力応答性改善の観点からも最適なサイクルタイム一定時間を見つけ出すこともできる。
【００９７】
サイクルタイム一定時間は、通信ユニット１６を介してツールとして機能するＰＣ２ｂから入力される新たなサイクルタイム一定時間設定値へと変更可能となっている。なお、サイクルタイム一定時間設定値は、通信回路１２５を介してツールとして機能するＰＣ２ａや他のＰＬＣ１から入力されるようにしてもよい。
【００９８】
新たなサイクルタイム一定時間設定値へと変更するための一連の処理を図６から図１０を参照しながら説明する。
【００９９】
図６には、ツールとＰＬＣとの関係を模式的に示す図が示されている。前述したように、本発明においては、ＰＬＣ１の動作モードによってサイクルタイム一定時間設定値の変更が許可されるか否かが決まっている。同図に示されるように、まずツールからＰＬＣ１へ動作モードの読出が行われ、許可されている動作モードの場合にのみサイクルタイム一定時間設定値の書き換えが行われる。ツール及びＰＬＣ１における詳細な処理内容について以下に説明する。
【０１００】
ツールのサイクルタイム一定時間設定値セット処理を示す詳細フローチャートが図７に示されている。同図において、サイクルタイム一定時間設定値セット操作が行われると処理を開始する。サイクルタイム一定時間設定値セット操作は、図１０に示されているサイクルタイム一定時間設定画面において複数の設定項目からユーザが選択する又はツールが自動的に選択することにより行われる。サイクルタイム一定時間設定値の設定項目の内容については後に詳述する。
【０１０１】
図７に戻って、ツールにおける処理が開始されるとＰＬＣ１の動作モードの読出が行われ（ステップ２０１）、ＰＬＣ１の動作モードの判定が行われる（ステップ２０２）。読出されたＰＬＣ１の動作モードがＲＵＮモードであると判定された場合には、サイクルタイム一定時間設定値の書き換えが中止されて処理を終了する（ステップ２０３）。
【０１０２】
一方、読出されたＰＬＣ１の動作モードがＭＯＮモード又はＰＲＧモードであると判定された場合には、サイクルタイム一定時間設定値の書き換え用コマンドを発行し、ＰＬＣ１に対して当該コマンドを送信して処理を終了する（ステップ２０４）。
【０１０３】
サイクルタイム一定時間設定値の書き換え用コマンドをＰＬＣ１が受信すると、所定のタイミングで当該コマンドに対応する処理が実行される。このサイクルタイム一定時間設定値の書き換え処理は、通常、周辺サービス処理を構成する処理の1つとして実行される。ＰＬＣのサイクルタイム一定時間設定値書き換え処理を示す詳細フローチャートが図８に示されている。同図に示されるように、ＰＬＣ１のサイクルタイム一定時間設定値の書き換え処理が開始されると、ＰＬＣ１の動作モードの確認が行われる（ステップ３０１）。
【０１０４】
ＰＬＣ１の動作モードがＲＵＮモードである場合には、サイクルタイム一定時間設定値の書き換えが不可である旨のエラーメッセージが発行されて処理を終了する（ステップ３０２）。一方、ＰＬＣ１の動作モードがＭＯＮモード又はＰＲＧモードである場合には、ワークメモリ１２４内に確保されているサイクルタイム一定時間用レジスタ１２４ａに格納されているサイクルタイム一定時間設定値の書き換えを行い処理を終了する（ステップ３０３）。
【０１０５】
この実施形態においては、当該ＰＬＣに備え付けのツール装置（パソコンやプログラマブル表示器等）、或いは通信ユニット１６を介して接続されるツール装置や他のＰＬＣ１から新たなサイクルタイム一定時間を送り込むことにより、サイクルタイム一定時間の設定変更が可能となる。
【０１０６】
サイクルタイム一定時間は、ＰＬＣ１外部からの設定値のみならず、所定のアルゴリズムにしたがってＰＬＣ内部で自動生成される新たなサイクルタイム一定時間設定値へと変更可能とすることもできる。
【０１０７】
このアルゴリズムは、例えば、システムメモリ１２２内に格納されており、ユーザ指定の条件に従って実サイクルタイムの過去一定期間分の又は一定サイクル数分におけるサンプル値に基づきサイクルタイム一定時間設定値を生成している。アルゴリズムの一例としては、図９の変更タイミングと計算方法の組み合わせをプログラムとして実現することがあげられる。また、ユーザ指定の条件の一例としては、図９の変更タイミングと計算方法の組み合わせをあげることができる。
【０１０８】
このような実施形態によれば、アルゴリズムとして、そのプログラマブル・コントローラに適した、又はその制御対象装置に適したアルゴリズムを任意に採用することにより、その時々の制御状態に適したサイクルタイム一定時間の設定が可能となる。
【０１０９】
図１０におけるサイクルタイム一定時間設定画面の設定項目の詳細な説明が図９に示されている。同図には、サイクルタイム一定時間設定値の変更タイミング及び計算方法が表にして示されている。
【０１１０】
図９（ａ）にはサイクルタイム一定時間設定値の変更タイミングの例が示されている。同図に示されるように、（Ａ）「設定時の値に固定」の設定においては、ユーザの指定によって設定されたサイクルタイム一定時間設定値に変更されると、次にサイクルタイム一定時間設定値が変更されるまでは、現在のサイクルタイム一定時間設定値に固定される。このような設定項目を設けることにより、ユーザが希望するタイミングでサイクルタイム一定時間設定値の設定変更が可能となる。
【０１１１】
一方で、（Ｂ）「実サイクルタイムに応じて変動」の設定においては、ユーザプログラムの変更などの要因で実サイクルタイムが変わり、所定の計算方法に従って新たなサイクルタイム一定時間設定値が生成される度に変更される。このような設定を設けることにより、ＰＬＣ側で自動的にサイクルタイム一定時間設定値の設定変更が可能となる。
【０１１２】
図９（ｂ）にはサイクルタイム一定時間設定値の計算方法の例が示されている。同図に示されるように、計算方法の設定項目には、「ユーザ任意の値」と、「過去からの最大値」と、「基準値内における最大値」とがある。
【０１１３】
「ユーザ任意の値」の設定においては、例えば、図１０に示されるようにユーザ自らが設定値として入力した値をそのままサイクルタイム一定時間設定値とする。
【０１１４】
「過去からの最大値」の設定においては、実サイクルタイムの過去一定期間分の又は一定サイクル数分のサンプル値における最大値をサイクルタイム一定時間設定値とする。この設定においては、突発的に実サイクルタイムが異常に伸びた場合のサンプル値も含まれている。
【０１１５】
この「過去からの最大値」の設定と前述の「実サイクルタイムに応じて変動」の設定とを組み合わせることによって、例えばオンラインエディットによりユーザプログラムの一部書き替え（追加）が行われたような場合には、書き替え後の新たなユーザプログラムに適したサイクルタイム一定時間への設定変更が自動的に可能となり、オンラインエディット操作のたびに、サイクルタイム一定時間設定値の書き替え操作の手間が不要となる。
【０１１６】
「基準値内における最大値」の設定においては、実サイクルタイムの過去一定期間分の又は一定サイクル数分のサンプル値における所定の基準値内の最大値をサイクルタイム一定時間設定値とする。この設定においては、突発的に実サイクルタイムが異常に伸びた場合には、サンプル値で所定の基準値を超えるものを除くことができる。所定の基準値の例としては、過去５００サイクルのサンプル値の９０％が収まる値などがある。
【０１１７】
この「基準値内における最大値」の設定と前述の「実サイクルタイムに応じて変動」の設定とを組み合わせることによって、突発的な低頻度のイベント割込等によりたまたまサンプル値来歴に異常極大値が混入されて、不必要にサイクルタイム一定時間の値が長すぎる値に自動設定され、それにより入出力応答性を極端に害すると言った不都合を回避することができる。
【０１１８】
以上の例においては、入出力リフレッシュ処理は、図３に示されるようにひとつのまとまった処理として説明したが、外部入出力部から入力データを取り込み、これを入出力メモリの入力データ格納領域に書き込む入力リフレッシュ処理と、入出力メモリの出力データ格納領域から出力データを読み込み、これを外部入出力部へと送り出す出力リフレッシュ処理とに分割しても良い。
【０１１９】
この場合の一連の複数のシステム処理には、入力リフレッシュ処理と、出力リフレッシュ処理と、共通処理と、ユーザプログラム実行処理と、周辺サービス処理とが含まれることになる。ここで、入力リフレッシュ処理と出力リフレッシュ処理の順序は逆でも良いし、その間に他のシステム処理を挟んでも良い。例えば、一連の複数個のシステム処理の先頭が出力リフレッシュ処理で、最後尾が周辺サービス処理であっても良く、この場合は、時間調整処理における経過時間の計測対象は、出力リフレッシュ処理の開始時点から周辺サービス処理の終了時点までとなる。
【産業上の利用可能性】
【０１２０】
本発明によれば、制御対象機器を試運転状態のまま、サイクルタイム一定時間を微調整しつつ、制御機器側において最適なスループットが得られるようなサイクルタイム一定時間を探し出して、これを新たなサイクルタイム一定時間として設定することができる。
【符号の説明】
【０１２１】
１ａ  第１のＰＬＣ
１ｂ  第２のＰＬＣ
１ｃ  第３のＰＬＣ
１１  電源ユニット
１２  ＣＰＵユニット
１３  入力ユニット
１４  出力ユニット
１５  特殊ユニット
１６  通信ユニット
２ａ  ＰＣ
２ｂ  ＰＣ
３  ネットワーク
１２１  ＭＰＵ
１２２  システムメモリ
１２３  バックアップメモリ
１２４  ワークメモリ
１２４ａ  サイクルタイム一定時間用レジスタ
１２５  通信回路
１２６  ユーザメモリ
１２７  命令実行ＡＳＩＣ
１２８  入出力メモリ
１２９  Ｉ／Ｏバス
【図１】
2010170536.tif 000003
【図２】
2010170536.tif 000004
【図３】
2010170536.tif 000005
【図４】
2010170536.tif 000006
【図５】
2010170536.tif 000007
【図６】
2010170536.tif 000008
【図７】
2010170536.tif 000009
【図８】
2010170536.tif 000010
【図９】
2010170536.tif 000011
【図１０】
2010170536.tif 000012
【図１１】
2010170536.tif 000013
【図１２】
2010170536.tif 000014
【図１３】
2010170536.tif 000015