JP2023031000A - Programmable controller, control method, and program - Google Patents
Programmable controller, control method, and program Download PDFInfo
- Publication number
- JP2023031000A JP2023031000A JP2021136445A JP2021136445A JP2023031000A JP 2023031000 A JP2023031000 A JP 2023031000A JP 2021136445 A JP2021136445 A JP 2021136445A JP 2021136445 A JP2021136445 A JP 2021136445A JP 2023031000 A JP2023031000 A JP 2023031000A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- period
- time
- programmable controller
- series data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Programmable Controllers (AREA)
Abstract
Description
本発明は、プログラマブルコントローラ、制御方法およびプログラムに関する。 The present invention relates to programmable controllers, control methods and programs.
特許文献1には、プログラマブルコントローラにおいて、ユーザが1実行サイクル時間を、ラダーアプリケーション及びデータ処理に割り当てる比率をカスタマイズできるスケジューリング方法が開示されている。特許文献2および特許文献3には、プログラマブルコントローラにおいて、バッチ処理といわれる一連のプロセスに対し、多変量解析技術を適用する手法について記載されている。
[先行技術文献]
[特許文献]
[特許文献1] 特許第4811260号公報
[特許文献2] 特許第4911055号公報
[特許文献3] 特許第6733164号公報
Patent Literature 1 discloses a scheduling method in which a user can customize the ratio of allocating one execution cycle time to a ladder application and data processing in a programmable controller. Patent Literature 2 and Patent Literature 3 describe a method of applying multivariate analysis technology to a series of processes called batch processing in a programmable controller.
[Prior art documents]
[Patent Literature]
[Patent Document 1] Japanese Patent No. 4811260 [Patent Document 2] Japanese Patent No. 4911055 [Patent Document 3] Japanese Patent No. 6733164
アプリケーションプログラムの処理に影響を与えることなく、プログラマブルコントローラで多変量解析を実現させることが望まれている。 It is desired to realize multivariate analysis with a programmable controller without affecting the processing of application programs.
本発明の一態様に係るプログラマブルコントローラは、一サイクル内の第1期間内でアプリケーションプログラムのタスクを実行し、一サイクル内の第2期間内でアプリケーションプログラム以外のタスクを実行する実行部を備えてよい。実行部は、第1期間内で、診断対象の状態を示す時系列データの入力を受け付ける入力処理を実行し、第2期間内で、入力処理により受け付けられた時系列データを記憶部に蓄積させる蓄積処理、及び蓄積処理で記憶部に蓄積された時系列データに基づいて診断対象の状態を診断する診断処理の少なくとも一部を実行してよい。 A programmable controller according to one aspect of the present invention includes an execution unit that executes a task of an application program within a first period of one cycle and executes a task other than the application program within a second period of one cycle. good. The execution unit executes an input process for accepting an input of time-series data indicating a state of a diagnostic target within the first period, and accumulates the time-series data accepted by the input process in the storage unit during the second period. Accumulation processing and at least a part of diagnosis processing for diagnosing the state of a diagnosis target based on the time-series data accumulated in the storage unit in the accumulation processing may be executed.
実行部は、複数のサイクルに亘って、それぞれのサイクルの第2期間内で、蓄積処理及び診断処理を実行することで、複数のサイクルで診断対象の状態の一回の診断を実行してよい。 The execution unit may perform a single diagnosis of the condition to be diagnosed over multiple cycles by performing the accumulation process and the diagnosis process within the second period of each cycle over multiple cycles. .
診断処理は、蓄積処理により記憶部に予め定められた量の時系列データが蓄積されると、予め定められた量の時系列データを診断するためのデータ形式に変換する前処理と、前処理で処理された時系列データに基づいて多変量解析処理を実行する解析処理と、解析処理の解析結果に基づいて診断対象の状態が正常か否かを判定する判定処理とを含んでよい。 When a predetermined amount of time-series data is accumulated in the storage unit by the accumulation process, the diagnosis process includes pre-processing of converting the predetermined amount of time-series data into a data format for diagnosis; Analysis processing for executing multivariate analysis processing based on the time-series data processed in , and determination processing for determining whether or not the state of the diagnosis target is normal based on the analysis result of the analysis processing.
実行部は、第2期間内で、時系列データのうち診断対象の状態が正常であることを示す時系列データに基づいて解析処理で利用される診断モデルを生成する生成処理を実行してよい。 Within the second period, the execution unit may execute generation processing for generating a diagnostic model to be used in the analysis processing based on time-series data indicating that the state of the diagnosis target is normal among the time-series data. .
実行部は、第2期間内の解析処理が実行されていない間に、生成処理により生成された診断モデルで、解析処理で利用される診断モデルを更新する更新処理を実行してよい。 The execution unit may perform update processing for updating the diagnostic model used in the analysis process with the diagnostic model generated by the generation process while the analysis process is not being performed within the second period.
実行部は、更新処理を、前処理の開始前に実行してよい。 The execution unit may execute the update processing before starting the preprocessing.
実行部は、第1期間内で、診断対象に関係する被制御装置に対する制御処理を実行し、診断処理は、判定処理による判定結果を制御処理に通知する通知処理を含んでよい。 The execution unit may execute control processing for the controlled device related to the diagnosis target within the first period, and the diagnosis processing may include notification processing for notifying the control processing of the determination result of the determination processing.
蓄積処理及び診断処理は、少なくとも1つのファンクションブロックで構成されてよい。 The accumulation process and diagnostic process may consist of at least one function block.
プログラマブルコントローラは、一サイクル内で占める第1期間及び第2期間のそれぞれの割合を特定する情報を受け付ける受付部をさらに備えてよい。実行部は、情報に基づいて、第1期間及び第2期間の長さを調整してよい。 The programmable controller may further include a reception unit that receives information specifying the respective ratios of the first period and the second period occupied within one cycle. The execution unit may adjust the lengths of the first period and the second period based on the information.
診断処理は、予め定められたサイクル数内に、診断対象の状態の一回の診断を完了できなかった場合、その旨のメッセージを出力する出力処理を含んでよい。 The diagnosis process may include an output process of outputting a message to that effect if one diagnosis of the state to be diagnosed cannot be completed within a predetermined number of cycles.
実行部は、メッセージに応じて、一サイクル内で占める第2期間の割合が増加するように、第1期間及び第2期間の長さを調整してよい。 The execution unit may adjust the lengths of the first period and the second period according to the message so that the proportion of the second period within one cycle increases.
アプリケーションプログラム以外のタスクは、プログラマブルコントローラを管理する管理装置との間のデータ通信処理のタスクを含んでよい。 Tasks other than the application program may include data communication processing tasks with a management device that manages the programmable controller.
本発明の一態様に係る制御方法は、プログラマブルコントローラを制御する制御方法でよい。制御方法は、一サイクル内の第1期間内でアプリケーションプログラムのタスクを実行し、一サイクル内の第2期間内でアプリケーションプログラム以外のタスクを実行する実行段階を備えてよい。実行段階は、第1期間内で、診断対象の状態を示す時系列データの入力を受け付ける入力処理を実行する段階を含んでよい。実行段階は、第2期間内で、入力処理により受け付けられた時系列データを記憶部に蓄積させる蓄積処理、及び蓄積処理で記憶部に蓄積された時系列データに基づいて診断対象の状態を診断する診断処理の少なくとも一部を実行する段階を含んでよい。 A control method according to an aspect of the present invention may be a control method for controlling a programmable controller. The control method may comprise executing a task of an application program within a first period of time within a cycle and executing a task other than the application program within a second period of time within a cycle. The execution step may include executing an input process for receiving input of time-series data indicating the state of the diagnostic target within the first period. The execution stage includes, within the second period, an accumulation process for accumulating the time-series data received by the input process in the storage unit, and diagnosing the state of the diagnosis target based on the time-series data accumulated in the storage unit in the accumulation process. performing at least a portion of the diagnostic process.
本発明の一態様に係るプログラムは、プログラマブルコントローラとしてコンピュータを機能させるためのプログラムでよい。プログラムは、一サイクル内の第1期間内でアプリケーションプログラムのタスクを実行し、一サイクル内の第2期間内でアプリケーションプログラム以外のタスクを実行する実行段階をコンピュータに実行させてよい。実行段階は、第1期間内で、診断対象の状態を示す時系列データの入力を受け付ける入力処理を実行する段階を含んでよい。実行段階は、第2期間内で、入力処理により受け付けられた時系列データを記憶部に蓄積させる蓄積処理、及び蓄積処理で記憶部に蓄積された時系列データに基づいて診断対象の状態を診断する診断処理の少なくとも一部を実行する段階を含んでよい。 A program according to one aspect of the present invention may be a program for causing a computer to function as a programmable controller. The program may cause the computer to perform an execution phase of executing tasks of the application program within a first period of time within a cycle and executing tasks other than the application program within a second period of time within a cycle. The execution step may include executing an input process for receiving input of time-series data indicating the state of the diagnostic target within the first period. The execution stage includes, within the second period, an accumulation process for accumulating the time-series data received by the input process in the storage unit, and diagnosing the state of the diagnosis target based on the time-series data accumulated in the storage unit in the accumulation process. performing at least a portion of the diagnostic process.
なお、上記の発明の概要は、本発明の特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。 It should be noted that the above summary of the invention does not list all the features of the invention. Subcombinations of these feature groups can also be inventions.
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。 Hereinafter, the present invention will be described through embodiments of the invention, but the following embodiments do not limit the invention according to the claims. Also, not all combinations of features described in the embodiments are essential for the solution of the invention.
図1は、プログラマブルコントローラが適用されるシステム10の構成の一例を示す。システム10は、工場またはプラント等の産業施設において用いられてよい。システム10は、ファクトリーオートメーションの少なくとも一部として用いられてよい。プログラマブルコントローラは、産業施設の生産ラインの制御及び工作機械の制御を行う。
FIG. 1 shows an example configuration of a
システム10は、CPUモジュール100、機能モジュール200、I/Oモジュール300、管理装置400、被制御装置250、及び被制御装置350を備える。CPUモジュール100は、被制御装置250、及び被制御装置350を制御するための演算処理を行う。機能モジュール200は、予め定められた特定の処理を行う機能を有する。機能モジュール200は、例えば、モータ等のアクチュエータを制御するためのサーボアンプまたはインバータ等の機能を有する。I/Oモジュール300は、CPUモジュール100へのデータの入出力を行う。管理装置400は、CPUモジュール100の設定等を支援する。CPUモジュール100、機能モジュール200、及びI/Oモジュール300は、それぞれ異なる機能を有するプログラマブルコントローラである。
The
管理装置400は、一般的なパソコン上のソフトウェアとして構成されてよい。管理装置400は、プログラマブルコントローラを管理する専用の装置でもよい。ここでは便宜上、ソフトウェアを管理するパソコンも含めて管理装置400と呼称する。管理装置400とCPUモジュール100とは、RS-232CまたはUSB等の通信ケーブルを用いて接続されている。
The
また、CPUモジュール100と、機能モジュール200と、I/Oモジュール300とは、互いにネットワーク接続されており、互いに入出力データの転送及びメッセージ通信を行う。
The
被制御装置250、及び被制御装置350は、制御対象の機器である。被制御装置250、及び被制御装置350は、例えば産業機械であってよい。被制御装置250、及び被制御装置350は、モータ、エンコーダ、ポンプ、バルブ、カメラ、各種センサ等であってよい。
The controlled
CPUモジュール100、機能モジュール200及びI/Oモジュール300は、ユーザが制御したいシステムの規模または構成によって自由に取捨選択可能である。ユーザは管理装置400を用いて、システムの構成設定、各モジュールの動作設定を行う。また、ユーザは管理装置400を用いて、ラダー図等により制御用のアプリケーションプログラムを作成し、作成されたアプリケーションプログラムをCPUモジュール100にダウンロードする。
The
図2は、CPUモジュール100のハードウェア構成の一例を示す。CPUモジュール100は、CPU102、ドライバ/レシーバ104、バスコントローラ106、フラッシュメモリ108、プログラムメモリ110、及びデータメモリ112を備える。ドライバ/レシーバ104は、管理装置400と接続するためのRS422、またはUSB等でよい。バスコントローラ106は、ネットワークに接続され、機能モジュール200、及びI/Oモジュール300との間の通信を制御する。フラッシュメモリ108は、CPUモジュール100のシステム処理(CPUモジュール100のシステム管理、通信処理、故障情報収集等)用のプログラム及び制御用のアプリケーションプログラムを格納する。プログラムメモリ110は、CPU102がシステム処理及びアプリケーションプログラムをより高速に実行するために、フラッシュメモリ108からプログラムをブートし実行するためのメモリである。データメモリ112は、プログラムで使用されるデータを格納する。CPU102は、プログラムメモリ110上のプログラム、データメモリ112上のデータを利用して、各種演算を行う。CPU102は、実行部の一例である。データメモリ112は、記憶部の一例である。
FIG. 2 shows an example of the hardware configuration of the
図2に示すハードウェア構成は、CPUモジュール100の機能の一部を模式的に示したものに過ぎず、この構成に限定されない。CPUモジュール100は、例えば、電源回路、リセット回路、取り外し可能な外部記憶装置とのインタフェース等をさらに備えてよい。また、システム10が複数のCPUモジュール100を備える場合、すべてのCPUモジュール100が図2に示すハードウェア構成でなくてもよい。例えば、プログラムメモリ110は、より高速なSDRAMでよく、あるいはCPU102にRAMが内蔵されていてもよい。
The hardware configuration shown in FIG. 2 merely schematically shows part of the functions of the
前述のように構成されるCPUモジュール100は、一定周期(スキャン周期)において、機能モジュール200及びI/Oモジュール300から、ネットワーク経由で入力データを収集する。CPUモジュール100は、入力データに基づき制御用のアプリケーションプログラムを実行し、アプリケーションプログラムの実行結果に基づく出力データを、ネットワーク経由で機能モジュール200及びI/Oモジュール300へと出力する。
The
ここで、機能モジュール200及びI/Oモジュール300に接続された被制御装置250、及び被制御装置350を精密に制御するために、前述のネットワーク経由での入出力処理が正確に、高速且つ一定の周期で行われることが望ましい。
Here, in order to precisely control the controlled
通常、プログラマブルコントローラは、制御用のアプリケーションプログラムの実行を最優先で処理する。したがって、それ以外の処理は、1実行サイクル中において、アプリケーションプログラムの実行終了後の残り時間で実行されるのが一般的である。 A programmable controller usually gives top priority to the execution of a control application program. Therefore, other processes are generally executed in the remaining time after the execution of the application program is finished during one execution cycle.
近年、ファクトリーオートメーション(FA)分野において、加工品の不具合及び装置の異常の早期検出のために、プログラマブルコントローラへの多変量解析技術の適用ニーズがある。プログラマブルコントローラのアプリケーションプログラムは、被制御装置250、及び被制御装置350の制御を高速且つ一定周期で行う必要がある。一方、プログラマブルコントローラに多変量解析技術を適用する場合、多変量解析では、正常な入力パターンから診断モデルを生成し、この診断モデルに対して入力データを与えた上で、高度な行列演算を実行する。アプリケーションプログラムと比較して、多変量解析は、診断結果を得るまえの処理に多大な演算時間を必要とする。また、多変量解析においては、解析結果を得るために再帰的演算を行う理由から、その診断結果までの時間が確定的に決まらないことがある。このため、多変量解析による診断処理を制御用のアプリケーションプログラム内で実装した場合、アプリケーションプログラムの処理周期が大きく変動してしまう場合がある。
In recent years, in the field of factory automation (FA), there is a need to apply multivariate analysis technology to programmable controllers for early detection of defects in processed products and abnormalities in equipment. The application program of the programmable controller needs to control the controlled
そこで、実施形態においては、多変量解析による診断機能を、後述の図5に示すような、複数の機能(蓄積処理608、前処理612、解析処理614、判定処理616、及び通知処理618)に分解する。このように分解された機能のうち、蓄積処理608のためのデータ入力をアプリケーションプログラムで実行し、前処理612、解析処理614及び判定処理616といった時間のかかる処理は、後述のデータ処理で行うようにする。このように診断機能を分解することで、アプリケーションプログラムの処理周期への影響を入力データのコピー時間程度に抑えた状態で、プログラマブルコントローラでの多変量解析機能を実現できるようになる。
Therefore, in the embodiment, the diagnosis function by multivariate analysis is divided into a plurality of functions (
図3は、プログラマブルコントローラのソフトウェア構造の一例を示す。リアルタイムOS160は、ハードウェア162上で動作する。リアルタイムOS160は、帯域管理層158を1つの処理系として呼び出し、その中で、アプリケーションスケジューラ156とデータ処理152とが呼び出される。帯域管理層158は、ユーザ指定のパラメータに従い、1実行サイクルのうち、アプリケーションスケジューラ156とデータ処理152とに割り当てられる時間をそれぞれの時間配分比率で設定する。アプリケーションスケジューラ156は、帯域管理層158が設定した実行時間比率に従って、ユーザアプリケーションプログラム150の処理を行い、残った時間をデータ処理152が使用する。データ処理152においては、データ通信処理、データ転送処理、故障データ収集処理等と共に、多変量解析処理が実行される。これにより、1実行サイクル中のアプリケーションプログラムと多変量解析処理との時間配分をユーザが指定可能となる。また、基本システム154は、イニシャル処理及びシステム維持処理等のプログラマブルコントローラとしてシステムを動作させるための処理に属する処理を含む。アプリケーション動作開始後に基本システム154に属する処理を行う時は、基本システム154をデータ処理152の帯域の中で動作させる。
FIG. 3 shows an example of the software structure of the programmable controller. Real-
帯域管理層158の時間配分比率は、ユーザが管理装置400から変更する。時間配分比率とは、1実行サイクル時間のうち、帯域管理層158に割り当てられる実行サイクル時間を、アプリケーションスケジューラ156とデータ処理152との間でどのように時間配分するかを指定するパラメータである。ユーザは、全体の実行サイクル時間と、ユーザアプリケーションプログラム150の実行時間及びデータ処理152の実行時間とを勘案し、システムに合った時間配分比率を設定する。
The user changes the time allocation ratio of the
図4は、プログラマブルコントローラにおけるタスク処理スケジューリングを説明する図である。プログラマブルコントローラは、実行部に相当するCPU102を備える。縦軸にタスクの優先度、横軸に経過時間を示す。1実行サイクル時間は、ユーザアプリケーションプログラム150のタスクが実行される期間501と、ユーザアプリケーションプログラム150以外のタスクが実行される期間502とを含む。ユーザアプリケーションプログラム150以外のタスクは、データ処理152のタスクを含む。期間501は、第1期間の一例であり、期間502は、第2期間の一例である。
FIG. 4 is a diagram for explaining task processing scheduling in a programmable controller. The programmable controller has a
1実行サイクル時間は、ユーザアプリケーションプログラム150を実行管理するアプリケーションスケジューラ156によるタスク、データ処理152によるタスクに割り当てられている。CPU102は、これらのタスクを実行する。優先度の最上位には、OSまたは高位のハードウェアの割り込み処理540等がある。そのすぐ下位の優先度に、アプリケーションスケジューラ156によりスケジューリングされたユーザアプリケーションプログラム150のタスクがある。
One execution cycle time is assigned to tasks by the
CPU102は、ユーザアプリケーションプログラム150のタスクを、ユーザアプリケーションプログラム150に割り当てられた期間501内で、優先度の高い順であるタスクa510、タスクb512、タスクc514の順で実行する。CPU102は、ユーザアプリケーションプログラム150のタスクの実行を終えると、データ処理152のタスクを、データ処理152に割り当てられた期間502内で優先度の高い順であるタスクA520、タスクB522の順で実行する。データ処理152のタスクは、CPUモジュール100を管理する管理装置400との間のデータ通信処理のタスクを含む。
The
例えば、ユーザが1実行サイクル時間のうち、データ処理152を優先させたカスタマイズを行う場合、期間502の配分比率を大きく設定する。その場合、ユーザアプリケーションプログラム150に割り当てられる期間501は相対的に短くなる。ユーザアプリケーションプログラム150の期間501が短くなったことにより、実行されなかった残りの実行処理は次の1実行サイクルで処理されることになる。制御が位置決め等を行うリアルタイム制御の場合は、ユーザアプリケーションプログラム150の期間501を大きく設定することで、位置決め性能を発揮できる。制御がプログラムコントローラで収集したデータを画面に表示する監視系システムの場合は、データ処理152の期間502を大きく設定することで、画面表示/更新性能を向上できる。
For example, when the user performs customization by prioritizing the
図5は、多変量解析による診断フローの一例を示す。実施形態において、多変量解析は、ユーザアプリケーションプログラム150のフロー700及びデータ処理152のフロー600で構成される。CPU102は、ユーザアプリケーションプログラム150のフロー700を、タスクに細分化されて期間501内で実行する。CPU102は、データ処理152のフロー600を、タスクに細分化されて期間502内で実行する。
FIG. 5 shows an example of a diagnosis flow by multivariate analysis. In an embodiment, the multivariate analysis comprises
CPU102は、時系列データ収集開始指令702を実行して、時系列データ収集の開始指令をトリガとして、ユーザアプリケーションプログラム150のフロー700を開始する。CPU102は、期間501において、機能モジュール200及びI/Oモジュール300から診断対象の状態を示す時系列データの入力を受け付ける入力処理704を実行する。入力処理704は、後述のファンクションブロックで構成されてよい。診断対象は、製造ラインにおける加工品などのワーク、CPUモジュール100により制御される被制御装置250、または被制御装置350でよい。時系列データとは、各種センサ値、サーボアンプからの速度またはトルク等のスキャン周期ごとに変化するデータである。CPU102は、受け付けた時系列データを、データ処理152のフロー600における蓄積処理608に渡す。入力処理704は、機能モジュール200及びI/Oモジュール300からの時系列データをバッファに蓄積せず、順次、蓄積処理608に出力する処理を実行する。
The
期間502において、CPU102は、データ処理152のフロー600を開始する。CPU102は、期間502内で蓄積処理608、及び診断処理610の少なくとも一部を実行する。蓄積処理608は、入力処理704により受け付けられた時系列データをデータメモリ112に蓄積させる。診断処理610は、蓄積処理608でデータメモリ112に蓄積された時系列データに基づいて診断対象の状態を診断する。診断処理610は、前処理612、解析処理614、判定処理616、及び通知処理618を含む。
During
前処理612は、予め定められた量の時系列データを、診断するためのデータ形式に変換する。解析処理614は、前処理612で処理された時系列データに基づいて多変量解析処理を実行する。解析処理614は、予め定められたアルゴリズムに従って多変量解析処理を実行することで、診断対象の状態を示す値、例えば、Q統計量(Q値)及びT2統計量(T2値)を出力してよい。判定処理616は、解析処理614の解析結果に基づいて診断対象の状態が正常か否かを判定する。判定処理616は、診断対象の状態を示す値と閾値とを比較することで、診断対象の状態が正常か否かを判定してよい。判定処理616は、診断対象の状態を示す値が診断モデルに従った閾値範囲内に収まるか否かを判定することで、診断対象の状態が正常か否かを判定してよい。CPU102は、複数の実行サイクルに亘って、それぞれの実行サイクルの期間502内で、蓄積処理608及び診断処理610を実行することで、複数の実行サイクルで診断対象の状態の一回の診断を実行してよい。
CPU102は、診断初期化602を実行して、診断処理プログラムの初期化を開始する。次いで、CPU102は、モデル読み込み604を実行して、データメモリ112から診断モデルを読み込む。次いで、CPU102は、時系列データ収集の開始指令が出力されたか否かで、診断プログラムの時系列データ収集を開始するタイミングか否かを判定する(606)。診断プログラムの時系列データ収集を開始するタイミングであれば、CPU102は、蓄積処理608において、入力処理704からの時系列データを、データメモリ112に順次蓄積させる。CPU102は、診断に必要なデータ数としての予め定められた量の時系列データがデータメモリ112に蓄積されたか否かを判定する(609)。予め定められた量の時系列データが蓄積されたら、CPU102は、前処理612を行う。より具体的には、CPU102は、時系列データに対し欠損データの補完、周波数成分への変換(FFT)等の、診断データに成形するための前処理612を行う。その後、CPU102は、診断データに基づき、単変量解析、2変量解析といった多変量解析を行う。最終的に、CPU102は、被制御装置250、及び被制御装置350の動作または加工品が正常か異常かの判定処理616を行い、判定結果としての診断結果を通知する通知処理618を行う。
The
CPU102は、1実行サイクル内で、蓄積処理608から通知処理618までの一回の診断を構成する一連の処理を終了できない場合は、複数の実行サイクルに亘り、それぞれの期間502内で一連の処理を実行することで、一回の診断を行う。一連の処理が終了するまでの時間があまりに長いと、診断結果を被制御装置250、及び被制御装置350の動作に反映させるまでに時間がかかってしまう。すなわち、被制御装置250、及び被制御装置350の動作に不具合があることを発見するまでの時間が長くなってしまう可能性がある。この場合、例えば、不良品の数が増大する可能性がある。
If the
そこで、CPU102が予め定められた実行サイクル数内で、一回の診断を完了できなかった場合は、CPU102は、一回の診断処理が完了した時点で、または診断処理の途中で、その旨のメッセージを出力する出力処理を実行してよい。出力処理は、後述のファンクションブロックで構成されてよい。ユーザは、当該メッセージに応じて、1実行サイクル内に占める期間502の割合を増加させるべく、新たなパラメータを指定できる。新たなパラメータを指定した場合、CPU102は、新たなパラメータに従い期間501及び期間502の長さを調整する。これにより、診断結果を被制御装置250、及び被制御装置350の動作に反映させるまでの時間を短縮でき、例えば、不良品の数の増大を抑制できる。予め定められた実行サイクル数内で、一回の診断を完了できなかったことを示すメッセージが出力された場合、CPU102は、メッセージに応じて、一サイクル内で占める期間502の割合が増加するように、期間501及び期間502の長さを調整してよい。CPU102は、予め定められた割合、期間502の長さが長くなるように、期間501及び期間502の長さを調整してよい。CPU102は、予め定められた割合を、一連の処理が終了するまでに要した実行サイクル数に基づいて設定してよい。CPU102は、一連の処理が終了するまでに要した実行サイクル数に比例して大きくなるように、予め定められた割合を設定してよい。
Therefore, if the
ユーザアプリケーションプログラム150から、データ処理152における蓄積処理608に渡す時系列データの入力処理704は、ファンクションブロックで構成されてよい。
ファンクションブロック(以下、FB)とは、IEC61131-3で規定されているプログラマブルコントローラ用のプログラミング言語仕様のうちのプログラム構成要素の1つである。FBはシーケンスプログラム中で繰り返し処理されるプログラムを部品化し、再利用可能としたものである。FBは呼び出し毎に必要なパラメータのすべてを入力するファンクションとは異なり、入力パラメータに加え、内部保持されたデータを用いて演算を行うことができるのが特徴である。 A function block (hereinafter referred to as FB) is one of program components in programming language specifications for programmable controllers defined in IEC61131-3. An FB is a program that is repeatedly processed in a sequence program and is made reusable by componentizing it. FB is characterized by being able to perform calculations using internally held data in addition to input parameters, unlike functions that input all necessary parameters for each call.
また、蓄積処理608、前処理612、解析処理614、判定処理616、通知処理618は、少なくとも1つのFBで構成されてよい。蓄積処理608、前処理612、解析処理614、判定処理616、通知処理618は、それぞれFBで構成されてよい。蓄積処理608をFBで構成すれば、スキャン周期毎に呼び出される蓄積処理608に、前回の呼び出しまでの入力値と、今回入力された値とを記録することが可能となる。CPU102は、診断を実行するスキャンサイクル分の時系列データが蓄積されたら、以降の前処理612、解析処理614、及び判定処理616を実行する。
Also, the
通知処理618に関しては、プログラマブルコントローラを停止する、LED等の外部表示機器へ通知するといった方法も考えられる。しかしながら、通知処理618自体もFBで構成することで、ユーザアプリケーションプログラム150側の制御処理706受け取った診断結果を、ユーザアプリケーションプログラム150による制御に反映することが可能となる。例えば、加工品の不良を診断する場合、ユーザアプリケーションプログラム150の処理中に診断結果をフィードバックすることで、タイムリーに加工不良品を分別することが可能となる。
Regarding the
CPU102は、期間501内で、診断対象に関係する被制御装置250、350に対する制御処理706をユーザアプリケーションプログラム150において実行する。制御処理706は、生産ラインで駆動するモータ等のアクチュエータを制御する処理でよい。制御処理706は、少なくとも1つのFBで構成されてよい。前述のフィードバックのために、CPU102は、判定処理616による判定結果である診断結果を、ユーザアプリケーションプログラム150で実行される制御処理706に対し通知する通知処理618を実行してよい。通知処理618もFBで構成されてよい。CPU102は、制御処理706において、診断結果に従って、生産ラインで駆動するモータ等のアクチュエータを制御して、加工不良品を分別する処理を実行してよい。
The
診断モデルを用いた多変量解析による診断機能をプログラマブルコントローラに搭載する場合、ユーザアプリケーションプログラム150の負荷と比して、診断機能の負荷が高いと、診断機能の実行に時間がかかることが想定される。そこで、CPU102は、1実行サイクル内で占める期間501及び期間502のそれぞれの割合を特定する割合情報を受け付ける受付部としても機能してよい。受付部は、時間配分比率を特定するユーザ指定のパラメータを、割合情報として受け付けてよい。CPU102は、ユーザから受け付けられたパラメータに基づき、期間501及び期間502の長さを調整してよい。これにより、ユーザはユーザアプリケーションプログラム150とデータ処理152の時間配分比率を最適に指定できる。
When a programmable controller is equipped with a diagnostic function based on multivariate analysis using a diagnostic model, if the load of the diagnostic function is high compared to the load of the
一般に、診断モデルの生成については、複数回の正常な加工パターンのデータをまとめて、正常データに基づき診断モデル生成を行う。例えば、ユーザがシステム運用前に予め図1の管理装置400等を用いて、手動で診断モデルの生成を行い、生成した診断モデルをCPUモジュール100にダウンロードしておくことが考えらえる。ユーザは運用開始時点において、診断モデルをCPUモジュール100に読み込み、診断モデルを多変量解析の診断に使用することになる。しかしながら、モデル生成処理を、モデル生成用データ蓄積処理及びモデル生成処理に機能分割した上で、CPUモジュール100のデータ処理で行うようにすれば、モデル生成処理機能をCPUモジュール100に実装可能である。
In general, for generation of a diagnostic model, a diagnostic model is generated based on the normal data obtained by gathering data of a plurality of normal machining patterns. For example, it is conceivable that the user manually generates a diagnostic model using the
診断モデルは、加工対象の製品が変わる、あるいは装置の刃具が変わる等すれば、影響を受け、診断モデルの変更が必要になろう。前述のような変更については、ユーザは変更自体を認識可能である。そのような変更の都度、診断モデルを手動で生成し直すことは可能である。しかしながら、装置周辺の温度、湿度等の環境要素の変化または使用中の生産ライン上の刀具若しくは可動部品の経年劣化は、比較的緩やかな変動であるため、ユーザは認識しづらい。そのため、環境要素の変化または経年劣化等の要因による診断モデルの更新をユーザが実施することは困難である。 If the product to be processed is changed, or if the cutting tools of the equipment are changed, the diagnostic model will be affected and will need to be changed. For changes such as those described above, the user can perceive the changes themselves. It is possible to manually regenerate the diagnostic model after each such change. However, changes in environmental factors such as temperature and humidity around the apparatus, or deterioration over time of cutting tools or movable parts on the production line in use are relatively gradual changes, and are difficult for users to perceive. Therefore, it is difficult for the user to update the diagnostic model due to factors such as changes in environmental factors or deterioration over time.
そこで、実施形態においては、CPU102は、期間502内で、時系列データのうち診断対象の状態が正常であることを示す時系列データに基づいて解析処理614で利用される診断モデルを生成する生成処理628を実行する。生成処理628は、重回帰分析、主成分回帰、部分最小二乗法(PLS)、自己回帰(AR)モデル、ベクトル自己回帰(VAR)モデル等の予め定められたアルゴリズムに従って、正常であることを示す時系列データを用いて診断モデルを生成してよい。
Therefore, in the embodiment, within the
CPU102は、期間502内の解析処理614が実行されていない間に、生成処理628により生成された診断モデルで、解析処理614で利用される診断モデルを更新する更新処理630を実行してよい。これにより、解析処理614で現在利用中の診断モデルが、解析の途中で更新されることで、正常に解析できなくなることを防止できる。前処理612の開始前であれば、解析処理614は実行されていないので、CPU102は、更新処理630を、前処理612の開始前に実行してよい。
図6は、診断モデルの生成及び更新のフローの一例を示す。CPU102は、期間501内に、時系列データ収集開始指令710を実行して、時系列データ収集の開始指令をトリガとして、診断モデルの生成及び更新のフローを開始する。CPU102は、期間501内に、機能モジュール200及びI/Oモジュール300から診断対象の状態を示す時系列データの入力を受け付ける入力処理712を実行する。入力処理704は、後述のファンクションブロックで構成されてよい。
FIG. 6 shows an example of a diagnostic model generation and update flow. The
CPU102は、期間502内に、診断モデル生成初期化620を実行して、診断モデル生成プログラムの初期化を開始する。次いで、CPU102は、時系列データ収集の開始指令が出力されたか否かで、診断モデル生成の時系列データ収集を開始するタイミングか否かを判定する(622)。診断モデル生成の時系列データ収集を開始するタイミングであれば、CPU102は、期間502内で、モデル生成用データ蓄積処理624を実行して、入力処理712から受け取った時系列データの中から、診断処理610における判定処理616により正常と判定された時系列データをデータメモリ112に蓄積する。CPU102は、1回分の時系列データとして予め定められた量の時系列データが蓄積されたか否かを判定する(626)。さらに、CPU102は、予め定められた回数分の時系列データがデータメモリ112に蓄積されたか否かを判定する(627)。CPU102は、予め定められた回数分の時系列データが蓄積された段階で、診断モデルの生成に必要な予め定められた量の時系列データが蓄積されたと判定する。
診断モデルの生成に必要な予め定められた量の時系列データが蓄積されると、CPU102は、生成処理628を実行する。CPU102は、生成処理628において、診断処理610における判定処理616で正常と判定された時系列データを用いて、解析処理614で用いられる診断モデルを随時生成する。
When a predetermined amount of time-series data necessary for generating a diagnostic model has been accumulated,
CPU102は、解析処理614が実行されていないタイミングにおいて、更新処理630を実行する。例えば、CPU102は、前処理612の開始前のタイミングにおいて、更新処理630を実行する。CPU102は、例えば、生成処理628で新たな診断モデルの生成が完了した時点で、生成完了フラグを立てる。また、CPU102は、現在使用中の診断モデルを用いた解析処理614が完了した時点で、解析完了フラグを立てる。CPU102は、生成完了フラグ及び解析完了フラグが共に立っている場合、更新処理630を実行する。このように逐次診断モデルを更新することで、CPUモジュール100は、常に最適な診断モデルを用いて、制御システムの運用を行うことができる。
The
診断モデル生成の実際の適用においては、例えば、品質トレーサビリティの観点から、加工ロットに応じて診断モデルを更新してよい。また、診断モデルの変更日時と適用した診断モデルデータを保存するといった対応を行ってもよい。また、万が一、適用した診断モデルの判定結果が不適切な場合に、以前使用していた診断モデルへロールバックする機能を用いてもよい。 In the actual application of diagnostic model generation, for example, from the viewpoint of quality traceability, the diagnostic model may be updated according to the processing lot. In addition, the change date and time of the diagnostic model and the applied diagnostic model data may be saved. Also, in the unlikely event that the judgment result of the applied diagnostic model is inappropriate, a function of rolling back to the previously used diagnostic model may be used.
図7は、本発明の複数の態様が全体的または部分的に具現化してよいコンピュータ1200の一例を示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200に、本発明の実施形態に係る装置に関連付けられるオペレーションまたは当該装置の1または複数の「部」として機能させることができる。または、当該プログラムは、コンピュータ1200に当該オペレーションまたは当該1または複数の「部」を実行させることができる。当該プログラムは、コンピュータ1200に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
FIG. 7 illustrates an
本実施形態によるコンピュータ1200は、CPU1212、及びRAM1214を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、入力/出力ユニットを含み、それらは入力/出力コントローラ1220を介してホストコントローラ1210に接続されている。コンピュータ1200はまた、ROM1230を含む。CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。
通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブが、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納してよい。ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/またはコンピュータ1200のハードウェアに依存するプログラムを格納する。プログラムが、CR-ROM、USBメモリまたはICカードのようなコンピュータ可読記録媒体またはネットワークを介して提供される。プログラムは、コンピュータ可読記録媒体の例でもあるRAM1214、またはROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ1200の使用に従い情報のオペレーションまたは処理を実現することによって構成されてよい。
例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、またはUSBメモリのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
For example, when communication is performed between the
また、CPU1212は、USBメモリ等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
The
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
Various types of information, such as various types of programs, data, tables, and databases, may be stored on recording media and subjected to information processing.
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ1200上またはコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
The programs or software modules described above may be stored in a computer-readable storage medium on or near
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよい。その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(RTM)ディスク、メモリスティック、集積回路カード等が含まれてよい。 A computer-readable medium may include any tangible device capable of storing instructions for execution by a suitable device. As a result, a computer-readable medium having instructions stored thereon provides an article of manufacture that includes instructions that can be executed to create means for performing the operations specified in the flowchart or block diagram. Examples of computer-readable media may include electronic storage media, magnetic storage media, optical storage media, electromagnetic storage media, semiconductor storage media, and the like. More specific examples of computer readable media include floppy disks, diskettes, hard disks, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory), Electrically Erasable Programmable Read Only Memory (EEPROM), Static Random Access Memory (SRAM), Compact Disc Read Only Memory (CD-ROM), Digital Versatile Disc (DVD), Blu-ray (RTM) Disc, Memory Stick, Integration Circuit cards and the like may be included.
コンピュータ可読命令は、1または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードの何れかを含んでよい。ソースコードまたはオブジェクトコードは、従来の手続型プログラミング言語を含む。従来の手続型プログラミング言語は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語または同様のプログラミング言語でよい。コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供されてよい。プロセッサまたはプログラマブル回路は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。 The computer readable instructions may comprise either source code or object code written in any combination of one or more programming languages. Source code or object code includes conventional procedural programming languages. Traditional procedural programming languages include assembler instructions, Instruction Set Architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state setting data, or Smalltalk, JAVA, C++. etc., and the "C" programming language or similar programming languages. Computer readable instructions may be transferred to a processor or programmable circuitry of a general purpose computer, special purpose computer, or other programmable data processing apparatus, either locally or over a wide area network (WAN), such as a local area network (LAN), the Internet, or the like. ) may be provided via A processor or programmable circuit may execute computer readable instructions to produce means for performing the operations specified in the flowcharts or block diagrams. Examples of processors include computer processors, processing units, microprocessors, digital signal processors, controllers, microcontrollers, and the like.
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
Although the present invention has been described above using the embodiments, the technical scope of the present invention is not limited to the scope described in the above embodiments. It is obvious to those skilled in the art that various modifications and improvements can be made to the above embodiments. It is clear from the description of the scope of claims that forms with such modifications or improvements can also be included in the technical scope of the present invention.
The execution order of each process such as actions, procedures, steps, and stages in the devices, systems, programs, and methods shown in the claims, the specification, and the drawings is particularly "before", "before etc., and it should be noted that they can be implemented in any order unless the output of the previous process is used in the subsequent process. Regarding the operation flow in the claims, the specification, and the drawings, even if the description is made using "first,""next," etc. for the sake of convenience, it means that it is essential to carry out in this order. not a thing
10 システム
100 CPUモジュール
102 CPU
104 ドライバ/レシーバ
106 バスコントローラ
108 フラッシュメモリ
110 プログラムメモリ
112 データメモリ
150 ユーザアプリケーションプログラム
152 データ処理
154 基本システム
156 アプリケーションスケジューラ
158 帯域管理層
162 ハードウェア
200 機能モジュール
250,350 被制御装置
300 I/Oモジュール
400 管理装置
602 診断初期化
608 蓄積処理
610 診断処理
612 前処理
614 解析処理
616 判定処理
618 通知処理
620 診断モデル生成初期化
624 モデル生成用データ蓄積処理
628 生成処理
630 更新処理
702,710 時系列データ収集開始指令
704,712 入力処理
706 制御処理
1200 コンピュータ
1210 ホストコントローラ
1212 CPU
1214 RAM
1220 入力/出力コントローラ
1222 通信インタフェース
1230 ROM
10
104 driver/
1214 RAM
1220 input/
Claims (14)
前記実行部は、
前記第1期間内で、診断対象の状態を示す時系列データの入力を受け付ける入力処理を実行し、
前記第2期間内で、前記入力処理により受け付けられた前記時系列データを記憶部に蓄積させる蓄積処理、及び前記蓄積処理で前記記憶部に蓄積された前記時系列データに基づいて前記診断対象の状態を診断する診断処理の少なくとも一部を実行する、プログラマブルコントローラ。 an execution unit that executes a task of an application program within a first period of one cycle and executes a task other than the application program within a second period of the one cycle;
The execution unit
executing an input process for accepting input of time-series data indicating a state of a diagnostic target within the first period;
Accumulation processing for accumulating the time-series data accepted by the input processing in a storage unit within the second period; A programmable controller that performs at least a portion of diagnostic processing for diagnosing conditions.
前記蓄積処理により前記記憶部に予め定められた量の前記時系列データが蓄積されると、前記予め定められた量の前記時系列データを診断するためのデータ形式に変換する前処理と、
前記前処理で処理された前記時系列データに基づいて多変量解析処理を実行する解析処理と、
前記解析処理の解析結果に基づいて前記診断対象の状態が正常か否かを判定する判定処理と
を含む、請求項1または2に記載のプログラマブルコントローラ。 The diagnostic process includes:
when a predetermined amount of the time-series data is accumulated in the storage unit by the accumulation process, pre-processing for converting the predetermined amount of the time-series data into a data format for diagnosis;
Analysis processing for executing multivariate analysis processing based on the time-series data processed in the preprocessing;
The programmable controller according to claim 1 or 2, further comprising a determination process for determining whether the state of said diagnosis target is normal based on the analysis result of said analysis process.
前記診断処理は、前記判定処理による判定結果を前記制御処理に通知する通知処理を含む、請求項3から6の何れか1つに記載のプログラマブルコントローラ。 The execution unit executes control processing for a controlled device related to the diagnosis target within the first period,
7. The programmable controller according to any one of claims 3 to 6, wherein said diagnosis processing includes notification processing for notifying said control processing of a determination result of said determination processing.
前記実行部は、前記情報に基づいて、前記第1期間及び前記第2期間の長さを調整する、請求項1から8の何れか1つに記載のプログラマブルコントローラ。 Further comprising a reception unit that receives information specifying the ratio of each of the first period and the second period occupied within one cycle,
The programmable controller according to any one of claims 1 to 8, wherein said execution unit adjusts lengths of said first period and said second period based on said information.
一サイクル内の第1期間内でアプリケーションプログラムのタスクを実行し、前記一サイクル内の第2期間内で前記アプリケーションプログラム以外のタスクを実行する実行段階を備え、
前記実行段階は、
前記第1期間内で、診断対象の状態を示す時系列データの入力を受け付ける入力処理を実行する段階と、
前記第2期間内で、前記入力処理により受け付けられた前記時系列データを記憶部に蓄積させる蓄積処理、及び前記蓄積処理で前記記憶部に蓄積された前記時系列データに基づいて前記診断対象の状態を診断する診断処理の少なくとも一部を実行する段階とを含む、制御方法。 A control method for controlling a programmable controller,
an execution step of executing a task of an application program within a first period within one cycle and executing a task other than the application program within a second period of said one cycle;
The execution step includes:
executing an input process for receiving input of time-series data indicating a state of a diagnostic target within the first period;
Accumulation processing for accumulating the time-series data accepted by the input processing in a storage unit within the second period; and performing at least a portion of a diagnostic process for diagnosing the condition.
一サイクル内の第1期間内でアプリケーションプログラムのタスクを実行し、前記一サイクル内の第2期間内で前記アプリケーションプログラム以外のタスクを実行する実行段階を前記コンピュータに実行させ、
前記実行段階は、
前記第1期間内で、診断対象の状態を示す時系列データの入力を受け付ける入力処理を実行する段階と、
前記第2期間内で、前記入力処理により受け付けられた前記時系列データを記憶部に蓄積させる蓄積処理、及び前記蓄積処理で前記記憶部に蓄積された前記時系列データに基づいて前記診断対象の状態を診断する診断処理の少なくとも一部を実行する段階とを含む、プログラム。 A program for making a computer function as a programmable controller,
causing the computer to execute an execution step of executing a task of an application program within a first period of one cycle and executing a task other than the application program within a second period of one cycle;
The execution step includes:
executing an input process for receiving input of time-series data indicating a state of a diagnostic target within the first period;
Accumulation processing for accumulating the time-series data accepted by the input processing in a storage unit within the second period; and performing at least part of a diagnostic process for diagnosing the condition.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021136445A JP2023031000A (en) | 2021-08-24 | 2021-08-24 | Programmable controller, control method, and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021136445A JP2023031000A (en) | 2021-08-24 | 2021-08-24 | Programmable controller, control method, and program |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2023031000A true JP2023031000A (en) | 2023-03-08 |
Family
ID=85414324
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021136445A Pending JP2023031000A (en) | 2021-08-24 | 2021-08-24 | Programmable controller, control method, and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2023031000A (en) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018181315A (en) * | 2017-04-07 | 2018-11-15 | オムロン株式会社 | Control device, control method, and control program |
| JP2020101904A (en) * | 2018-12-20 | 2020-07-02 | オムロン株式会社 | Control device and program |
-
2021
- 2021-08-24 JP JP2021136445A patent/JP2023031000A/en active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018181315A (en) * | 2017-04-07 | 2018-11-15 | オムロン株式会社 | Control device, control method, and control program |
| JP2020101904A (en) * | 2018-12-20 | 2020-07-02 | オムロン株式会社 | Control device and program |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6903976B2 (en) | Control system | |
| JP6406466B1 (en) | Control device, control method, and control program | |
| US11301294B2 (en) | Control device, control method, and control program | |
| EP2849006B1 (en) | Control system simulation system and method | |
| CN112673327B (en) | Control device and computer-readable storage medium | |
| US9665089B2 (en) | Method and apparatus for advanced control using function blocks in industrial process control and automation systems | |
| CN108693822B (en) | Control device, storage medium, control system, and control method | |
| CN112240784A (en) | Abnormality determination device and abnormality determination system | |
| CN112673326B (en) | Control device and storage medium | |
| WO2021111936A1 (en) | Prediction system, information processing device, and information processing program | |
| WO2022030041A1 (en) | Prediction system, information processing device, and information processing program | |
| CN117950380B (en) | MES-driven station terminal production process control system and method | |
| US20230359487A1 (en) | Control device, non-transitory computer-readable medium, and control method | |
| CN116894544A (en) | Data collection device, recording medium, and method | |
| JP2023031000A (en) | Programmable controller, control method, and program | |
| JP7749952B2 (en) | Control system, model generation method, and model generation program | |
| US20240386293A1 (en) | Prediction system, information processing device, and non-transitory information recording medium with computer-readable information processing program recorded thereon | |
| JP7695368B2 (en) | Diagnostic device and recording medium having a program recorded thereon | |
| JP5844013B1 (en) | Functional unit, analog input unit, programmable controller system | |
| JP7676986B2 (en) | Information processing device, model generation program, and model generation method | |
| TWI843084B (en) | Control system, information processing method and information processing device | |
| KR20250030144A (en) | Automatic rollback system and control method using live twin technology and legacy data | |
| CN116736804A (en) | Control method, device, equipment and storage medium of nonstandard equipment | |
| WO2020166004A1 (en) | Control system, programmable logic controller, method, and program | |
| Deschamps et al. | MODELS OF KNOWLEDGE ON MANUFACTURING SYSTEMS FOR CONTROL LAW SYNTHESIS |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240712 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20250226 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250311 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20250410 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20250826 |