(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-13
(45)【発行日】2024-08-21
(54)【発明の名称】情報処理装置及びコンピュータ読み取り可能な記憶媒体
(51)【国際特許分類】
G05B 19/05 20060101AFI20240814BHJP
G06F 8/30 20180101ALI20240814BHJP
【FI】
G05B19/05 A
G05B19/05 W
G06F8/30
(21)【出願番号】P 2023502384
(86)(22)【出願日】2022-02-21
(86)【国際出願番号】 JP2022006918
(87)【国際公開番号】W WO2022181535
(87)【国際公開日】2022-09-01
【審査請求日】2023-09-12
(31)【優先権主張番号】P 2021027927
(32)【優先日】2021-02-24
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】110001151
【氏名又は名称】あいわ弁理士法人
(72)【発明者】
【氏名】小林 正則
(72)【発明者】
【氏名】金丸 智
【審査官】渡邊 捷太郎
(56)【参考文献】
【文献】特開2019-087208(JP,A)
【文献】特開昭61-090211(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/05
G06F 8/30
(57)【特許請求の範囲】
【請求項1】
アプリケーションプログラムからの指令に基づいて、機械を制御する制御装置から複数種類の情報を取得する情報処理装置において、
まとめ依頼識別情報と関連付けられた少なくとも1つのまとめ依頼を格納するためのまとめ依頼格納部と、
まとめ依頼の取得要求を受け取って、該まとめ依頼の取得要求に含まれるまとめ依頼識別情報に関連付けられたまとめ依頼を前記まとめ依頼格納部から読み出し、読み出したまとめ依頼を提供するまとめ依頼管理部と、
前記アプリケーションプログラムから読み出された指令を実行する指令実行部と、
前記指令がまとめ依頼実行指令である場合、該まとめ依頼実行指令に含まれるまとめ依頼識別情報に関連付けられたまとめ依頼を前記まとめ依頼管理部へ要求し、該要求への応答として取得されたまとめ依頼を実行するまとめ依頼実行部と、
を備え
、
前記アプリケーションプログラムから読み出した指令を解析し、解析した指令を実行するように前記指令実行部へ通知するプログラム解析部を更に備え、
前記まとめ依頼管理部は、前記プログラム解析部が解析した指令がまとめ依頼作成に係る指令である場合に、該指令で指定されたまとめ依頼識別情報と関連付けたまとめ依頼を作成して前記まとめ依頼格納部に格納する、情報処理装置。
【請求項2】
まとめ依頼定義ファイルを読み込み、該まとめ依頼定義ファイルに基づいてまとめ依頼識別情報に関連付けられた少なくとも1つのまとめ依頼を作成し、作成したまとめ依頼を前記まとめ依頼格納部に格納するまとめ依頼登録部を更に備える、
請求項1に記載の情報処理装置。
【請求項3】
前記アプリケーションプログラムから読み出した指令を解析し、解析した指令を実行するように前記指令実行部へ通知するプログラム解析部を更に備え、
前記まとめ依頼管理部は、前記プログラム解析部が解析した指令がまとめ依頼に対する所定のデータ取得指令の追加に係る指令である場合に、該指令で指定されたまとめ依頼識別情報と関連付けられまとめ依頼に対して前記所定のデータ取得指令を追加する、
請求項1に記載の情報処理装置。
【請求項4】
前記アプリケーションプログラムから読み出した指令を解析し、解析した指令を実行するように前記指令実行部へ通知するプログラム解析部を更に備え、
前記まとめ依頼管理部は、前記プログラム解析部が解析した指令がまとめ依頼に対する所定のデータ取得指令の削除に係る指令である場合に、該指令で指定されたまとめ依頼識別情報と関連付けられまとめ依頼から前記所定のデータ取得指令を削除する、
請求項1に記載の情報処理装置。
【請求項5】
アプリケーションプログラムからの指令に基づいて、機械を制御する制御装置から複数種類の情報をまとめて取得する情報処理装置において実行されるプログラムであって、
前記アプリケーションプログラムから読み出した指令がまとめ依頼実行に係る指令である場合、まとめ依頼識別情報と関連付けられた少なくとも1つのまとめ依頼が格納されたまとめ依頼格納部から、該指令に含まれるまとめ依頼識別情報に関連付けられたまとめ依頼を取得する処理と、
取得した前記まとめ依頼識別情報に関連付けられたまとめ依頼に基づいて、前記制御装置から複数種類の情報をまとめて取得する処理と、
前記アプリケーションプログラムから読み出した指令を解析し、解析した指令を実行する処理と、
解析した指令がまとめ依頼作成に係る指令である場合に、該指令で指定されたまとめ依頼識別情報と関連付けたまとめ依頼を作成して格納する処理と、
を実行させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アプリケーションプログラムからの指令に基づいて制御装置から情報を取得する情報処理装置及び該情報処理装置において実行されるプログラムを記憶したコンピュータ読み取り可能な記憶媒体に関する。
【背景技術】
【0002】
一般的な制御システムは、稼動監視装置、生産計画装置などの情報処理装置と、工作機械や加工機を制御する数値制御装置、ロボットを制御するロボットコントローラ、PLC(プログラマブル・ロジック・コントローラ)などの制御装置とが、通信インタフェースを介してイーサネット等の通信ネットワークで接続されて構成される。それら情報処理装置と制御装置との間では制御に係る情報がやり取りされている。かくやり取りされる制御に係る情報が増加すると、制御装置における通信処理に掛かる負荷が大きくなり、また、情報処理装置において動作するアプリケーションがデータを取得するまでの時間が長くなり、同時にネットワークの負荷が大きくなることなどが課題となっている。
【0003】
このような課題を解決することを目的として、制御装置と通信する個々の情報処理装置の通信回数を減らし、データ要求、および制御データの転送をまとめる技術が開示されている(例えば、特許文献1など)。従来は座標値の取得、モーダル情報の取得、速度情報の取得といったような異なる情報取得を異なる通信処理で実行していた。特許文献1等に記載される技術を用いることで、複数種類の情報取得を1回の通信処理で行えるようになり、通信処理にかかる負荷を低減することができるようになっている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
複数種類の情報をまとめて取得しようとする場合、まとめて情報を取得するための「まとめ依頼」を作成する必要がある。このまとめ依頼を作成するために、情報処理装置に一定の負荷が発生する。ここで、情報処理装置では、制御装置による機械の制御状態を逐次取得する必要がある。例えば、管理装置における表示画面に機械の軸の位置や制御用プログラムの実行状況を逐次表示する必要がある場合、まとめ依頼の作成と複数種類の情報の取得が常時繰り返し行われる。そうすると、情報処理装置ではまとめ依頼の作成処理が常時繰り返し実行されることとなり、その負荷は無視できないものとなる。
このようなまとめ依頼の作成処理が繰り返し行われるシステムではまとめ依頼を効率よく作成できる技術的な仕組みが必要とされる。
【課題を解決するための手段】
【0006】
本発明では、まとめ依頼をあらかじめ一度作成し記憶しておいて、データ取得時には、その記憶してあるまとめ依頼を読み出すようにして、データ取得の度に掛かっていたアプリケーションの通信処理負荷(まとめ依頼作成処理の負荷)を軽減することで、上記課題を解決する。
【0007】
そして、本発明の一態様は、アプリケーションプログラムからの指令に基づいて、機械を制御する制御装置から複数種類の情報を取得する情報処理装置において、まとめ依頼識別情報と関連付けられた少なくとも一つのまとめ依頼を格納するためのまとめ依頼格納部と、まとめ依頼の取得要求を受けて、該まとめ依頼取得要求に含まれるまとめ依頼識別情報に関連付けられたまとめ依頼を前記まとめ依頼格納部から読み出し、読み出したまとめ依頼を提供するまとめ依頼管理部と、前記アプリケーションプログラムから読み出された指令を実行する指令実行部と、前記指令がまとめ依頼実行指令である場合、該まとめ依頼実行指令に含まれるまとめ依頼識別情報に関連付けられたまとめ依頼を前記まとめ依頼管理部へ要求し、該要求への応答として取得されたまとめ依頼を実行するまとめ依頼実行部と、を備え、前記アプリケーションプログラムから読み出した指令を解析し、解析した指令を実行するように前記指令実行部へ通知するプログラム解析部を更に備え、前記まとめ依頼管理部は、前記プログラム解析部が解析した指令がまとめ依頼作成に係る指令である場合に、該指令で指定されたまとめ依頼識別情報と関連付けたまとめ依頼を作成して前記まとめ依頼格納部に格納する、情報処理装置である。
【0008】
本発明の他の態様は、アプリケーションプログラムからの指令に基づいて、機械を制御する制御装置から複数種類の情報をまとめて取得する情報処理装置において実行されるプログラムであって、前記アプリケーションプログラムから読み出した指令がまとめ依頼実行に係る指令である場合、まとめ依頼識別情報と関連付けられた少なくとも1つのまとめ依頼が格納されたまとめ依頼格納部から、該指令に含まれるまとめ依頼識別情報に関連付けられたまとめ依頼を取得する処理と、取得した前記まとめ依頼識別情報に関連付けられたまとめ依頼に基づいて、前記制御装置から複数種類の情報をまとめて取得する処理と、前記アプリケーションプログラムから読み出した指令を解析し、解析した指令を実行する処理と、解析した指令がまとめ依頼作成に係る指令である場合に、該指令で指定されたまとめ依頼識別情報と関連付けたまとめ依頼を作成して格納する処理と、を実行させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体である。
【発明の効果】
【0009】
本発明により、まとめ依頼をプログラムの冒頭で一度作成して記憶し、データ取得時には記憶してあるまとめ依頼を読み出すことにより、データ取得の度に掛かっていたアプリケーションの通信処理負荷(まとめ依頼作成処理の負荷)を軽減できるようになる。
【図面の簡単な説明】
【0010】
【
図1】一実施形態による制御システムの要部を示す概略的なハードウェア構成図である。
【
図2】第1実施形態による制御システムの概略的な機能ブロック図である。
【
図3】第1実施形態による制御システムにおけるまとめ依頼作成の流れを説明する図である。
【
図4】第1実施形態による制御システムにおけるまとめ依頼作成の流れの他の例を説明する図である。
【
図5】第2実施形態による制御システムの概略的な機能ブロック図である。
【
図6】まとめ依頼定義ファイルの例を示す図である。
【発明を実施するための形態】
【0011】
以下に本発明を実現するための制御システムの構成例を示す。
図1は一実施形態による制御システムの要部を示す概略的なハードウェア構成図である。
本実施形態による制御システム1は、少なくとも1つの制御装置3と、該制御装置3から情報を受け取る情報処理装置2とが、有線/無線のネットワーク27を介して接続されて構成される。本実施形態による制御システム1において、制御装置3は製造装置やロボットなどの機械(図示せず)を制御している。制御装置3による機械の制御中には、その制御に関連する膨大な情報がデータとして生成され、必要に応じてメモリなどに蓄積される。また、制御システム1において、情報処理装置2は、制御装置3で生成されたデータを必要に応じて取得し、制御システム1全体の管理に利用している。
【0012】
本実施形態による情報処理装置2は、例えば、制御装置3に併設されるパソコン等として実装したり、ネットワーク27を介して制御装置3と接続されたフォグコンピュータ、クラウドサーバ等のコンピュータとして実装したりすることができる。
【0013】
情報処理装置2は、CPU10を中心に構成されている。情報処理装置2が備える各構成要素はバス17を介して接続されており、該バス17を介して互いにデータをやり取りする。CPU10は、ROM11に格納されたシステム・プログラムに従って情報処理装置2の全体を制御する。ROM11にはEPROMやEEPROMなどが使用される。
【0014】
RAM12にはDRAM等が使用され、一時的な計算データ、表示データ等が格納される。不揮発性メモリ13には図示されていないバッテリによってバックアップされたメモリやSSD(Solid State Drive)などが使用され、情報処理装置2の電源がオフされても記憶状態が保持される。
【0015】
ユーザインタフェース機器18は、情報処理装置2の動作に必要とされるデータ及び図形を表示したり、作業者の手動操作入力、データ入力などを受け付けたりするのに使用される。グラフィック制御回路19は、数値データ及び図形データ等のデジタル信号を表示用のラスタ信号に変換し、表示装置20に送る。表示装置20はこれらの数値及び図形を表示する。表示装置20には主に液晶表示装置が使用される。
【0016】
入力装置21は、キースイッチやロータリースイッチ、数値キー、シンボリックキー、文字キー及び機能キーを備えたキーボードや、マウスなどのポインティングデバイスから構成される。
タッチパネル22は、作業者によるタッチやドラッグなどの操作を検知する機能を備える。タッチパネル22は表示装置20の画面上に重畳して配置され、作業者が表示装置20の画面上に表示されたソフトウェアキーやソフトウェアボタン、ソフトウェアスイッチに対して行った操作をタッチパネル22により検知することができる。なお、タッチパネル22と表示装置20とを併せて1つの装置として構成しても良い。
【0017】
通信インタフェース23は、有線/無線のネットワーク27を介して、ネットワーク27に接続された制御装置3等との間でデータ通信を行なう。管理対象となる制御装置3で実行された制御用のプログラムや、該プログラムの実行実績に係る情報、該プログラムの実行中に取得された信号に係る情報等は、この通信インタフェース23を介して取得することができる。
【0018】
一方、制御装置3は、CPU30を中心に構成されている。制御装置3が備える各構成要素はバス37を介して接続されており、該バス37を介して互いにデータをやり取りする。CPU30はROM31に格納されたシステム・プログラムに従って制御装置3の全体を制御する。このROM31にはEPROMやEEPROM等が使用される。
【0019】
RAM32にはDRAM等が使用され、一時的な計算データ、表示データ等が格納される。不揮発性メモリ33には図示されていないバッテリによってバックアップされたCMOSやSRAM等が使用され、電源切断後も保持すべきパラメータ等が記憶される。
【0020】
制御インタフェース35は、工作機械やロボット等の各種機械と接続されており、制御装置3は制御インタフェース35を介して各種機械を制御する。制御インタフェース35は、例えば軸制御回路やPLC(プログラマブル・ロジック・コントローラ)等で構成される。制御インタフェース35は、機械を制御する際に、該機械の各部の情報を取得すると共に、該機械の動作状況をセンサ(図示せず)により検出して取得する。
通信インタフェース34は、有線/無線のネットワーク27を介して、ネットワーク27に接続された情報処理装置2等との間でデータ通信を行なう。
【0021】
図2は、本発明の第1実施形態による制御システム1が備える機能を概略的なブロック図として示したものである。
本実施形態による制御システム1が備える各機能は、
図1に示した制御システム1における情報処理装置2が備えるCPU10及び制御装置3が備えるCPU30がそれぞれシステム・プログラムを実行し、情報処理装置2及び制御装置3の各部の動作を制御することにより実現される。これらのシステム・プログラムは、例えば磁気ディスクや光学ディスクなどの記憶媒体に記憶して提供したり、有線乃至無線のネットワークを媒体として提供したりすることができる。
【0022】
本実施形態の制御システム1を構成する情報処理装置2は、プログラム解析部100、まとめ依頼管理部110、指令実行部120、まとめ依頼実行部130、結果取得部140、通信部150を備える。また、情報処理装置2のRAM12乃至不揮発性メモリ13には、情報処理装置2が実行するアプリケーションプログラム200があらかじめ記憶されており、更に、まとめ依頼を格納するための領域であるまとめ依頼格納部210と、制御装置3から取得されたデータを格納するための領域である結果格納部220とが予め用意されている。本実施形態の情報処理装置2は、上記した機能以外にも、一般的な情報処理装置が備える機能を実現するための機能を備えているが、本明細書でのそれらの説明は省略する。
【0023】
プログラム解析部100は、
図1に示した情報処理装置2が備えるCPU10がROM11から読み出したシステム・プログラムを実行し、主としてCPU10によるRAM12、不揮発性メモリ13を用いた演算処理が行われることで実現される。プログラム解析部100は、アプリケーションプログラム200を解析し、該アプリケーションプログラム200に含まれる、まとめ依頼の管理に係る指令を抽出し、抽出した指令をまとめ依頼管理部110に通知する。また、まとめ依頼の管理に係る指令以外の指令については指令実行部120に通知する。本実施形態による情報処理装置2において、まとめ依頼の管理に係る指令は、例えば、まとめ依頼を作成するための指令を含む。
【0024】
まとめ依頼管理部110は、
図1に示した情報処理装置2が備えるCPU10がROM11から読み出したシステム・プログラムを実行し、主としてCPU10によるRAM12、不揮発性メモリ13を用いた演算処理が行われることで実現される。まとめ依頼管理部110は、プログラム解析部100から通知された、まとめ依頼を作成するための指令に基づいてまとめ依頼(複数のデータ取得依頼を含む1つのデータパケット)を作成し、その作成したまとめ依頼をまとめ依頼格納部210に格納する。まとめ依頼管理部110は、まとめ依頼を、まとめ依頼に係る指令で指定されたまとめ依頼識別情報と関連付けて格納する。まとめ依頼識別情報は、例えば数値や英文字などで構成された情報であり、まとめ依頼を一意に識別するための情報である。
また、まとめ依頼管理部110は、まとめ依頼実行部130からの要求に応じて、該要求に含まれるまとめ依頼識別情報に関連付けられたまとめ依頼をまとめ依頼格納部210から読み出し、読み出したまとめ依頼をまとめ依頼実行部130に提供する。
【0025】
指令実行部120は、
図1に示した情報処理装置2が備えるCPU10がROM11から読み出したシステム・プログラムを実行し、主としてCPU10によるRAM12、不揮発性メモリ13を用いた演算処理が行われることで実現される。指令実行部120は、プログラム解析部100から通知されたアプリケーションプログラム200に含まれる指令に基づいて情報処理装置2の各部を制御する。一方で、指令実行部120は、プログラム解析部100から通知された指令がまとめ依頼の実行指令である場合、まとめ依頼の実行を該実行指令で指定されたまとめ依頼識別情報と共にまとめ依頼実行部130に依頼する。まとめ依頼の実行指令は、少なくともまとめ依頼識別情報と、まとめ依頼のデータ取得依頼先の制御装置3の識別情報とを含む。
【0026】
まとめ依頼実行部130は、
図1に示した情報処理装置2が備えるCPU10がROM11から読み出したシステム・プログラムを実行し、主としてCPU10によるRAM12、不揮発性メモリ13を用いた演算処理が行われることで実現される。まとめ依頼実行部130は、指令実行部120からの依頼に含まれるまとめ依頼識別情報に関連付けられたまとめ依頼の取得をまとめ依頼管理部に要求する。そして、まとめ依頼実行部130は、まとめ依頼管理部110から取得したまとめ依頼をデータ取得依頼先の制御装置3に送信するように、通信部150に通知する。
【0027】
結果取得部140は、
図1に示した情報処理装置2が備えるCPU10がROM11から読み出したシステム・プログラムを実行し、主としてCPU10によるRAM12、不揮発性メモリ13を用いた演算処理が行われることで実現される。結果取得部140は、通信部150を介して、データ取得依頼先の制御装置3に対するまとめ依頼に対する応答としてのまとめ結果を受け取り、結果格納部220に格納する。結果取得部140は、データ取得依頼先からまとめ結果を受け取った時は、まとめ結果からそれぞれの結果データを取り出し、取り出したそれぞれの結果データを結果格納部220の所定の領域に格納する。結果格納部220に格納されたそれぞれの結果データは、アプリケーションプログラム200の指令により、例えば表示装置20に表示したり、図示しない外部記憶装置等に記録したりすることで利用される。
【0028】
通信部150は、
図1に示した情報処理装置2が備えるCPU10がROM11から読み出したシステム・プログラムを実行し、主としてCPU10によるRAM12、不揮発性メモリ13を用いた演算処理と、通信インタフェース23を用いた入出力処理が行われることで実現される。通信部150は、他の機能手段からの指令及びネットワーク27からの通信に基づいて、ネットワーク27を介した他の装置との間のデータの送受信処理を実行する。
【0029】
一方、本実施形態の制御システム1を構成する制御装置3は、制御部300、依頼解析部310、データ取得部320、まとめ結果作成部330、及び通信部340を備えている。本実施形態の制御装置3は、上記した機能手段以外にも、一般的な制御装置が備える機能を実現するための機能手段を備えているが、本明細書でのそれらの説明は省略する。
【0030】
制御部300は、
図1に示した制御装置3が備えるCPU30がROM31から読み出したシステム・プログラムを実行し、主としてCPU30によるRAM32、不揮発性メモリ33を用いた演算処理と、制御インタフェース35を用いた入出力処理が行われることで実現される。制御部300は、機械制御用のプログラム等にしたがって機械を制御する。制御部300は、機械に対して動作を指令する一方で、機械の各部の情報や該機械の動作状況を取得する。
【0031】
依頼解析部310は、
図1に示した制御装置3が備えるCPU30がROM31から読み出したシステム・プログラムを実行し、主としてCPU30によるRAM32、不揮発性メモリ33を用いた演算処理が行われることで実現される。依頼解析部310は、通信部340を介して受け取ったデータ取得依頼乃至まとめ依頼を解析し、解析した結果に基づいて必要なデータを取得するようにデータ取得部320に指令する。依頼解析部310は、従来技術による通常のデータ取得依頼を受けた場合には、従来技術と同様に依頼されているデータをデータ取得部320に指令する。一方で、依頼解析部310は、まとめ依頼を受けた場合には、該まとめ依頼からそれぞれのデータ取得依頼を取り出し、それぞれのデータ取得依頼により依頼されている各データを取得するようにデータ取得部320に指令する。
【0032】
データ取得部320は、
図1に示した制御装置3が備えるCPU30がROM31から読み出したシステム・プログラムを実行し、主としてCPU30によるRAM32、不揮発性メモリ33を用いた演算処理が行われることで実現される。データ取得部320は、依頼解析部310からの依頼に基づいて制御部300から制御に係る各データを取得し、取得したデータをまとめ結果作成部330に通知する。
【0033】
まとめ結果作成部330は、
図1に示した制御装置3が備えるCPU30がROM31から読み出したシステム・プログラムを実行し、主としてCPU30によるRAM32、不揮発性メモリ33を用いた演算処理が行われることで実現される。まとめ結果作成部330は、データ取得部320が取得したデータに基づいて情報処理装置2への応答としてのデータを作成し、作成したデータを情報処理装置2に送信するように通信部340に指令する。まとめ結果作成部330は、従来技術による通常のデータ取得依頼を受け取った場合には、従来技術と同様に依頼されたデータを応答するように通信部340に指令する。一方で、まとめ依頼を受け取った場合には、まとめ依頼に含まれるそれぞれのデータ取得依頼により依頼されているデータをまとめたまとめ結果を作成し、作成したまとめ結果をデータ取得依頼元に応答するように通信部340に指令する。まとめ結果作成部330は、まとめ結果に含まれるそれぞれのデータ取得依頼により依頼されたデータを複数まとめた1つのまとめ結果(複数のデータを含む1つのデータパケット)を作成する。
【0034】
通信部340は、
図1に示した制御装置3が備えるCPU30がROM31から読み出したシステム・プログラムを実行し、主としてCPU30によるRAM32、不揮発性メモリ33を用いた演算処理と、通信インタフェース34を用いた入出力処理が行われることで実現される。通信部340は、他の機能からの指令及びネットワーク27を介した通信に基づいて、ネットワーク27を介した他の装置との間のデータの送受信処理を実行する。
【0035】
上記した情報処理装置2が備える各機能の動作の流れについて、
図3及び
図4を用いて説明する。
図3及び
図4は、まとめ依頼の作成からまとめ依頼の実行までの流れを示している。
図3では、「まとめ依頼」の作成指令として、まとめ依頼の作成を開始する指令「PACK_ON」と、まとめ依頼の作成を終了する指令「PACK_OFF」とを用いた例を示している。まとめ依頼作成開始指令「PACK_ON」では、まとめ依頼を一意に識別するためのまとめ依頼識別情報(
図3では「pack_no」)を引数として指令する。まとめ依頼作成開始指令「PACK_ON(pack_no)」と、まとめ依頼作成終了指令「PACK_OFF」は、その間で指令されるデータ取得指令をまとめたまとめ依頼を作成するために用いられる。
【0036】
図3の例では、まず、(1)プログラム解析部100が、プログラムからまとめ依頼作成指令を読み込む。次に、(2)プログラム解析部100は、まとめ依頼作成指令で指定されたまとめ依頼識別情報(pack_no)で識別されるまとめ依頼を作成するように、まとめ依頼管理部110に通知する。まとめ依頼には、GET_COORDINATE(機械の各軸の座標値を取得する座標値データ取得指令)、GET_MODAL(モーダル情報を取得するモーダル情報取得指令)、GET_FEED(機械の駆動部の移動速度を取得する速度情報取得指令)を含めるように指令される。
【0037】
プログラム解析部100から通知を受け取ると、(3)まとめ依頼管理部110は、座標値データ取得指令、モーダル情報取得指令、及び速度情報取得指令をまとめて取得するためのまとめ依頼を作成し、まとめ情報識別情報pack_noと関連付けてまとめ依頼格納部210に格納する。このようにして、まとめ依頼の作成が指令されるたびに、それぞれのまとめ情報識別情報と関連付けられたまとめ依頼が作成されてまとめ依頼格納部210に格納されていく。
【0038】
その後、アプリケーションプログラム200に含まれる指令が逐次読み出されて解析され、指令実行部120による指令の実行が行われる。そして、(4)プログラム解析部100は、まとめ依頼実行指令を読み込むと、(5)まとめ依頼実行指令を指令実行部120に通知する。(6)指令実行部120は、まとめ依頼実行指令が通知されると、まとめ依頼実行部130に対して、まとめ依頼実行指令により指定されたまとめ依頼識別情報に関連付けられたまとめ依頼を実行するよう通知する。この通知を受け取って、(7)まとめ依頼実行部130は、まとめ依頼実行指令により指定されたまとめ依頼識別情報に関連付けられたまとめ依頼をまとめ依頼管理部110に要求する。(8)要求を受けたまとめ依頼管理部110は、まとめ依頼識別情報に関連付けられたまとめ依頼をまとめ依頼格納部210から読み出してまとめ依頼実行部130に引き渡す。最後に、(9)まとめ依頼実行部130は、取得したまとめ依頼を実行する。
【0039】
図4は、「まとめ依頼」の作成指令として、各々のデータ取得指令に対応したまとめ依頼の作成指令を用意した例を示す。
図4の例では、取得するデータの種類毎にまとめ依頼に登録する指令(PACK_GET_xxx、xxxはデータの種類毎に異なる。)を用意している。例えば、座標値データ取得指令GET_COORDINATEに対応するまとめ依頼作成指令としてPACK_GET_COORDINATE、モーダル情報取得指令GET_MODALに対応するまとめ依頼作成指令としてPACK_GET_MODAL、速度情報取得指令GET_FEEDに対応するまとめ依頼作成指令としてPACK_GET_FEEDが用意されている。これらの各指令は、まとめ依頼を一意に識別するためのまとめ依頼識別情報(
図3では「pack_no」)を引数としており、それぞれ指定したまとめ依頼識別情報と関連付けられたまとめ依頼を作成するために(まとめ依頼識別情報に関連付けられたまとめ依頼が未作成の場合)、または取得するデータを追加するために(まとめ依頼識別情報に関連付けられたまとめ依頼が既に作成されている場合)用いられる。
【0040】
図4の例では、まず、(1)プログラム解析部100が、プログラムからまとめ依頼作成指令を逐次読み込む。次に、(2)プログラム解析部100は、まとめ依頼管理部110に、まとめ依頼作成指令で指定されたまとめ依頼識別情報(pack_no)で識別されるまとめ依頼を作成するように、通知する。
【0041】
プログラム解析部100から通知を受け取ると、(3)まとめ依頼管理部110は、まずPACK_GET_COORDINATEが通知された時点で座標値データ取得指令を含むまとめ依頼を作成する。この時、作成したまとめ依頼はpack_noと関連付けられてまとめ依頼格納部210に格納される。次いで、まとめ依頼管理部110は、PACK_GET_MODALが通知されると、pack_noに関連付けられたまとめ依頼にモーダル情報取得指令を追加する。また、まとめ依頼管理部110は、PACK_GET_FEEDが通知されると、pack_noに関連付けられたまとめ依頼に速度情報取得指令を追加する。以降の処理については、
図3で説明したものと同様である。
【0042】
なお、
図3及び
図4の例では、座標値データ、モーダル情報、速度情報という3つのデータを取得する場合の例を示したが、取得するデータの種類は一般的な制御装置3から取得可能などのようなデータを対象としても良い。例えば、制御軸/主軸関係のデータ(座標値、送り速度、主軸回転数等)、制御用プログラム関係のデータ(登録済みプログラム一覧、実行中プログラム情報、実行中指令情報、実行中ブロック情報等)、数値制御関連データ(パラメータ情報、オフセット情報等)、履歴関連データ(警告履歴、操作履歴等)、PLC関連データ(PLC信号、タイマ情報等)、その他データ(システム情報、モーダル情報等)等、様々なデータを取得対象とすることができる。また、取得するデータの数は3つに限定されるものではなく、必要に応じて所望の個数のデータをまとめて取得依頼をして結果を受け取るようにできる。
【0043】
上記で説明した本実施形態による制御システム1では、まとめ依頼をプログラムの冒頭で一度作成して記憶し、データ取得時にはその記憶してあるまとめ依頼を読み出すことにより、データ取得の度に掛かっていたアプリケーションの通信処理負荷(まとめ依頼作成処理の負荷)を軽減できるようになる。その結果、制御装置から制御データを取得するまでの時間を短縮することができる。また、まとめ依頼を記憶しておくことで、他の処理(スレッド、関数など)で使い回しができるため、実行プログラムのコード量が削減でき、かつ、プログラミングが容易になる。
【0044】
本実施形態による制御システム1の一変形例として、まとめ依頼管理部110は、まとめ依頼格納部210に格納されているまとめ依頼から、所定のデータ取得指令を削除できるようにしてもよい。例えば、
図4の例で説明したデータの種類毎のまとめ依頼への登録する指令に対応してまとめ依頼からの削除指令(例えば、UNPACK_GET_xxx、xxxはデータの種類毎に異なる。)を用意する。そして、まとめ依頼識別情報を引数としたまとめ依頼からの削除指令が通知されると、まとめ依頼管理部110は、まとめ依頼識別情報に関連付けられたまとめ依頼をまとめ依頼格納部210の中から特定し、特定したまとめ依頼から指定された種類のデータ取得指令を削除する。例えば、
図4の例において、UNPACK_GET_COORDINATE(pack_no)が通知されると、まとめ依頼格納部210に格納されているまとめ依頼識別情報pack_noに関連付けられたまとめ依頼から、座標値データを取得する指令(GET_COORDINATE)が削除される。
【0045】
このような機能を設けることで、制御装置3における機械の制御状態の監視の目的に合わせて、まとめ依頼するデータを変更することが可能となり、柔軟なデータ取得が行えるようになる。例えば、制御装置3による機械の所定の制御状態を監視している際に、主軸の負荷情報から主軸に大きな負荷が所定時間以上かかり続けているときなどに、機械の温度情報などを取得するデータ取得指令をまとめ依頼に追加することで、より詳細な機械の動作状況を監視する。そして、動作状態が安定したら、追加したデータ取得指令を削除して通常の監視状態に戻る、といった柔軟な制御をすることが可能となる。
【0046】
図5は、本発明の第2実施形態による制御システム1が備える機能を概略的なブロック図として示したものである。
本実施形態による制御システム1が備える各機能は、
図1に示した制御システム1における情報処理装置2が備えるCPU10及び制御装置3が備えるCPU30がそれぞれシステム・プログラムを実行し、情報処理装置2及び制御装置3の各部の動作を制御することにより実現される。
【0047】
本実施形態の制御システム1を構成する情報処理装置2は、プログラム解析部100、まとめ依頼管理部110、指令実行部120、まとめ依頼実行部130、結果取得部140、通信部150に加えて、まとめ依頼登録部160を備える。また、情報処理装置2のRAM12乃至不揮発性メモリ13には、情報処理装置2が実行するアプリケーションプログラム200があらかじめ記憶されており、更に、まとめ依頼を格納するための領域であるまとめ依頼格納部210と、制御装置3から取得されたデータを格納するための領域である結果格納部220とが予め用意されている。本実施形態の情報処理装置2は、上記した機能以外にも、一般的な情報処理装置が備える機能を実現するための機能を備えているが、本明細書でのそれらの説明は省略する。
【0048】
本実施形態による情報処理装置2が備えるプログラム解析部100、まとめ依頼管理部110、指令実行部120、まとめ依頼実行部130、結果取得部140、通信部150については、第1実施形態による情報処理装置2が備える各機能と同様である。
本実施形態によるまとめ依頼登録部160は、
図1に示した制御装置3が備えるCPU30がROM31から読み出したシステム・プログラムを実行し、主としてCPU30によるRAM32、不揮発性メモリ33を用いた演算処理とが行われることで実現される。まとめ依頼登録部160は、事前に作成したまとめ依頼の定義ファイルに基づいてまとめ依頼を作成し、作成したまとめ依頼をまとめ依頼格納部210に格納する。まとめ依頼登録部160は、例えばオペレータの操作に応じて指定されたまとめ依頼定義ファイルを読み込み、読み込んだファイルで定義される1又は複数のまとめ依頼を作成する。まとめ依頼定義ファイルは、予め情報処理装置2の不揮発性メモリ13に記憶しておいて読み出すようにしてもよいし、外部記憶装置(図示せず)から読み出してもよい。また、ネットワーク27を介して他の装置から読み出すようにしてもよい。
【0049】
図6は、まとめ依頼の定義ファイルの例を示している。まとめ依頼定義ファイルは、少なくとも1つのまとめ依頼について、該まとめ依頼に含めるデータ取得指令と、まとめ依頼識別情報とを関連付けて定義するファイルである。
図6の例では、まとめ依頼作成開始指令PACK_ONとまとめ依頼作成終了指令PACK_OFFとを用いた3つのまとめ依頼が定義されている。このまとめ依頼定義ファイルをまとめ依頼登録部160が読み出すことで、pack_no1、pack_no2、pack_no3の3つのまとめ依頼が作成されて、まとめ依頼格納部210に格納される。格納されたまとめ依頼は、第1実施形態で説明したようにまとめ依頼実行指令により利用することができる。
【0050】
上記で説明した本実施形態による制御システム1では、まとめ依頼をまとめ依頼定義ファイルによりあらかじめ作成しておくことができる。稼動監視装置や生産計画装置では、制御装置から取得しなければならないデータのセットが概ね決まっている場合がある。そのような場合に、あらかじめまとめ依頼定義ファイルでまとめ依頼を作成しておくことで、それぞれのアプリケーションプログラムでいちいちまとめ依頼を作成しなくてもよくなり、プログラム作成に掛かる負担がより軽減される。
【0051】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【符号の説明】
【0052】
1 制御システム
2 情報処理装置
3 制御装置
10 CPU
11 ROM
12 RAM
13 不揮発性メモリ
17 バス
18 ユーザインタフェース機器
19 グラフィック制御回路
20 表示装置
21 入力装置
22 タッチパネル
23 通信インタフェース
27 ネットワーク
30 CPU
31 ROM
32 RAM
33 不揮発性メモリ
34 通信インタフェース
35 制御インタフェース
37 バス
100 プログラム解析部
110 まとめ依頼管理部
120 指令実行部
130 まとめ依頼実行部
140 結果取得部
150 通信部
160 まとめ依頼登録部
200 アプリケーションプログラム
210 まとめ依頼格納部
220 結果格納部
300 制御部
310 依頼解析部
320 データ取得部
330 まとめ結果作成部
340 通信部