(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-07
(45)【発行日】2023-11-15
(54)【発明の名称】情報処理装置
(51)【国際特許分類】
G05B 19/414 20060101AFI20231108BHJP
B23Q 15/00 20060101ALI20231108BHJP
【FI】
G05B19/414 R
B23Q15/00 G
(21)【出願番号】P 2022503638
(86)(22)【出願日】2021-02-24
(86)【国際出願番号】 JP2021006798
(87)【国際公開番号】W WO2021172334
(87)【国際公開日】2021-09-02
【審査請求日】2022-09-14
(31)【優先権主張番号】P 2020031225
(32)【優先日】2020-02-27
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】110001151
【氏名又は名称】あいわ弁理士法人
(72)【発明者】
【氏名】佐藤 修二
【審査官】樋口 幸太郎
(56)【参考文献】
【文献】特開2019-067046(JP,A)
【文献】特開2015-180065(JP,A)
【文献】特開2019-113921(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/414
B23Q 15/00
(57)【特許請求の範囲】
【請求項1】
制御装置と接続され、複数のアプリケーションから前記制御装置に対してアクセスをするコマンドが指令された際に、前記制御装置に対するアクセスを制御する情報処理装置であって、
前記アプリケーション毎に、前記制御装置に対してアクセスをするコマンドの
分布に基づいて前記コマンドの指令の傾向を分析するコマンド分析部と、
前記コマンド分析部が分析したアプリケーション毎の前記制御装置に対するアクセスの傾向に基づいて、前記制御装置に対する前記コマンドの配信を調停するコマンド配信調停部と、
を備える情報処理装置。
【請求項2】
前記制御装置に対するアプリケーション毎のコマンドの配信状態を示すタイムチャートと、前記コマンド分析部による分析結果とを可視化し、前記コマンドの配信の調停に係るパラメータを補正する調停補正ツール部を更に備える、
請求項1に記載の情報処理装置。
【請求項3】
前記コマンド分析部による分析結果には、アプリケーション毎の優先度及びコマンド毎の優先度に係る情報を含み、
前記コマンド配信調停部は、コマンドが過度に配信されている場合に、前記アプリケーション毎の優先度及び前記コマンド毎の優先度に従った配信順序でコマンドの配信を調停する、
請求項1に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置に関し、特に産業機械を制御する制御装置内のデータにアクセスする情報処理装置に関する。
【背景技術】
【0002】
パーソナルコンピュータ上で動作するアプリケーションが制御装置内のデータにアクセスするために、制御装置に接続されたパーソナルコンピュータには、制御装置とのインタフェースとなる通信処理部が存在している。パーソナルコンピュータ上で動作するアプリケーションの内で、制御装置内のデータにアクセスするアプリケーションには、ほとんど間隔を空けず頻繁にアクセスするもの、定期的にアクセスするもの、散発的にアクセスするもの等がある。
【0003】
このようなアプリケーションが多数同時に動作している状態においては、制御装置内のデータに頻繁にアクセスするアプリケーションに妨げられて、他のアプリケーションのアクセスがしばしば遅延し、アプリケーションの動作が全体的に緩慢になる。
【0004】
このような課題に対処するための技術が公開されている(例えば、特許文献1等)。この技術では、パーソナルコンピュータのアプリケーションで設定したデータの優先度が制御装置へ伝達される。パーソナルコンピュータのアプリケーションから複数のデータが要求されたとき、制御装置は優先度の高いデータを先に送信しバッファへ格納すると共に、制御装置の負荷と応答許容時間に従って送信間隔を調整する。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
全体のパフォーマンスを考慮せずにアプリケーションが制御装置へ頻繁にアクセスしたり、非常に多くのアプリケーションが同時に制御装置へアクセスしたりすることがある。この場合、パーソナルコンピュータと接続された制御装置において、アクセスの遅延によるパフォーマンス低下や、処理の遅延が発生する。このような状態で発生する問題としては、定期的に処理すべきデータへのアクセスが不定期になること、至急処理すべきイベントが発生していても処理が遅延すること、アプリケーションの動作が全体的に緩慢になること、などが挙げられる。
【0007】
この問題は、データの優先度と制御装置の負荷および応答許容時間に従って送信順序と送信時間を調整したとしても解決することが難しい。データ要求のコマンドに対して制御装置が返すデータの返信処理の効率化をしたとしても、パーソナルコンピュータから制御装置へのコマンド配信処理の効率化や負荷軽減はできない。書込み要求の送信データを効率的に処理することにはならないからである。
【0008】
このような問題を解決するには、アプリケーション毎に制御装置へのアクセスを調停し適切に配分する必要がある。そのためには、個々のアプリケーションが制御装置へアクセスする量やタイミングを認識し、総合的に管理・調停できる仕組みが必要となる。
【課題を解決するための手段】
【0009】
本発明による情報処理装置は、制御装置に対してアクセスするアプリケーションから過度に配信される状態を感知し、優先度に従って配信順序の調停と配信間隔の調停をして、制御装置に対するコマンド配信を最適化することにより、上記課題を解決する。
【0010】
そして、本発明の一態様は、制御装置と接続され、複数のアプリケーションから制御装置に対してアクセスをするコマンドが指令された際に、制御装置に対する該コマンドの配信を制御する情報処理装置であって、アプリケーション毎に、制御装置に対してアクセスをするコマンドの指令の傾向を分析するコマンド分析部と、コマンド分析部による分析結果に基づいて、制御装置に対するコマンドの配信を調停するコマンド配信調停部と、を備える情報処理装置である。
【発明の効果】
【0011】
本発明の一態様により、従来困難であった個々のアプリケーションからの制御装置へのアクセス量やタイミングの認識および分析が可能となる。また、個々のアプリケーションのアクセス傾向を数値化することで、アプリケーション毎の制御装置へのアクセスを管理することが可能になる。そのため、多数のアプリケーションからの制御装置へのアクセスを調停し適切に配分することが可能となる。その結果、アクセスの遅延によるパフォーマンス低下や、処理の遅延を防止することができる。
【図面の簡単な説明】
【0012】
【
図1】一実施形態による情報処理装置の概略的なハードウェア構成図である。
【
図2】第1実施形態による情報処理装置の概略的な機能ブロック図である。
【
図3】コマンド分析処理の概略的なフローチャートの例である。
【
図4】アプリケーション毎のコマンド指令のタイムチャートの例である。
【
図5】各アプリケーションのコマンド分析の分析結果の例である。
【
図6】コマンド配信調停部によるコマンド配信の調停例である。
【
図7】コマンド配信調停処理の概略的なフローチャートの例である。
【
図8】第2実施形態による情報処理装置の概略的な機能ブロック図である。
【
図9】調停補正ツール部が表示する画面の例である。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態を図面と共に説明する。
図1は本発明の一実施形態による情報処理装置の概略的なハードウェア構成図である。情報処理装置1は、例えば産業機械を制御する制御装置と併設されたパーソナルコンピュータに実装することができる。また、情報処理装置1は、例えば産業機械を制御する制御装置と有線/無線のネットワークを介して接続されたパーソナルコンピュータ、フォグコンピュータ、クラウドサーバ等に実装することができる。本実施形態では、情報処理装置1を、産業機械を制御する制御装置と有線/無線のネットワークを介して接続されたパソコンに実装した例を示す。
【0014】
本実施形態による情報処理装置1が備えるCPU11は、情報処理装置1を全体的に制御するプロセッサである。CPU11は、バス22を介してROM12に格納されたシステム・プログラムを読み出す。CPU11は、該システム・プログラムに従って情報処理装置1全体を制御する。RAM13には一時的な計算データや表示データ、及び外部から入力された各種データ等が一時的に格納される。
【0015】
不揮発性メモリ14は、HDD(Hard Disk Drive)やSSD(Solid State Drive)等で構成される。不揮発性メモリ14に書き込まれたデータは、情報処理装置1の電源がオフされても記憶状態が保持される。不揮発性メモリ14には、インタフェース15を介して外部機器72から読み込まれたデータや制御用プログラム、入力装置71を介して入力されたデータやプログラム、制御装置3から取得される各データ等が記憶される。不揮発性メモリ14に記憶されたデータやプログラムは、実行時/利用時にはRAM13に展開されても良い。また、ROM12には、公知の解析プログラムなどの各種システム・プログラムがあらかじめ書き込まれている。
【0016】
インタフェース15は、情報処理装置1のCPU11とUSB装置等の外部機器72と接続するためのインタフェースである。外部機器72側からは、例えば産業機械の制御に用いられる制御用プログラムや各パラメータ等を読み込むことができる。また、情報処理装置1内で編集した制御用プログラムや各パラメータ等は、外部機器72を介して外部記憶手段に記憶させたり、ネットワーク5を介して制御装置3に対して送信したりすることができる。
【0017】
表示装置70には、メモリ上に読み込まれた各データ、制御用プログラムやシステム・プログラム等が実行された結果として得られたデータ等がインタフェース18を介して出力されて表示される。また、キーボードやポインティングデバイス等から構成される入力装置71は、インタフェース19を介して作業者による操作に基づく指令、データ等をCPU11に渡す。
【0018】
インタフェース20は、情報処理装置1のCPU11と有線乃至無線のネットワーク5とを接続するためのインタフェースである。ネットワーク5には、産業機械を制御する制御装置3が接続され、情報処理装置1との間で相互にデータのやり取りを行っている。
【0019】
図2は、本発明の第1実施形態による情報処理装置1が備える機能を概略的なブロック図として示したものである。本実施形態による情報処理装置1が備える各機能は、
図1に示した情報処理装置1が備えるCPU11がシステム・プログラムを実行し、情報処理装置1の各部の動作を制御することにより実現される。
【0020】
本実施形態の情報処理装置1は、中央処理部100、通信インタフェース部110、通信処理部120を備える。また、RAM13乃至不揮発性メモリ14上には、アプリケーション300a,300b,300c,…により制御装置3に対してアクセスするために発行されるコマンドに係る情報を記憶するための領域である記憶部200が設けられている。
【0021】
中央処理部100は、CPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理が行われることで実現される。中央処理部100は、情報処理装置1上で動作するアプリケーション300a、300b、300c、…のプログラムを実行してそれぞれのアプリケーション300a、300b、300c、…の動作を制御する。中央処理部100は、それぞれのアプリケーション300a、300b、300c、…からの記憶部200への書き込みや読み出し、通信インタフェース部110に対するコマンドの出力や該コマンドに対する応答として制御装置3から取得されたデータの引き渡し等を制御する。中央処理部100は、一般的なOSによるアプリケーションの動作制御の機能として提供されていて良い。
【0022】
通信インタフェース部110は、CPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理が行われることで実現される。通信インタフェース部110は、それぞれのアプリケーション300a、300b、300c、…から指令された制御装置3に対するアクセス用のコマンドの分析、調停を行う。通信インタフェース部110は、分析、調停の結果に基づいて該コマンドを通信処理部120へと出力する。また、通信インタフェース部110は、通信処理部120からコマンドに対する応答を受けると、該コマンドを指令したアプリケーションに対して該応答を引き渡す。通信インタフェース部110は、コマンド分析部112、コマンド配信調停部114、コマンド処理部116を備える。
【0023】
コマンド分析部112は、アプリケーション毎に指令されたコマンドの履歴を記憶部200に記録する。そして、コマンド分析部112は、記憶部200に記憶されたアプリケーション毎に指令されるコマンドの傾向を分析する。コマンド分析部112は、例えばアプリケーションから指令されるコマンドの種類、頻度、指令間隔の周期性等を分析して、アプリケーションから指令されるコマンドを、頻発的、定期的、散発的、群発的等のタイプに分類する。また、コマンド分析部112は、各アプリケーションが指令するコマンドの優先度に基づいて、該アプリケーションの優先度を設定する。更に、コマンド分析部112は、各アプリケーションによるコマンドの指令間隔等のパラメータを算出する。そして、コマンド分析部112は、このようにして分析されたアプリケーションの分析結果を記憶部200に記憶する。コマンド分析部112による、各アプリケーションから指令されるコマンドの分析は定期的に行われる。
【0024】
図3は、コマンド分析部112による、アプリケーション毎に指令されたコマンドの分析処理の概略的なフローチャートの例である。コマンド分析部112は、記憶部200からアプリケーション毎のコマンドの指令履歴を取得し、所定周期Ts(例えば、Ts=200ms)毎のコマンドの分布を作成する(ステップSA02)。そして、予め定めた所定のn周期期間における要素数、有効分布、有効分布数、分布間隔を算出する。ここで、要素数は各周期におけるコマンドの数を意味する。有効分布は要素数がゼロでない周期を意味する。有効分布数はn周期期間における有効分布の数を意味する。分布間隔は有効分布と有効分布の間の時間乃至周期数を意味する。そして、n周期期間における各周期の要素数差が予め定めた所定の閾値Th1よりも少ない場合、そのアプリケーションのタイプを頻発的と設定する(ステップSA03,SA04)。次に、n周期期間における各周期の要素数差の最大値乃至平均値が閾値Th1以上である場合には、n周期期間における有効分布数と予め定めた所定の閾値Th2とを比較し、有効分布数が閾値Th2よりも少ない場合にはそのアプリケーションのタイプを散発的と設定する(ステップSA05,SA06)。更に、n周期期間における有効分布数が閾値Th2以上である場合には、n周期期間における各分布間隔の差の最大値乃至平均値と予め定めた所定の閾値Th3とを比較し、分布間隔差が閾値Th3よりも小さい場合にはそのアプリケーションのタイプを定期的と設定する(ステップSA07,SA08)。そして、いずれの条件にも該当しない場合には、そのアプリケーションのタイプを群発的と設定する(ステップSA09)。
【0025】
コマンド分析部112は、更にコマンドの平均分布間隔Id
av、平均指令間隔Ic
avを演算し(ステップSA10,SA11)、各コマンドに対して予め設定されている優先度を取得する(ステップSA12)。
図4は、各アプリケーションが指令するコマンドをタイムチャートで例示したものである。また、
図5は、
図4のタイムチャートに例示される各アプリケーションをコマンド分析部112が分析した分析結果の例を示している。
図4,5に例示されるように、全周期で指令されるコマンド数が多いアプリケーションは頻発的として設定される。全周期で指令されるコマンド数が少ないアプリケーションは散発的として設定される。コマンドの指令される周期が一定のアプリケーションは定期的として設定される。これら以外のアプリケーションは群発的として設定される。
【0026】
コマンド配信調停部114は、コマンド分析部の分析結果(分類内容)に基づいて、アプリケーションから指令されたコマンドの通信処理部120への出力(制御装置3への配信)を調停する。コマンド配信調停部114は、複数のアプリケーションからコマンドが過度に密に指令された場合(例えば、複数のアプリケーションから指令されるコマンドの指令間隔が予め定めた所定の許容間隔以下になる場合や、同じタイミングで複数のアプリケーションからコマンドが指令された場合)、タイプが「散発的」なアプリケーション、及びタイプが「定期的」なアプリケーションが指令するコマンドを、他のコマンドに優先して通信処理部120へと出力し、他のコマンドの出力を遅らせるようにコマンド処理部116へ指令する。また、コマンド配信調停部114は、複数のアプリケーションからコマンドが過度に密に指令された場合、優先度が高いコマンド(
図4の例では優先度Dや優先度Cのコマンド)を、他のコマンドに優先して通信処理部120へと出力し、他のコマンドの出力を遅らせるようにコマンド処理部116へ指令する。また、コマンド配信調停部114は、制御装置3に対して過度にコマンドを送信しないように、コマンドの指令間隔を所定の許容間隔以上となるように調整しながら通信処理部120へコマンドを出力するようにコマンド処理部116へ指令する。
図6は、コマンド配信調停部114による調停の例を示す図である。
図6に例示されるように、コマンド配信調停部114は、コマンド指令の衝突や過度に密に指令がされている場合には、優先度の低いアプリケーションのコマンドや、優先度の低いコマンドの出力を遅らせる調停を行う。
【0027】
図7は、コマンド配信調停部114による、コマンド配信調停処理の概略的なフローチャートの例である。コマンド配信調停部114は、実行周期毎に、現在各アプリケーション指令されているコマンドの数SCをカウントする(ステップSB01)。そして、指令されているコマンド数が3を超えない場合、コマンド配信調停部114は、指令されたコマンドを順次既定の時間間隔で配信するようにコマンド処理部116に指令する(ステップSB03)。一方、指令されているコマンド数が3を超える場合、コマンド配信調停部114は、コマンド毎にコマンドの配信間隔を許容間隔及び指令間隔(又は後述する補正間隔)で修正する(ステップSB04~SB08)。
そして、コマンド配信調停部114は、各コマンドの優先度を、該コマンドを指令したアプリケーションの優先度とコマンド自体の優先度とに基づいて算出する。算出した結果、最も優先度が高いと判定されたコマンドから順に配信するようにコマンド配信調停部114はコマンド処理部116に指令する(ステップSB09~SB12)。
【0028】
コマンド処理部116は、アプリケーション300a、300b、300c、…から出力された制御装置3に対するアクセス用のコマンドを、制御装置3が解釈可能な形式へと変換し、通信処理部120へと引き渡す。
【0029】
通信処理部120は、CPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理と、インタフェース20を用いた入出力処理が行われることで実現される。通信処理部120は、ネットワーク5を介して制御装置3に対して通信インタフェース部から入力されたコマンドを出力する。また、通信処理部120は、制御装置3から応答を受けると、受けた応答を通信インタフェース部110へと渡す。
【0030】
上記構成を備えた本実施形態による情報処理装置1は、従来困難であった個々のアプリケーションからの制御装置へのアクセス量やタイミングの認識および分析が可能である。また、個々のアプリケーションのアクセス傾向を数値化することで、アプリケーション毎の制御装置へのアクセスを管理することが可能になる。そのため、多数のアプリケーションからの制御装置へのアクセスを調停し適切に配分することが可能となる。その結果、アクセスの遅延によるパフォーマンス低下や、処理の遅延を防止することができる。
【0031】
従来は、制御装置3へのアクセスを調整するには、個々のアプリケーションを修正して、アクセス量やアクセスタイミングおよび間隔を調整する必要があった。本実施形態による情報処理装置1では、コマンド配信調停部114により自動的に調整され、調停補正ツール部130により調整量を補正できる。そのため、個々のアプリケーションを修正する必要がなくなる。
【0032】
図8は、本発明の第2実施形態による情報処理装置1が備える機能を概略的なブロック図として示したものである。本実施形態による情報処理装置1が備える各機能は、CPU11がシステム・プログラムを実行し、情報処理装置1の各部の動作を制御することにより実現される。
【0033】
本実施形態の情報処理装置1は、中央処理部100、通信インタフェース部110、通信処理部120に加えて、更に調停補正ツール部130を備える。また、RAM13乃至不揮発性メモリ14上には、アプリケーション300a,300b,300c,…により制御装置3に対してアクセスするために発行されるコマンドに係る情報を記憶するための領域である記憶部200が設けられている。
【0034】
本実施形態による情報処理装置1が備える中央処理部100、通信インタフェース部110、通信処理部120は、第1実施形態による情報処理装置1が備える中央処理部100、通信インタフェース部110、通信処理部120と同様の機能を備える。
【0035】
調停補正ツール部130は、
図1に示した情報処理装置1が備えるCPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理と、インタフェース18,19を用いた入出力処理が行われることで実現される。調停補正ツール部130は、コマンド分析部112の分析結果を表示装置70に対して表示する。調停補正ツール部130は、例えば、
図9に例示されるように、アプリケーション毎のコマンド指令のタイムチャートと共に、分析結果の表を表示する。
図9の分析結果の表において、補正間隔の欄は指令間隔(当該アプリケーションにおけるコマンドが指令される平均的な間隔)を補正するために用いられる欄である。補正間隔の欄には、基本的にそれぞれのアプリケーションの指令間隔が表示される。また、指令間隔が予め定めた所定の許容間隔以下のアプリケーションについては、補正間隔の欄には許容間隔の値(
図9の例では32ms)が表示される。なお、アプリケーションのタイプが散発的である場合には、補正間隔の欄は表示されない(補正ができない)。オペレータは、表示装置70に表示された分析結果を参照しながら、補正間隔の欄を編集することで、それぞれのアプリケーションにおけるコマンドの指令間隔を補正できる。また、オペレータは、優先度の欄を変更することで、各アプリケーションの優先度を変更できるようにしても良い。調停補正ツール部130は、オペレータによる補正間隔及びアプリケーションの優先度の補正が行われた場合、当該補正された内容に基づいて、タイムチャートに表示された各アプリケーションによるコマンドの指令を調停して表示し直すようにして良い。
【0036】
上記構成を備えた本実施形態による情報処理装置1は、コマンド分析部112による分析結果を利用して、調停補正ツール部130及びコマンド配信調停部114により、多数のアプリケーションからの制御装置3へのアクセスを調停し適切に配分することが可能である。そのため、アクセスの遅延によるパフォーマンス低下や、処理の遅延を防止することができる。
【0037】
以上、本発明の一実施形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【符号の説明】
【0038】
1 情報処理装置
3 制御装置
5 ネットワーク
11 CPU
12 ROM
13 RAM
14 不揮発性メモリ
15,18,19,20,21 インタフェース
22 バス
70 表示装置
71 入力装置
72 外部機器
100 中央処理部
110 通信インタフェース部
112 コマンド分析部
114 コマンド配信調停部
116 コマンド処理部
120 通信処理部
130 調停補正ツール部
200 記憶部