JP2009223586A - ビルディング・ブロック型のplc - Google Patents
ビルディング・ブロック型のplc Download PDFInfo
- Publication number
- JP2009223586A JP2009223586A JP2008066898A JP2008066898A JP2009223586A JP 2009223586 A JP2009223586 A JP 2009223586A JP 2008066898 A JP2008066898 A JP 2008066898A JP 2008066898 A JP2008066898 A JP 2008066898A JP 2009223586 A JP2009223586 A JP 2009223586A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- history
- cpu unit
- time
- abnormality
- 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
【課題】 CPUユニット及び各付属ユニットのそれぞれが生成した履歴をCPUユニット又はその他別のユニットに収集して、時系列的に並べ替え、総合履歴を作成するについて、作成された総合履歴上の事象配列順番と各事象の発生順番とを正確に対応付けることができること。
【解決手段】 CPUユニットに内蔵されるリアルタイムクロックは、想定される最短間隔で相前後して発生する2つの事象の発生時刻を識別可能な計時単位で現在時刻データを生成するものであること。
【選択図】 図11
【解決手段】 CPUユニットに内蔵されるリアルタイムクロックは、想定される最短間隔で相前後して発生する2つの事象の発生時刻を識別可能な計時単位で現在時刻データを生成するものであること。
【選択図】 図11
Description
この発明は、CPUユニットと1もしくは2以上の付属ユニット(例えば、入力ユニット、出力ユニット、その他モーションコントロールユニットやPIDユニット等々の高機能ユニット)とをシステムバスにて結んで構成され、かつPLCユニットには、現在時刻データを生成するリアルタイムクロックが内蔵されたビルディング・ブロック型のプログラマブル・コントローラ(以下、PLCと言う)に関する。
図12(a)に示されるように、CPUユニットと1もしくは2以上の付属ユニット(ユニットA、ユニットB、ユニットC)とをシステムバス(図示せず)にて結んで構成されるビルディング・ブロック型のPLCは従来より知られている。この種のPLCにおいては、CPUユニットは、当業者にはよく知られているように、プログラム実行処理、入出力更新処理、及び周辺サービス処理を含む一連の処理を所定のサイクルタイムでサイクリックに実行するように仕組まれている。
ところで、この種のPLCの運転中にあっては、故障を含む様々な事象が発生する。これらの事象を、その発生時刻と共に記録して、履歴を生成することができれば、その後の動作解析などに便利である。そのためには、それらの事象の発生時刻を特定するためのリアルタイムクロックが必要である(例えば、特許文献1参照)。
従来、このリアルタイムクロックは、コスト的な要因、あるいは同時性を維持することの困難性などのために、唯一CPUユニットにのみ内蔵するといった構成が採用されている。
そのため、CPUユニットに関しては、自機に内蔵されたリアルタイムクロックから直接に現在時刻データを取得できるのに対し、1もしくは2以上の付属ユニットのそれぞれについては、少なくともサイクルタイムを最小取得間隔として、CPUユニットからシステムバスを介して現在時刻データを取得するように仕組まれている。
そして、CPUユニットは、内蔵するリアルタイムクロックから取得される現在時刻データに基づいて所定の発生事象(様々な動作異常等)に関する履歴を生成する履歴生成処理を実行する一方、1もしくは2以上の付属ユニットのそれぞれは、CPUユニットからシステムバスを介して取得される現在時刻データに基づいて所定の発生事象(様々な動作異常等)に関する履歴を生成する履歴生成処理を実行することとなる。
特開平11−089074号公報
昨今、この種のPLCのサイクルタイムは、ユーザからの高速性及び高精度化の要望により、0.1ミリ秒又はそれ以下と短縮される傾向にあり、その結果、数ミリ秒ないし数十ミリ秒の時間間隔で異常事象の発生を検知することが可能となった。一方、CPUユニットに内蔵されるリアルタイムクロックとしては、通常のマイクロプロセッサに付属するリアルタイムクロックが採用されるため、現在時刻データの計時精度は1秒程度がせいぜいであった。
そのため、図12(b)に示されるように、CPUユニット内において、3つの異常(異常K、異常L、異常M)が順次に発生し、異常Lと異常Mとの発生間隔が1秒に満たない場合には、その発生順序は記録順序に従って推定できるものの、発生時刻については、「10:00:00」と同一となってしまい、それらを識別することができない。このような状況は、CPUユニットのみならず他の付属ユニット(ユニットA、ユニットB、ユニットC)においても同様に生ずる。
もっとも、同一のユニット内において複数の異常が時間をずらせて発生する場合には、異常履歴上における記録順序から、その発生順序を推定することがある程度可能であるため、さほど問題はない。
しかし、図12(c)に示されるように、相異なる2つのユニット(ユニットAとユニットB)のそれぞれにおいて、互いに1秒以下の間隔を隔てて、2つの異常(異常X、異常Y)が生ずるような場合、各異常は別々の異常履歴に記録されるため、それらの発生時刻が「11:14:21」として同一であると、両異常の発生順序を識別することができない。
そのため、例えば、複数のユニットのそれぞれにおける異常履歴を収集し、各異常事象を時系列に並べ替えた総合異常履歴を生成するような場合を想定すると、発生時刻が同一の異常事象が異なるユニット間で生ずることから、それらの並べ替えにおいて苦慮するという問題点がある。
この発明は、このような従来の問題点に着目してなされたものであり、その目的とするところは、以上説明したこの種のビルディング・ブロック型のPLCにおいて、各ユニット毎に生成された事象発生履歴を1箇所に集め、発生時刻データに基づいて時系列的な並べ替えを行う場合、その並べ替え後の配列が実際の事象発生順序と正確に対応するようにしたビルディング・ブロック型のPLCを提供することにある。
この発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
以上述べた本発明が解決しようとする課題は、以下の構成を有するビルディング・ブロック型のPLCにより解決することができると考えられる。
すなわち、このビルディング・ブロック型のPLCは、CPUユニットと1もしくは2以上の付属ユニットとをシステムバスにて結んで構成され、かつCPUユニットには、現在時刻データを生成するリアルタイムクロックが内蔵される。
ここで、「システムバス」については、バックプレーン方式のものと、スタッキング方式のものとの双方を含めることができる。すなわち、バックプレーン方式のものにあっては、上記のシステムバスはバックプレーン上に敷設され、各ユニットとはコネクタを介して接続される。一方、スタッキング方式のものにあっては、システムバスを分断してそれぞれのユニットに内蔵させ、隣接ユニット間をコネクタで接続することによって、一連のシステムバスが形成される。
CPUユニットは、プログラム実行処理、入出力更新処理、及び周辺サービス処理を含む一連の処理を所定のサイクルタイムでサイクリックに実行する。ここで、当業者にはよく知られているが、プログラム実行処理は、ユーザプログラムメモリからユーザプログラムを構成する各命令語を順次読み出して、入出力メモリの内容を参照しつつこれを実行し、その実行結果で入出力メモリの該当データの書き換えを行うものである。入出力更新処理とは、プログラム実行処理にて書き換えが完了した入出力データを、外部入出力回路を介して外部入出力端子との間でやり取りする処理である。また、周辺サービス処理は、他のPLCとの通信、リモートIOターミナルとの通信、プログラム開発支援装置との通信、などのように、様々な周辺機器との間の処理を実行するものである。
1もしくは2以上の付属ユニットのそれぞれは、少なくとも前記サイクルタイムを最小取得間隔として、前記CPUユニットからシステムバスを介して現在時刻データを取得する。具体的な取得タイミングについては、各付属ユニット毎に定められる。例えば、付属ユニットが入力ユニットや出力ユニットであれば、上述の入出力更新処理と関連して、それらのユニットは現在時刻データを取得することができる。一方、付属ユニットが、モーションコントロールユニット、PIDユニット、通信ユニット等々のように高機能ないしインテリジェント型のユニットの場合には、それぞれ独自の間隔で現在時刻データを取得することができる。
CPUユニットは、内蔵するリアルタイムクロックから取得される現在時刻データに基づいて所定の発生事象(例えば、様々な異常発生、その他あらかじめ予定された任意の動作)に関する履歴を生成する履歴生成処理を実行する一方、1もしくは2以上の付属ユニットのそれぞれは、CPUユニットからシステムバスを介して取得される現在時刻データに基づいて所定の発生事象(同上)に関する履歴を生成する履歴生成処理を実行する。
以上の構成において、本発明の主たる特徴とするところは、CPUユニットに内蔵されるリアルタイムクロックは、想定される最短間隔で相前後して発生する2つの事象の発生時刻を識別可能な計時単位で現在時刻データを生成する高精度リアルタイムクックとした点にある。
このような構成によれば、複数のユニットのそれぞれにおいて履歴生成処理が実行されたとしても、各ユニットの履歴に含まれる発生事象のそれぞれには一意の発生時刻が関連づけられるため、後に複数のユニットのそれぞれから履歴を収集すると共に、それらを合成して、時系列に並べ替えるについては、各事象と発生時刻とが確立的に一意であることから、各事象の発生順番と履歴中における各事象の記録順番とを正確に対応付けることができ、後日システム全体として任意の異常や予定された動作の発生順序を確認するような場合、これを誤りなく正確に行うことが可能となる。
本発明者等が取得した経験によれば、前記リアルタイムクロックとしては、秒単位で時刻データを生成する秒単位リアルタイムクロックとミリ秒単位以上の精度(例えば、ミリ秒単位、マイクロ秒単位等)を有するフリーラニングカウンタとに基づいてミリ秒以上の精度を有する時刻データを生成するものであることが好ましい。このような構成によれば、特に異常事象の発生に適用した場合、各発生した異常事象をその発生時刻によって明確に識別することができた。
また、本発明の好ましい実施の形態においては、前記CPUユニットには、各付属ユニットのそれぞれから履歴を読み出すと共に、読み出された履歴に含まれる各事象と自機内で生成された履歴に含まれる各事象とを合成し、それらの事象を発生時刻順に並べ替えることにより総合履歴を生成する機能が組み込まれる。
このような構成によれば、別途プログラム開発支援装置やプログラマブル表示器(プログラマブルターミナルなどとも称される)をPLCに接続し、CPUユニットから所定のデータを読み出すだけで、プログラム開発装置やプログラマブル表示器において合成や並べ替えといった処理を行うことなく、目的とする総合履歴を直接的に取得することが可能となる。
また、以上のビルディング・ブロック型PLCの別の利用形態としては、同様に別途プログラム開発装置やプログラマブル表示器などの外部装置を上述のPLCに接続した後、公知のデータ通信手順を利用することによって、CPUユニット及び各付属ユニットのそれぞれから履歴を読み出すと共に、読み出された各履歴に含まれる事象を合成し、それらの事象を発生時刻順に並べ替えることにより総合履歴をそれらの外部装置側における加工処理によって生成することも考えられる。
いずれにしても、本発明に係るビルディング・ブロック型のPLCにおいては、CPUユニットに内蔵されるリアルタイムクロックが、想定される最短間隔で相前後して発生する2つの事象の発生時刻を識別可能な計時単位で現在時刻データを生成するものであることから、様々な利用形態において目的とする総合履歴を取得することができるのである。
以上の説明で明らかなように、本発明によれば、CPUユニット及び各付属ユニットのそれぞれが生成した履歴をCPUユニット又はその他別のユニットに収集して、時系列的に並べ替え、総合履歴を作成するについて、作成された総合履歴上の事象配列順番と各事象の発生順番とを正確に対応付けることができ、これにより後日PLCの運転状態を正確に分析することができる。
以下に、この発明に係るビルディング・ブロック型PLCの好適な実施の一形態を添付図面を参照しながら詳細に説明する。
先に説明したように、本発明に係るPLCは、CPUユニット及び各付属ユニットのそれぞれで生成された発生事象の履歴を1箇所に収集し、これを合成して、発生時刻順に並べ替えるといった用途に好適なものである。このような用途に供されるPLCと開発支援装置とを含むシステム構成図が図1に示されている。
同図に示されるように、このシステムは、ビルディング・ブロック型のPLC1と例えばパソコンにプログラミングツールソフトをインストールして構成されるプログラム開発支援装置2とを通信線3を介して結んで構成される。
PLC1は、この例にあっては、CPUユニットU2と、1もしくは2以上の付属ユニット(この例では電源ユニットU1、入力ユニットU3、出力ユニットU4、通信ユニットU5、高機能ユニットU6とが例示される)とを図示しないシステムバスにて結んで構成される。なお、高機能ユニットU6としては、例えばモーションコントロールユニット、PIDユニット、その他各種のインテリジェントタイプのユニットを挙げることができる。
電源ユニットU1は、図示しない電源ラインを介して、各ユニットU2〜U6に対して電力供給を行うためのものである。この電源ユニットU1についても、昨今さまざまな高機能化が試みられており、それらの中には、システムバスを介して、CPUユニットU2との間で各種データ(回路部品の劣化程度を示すデータなど)をやり取りするものも現れている。
入力ユニットU3には、外部入力端子と、外部入力端子から入力データを取り込むと共に、これをシステムバスを介してCPUユニットU2へと送り出す入力回路とが含まれている。また、出力ユニットU4には、外部出力端子と、システムバスから到来する出力データをそれら外部出力端子へと送出するための外部出力回路とが含まれている。
また、通信ユニットU5には、プログラム開発支援装置2と通信ライン3を介して通信を行うための各種のハードウェア及びプロトコルをサポートするためのソフトウェアが含まれている。なお、高機能ユニットU6は、それぞれその種類に応じた専用のマイクロコンピュータシステムが組み込まれている。
それらのユニットU1〜U6には、後に図5を参照して説明するように、それぞれ該当する異常発生時の対応処理が組み込まれている。
次に、CPUユニットU2のハードウェア構成図が図2に示されている。同図に示されるように、このCPUユニットU2は、マイクロプロセッサ(MPU)101と専用集積回路(ASIC)102とを主体として構成される。
マイクロプロセッサ(MPU)101には、1秒単位で現在時刻が計時可能な秒単位リアルタイムクロック(RTC)101aが付設されている。この秒単位リアルタイムクロック(RTC)101aは例えば専用の時計回路で構成されており、現在時刻を1秒単位で計測することが可能とされている。
マイクロプロセッサ(MPU)101は、CPUユニット全体を統括制御するものであり、システムプログラムメモリ(SROM)103に格納されたシステムプログラムを、ワークメモリ(WRAM)104をワークエリアとして使用して実行することによって、CPUユニットとして必要な各種の機能を実現するようになされている。このCPUユニットとして必要な各種の機能については、後に図3のフローチャートを参照して説明する。
バックアップメモリ(BROM)105は、例えばプログラム開発支援装置2などから送り込まれたユーザプログラム(ラダー言語を使用して作成した場合にはラダープログラムと呼ばれることもある)を格納する不揮発性のメモリで構成されており、ここに格納されたユーザプログラムは電源ON時に、高速アクセス可能なメモリで構成されたユーザメモリ(UM)106へと転送記憶される。
入出力メモリ(IOM)107は、先に説明した入力ユニットU3及び出力ユニットU4の各外部端子に対応する入出力データのバッファエリアとして機能するものであり、後述するユーザプログラムの実行に当たっては、この入出力メモリ(IOM)107の格納データが参照される。
専用集積回路(ASIC)102は、主としてユーザプログラムの実行に特化された回路構成を有し、マイクロプロセッサ101でプログラム実行処理を行う際に、この専用集積回路(ASIC)102は、ユーザメモリ(UM)106から順次各命令語を読み出すと共に、これを入出力メモリ(IOM)107の入出力データを参照しながら実行し、その実行結果で再び入出力メモリ(IOM)107の入出力データの書き換えを行う。
こうして書き換えが終了した入出力メモリ(IOM)107の入出力データは、マイクロプロセッサ(MPU)101が入出力更新処理(I/Oリフレッシュ)を実行すると共に、入出力メモリ(IOM)107から読み出され、出力ユニットU4へと転送されると共に、入力ユニットU3から取り込まれた入力データは、入出力メモリ(IOM)107の入力データへと書き込まれる。
なお、符号201が付されているのは入出力データが行き交うI/Oバス(システムバスでもある)であり、このI/Oバス201を経由して各ユニットU1〜U6は現在時刻データの伝達を行うこととなる。
また、本発明に関連して新たに設けられた構成としては、専用集積回路(ASIC)102内に設けられたミリ秒単位フリーラニングカウンタ102aを挙げることができる。このミリ秒単位フリーラニングカウンタ102aは、ミリ秒単位で加算動作または減算動作するハードウェアカウンタで構成されており、このミリ秒単位フリーラニングカウンタ102aのカウント値が、後述するように、先に説明した秒単位リアルタイムクロック(RTC)101aのカウント値データの最下位に付加されることによって、ミリ秒単位の現在時刻データが生成されることとなる。
次に、CPUユニット及び他ユニットの処理を示すフローチャートが図3に示されている。なお、ここで他ユニットとは、例えば図1に示されるように、電源ユニットU1、入力ユニットU3、出力ユニットU4、通信ユニットU5、高機能ユニットU6などを意味している。
図3において処理が開始されると、CPUユニットU2の側においては、電源投入時処理(各種フラグやレジスタ類の初期設定など)101を実行した後、以後、共通処理102、プログラム実行処理103、I/Oリフレッシュ(入出力更新)処理104、及び周辺サービス処理105を含む一連の処理を所定のサイクルタイムをもってサイクリックに実行する。すなわち、ここで、サイクルタイムとは、共通処理102、プログラム実行処理103、I/Oリフレッシュ処理104、及び周辺サービス処理105の一巡実行時間に相当する。
それらの処理102〜105は、当業者においてはよく知られたものであるから簡単に説明すると、共通処理102はメモリチェック等のハードウェアチェックを主として行う処理であり、プログラム実行処理103とは先に説明したように、ユーザプログラムメモリ106から順次命令語を読み出して、入出力メモリ(IOM)107の入出力データを参照し、それにより、当該命令を専用集積回路(ASIC)102によって実行し、その実行結果で再び、入出力メモリ(IOM)107の入出力データの書き換えを行うといった処理である。
I/Oリフレッシュ(入出力更新)処理104は、プログラム実行によって書き換えが完了した入出力メモリ(IOM)107の出力データを出力ユニットU4から外部へと送り出すと共に、入力ユニットU3から取り込まれた入力データを入出力メモリ(IOM)107の入力エリアに書き込む処理である。
さらに周辺サービス処理(ステップ105)とは、通信ユニットU5を介してプログラム開発支援装置2と各種のデータのやり取りを行ったり、図1には図示されないが、他のPLCあるいはリモートIOターミナルなどとの間で入出力データのやり取りを行うといった周辺サービス処理が実行される。
一方、図3において、他のユニットの側においては、当該ユニット固有の通常時の処理(ステップ111)を実行しつつ、周期的にCPUユニットとデータ交換を行うことによって(ステップ112)、CPUユニットとは非同期に、あるいは同期して、連繋動作を行う。
そして、この連繋動作に際して、CPUユニットにて生成されたミリ秒単位の現在時刻データの取得が行われる。この現在時刻データは、先に説明したように、現在時刻をミリ秒単位で表すものであるから、後述するように、もしも他ユニットの側で何らかの異常が発生したような場合、その異常をミリ秒単位又はマイクロ秒単位で履歴に残すことができる。
次に、異常検知時の処理を図4及び図5を参照しながら説明する。CPUユニットの異常検知時の処理を示すフローチャートが図4に、CPUユニット以外の各ユニットの異常検知時の処理を示すフローチャートが図5にそれぞれ示されている。
CPUユニットU2内には、先に説明したように、秒単位リアルタイムクロック(RTC)101aとミリ秒単位フリーラニングカウンタ(FRC)102aとからミリ秒単位の時刻情報を生成するリアルタイムクロックが内蔵されると共に、あらかじめ設定された各種の動作異常をセンス処理又は割込処理で検出し、これにより異常履歴を生成する処理が組み込まれている。
すなわち、図4に示されるように、CPUユニットU2内において想定される何らかの動作異常が発生すると、この処理が開始されて、まずあらかじめ用意された異常のそれぞれごとの処理が実行された後(ステップ201)、異常登録処理(ステップ202)が実行され、その実行完了と共に、必要に応じて運転停止処理(ステップ203)が実行される。
異常登録処理(ステップ202)の詳細を示すフローチャートが図8に示されている。同図に示されるように、異常登録処理が開始されると、まず、その異常の種類毎の処理へと分岐された後(ステップ601)、各異常(1)〜(n)のそれぞれに対応するデータの収集が行われ(ステップ602〜604)、その後ミリ秒単位の時刻情報の取得が行われ(ステップ605)、最後に取得されたミリ秒単位の時刻データは異常履歴に書き込まれて処理は終了する(ステップ606)。
上述のミリ秒単位の時刻情報の取得処理においては、図9に示されるように、まず、秒単位リアルタイムクロック(RTC)101aから年月日時分秒データの取得が行われ(ステップ701)、続いてミリ秒単位フリーラニングカウンタ(FRC)からミリ秒データの取得が行われる(ステップ702)。これにより、CPUユニットを構成するマイクロプロセッサ(MPU)101では、異常が発生した現在時刻データを正確にミリ秒単位で取得することができる。なお、フリーラニングカウンタ(FRC)102aが、マイクロ秒単位で時刻データを生成するものであれば、このステップ702の処理において、フリーラニングカウンタからマイクロ秒単位で時刻データの取得が行われることとなる。
以上、CPUユニットにおける異常発生時の現在時刻データ取得に関する処理であるが、CPUユニット以外の各ユニットにおける異常検知時の処理についても同様である。すなわち、図5に示されるように、CPUユニット以外の各ユニットにおいて異常が発生すれば、CPUユニットの場合と同様にして、異常ごとの処理を実行した後(ステップ301)、異常登録処理(ステップ302)及び必要に応じた運転停止処理(ステップ303)が同様にして実行される。なお、異常登録処理(ステップ302)及び運転停止処理(ステップ303)については、CPUユニットの場合と同様であるから、重複説明は回避するものとする。
一方、この実施形態においては、ユーザプログラム中に、公知の異常発生命令を組み込むことが可能とされている。この異常発生命令は、異常発生に相当する状態を専用の入力接点で記述し、これと直列に異常発生命令をラダー図上に記述することによって、そのような異常発生と共に、その旨を発生時刻データと共に異常履歴上に登録することができるのである。
図6には、そのような異常発生命令を含むラダープログラムとその実行により得られる異常履歴表示例との関係が示されている。同図から明らかなように、入力接点401がオン状態となることによって、異常発生命令402が動作して、異常Bが異常履歴上に登録され、同様にして、入力接点403がオン状態となることによって、異常発生命令404が動作し、異常Cが同様にしてCPUユニットの異常履歴に登録されることとなる。
この例によれば、センサBに関するエリアに不正な侵入者が入って(=センサ401がオンした)からその侵入者がセンサCに関するエリアに入る(=センサ403がオンした)までの時間は、10:00:00:46−10:00:00:23=23ミリ秒であることが分かる。
この場合にも、本発明における新たなミリ秒単位のリアルタイムクロックは、ミリ秒単位で現在時刻を生成することができるため、わずか23ミリ秒の時差で発生した2つの異常(異常Aと異常B)を明確に識別することができる。
図7には、このような異常発生命令の含まれるラダープログラムが実行される際の処理が示されている。図から明らかなように、ユーザプログラムの実行中に、図6に示される異常発生命令402,404が読み出されて実行されると、その命令固有の異常に対応した処理が行われた後(ステップ501)、本発明の要部であるところの異常登録処理(ステップ502)が実行される。この異常登録処理(ステップ502)は、先に説明したように、図8及び図9のフローチャートに示されている。
このように、以上の実施形態によれば、CPUユニット又はその他のユニットのいずれかにおいて、想定された異常が発生すれば、直ちにその異常発生時刻に対応する時刻データが、CPUユニット内においてミリ秒単位のリアルタイムクロックで生成されて、そのデータが異常履歴上に書き込まれるため、従前の秒単位でしか現在時刻データを生成できなかったリアルタイムクロックの場合に比べ、高精度に各異常の発生時刻を記録に留めることができる。
そして、図3のフローチャートに示される一連の処理(ステップ102〜105)の実行に要するサイクルタイムは、昨今の高性能なPLCにおいては、0.1ミリ秒程度から数秒までが普通であるから、想定される異常の発生頻度を考慮すれば、あらゆる異常が発生したとしても、各異常それぞれに固有な一意的な現在時刻データをこれに割り当てることができ、従って、図1に示されるようなシステムにおいて、例えばCPUユニットU2に所定のタイミングで、その他のユニットU1,U3〜U6から異常履歴データを収集し、これを合成すると共に、発生時刻データに基づき並べ替える処理を組み込めば、こうして並べ替えが終了した総合履歴データをプログラム開発支援装置2から吸い上げるだけでプログラム開発支援装置は、PLC1を構成するすべてのユニットで生じた異常データを、時系列的に並べたものを確認し、動作の分析に供することができる。
また、上述のデータ収集、データ合成、及びデータ並べ替えを、プログラム開発支援装置2の側で行うようにしても、こうして収集される異常時刻発生データは、確率的に言って、殆ど重複することはないであろうから、それらの発生時刻データに基づいて、それらのデータを発生時刻の順番で正確に並べ替えることが可能となる。
なお、その際に、各ユニットU1〜U6から異常履歴データを吸い上げるについては、従来からこの種のPLCに備え付けられた、通信ユニットU5と各ユニットの間のデータ更新処理を利用すれば良いことは、当業者であれば容易に理解されるであろう。
本発明による作用効果を説明するための図が図10に示されている。同図に示されるように、例えば図10(a)に示されるようなPLCのユニット配列が存在する場合、本発明によれば、同図(b)に示されるように、各ユニット内においては各発生事象と発生時刻とが一意に定まるから、これを統合して並べ替えたものとしては、同図(c)に示されるように、発生時刻と配列順番とが正確に対応することとなり、このような総合化された異常履歴によって、各異常の発生順番を正確に認識しつつ、的確な動作診断が可能となるのである。
最後に、CPUユニット、ユニットA、及びユニットBのそれぞれが作成した異常履歴をプログラム開発支援装置が収集することで、総合化された異常履歴を生成する手順を図11に示す。
ユーザが、プログラム開発支援装置において、異常履歴参照指令を行うと(ステップ801)、プログラム開発支援装置が作動して、CPUユニットからの異常履歴の読み出し(ステップ811,821)、ユニットAからの異常履歴の読み出し(ステップ812,822)、及びユニットBからの異常履歴の読み出し(ステップ803,823)が順次に行われる。しかるのち、プログラム開発支援装置は、それらの読み出された各異常履歴を時刻毎にソートし(ステップ814)、時刻毎に合成し(ステップ815)、最後に、PLC全体の総合異常履歴として全ユニット分の異常履歴を時刻順に表示する(ステップ816)。
こうして得られる総合異常履歴は、各発生異常を正確に時刻順に並べたものとなるため、システム全体として、個々の異常がどのような順序でどの時刻に発生したかを正確に確認することができる。
本発明によれば、CPUユニット及び各付属ユニットのそれぞれが生成した履歴をCPUユニット又はその他別のユニットに収集して、時系列的に並べ替え、総合履歴を作成するについて、作成された総合履歴上の事象配列順番と各事象の発生順番とを正確に対応付けることができ、これにより後日PLCの運転状態を正確に分析することができる。
1 PLC
2 プログラム開発支援装置
3 通信ライン
101 マイクロプロセッサ(MPU)
101a リアルタイムクロック(RTC)
102 専用集積回路(ASIC)
102a フリーラニングカウンタ
103 システムメモリ(SROM)
104 ワークメモリ(WRAM)
105 バッファメモリ(BROM)
106 ユーザメモリ(UM)
107 入出力メモリ(IOM)
201 I/Oバス(システムバス)
U1 電源ユニット
U2 CPUユニット
U3 入力ユニット
U4 出力ユニット
U5 通信ユニット
U6 高機能ユニット
2 プログラム開発支援装置
3 通信ライン
101 マイクロプロセッサ(MPU)
101a リアルタイムクロック(RTC)
102 専用集積回路(ASIC)
102a フリーラニングカウンタ
103 システムメモリ(SROM)
104 ワークメモリ(WRAM)
105 バッファメモリ(BROM)
106 ユーザメモリ(UM)
107 入出力メモリ(IOM)
201 I/Oバス(システムバス)
U1 電源ユニット
U2 CPUユニット
U3 入力ユニット
U4 出力ユニット
U5 通信ユニット
U6 高機能ユニット
Claims (5)
- CPUユニットと1もしくは2以上の付属ユニットとをシステムバスにて結んで構成され、かつ前記CPUユニットには、現在時刻データを生成するリアルタイムクロックが内蔵され、
前記CPUユニットは、プログラム実行処理、入出力更新処理、及び周辺サービス処理を含む一連の処理を所定のサイクルタイムでサイクリックに実行し、
前記1もしくは2以上の付属ユニットのそれぞれは、少なくとも前記サイクルタイムを最小取得間隔として、前記CPUユニットからシステムバスを介して現在時刻データを取得し、
前記CPUユニットは、内蔵するリアルタイムクロックから取得される現在時刻データに基づいて所定の発生事象に関する履歴を生成する履歴生成処理を実行し、かつ前記1もしくは2以上の付属ユニットのそれぞれは、CPUユニットからシステムバスを介して取得される現在時刻データに基づいて所定の発生事象に関する履歴を生成する履歴生成処理を実行するようにしたビルディング・ブロック型のPLCであって、
前記CPUユニットに内蔵されるリアルタイムクロックは、想定される最短間隔で相前後して発生する2つの事象の発生時刻を識別可能な計時単位で現在時刻データを生成する高精度リアルタイムクロックであることを特徴とするビルディング・ブロック型のPLC。 - 前記高精度リアルタイムクロックは、秒単位で時刻データを生成する秒単位リアルタイムクロックとミリ秒単位以上の精度を有するフリーラニングカウンタとに基づいてミリ秒以上の精度を有する時刻データを生成する、ことを特徴とする請求項1に記載のビルディング・ブロック型のPLC。
- 前記CPUユニット又は1もしくは2以上の付属ユニットで実行される所定の履歴生成処理が、異常履歴生成処理であることを特徴とする請求項1に記載のビルディング・ブロック型のPLC。
- 前記CPUユニットには、各付属ユニットのそれぞれから履歴を読み出すと共に、読み出された履歴に含まれる各事象と自機内で生成された履歴に含まれる各事象とを合成し、それらの事象を発生時刻順に並べ替えることにより総合履歴を生成する機能が組み込まれていることを特徴とする請求項1に記載のビルディング・ブロック型のPLC。
- 請求項1〜3のいずれかに記載のビルディング・ブロック型のPLCと、プログラム開発支援装置又はプログラマブル表示器等の外部装置とを通信を介して結んで構成されるPLCシステムであって、
前記外部装置には、前記PLCからCPUユニット及び各付属ユニットの履歴を読み出すと共に、読み出された各履歴に含まれる事象を合成し、それらの事象を発生時刻順に並べ替えることにより総合履歴を生成して表示させる機能が組み込まれていることを特徴とするPLCシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008066898A JP2009223586A (ja) | 2008-03-15 | 2008-03-15 | ビルディング・ブロック型のplc |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008066898A JP2009223586A (ja) | 2008-03-15 | 2008-03-15 | ビルディング・ブロック型のplc |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009223586A true JP2009223586A (ja) | 2009-10-01 |
Family
ID=41240292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008066898A Pending JP2009223586A (ja) | 2008-03-15 | 2008-03-15 | ビルディング・ブロック型のplc |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009223586A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014229313A (ja) * | 2013-05-20 | 2014-12-08 | エルエス産電株式会社Lsis Co., Ltd. | データ保存方法 |
US10108187B2 (en) | 2014-03-14 | 2018-10-23 | Omron Corporation | Control device, control system, support device, and control-device maintenance management method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04259195A (ja) * | 1991-02-14 | 1992-09-14 | Toshiba Corp | 分散形制御システム |
JPH07181112A (ja) * | 1993-12-21 | 1995-07-21 | Aisin Aw Co Ltd | 車両用電子制御装置の自己故障診断方法及び装置 |
JP2000330625A (ja) * | 1999-05-18 | 2000-11-30 | Yokogawa Electric Corp | イベント収集装置 |
JP2002116929A (ja) * | 2000-10-10 | 2002-04-19 | Toshiba Corp | 履歴情報管理方法及び履歴情報管理機能を備えたシステム |
JP2007249936A (ja) * | 2006-02-14 | 2007-09-27 | Omron Corp | Plcのモニタシステム |
-
2008
- 2008-03-15 JP JP2008066898A patent/JP2009223586A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04259195A (ja) * | 1991-02-14 | 1992-09-14 | Toshiba Corp | 分散形制御システム |
JPH07181112A (ja) * | 1993-12-21 | 1995-07-21 | Aisin Aw Co Ltd | 車両用電子制御装置の自己故障診断方法及び装置 |
JP2000330625A (ja) * | 1999-05-18 | 2000-11-30 | Yokogawa Electric Corp | イベント収集装置 |
JP2002116929A (ja) * | 2000-10-10 | 2002-04-19 | Toshiba Corp | 履歴情報管理方法及び履歴情報管理機能を備えたシステム |
JP2007249936A (ja) * | 2006-02-14 | 2007-09-27 | Omron Corp | Plcのモニタシステム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014229313A (ja) * | 2013-05-20 | 2014-12-08 | エルエス産電株式会社Lsis Co., Ltd. | データ保存方法 |
US10108187B2 (en) | 2014-03-14 | 2018-10-23 | Omron Corporation | Control device, control system, support device, and control-device maintenance management method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8959399B2 (en) | Capturing data during operation of an industrial controller for the debugging of control programs | |
JP6626315B2 (ja) | プログラマブル・ロジック・コントローラのモニタ装置及びプログラマブル・ロジック・コントローラ・システム | |
US20170068229A1 (en) | Control system, method, program, and information processing device | |
US20140018939A1 (en) | Control device and system program | |
JP5684950B2 (ja) | データ収集システム及びデータ収集システムプログラム | |
JP2018159981A (ja) | 制御システム、制御装置、制御プログラム、および制御方法 | |
CN108549591A (zh) | 一种嵌入式***的黑匣子装置及其实现方法 | |
JP6481267B2 (ja) | プログラマブル表示器 | |
US9400734B2 (en) | Apparatuses and methods for generating event codes including event source | |
EP3901721A1 (en) | Control device and program | |
US10890889B2 (en) | Method of monitoring and assessing the operation of an industrial installation driven by a programmable controller and equipment implementing said method | |
JP2018088177A (ja) | 情報処理装置、情報処理システム、情報処理方法、および情報処理プログラム | |
CN114545828A (zh) | 分散控制***运行逻辑展示方法、装置、设备及存储介质 | |
CN106250279A (zh) | 除错方法及其装置 | |
JP2544960B2 (ja) | プログラマブル制御装置 | |
JP2009223586A (ja) | ビルディング・ブロック型のplc | |
TWI492004B (zh) | 可程式邏輯控制器、可程式邏輯控制系統及執行錯誤資訊作成方法 | |
CN112673326A (zh) | 控制装置及控制程序 | |
CN100442178C (zh) | 可编程控制器*** | |
JP2008109789A (ja) | 制御装置およびそのパラメータの処理方法 | |
US20140019945A1 (en) | Software instrumentation apparatus and method | |
JP4497317B2 (ja) | 制御装置の時計同期 | |
CN211669522U (zh) | 基于氮气发生器的控制*** | |
JPH0326130A (ja) | 制御装置 | |
JPH1097446A (ja) | ロギング管理方法及びロギング用時計及び情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110107 |
|
A977 | Report on retrieval |
Effective date: 20120124 Free format text: JAPANESE INTERMEDIATE CODE: A971007 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120201 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120530 |