JP7076654B1 - プログラマブルコントローラの通信ユニット、受信データ記憶方法及びプログラム - Google Patents

プログラマブルコントローラの通信ユニット、受信データ記憶方法及びプログラム Download PDF

Info

Publication number
JP7076654B1
JP7076654B1 JP2021557852A JP2021557852A JP7076654B1 JP 7076654 B1 JP7076654 B1 JP 7076654B1 JP 2021557852 A JP2021557852 A JP 2021557852A JP 2021557852 A JP2021557852 A JP 2021557852A JP 7076654 B1 JP7076654 B1 JP 7076654B1
Authority
JP
Japan
Prior art keywords
received data
storage means
communication
storage
stored
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
JP2021557852A
Other languages
English (en)
Other versions
JPWO2022190186A1 (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 JP7076654B1 publication Critical patent/JP7076654B1/ja
Publication of JPWO2022190186A1 publication Critical patent/JPWO2022190186A1/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
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

プログラマブルコントローラの通信ユニット(100)は、通信装置にネットワークを介して接続される。通信ユニット(100)は、プログラマブルコントローラの第1記憶部(140)が有する記憶領域であって、通信装置に割り当てられた記憶領域に書き込むべきデータの通信装置からの受信を予め定められた周期毎に実行することで、記憶領域に記憶されるデータを通信装置と共有する通信部(120)と、通信部(120)によって受信されたデータが記憶領域に書き込まれる前に受信データとして順次格納される受信バッファ(130)と、受信バッファ(130)に格納された受信データに関する予め定められた異常を検出する検出部(150)と、検出部(150)によって異常が検出された受信データを含む複数の受信データを受信バッファ(130)から読み出して第2記憶部(170)に格納する格納部(160)と、を備える。

Description

本開示は、プログラマブルコントローラの通信ユニット、受信データ記憶方法及びプログラムに関する。
FA(Factory Automation)の現場では、プログラマブルコントローラが他の通信装置とネットワークを介して通信することにより多数の機器を制御するシステムが構築される。この種の制御のための通信では、機器を協調制御するためにリアルタイム性が重視される。すなわち、装置同士が情報を短時間のうちに共有することを保証するために、データを共有するための通信が比較的短い周期で繰り返し実行される。このため、ネットワーク上では高速で大容量のデータが伝送される。
このようなネットワークを介した通信において異常が発生したときに伝送されていたデータを確認するための技術が提案されている(例えば、特許文献1を参照)。特許文献1には、通信パケットを記憶部に保存しておき、通信の異常停止時に、記憶部に保存されている通信パケットを解析して異常停止原因を究明する技術について記載されている。
特開2016―122319号公報
しかしながら、特許文献1の技術では、通信が異常停止するまで大量の通信パケットの保存が継続されるため、異常が発生していない通常時における処理負荷が大きくなってしまう。このため、通常時におけるプログラマブルコントローラの処理能力が制限されるおそれがある。また、特許文献1の技術では、通信の停止を伴わない異常が発生した場合には、異常の発生後に新たな通信パケットを記憶部に格納するために、異常の発生時の通信パケットが削除されてしまう。このため、プログラマブルコントローラによる通信における異常の原因の究明が困難になるおそれがある。
本開示は、上記の事情に鑑みてなされたものであり、プログラマブルコントローラの処理負荷を軽減しつつ、通信における異常の原因の究明を容易にすることを目的とする。
上記目的を達成するため、本開示のプログラマブルコントローラの通信ユニットは、通信装置にネットワークを介して接続されるプログラマブルコントローラの通信ユニットであって、プログラマブルコントローラの第1記憶手段が有する第1記憶領域であって、通信装置に割り当てられた第1記憶領域に書き込むべきデータの通信装置からの受信を予め定められた周期毎に実行することで、第1記憶領域に記憶されるデータを通信装置と共有する通信手段と、通信手段によって受信されたデータが第1記憶領域に書き込まれる前に受信データとして順次格納される受信バッファと、受信バッファに格納された受信データに関する予め定められた異常を検出する検出手段と、検出手段によって異常が検出された受信データを含む複数の受信データのサイズと第2記憶手段の未使用の領域とを比較して、第2記憶手段に複数の受信データの保存が可能であると判定した場合に、複数の受信データを受信バッファから読み出して第2記憶手段に格納し、第2記憶手段に複数の受信データの保存が可能でないと判定した場合に、複数の受信データを第2記憶手段に格納しない格納手段と、を備え、格納手段は、検出手段によって検出された異常の種別を示すエラーコードに対応する受信データを保存することが予め設定されている場合に、該エラーコードを、検出手段によって異常が検出された受信データに付加して、該受信データを含む複数の受信データを第2記憶手段に格納し、エラーコードに対応する受信データを保存することが設定されていない場合には、受信データを第2記憶手段に格納しない
本開示によれば、検出手段が、受信バッファに格納された受信データに関する予め定められた異常を検出して、格納手段が、検出手段によって異常が検出された受信データを含む複数の受信データを受信バッファから読み出して第2記憶手段に格納する。このため、プログラマブルコントローラの処理負荷を軽減しつつ、通信における異常の原因の究明を容易にすることができる。
実施の形態に係る制御システムの構成を示す図 実施の形態に係るサイクリック通信について説明するための図 実施の形態に係るFA装置のハードウェア構成を示す図 実施の形態に係る通信ユニットの機能的な構成を示す図 実施の形態に係るサイクリック通信処理を示すフローチャート 実施の形態に係るバッファデータ保存処理を示すフローチャート 実施の形態に係る設定情報の一例を示す図
以下、本開示の実施の形態に係るプログラマブルコントローラについて、図面を参照しつつ詳細に説明する。
実施の形態.
本実施の形態に係る制御システム1000は、工場に設置されるFAシステムとしての生産システム、検査システム、加工システム、その他のシステムの一部に相当する。図1に示されるように、制御システム1000は、プログラマブルコントローラとしてのPLC(Programmable Logic Controller)10と、PLC10にネットワーク40を介して接続される通信装置21,22と、PLC10及び通信装置21,22の通信を中継するスイッチングハブ30と、を有する。本実施の形態に係るPLC10は、ネットワーク40を介した通信の異常の直前に受信したデータを退避させて事後の検証のために保存する機能を有する。
ネットワーク40は、フィールドネットワークに代表される産業用ネットワークである。詳細には、PLC10及び通信装置21,22をそれぞれネットワークケーブルでスイッチングハブ30に接続することにより、ネットワーク40が形成される。
PLC10は、ネットワーク40を介して通信する通信ユニット100と、ユーザにより設定された制御プログラムを実行することでPLCの構成要素を制御するCPU(Central Processing Unit)ユニット101と、機器50からの信号の入力を受け付けるとともに機器50へ信号を出力するI/O(Input/Output)ユニット102と、を有する。通信ユニット100、CPUユニット101及びI/Oユニット102はそれぞれ、不図示のベースユニットに取り付けられることで、ベースユニット内のシステムバスを介して互いに信号を送受信するモジュールである。
機器50は、例えば、ラインに設置されたセンサ、アクチュエータ、ロボット、その他のFA機器である。I/Oユニット102がCPUユニット101からの指示に従って信号を入出力することにより、I/Oユニット102に接続された機器50が制御される。また、通信ユニット100がCPUユニット101からの指示に従って、PLC10と同様に構成される通信装置21と通信することにより、通信装置21に接続されている機器50が、PLC10に接続されている機器50と協調して制御される。例えば、PLC10に接続されたロボットである機器50は、通信装置21に接続されたセンサである機器50からの入力に応じて、予め制御プログラムにおいて定められた動作を実行する。制御プログラムは、ラダープログラムであってもよいし、他のプログラムであってもよい。
通信装置21は、プログラマブルコントローラである。通信装置22は、プログラマブルコントローラであってもよいし、他の装置であってもよい。
図2には、通信ユニット100及び通信装置21,22による通信方式について模式的に示されている。以下では、通信ユニット100及び通信装置21,22を総称してFA装置20と適宜表記する。図2に示されるように、FA装置20はそれぞれ、共通のデータが格納されるサイクリックメモリ60を有する。サイクリックメモリ60は、通信ユニット100を有するPLC10に割り当てられた記憶領域610と、通信装置21に割り当てられた記憶領域621と、通信装置22に割り当てられた記憶領域622と、を有する。これらの記憶領域610,621,622にはそれぞれ、割り当てられた装置によって更新されるデータが格納される。例えば、記憶領域610には、通信ユニット100によって更新されるデータが格納され、記憶領域610に格納されたデータは、通信装置21,22によって更新されることはない。ただし、通信装置21,22のサイクリックメモリ60内の記憶領域610には、通信装置21,22によって通信ユニット100から受信されたデータが格納される。
通信ユニット100及び通信装置21,22は、予め定められた周期毎にサイクリックメモリ60に記憶されるデータを共有するためのサイクリック通信を実施する。詳細には、図2に示されるように、周期T1において、各FA装置20が、サイクリックメモリ60の内容を更新するためのデータを送信する。例えば、通信ユニット100が、記憶領域610の内容を更新するためのデータを通信装置21,22に送信することが、実線の矢印により示されている。同様に、通信装置21,22もそれぞれ、周期T1において、記憶領域621,622の内容を更新するためのデータを送信する。そして、周期T1の終了時刻までにサイクリックメモリ60の内容が通信ユニット100及び通信装置21,22で共有される。
周期T1と同様の通信が、次の周期T2以降でも実施される。周期T1,T2の長さは、例えば、1マイクロ秒以下又は1ミリ秒以下である。周期T1,T2は、FA装置20がNTP(Network Time Protocol)サーバに接続されて時刻を管理することにより規定される周期であってもよいし、いずれかのFA装置20がマスタ装置としてデータを送信するたびに開始する周期であってもよい。
FA装置20は、そのハードウェア構成として、図3に示されるように、プロセッサ201と、主記憶部202と、補助記憶部203と、入力部204と、出力部205と、通信部206と、を有する。主記憶部202、補助記憶部203、入力部204、出力部205及び通信部206はいずれも、内部バス207を介してプロセッサ201に接続される。
プロセッサ201は、集積回路であるCPU(Central Processing Unit)又はMPU(Micro Processing Unit)を含む。プロセッサ201は、補助記憶部203に記憶されるプログラムP1を実行することにより、FA装置20の種々の機能を実現して、後述の処理を実行する。
主記憶部202は、RAM(Random Access Memory)を含む。主記憶部202には、補助記憶部203からプログラムP1がロードされる。そして、主記憶部202は、プロセッサ201の作業領域として用いられる。
補助記憶部203は、EEPROM(Electrically Erasable Programmable Read-Only Memory)に代表される不揮発性メモリを含む。補助記憶部203は、プログラムP1の他に、プロセッサ201の処理に用いられる種々のデータを記憶する。補助記憶部203は、プロセッサ201の指示に従って、プロセッサ201によって利用されるデータをプロセッサ201に供給し、プロセッサ201から供給されたデータを記憶する。
入力部204は、入力キー、ボタン及びスイッチに代表される入力デバイスを含む。入力部204は、FA装置20のユーザによって入力された情報を取得して、取得した情報をプロセッサ201に通知する。
出力部205は、LED(Light Emitting Diode)及びスピーカに代表される出力デバイスを含む。出力部205は、プロセッサ201の指示に従って、種々の情報をユーザに提示する。
通信部206は、外部の装置と通信するためのネットワークインタフェース回路を含む。通信部206は、外部から信号を受信して、この信号により示されるデータをプロセッサ201へ出力する。また、通信部206は、プロセッサ201から出力されたデータを示す信号を外部の装置へ送信する。
図3に示されるハードウェア構成が協働することで、通信ユニット100は、種々の機能を発揮する。詳細には、通信ユニット100は、図4に示されるように、その機能として、通信ユニット100の構成要素を制御する制御部110と、ネットワーク40を介して通信する通信部120と、通信部120によって受信されたデータが一時的に格納される受信バッファ130と、サイクリックメモリ60に相当する第1記憶部140と、受信バッファ130に格納されている受信データに関する異常を検出する検出部150と、異常が検出された受信データを含む複数の受信データを受信バッファ130から読み出して第2記憶部170に格納する格納部160と、受信データを保存するための第2記憶部170と、を有する。
制御部110は、主としてプロセッサ201によって実現される。また、通信部120は、主として通信部206によって実現される。通信部120は、通信装置21,22との通信を予め定められた周期毎に実行することで、サイクリックメモリ60としての第1記憶部140の記憶領域610,621,622に記憶されるデータを通信装置21,22と共有する。詳細には、通信部120は、通信装置21,22に割り当てられた記憶領域621,622に書き込むべきデータの受信と、PLC10に割り当てられた記憶領域610に格納されているデータの送信と、を含む通信装置21,22とのサイクリック通信を実行する。通信部120は、通信ユニット100において、通信装置に割り当てられた記憶領域に書き込むべきデータの通信装置からの受信を予め定められた周期毎に実行することで、当該記憶領域に記憶されるデータを通信装置と共有する通信手段の一例に相当する。
受信バッファ130は、主として主記憶部202によって実現されるFIFO(First In, First Out)バッファである。受信バッファ130には、通信部120によって受信されたデータが順次格納される。そして、受信バッファ130に格納されたデータが制御部110によって順次読み出されて、サイクリック通信のデータが第1記憶部140に格納される。すなわち、受信バッファ130には、通信部120によって受信されたデータが、記憶領域621,622に書き込まれる前に受信データとして順次格納される。
第1記憶部140は、主として主記憶部202によって実現される。第1記憶部140は、プログラマブルコントローラの第1記憶手段の一例に相当する。
検出部150は、主としてプロセッサ201によって実現される。検出部150は、受信バッファ130に格納されているデータを監視して、当該データに関する異常を検出する。検出部150によって検出される異常は、ユーザによって事前に想定される通常の運用から逸脱した状態として予め定められた異常であって、例えば、データ自体に異常があること、及び、同一のデータを2回受信したことを含む。データ自体の異常は、例えば、周期T1に対応する識別子が付されたデータを周期T2で受信したこと、及び、データに含まれるチェックサムにより誤り検出がなされたことを含む。また、検出部150によって検出される異常は、通信の一時的な高負荷による通信異常のような、その後の自動復旧が可能な異常を含んでもよい。検出部150は、通信ユニット100において、受信バッファに格納された受信データに関する予め定められた異常を検出する検出手段の一例に相当する。
格納部160は、主としてプロセッサ201によって実現される。格納部160は、検出部150から異常を検出したことの通知を受けたときに、異常が検出された受信データを含む一連の受信データを受信バッファ130から読み出して、第2記憶部170に格納する。詳細には、格納部160は、異常が検出された受信データの記憶位置を示す位置情報を検出部150から受け取って、当該受信データと、その前に受信されて受信バッファ130に格納された複数の受信データを読み出す。格納部160によって読み出される受信データの数は、予め定められた固定のパケット数であってもよいし、予め定められた容量に収まる最大のパケット数であってもよい。例えば、受信バッファ130は、アドレスの値が小さい順にパケットが格納されるリングバッファであって、格納部160は、異常な受信データの受信バッファ130におけるアドレスを検出部150から取得して、当該アドレスまでの連続する10個のパケットを読み出す。
そして、格納部160は、読み出した受信データをそれぞれ、当該受信データの送信元としての通信装置21,22に対応する第2記憶部170の記憶領域171,172に格納する。詳細には、格納部160は、受信データに含まれる、送信元を示す送信元情報を参照して、送信元情報に対応する記憶領域に受信データを格納する。送信元情報は、例えば、局番又はIP(Internet Protocol)アドレスである。また、格納部160は、第2記憶部170に格納する受信データに、異常の種別を示すエラーコードを付加する。格納部160は、通信ユニット100において、検出手段によって異常が検出された受信データを含む複数の受信データを受信バッファから読み出して第2記憶手段に格納する格納手段の一例に相当する。
第2記憶部170は、主として主記憶部202及び補助記憶部203の少なくとも一方によって実現される。第2記憶部170は、通信装置21に対応する記憶領域171と、通信装置22に対応する記憶領域172と、を有する。図4には、異常が検出された受信データD9、及び、受信データD9より前に通信部120によって受信されて受信バッファ130に格納された受信データD1~D8のうち、通信装置21から送信された受信データD1,D3,D4,D8,D9が、記憶領域171に保存され、通信装置22から送信された受信データD2,D5,D6,D7が、記憶領域172に保存されることが示されている。また、記憶領域171には、受信データD9に関する異常の種別を示すエラーコードE1が格納されることが示されている。第2記憶部170は、通信ユニット100において、格納手段によって受信データが格納される第2記憶手段の一例に相当する。
続いて、通信ユニット100によって実行されるサイクリック通信処理及びバッファデータ保存処理について、図5~7を参照して説明する。図5に示されるサイクリック通信処理は、CPUユニット101からの指示により開始する。
サイクリック通信処理では、通信部120が、第1記憶部140に書き込むべきデータを通信装置21,22から受信する(ステップS11)。具体的には、予め定められた一の周期において、通信部120は、記憶領域621,622の内容を共有するために通信装置21,22それぞれから送信されたデータを受信する。
次に、通信部120は、ステップS1で受信した一又は複数のデータを、受信した順で受信バッファ130に格納する(ステップS12)。ここで、受信バッファ130に空き容量がなければ、最も古いデータから順に上書きされる。
次に、制御部110は、第1記憶部140の記憶領域610に格納されているデータを読み出して、通信部120に、読み出したデータを通信装置21,22へ送信させる(ステップS13)。これにより、PLC10に割り当てられた記憶領域610のデータが各FA装置20で共有される。
次に、制御部110は、受信バッファ130からデータを読み出して第1記憶部140に格納する(ステップS14)。具体的には、制御部110は、通信装置21,22から受信したデータに含まれる、記憶領域621,622に書き込むべきデータ値と、データ値を書き込むべき記憶領域621,622の位置と、を参照して、当該位置にデータ値を書き込む。例えば、データ値は、WORD値であって、位置は、記憶領域621,622内のWORD単位のアドレスである。これにより、記憶領域621,622のデータが各FA装置で共有される。
その後、通信ユニット100は、ステップS11以降の処理を繰り返す。これにより、データの共有が周期的に実行されることとなる。
図6には、受信バッファ130のデータを事後の検証に備えて保存するためのバッファデータ保存処理の流れが示されている。バッファデータ保存処理は、サイクリック通信処理と同時に開始して、サイクリック通信処理とは並列に実行される。
バッファデータ保存処理では、検出部150が、受信データに関する異常を検出したか否かを判定する(ステップS21)。具体的には、検出部150が、受信バッファ130に格納されている受信バッファのうちの、異常の有無の判定を未だ実行していない受信バッファに対して、予め定められた判定処理を施すことで、異常の有無を判定する。
異常を検出していないと判定された場合(ステップS21;No)、通信ユニット100は、ステップS21の判定を繰り返す。一方、異常を検出したと判定された場合(ステップS21;Yes)、検出部150は、検出した異常の種別を示すエラーコードを発行する(ステップS22)。エラーコードは、図7に例示されるような、エラー内容に対応して予め定められた識別子である。エラーコードが発行されて、後述するようにユーザに提供されれば、ユーザは、当該エラーコードを確認することで、どのような異常が発生したか概要を確認することができる。
次に、格納部160は、ステップS22で発行されたエラーコードに対応する受信データを保存すべきことがユーザにより設定されているか否かを判定する(ステップS23)。具体的には、格納部160は、図7に例示される設定情報を参照する。この設定情報は、異常の種別を示すエラーコードと、当該種別の異常の概要を示すエラー内容と、当該種別の異常が発生したときの受信データを第2記憶部170に保存すべきか否かを示すパラメータと、を関連付けたテーブルデータである。設定情報は、通信ユニット100の補助記憶部203に予め格納される。設定情報のパラメータは、通信ユニット100の工場出荷時にファームウェアにおいて初期値が予め設定された上で、ユーザによって任意に変更される。図7に示される「ON」のパラメータは、受信データを保存すべきことを示し、「OFF」のパラメータは、受信データを保存しないことを示す。
受信データを保存すべきことが設定されていないと判定した場合(ステップS23;No)、通信ユニット100は、ステップS21以降の処理を繰り返す。一方、受信データを保存すべきことが設定されていると判定した場合(ステップS23;Yes)、格納部160は、第2記憶部170に受信データの保存が可能か否かを判定する(ステップS24)。具体的には、格納部160は、異常が検出された受信データを含む複数の保存対象の受信データのサイズと、第2記憶部170の未使用メモリ領域とを比較することで、第2記憶部170に十分な空き領域が存在するか否かを確認する。
受信データの保存が可能でないと判定した場合(ステップS24;No)、通信ユニット100は、ステップS21以降の処理を繰り返す。一方、受信データの保存が可能であると判定した場合(ステップS24;Yes)、格納部160は、送信元ごとに受信データを格納するための記憶領域を確保する(ステップS25)。これにより、記憶領域171,172が形成される。具体的には、格納部160は、受信データそれぞれの送信元情報を参照して、送信元ごとに受信データの総容量を算出し、算出した総容量を格納可能な記憶領域を確保する。
次に、格納部160は、保存対象の受信データそれぞれの送信元情報を参照することで、当該受信データが、通信装置21からのデータか、通信装置22からのデータかを特定し、当該受信データの格納先となる記憶領域を特定する(ステップS26)。
次に、格納部160は、受信バッファ130から受信データを読み出してコピーし、コピーした受信データにエラーコードを付与して第2記憶領域に格納する(ステップS27)。具体的には、格納部160は、エラーコードを、異常が検出された受信データとともに記憶領域171又は記憶領域172に格納する。ただし、格納部160は、記憶領域171,172双方にエラーコードを格納してもよいし、保存対象の複数の受信データそれぞれにエラーコードを付与してもよい。
その後、通信ユニット100は、ステップS21以降の処理を繰り返す。これにより、通信ユニット100は、通信に異常が発生するたびに受信データを保存することとなる。
以上、説明したように、本実施の形態によれば、検出部150が、受信バッファ130に格納された受信データに関する予め定められた異常を検出して、格納部160が、検出部150によって異常が検出された受信データを含む複数の受信データを受信バッファ130から読み出して第2記憶部170に格納する。このため、通常時において受信データを第2記憶部170に格納することによる処理負荷の発生を回避することができる。また、受信バッファ130とは異なる第2記憶部170に、異常が検出された受信データが格納され、その後に受信されたデータは、受信バッファ130に格納されてから第1記憶部140に格納されるため、第2記憶部に格納された受信データを削除することなく事後の検証のために残すことができる。したがって、PLC10の処理負荷を軽減しつつ、通信の停止を伴わない異常が生じたときに伝送されたデータを記録して、通信における異常の原因の究明を容易にすることができる。
また、格納部160は、検出部150によって異常が検出された受信データと、当該受信データより前に通信部120によって受信された他の受信データと、を含む複数の受信データを受信バッファから読み出して第2記憶部170に格納する。すなわち、異常な受信データとその前の正常な受信データとが、複製されて第2記憶部170に格納される。ユーザは、事後の検証において、第2記憶部170に保存されている正常な受信データと異常な受信データとを比較することで、どのように異常な状態へ遷移していったのかを解析することができる。具体的には、ユーザが使用するエンジニアリングツールから、CPUユニット101を介して第2記憶部170の情報が要求されたときに、制御部110が、第2記憶部170の情報を読み出してユーザに提供することで、ユーザは、通信異常の発生時の受信データを解析することができる。
また、格納部160は、検出部150による検出対象である複数の種別の異常からユーザによって予め指定された指定種別の異常が検出部150によって検出された場合に、指定種別の異常が検出された受信データを含む複数の受信データを第2記憶部170に格納し、指定種別とは異なる種別の異常が検出部150によって検出された場合には、受信データを第2記憶部170に格納しない。このため、ユーザが保存することを要望しない種別の異常に関する受信データが第2記憶部170に格納されることがなく、第2記憶部170の容量を有効に活用することができる。また、受信データを保存すべき異常の種別をユーザが任意に選択することができるため、利便性を向上させることができる。
また、通信ユニット100は、2つの通信装置21,22に接続され、格納部160は、受信バッファ130から読み出した複数の受信データをそれぞれ、第2記憶部170が有する記憶領域171,172のうちの、当該受信データを送信した通信装置に対応する記憶領域に格納する。このため、通信装置21,22のうちの特定の装置からの受信データの解析を容易にすることができる。
以上、本開示の実施の形態について説明したが、本開示は上記実施の形態によって限定されるものではない。
例えば、PLC10が、ビルディングブロック方式のプログラマブルコントローラである例を説明したが、これには限定されない。PLC10は、CPUユニット101及び通信ユニット100の機能を有する1つの装置として一体的に構成されてもよい。すなわち、通信ユニット100は、通信ユニット100とは異なる機能を併せ持つプログラマブルコントローラの一部として実現されてもよい。また、PLC10の通信ユニット100が2つの通信装置21,22に接続される例について説明したが、接続される通信装置の数は、1つでもよいし、3つ以上でもよい。
また、サイクリック通信の一の周期の終了時刻が、次の周期の開始時刻に等しい例について説明したが、これには限定されない。例えば、サイクリック通信と、IP通信に代表される他の方式に従う通信と、が交互に周期的に実行されてもよい。
また、通信ユニット100が、サイクリックメモリ60としての第1記憶部140を有する例について説明したが、CPUユニット101が第1記憶部140を有してもよい。また、通信ユニット100の格納部160は、外部の記憶装置に受信データを格納してもよい。さらに、第1記憶部140及び第2記憶部170は、単一の記憶装置に形成された異なる記憶領域であってもよい。また、第2記憶部170に受信データを格納可能な空き領域がないときに、格納部160が、受信データを格納しない例について説明したが、これには限定されない。格納部160は、空き領域がない場合に、第2記憶部170に格納された最も古い受信データから順に新たな受信データを上書きしてもよい。
また、通信ユニット100の機能は、専用のハードウェアによっても、また、通常のコンピュータシステムによっても実現することができる。
例えば、プロセッサ201によって実行されるプログラムP1を、コンピュータ読み取り可能な非一時的な記録媒体に格納して配布し、そのプログラムP1をコンピュータにインストールすることにより、上述の処理を実行する装置を構成することができる。このような記録媒体としては、例えばフレキシブルディスク、CD-ROM(Compact Disc Read-Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto-Optical Disc)が考えられる。
また、プログラムP1をインターネットに代表される通信ネットワーク上のサーバ装置が有するディスク装置に格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロードするようにしてもよい。
また、通信ネットワークを介してプログラムP1を転送しながら起動実行することによっても、上述の処理を達成することができる。
さらに、プログラムP1の全部又は一部をサーバ装置上で実行させ、その処理に関する情報をコンピュータが通信ネットワークを介して送受信しながらプログラムを実行することによっても、上述の処理を達成することができる。
なお、上述の機能を、OS(Operating System)が分担して実現する場合又はOSとアプリケーションとの協働により実現する場合等には、OS以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロードしてもよい。
また、通信ユニット100の機能を実現する手段は、ソフトウェアに限られず、その一部又は全部を、回路を含む専用のハードウェアによって実現してもよい。
本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本開示を説明するためのものであり、本開示の範囲を限定するものではない。つまり、本開示の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、本開示の範囲内とみなされる。
本開示は、プログラマブルコントローラによる通信において異常が発生したときのデータの保存に適している。
1000 制御システム、 10 PLC、 100 通信ユニット、 101 CPUユニット、 102 I/Oユニット、 110 制御部、 120 通信部、 130 受信バッファ、 140 第1記憶部、 150 検出部、 160 格納部、 170 第2記憶部、 171,172 記憶領域、 20 FA装置、 21,22 通信装置、 201 プロセッサ、 202 主記憶部、 203 補助記憶部、 204 入力部、 205 出力部、 206 通信部、 207 内部バス、 30 スイッチングハブ、 40 ネットワーク、 50 機器、 60 サイクリックメモリ、 610,621,622 記憶領域、 D1~D9 受信データ、 E1 エラーコード、 P1 プログラム、 T1,T2 周期。

Claims (6)

  1. 通信装置にネットワークを介して接続されるプログラマブルコントローラの通信ユニットであって、
    前記プログラマブルコントローラの第1記憶手段が有する第1記憶領域であって、前記通信装置に割り当てられた前記第1記憶領域に書き込むべきデータの前記通信装置からの受信を予め定められた周期毎に実行することで、前記第1記憶領域に記憶されるデータを前記通信装置と共有する通信手段と、
    前記通信手段によって受信されたデータが前記第1記憶領域に書き込まれる前に受信データとして順次格納される受信バッファと、
    前記受信バッファに格納された前記受信データに関する予め定められた異常を検出する検出手段と、
    前記検出手段によって異常が検出された前記受信データを含む複数の前記受信データのサイズと第2記憶手段の未使用の領域とを比較して、前記第2記憶手段に複数の前記受信データの保存が可能であると判定した場合に、複数の前記受信データを前記受信バッファから読み出して前記第2記憶手段に格納し、前記第2記憶手段に複数の前記受信データの保存が可能でないと判定した場合に、複数の前記受信データを前記第2記憶手段に格納しない格納手段と、
    を備え
    前記格納手段は、前記検出手段によって検出された異常の種別を示すエラーコードに対応する前記受信データを保存することが予め設定されている場合に、該エラーコードを、前記検出手段によって異常が検出された前記受信データに付加して、該受信データを含む複数の前記受信データを前記第2記憶手段に格納し、前記エラーコードに対応する前記受信データを保存することが設定されていない場合には、前記受信データを前記第2記憶手段に格納しない、
    プログラマブルコントローラの通信ユニット。
  2. 前記格納手段は、前記検出手段によって異常が検出された前記受信データと、該受信データより前に前記通信手段によって受信された他の前記受信データと、を含む複数の前記受信データを前記受信バッファから読み出して前記第2記憶手段に格納する、
    請求項1に記載のプログラマブルコントローラの通信ユニット。
  3. 前記格納手段は、前記検出手段による検出対象である複数の種別の異常からユーザによって予め指定された指定種別の異常が前記検出手段によって検出された場合に、前記指定種別の異常が検出された前記受信データを含む複数の前記受信データを前記第2記憶手段に格納し、前記指定種別とは異なる種別の異常が前記検出手段によって検出された場合には、前記受信データを前記第2記憶手段に格納しない、
    請求項1又は2に記載のプログラマブルコントローラの通信ユニット。
  4. 複数の前記通信装置にネットワークを介して接続されるプログラマブルコントローラの通信ユニットであって、
    前記格納手段は、前記受信バッファから読み出した複数の前記受信データをそれぞれ、前記第2記憶手段が有する複数の第2記憶領域のうちの、該受信データを送信した前記通信装置に対応する前記第2記憶領域に格納する、
    請求項1からのいずれか一項に記載のプログラマブルコントローラの通信ユニット。
  5. 通信装置に接続されるプログラマブルコントローラの通信ユニットによって実行される受信データ記憶方法であって、
    通信手段が、前記プログラマブルコントローラの第1記憶手段が有する記憶領域であって、前記通信装置に割り当てられた前記記憶領域に書き込むべきデータの前記通信装置からの受信を予め定められた周期毎に実行し、
    受信バッファが、前記通信手段によって受信されたデータを前記記憶領域に書き込まれる前に受信データとして順次記憶し、
    検出手段が、前記受信バッファに記憶された前記受信データに関する予め定められた異常を検出し、
    格納手段が、前記検出手段によって検出された異常の種別を示すエラーコードに対応する前記受信データを保存することが予め設定され、前記検出手段によって異常が検出された前記受信データを含む複数の前記受信データのサイズと第2記憶手段の未使用の領域とを比較して、前記第2記憶手段に複数の前記受信データの保存が可能であると判定した場合に、複数の前記受信データを前記受信バッファから読み出して前記第2記憶手段に記憶させ、前記エラーコードに対応する前記受信データを保存することが設定されていない場合、又は前記第2記憶手段に複数の前記受信データの保存が可能でないと判定した場合に、複数の前記受信データを前記第2記憶手段に記憶させない、
    ことを含む受信データ記憶方法。
  6. 通信装置に接続されるコンピュータに、
    前記コンピュータの第1記憶手段が有する記憶領域であって、前記通信装置に割り当てられた前記記憶領域に書き込むべきデータの前記通信装置からの受信を予め定められた周期毎に実行し、
    受信したデータを前記記憶領域に書き込む前に受信データとして受信バッファに順次格納し、
    前記受信バッファに格納された前記受信データに関する予め定められた異常を検出し、
    検出された異常の種別を示すエラーコードに対応する前記受信データを保存することが予め設定され、異常が検出された前記受信データを含む複数の前記受信データのサイズと第2記憶手段の未使用の領域とを比較して、前記第2記憶手段に複数の前記受信データの保存が可能であると判定した場合に、前記エラーコードに対応する前記受信データを保存することが設定されていない場合、又は複数の前記受信データを前記受信バッファから読み出して前記第2記憶手段に格納し、前記第2記憶手段に複数の前記受信データの保存が可能でないと判定した場合に、複数の前記受信データを前記第2記憶手段に格納しない、
    ことを実行させるためのプログラム。
JP2021557852A 2021-03-09 2021-03-09 プログラマブルコントローラの通信ユニット、受信データ記憶方法及びプログラム Active JP7076654B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/009136 WO2022190186A1 (ja) 2021-03-09 2021-03-09 プログラマブルコントローラの通信ユニット、受信データ記憶方法及びプログラム

Publications (2)

Publication Number Publication Date
JP7076654B1 true JP7076654B1 (ja) 2022-05-27
JPWO2022190186A1 JPWO2022190186A1 (ja) 2022-09-15

Family

ID=81753598

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021557852A Active JP7076654B1 (ja) 2021-03-09 2021-03-09 プログラマブルコントローラの通信ユニット、受信データ記憶方法及びプログラム

Country Status (2)

Country Link
JP (1) JP7076654B1 (ja)
WO (1) WO2022190186A1 (ja)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06324916A (ja) * 1993-05-10 1994-11-25 Hokuriku Nippon Denki Software Kk 障害情報ロギング方式
JPH10301815A (ja) * 1997-04-24 1998-11-13 Mitsubishi Electric Corp 障害情報ロギング装置
WO2010109584A1 (ja) * 2009-03-23 2010-09-30 三菱電機株式会社 A/d変換装置およびプログラマブルコントローラシステム
WO2011021505A1 (ja) * 2009-08-18 2011-02-24 三菱電機株式会社 通信システムおよび通信装置状態判定方法
JP2012252636A (ja) * 2011-06-06 2012-12-20 Fuji Electric Co Ltd トレース情報管理装置、トレース情報管理方法、およびトレース情報管理プログラム
JP2015115842A (ja) * 2013-12-12 2015-06-22 富士通株式会社 パケット保存方法、パケット保存プログラム及びパケット保存装置
JP2020013527A (ja) * 2018-10-23 2020-01-23 株式会社キーエンス プログラマブルロジックコントローラおよびプログラム作成支援装置
WO2020031260A1 (ja) * 2018-08-07 2020-02-13 三菱電機株式会社 制御装置、制御システム、報知方法及びプログラム
JP2020150485A (ja) * 2019-03-15 2020-09-17 オムロン株式会社 制御システム、装置および制御方法
JP6836692B1 (ja) * 2019-12-25 2021-03-03 三菱電機株式会社 データ収集管理装置およびデータ収集システム

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06324916A (ja) * 1993-05-10 1994-11-25 Hokuriku Nippon Denki Software Kk 障害情報ロギング方式
JPH10301815A (ja) * 1997-04-24 1998-11-13 Mitsubishi Electric Corp 障害情報ロギング装置
WO2010109584A1 (ja) * 2009-03-23 2010-09-30 三菱電機株式会社 A/d変換装置およびプログラマブルコントローラシステム
WO2011021505A1 (ja) * 2009-08-18 2011-02-24 三菱電機株式会社 通信システムおよび通信装置状態判定方法
JP2012252636A (ja) * 2011-06-06 2012-12-20 Fuji Electric Co Ltd トレース情報管理装置、トレース情報管理方法、およびトレース情報管理プログラム
JP2015115842A (ja) * 2013-12-12 2015-06-22 富士通株式会社 パケット保存方法、パケット保存プログラム及びパケット保存装置
WO2020031260A1 (ja) * 2018-08-07 2020-02-13 三菱電機株式会社 制御装置、制御システム、報知方法及びプログラム
JP2020013527A (ja) * 2018-10-23 2020-01-23 株式会社キーエンス プログラマブルロジックコントローラおよびプログラム作成支援装置
JP2020150485A (ja) * 2019-03-15 2020-09-17 オムロン株式会社 制御システム、装置および制御方法
JP6836692B1 (ja) * 2019-12-25 2021-03-03 三菱電機株式会社 データ収集管理装置およびデータ収集システム

Also Published As

Publication number Publication date
JPWO2022190186A1 (ja) 2022-09-15
WO2022190186A1 (ja) 2022-09-15

Similar Documents

Publication Publication Date Title
JP6717026B2 (ja) 制御装置、中継装置、制御装置の制御方法、中継装置の制御方法、制御プログラム、および記録媒体
US8457003B2 (en) Controller that instructs data to be held when a network abnormality is detected
US20180157233A1 (en) Communication system, communication device, and communication program
US20130318260A1 (en) Data transfer device
JP6477555B2 (ja) 中継装置、中継装置の制御方法、制御プログラム、および記録媒体
JP2009015401A (ja) 分散型制御システム
CN110161984B (zh) 控制装置、控制***、控制方法以及存储介质
JP6896195B1 (ja) 制御装置及び画像記録方法
US10877803B2 (en) Control apparatus, control method and non-transitory storage medium
EP3489777B1 (en) Control device, control method, and program
CN111095138B (zh) 控制装置、控制装置的控制方法、信息处理程序及记录介质
JP7076654B1 (ja) プログラマブルコントローラの通信ユニット、受信データ記憶方法及びプログラム
CN110278716B (zh) Plc、网络单元、cpu单元、以及数据传送方法
CN116909678A (zh) 一种容器化plc的实现方法及***、管理服务器
JP6686521B2 (ja) 制御システムおよび制御方法
JP2019135588A (ja) 制御装置、監視方法、および監視プログラム
US11215974B2 (en) Factory automation (FA) system, controller, and control method
US20230152783A1 (en) Control system, industrial device, control method, and program
JP2019200744A (ja) 制御装置及びデータ記録方法
CN113169908B (zh) 线路监视装置和网络交换机
JP6409520B2 (ja) 制御システム、および中継装置
WO2021199192A1 (ja) 制御装置及びロギング方法
JP6126259B1 (ja) 監視装置、監視方法、及びプログラム
JP2006276981A (ja) 送信装置、そのプログラムおよび記録媒体
JP2021190736A (ja) ネットワークシステム及び中継装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210928

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210928

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220203

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: 20220419

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220517

R150 Certificate of patent or registration of utility model

Ref document number: 7076654

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150