IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ トヨタ自動車株式会社の特許一覧

<>
  • 特許-情報処理装置、方法、およびプログラム 図1
  • 特許-情報処理装置、方法、およびプログラム 図2
  • 特許-情報処理装置、方法、およびプログラム 図3
  • 特許-情報処理装置、方法、およびプログラム 図4
  • 特許-情報処理装置、方法、およびプログラム 図5
  • 特許-情報処理装置、方法、およびプログラム 図6
  • 特許-情報処理装置、方法、およびプログラム 図7
  • 特許-情報処理装置、方法、およびプログラム 図8
  • 特許-情報処理装置、方法、およびプログラム 図9
  • 特許-情報処理装置、方法、およびプログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-11
(45)【発行日】2024-11-19
(54)【発明の名称】情報処理装置、方法、およびプログラム
(51)【国際特許分類】
   G05B 19/05 20060101AFI20241112BHJP
   G06F 9/455 20180101ALI20241112BHJP
   G06F 9/48 20060101ALI20241112BHJP
【FI】
G05B19/05 F
G06F9/455 150
G06F9/48 370
【請求項の数】 5
(21)【出願番号】P 2021091997
(22)【出願日】2021-06-01
(65)【公開番号】P2022184262
(43)【公開日】2022-12-13
【審査請求日】2023-10-11
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】明石 茂
(72)【発明者】
【氏名】浜川 耕次
【審査官】田中 友章
(56)【参考文献】
【文献】国際公開第2020/217345(WO,A1)
【文献】特開2012-194710(JP,A)
【文献】特開2018-185624(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/05
G06F 9/455
G06F 9/48
(57)【特許請求の範囲】
【請求項1】
複数の機器を制御する情報処理装置であって、
前記複数の機器のうちの少なくとも1つの機器である制御対象を制御する機器制御部であって、前記制御対象から供給された入力データを受け取り、前記入力データを使用して制御プログラムを実行し、得られた出力データを前記制御対象に供給することにより、前記制御対象を制御する、機器制御部と、
前記複数の機器から収集した収集データにあらかじめ決められたデータ処理を実行するデータ処理部と、
前記複数の機器と前記機器制御部と前記データ処理部との間におけるデータの授受を制御する通信処理部と、
前記データの宛先と前記データの送信元と、優先度と、を対応づけた優先度定義データを記憶する優先度データ記憶部と、
を含み、
前記通信処理部が前記複数の機器、前記機器制御部、前記データ処理部から受信する前記データは、前記データの前記優先度を表す情報を含み、
前記通信処理部は、
前記優先度データ記憶部に格納されている前記優先度定義データを参照して、受信した前記データに含まれている、前記優先度を表す情報である宛先情報が示す前記宛先と送信元情報が示す前記送信元とにより、前記優先度を判別し、
記優先度が高いことを示す前記データを、前記優先度が低いことを示す前記データより優先して送信する、
情報処理装置。
【請求項2】
請求項に記載の情報処理装置であって、
前記データ処理部は、前記複数の機器から供給された前記複数の機器の稼働状態を示す状態データを受け取り、前記状態データに前記データ処理を実行し、前記データ処理により生成した結果データを前記機器制御部に供給し、
前記機器制御部は、前記データ処理部から供給された前記結果データを使用して、前記制御対象の制御内容を変更する、
情報処理装置。
【請求項3】
請求項1または2に記載の情報処理装置であって、
第1仮想マシンと第2仮想マシンと、前記第1仮想マシンと前記第2仮想マシンとを管理するハイパーバイザと、が動作しており、
前記機器制御部の機能は、前記第1仮想マシンにおけるリアルタイムOS上で動作する第1アプリケーションソフトウェアにより実現され、
前記データ処理部の機能は、前記第2仮想マシンにおける非リアルタイムOS上で動作する第2アプリケーションソフトウェアにより実現され、
前記通信処理部の機能は、前記ハイパーバイザにより実現される、
情報処理装置。
【請求項4】
仮想環境が構築された情報処理装置において、仮想マシンを管理するハイパーバイザが実行する方法であって、
前記情報処理装置においては、複数の機器のうちの少なくとも1つの機器である制御対象を制御する第1仮想マシンと、前記複数の機器から収集した収集データにあらかじめ決められたデータ処理を実行する第2仮想マシンと、が動作しており、
前記ハイパーバイザが、
前記第1仮想マシンと前記第2仮想マシンと前記複数の機器との間におけるデータの授受を制御するステップと、
前記データの宛先と前記データの送信元と、優先度と、を対応づけた優先度定義データを参照して、前記複数の機器、前記第1仮想マシン、前記第2仮想マシンから受信した前記データに含まれている、前記優先度を表す情報である宛先情報が示す前記宛先と送信元情報が示す前記送信元とにより、前記データの前記優先度が高い否かを判別するステップと、
前記優先度が高い前記データを前記優先度が低い前記データより優先して送信するステップと、
を実行する方法。
【請求項5】
コンピュータが実行するプログラムであって、
前記コンピュータにおいては、
仮想環境が構築されており、
第1仮想マシンと、第2仮想マシンとが動作しており、
前記第1仮想マシンが、複数の機器のうちの少なくとも1つの機器である制御対象を制御し、
前記第2仮想マシンが、前記複数の機器から収集した収集データにあらかじめ決められたデータ処理を実行する、
ように構成されており、
前記コンピュータに、
前記第1仮想マシンと前記第2仮想マシンと前記複数の機器との間におけるデータの授受を制御する機能と、
前記データの宛先と前記データの送信元と、優先度と、を対応づけた優先度定義データを参照して、前記複数の機器、前記第1仮想マシン、前記第2仮想マシンから受信した前記データに含まれている、前記優先度を表す情報である宛先情報が示す前記宛先と送信元情報が示す前記送信元とにより、前記データの前記優先度が高いか否かを判別する機能と、
前記優先度が高い前記データを前記優先度が低い前記データより優先して送信する機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、方法、およびプログラムに関する。
【背景技術】
【0002】
特許文献1には、クラウドサーバが、制御機器を構成する複数のユニット(機器)の制御に用いられるパラメータを一括して管理する技術が記載されている。パラメータは、例えば、ネットワークユニットに設定するIPアドレス、電源ユニットに設定する許容電圧である。まず、制御機器のCPUユニットは、パラメータの取得要求をクラウドサーバに送信する。パラメータの取得要求には、ユニットを識別するIDが含まれている。クラウドサーバは、取得要求を受信すると、取得要求に含まれているIDから特定されるユニットについてのパラメータをCPUユニットに送信する。CPUユニットはクラウドサーバから受信したパラメータを設定し、設定したパラメータに従って制御プログラムを実行する。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2018-77911号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、クラウドサーバは複数の機器から受け付けた要求を処理すると推測される。クラウドサーバが受け付ける要求には、その要求の内容によって、優先して応答を返すべき要求と、そうでない要求とが含まれることが想定される。例えば、制御機器は、生産ラインで制御対象機器を制御している場合、設定された時間内で制御対象機器に対する処理を実行することが要求されている。これは、生産ラインを安定して稼働させるためである。このため、クラウドサーバは、このような制御機器に対する応答を後回しにすべきではない。しかしながら、特許文献1に記載されている構成の場合、要求の優先度を考慮して要求を処理することが想定されていない。このため、即時に応答すべき応答、例えば、制御機器に対する応答、が後回しにされ得る。
【課題を解決するための手段】
【0005】
本開示は、以下の形態として実現することが可能である。
【0006】
(1)本開示の形態によれば、複数の機器を制御する情報処理装置が提供される。この情報処理装置は、複数の機器のうちの少なくとも1つの機器である制御対象を制御する機器制御部であって、通信処理部を介して制御対象から供給された入力データを受け取り、入力データを使用して制御プログラムを実行し、得られた出力データを制御対象に供給することにより、制御対象を制御する、機器制御部と、複数の機器から収集した収集データにあらかじめ決められたデータ処理を実行するデータ処理部と、複数の機器と機器制御部とデータ処理部との間におけるデータの授受を制御する通信処理部と、データの宛先とデータの送信元と、優先度と、を対応づけた優先度定義データを記憶する優先度データ記憶部と、を含む。通信処理部が複数の機器、機器制御部、データ処理部から受信するデータは、データの優先度を表す情報を含む。通信処理部は、優先度データ記憶部に格納されている優先度定義データを参照して、受信したデータに含まれている、優先度を表す情報である宛先情報が示す宛先と送信元情報が示す送信元とにより、優先度を判別し、優先度が高いことを示すデータを、優先度が低いことを示すデータより優先して送信する。
このような態様によれば、通信処理部が、優先度の高いデータを優先して送信することにより、即時に処理すべき応答が後回しにされない。このような態様によれば、データに含まれている宛先情報と送信元情報から優先度を判別するので、簡易な方法で優先度を判別することができる。
)上記形態の情報処理装置において、データ処理部は、複数の機器から供給された複数の機器の稼働状態を示す情報を含む状態データを受け取り、状態データにデータ処理を実行し、データ処理により生成した結果データを機器制御部に供給してもよい。機器制御部は、データ処理部から供給された結果データを使用して、制御対象の制御内容を変更してもよい。
このような態様によれば、複数の機器の稼働状態を制御対象に対する制御内容にフィードバックすることができる。
)上記形態の情報処理装置において、第1仮想マシンと第2仮想マシンと、第1仮想マシンと第2仮想マシンとを管理するハイパーバイザと、が動作していてもよい。機器制御部の機能は、第1仮想マシンにおけるリアルタイムOS上で動作する第1アプリケーションソフトウェアにより実現されてもよい。データ処理部の機能は、第2仮想マシンにおける非リアルタイムOS上で動作する第2アプリケーションソフトウェアにより実現されてもよい。通信処理部の機能は、ハイパーバイザにより実現されてもよい。
このような態様によれば、機器制御部と、データ処理部と、を別個の仮想マシンで動作させ、さらに、機器制御部をリアルタイムOS上で実行するため、設定された時間内に制御機器に応答することが容易となる。
)本開示の他の形態によれば、本開示は、仮想環境が構築された情報処理装置において、仮想マシンを管理するハイパーバイザが実行する方法の形態で実現することも可能である。この形態における情報処理装置においては、複数の機器のうちの少なくとも1つの機器である制御対象を制御する第1仮想マシンと、複数の機器から収集した収集データにあらかじめ決められたデータ処理を実行する第2仮想マシンと、が動作するように構成されている。ハイパーバイザは、第1仮想マシンと第2仮想マシンと複数の機器との間におけるデータの授受を制御するステップと、データの宛先とデータの送信元と、優先度と、を対応づけた優先度定義データを参照して、複数の機器、第1仮想マシン、第2仮想マシンから受信したデータに含まれている、優先度を表す情報である宛先情報が示す宛先と送信元情報が示す送信元とにより、データの優先度が高い否かを判別するステップと、優先度が高いデータを優先度が低いデータより優先して送信するステップと、を実行する。
このような態様によれば、優先度の高いデータを優先して送信することにより、即時に処理すべき応答が後回しにされない。
)本開示の他の形態によれば、本開示は、コンピュータが実行するプログラムの形態で実現することも可能である。この形態におけるコンピュータにおいては、仮想環境が構築されており、第1仮想マシンと、第2仮想マシンとが動作するよう構成されている。この形態におけるコンピュータにおいては、第1仮想マシンが、複数の機器のうちの少なくとも1つの機器である制御対象を制御し、第2仮想マシンが、複数の機器から収集した収集データにあらかじめ決められたデータ処理を実行する、ように構成されている。このコンピュータが実行するプログラムは、このコンピュータに、第1仮想マシンと第2仮想マシンと複数の機器との間におけるデータの授受を制御する機能と、データの宛先とデータの送信元と、優先度と、を対応づけた優先度定義データを参照して、複数の機器、第1仮想マシン、第2仮想マシンから受信したデータに含まれている優先度を表す情報である宛先情報が示す宛先と送信元情報が示す送信元とにより、データの優先度が高いか否かを判別する機能と、優先度が高いデータを優先度が低いデータより優先して送信する機能と、を実現させる。
このような態様によれば、優先度の高いデータを優先して送信することにより、即時に処理すべき応答が後回しにされない。
【図面の簡単な説明】
【0007】
図1】実施形態に係る制御サーバの構成の概要を示す図である。
図2】制御サーバのハードウェア構成を示す図である。
図3】制御サーバの機能構成を示す図である。
図4】パラメータ記憶部が記憶するデータの一例を示す図である。
図5】優先度データ記憶部が記憶する優先度定義データの一例を示す図である。
図6】パケットを優先して送信する様子を表した図である。
図7】他の実施形態に係る制御サーバの機能構成を示す図である。
図8】他の実施形態に係る制御サーバの他の機能構成を示す図である。
図9】他の実施形態に係る優先度データ記憶部が記憶するグループ定義データの一例を示す図である。
図10】他の実施形態に係る優先度データ記憶部が記憶する優先度定義データの一例を示す図である。
【発明を実施するための形態】
【0008】
A.実施形態
図1は、実施形態に係る制御サーバ100の構成の概要を示す図である。制御サーバ100は、産業用のコンピュータである。制御サーバ100は、生産現場において制御対象機器91、92を制御する制御機器として機能する。制御対象機器91、92は、生産機械、センサ、駆動機器、リモートIO機器等を含むFA(Factory Automation)機器である。実施形態において、制御対象機器91、92は、例えば、多軸を有する加工機である。より具体的には、制御対象機器91、92は、エンジンブロック、ギヤといった自動車の部品を加工する工作機械である。さらに、制御サーバ100は、制御対象機器91、92から供給されたデータに決められた処理を実行して、制御対象機器91、92の制御に使用するパラメータの最適値を算出する。制御サーバ100を情報処理装置とも呼ぶ。
【0009】
制御サーバ100においては、物理的なコンピュータ上で、複数の仮想的なコンピュータを動作させる仮想化環境が構築されている。制御サーバ100は、ハイパーバイザ10と、仮想マシン20、30、40と、RTOS(Real Time Operating System)50と、非リアルタイムOS(Operating System)60と、第1アプリケーション71、第2アプリケーション72、第3アプリケーション73とを含む。
【0010】
ハイパーバイザ10は、ハードウェア上で動作し、仮想環境を実現するためのソフトウェアである。例えば、ハイパーバイザ10は、制御サーバ100のハードウェア資源を仮想マシン20、30、40それぞれに割り振る。
【0011】
仮想マシン20、30、40は、ハイパーバイザ10により構築された仮想的なコンピュータである。仮想マシン20、30、40は、ハイパーバイザ10上で動作し、ハイパーバイザ10により管理される。
【0012】
RTOS50は、あらかじめ定められた時間までに、あらかじめ定められた処理が実行できるようにスケジューリングすることができるOSである。
【0013】
非リアルタイムOS60は、リアルタイム性を保証することができないOSである。非リアルタイムOS60は、例えば、様々なアプリケーションプログラムを搭載した汎用OSである。
【0014】
第1アプリケーション71、第2アプリケーション72、第3アプリケーション73は、仮想マシン20、30、40に、各種機能を実現させるアプリケーションソフトウェアである。 第1アプリケーション71は、制御対象機器91、92を制御するソフトウェアである。第1アプリケーション71は、例えば、制御プログラムと制御プログラムの実行に使用される各種パラメータとを含む。制御プログラムは、制御対象機器91、92を制御するため、ラダーダイアグラム、ファンクションブロックダイアグラム、シーケンシャルファンクションチャート等で作成されたプログラムである。仮想マシン20は、第1アプリケーション71を実行することにより、制御対象機器91を制御する。仮想マシン30は、第1アプリケーション71を実行するようにより、制御対象機器92を制御する。第2アプリケーション72は、制御対象機器91、92から収集したデータから、制御対象機器91、92の制御に使用するパラメータの最適値を算出するソフトウェアである。第3アプリケーション73は、データベース管理システムに代表されるような、要求に応じてデータを保存し、読み出すソフトウェアである。
【0015】
制御サーバ100は、例えば、工場内のサーバルームに配置されている。制御サーバ100は通信ネットワーク80を介して制御対象機器91、92と通信する。通信ネットワーク80は、工場内に設置された通信線によって実現される産業用の制御ネットワークである。
【0016】
実施形態において、仮想マシン20、30上では、ゲストOSとしてRTOS50がそれぞれ実行される。RTOS50上では、制御対象機器91、92を制御するための第1アプリケーション71が実行される。このような構成を備えることで、仮想マシン20、30は、PLC(Programable Logic Controller)といった制御機器として機能する。仮想マシン20、30を第1仮想マシンとも呼ぶ。
【0017】
仮想マシン40上では、ゲストOSとして非リアルタイムOS60が実行される。非リアルタイムOS60上では、パラメータの最適値を算出するための第2アプリケーション72と、データベース管理システムである第3アプリケーション73と、が実行される。このような構成を備えることで、仮想マシン40は、情報処理を実行するコンピュータとして機能する。仮想マシン40を第2仮想マシンとも呼ぶ。
【0018】
図2は、制御サーバ100のハードウェア構成を示す図である。制御サーバ100は、プロセッサ1と、主記憶部2と、補助記憶部3と、インタフェース4と、通信部5と、を備える。主記憶部2と、補助記憶部3と、インタフェース4と、通信部5と、は内部バス9を介してプロセッサ1に接続される。
【0019】
プロセッサ1は、例えばCPU(Central Processing Unit)である。プロセッサ1が、補助記憶部3に記憶されたプログラムを主記憶部2に読み込んで実行することにより、制御サーバ100の各機能が実現される。
【0020】
主記憶部2は、例えば、RAM(Random Access Memory)を含む主記憶装置である。主記憶部2には、補助記憶部3からプログラムがロードされる。また、主記憶部2は、プロセッサ1がプログラムを実行する際の作業領域として使用される。
【0021】
補助記憶部3は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read-Only Memory)である。補助記憶部3は、プロセッサ1が実行するプログラム、プログラムの実行に使用される種々のデータを記憶する。例えば、補助記憶部3には、制御サーバ100に仮想化環境を構築するためのプログラムが格納されている。補助記憶部3は、プロセッサ1の制御により、プロセッサ1が利用するデータをプロセッサ1に供給し、プロセッサ1から供給されたデータを記憶する。
【0022】
インタフェース4は、例えば、シリアルポート、USB(Universal Serial Bus)ポートなどのI/O(Input/Output)ポートである。インタフェース4には、キーボード、マウス、タッチパネルなどの入力装置が接続される。インタフェース4は、入力装置を介してユーザが入力した情報をプロセッサ1に出力する。また、インタフェース4には、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ等の表示装置が接続される。インタフェース4は、プロセッサ1から供給された情報が示す画像を表示装置に出力する。
【0023】
通信部5は、外部の装置と通信するためのネットワークインタフェース回路を含む。通信部5は、外部から信号を受信して、この信号により示されるデータをプロセッサ1へ出力する。また、通信部5は、プロセッサ1から出力されたデータを示す信号を外部の装置へ送信する。
【0024】
図3は、制御サーバ100の機能構成を示す図である。制御サーバ100は、機器制御部201と、機器制御部301と、パラメータ算出部401と、パラメータ記憶部402と、通信処理部1001と、優先度データ記憶部1002と、を備える。機器制御部201は、仮想マシン20に含まれている。機器制御部301は、仮想マシン30に含まれている。パラメータ算出部401とパラメータ記憶部402とは、仮想マシン40に含まれている。通信処理部1001と優先度データ記憶部1002とは、ハイパーバイザ10に含まれている。
【0025】
機器制御部201は、制御対象機器91を制御する制御機器として機能する。機器制御部201の機能は、図1に示す仮想マシン20が第1アプリケーション71を実行することにより実現される。第1アプリケーション71を第1アプリケーションソフトウェアとも呼ぶ。
【0026】
図3に示す機器制御部301は、制御対象機器92を制御する制御機器として機能する。機器制御部301の機能は、図1に示す仮想マシン30が第1アプリケーション71を実行することにより実現される。
【0027】
図3に示す機器制御部201、301は、例えば、以下のような処理をそれぞれ行って、制御対象機器91、92をそれぞれ制御する。
【0028】
機器制御部201は、制御対象機器91から供給されたデータを入力値として使用して制御プログラム内の命令を順次実行する。機器制御部201は、通信処理部1001を介して制御対象機器91からデータを受信する。機器制御部201は、制御プログラム内の最後の命令を実行すると、制御プログラムを実行して得られた出力値を含むデータを、通信処理部1001を介して、制御対象機器91に送信する。機器制御部201は、通信処理部1001を介して、制御対象機器91から新たにデータを受け取る。機器制御部201は、新たに供給されたデータを入力値として使用して、再び制御プログラム内の命令を順次実行する。機器制御部201は、このサイクルを繰り返すことによって、制御対象機器91を制御する。機器制御部301が制御対象機器92を制御する方法も同様である。制御対象機器91、92が、機器制御部201、301に供給するデータを、入力データとも呼ぶ。機器制御部201、301が、制御対象機器91、92に供給するデータを出力データとも呼ぶ。
【0029】
以下の説明においては、機器制御部201と制御対象機器91とを例に説明するが、機器制御部301と制御対象機器92も同様の構成を備える。
【0030】
制御対象機器91が機器制御部201に供給するデータは、例えば、ワークの位置決めの完了の通知、回転軸の回転の完了の通知等を含む。機器制御部201が制御対象機器91に供給するデータは、回転軸、回転数、送り速度等を指定する情報を含む。
【0031】
例えば、制御対象機器91からワークの位置決めの完了の通知を受けると、機器制御部201は、制御プログラムを実行して、次に回転させる回転軸、回転数、送り速度を示すデータを制御対象機器91に供給する。制御対象機器91から回転軸の回転の完了の通知を受けると、機器制御部201は、制御プログラムを実行して、次に回転させる回転軸、回転数、送り速度を示すデータを制御対象機器91に供給する。
【0032】
このように、制御対象機器91、92は、機器制御部201、301が出力した出力値に従って動作する。出力値が設定された時間内に制御対象機器91、92に供給されないと、制御対象機器91、92の動作が遅れる。よって、機器制御部201、301は、設定された時間内に制御プログラムの1サイクルを実行する必要がある。
【0033】
さらに、機器制御部201、301は、通信処理部1001を介して、パラメータ算出部401から制御対象機器91、92の制御に使用するパラメータの最適値を受け取る。機器制御部201、301は、パラメータの最適値を受け取ると、制御プログラムの実行に使用するパラメータの値を更新する。これにより、機器制御部201、301が実行する制御対象機器91、92の制御内容が変更される。
【0034】
パラメータ算出部401は、通信処理部1001を介して制御対象機器91、92からデータを受信する。このデータを収集データとも呼ぶ。パラメータ算出部401は、制御対象機器91、92から収集したデータを蓄積する。パラメータ算出部401は、蓄積した収集データから、制御対象機器91、92の制御に使用するパラメータの最適値を算出する。パラメータ算出部401をデータ処理部とも呼ぶ。
【0035】
制御対象機器91、92がパラメータ算出部401に供給するデータは、制御対象機器の稼働状態を示す情報を含む。このデータを状態データとも呼ぶ。このデータには、例えば、各回転軸について、切削速度、トルク値、回転軸に取り付けられている工具の温度の情報が含まれている。制御対象機器91、92は、例えば、決められた時刻に、パラメータ算出部401に稼働状態を示すデータを送信してもよい。あるいは、制御対象機器91、92は、パラメータ算出部401からの要求に応答して、パラメータ算出部401に稼働状態を示すデータを送信してもよい。
【0036】
また、パラメータ算出部401は、制御対象機器91、92の各軸に取り付けられている工具の情報(工具の種類、工具の刃の材質等)を示すデータをあらかじめ有している。パラメータ算出部401は、このデータと、制御対象機器91、92から供給されたデータとに基づいて、工具の発熱量を算出し、温度毎の最適な切削速度を算出する。最適な切削速度とは、工具の摩耗を抑えることができるような切削速度である。ここで、パラメータ算出部401は、加工対象の材料毎に、最適な切削速度を算出する。パラメータ算出部401は、最適な切削速度を含むデータを生成し、生成したデータをパラメータ記憶部402に格納する。このデータを結果データとも呼ぶ。
【0037】
パラメータ算出部401は、パラメータ記憶部402に格納されているデータを、通信処理部1001を介して機器制御部201、301に送信する。具体的には、パラメータ算出部401は、パラメータ記憶部402に格納されているパラメータのうち、機器制御部201が制御対象機器91の制御のため使用するパラメータを、機器制御部201に送信する。パラメータ算出部401は、パラメータ記憶部402に格納されているパラメータのうち、機器制御部301が制御対象機器92の制御のため使用するパラメータを、機器制御部301に送信する。
【0038】
パラメータ算出部401は、例えば、通信処理部1001からの要求に応答して、あるいは、決められた時刻になると、パラメータ記憶部402に格納されているパラメータを機器制御部201、301に送信する。機器制御部201、301は、新たに供給されたパラメータを使用して、制御プログラムを実行する。例えば、パラメータ算出部401から切削速度の最適値が供給された場合、機器制御部201、301は、制御プログラムの実行により、切削速度の最適値と、あらかじめ定義されている工具の刃径とから、最適な回転数を算出することができる。パラメータ算出部401の機能は、図1に示す仮想マシン40が第2アプリケーション72を実行することにより実現される。第2アプリケーション72を第2アプリケーションソフトウェアとも呼ぶ。
【0039】
図3に示すパラメータ記憶部402は、パラメータ算出部401が算出した各種パラメータを記憶する。
【0040】
図4は、パラメータ記憶部402が記憶するデータの一例を示す図である。図示する例では、パラメータ記憶部402には、回転軸それぞれについて、機器の回転軸それぞれについての切削速度の最適値のデータが格納されている。ここで、工具の温度と加工対象の材料とについて、それぞれ算出された切削速度の最適値のデータが、パラメータ記憶部402に格納されている。パラメータ記憶部402の機能は、図1に示す仮想マシン40が第3アプリケーション73を実行することにより実現される。
【0041】
図3に示す通信処理部1001は、産業用の通信プロトコルに則って、制御対象機器91、92と通信する。産業用の通信プロトコルは、例えば、EtherNet/IP(商標)である。通信処理部1001は、仮想マシン20、30、40と通信する。以下の説明においては、通信がパケット単位で行われるものとする。
【0042】
通信処理部1001は、パケットを受信すると、受信したパケットに含まれている情報から、パケットの宛先と送信元とを判別する。パケットには、宛先の機器または仮想マシンを示す宛先IP(Internet Protocol)アドレスと、送信元の機器または仮想マシンを示す送信元IPアドレスとが含まれている。制御サーバ100上で動作する仮想マシン20、30、40にはそれぞれ異なるIPアドレスが割り当てられているものとする。
【0043】
さらに、パケットには、宛先のアプリケーションを示す宛先ポートの値と、送信元のアプリケーションを示す送信元ポートの値とが含まれている。宛先ポートの値を宛先情報とも呼ぶ。送信元ポートの値を送信元情報とも呼ぶ。宛先ポートの値は、宛先が、機器制御部201、301、パラメータ算出部401、制御対象機器91、92のいずれであるかを示す値である。送信元ポートの値は、送信元が、機器制御部201、301、パラメータ算出部401、制御対象機器91、92のいずれであるかを示す値である。制御対象機器91、92はアプリケーションではないため、制御対象機器91、92には、あらかじめ決められた値が割り当てられている。
【0044】
機器制御部201、301、パラメータ算出部401、制御対象機器91、92は、例えば、送信するデータに、宛先IPアドレスと送信元アドレスとを含むIP(Internet Protocol)ヘッダと、宛先ポートと送信元ポートとを含むTCP(Transmission Control Protocol)ヘッダと、を付加したパケットを送信する。
【0045】
通信処理部1001は、例えば、IPヘッダに含まれている宛先IPアドレスと送信元IPアドレスとから、宛先の機器または仮想マシンと、送信元の機器または仮想マシンとを判別する。通信処理部1001は、例えば、TCPヘッダの宛先ポートと送信元ポートとから、宛先と送信元とが、機器制御部201、301、パラメータ算出部401、制御対象機器91、92のいずれであるかを判別する。
【0046】
通信処理部1001は、制御対象機器91、92、仮想マシン20の機器制御部201、仮想マシン30の機器制御部301、仮想マシン40のパラメータ算出部401、からパケットを受信し、適切な宛先にパケットを転送する。このように通信処理部1001は、制御対象機器91、92と、機器制御部201、301と、パラメータ算出部401と、の間におけるデータの授受を制御する。また、通信処理部1001は、いわゆる、スイッチとしての役割を果たすとも言える。
【0047】
図5は、優先度データ記憶部1002が記憶するデータの一例を示す図である。優先度データ記憶部1002は、データの宛先とデータの送信元と、優先度と、を対応づけた定義データを記憶する。優先度データ記憶部1002に格納されているデータを優先度定義データとも呼ぶ。例えば、制御サーバ100の管理者が、優先度データ記憶部1002にあらかじめデータを格納しているものとする。優先度データ記憶部1002には、宛先ポートの値と送信ポートの値と、優先度と、を対応づけたデータが格納されている。実施形態においては、宛先ポートの値と送信ポートの値とが優先度を表す情報として使用される。実施形態においては、宛先ポートまたは送信元ポートには次のような値がセットされるものとする。「P91」は、制御対象機器91を表す値として、宛先ポートまたは送信元ポートに設定される値である。「P92」は、制御対象機器92を示す値である。「P201」は、機器制御部201を示す値である。「P301」は、機器制御部301を示す値である。「P401」は、パラメータ算出部401を示す値である。
【0048】
実施形態においては、通信処理部1001を介したパケット(データ)の流れは4パターンある。
【0049】
(a)第1パターン
第1パターンでは、パケットの送信元が制御対象機器91、92であり、パケットの宛先が機器制御部201、301である。制御対象機器91は、仮想マシン20の機器制御部201を宛先としたパケットを送信する。この場合、パケットの宛先IPアドレスは仮想マシン20を指定するものであるので、このパケットは制御サーバ100に送信される。通信処理部1001は、受信したパケットの宛先が仮想マシン20の機器制御部201であると判別すると、パケットを仮想マシン20に送信する。また、制御対象機器92は、仮想マシン30の機器制御部301を宛先としたパケットを送信する。この場合、パケットの宛先IPアドレスは仮想マシン30を指定するものであるので、このパケットは制御サーバ100に送信される。通信処理部1001は、受信したパケットの宛先が仮想マシン30の機器制御部301であると判別すると、パケットを仮想マシン30に送信する。
【0050】
(b)第2パターン
第2パターンでは、パケットの送信元が機器制御部201、301であり、パケットの宛先が制御対象機器91、92である。機器制御部201は、制御対象機器91を宛先としたパケットを送信する。このパケットは、通信処理部1001に渡される。通信処理部1001は、パケットの宛先が制御対象機器91であると判別すると、パケットを制御対象機器91に送信する。また、機器制御部301は、制御対象機器92を宛先としたパケットを送信する。このパケットは、通信処理部1001に渡される。通信処理部1001は、パケットの宛先が制御対象機器92であると判別すると、パケットを制御対象機器92に送信する。
【0051】
(c)第3パターン
第3パターンでは、パケットの送信元が制御対象機器91、92であり、パケットの宛先がパラメータ算出部401である。制御対象機器91、92は、パラメータ算出部401を宛先としたパケットを送信する。この場合、パケットの宛先IPアドレスは仮想マシン40を指定するものであるので、このパケットは制御サーバ100に送信される。通信処理部1001は、受信したパケットの宛先が仮想マシン40のパラメータ算出部401であると判別すると、パケットを仮想マシン40に送信する。
【0052】
(d)第4パターン
第4パターンでは、パケットの送信先がパラメータ算出部401であり、パケットの宛先が機器制御部201、301である。パラメータ算出部401は、機器制御部201または機器制御部301を宛先としたパケットを送信する。このパケットは、通信処理部1001に渡される。通信処理部1001は、パケットの宛先が仮想マシン20の機器制御部201であると判別すると、パケットを仮想マシン20に送信する。通信処理部1001は、パケットの宛先が仮想マシン30の機器制御部301であると判別すると、パケットを仮想マシン30に送信する。
【0053】
これらの4パターンのパケットの流れのうち、制御対象機器91、92と、機器制御部201、301との間でのパケットのやり取り(第1パターン、第2パターン)については、遅延することが望ましくない。上述したように、機器制御部201、301から制御対象機器91、92への出力値の供給の遅れが、制御対象機器91、92の稼働遅延につながるからである。
【0054】
一方で、制御対象機器91、92から、パラメータ算出部401へのパケットの送信(第3パターン)が遅延しても、生産ラインの稼働に影響はない。パラメータ算出部401から、機器制御部201、301へのパケットの送信(第4パターン)が遅延しても、生産ラインの稼働に影響はない。
【0055】
通信処理部1001は以下のような構成を備えることにより、第1パターン、第2パターンのパケットの送受信について、遅延が発生することを防止する。通信処理部1001は、決められた期間に、複数のパケットを受信した場合、パケットに含まれている宛先ポートの値と送信元ポートの値と、優先度記憶部1002に格納されている優先度定義データと、から、パケットの優先度が高いか否かを判別する。通信処理部1001は、受信した複数のパケットのうち、優先度が高いパケットを、優先度が低いパケットより優先して送信する。
【0056】
実施形態では、通信処理部1001は、宛先が機器制御部201、301であり、送信元が制御対象機器91、92であるパケットを優先して送信する。加えて、通信処理部1001は、宛先が、制御対象機器91、92であり、送信元が機器制御部201、301であるパケットを優先して送信する。
【0057】
具体的には、通信処理部1001は、宛先ポートの値が機器制御部201または機器制御部301を示す値であり、送信元ポートの値が制御対象機器91または制御対象機器92を示す値であるとき、そのパケットの優先度が高いと判別する。通信処理部1001は、宛先ポートの値が制御対象機器91または制御対象機器92を示す値であり、送信元ポートの値が機器制御部201または機器制御部301を示す値であるとき、そのパケットの優先度が高いと判別する。
【0058】
通信処理部1001は、宛先ポートの値が、パラメータ算出部401を示す値であり、送信元ポートの値が制御対象機器91または制御対象機器92を示す値であるとき、そのパケットの優先度が低いと判別する。通信処理部1001は、送信元ポートの値がパラメータ算出部401を示す値であり、宛先ポートの値が機器制御部201または機器制御部301を示す値であるとき、そのパケットの優先度が低いと判別する。通信処理部1001は、決められた期間、複数のパケットを受信した場合、パケットの到着順にかかわらず、優先度が高いパケットを先に送信し、優先度が低いパケットを、優先度が高いパケットの後に送信する。決められた期間は、通信ネットワーク80において設定された通信周期と同じ期間としてもよい。例えば、制御サーバ100と制御対象機器91、92とがEtherNet/IPのプロトコルに則って通信している場合、この期間を、サイクリックな通信のため設定されたRPI(Request Packet Interval)として設定された周期と同じ期間としてもよい。
【0059】
図6は、通信処理部1001が、パケットを優先して送信する様子を表した図である。通信処理部1001に、決められた期間内に、4つのパケットが通信処理部1001に到着したとする。決められた期間は、時間軸を決められた間隔で区切ったものである。なお、機器制御部201、301は、ミリ秒オーダーで、制御対象機器91、92を制御する。このため、決められた期間はごく短い期間である。図示する例において、パケットP1の宛先はパラメータ算出部401であり、送信元は制御対象機器92である。パケットP2の宛先は機器制御部201であり、送信元は制御対象機器91である。パケットP3の宛先は、機器制御部301であり、送信元はパラメータ算出部401である。パケットP4の宛先は機器制御部301であり、送信元はパラメータ算出部401である。
【0060】
通信処理部1001は、優先度データ記憶部1002に格納されているデータを参照して、パケットの優先度が高いか否かを判別する。図5に示すように、宛先が機器制御部201であり、送信元が制御対象機器91である場合、優先度が高いと定義されている。通信処理部1001は、パケットP2の優先度が高いと判別する。さらに、通信処理部1001は、他のパケットの優先度を判別する。通信処理部1001は、パケットP1、P3、P4の優先度が低いと判別する。通信処理部1001は、パケットP1~P4が到着した順にかかわらず、パケットP2を優先して送信する。図示する例では、通信処理部1001は、パケットP2を最初に送信する。通信処理部1001は、パケットP2の後に、パケットP1、P3、P4を送信する。パケットP1、P3、P4については、パケットが通信処理部1001に到着した順で送信される。続いて、通信処理部1001は、新たに到着した複数のパケットを同様に処理する。
【0061】
通信処理部1001が上記の構成を備えることにより、制御対象機器91、92と、機器制御部201、301との間でやり取りされるパケットの遅延を防止することができる。
【0062】
実施形態においては、制御サーバ100において動作する仮想マシン20、30において、いわゆる、ソフトウェアPLCを動作させるので、次のようなメリットがある。例えば、自動車関連の生産ラインにおいては、生産ラインのレイアウトの変更が頻発する。このような場合であっても、レイアウトの変更に柔軟に対応することができる。
【0063】
例えば、生産ラインにおいて、故障、老朽化等の理由により、制御対象機器91、92を交換することがある。この場合、通信ネットワーク80から古い制御対象機器91、92を外し、新たな制御対象機器91、92を通信ネットワーク80に接続する。例えば、制御機器として個別の装置を使用している場合、生産ラインのレイアウトの変更により、複数の装置の置き換え、複数の装置間の通信線の接続の変更等が必要であり、作業の手間が煩雑である。一方、実施形態に係る構成においては、制御機器として個別の装置を使用する場合に比べ、生産ラインのレイアウトの変更に伴う作業を削減することができる。
【0064】
制御対象機器が増えた場合には、制御サーバ100において動作させる仮想マシンを追加することで、新たな制御対象機器を制御することができる。制御機器として個別の機器を使用する場合には、新たな制御機器を用意する必要があり、費用がかさむ。しかし、実施形態のように、同一サーバ上の複数の仮想マシンを制御機器として動作させる場合には、生産ラインのレイアウトの変更に伴う費用を抑えることができる。
【0065】
また、仮想マシン20、30、40は、互いに独立して動作する。このため、いずれかの仮想マシンで実行するアプリケーションの変更、停止があったとしても、他の仮想マシンは影響を受けにくい。例えば、仮想マシン20の第1アプリケーション71の実行が停止されたとしても、仮想マシン30においては、第1アプリケーション71の実行を停止する必要がない。よって、仮想マシン30においては、制御に係る処理を続行することができる。
【0066】
B.他の実施形態
(B1)実施形態においては、仮想マシン40のパラメータ算出部401が、制御に使用するパラメータの最適値を算出する例を説明したが、データ処理の例はこれに限られない。
【0067】
図7は、他の実施形態B1に係る制御サーバ100aの機能構成を示す図である。以下の説明においては、実施形態と異なる点を中心に説明する。
【0068】
制御サーバ100aにおいては、仮想マシン20、30、40、110の4つの仮想マシンが動作している。仮想マシン110上ではゲストOSとして非リアルタイムOS60が動作しているものとする。制御サーバ100aは、実施形態に係る構成に加え、仮想マシン110に含まれる解析部1101を備える。解析部1101の機能は、仮想マシン110がデータを解析するためのアプリケーションを実行することにより実現される。仮想マシン110は、他の仮想マシンと同様にハイパーバイザ10に管理されている。
【0069】
制御サーバ100aは、通信ネットワーク80を介して、測定器93と通信することができる。測定器93は、加工されたワークの寸法を測定する機器である。例えば、作業者が測定器93を使用して、ワークの寸法を測定する。測定器93は、例えば、測定が完了すると、測定値のデータを解析部1101に送信する。このとき、測定器93は、宛先を仮想マシン110の解析部1101とし、送信元を測定器93として、測定値のデータを含むパケットを送信する。このパケットは通信処理部1001を介して解析部1101に送信される。解析部1101は、測定器93から供給されたデータを解析する。解析部1101は、解析結果のデータを含むパケットを、パラメータ算出部401に送信する。このパケットは、通信処理部1001を介してパラメータ算出部401に送信される。パラメータ算出部401は、パラメータの最適値の算出に解析部1101から供給された解析結果を使用することができる。これにより、パラメータの算出の精度を向上させることができる。
【0070】
通信処理部1001は、宛先ポートと送信元ポートから、パケットの優先度を判別する。機器制御部201、301と、制御対象機器91、92との間で送受信されるパケットの優先度が1番高いものとする。この優先度を「レベル1」とする。宛先がパラメータ算出部401であり、送信元が制御対象機器91、92であるパケットの優先度が2番目に高いものとする。この優先度を「レベル2」とする。宛先が解析部1101であり、送信元が測定器93であるパケットの優先度も「レベル2」とする。宛先がパラメータ算出部401であり、送信元が解析部1101であるパケットの優先度は1番低いものとする。この優先度を「レベル3」とする。宛先が機器制御部201、301であり、送信元がパラメータ算出部401であるパケットの優先度も「レベル3」とする。
【0071】
通信処理部1001は、決められた期間に受信した複数のパケットの優先度を判別し、まず、「レベル1」のパケットを送信する。通信処理部1001は、「レベル1」のパケットを送信した後に「レベル2」のパケットを送信する。通信処理部1001は、「レベル2」のパケットを送信した後に「レベル3」のパケットを送信する。同じレベルのパケットが複数ある場合には、通信処理部1001は、同じレベルの複数のパケットについては、パケットの到着順にパケットを送信してもよい。他の実施形態B1においても、実施形態と同様に、優先して送信されるべきパケットの遅延を防止することができる。
【0072】
(B2)他の実施形態B1においては、解析部1101が出力した解析結果をパラメータの最適値の算出に使用する例を説明したが、解析部1101の解析結果を他の用途に使用してもよい。例えば、解析部1101に、制御対象機器91、92から制御対象機器91、92の稼働状態を表すデータが供給されるものとする。解析部1101は、供給されたデータから、制御対象機器91、92の異常、故障を予測してもよい。
【0073】
(B3)実施形態においては、機器制御部201と制御対象機器91との間で送受信されるデータと、機器制御部301と制御対象機器92との間で送受信されるデータと、のいずれについても優先度が同じである例を説明した。しかし、機器制御部201、301の一方の優先度を、他方の優先度より高く設定してもよい。例えば、機器制御部201と制御対象機器91との間で送受信されるデータの優先度が1番高いものとする。この優先度を「レベル1」とする。機器制御部301と制御対象機器92との間で送受信されるデータの優先度が2番目に高いものとする。この優先度を「レベル2」とする。その他のデータの優先度が1番低いものとする。この優先度を「レベル3」とする。
【0074】
通信処理部1001は、決められた期間に受信した複数のパケットの優先度を判別し、「レベル1」のパケットを最初に送信する。通信処理部1001は、「レベル1」のパケットを送信した後に「レベル2」のパケットを送信する。通信処理部1001は、「レベル2」のパケットを送信した後に「レベル3」のパケットを送信する。同じレベルのパケットが複数ある場合には、通信処理部1001は、同じレベルの複数のパケットについては、パケットの到着順にパケットを送信してもよい。他の実施形態B3においても、実施形態と同様に、優先して送信されるべきパケットの遅延を防止することができる。
【0075】
(B4)実施形態等においては、機器単位で優先度を設定する例を説明したが、優先度の設定は、グループ単位でおこなってもよい。実施形態B4においては、複数の機器をいくつかのグループに分け、グループ単位で優先度を設定する例を説明する。
【0076】
図8は、他の実施形態B4に係る制御サーバ100bの機能構成を示す図である。制御サーバ100bは、図3に示す制御サーバ100に係る構成に、2つの仮想マシンが追加された構成を備える。以下、実施形態と異なる構成を中心に説明する。
【0077】
図8に示すように、制御サーバ100bには、制御対象機器91、92に加えて、制御対象機器94、95が接続されている。制御サーバ100bにおいては、仮想マシン20、30、40、120、130の5つの仮想マシンが動作している。仮想マシン120、130上ではゲストOSとしてRTOS50が動作しているものとする。仮想マシン120、130も他の仮想マシンと同様にハイパーバイザ10により管理されている。仮想マシン120は機器制御部1201を含む。仮想マシン130は機器制御部1301を含む。機器制御部1201、1301は、実施形態に係る機器制御部201、301と同様の構成を備える。機器制御部1201は、制御対象機器94を制御する。機器制御部1301は、制御対象機器95を制御する。
【0078】
図9は、優先度データ記憶部1002が記憶するグループ定義データ1002aの一例を示す図である。図10は、優先度データ記憶部1002が記憶する優先度定義データ1002bの一例を示す図である。例えば、制御サーバ100の管理者が、これらのデータをあらかじめ優先度データ記憶部1002に格納しているものとする。
【0079】
グループ定義データ1002aには、宛先ポートの値と送信ポートの値との組み合わせで決められたグループを定義したデータが格納されている。優先度定義データ1002bには、グループと、優先度と、を対応づけたデータが格納されている。
【0080】
以下の説明においては、宛先ポートまたは送信元ポートには次のような値がセットされるものとする。「P91」は、制御対象機器91を示す値として、宛先ポートまたは送信元ポートに設定される値である。「P92」は、制御対象機器92を示す値である。「P94」は、制御対象機器94を示す値である。「P95」は、制御対象機器95を示す値である。「P201」は、機器制御部201を示す値である。「P301」は、機器制御部301を示す値である。「P401」は、パラメータ算出部401を示す値である。「P1201」は、機器制御部1201を示す値である。「P1301」は、機器制御部1301を示す値である。
【0081】
図9に示す例では、制御対象機器91が宛先あるいは送信元であり、機器制御部201が送信元あるいは宛先であるデータが、グループ「G1」であると定義されている。制御対象機器92が宛先あるいは送信元であり、機器制御部301が送信元あるいは宛先であるデータも、グループ「G1」であると定義されている。制御対象機器94が宛先あるいは送信元であり、機器制御部1201が送信元あるいは宛先であるデータが、グループ「G2」であると定義されている。制御対象機器95が宛先あるいは送信元であり、機器制御部1301が送信元あるいは宛先であるデータも、グループ「G2」であると定義されている。さらに、制御対象機器91、92とパラメータ算出部401との間で送受信されるデータは、グループ「G3」と定義されている。
【0082】
図10に示すように、グループの優先度として、グループ「G1」には「レベル1」、グループ「G2」には「レベル2」、グループ「G3」には「レベル3」が設定されている。
【0083】
通信処理部1001は、優先度定義データ記憶部1002に格納されたデータを参照して、決められた期間に受信した複数のパケットの優先度を判別し、「レベル1」のパケットを最初に送信する。通信処理部1001は、「レベル1」のパケットを送信した後に「レベル2」のパケットを送信する。通信処理部1001は、「レベル2」のパケットを送信した後に「レベル3」のパケットを送信する。このようにグループ単位で優先度を設定することで、宛先と送信元の組み合わせ毎に優先度を設定する必要がなく、優先度の設定にかかる作業を簡易化することができる。
【0084】
(B5)実施形態においては、通信処理部1001が、パケットの宛先ポートの値と送信元ポートの値とから、パケットの優先度を判別したが、通信処理部1001は、他の方法でパケットの優先度を判別してもよい。例えば、パケットのTCPデータの最初の決められた範囲に、優先度を示す値をセットしてもよい。通信処理部1001は、パケットのTCPデータの最初の決められた範囲にセットされた値により、パケットの優先度を判別する。
【0085】
実施形態においては、制御対象機器91、92の例として、生産機械、センサ、駆動機器を挙げたが、制御サーバ100には、FA機器を制御するPLCが、通信ネットワーク80を介して接続されてもよい。
【0086】
実施形態においては、制御サーバ100に機器の制御のため、2つの仮想マシンを備える例を説明したが、制御サーバ100は機器の制御のための仮想マシンを1つだけ備えていてもよい。あるいは、制御サーバ100は、機器の制御のための仮想マシンを3つ以上備えていてもよい。
【0087】
実施形態においては、機器制御部201、301が、それぞれ制御対象機器91、92を制御する例を説明したが、機器制御部201、301それぞれは、2つ以上の機器を制御してもよい。
【0088】
本開示は、上述の実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態中の技術的特徴は、上述の課題の一部又は全部を解決するために、あるいは、上述の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【符号の説明】
【0089】
1…プロセッサ、2…主記憶部、3…補助記憶部、4…インタフェース、5…通信部、9…内部バス、10…ハイパーバイザ、20,30,40,110,120、130…仮想マシン、50…RTOS、60…非リアルタイムOS、71…第1アプリケーション、72…第2アプリケーション、73…第3アプリケーション、80…通信ネットワーク、91,92…制御対象機器、100…制御サーバ、201,301,1201,1301…機器制御部、401…パラメータ算出部、402…パラメータ記憶部、501…解析部、1001…通信処理部、1002…優先度データ記憶部、1002a…グループ定義データ、1002b…優先度定義データ、1101…解析部、P1,P2,P3,P4…パケット
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10