JP6921342B1 - 制御装置及びロギング方法 - Google Patents

制御装置及びロギング方法 Download PDF

Info

Publication number
JP6921342B1
JP6921342B1 JP2020561926A JP2020561926A JP6921342B1 JP 6921342 B1 JP6921342 B1 JP 6921342B1 JP 2020561926 A JP2020561926 A JP 2020561926A JP 2020561926 A JP2020561926 A JP 2020561926A JP 6921342 B1 JP6921342 B1 JP 6921342B1
Authority
JP
Japan
Prior art keywords
data
processor
trace
difference
buffers
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.)
Active
Application number
JP2020561926A
Other languages
English (en)
Other versions
JPWO2021199192A1 (ja
Inventor
宏暉 劉
宏暉 劉
伴彰 ▲高▼木
伴彰 ▲高▼木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6921342B1 publication Critical patent/JP6921342B1/ja
Publication of JPWO2021199192A1 publication Critical patent/JPWO2021199192A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Automation & Control Theory (AREA)
  • Debugging And Monitoring (AREA)

Abstract

制御装置(10)は、機器を制御するためのユーザプログラム(221)を繰り返し実行する。制御装置(10)は、ユーザプログラム(221)を実行するためのデータを記憶するデータメモリ(21)と、ユーザプログラム(221)を実行し、ユーザプログラム(221)を実行する毎にデータメモリ(21)からデータを読み出して出力する制御プロセッサ(231)と、制御プロセッサ(231)によって出力されたデータが予め定められた順に格納される複数のデータバッファ(33)と、複数のデータバッファ(33)のうちの2つのデータバッファ(33)に格納されたデータからデータの差分を算出する第2トレースプロセッサ(312)を有する処理部(31)と、第2トレースプロセッサ(312)によって算出された差分を蓄積して記憶する差分記憶部(34)と、を備える。

Description

本開示は、制御装置及びロギング方法に関する。
FA(Factory Automation)の現場では、制御装置が、産業用機械に代表される種々の機器を制御することで、生産工程、加工工程、検査工程、その他の工程が実現される。通常、制御装置は、ユーザから提供されるプログラムを実行することで、ユーザによって任意に規定された手順に従って制御処理を実行する。例えば、制御装置であるPLC(Programmable Logic Controller)は、被制御機器に関するデータが一時的に格納されるメモリを有し、ユーザから提供されたシーケンスプログラムに従って当該メモリ内のデータをリード又はライトすることにより被制御機器を制御する。
制御装置による機器の制御において異常が発生した場合には、その異常の原因を特定することが望ましい。また、異常に限られず、機器の制御に関する情報を記録しておいて、その後に当該情報を検証したいという要望がある。そこで、ユーザが、データの履歴を残すための条件を予め制御装置に設定し、制御装置が、この条件に基づいて機器及び制御装置自体の動作状態を示すデータをロギングする技術が知られている(例えば、特許文献1を参照)。
特許文献1には、トレース設定情報に設定された対象データについてデータメモリをトレースし、トレース結果が前回のトレース実行時から変化しているときに、トレース結果をトレースバッファに格納する演算ASICと、トレースバッファに格納されたトレース結果をローダに返信してユーザに提示する制御マイコンと、を備えるプログラマブルコントローラについて記載されている。このプログラマブルコントローラによれば、任意のデータの演算途中における変化をトレースすることができる。
特開2010−211555号公報
近年、多数のデータをロギングしておいて、その後における工程管理及び品質改善のための大規模な分析を行いたいという要求が増している。特許文献1の技術では、制御対象装置の制御を行うプログラムを実行する演算ASICにおいて、プログラムに含まれる任意の命令をトレース条件として、プログラムの演算途中にトレース条件である命令を実行するときにトレース処理を行っている。特許文献1の技術において多数のデータをトレースする場合には、制御対象装置の制御を行うプログラムを実行する演算ASICにおいて、プログラムの実行途中にトレースを行うため、トレースを行うデータの数が増加すると演算ASICの演算負荷が大幅に増加してしまう。このため、演算ASICにおける制御対象装置の制御を行うプログラムの実行が中断するような事態が生じ、演算ASICによる制御対象装置の制御に影響が及ぶおそれがある。このため、ロギング対象のデータを多数にしたときに機器の制御に及ぶ影響を軽減する余地があった。また、ロギング対象のデータを多数にすると、記憶手段の記憶領域が不足してしまい、十分な量のロギング対象のデータを確保できない恐れがあった。
本開示は、ロギング対象のデータを多数にしたときに機器の制御に及ぶ影響を軽減し、多数のデータをロギングすることを目的とする。
上記目的を達成するため、本開示の制御装置は、機器を制御するためのプログラムを繰り返し実行する第1ユニットと、第2ユニットと、を備える制御装置であって、第1ユニットは、プログラムを実行するためのデータを記憶する第1記憶手段と、プログラムを実行し、プログラムの実行処理が終了する度に実行するエンド処理において、ユーザから履歴を残すことが指定された第1記憶手段の記憶領域からデータを読み出して出力する第1プロセッサと、を有し、第2ユニットは、第1プロセッサによって出力されたデータが予め定められた順に格納される複数のバッファと、複数のバッファのうちの2つのバッファに格納されたデータからデータの差分を算出する第2プロセッサを有する処理手段と、第2プロセッサによって算出された差分を蓄積して記憶する第2記憶手段と、を有し、第1プロセッサは、データの出力が完了したことを処理手段に通知し、第2プロセッサは、第1プロセッサからの通知に基づいて、第1プロセッサによるプログラムの次の実行処理と並列して、データの差分を算出する
本開示によれば、機器を制御するためのプログラムを実行する第1プロセッサが、プログラムの実行処理が終了する度に実行するエンド処理において、第1記憶手段からデータを読み出して出力し、第2プロセッサが、複数のバッファのうちの2つのバッファに格納されたデータからデータの差分を算出する。データの差分が第2プロセッサによって算出されるため、この差分の算出を第1プロセッサが実行する必要はない。また、第2記憶手段が、データの差分を蓄積して記憶する。このため、第2記憶手段は、データをそのまま記憶する場合よりも多くのデータに関する情報を蓄積することができる。したがって、ロギング対象のデータを多数にしたときに機器の制御に及ぶ影響を軽減し、多数のデータをロギングすることができる。
実施の形態に係る制御システムの構成を示す図 実施の形態に係る制御装置の構成を示す図 実施の形態に係るデータメモリの構成を示す図 実施の形態に係るデータバッファへのアクセスについて説明するための第1の図 実施の形態に係るデータバッファへのアクセスについて説明するための第2の図 実施の形態に係るデータのロギングについて説明するための第1の図 実施の形態に係るデータのロギングについて説明するための第2の図 実施の形態に係る制御処理を示すフローチャート 実施の形態に係るトレース処理を示すフローチャート 実施の形態に係るデータの伝送について説明するための図 実施の形態に係る履歴出力処理を示すフローチャート 実施の形態に係るスキャンタイムと比較例に係るスキャンタイムとを示す図 変形例に係る制御装置の構成を示す第1の図 変形例に係る制御装置の構成を示す第2の図
以下、本開示の実施の形態に係る制御装置10について、図面を参照しつつ詳細に説明する。
実施の形態
図1には、本実施の形態に係る制御装置10により形成される制御システム100の構成が示されている。制御システム100は、製造ラインを稼働させるために工場に構築されるシステムである。制御システム100は、産業用ネットワーク50を介して機器61,62を制御する制御装置10と、製造ラインに設置された機器61,62と、を有する。なお、図1には、2つの機器61,62が代表的に示されているが、制御装置10とともに制御システム100を構成する機器の数は、1つであってもよいし、2つより多くてもよい。
機器61,62は、例えば、製造ラインに設置されるセンサ、アクチュエータ、ロボット、その他のFA機器である。機器61,62は、制御装置10からの指示に従って動作する。例えば、センサである機器61は、制御装置10から指定された周期で、センシング結果を制御装置10に通知する。また、アクチュエータである機器62は、制御装置10から指定されたタイミング及び速度でワークを移動させる。
制御装置10は、工場内の機器61,62を統括的に制御することで連動させて、一連の製造ラインを実現させるPLC(Programmable Logic Controller)である。制御装置10は、ユーザにより提供されたプログラムを受け付けて、当該プログラムにより規定される制御処理を実行することで機器61,62を制御する。
制御装置10は、プログラムを繰り返し実行するCPU(Central Processing Unit)ユニット20と、プログラムを実行するために利用されるデータの履歴を記憶するトレースユニット30と、機器61,62と通信するI/O(Input/Output)ユニット40と、を有する。CPUユニット20、トレースユニット30及びI/Oユニット40は、システムバス101を介して互いに信号を伝送する。システムバス101は、制御装置10において、第1ユニットとしてのCPUユニット20と第2ユニットとしてのトレースユニット30とが互いに信号を伝送するためのバスの一例に相当する。
図2には、CPUユニット20及びトレースユニット30の構成が示されている。CPUユニット20は、システムバス101を有する不図示のベースユニットに脱着可能なモジュールである。制御装置10の用途に応じて必要な性能を有するCPUユニット20が、ユーザによってベースユニットに取り付けられることで制御装置10が構成される。CPUユニット20は、ユーザプログラム221を実行するためのデータを記憶するデータメモリ21と、機器61,62を制御するためのユーザプログラム221を記憶するプログラムメモリ22と、ユーザプログラム221を実行する処理部23と、を有する。
データメモリ21は、RAM(Random Access Memory)及びEEPROM(Electrically Erasable Programmable Read-Only Memory)に代表される記憶装置を含む。データメモリ21は、図3に示されるように、一又は複数の領域211を有する。領域211はそれぞれ、ユーザによって履歴を残すことが指定されたデータ212が格納される記憶領域である。領域211は、例えば、「D10」というアドレスにより示される1ワードの記憶領域であって、データ212は、この記憶領域に格納された「50」という値を示す。データ212は、機器61によるセンシング結果を示す値であってもよいし、機器62に対する動作指令を示す値であってもよい。データ212は、デバイスデータとも呼称される。
制御装置10が機器61,62とのサイクリック通信を行う場合には、データメモリ21の特定の領域に格納されるデータが、I/Oユニット40を介して機器61,62のデータと同期される。このようなサイクリック通信により領域211のデータ212が同期される場合には、処理部23は、データ212を読み出すことにより機器61から送信されたデータを取得し、データ212を書き込むことにより機器62に対して動作内容を指示する。
また、データ212は、制御装置10の外部で扱われることなく制御処理において利用される値であってもよい。制御処理において利用される値としては、例えば、制御処理を分岐させるためのフラグ値、及び、制御処理の実行に際して発生したエラーを示すエラーコードがある。以下では、1つのデータ212が変化する場合において、データ212の履歴が記録される例を中心に説明する。データメモリ21は、制御装置10において、プログラムを実行するためのデータを記憶する第1記憶手段の一例に相当する。
図2に戻り、プログラムメモリ22は、RAM及びEEPROMに代表される記憶装置を含む。プログラムメモリ22には、ユーザから提供されたユーザプログラム221が格納される。ユーザプログラム221は、例えば、制御処理の内容がラダー言語で記述されたラダープログラムから、ユーザの端末においてコンパイルされた実行形式のオブジェクトプログラムである。
処理部23は、ASIC(Application Specific Integrated Circuit)を含む。処理部23は、ユーザプログラム221を実行する制御プロセッサ231と、制御プロセッサ231がデータ212を一時的に退避させるための外部ターゲットメモリ232と、を有する。
制御プロセッサ231は、制御装置10においてユーザプログラム221を実行するCPUに相当する。制御プロセッサ231は、ユーザプログラム221を繰り返し実行する。また、制御プロセッサ231は、ユーザプログラム221を実行する毎に、データメモリ21の各領域211に記憶されているデータ212をデータメモリ21から読み出して外部ターゲットメモリ232に書き込むことにより出力する。より詳細には、制御プロセッサ231は、ユーザプログラム221にて定義されている制御を1回実行完了すると、データ212の出力を実行する。そして、制御プロセッサ231は、データ212の出力が完了したら、ユーザプログラム221の次の実行を開始する。制御プロセッサ231は、制御装置10において、プログラムを実行し、プログラムを実行する毎に第1記憶手段からデータを読み出して出力する第1プロセッサの一例に相当する。
外部ターゲットメモリ232は、ASICである処理部23のレジスタに相当し、外部ターゲットメモリ232には、CPUユニット20の外部をターゲットとして出力される情報が格納される。外部ターゲットメモリ232に記憶されたデータ212は、システムバス101を介してトレースユニット30によって読み出される。外部ターゲットメモリ232は、制御装置10において、第1プロセッサにより出力されたデータを記憶する第3記憶手段の第1の例に相当する。
トレースユニット30は、ベースユニットに脱着可能なモジュールであって、CPUユニット20から取得したデータ212をトレースする。ここで、トレースユニット30によるデータ212のトレースは、データ212のログを蓄積することを意味する。ロギングに関するユーザの要望に応じて必要な性能を有するトレースユニット30がベースユニットに取り付けられることで、制御装置10が構成される。トレースユニット30によって蓄積されたログは、将来においてユーザがデータ212の推移を追跡して分析するために利用される。トレースユニット30は、データ212のロギングのための処理を実行する処理部31と、データ212の履歴を示す情報が格納される大容量メモリ32と、を有する。
処理部31は、一又は複数のASICを含む。処理部31は、CPUユニット20から読み出されたデータ212が一時的に格納される内部ターゲットメモリ310と、内部ターゲットメモリ310に格納されたデータ212を大容量メモリ32のデータバッファ331,332,333のいずれかに書き込む第1トレースプロセッサ311と、データバッファ331〜333のうちの2つのバッファに格納されたデータ212を用いてデータ212の差分を算出する第2トレースプロセッサ312と、を有する。以下では、データバッファ331〜333を総称してデータバッファ33と表記する。処理部31は、制御装置10において、第2プロセッサとしての第2トレースプロセッサ312を有する処理手段の一例に相当する。
内部ターゲットメモリ310は、第1トレースプロセッサ311とともにASICを構成し、当該ASICのレジスタに相当する。内部ターゲットメモリ310には、トレースユニット30の内部をターゲットとして出力される情報が格納される。詳細には、第1トレースプロセッサ311によってCPUユニット20の外部ターゲットメモリ232から読み出されたデータ212が、内部ターゲットメモリ310に一時的に格納されて、第1トレースプロセッサ311によって利用される。内部ターゲットメモリ310は、制御装置10において、第1プロセッサにより出力されたデータを記憶する第3記憶手段の第2の例に相当する。
第1トレースプロセッサ311は、CPUユニット20の制御プロセッサ231によってデータ212が出力される毎に当該データ212を取得して、取得した全てのデータ212をデータバッファ33のいずれか1つに書き込む。詳細には、第1トレースプロセッサ311は、データ212を直前に書き込んだデータバッファ33とは異なる別のデータバッファ33にデータ212を書き込む。より詳細には、第1トレースプロセッサ311は、データバッファ331,332,333にこの順で循環させてデータを書き込む。すなわち、第1トレースプロセッサ311は、n回目に取得した全てのデータ212をデータバッファ331に書き込み、n+1回目に取得した全てのデータ212をデータバッファ332に書込み、n+2回目に取得した全てのデータ212をデータバッファ333に書き込む。データバッファ333の次には、第1トレースプロセッサ311は、データバッファ331に戻って取得した全てのデータ212を書き込む。第1トレースプロセッサ311は、データ212を取得してデータバッファ33に書き込む処理を、上述の制御プロセッサ231におけるユーザプログラム221の実行中に開始することができる。
図2には、第1トレースプロセッサ311がデータバッファ331にデータ212を書き込むことが破線の矢印で示されている。そして、第1トレースプロセッサ311は、データバッファ331に書き込んだデータ212の取得の次に取得したデータ212を、図4に示されるように、データバッファ332に書き込む。さらに、第1トレースプロセッサ311は、データバッファ332に書き込んだデータ212の取得の次に取得したデータ212を、図5に示されるように、データバッファ333に書き込む。そして、第1トレースプロセッサ311は、データバッファ333に書き込んだデータ212の取得の次に取得したデータ212を図2に示されるように、データバッファ331に書き込む。以降、第1トレースプロセッサ311は、図2,4,5に示されるデータ212の書き込みを繰り返す。
なお、第1トレースプロセッサ311が、最新の3回分の制御プロセッサ231から出力されたデータ212をデータバッファ33それぞれに格納していれば、データ212がデータバッファ33に書き込まれる順番を変更してもよい。第1トレースプロセッサ311は、制御装置10において、第1プロセッサによりデータが出力される毎に、第3記憶手段からデータを読み出して、複数のバッファに予め定められた順に格納する第3プロセッサの一例に相当する。
第2トレースプロセッサ312は、第1トレースプロセッサ311として機能するASICによって発揮される他の機能として実現されてもよいし、第1トレースプロセッサ311とは異なるハードウェアによって実現されてもよい。第2トレースプロセッサ312は、2つのデータバッファ33に格納されているデータ212からデータ212の差分を算出して、算出した差分を大容量メモリ32の差分記憶部34に格納する。詳細には、第2トレースプロセッサ312は、第1トレースプロセッサ311によってアクセスされるデータバッファ33とは異なる2つのデータバッファ33それぞれに格納されているデータ212を読み出して、これらのデータ212のうち新しいデータ212から古いデータ212を減じて得る差分を示す情報を、差分記憶部34に追加する。つまり、データ212の差分とは、新しいデータ212において古いデータ212に比べて変更がされている箇所を示す情報である。
図2の例では、第2トレースプロセッサ312が、データバッファ332,333からデータを読み出すことが破線の矢印で示されている。第2トレースプロセッサ312は、この例においては、データバッファ333から読み出したデータ212から、データバッファ332から読み出したデータ212を減算し、減算結果を示す差分データを差分記憶部34に書き込む。次に、第2トレースプロセッサ312は、図4に示されるように、データバッファ331から読み出したデータ212から、データバッファ333から読み出したデータ212を減算し、減算結果を示す差分データを差分記憶部34に書き込む。次に、第2トレースプロセッサ312は、図5に示されるように、データバッファ332から読み出したデータ212から、データバッファ331から読み出したデータ212を減算し、減算結果を示す差分データを差分記憶部34に書き込む。その後、第2トレースプロセッサ312は、図2の例に示されるように、データバッファ332,333から得た減算結果を差分記憶部34に書き込む。以降、第2トレースプロセッサ312は、図2,4,5に示されるデータ212の読み出し及び差分の算出を繰り返す。
第2トレースプロセッサ312は、第1トレースプロセッサ311によってデータバッファ33に書き込まれている最中の、又は書き込まれるべき最新のデータ212に対して、その前回及び前々回にデータバッファ33に格納されたデータ212の差分を順次算出することとなる。第2トレースプロセッサ312は、制御装置10において、複数のバッファのうちの2つのバッファに格納されたデータからデータの差分を算出する第2プロセッサの一例に相当する。この第2プロセッサは、データが書き込まれているバッファとは異なる2つのバッファ、又は、データが次に書き込まれるバッファとは異なる2つのバッファに格納されたデータからデータの差分を算出する。なお、第2トレースプロセッサ312は、データ212の差分を算出する処理を、上述の制御プロセッサ231によるユーザプログラム221の実行中に開始することができる。
大容量メモリ32は、EEPROM及びフラッシュメモリに代表される不揮発性の記憶装置を含む。大容量メモリ32は、少なくともデータメモリ21の領域211より大きな記憶容量を有する。大容量メモリ32は、制御プロセッサ231から出力された最新の3回分の制御プロセッサ231から出力されたデータ212が格納されるデータバッファ33と、第2トレースプロセッサ312によって算出された差分を順次蓄積する差分記憶部34と、を有する。
データバッファ33はそれぞれ、大容量メモリ32が有する記憶領域の一部に相当する。データバッファ33として利用される記憶領域は、予め定められてもよいし、ユーザによって指定されたロギング対象のデータ212の個数に応じて割り当てられてもよい。データバッファ33には、第1トレースプロセッサ311によって図2,4,5に示されるように循環的に最新のデータ212が格納されて、他の2つのデータバッファ33からは、第2トレースプロセッサ312によって前回及び前々回のデータ212が読み出される。データバッファ33は、制御装置10において、第1プロセッサによって出力されたデータが予め定められた順に格納される複数のバッファの一例に相当する。
差分記憶部34は、大容量メモリ32が有する記憶領域の一部に相当する。差分記憶部34として利用される記憶領域は、予め定められてもよいし、ロギングすべき一又は複数のデータ212それぞれについて残すべき履歴の数に応じて割り当てられてもよい。差分記憶部34には、第2トレースプロセッサ312によって差分データが書き込まれて蓄積される。ただし、差分記憶部34は、いわゆるリングバッファと同様に、その容量の上限まで差分データを記憶した後は、最も古い差分データを消去して最新の差分データを新たに記憶する。差分記憶部34は、制御装置10において、第2プロセッサによって算出された差分を蓄積して記憶する第2記憶手段の一例に相当する。
続いて、データバッファ33及び差分記憶部34に格納される情報がデータ212の履歴に等しいことについて、図6,7を参照して説明する。図6には、ユーザプログラム221の実行処理71と、実行処理71が終了する度に実行されるエンド処理72と、を含むスキャン70が、制御プロセッサ231によって繰り返し実行されることが示されている。初回のエンド処理72においては、データ212として「データ[1]」が出力されて、このデータ212がデータバッファ331に格納される。なお、図6においては、データバッファ33を識別するためにデータバッファ33それぞれの符号に等しい「331」、「332」及び「333」というIDが示されている。また、「データ[n]」に付されている番号「n」は、n番目に出力されたことを示している。
スキャン70が繰り返される度に、データバッファ332に「データ[2]」が書き込まれ、データバッファ333に「データ[3]」が書き込まれる。そして、次のスキャン70では、データバッファ331に「データ[4]」が上書きされて、「データ[1]」が削除される。
ただし、差分記憶部34には、「データ[1]」と「データ[2]」の差分である「差分<1>」、及び、「データ[2]」と「データ[3]」の差分である「差分<2>」が格納される。なお、「差分<n>」に付されている番号「n」は、差分記憶部34にn番目に格納されたことを示している。ここで、「データ[2]」と「差分<1>」から「データ[1]」が復元されるため、「データ[2]」及び「差分<1>」は、「データ[1]」に等しい情報といえる。詳細には、「データ[2]」から「差分<1>」を減じることで「データ[1]」が復元される。
さらに古いデータ212が復元されることについて、図7の数値例を用いて説明する。図7の例では、データバッファ33に、「データ[N]」としての2541という値と、「データ[N+1]」としての2545という値と、「データ[N+2]」としての2542という値が格納されている。また、差分記憶部34には、最新の差分データである「差分<N>」としての+4という値から、最も古い「差分<N−99>」としての−2まで、100個の差分データが格納されている。この例において、図6と同様にして、「データ[N]」から「差分<N−1>」を減じることで、データバッファ33には格納されていない「データ[N−1]」として2538が復元される。また、このようにして得た「データ[N−1]」から「差分<N−2>」を減じることで、「データ[N−2]」が復元される。以降、同様にして「データ[N−3]」から「データ[N−99]」までのデータ212が復元される。すなわち、図7に示されるデータバッファ33及び差分記憶部34が保持する情報は、最新の「データ[N+2]」から「データ[N−99]」までのデータ212の履歴に等しいといえる。
続いて、制御装置10によって実行される処理について、図8〜11を参照して説明する。図8には、CPUユニット20の制御プロセッサ231によって実行される制御処理の流れが示されている。制御処理は、ユーザの操作によって制御処理の開始指示が入力されることで開始する。
制御処理では、制御プロセッサ231は、ユーザプログラム221を実行する(ステップS11)。このステップS11は、図6に示された実行処理71に対応する。この実行処理により、制御装置10は、機器61,62を制御して、製造ラインを稼働させる。
次に、制御プロセッサ231は、実行処理が終了すると、エンド処理を開始する(ステップS12)。エンド処理は、ユーザプログラム221の1回の実行につき制御プロセッサ231が実行すべき処理であって、例えば、後述するステップS13〜S16の他に、エラーの有無の確認を含む。
エンド処理が開始すると、制御プロセッサ231は、第1トレースプロセッサ311及び第2トレースプロセッサ312が、後述するトレース処理を実行可能か否かを判定する(ステップS13)。具体的には、制御プロセッサ231は、第1トレースプロセッサ311及び第2トレースプロセッサ312がトレース処理を実行中か否かを確認し、又は、後述のトレース処理におけるステップS23とステップS25とで第1トレースプロセッサ311及び第2トレースプロセッサ312から通知される完了通知を受け取っているか否かを確認する。
第1トレースプロセッサ311及び第2トレースプロセッサ312がトレース処理を実行可能でないと判定した場合(ステップS13;No)、制御プロセッサ231は、ステップS13の判定を繰り返して、第1トレースプロセッサ311及び第2トレースプロセッサ312が後述のトレース処理を実行可能となるまで待機する。そして、制御プロセッサ231は、第1トレースプロセッサ311及び第2トレースプロセッサ312がトレース処理を実行できると判定した場合(ステップS13;Yes)、制御プロセッサ231は、データメモリ21から予め指定された領域211のデータ212を読み出して外部ターゲットメモリ232に出力する(ステップS14)。
ステップS11の実行処理においては、データ212が変化してしまうため、データ212が一時的に固定されて変化しないエンド処理において、データ212がロギングのために読み出される。ステップS14は、制御装置10によって実行されるロギング方法において、プログラムを実行する第1プロセッサが、プログラムを実行するためのデータを、プログラムを実行する毎に第1記憶手段から読み出して出力する出力ステップの一例に相当する。
次に、制御プロセッサ231は、外部ターゲットメモリ232へのデータ212の書き込みが完了したか否かを判定する(ステップS15)。書き込みが完了していないと判定した場合(ステップS15;No)、制御プロセッサ231は、ステップS15の判定を繰り返して、書き込みが完了するまで待機する。
一方、書き込みが完了したと判定した場合(ステップS15;Yes)、制御プロセッサ231は、エンド処理の終了をトレースユニット30の処理部31に通知して、エンド処理を終了する(ステップS16)。エンド処理の終了の通知は、トレースユニット30によるロギングのための処理のトリガーとなる。これにより、制御プロセッサ231からデータ212が出力される毎に、トレースユニット30がロギングのための処理を実行する。その後、制御プロセッサ231は、ステップS11以降の処理を繰り返す。
図9には、トレースユニット30によって実行されるトレース処理の流れが示されている。トレース処理は、トレースユニット30の電源が投入されることで開始する。
トレース処理では、第1トレースプロセッサ311が、CPUユニット20からの通知があるか否かを判定する(ステップS21)。この通知は、エンド処理が終了した旨の通知であって、図8中のステップS16に対応する。通知がないと判定した場合(ステップS21;No)、第1トレースプロセッサ311は、ステップS21の判定を繰り返して、通知を受けるまで待機する。
一方、通知があると判定した場合(ステップS21;Yes)、第1トレースプロセッサ311は、外部ターゲットメモリ232からデータ212を読み出して内部ターゲットメモリ310に書き込むことによりデータ212を取得する(ステップS22)。そして、第1トレースプロセッサ311は、ステップS22で取得したデータを複数のデータバッファ33のいずれかに書き込み、書き込みが完了したことを制御プロセッサ231へ通知する(ステップS23)。具体的には、第1トレースプロセッサ311は、図2,4,5に示されたように、循環する順番でデータバッファ33にデータ212を格納する。ここで、第1トレースプロセッサ311は、データバッファ33にデータ212の格納する度に制御プロセッサ231へ書き込みの完了を通知する。
次に、第2トレースプロセッサ312は、前回と前々回に書き込まれたデータ212をデータバッファ33から読み出して差分を算出する(ステップS24)。そして、第2トレースプロセッサ312は、算出した差分を差分記憶部34に書き込み、書き込みが完了したことを第1トレースプロセッサ311へ通知する(ステップS25)。これにより、差分記憶部34には、前々回のデータ212を復元するための差分データが追加される。その後、トレースユニット30は、ステップS21以降の処理を繰り返す。ステップS24は、第2プロセッサが、第1プロセッサによって出力されたデータが予め定められた順に格納される複数のバッファのうちの2つのバッファに格納されたデータからデータの差分を算出する算出ステップの一例に相当し、ステップS25は、差分を第2記憶手段に蓄積する蓄積ステップの一例に相当する。
図10には、図8の制御処理及び図9のトレース処理を実行する制御装置10における情報の伝送について示されている。図10に示されるように、制御プロセッサ231は、実行処理(ステップS71)の後のエンド処理において(ステップS72)、データメモリ21からデータ212を読み出して出力する(ステップS81)。これにより、外部ターゲットメモリ232には、データ212が入力されて格納される(ステップS82)。外部ターゲットメモリ232へのデータ212の書き込みが完了すると、外部ターゲットメモリ232から制御プロセッサ231に、書き込みが完了した旨が通知される(ステップS83)。次に、制御プロセッサ231は、第1トレースプロセッサ311にエンド通知をする(ステップS84)。エンド通知は、エンド処理が終了した旨の通知である。
エンド通知を受けて、第1トレースプロセッサ311は、転送処理を実行する(ステップS85)。転送処理において、第1トレースプロセッサ311は、外部ターゲットメモリ232からデータ212を読み出す(ステップS86)。これにより外部ターゲットメモリ232は、格納しているデータ212を出力する(ステップS87)。データ212の読み出しが完了すると(ステップS88)、第1トレースプロセッサ311は、ステップS88で読み出しが完了したデータ212を、大容量メモリ32のデータバッファ33に書き込む(ステップS89)。これにより、大容量メモリ32には、データ212が入力される(ステップS90)。データの書き込みが完了すると(ステップS91)、第1トレースプロセッサ311は、完了通知を制御プロセッサ231へ送って(ステップS92)、転送処理を終了する。なお、ステップS92の完了通知は、図9に示されるステップS23の通知に対応する。
第2トレースプロセッサ312は、ステップS84のエンド通知を、第1トレースプロセッサ311を介して受けて(ステップS93)、差分の算出処理を実行する(ステップS94)。算出処理では、第2トレースプロセッサ312が、2つのデータバッファ33からデータ212を読み出す(ステップS95)。これにより、データバッファ33から過去の2つのデータ212が出力される(ステップS96)。2つのデータ212の読み出しが完了すると(ステップS97)、第2トレースプロセッサ312は、ステップS97で読み出しが完了した2つのデータ212の差分を大容量メモリ32の差分記憶部34に書き込む(ステップS98)。これにより、差分記憶部34には、差分データが入力されて追加される(ステップS99)。差分の書き込みが完了すると(ステップS100)、第2トレースプロセッサ312は、完了通知を第1トレースプロセッサ311へ送って(ステップS101)、算出処理を終了する。なお、第1トレースプロセッサ311は、第2トレースプロセッサ312の算出処理における完了通知を受け取ると、完了通知を制御プロセッサ231へ送信する(ステップS102)。ステップS102の完了通知は、図9に示されるステップS25の通知に対応する。
なお、図10では、第1トレースプロセッサ311による転送処理と、第2トレースプロセッサ312による算出処理と、が並列に実行されている。このため、第1トレースプロセッサ311によるデータ212の入出力と、第2トレースプロセッサ312による情報の入出力と、の順序が、図9に示されたトレース処理とは異なっている。第1トレースプロセッサ311と第2トレースプロセッサ312とは、並列処理が可能であるため、これらのプロセッサによって実行される処理の手順は、さらに任意に変更してもよい。
例えば、制御プロセッサ231からの処理部31への通知は、データ212の出力が完了したことを示す通知であれば、エンド処理の完了の通知とは異なる通知であってもよい。制御プロセッサ231は、エンド処理が完了する前に、データ212の出力が完了した時点で、出力完了の旨を通知してもよい。また、処理部31は、制御プロセッサ231からの通知に基づいて、第1トレースプロセッサ311によるデータ212の格納と、第2トレースプロセッサによる差分データの算出と、の双方を並列に実行してもよいし、これら格納及び算出のうちの一方を実行してから他方を実行してもよい。
図11には、トレースユニット30が、ロギングされたデータ212の履歴を出力する履歴出力処理の一例が示されている。この履歴出力処理は、例えば、CPUユニット20からの要求に応答して第1トレースプロセッサ311によって実行される。
履歴出力処理では、第1トレースプロセッサ311が、データバッファ33から最新のデータ212を読み出して出力し(ステップS31)、データバッファ33から2番目に新しいデータ212を読み出して出力する(ステップS32)。これにより、図7の例では、「データ[N+2]」及び「データ[N+1]」が出力される。
次に、第1トレースプロセッサ311は、変数Kに初期値として1を代入して(ステップS33)、前回出力したデータ212と、差分記憶部34から読み出したK番目に新しい差分と、から(K+2)番目に新しいデータ212を逆算して出力する(ステップS34)。履歴出力処理においてステップS34が初めて実行される場合には、ステップS32で出力したデータ212と、最新の差分と、から3番目に新しいデータ212が復元されて出力される。
次に、第1トレースプロセッサ311は、差分記憶部34からすべての差分を読み出したか否かを判定する(ステップS35)。すべての差分を読み出してはいないと判定した場合(ステップS35;No)、第1トレースプロセッサ311は、変数Kに1を加算して(ステップS36)、ステップS34以降の処理を繰り返す。これにより、履歴出力処理における2回目以降のステップS34では、前回のステップS34で出力したデータ212に基づいて、1つ前のデータ212が復元されて出力される。
ステップS35にて、すべての差分を読み出したと判定した場合(ステップS35;Yes)、第1トレースプロセッサ311は、履歴出力処理を終了する。
なお、履歴出力処理は、図11を用いて説明した例に限定されない。例えば、第2トレースプロセッサ312が履歴出力処理を実行してもよい。また、処理部31が、過去のデータ212を復元することなく、データバッファ33及び差分記憶部34に記憶されている情報をそのままデータ212の履歴として出力してもよい。また、履歴が残っているすべてのデータ212を出力することなく、外部から指定された一部のデータ212を出力してもよい。
以上、説明したように、ユーザプログラム221を実行する制御プロセッサ231が、ユーザプログラム221を実行する毎にデータメモリ21からデータ212を読み出して出力し、第2トレースプロセッサ312が、2つのデータバッファ33に格納されたデータ212の差分を算出する。ロギング対象であるデータ212の差分が第2トレースプロセッサ312によって算出されるため、この差分の算出を制御プロセッサ231が実行する必要はない。また、差分記憶部34が、データ212の差分を蓄積して記憶する。このため、制御プロセッサ231は、データ212の出力を完了した後、ユーザプログラム221を実行することが可能となる。さらに、差分記憶部34は、データ212をそのまま記憶する場合よりも多くのデータ212に関する情報を蓄積することができる。したがって、ロギング対象のデータ212を多数にしたときに機器61,62の制御に及ぶ影響を軽減し、多数のデータ212をロギングすることができる。
図12には、本実施の形態に係る制御プロセッサ231が制御処理を実行するスキャンタイムと、比較例に係るスキャンタイムと、が比較されている。スキャンタイムは、ユーザプログラム221を実行してから再度ユーザプログラム221を実行するまでの1スキャンにかかる時間である。
図12に示される比較例では、ユーザプログラム221の一部に相当するユーザプログラムX,Y,Z,Wを実行するCPUユニットのプロセッサが、ユーザプログラムX,Y,Z,Wそれぞれを実行する度に、データ212を参照して前回の値からの変化を確認し、必要に応じてデータ212を退避している。このため、比較例に係るプロセッサが担う演算負荷は大きく、スキャンタイムの時間長80は、比較的長い。
一方、本実施の形態に係る制御プロセッサ231は、ユーザプログラムX,Y,Z,Wを実行した後に、データの参照、比較、又は演算を実行することなく、エンド処理において単にデータ212を出力する。そして、第1トレースプロセッサ311がデータ212を取得してデータバッファ33に書き込むとともに、第2トレースプロセッサ312が差分を算出して差分記憶部34に書き込む。このため、制御プロセッサ231、第1トレースプロセッサ311及び第2トレースプロセッサ312がロギングに必要な処理を分担することとなる。したがって、制御プロセッサ231によるスキャンタイムの時間長81は、比較例に係る時間長80より短い。ひいては、ロギング対象のデータ212の個数が多くなった場合において、スキャンタイムが比較例のように大幅に増加することがない。
また、制御プロセッサ231がデータ212を外部に出力する時間、第1トレースプロセッサ311がデータ212を取得する時間、及び、第1トレースプロセッサ311がデータ212をデータバッファ33に書き込む時間は、ユーザプログラム221の実行処理にかかる時間より大幅に短いケースが多い。このため、ユーザプログラム221の実行処理と、トレースユニット30によるトレース処理と、を並列に実行して、スキャンタイムの大幅な増加を避けることができる。
また、制御装置10は、制御プロセッサ231から出力されたデータ212が格納される外部ターゲットメモリ232を備え、処理部31が、この外部ターゲットメモリ232からデータ212を読み出した。通常、大容量メモリ32のように記憶容量が大きいメモリは、アクセス速度が低いことが多い。一方、最新のデータ212が格納される外部ターゲットメモリ232に必要な記憶容量は小さく、アクセス速度の速い記憶装置を外部ターゲットメモリ232とすることができる。このため、制御プロセッサ231によるデータの出力にかかる時間を短くすることができる。
また、処理部31は、第1トレースプロセッサ311と、第2トレースプロセッサ312と、を有する。これにより、処理部31が実行すべきトレース処理を2つのプロセッサで分担して、トレース処理を高速に実行することができる。つまり、上述したように、第1トレースプロセッサ311で転送処理を実行させ、第2トレースプロセッサ312で差分の算出処理を実行させることで、転送処理と差分の算出処理とを並行して実行することができるため、トレース処理を高速に実行することができる。
また、大容量メモリ32は、3つ以上のデータバッファ33を有し、第2トレースプロセッサ312は、最新のデータ212が書き込まれているデータバッファ33とは異なる2つのデータバッファ33、又は、最新のデータが次に書き込まれるデータバッファ33とは異なる2つのデータバッファ33に格納されたデータ212から、データ212の差分を算出する。これにより、最新のデータ212のデータバッファ33への書き込みと、差分を算出するためのデータバッファ33からのデータ212の読み出しと、が競合することがない。
また、制御プロセッサ231は、データ212の出力が完了したことを処理部31に通知し、処理部31は、制御プロセッサ231からの通知に基づいて、第1トレースプロセッサ311によるデータ212のデータバッファ33への格納と、第2トレースプロセッサ312による差分データの算出と、の少なくとも一方を行う。これにより、制御プロセッサ231による処理と、処理部31による処理と、を効率よく並列に実行することができる。
また、制御装置10は、CPUユニット20と、トレースユニット30と、を備える。これにより、制御装置10を構成するユニットが大型化してしまうことを抑制するとともに、ユニットの配置の自由度を確保することができる。
以上、本開示の実施の形態について説明したが、本開示は上記実施の形態によって限定されるものではない。
例えば、上記実施の形態では、制御装置10が、CPUユニット20及びトレースユニット30を含む例について説明したが、これには限定されない。例えば、図13に示されるように、制御装置10は、上記実施の形態に係るCPUユニット20及びトレースユニット30双方の機能を備える一体型の装置であってもよい。図13の例では、外部ターゲットメモリ232を省略して処理部23が構成され、内部ターゲットメモリ310を省略して処理部31が構成される。この例において、処理部23の制御プロセッサ231は、処理部23,31によって共有される共有メモリ233にデータ212を出力し、処理部31は、共有メモリ233から読み出したデータ212を大容量メモリのデータバッファ33に転送すればよい。共有メモリ233は、制御装置10において、第1プロセッサにより出力されたデータを記憶する第3記憶手段の第3の例に相当する。
また、図13に示されるように、処理部31は、上記実施の形態に係る第1トレースプロセッサ311及び第2トレースプロセッサ312双方の機能を有する1つのトレースプロセッサ313を有してもよい。
また、上記実施の形態では、制御プロセッサ231と第1トレースプロセッサ311との間にデータ212を伝送するための記憶装置が介在したが、これには限定されない。例えば、図14に示されるように、第1トレースプロセッサ311を省略して制御装置10を構成し、制御プロセッサ231は、データバッファ33に直接データを書き込んでもよい。図14に示される例では、データバッファ33を有するメモリ35が、ある程度高速に書き込み可能な装置であることが好ましい。
また、図14に示されるようにデータバッファ33の数は3つより多くてもよい。制御装置10は、複数のデータバッファ33を有していればよい。
また、上記実施の形態では、制御システム100が、工場で製造ラインを稼働させる製造システムである例について説明したが、これには限定されない。制御システム100は、加工システム、検査システム、その他の処理システムであってもよいし、プラントにおけるプロセス制御を実行するシステムであってもよい。
本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本開示を説明するためのものであり、本開示の範囲を限定するものではない。つまり、本開示の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、本開示の範囲内とみなされる。
本開示は、データのロギングに適している。
100 制御システム、 10 制御装置、 101 システムバス、 20 CPUユニット、 21 データメモリ、 211 領域、 212 データ、 22 プログラムメモリ、 221 ユーザプログラム、 23 処理部、 231 制御プロセッサ、 232 外部ターゲットメモリ、 233 共有メモリ、 30 トレースユニット、 31 処理部、 310 内部ターゲットメモリ、 311 第1トレースプロセッサ、 312 第2トレースプロセッサ、 313 トレースプロセッサ、 32 大容量メモリ、 33,331〜333 データバッファ、 34 差分記憶部、 35 メモリ、 40 I/Oユニット、 50 産業用ネットワーク、 61,62 機器、 70 スキャン、 71 実行処理、 72 エンド処理。

Claims (8)

  1. 機器を制御するためのプログラムを繰り返し実行する第1ユニットと、第2ユニットと、を備える制御装置であって、
    前記第1ユニットは、
    前記プログラムを実行するためのデータを記憶する第1記憶手段と、
    前記プログラムを実行し、前記プログラムの実行処理が終了する度に実行するエンド処理において、ユーザから履歴を残すことが指定された前記第1記憶手段の記憶領域から前記データを読み出して出力する第1プロセッサと、を有し、
    前記第2ユニットは、
    前記第1プロセッサによって出力された前記データが予め定められた順に格納される複数のバッファと、
    前記複数のバッファのうちの2つの前記バッファに格納された前記データから前記データの差分を算出する第2プロセッサを有する処理手段と、
    前記第2プロセッサによって算出された前記差分を蓄積して記憶する第2記憶手段と、を有し、
    前記第1プロセッサは、前記データの出力が完了したことを前記処理手段に通知し、
    前記第2プロセッサは、前記第1プロセッサからの通知に基づいて、前記第1プロセッサによる前記プログラムの次の実行処理と並列して、前記データの前記差分を算出する、
    御装置。
  2. 前記第1プロセッサは、前記エンド処理において、前記データの比較又は演算を実行することなく、前記第1記憶手段から前記データを読み出して出力する、
    請求項1に記載の制御装置。
  3. 前記第1プロセッサにより出力された前記データを記憶する第3記憶手段、をさらに備え、
    前記処理手段は、前記第1プロセッサにより前記データが出力される毎に、前記第3記憶手段から前記データを読み出して、前記複数のバッファに予め定められた順に格納する、
    請求項1又は2に記載の制御装置。
  4. 前記処理手段は、前記第2プロセッサと、前記第3記憶手段から前記データを読み出して、前記複数のバッファに予め定められた順に格納する第3プロセッサと、を有する、
    請求項3に記載の制御装置。
  5. 前記第1プロセッサは、前記エンド処理が完了したことを前記処理手段に通知し、
    前記処理手段は、前記エンド処理が完了したことの通知に基づいて、前記第2プロセッサにおける前記算出、及び、前記第3プロセッサにおける前記格納を行って、前記算出及び前記格納が完了したことを前記第1プロセッサに通知し、
    前記第1プロセッサは、前記エンド処理が開始すると、前記算出及び前記格納が完了したことが通知されたと判定した場合に、前記第1記憶手段から前記データを読み出して出力する、
    請求項4に記載の制御装置。
  6. 前記第1ユニットと前記第2ユニットとが互いに信号を伝送するためのバス、を備える、
    請求項から5のいずれか一項に記載の制御装置。
  7. 前記複数のバッファは、3つ以上の前記バッファを有し、
    前記第2プロセッサは、前記データが書き込まれている前記バッファとは異なる2つの前記バッファ、又は、前記データが次に書き込まれる前記バッファとは異なる2つの前記バッファに格納された前記データから前記データの前記差分を算出する、
    請求項1から6のいずれか一項に記載の制御装置。
  8. 機器を制御するためのプログラムを繰り返し実行する制御装置によって実行されるロギング方法であって、
    前記プログラムを実行する第1プロセッサが、前記プログラムを実行するためのデータを、前記プログラムの実行処理が終了する度に実行するエンド処理において、ユーザから履歴を残すことが指定された第1記憶手段の記憶領域から読み出して出力する出力ステップと、
    第2プロセッサが、前記第1プロセッサによって出力された前記データが予め定められた順に格納される複数のバッファのうちの2つの前記バッファに格納された前記データから前記データの差分を算出する算出ステップと、
    前記差分を第2記憶手段に蓄積する蓄積ステップと、
    を含み、
    前記第1プロセッサは、前記データの出力が完了したことを、前記第2プロセッサを有する処理手段に通知し、
    前記第2プロセッサは、前記第1プロセッサからの通知に基づいて、前記第1プロセッサによる前記プログラムの次の実行処理と並列して、前記データの前記差分を算出する、
    ロギング方法。
JP2020561926A 2020-03-30 2020-03-30 制御装置及びロギング方法 Active JP6921342B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/014642 WO2021199192A1 (ja) 2020-03-30 2020-03-30 制御装置及びロギング方法

Publications (2)

Publication Number Publication Date
JP6921342B1 true JP6921342B1 (ja) 2021-08-18
JPWO2021199192A1 JPWO2021199192A1 (ja) 2021-10-07

Family

ID=77269522

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020561926A Active JP6921342B1 (ja) 2020-03-30 2020-03-30 制御装置及びロギング方法

Country Status (2)

Country Link
JP (1) JP6921342B1 (ja)
WO (1) WO2021199192A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56111905A (en) * 1980-02-07 1981-09-04 Mitsubishi Electric Corp Programmable sequence controller
JPS607814B2 (ja) * 1980-11-17 1985-02-27 富士通株式会社 ログ・デ−タ取得装置
JP2010211555A (ja) * 2009-03-11 2010-09-24 Meidensha Corp プログラマブルコントローラのデータトレース方法
JP2011113443A (ja) * 2009-11-30 2011-06-09 Mitsubishi Electric Corp ログ圧縮装置及びログ収集システム及びコンピュータプログラム及びログ圧縮方法
WO2012056537A1 (ja) * 2010-10-27 2012-05-03 三菱電機株式会社 プログラマブルコントローラ
JP2020013526A (ja) * 2018-10-23 2020-01-23 株式会社キーエンス プログラマブルロジックコントローラおよびメインユニット

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56111905A (en) * 1980-02-07 1981-09-04 Mitsubishi Electric Corp Programmable sequence controller
JPS607814B2 (ja) * 1980-11-17 1985-02-27 富士通株式会社 ログ・デ−タ取得装置
JP2010211555A (ja) * 2009-03-11 2010-09-24 Meidensha Corp プログラマブルコントローラのデータトレース方法
JP2011113443A (ja) * 2009-11-30 2011-06-09 Mitsubishi Electric Corp ログ圧縮装置及びログ収集システム及びコンピュータプログラム及びログ圧縮方法
WO2012056537A1 (ja) * 2010-10-27 2012-05-03 三菱電機株式会社 プログラマブルコントローラ
JP2020013526A (ja) * 2018-10-23 2020-01-23 株式会社キーエンス プログラマブルロジックコントローラおよびメインユニット

Also Published As

Publication number Publication date
WO2021199192A1 (ja) 2021-10-07
JPWO2021199192A1 (ja) 2021-10-07

Similar Documents

Publication Publication Date Title
US9778630B2 (en) Control device and system program for maintaining global variable and reference data consistency during parallel processing of multiple tasks
EP1953645A2 (en) Information processing apparatus, history management method
KR20110076432A (ko) Can 통신을 이용한 다중 프로그램 업데이트 시스템 및 방법
JP6921342B1 (ja) 制御装置及びロギング方法
JP4993208B2 (ja) 産業用コントローラ用機器
EP3015931B1 (en) Plc system with a webserver and a partitioned memory
JP6859922B2 (ja) 制御装置、制御装置の制御方法、情報処理プログラム、および記録媒体
JP2020147250A (ja) 電子制御装置
JPH09330106A (ja) バックアップ機能付制御システム
JP6808090B1 (ja) 制御装置および分散処理方法
US11953882B2 (en) Production system, control method, and information storage medium
CN114174939A (zh) 可编程逻辑控制器、设定工具及程序
KR20130029303A (ko) Plc 제어 방법
JP6686521B2 (ja) 制御システムおよび制御方法
JP6469330B1 (ja) モニタ支援装置、モニタ支援方法およびモニタ支援プログラム
JP5365875B2 (ja) 産業用コントローラ
JP4232589B2 (ja) 二重化コントローラ、その等値化モード決定方法
US10914580B2 (en) Measurement system, measurement program, and control method
JP4810488B2 (ja) 二重化制御装置、及びそのトラッキング方法
JP6309919B2 (ja) データ取得機能を有する数値制御装置
JP7076654B1 (ja) プログラマブルコントローラの通信ユニット、受信データ記憶方法及びプログラム
JP7010863B2 (ja) 制御装置、プログラム、及び無線通信機器
KR101017977B1 (ko) 복수개의 제어기의 리프로그래밍 방법
JP6631063B2 (ja) 電子装置
JP7044086B2 (ja) 制御システム、制御方法、および制御プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201104

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201104

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20201104

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20201203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210413

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210611

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210629

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210727

R150 Certificate of patent or registration of utility model

Ref document number: 6921342

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250