JP6833116B1 - データ処理装置、データ処理方法およびプログラム - Google Patents

データ処理装置、データ処理方法およびプログラム Download PDF

Info

Publication number
JP6833116B1
JP6833116B1 JP2020528194A JP2020528194A JP6833116B1 JP 6833116 B1 JP6833116 B1 JP 6833116B1 JP 2020528194 A JP2020528194 A JP 2020528194A JP 2020528194 A JP2020528194 A JP 2020528194A JP 6833116 B1 JP6833116 B1 JP 6833116B1
Authority
JP
Japan
Prior art keywords
data
unit
data processing
real
time
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
JP2020528194A
Other languages
English (en)
Other versions
JPWO2020217345A1 (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 JP6833116B1 publication Critical patent/JP6833116B1/ja
Publication of JPWO2020217345A1 publication Critical patent/JPWO2020217345A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

データ処理装置(1)は、機器(17)からデータを収集するデータ収集部(15)と、非リアルタイムOS上で動作し、データを処理するデータ処理部(14)と、非リアルタイムOS上で動作し、データ処理フローに基づき、データ収集部(15)によるデータ収集処理、データ処理部(14)によるデータ処理およびデータ収集部(15)が収集したデータのデータ処理部(14)への提供を制御する実行制御部(12)と、を備える。データ収集部(15)は、リアルタイムOS上で動作し、機器(17)からデータを収集するデータ収集実行部と、非リアルタイムOS上で動作し、収集したデータを実行制御部(12)が受信できるデータ形式に変換するIF適合部と、を備える。

Description

本発明は、データ処理装置、データ処理方法およびプログラムに関する。
ファクトリーオートメーションの分野において、製造現場のFA(Factory Automation)機器からデータを収集し、収集したデータを加工・診断等して装置制御に役立てるデータ処理装置が知られている。ここで、FA機器から送られる連続するデータを収集する処理はリアルタイム性を要するのに対して、加工・診断等の処理は高スケーラビリティ、高スループットが要求される。
一方、特許文献1は、リアルタイム処理を行うリアルタイムOS(Operating System)と、マルチメディア処理などを行う汎用OSとの2種類のOSを擁したハイブリッドOSを備えるシステムを開示する。このシステムは、リアルタイムOSが持つ高リアルタイム性、高信頼性、および、汎用OSが持つ高スケーラビリティ、高スループットなどを実現する。
特開2009−181474号公報
しかしながら、特許文献1記載の技術をFA機器からデータを収集・加工・診断等するデータ処理装置に単純に適用したとしても、データ収集処理と加工・診断等処理との間で処理速度が異なるため、両者の処理をつなげて収集データを受け渡しすることが難しく、充分な性能を引き出すことが困難である。
本発明は、上述の事情に鑑みてなされたものであり、リアルタイムでのデータ収集と収集したデータの加工・診断等処理への適切な供給の両立を図ることを目的とする。
上記目的を達成するために、本発明のデータ処理装置は、機器からデータを収集するデータ収集部と、非リアルタイムOS上で動作し、データを処理するデータ処理部と、非リアルタイムOS上で動作し、データ処理フローに基づき、データ収集部によるデータ収集処理、データ処理部によるデータ処理およびデータ収集部が収集したデータのデータ処理部への提供を制御する実行制御部と、を備える。データ収集部は、リアルタイムOS上で動作し、機器からデータをデータ収集処理として収集する収集実行部と、非リアルタイムOS上で動作し、収集したデータを実行制御部が受信できるデータ形式にデータ収集処理として変換する変換部と、を備えている。収集実行部および変換部は、相互に通信するOS間通信部を備える。OS間通信部は、それぞれ、収集したデータを互いに送受信する収集データ通信部と、収集実行部と変換部のエラー情報を互いに送受信するエラー情報通信部と、収集実行部と変換部の動作状態を示す生存情報を互いに送受信する生存情報通信部と、を備える。
本発明によれば、リアルタイムでのデータ収集とデータの加工・診断等処理への適切な供給を両立することができる。
本発明の実施の形態に係るデータ処理装置のソフトウェア構成を示す図 実施の形態に係るデータ処理装置のリアルタイムデータ処理部および非リアルタイムデータ処理部の機能的構成を示す図 実施の形態に係るエンジニアリングツールの構成を示す図 実施の形態に係るデータ処理装置のハードウェア構成を示す図 実施の形態に係るデータ処理フローの一例を示す図 実施の形態に係るフロー設定情報の一例を示す図 実施の形態に係るデータ収集部の詳細を示す図 実施の形態に係るリアルタイムデータ処理部のデータ収集処理を示すフローチャート 実施の形態に係る非リアルタイムデータ処理部のデータ収集処理を示すフローチャート
以下、本発明の実施の形態にかかるデータ処理装置、データ処理方法およびプログラムについて図面を参照して詳細に説明する。
(実施の形態1)
本実施の形態に係るデータ処理装置1は、FA機器の領域とクラウドの間のエッジコンピューティング領域に位置する、工場の現場に設けられているエッジ装置である。データ処理装置1は、FA機器からデータを吸い上げ、加工・診断処理を施してFA機器に戻す。この処理を遠隔に位置するクラウドが実行すると、処理時間がかかるといった問題が生じる。したがって、リアルタイムデータ処理をデータ処理装置1が担当することによって、リアルタイムデータの処理遅延を防止するとともに、クラウドに送信されるデータ量を最適化する。
図1は、本発明の実施の形態にかかるデータ処理装置1のソフトウェア構成を示す図である。
データ処理装置1は、生産現場において生産機械、センサ、駆動機器等のFA機器からデータを収集し、各種加工、診断を行い、フィードバックする産業用のコンピュータである。
データ処理装置1は、物理的なコンピュータ上で、複数の仮想的なコンピュータを動作させる仮想化環境を構築している。データ処理装置1は、ハードウェア2上で動作するホストOS3とホストOS3上で動作するハイパーバイザ4を含む。ゲストOSであるリアルタイムOS5と非リアルタイムOS6はハイパーバイザ4上でそれぞれ動作している。そしてアプリケーションプログラム、ユーザデータ等の複数のファイルは、リアルタイムOS5、非リアルタイムOS6上にそれぞれ存在している。リアルタイムOS5上には、リアルタイムデータ処理が行われるリアルタイムデータ処理部7が構成される。また、非リアルタイムOS6上には、非リアルタイムデータ処理が行われる非リアルタイムデータ処理部8が構成される。
ハイパーバイザ4は、複数の仮想環境を実現するためのソフトウェアプログラムである。ハイパーバイザ4は、CPU(Central Processing Unit)の処理能力、RAM(Random Access Memory)、ROM(Read Only Memory)、ハードディスクの記録領域等のハードウェアのリソースを仮想マシンであるリアルタイムデータ処理部7および非リアルタイムデータ処理部8に割り振る。
ホストOS3は、ハイパーバイザ4を起動し、管理するオペレーティングシステムである。
リアルタイムデータ処理部7および非リアルタイムデータ処理部8は、ハイパーバイザ4上で動作する仮想化されたコンピュータである。したがって、リアルタイムデータ処理部7および非リアルタイムデータ処理部8は、それぞれ1台のコンピュータのハードウェアのように振る舞う。
リアルタイムOS5は、予め定められた時間までに予め定められた処理が実行できるようにスケジューリングすることができるOSである。非リアルタイムOS6は、豊富なアプリケーションプログラムを搭載した非リアルタイムの汎用OSである。
リアルタイムデータ処理部7を構成するリアルタイムOS5上に、後述する機器からデータを収集するデータ収集部の一部が設けられる。また、非リアルタイムデータ処理部8を構成する非リアルタイムOS6上に、後述するデータ収集部の他の一部、実行制御部、データ処理部、およびエンジニアリングツールが設けられる。
リアルタイムデータ処理部7に設けられる機能構成と非リアルタイムデータ処理部8に設けられる機能構成を図2に示す。
非リアルタイムデータ処理部8は、後述するデータ処理フローを設定するエンジニアリングツール11と、データ処理フローに基づいてデータ処理実行を制御する実行制御部12と、種々のデータを記憶する記憶部13と、収集されたデータに対して各種データ処理を行う複数のデータ処理部14と、を備える。エンジニアリングツール11、実行制御部12、記憶部13、データ処理部14は非リアルタイムOS6上で動作する。
これに対して、リアルタイムデータ処理部7および非リアルタイムデータ処理部8の両方に跨がって機器17からデータを収集するデータ収集部15が存在する。データ収集部15のうち、リアルタイムデータ処理部7に存在する部分15Aは、リアルタイムOS5上で動作する。また、データ収集部15のうち、非リアルタイムデータ処理部8に存在する部分15Bは、非リアルタイムOS6上で動作する。以下、データ収集部15のうち、リアルタイムデータ処理部7に存在する第1の部分15Aをデータ収集部15Aと、データ収集部15のうち、非リアルタイムデータ処理部8に存在する第2の部分15Bをデータ収集部15Bと呼ぶ。
エンジニアリングツール11、実行制御部12、記憶部13は、データ処理フローを実行するためのプラットフォーム16を形成する。このプラットフォーム16を有することにより、データの収集、加工、診断、フィードバックといった一連の機能処理について各機能を容易に変更できる。
一連のリアルタイムデータ処理は、データの収集、加工、診断、フィードバック等を組み合わせて構成する。データの加工は、データの平滑化、先鋭化、FFT(Fast Fourier Transform)処理等を含む。データの診断は、閾値判定、パターンマッチング等を含む。フィードバックは、診断結果の通知であり、生産現場の機器の停止、減速、再開等の指令を書き込む処理を含む。この組み合わせをデータ処理フローと呼ぶ。
エンジニアリングツール11は、このデータ処理フローの設定を行う。ユーザは、データ処理部14の組み合わせと実行順序、データ処理部14とデータ収集部15との間でやり取りされるデータの種類、フォーマットについてエンジニアリングツール11を使って設定する。
エンジニアリングツール11は、図3に示すように、ユーザがデータ処理フローの設定を入力するためのUI(User Interface)部111とデータ処理フローの設定を受け付ける受付部112からなる。UI部111は、受付部112による制御に従って、データ処理フローの設定を入力するための画面をユーザに対して表示する。ユーザは、UI部111を操作して、データ処理フローを構成する部分処理の内容および個数、部分処理の実行に必要なパラメータ、並びに、部分処理を実行するデータ処理部14を任意に設定する。そして、UI部111は、ユーザの操作により入力されたデータ処理フローの設定を示す情報を受付部112へ送出する。なお、UI部111は、ディスプレイとキーボードとマウスに代表されるポインティングデバイスとによって実現されてもよい。
受付部112は、UI部111からデータ処理フローの設定を受け付けて、この設定内容を示すフロー設定情報として実行制御部12に通知する。実行制御部12に通知されたフロー設定情報は、記憶部13に格納される。
データ処理部14は、データ処理装置1に予め設定されたプログラム、またはユーザによって用意されたプラグインソフトウェアによって実現される。データ処理部14はそれぞれ、データ処理フローを構成する要素としての部分処理を実行する。詳細には、データ処理部14はそれぞれ、部分処理の対象として実行制御部12によって入力されるデータを取得して、取得したデータに部分処理を施した結果を実行制御部12に出力する。
実行制御部12は、フロー設定情報に従った順序でデータ処理部14およびデータ収集部15に部分処理を実行させる。詳細には、実行制御部12は、データ処理部14およびデータ収集部15から部分処理の対象となるデータを取得して、取得したデータを、当該データに部分処理を施すデータ処理部14またはデータ収集部15へ送出する。
記憶部13は、フロー設定情報とデータ定義情報を記憶する。
データ収集部15は、機器17から出力されるデータを収集して、収集したデータを実行制御部12へ送出する。
データ収集部15Aおよび機器17は、通信路18を介して互いに通信可能に接続される。通信路18は、工場内に設置された通信線によって実現される産業用の制御ネットワークである。ただし、通信路18は、LAN(Local Area Network)に代表される情報ネットワークであってもよい。また、通信路18は、専用線であってもよいし、インターネットに代表される広域ネットワークであってもよい。機器17は、センサ、組立ロボット、駆動機器、あるいはセンサ、組立ロボット等の被制御機器を制御するPLC(Programmable Logic Controller:プログラマブルロジックコントローラ)等である。データ処理装置1は、機器17に各種データを要求する情報、制御情報を送信し、機器17は、データ処理装置1にセンサの計測データ、要求されたデータ等種々の情報を送信する。なお、図2において、機器17として1台が示されているが、一例であって接続台数はこれに制限されない。
また、データ収集部15は、出力情報を出力する。出力情報は、データ処理フローの実行結果に関する情報である。例えば、実行制御部12から送出された制御命令を、出力情報として制御対象の機器17に送信する。なお、出力情報は、制御命令に限定されず、異常の発生を報知するための通知であってもよいし、外部のサーバ装置に格納するための品質管理情報であってもよい。
データ処理装置1は、そのハードウェア構成として、図4に示されるように、プロセッサ21と、主記憶部22と、補助記憶部23と、入力部24と、出力部25と、通信部26と、を有する。主記憶部22、補助記憶部23、入力部24、出力部25および通信部26はいずれも、内部バス27を介してプロセッサ21に接続される。
プロセッサ21は、CPU(Central Processing Unit)を含む。プロセッサ21は、補助記憶部23に記憶されるプログラムP1を実行することにより、データ処理装置1の種々の機能を実現する。
主記憶部22は、RAM(Random Access Memory)を含む。主記憶部22には、補助記憶部23からプログラムP1がロードされる。そして、主記憶部22は、プロセッサ21の作業領域として用いられる。
補助記憶部23は、EEPROM(Electrically Erasable Programmable Read-Only Memory)およびHDD(Hard Disk Drive)に代表される不揮発性メモリを含む。補助記憶部23は、プログラムP1の他に、プロセッサ21の処理に用いられる種々のデータを記憶する。補助記憶部23は、プロセッサ21の指示に従って、プロセッサ21によって利用されるデータをプロセッサ21に供給し、プロセッサ21から供給されたデータを記憶する。なお、図4では、1つのプログラムP1が代表的に示されているが、補助記憶部23は、複数のプログラムを記憶してもよいし、主記憶部22には、複数のプログラムがロードされてもよい。
入力部24は、入力キーおよびポインティングデバイスに代表される入力デバイスを含む。入力部24は、データ処理装置1のユーザによって入力された情報を取得して、取得した情報をプロセッサ21に通知する。
出力部25は、LCD(Liquid Crystal Display)およびスピーカに代表される出力デバイスを含む。出力部25は、プロセッサ21の指示に従って、種々の情報をユーザに提示する。
通信部26は、外部の装置と通信するためのネットワークインタフェース回路を含む。通信部26は、外部から信号を受信して、この信号により示されるデータをプロセッサ21へ出力する。また、通信部26は、プロセッサ21から出力されたデータを示す信号を外部の装置へ送信する。
データ処理装置1によって実行されるデータ処理フロー30が図5に例示されている。このデータ処理フロー30は、機器17から収集したデータに対して施される一連の部分処理を含む。
部分処理311は、機器17からデータ収集部15がデータを収集する処理に相当し、部分処理312は、データ処理部14が部分処理311の結果として出力されるデータを加工する処理に相当する。データの加工は、例えばノイズの低減又は端数処理である。
実行制御部12は、部分処理311の結果として収集されたデータをデータ収集部15から取得して、取得したデータを、部分処理312を実行するデータ処理部14へ送出する。また、実行制御部12は、部分処理312の結果として出力されたデータをデータ処理部14から取得して、取得したデータを、他方のデータ処理部14へ送出する。
部分処理313は、部分処理312の結果として出力されるデータについてデータ処理部14が診断する処理に相当する。データの診断は、例えば、機器17に対する制御指令の決定、および、異常の有無の判定である。
実行制御部12は、部分処理313の結果として出力される診断結果を示すデータを部分処理314を実行するデータ収集部15へ送出する。
部分処理314は、部分処理313の結果として出力される診断結果を示すデータの外部への出力に相当する。診断結果の出力は、機器17への制御指令の送信を含む。データ収集部15は、診断結果を機器17へ送信する。
図5に示されるデータ処理フロー30によれば、部分処理311,312,313,314を含む一連の処理が、機器17から計測結果が出力されるたびに実行される。そして、例えば、計測結果に含まれるノイズを低減した値に応じて機器17に対する制御内容が決定されて制御命令が送信される。
図6には、記憶部13に記憶されるフロー設定情報131が例示されている。このフロー設定情報131は、図5に示されるデータ処理フローを実行するために必要な設定を示す情報である。フロー設定情報131は、部分処理を識別するための部分処理ID(Identifier)と、この部分処理の名称と、この部分処理の前処理に相当する部分処理と、この部分処理の後処理に相当する部分処理と、この部分処理に入力されるデータの型と、この部分処理から出力されるデータの型と、を関連付けるテーブルデータである。なお、図6において部分処理の名称として便宜的に「収集」「加工」「診断」と記載しているが、例えば、「加工」には、平均化、先鋭化等幾つもの種類が存在する。したがって、実際には、部分処理の名称としてこれらの種類まで細分化したIDが用いられる。前処理および後処理についても部分処理のIDが用いられる。
なお、フロー設定情報131は、図6に例示される情報とは異なる情報を含んでもよい。例えば、フロー設定情報131は、部分処理の内容を規定するパラメータを含んでもよい。このパラメータは、例えば、端数処理に用いられる閾値、データを収集する対象となる機器の識別子、データを収集する周期、および、制御命令を送信する対象となる機器の識別子である。
図7にデータ収集部15の詳細を示す。前述したように、データ収集部15は、リアルタイムOS5上で動作するリアルタイムデータ処理部7と非リアルタイムOS6上で動作する非リアルタイムデータ処理部8に跨がって存在する。
リアルタイムデータ処理部7に存在するデータ収集部15Aは、通信路18を介して機器17と接続され、機器17からデータを収集する収集実行部として機能する。データ収集部15Aは、機器17からデータを収集するデータ収集実行部41と、収集データのエラー情報を管理するエラー管理部42と、データ収集部15Aの動作状態を管理する生存管理部43と、を備える。
データ収集実行部41は、通信路18を介して機器17からのリアルタイム性のあるデータ、例えば、センサからセンサデータを収集する。データ収集実行部41は、機器17からのmsecオーダーの時系列データを収集しなければならない。したがってデータの収集には、高速性と定時性が要求されるが、汎用OSである非リアルタイムOSは、この要求に対応できない。そこで、データ収集部15のうちデータ収集を行うデータ収集実行部41を含むデータ収集部15Aは、リアルタイムOS5上で動作する。すなわち、リアルタイムデータ処理部7側のデータ収集部15Aは、リアルタイム性が求められる処理を実行する。
エラー管理部42は、データ収集の実行処理中におけるエラーの発生を検知し、データ収集部15Aのデータ収集におけるエラーを管理する。
生存管理部43は、データ収集部15Aの機能が正常に働いていることを監視する。生存管理部43は、データ収集実行部41が動作しているかあるいは停止しているかを検知して、データ収集部15Aの動作状態を管理する。
これに対して、非リアルタイムデータ処理部8に存在するデータ収集部15Bは、実行制御部12と接続され、実行制御部12と送受信可能にデータを変換する変換部として機能する。データ収集部15Bは、実行制御部12とデータのやり取りおよび制御に関するやり取りを行うデータ収集制御部44と、データ収集制御部44と実行制御部12の間のインタフェースであるIF(Interface)適合部45と、を備える。
データ収集制御部44は、リアルタイムデータ処理部7側のデータ収集部15Aから送られてきたデータを受け取り、実行制御部12に送出する。また、データ処理部14において診断処理したフィードバックデータを実行制御部12から受け取り、データ収集部15Aに送出する。データ収集部15Aに送出されたフィードバックデータは通信路18を介して機器17にフィードバックされる。
データ収集制御部44は、リアルタイムデータ処理部7のエラー管理部42と同様に、データ収集部15Bのデータ収集におけるエラーを管理する機能を含んでいる。
また、データ収集制御部44は、リアルタイムデータ処理部7の生存管理部43と同様に、データ収集部15Bの動作/停止を管理する機能を含んでいる。
これに対して、リアルタイムデータ処理部7は、データ収集制御部44を含んでいない。データ収集実行部41は、特定の時間間隔で収集したデータを送るだけなので、とくに制御する必要がないからである。
IF適合部45は、実行制御部12が受信できるデータ形式にデータを変換する。加えて、エラー情報およびデータ収集設定情報のやり取りも行う。これらの通信形式およびデータフォーマットはインタフェース仕様としてあらかじめ決められており、IF適合部45はこの仕様に沿った処理を実装する。言い換えれば、IF適合部45がこの仕様に沿って実装される限り、データ収集部15の他の機能ブロックはどのように実装してもデータ処理フローに組み込むことができる。すなわち、IF適合部45を備えることによって、ユーザは、使用するネットワークに応じて、あるいは接続する機器17に応じて、システム構築後に任意のデータ収集部15を追加/削除することが可能となる。
機器17とやり取りするプロトコルとプラットフォーム16とやり取りするプロトコルは別であり、IF適合部45はその間の変換を行う。
上述より、非リアルタイムデータ処理部8側のデータ収集部15Bは、実行制御部12との接続性が求められる処理を実行する。
また、リアルタイムデータ処理部7側のデータ収集部15Aおよび非リアルタイムデータ処理部8側のデータ収集部15Bは、リアルタイムデータ処理部7と非リアルタイムデータ処理部8との間のデータのやり取りを行うOS間通信部50A,50Bをそれぞれ備える。
OS間通信部50A,50Bは、リアルタイムデータ処理部7と非リアルタイムデータ処理部8の間のデータ通信を行う。リアルタイムデータ処理部7と非リアルタイムデータ処理部8は搭載するOSが異なるため、直接のデータのやり取りができない。したがって、OS間通信部50A,50Bがデータ通信を中継する。
OS間通信部50A,50Bは、収集したデータを送受信する収集データ通信部51A,51Bと、エラー情報を送受信するエラー情報通信部52A,52Bと、生存情報を送受信する生存情報通信部53A,53Bと、を備える。
収集データ通信部51Aは、データ収集実行部41が機器17から収集したデータを非リアルタイムデータ処理部8側の収集データ通信部51Bに送信する。また、収集データ通信部51Bは、実行制御部12からIF適合部45、データ収集制御部44を通じて送られてきたフィードバックデータを収集データ通信部51Aに送信する。
エラー情報通信部52Aは、エラー管理部42からのエラー情報を非リアルタイムデータ処理部8側のエラー情報通信部52Bに送信する。またデータ収集制御部44内のエラー管理機能からのエラー情報をエラー情報通信部52Bからエラー情報通信部52Aに送信する。
生存情報通信部53Aは、生存管理部43からの生存情報を非リアルタイムデータ処理部8側の生存情報通信部53Bに送信する。またデータ収集制御部44内の生存管理機能からの生存情報を生存情報通信部53Bから生存情報通信部53Aに送信する。生存情報とは、動作状態を示す情報である。データ収集部15は、OS間を跨いでいるので、リアルタイムデータ処理部7におけるタスクと非リアルタイムデータ処理部8におけるタスクは互いに別である。したがってどちらかのタスクが停止している可能性がある。したがって、一定間隔で互いに動作状態であることを示す情報を送ることによって、互いの動作状態の確認を行う。
OS間通信部50A,50Bは、OSの違いによる処理速度の差を吸収するバッファリング機能を有する。さらにOS間通信部50A,50Bは、他方の通信部50B,50Aのデータ受信状況に応じて送信速度を調整する機能を有する。
リアルタイムOS5と非リアルタイムOS6では、その特性上、各種処理のスケジューリングに異なる制御が用いられる。
リアルタイムOSは、リアルタイム性が要求される処理に対して高い優先度を割り当て、リアルタイム性を実現する。データ収集実行部41は、機器17から一定速度のデータを収集する。
一方、非リアルタイムOSは、処理の実行時間により優先度が変更されることがある。したがって、他の処理が完了するまで待つ必要があり、高い優先度の処理が優先的に実行されない。そのため、処理の実行時間にムラがあり、局所的に処理速度に偏り(速度の差)が生じることがある。これにより、データ収集実行部41が収集するデータを円滑に処理できない場合がある。
OS間通信部50A,50Bがバッファリング機能を有することによって、データ収集実行部41が収集したデータをデータ収集制御部44が円滑に処理することができる。
例えば、OS間通信部50A,50Bはともにメモリを備えており、データを緩衝可能に送受信する。メモリは、例えばリングバッファにより構成される。OS間通信部50Aのメモリには、機器17から収集されたデータが格納され、格納されたデータは読み出されてOS間通信部50Bに送信される。OS間通信部50Bのメモリには、OS間通信部50Bの収集データ通信部51Bが受信したデータが格納される。格納されたデータは読み出されて、IF適合部45で変換された後、実行制御部12に送出される。
OS間通信部50Bは、OS間通信部50Aからデータが送信される間、メモリを監視する。非リアルタイムOS6が処理に時間を要しているとき、OS間通信部50Bのメモリ内に格納されたデータ量は増加する。メモリ内のデータ量が閾値に達すると、データ収集制御部44は、動作停止を示す生存情報をOS間通信部50Bの生存情報通信部53BからOS間通信部50Aの生存情報通信部53Aに送信する。
これを受けてOS間通信部50Aは、データの送信を停止する。
データ収集制御部44側で動作が停止した場合、データ収集実行部41が収集するデータは、OS間通信部50Aのメモリにバッファリングされる。データ収集制御部44の動作が再開すると、OS間通信部50AはメモリにバッファリングされているデータをOS間通信部50Bに送信する。したがって、データ収集制御部44側が動作を再開した場合、収集したデータが途切れることなく処理を再開することが可能である。
また、バッファリング機能として、OS間に共有メモリを設置しこれを利用する方法が考えられる。OS間通信部50A,50Bが共有メモリを備えている場合、共有メモリは、OS間通信部50A,50Bの両方からデータの読み出しおよび書き込みが可能である。共有メモリには、OS間通信部50AからOS間通信部50Bに送信するデータおよびOS間通信部50BからOS間通信部50Aに送信するデータが格納される。共有メモリは、主記憶部22の領域の一部に設けられる。収集データ通信部51Aは、収集したデータを共有メモリに格納して、非リアルタイムデータ処理部8側のデータ収集部15Bに対して収集したデータを共有メモリに格納したことを通知する。収集データ通信部51Bは、データ送信の通知を受けて共有メモリに格納されたデータを読み出すことによりデータを受信する。OS間通信部50A,50Bは、この共有メモリへのアクセスおよび排他制御を実行する。
データ収集部15Bが停止した場合、OS間通信部50Aは機器17から収集したデータを共有メモリに格納することによりバッファリングする。
データ収集部15Bが動作状態になると、OS間通信部50Aは共有メモリ内にバッファリングデータがあるか否か確認し、バッファリングデータがある場合、収集データ通信部51Aが収集データ通信部51Bに対してデータを送信する旨を通知する。通知を受けたOS間通信部50Bは、共有メモリに格納されたデータを読み出すことによりデータを受信する。
図8にリアルタイムデータ処理部7側のデータ収集部15Aのデータ収集処理の動作を示す。データ収集部15Aは起動後、初期化処理を行う(ステップS101)。
次に、メモリ内に既にデータ収集実行部41が収集したバッファリングデータがあるか否か確認する(ステップS102)。バッファリングデータがある場合(ステップS102:Yes)、非リアルタイムデータ処理部8側のデータ収集部15Bが動作中であるか否かを生存情報通信部53Aを介して確認する(ステップS103)。データ収集部15Bが動作中であれば(ステップS103:Yes)、バッファリングデータをOS間通信部50Aの収集データ通信部51Aを介してデータ収集部15Bに送信する(ステップS104)。
次に、予めエンジニアリングツール11によって設定されたデータ収集タイミング(一定周期、特定の条件を満たしたタイミング等)か否かを確認する(ステップS105)。ステップS102において、バッファリングデータがない場合(ステップS102:No)、ステップS103において、データ収集部15Bが停止中である場合(ステップS103:No)も、ステップS105に移行する。データ収集タイミングが、指定タイミングで有れば(ステップS105:Yes)、データ収集実行部41が機器17よりデータを収集する(ステップS106)。指定タイミングでなければ(ステップS105:No)、ステップS102に戻る。
ステップS106において、データを収集すると、次に、データ収集部15Bが動作中であるか否かを確認する(ステップS107)。このとき、データ収集部15Bが動作中であれば(ステップS107:Yes)、収集データをOS間通信部50Aの収集データ通信部51Aを介して送信する(ステップS108)。停止中であれば(ステップS107:No)、収集データをバッファリングしておく(ステップS109)。なお、ステップS107において、停止中であることに加えて、データ収集部15Bの処理速度が遅く、収集データが滞留している場合も、データをバッファリングするようにしてもよい。
続いて、ユーザによる操作によってデータ処理フローが停止されたか否か判断される(ステップS110)。ここでユーザによる操作とは、例えば、装置に設けられたトグルスイッチを操作した場合、エンジニアリングツール11から停止操作した場合である。ユーザ操作によってデータ処理フローが停止された場合(ステップS110:Yes)、IF適合部45を介して停止指示を受信し、データ収集制御部44がデータ収集部15A,15B全体の動作を終了する。ユーザ操作によるデータ処理フローの停止がない場合(ステップS110:No)、ステップS102に戻る。ステップS109において、収集データをバッファリングしていた場合、メモリ内にバッファリングデータが存在することから(ステップS102:Yes)、ステップS103に移行し、データ収集部15Aの動作状態を確認する。データ収集部15Aが動作中であれば(ステップS103:Yes)、バッファリングデータをデータ収集部15Bに送信する(ステップS104)。こうしてリアルタイムOS5上で動作するデータ収集部15Aと非リアルタイムOS6上で動作するデータ収集部15Bの処理速度の差を吸収し、データ収集から加工・診断へ処理をつなげることができる。
図9に非リアルタイムデータ処理部8側のデータ収集部15Bのデータ収集処理の動作を示す。データ収集部15Bは起動後、初期化処理を行い(ステップS201)、生存情報通信部53Bを介して取得したリアルタイムデータ処理部7側のデータ収集部15Aの生存情報を確認する(ステップS202)。データ収集部15Aが生存していれば(動作中であれば)(ステップS202:Yes)、続けてエラー情報通信部52Bを介してエラー情報を確認する(ステップS203)。データ収集部15Aが生存してなければ(動作中でなければ)(ステップS202:No)、生存中(動作中)になるまで、ステップS202の生存確認の処理を繰り返す。
ステップS203において、エラー発生中でなければ(ステップS203:Yes)、OS間通信部50Bの収集データ通信部51Bを介して収集データを受信する(ステップS204)。エラー発生中であれば(ステップS203:No)、ステップS202に戻り、エラーが発生しなくなるまで、ステップS202、S203の確認処理を繰り返す。
ステップS204において、収集データを受信すると、取得したデータはIF適合部45によって実行制御部12向けに変換される(ステップS205)。変換されたデータは、IF適合部45を介して実行制御部12に送信される(ステップS206)。
続いて、ユーザによる操作によってデータ処理フローが停止されたか否か判断される(ステップS207)。ここでユーザによる操作とは、例えば、装置に設けられたトグルスイッチを操作した場合、エンジニアリングツール11から停止操作した場合である。ユーザ操作によってデータ処理フローが停止された場合(ステップS207:Yes)、データ収集制御部44は、IF適合部45を介して停止指示を受信し、データ収集部15A,15B全体の動作を終了する。ユーザ操作によるデータ処理フローの停止がない場合(ステップS207:No)、ステップS202に戻り、以降の処理が繰り返される。
上記実施の形態において、データ収集部15は1つであったが、これに限らず複数備えてもよい。各々のデータ収集部15は、通信路18を介して異なる機器17と接続される。この場合、データを収集した機器17およびデータ収集部15と収集したデータを加工・診断した結果を通知するデータ収集部15および機器17が異なってもよい。例えば、センサから収集したデータを診断した結果をモータにフィードバックする場合が該当する。
また、上記実施の形態において、ホストOS3上でハイパーバイザ4が動作する構成であったが、これに限らず、ハードウェア2上でハイパーバイザ4が直接動作し、リアルタイム0S5および非リアルタイムOS6はハイパーバイザ4上で動作する仮想環境において適用してもよい。また、ハイパーバイザ上でゲストOSを稼働するハイパーバイザ型に限らず、ホストOS上で仮想化ソフトを実行しゲストOSを稼働するホスト型で構成される仮想環境において適用してもよい。
また、データ処理装置1の機能は、専用のハードウェアによっても、また、通常のコンピュータシステムによっても実現することができる。
例えば、プロセッサ21によって実行されるプログラムP1を、コンピュータ読み取り可能な非一時的な記録媒体に格納して配布し、そのプログラムP1をコンピュータにインストールすることにより、上述の処理を実行する装置を構成することができる。このような記録媒体としては、例えばフレキシブルディスク、CD−ROM(Compact Disc Read−Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto−Optical Disc)が考えられる。
また、プログラムP1をインターネットに代表される通信ネットワーク上のサーバ装置が有するディスク装置に格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロードするようにしてもよい。
また、通信ネットワークを介してプログラムP1を転送しながら起動実行することによっても、上述の処理を達成することができる。
さらに、プログラムP1の全部又は一部をサーバ装置上で実行させ、その処理に関する情報をコンピュータが通信ネットワークを介して送受信しながらプログラムを実行することによっても、上述の処理を達成することができる。
なお、上述の機能を、OSが分担して実現する場合又はOSとアプリケーションとの協働により実現する場合等には、OS以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロードしてもよい。
また、データ処理装置1の機能を実現する手段は、ソフトウェアに限られず、その一部又は全部を、回路を含む専用のハードウェアによって実現してもよい。
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態および変形が可能とされるものである。また、上述した実施の形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内およびそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
本発明は、データを収集し、収集したデータについて加工、診断等のデータ処理を行うデータ処理装置に広く適用することができる。
1 データ処理装置、2 ハードウェア、3 ホストOS、4 ハイパーバイザ、5 リアルタイムOS、6 非リアルタイムOS、7 リアルタイムデータ処理部、8 非リアルタイムデータ処理部、11 エンジニアリングツール、111 UI部、112 受付部、12 実行制御部、13 記憶部、14 データ処理部、15,15A,15B データ収集部、16 プラットフォーム、17 機器、18 通信路、21 プロセッサ、22 主記憶部、23 補助記憶部、24 入力部、25 出力部、26 通信部、27 内部バス、30 データ処理フロー、311,312,313,314 部分処理、131 フロー設定情報、41 データ収集実行部、42 エラー管理部、43 生存管理部、44 データ収集制御部、45 IF適合部、50A,50B OS間通信部、51A,51B 収集データ通信部、52A,52B エラー情報通信部、53A,53B 生存情報通信部、P1 プログラム。

Claims (5)

  1. 機器からデータを収集するデータ収集部と、
    非リアルタイムOS上で動作し、データを処理するデータ処理部と、
    前記非リアルタイムOS上で動作し、データ処理フローに基づき、前記データ収集部によるデータ収集処理、前記データ処理部によるデータ処理および前記データ収集部が収集したデータの前記データ処理部への提供を制御する実行制御部と、を備え、
    前記データ収集部は、
    リアルタイムOS上で動作し、機器からデータを前記データ収集処理として収集する収集実行部と、
    前記非リアルタイムOS上で動作し、収集したデータを前記実行制御部が受信できるデータ形式に前記データ収集処理として変換する変換部と、
    を備えており、
    前記収集実行部および前記変換部は、相互に通信するOS間通信部を備え、
    前記OS間通信部は、それぞれ、
    収集したデータを互いに送受信する収集データ通信部と、
    前記収集実行部と前記変換部のエラー情報を互いに送受信するエラー情報通信部と、
    前記収集実行部と前記変換部の動作状態を示す生存情報を互いに送受信する生存情報通信部と、
    を備えるデータ処理装置。
  2. 前記OS間通信部は、メモリを備え、
    収集したデータを前記メモリにバッファリングする、
    請求項に記載のデータ処理装置。
  3. 記生存情報通信部からの生存情報に基づいて、前記メモリにデータをバッファリングし、またはバッファリングされたデータを送信する、
    請求項に記載のデータ処理装置。
  4. 機器からデータを収集するデータ収集部と、データを処理するデータ処理部と、前記データ収集部によるデータ収集処理、前記データ処理部によるデータ処理および前記データ収集部が収集したデータの前記データ処理部への提供を制御する実行制御部と、を備えるデータ処理装置におけるデータ処理方法であって、
    リアルタイムOS上で実行され、前記データ収集部の第1の部分が機器からデータを前記データ収集処理として収集するステップと、
    前記第1の部分が、収集した前記データを非リアルタイムOS上で動作する前記データ収集部の第2の部分にOS間通信を介して送信するステップと、
    前記第1の部分と前記第2の部分のエラー情報を前記OS間通信を介して互いに送受信するステップと、
    前記第1の部分と前記第2の部分の動作状態を示す生存情報を前記OS間通信を介して互いに送受信するステップと、
    前記第2の部分が、前記OS間通信を介して受信した前記データを前記実行制御部が受信可能なデータ形式に前記データ収集処理として変換するステップと、
    前記第2の部分が、変換した前記データを前記非リアルタイムOS上で動作する前記実行制御部に送信するステップと、
    を備えるデータ処理方法。
  5. 機器からデータを収集するデータ収集部と、データを処理するデータ処理部と、前記データ収集部によるデータ収集処理、前記データ処理部によるデータ処理および前記データ収集部が収集したデータの前記データ処理部への提供を制御する実行制御部と、を備えるデータ処理装置におけるデータを処理するプログラムであって、
    コンピュータに、
    リアルタイムOS上で実行され、前記データ収集部の第1の部分が機器からデータを前記データ収集処理として収集するステップ、
    前記第1の部分が、収集した前記データを非リアルタイムOS上で動作する前記データ収集部の第2の部分にOS間通信を介して送信するステップ、
    前記第1の部分と前記第2の部分のエラー情報を前記OS間通信を介して互いに送受信するステップ、
    前記第1の部分と前記第2の部分の動作状態を示す生存情報を前記OS間通信を介して互いに送受信するステップ、
    前記第2の部分が、前記OS間通信を介して受信した前記データを前記実行制御部が受信可能なデータ形式に前記データ収集処理として変換するステップ、
    前記第2の部分が、変換した前記データを前記非リアルタイムOS上で動作する前記実行制御部に送信するステップ、
    を実行させるプログラム。
JP2020528194A 2019-04-24 2019-04-24 データ処理装置、データ処理方法およびプログラム Active JP6833116B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/017455 WO2020217345A1 (ja) 2019-04-24 2019-04-24 データ処理装置、データ処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP6833116B1 true JP6833116B1 (ja) 2021-02-24
JPWO2020217345A1 JPWO2020217345A1 (ja) 2021-05-06

Family

ID=72941129

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020528194A Active JP6833116B1 (ja) 2019-04-24 2019-04-24 データ処理装置、データ処理方法およびプログラム

Country Status (3)

Country Link
JP (1) JP6833116B1 (ja)
CN (1) CN113711187B (ja)
WO (1) WO2020217345A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10678216B2 (en) * 2017-02-28 2020-06-09 Sap Se Manufacturing process data collection and analytics

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019026139A1 (ja) * 2017-07-31 2019-02-07 三菱電機株式会社 情報処理装置および情報処理方法
WO2019026136A1 (ja) * 2017-07-31 2019-02-07 三菱電機株式会社 情報処理装置および情報処理方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009095812A1 (en) * 2008-01-28 2009-08-06 Nxp B.V. Dual operating systems on a single processor
JP2011257904A (ja) * 2010-06-08 2011-12-22 Hitachi Ltd 制御装置及びそのデータ処理方法
JP5562468B1 (ja) * 2013-04-26 2014-07-30 三菱電機株式会社 コントローラ、エネルギーマネジメントシステム、遠隔制御方法、及び、プログラム
CN108803502B (zh) * 2017-04-27 2022-07-26 横河电机株式会社 数据收集装置及系统、数据服务器、数据收集方法及计算机可读取的非易失性的记录介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019026139A1 (ja) * 2017-07-31 2019-02-07 三菱電機株式会社 情報処理装置および情報処理方法
WO2019026136A1 (ja) * 2017-07-31 2019-02-07 三菱電機株式会社 情報処理装置および情報処理方法

Also Published As

Publication number Publication date
JPWO2020217345A1 (ja) 2021-05-06
CN113711187B (zh) 2022-07-01
CN113711187A (zh) 2021-11-26
WO2020217345A1 (ja) 2020-10-29

Similar Documents

Publication Publication Date Title
JP7161262B2 (ja) 自動化プロセスの処理の分散を最適化するシステム
JP4477365B2 (ja) 複数インタフェースを有する記憶装置、および、その記憶装置の制御方法
US10003672B2 (en) Apparatus, systems and methods for deployment of interactive desktop applications on distributed infrastructures
CN107272549B (zh) 控制装置、控制方法以及记录介质
US20130138818A1 (en) Method for accessing an automation system and system operating according to the method
CN113228020B (zh) 调度机器人以用于机器人流程自动化
JP6833116B1 (ja) データ処理装置、データ処理方法およびプログラム
JP5609308B2 (ja) 画像処理システム、画像処理装置、情報処理装置、及び画像処理方法
CN112579253B (zh) 一种管理容器的方法及系统
JP2007221364A (ja) コントローラ、制御システム及び制御装置の拡張方法
CN103529816A (zh) 一种基于Qt的上位机控制系统
JP6861895B1 (ja) データ処理装置、データ処理システム、データ処理方法およびプログラム
JP6878697B2 (ja) データ処理装置、データ処理方法およびプログラム
JP4883492B2 (ja) 仮想マシン管理システムおよび計算機、並びに、プログラム
CN105791345A (zh) 半导体工艺设备中服务端与工控机的通信系统
JP2015215669A (ja) 数値制御装置および制御システム
US8151028B2 (en) Information processing apparatus and control method thereof
JP7326863B2 (ja) 転送装置、情報処理装置、および、データ転送方法
JP6904075B2 (ja) 状態予測装置、状態予測方法および状態予測プログラム
WO2022264424A1 (ja) 制御装置及び制御方法
JP6402484B2 (ja) 情報処理装置及び情報処理プログラム
JP2009176228A (ja) 仮想マシンサーバ、仮想マシンサーバの情報保存方法及び仮想マシンサーバの情報保存用プログラム
US20230017884A1 (en) Method and system for seamlessly remote monitoring an availability of a published remote resource on a host
JP5550122B2 (ja) ログ収集システム、端末装置、ログ収集方法、及びプログラム
CN117319368A (zh) 一种远程控制管理方法及相关装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200521

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200521

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200901

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201029

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210202

R150 Certificate of patent or registration of utility model

Ref document number: 6833116

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250