(57)【要約】【課題】ベースソフトウェアと作業ソフトウェアと各機械との間での情報の受渡しとその管理を行える機械制御用コンピュータを提供する。【解決手段】機械制御用のコンピュータ１０にベースソフトウェア１３及び作業ソフトウェア１４が搭載されている。ベースソフトウェア１３は、プログラム部分である第１通信部１５と、プログラム部分である第２通信部１６と、プログラム部分である情報変換部２３とを含む。情報変換部２３は、機械１１、１２等のカテゴリに対応するデータモデル２７、２８等に基づいて、機械１１に固有の第１機械情報を、作業ソフトウェア１４に固有の第２機械情報に変換することをコンピュータ１０のＣＰＵ３０に実行させる。【選択図】図５
2018197946.tif 000002
【特許請求の範囲】
【請求項１】
ベースソフトウェア及び作業ソフトウェアが搭載され、機械と通信可能に接続される機械制御用のコンピュータであって、
前記ベースソフトウェアは、
前記機械から出力される前記機械に固有の第１機械情報を受信することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である第１通信部と、
前記作業ソフトウェアに固有の第２機械情報を前記作業ソフトウェアに送信することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である第２通信部と、
前記機械のカテゴリに対応するデータモデルに基づいて前記第１機械情報を前記第２機械情報に変換することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である情報変換部と、を含み、
前記作業ソフトウェアは、前記第２機械情報を入力情報として使用するプログラムであり、
前記データモデルは、少なくとも前記機械を構成している各物理的要素又は前記機械の各種管理要素をそれぞれノードとして表現したデータ構造を有し、前記各物理的要素又は前記各種管理要素に対応した前記ノードには、前記第１機械情報が割り当てられることを特徴とするコンピュータ。
【請求項２】
ベースソフトウェア及び作業ソフトウェアが搭載され、少なくとも二つの機械と通信可能に接続される機械制御用のコンピュータであって、
前記ベースソフトウェアは、
前記機械の各々から前記機械の各々の識別情報に関連付けて出力される、前記機械の各々に固有の第１機械情報を受信することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である第１通信部と、
前記作業ソフトウェアに固有の第２機械情報を前記機械の各々の識別情報に関連付けて前記作業ソフトウェアに送信することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である第２通信部と、
前記機械のカテゴリに対応するデータモデルに基づいて前記第１機械情報を前記第２機械情報に変換することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である情報変換部と、を含み、
前記作業ソフトウェアは、前記第２機械情報を入力情報として使用するプログラムであり、
前記データモデルは、少なくとも前記機械を構成している各物理的要素又は前記機械の各種管理要素をそれぞれノードとして表現したデータ構造を有し、前記各物理的要素又は前記各種管理要素に対応した前記ノードには、前記第１機械情報が割り当てられることを特徴とするコンピュータ。
【請求項３】
ベースソフトウェア及び作業ソフトウェアが搭載され、機械と通信可能に接続される機械制御用のコンピュータであって、
前記ベースソフトウェアは、
前記機械から出力される前記機械に固有の第１機械情報を受信することと、前記機械に指示する前記機械に固有の第２指示情報を前記機械に送信することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である第１通信部と、
前記作業ソフトウェアに固有の第１指示情報を前記作業ソフトウェアから受信することと、前記作業ソフトウェアに固有の第２機械情報を前記作業ソフトウェアに送信することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である第２通信部と、
前記機械のカテゴリに対応するデータモデルに基づいて前記第１機械情報を前記第２機械情報に変換することと該データモデルに基づいて前記第１指示情報を前記第２指示情報に変換することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である情報変換部と、を含み、
前記作業ソフトウェアは、前記第２機械情報に基づいて前記第１指示情報を作成して出力することを前記コンピュータのＣＰＵに実行させるためのプログラムであり、
前記データモデルは、少なくとも前記機械を構成している各物理的要素又は前記機械の各種管理要素をそれぞれノードとして表現したデータ構造を有し、前記各物理的要素又は前記各種管理要素に対応した前記ノードには、前記第１機械情報が割り当てられることを特徴とするコンピュータ。
【請求項４】
ベースソフトウェア及び作業ソフトウェアが搭載され、少なくとも二つの機械と通信可能に接続される機械制御用のコンピュータであって、
前記ベースソフトウェアは、
前記機械の各々から前記機械の各々の識別情報に関連付けて出力される、前記機械の各々に固有の第１機械情報を受信することと、前記機械に固有の第２指示情報を前記機械の各々に対して送信することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である第１通信部と、
前記作業ソフトウェアから前記機械の各々の識別情報に関連付けて出力される、前記作業ソフトウェアに固有の第１指示情報を受信することと、前記作業ソフトウェアに固有の第２機械情報を前記機械の各々の識別情報に関連付けて前記作業ソフトウェアに送信することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である第２通信部と、
前記機械のカテゴリに対応するデータモデルに基づいて前記第１機械情報を前記第２機械情報に変換することと該データモデルに基づいて前記第１指示情報を前記第２指示情報に変換することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である情報変換部と、を含み、
前記機械は、前記機械の状態を前記第１機械情報として前記コンピュータに出力する機能、及び、前記第２指示情報に基づき、前記機械が行うべき作業動作を決定する機能を有し、
前記作業ソフトウェアは、前記機械の各々の識別情報に関連付けて入力される前記第２機械情報に基づいて前記機械の各々への前記第１指示情報を作成して、前記機械の各々の識別情報に関連付けて出力することを前記コンピュータのＣＰＵに実行させるためのプログラムであり、
前記データモデルは、少なくとも前記機械を構成している各物理的要素又は前記機械の各種管理要素をそれぞれノードとして表現したデータ構造を有し、前記各物理的要素又は前記各種管理要素に対応した前記ノードには、前記第１機械情報が割り当てられることを特徴とするコンピュータ。
【請求項５】
前記データモデルは、同一カテゴリに属する複数の前記機械に対して共有可能なデータモデルである、請求項１乃至４のいずれか一項に記載のコンピュータ。
【請求項６】
前記情報変換部により変換された前記第２機械情報は、前記第１機械情報と、該第１機械情報の元となる前記各物理的要素又は前記各種管理要素に対応する前記ノードの識別情報とを少なくとも含む、請求項１乃至５のいずれか一項に記載のコンピュータ。
【請求項７】
前記ベースソフトウェアは、前記作業ソフトウェアが適切であるか、または不適切であるかを判断することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である判断部を更に含み、
前記ベースソフトウェアは、前記判断部において前記作業ソフトウェアが不適切であると判断された場合に前記第２通信部を前記コンピュータのＣＰＵに実行させない処理を含むことを特徴とする請求項１から６のいずれか一項に記載のコンピュータ。
【請求項８】
前記ベースソフトウェアは、前記作業ソフトウェアが適切であるか、または不適切であるかを判断することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である判断部を更に含み、
前記作業ソフトウェアは、前記作業ソフトウェアの製造元情報と前記作業ソフトウェアの検査結果とに基づいた認証記録情報を含み、
前記第１指示情報の一部は、前記認証記録情報であり、
前記ベースソフトウェアは、前記判断部において前記認証記録情報が不適切であると判断された場合に前記第２通信部を前記コンピュータのＣＰＵに実行させない処理を含むことを特徴とする請求項３または４に記載のコンピュータ。
【請求項９】
前記ベースソフトウェア及び前記作業ソフトウェアの少なくともいずれか一方は、前記ベースソフトウェア及び前記作業ソフトウェアの少なくともいずれか一方の使用状況に基づいて課金を行う処理を前記コンピュータのＣＰＵに実行させるプログラム部分である課金処理部を更に含むことを特徴とする請求項１から６のいずれか一項に記載のコンピュータ。
【請求項１０】
前記課金処理部は、前記ベースソフトウェア及び前記作業ソフトウェアの少なくともいずれか一方について、起点からの使用期間を監視し、所定の期間ごとに、料金の支払いに関する情報を生成して前記第１通信部に出力することを前記コンピュータのＣＰＵに実行させるためのプログラム部分であることを特徴とする請求項９に記載のコンピュータ。
【請求項１１】
前記ベースソフトウェアは、外部機器と通信することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である第３通信部を更に含み、
前記課金処理部は、前記ベースソフトウェア及び前記作業ソフトウェアの少なくともいずれか一方について、起点からの使用期間を監視し、所定の期間ごとに、料金の支払いに関する情報を生成して前記第３通信部に出力することを前記コンピュータのＣＰＵに実行させるためのプログラム部分であることを特徴とする請求項９に記載のコンピュータ。
【請求項１２】
前記起点が、前記ベースソフトウェア及び前記作業ソフトウェアの少なくともいずれか一方のインストールタイミングであることを特徴とする請求項１０または１１に記載のコンピュータ。
【請求項１３】
前記起点が、前記ベースソフトウェア及び前記作業ソフトウェアの少なくともいずれか一方の購入日であることを特徴とする請求項１０または１１に記載のコンピュータ。
【請求項１４】
前記課金処理部は、前記ベースソフトウェア及び前記作業ソフトウェアの少なくともいずれか一方に関する情報通信量に応じて前記課金を行う処理を前記コンピュータのＣＰＵに実行させることを含む、請求項９に記載のコンピュータ。
【請求項１５】
前記課金処理部は、前記ベースソフトウェア及び前記作業ソフトウェアの少なくともいずれか一方の実行回数に応じて前記課金を行う処理を前記コンピュータのＣＰＵに実行させることを含む、請求項９に記載のコンピュータ。
【請求項１６】
前記課金処理部は、前記コンピュータに接続された前記機械の数に応じて前記課金を行う処理を前記コンピュータのＣＰＵに実行させることを含む、請求項９に記載のコンピュータ。
【請求項１７】
前記課金処理部は、前記ベースソフトウェアに従って前記第１機械情報を処理したときの情報処理量、及び前記作業ソフトウェアに従って前記第２機械情報を処理したときの情報処理量の少なくともいずれか一方に応じて前記課金を行う処理を前記コンピュータのＣＰＵに実行させることを含む、請求項９に記載のコンピュータ。
【請求項１８】
前記課金処理部は、前記コンピュータを使用した人数に応じて前記課金を行う処理を前記コンピュータのＣＰＵに実行させることを含む、請求項９に記載のコンピュータ。
【請求項１９】
前記課金処理部は、前記ベースソフトウェア及び前記作業ソフトウェアの少なくともいずれか一方に対して予め定められた使用料金の支払い状況に応じて、前記ベースソフトウェア及び前記作業ソフトウェアの少なくともいずれか一方の使用期間を決定することを前記コンピュータのＣＰＵに実行させることを含む、請求項９に記載のコンピュータ。
【請求項２０】
前記課金処理部は、前記ベースソフトウェア及び前記作業ソフトウェアの少なくともいずれか一方の起点からの使用期間が所定の期間内である場合には、前記課金を行う処理を前記コンピュータのＣＰＵに実行させないことを含むことを特徴とする請求項９に記載のコンピュータ。
【請求項２１】
前記課金処理部は、前記ベースソフトウェア及び前記作業ソフトウェアの少なくともいずれか一方についての使用料金の支払いが済んでいるか否かを判定することを前記コンピュータのＣＰＵに実行させることを含む、請求項９から２０のいずれか一項に記載のコンピュータ。
【請求項２２】
前記ベースソフトウェアは、前記ベースソフトウェア及び前記作業ソフトウェアの少なくともいずれか一方の版数を管理することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である版数管理部を更に含むことを特徴とする請求項１から２１のいずれか一項に記載のコンピュータ。
【請求項２３】
前記ベースソフトウェア及び前記作業ソフトウェアの少なくともいずれか一方の最新版数を記録する記憶部を更に具備し、
前記ベースソフトウェアは、前記記憶部の内容を確認することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である第４通信部を更に含み、
前記版数管理部は、前記記憶部に記録される前記ベースソフトウェア及び前記作業ソフトウェアの少なくともいずれか一方の最新版数が、前記ベースソフトウェア及び前記作業ソフトウェアの少なくともいずれか一方における現状の版数より進んだものである場合に、該最新版数を前記第１通信部に出力することを前記コンピュータのＣＰＵに実行させるためのプログラム部分であることを特徴とする請求項２２に記載のコンピュータ。
【請求項２４】
前記ベースソフトウェア及び前記作業ソフトウェアの少なくともいずれか一方の最新版数を記録する記憶部を更に具備し、
前記ベースソフトウェアは、外部機器と通信することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である第３通信部と、前記記憶部の内容を確認することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である第４通信部とを更に含み、
前記版数管理部は、前記記憶部に記録される前記ベースソフトウェア及び前記作業ソフトウェアの少なくともいずれか一方の最新版数が、前記ベースソフトウェア及び前記作業ソフトウェアの少なくともいずれか一方における現状の版数より進んだものである場合に、該最新版数を前記第３通信部に出力することを前記コンピュータのＣＰＵに実行させるためのプログラム部分であることを特徴とする請求項２２に記載のコンピュータ。
【請求項２５】
前記ベースソフトウェア及び前記作業ソフトウェアの少なくともいずれか一方は、前記ベースソフトウェア及び前記作業ソフトウェアの少なくともいずれか一方のライセンス認証を行うことを前記コンピュータのＣＰＵに実行させるためのプログラム部分を更に含むことを特徴とする請求項１から４のいずれか一項に記載のコンピュータ。
【請求項２６】
前記ベースソフトウェア及び前記作業ソフトウェアの少なくともいずれか一方は、コピーを規制する機能を更に含むことを特徴とする請求項１から４のいずれか一項に記載のコンピュータ。
【請求項２７】
前記ベースソフトウェア及び前記作業ソフトウェアの少なくともいずれか一方は、前記コンピュータ外に出力する情報に広告情報を付けることを前記コンピュータのＣＰＵに実行させるためのプログラム部分を含むことを特徴とする請求項１から４のいずれか一項に記載のコンピュータ。
【請求項２８】
前記ベースソフトウェア及び前記作業ソフトウェアの少なくともいずれか一方は、パーソナルアシスタントを前記コンピュータのＣＰＵに実行させるためのプログラム部分を含むことを特徴とする請求項１から４のいずれか一項に記載のコンピュータ。
【請求項２９】
前記ベースソフトウェアは、前記コンピュータに接続された前記機械の認証を行うことを前記コンピュータのＣＰＵに実行させるためのプログラム部分を含むことを特徴とする請求項１から４のいずれか一項に記載のコンピュータ。
【請求項３０】
前記コンピュータには、前記第２機械情報を基に機械学習を行うことを前記コンピュータのＣＰＵに実行させるための機械学習ソフトウェアが搭載されていることを特徴とする請求項１から４のいずれか一項に記載のコンピュータ。
【請求項３１】
前記コンピュータとインターネットを介して接続された上位コンピュータを備え、
前記第２通信部は、前記上位コンピュータからの指令に応じて前記第１機械情報又は前記第２機械情報を前記上位コンピュータにアップロードすることを前記コンピュータのＣＰＵに実行させることを含む、請求項１から４のいずれか一項に記載のコンピュータ。
【請求項３２】
前記コンピュータとインターネットを介して接続された上位コンピュータを備え、
前記第２通信部は、前記上位コンピュータからの指令に応じて前記上位コンピュータ内のデータ又はプログラムを前記コンピュータにダウンロードすることを前記コンピュータのＣＰＵに実行させることを含む、請求項１から４のいずれか一項に記載のコンピュータ。
【請求項３３】
前記第１機械情報及び前記第２機械情報の一部は、前記機械の使用時間、モータの電流値、振動値、発熱温度、音量、及び前記機械の位置情報のうちの少なくとも一つに関する情報であることを特徴とする請求項１、２、５または６に記載のコンピュータ。
【請求項３４】
前記第１機械情報及び前記第２機械情報の一部は、前記機械の使用時間、モータの電流値、振動値、発熱温度、及び音量のうちの少なくとも一つに関する情報であり、
前記第１指示情報及び前記第２指示情報の一部は、前記機械に対する停止指示もしくは減速指示、及び警告表示の少なくともいずれか一方に関する情報であることを特徴とする請求項３または４に記載のコンピュータ。
【請求項３５】
前記第１機械情報の一部は、前記機械の位置情報であり、
前記第２指示情報の一部は、複数の前記機械の相対位置があらかじめ設定された距離以下となった場合に、動作優先順位下位の機械に対する停止指示によって機械同士の干渉を回避させるための前記機械の動作指示情報であることを特徴とする請求項３または４に記載のコンピュータ。
【請求項３６】
前記第１機械情報の一部は、前記機械の作業受付情報及び作業完了情報であり、
前記第２指示情報の一部は、あらかじめ前記機械に記憶された作業についての、内容の選択、作業順序、前記機械の起動、及び前記機械の停止のうちの少なくとも一つを含む作業指示情報であることを特徴とする請求項３または４に記載のコンピュータ。
【請求項３７】
前記第１機械情報の一部は、前記機械の作業対象物の状態を示す情報であり、
前記第２指示情報の一部は、前記作業対象物の状態に応じて前記機械の動作を変えるための動作変更指示情報であることを特徴とする請求項３または４に記載のコンピュータ。
【請求項３８】
前記第１機械情報の一部は、前記機械の予定動作情報であり、
前記第２指示情報の一部は、前記機械の予定動作が適切か、または不適切かを判断した結果であることを特徴とする請求項３または４に記載のコンピュータ。
【請求項３９】
前記機械が製造機械または産業用ロボットであることを特徴とする請求項１から３８のいずれか一項に記載のコンピュータ。
【請求項４０】
機械と、前記機械と通信可能に接続された機械制御用のコンピュータとを備え、前記コンピュータにベースソフトウェア及び作業ソフトウェアが搭載された、機械システムであって、
前記ベースソフトウェアは、
前記機械から出力される前記機械に固有の第１機械情報を受信することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である第１通信部と、
前記作業ソフトウェアに固有の第２機械情報を前記作業ソフトウェアに送信することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である第２通信部と、
前記機械のカテゴリに対応するデータモデルに基づいて前記第１機械情報を前記第２機械情報に変換することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である情報変換部と、を含み、
前記機械は、前記機械の状態を前記第１機械情報として前記コンピュータに出力する機能を有し、
前記作業ソフトウェアは、前記第２機械情報を入力情報として使用するプログラムであり、
前記データモデルは、少なくとも前記機械を構成している各物理的要素又は前記機械の各種管理要素をそれぞれノードとして表現したデータ構造を有し、前記各物理的要素又は前記各種管理要素に対応した前記ノードには、前記第１機械情報が割り当てられることを特徴とする機械システム。
【請求項４１】
少なくとも２つの機械と、前記機械と通信可能に接続された機械制御用のコンピュータとを備え、前記コンピュータにベースソフトウェア及び作業ソフトウェアが搭載された、機械システムであって、
前記ベースソフトウェアは、
前記機械の各々から前記機械の各々の識別情報に関連付けて出力される、前記機械の各々に固有の第１機械情報を受信することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である第１通信部と、
前記作業ソフトウェアに固有の第２機械情報を前記機械の各々の識別情報に関連付けて前記作業ソフトウェアに送信することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である第２通信部と、
前記機械のカテゴリに対応するデータモデルに基づいて前記第１機械情報を前記第２機械情報に変換することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である情報変換部と、を含み、
前記機械は、前記機械の状態を前記第１機械情報として前記機械の各々の識別情報に関連付けて前記コンピュータに出力する機能を有し、
前記作業ソフトウェアは、前記第２機械情報を入力情報として使用するプログラムであり、
前記データモデルは、少なくとも前記機械を構成している各物理的要素又は前記機械の各種管理要素をそれぞれノードとして表現したデータ構造を有し、前記各物理的要素又は前記各種管理要素に対応した前記ノードには、前記第１機械情報が割り当てられることを特徴とする機械システム。
【請求項４２】
機械と、前記機械と通信可能に接続された機械制御用のコンピュータとを備え、前記コンピュータにベースソフトウェア及び作業ソフトウェアが搭載された、機械システムであって、
前記ベースソフトウェアは、
前記機械から出力される前記機械に固有の第１機械情報を受信することと、前記機械に固有の第２指示情報を前記機械に送信することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である第１通信部と、
前記作業ソフトウェアに固有の第１指示情報を前記作業ソフトウェアから受信することと、前記作業ソフトウェアに固有の第２機械情報を前記作業ソフトウェアに送信することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である第２通信部と、
前記機械のカテゴリに対応するデータモデルに基づいて前記第１機械情報を前記第２機械情報に変換することと該データモデルに基づいて前記第１指示情報を前記第２指示情報に変換することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である情報変換部と、を含み、
前記機械は、前記機械の状態を前記第１機械情報として前記コンピュータに出力する機能、及び、前記第２指示情報に基づき、前記機械が行うべき作業動作を決定する機能を有し、
前記作業ソフトウェアは、前記第２機械情報に基づいて前記第１指示情報を作成して出力することを前記コンピュータのＣＰＵに実行させるためのプログラムであり、
前記データモデルは、少なくとも前記機械を構成している各物理的要素又は前記機械の各種管理要素をそれぞれノードとして表現したデータ構造を有し、前記各物理的要素又は前記各種管理要素に対応した前記ノードには、前記第１機械情報が割り当てられることを特徴とする機械システム。
【請求項４３】
少なくとも２つの機械と、前記機械と通信可能に接続された機械制御用のコンピュータとを備え、前記コンピュータにベースソフトウェア及び作業ソフトウェアが搭載された、機械システムであって、
前記ベースソフトウェアは、
前記機械の各々から前記機械の各々の識別情報に関連付けて出力される、前記機械の各々に固有の第１機械情報を受信することと、前記機械に固有の第２指示情報を前記機械の各々に対して送信することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である第１通信部と、
前記作業ソフトウェアから前記機械の各々の識別情報に関連付けて出力される、前記作業ソフトウェアに固有の第１指示情報を受信することと、前記作業ソフトウェアに固有の第２機械情報を前記機械の各々の識別情報に関連付けて前記作業ソフトウェアに送信することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である第２通信部と、
前記機械のカテゴリに対応するデータモデルに基づいて前記第１機械情報を前記第２機械情報に変換することと該データモデルに基づいて前記第１指示情報を前記第２指示情報に変換することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である情報変換部と、を含み、
前記機械は、前記機械の状態を前記第１機械情報として前記コンピュータに出力する機能、及び、前記第２指示情報に基づき、前記機械が行うべき作業動作を決定する機能を有し、
前記作業ソフトウェアは、前記機械の各々の識別情報に関連付けて入力される前記第２機械情報に基づいて前記機械の各々への前記第１指示情報を作成して、前記機械の各々の識別情報に関連付けて出力することを前記コンピュータのＣＰＵに実行させるためのプログラムであり、
前記データモデルは、少なくとも前記機械を構成している各物理的要素又は前記機械の各種管理要素をそれぞれノードとして表現したデータ構造を有し、前記各物理的要素又は前記各種管理要素に対応した前記ノードには、前記第１機械情報が割り当てられることを特徴とする機械システム。
【請求項４４】
機械と通信可能に接続された機械制御用のコンピュータに作業ソフトウェアとともに搭載されるベースソフトウェアであって、
前記機械から前記コンピュータに出力される、前記機械に固有の第１機械情報を受信することと、
前記機械のカテゴリに対応するデータモデルに基づいて、前記第１機械情報を、前記作業ソフトウェアに固有の第２機械情報に変換することと、
前記第２機械情報を前記作業ソフトウェアに出力することと、
を前記コンピュータのＣＰＵに実行させるための前記ベースソフトウェアであり、
前記データモデルは、少なくとも前記機械を構成している各物理的要素又は前記機械の各種管理要素をそれぞれノードとして表現したデータ構造を有し、前記各物理的要素又は前記各種管理要素に対応した前記ノードには、前記第１機械情報が割り当てられることを特徴とするベースソフトウェア。
【請求項４５】
少なくとも二つの機械と通信可能に接続された機械制御用のコンピュータに作業ソフトウェアとともに搭載されるベースソフトウェアであって、
前記機械の各々から前記機械の各々の識別情報に関連付けて前記コンピュータに出力される、前記機械の各々に固有の第１機械情報を受信することと、
前記機械のカテゴリに対応するデータモデルに基づいて、前記第１機械情報を、前記作業ソフトウェアに固有の第２機械情報に変換することと、
前記第２機械情報を前記機械の各々の識別情報に関連付けて前記作業ソフトウェアに出力することと、
を前記コンピュータのＣＰＵに実行させるための前記ベースソフトウェアであり、
前記データモデルは、少なくとも前記機械を構成している各物理的要素又は前記機械の各種管理要素をそれぞれノードとして表現したデータ構造を有し、前記各物理的要素又は前記各種管理要素に対応した前記ノードには、前記第１機械情報が割り当てられることを特徴とするベースソフトウェア。
【請求項４６】
機械と通信可能に接続された機械制御用のコンピュータに作業ソフトウェアとともに搭載されるベースソフトウェアであって、
前記機械から前記コンピュータに出力される、前記機械に固有の第１機械情報を受信することと、
前記機械のカテゴリに対応するデータモデルに基づいて、前記第１機械情報を、前記作業ソフトウェアに固有の第２機械情報に変換することと、
前記第２機械情報を前記作業ソフトウェアに出力することと、
前記作業ソフトウェアから、前記作業ソフトウェアに固有の第１指示情報を受信することと、
前記データモデルに基づいて、前記第１指示情報を、前記機械に固有の第２指示情報に変換することと、
前記第２指示情報を前記機械に送信することと、
を前記コンピュータのＣＰＵに実行させるための前記ベースソフトウェアであり、
前記データモデルは、少なくとも前記機械を構成している各物理的要素又は前記機械の各種管理要素をそれぞれノードとして表現したデータ構造を有し、前記各物理的要素又は前記各種管理要素に対応した前記ノードには、前記第１機械情報が割り当てられることを特徴とするベースソフトウェア。
【請求項４７】
少なくとも二つの機械と通信可能に接続された機械制御用のコンピュータに作業ソフトウェアとともに搭載されるベースソフトウェアであって、
前記機械の各々から前記機械の各々の識別情報に関連付けて前記コンピュータに出力される、前記機械の各々に固有の第１機械情報を受信することと、
前記機械のカテゴリに対応するデータモデルに基づいて、前記第１機械情報を、前記作業ソフトウェアに固有の第２機械情報に変換することと、
前記第２機械情報を前記機械の各々の識別情報に関連付けて前記作業ソフトウェアに出力することと、
前記作業ソフトウェアから前記機械の各々の識別情報に関連付けて出力される、前記作業ソフトウェアに固有の第１指示情報を受信することと、
前記データモデルに基づいて、前記第１指示情報を、前記機械に固有の第２指示情報に変換することと、
前記第２指示情報を該第２指示情報の対応する前記機械の各々に対して送信することと、を前記コンピュータのＣＰＵに実行させるための前記ベースソフトウェアであり、
前記データモデルは、少なくとも前記機械を構成している各物理的要素又は前記機械の各種管理要素をそれぞれノードとして表現したデータ構造を有し、前記各物理的要素又は前記各種管理要素に対応した前記ノードには、前記第１機械情報が割り当てられることを特徴とするベースソフトウェア。
【請求項４８】
請求項４４から請求項４７のいずれか一項に記載のベースソフトウェアを記録したコンピュータ読取可能な記録媒体。
【請求項４９】
少なくとも機械を構成している各物理的要素又は該機械の各種管理要素をそれぞれノードとして表現したデータ構造であって、前記各物理的要素又は前記各種管理要素に対応した前記ノードには、少なくとも前記各物理的要素又は前記各種管理要素に関する情報が割り当てられる、データ構造。
【請求項５０】
ベースソフトウェア及び作業ソフトウェアが搭載された機械制御用のコンピュータにより、少なくとも一つの機械を制御する機械制御方法であって、
前記コンピュータが、前記機械から出力される、前記機械の状態を示す前記機械に固有の第１機械情報を受信し、前記ベースソフトウェアにより、前記機械のカテゴリに対応するデータモデルに基づいて、前記第１機械情報を前記作業ソフトウェアに固有の第２機械情報に変換し、前記第２機械情報を前記作業ソフトウェアに出力し、
前記コンピュータが、前記第２機械情報を入力情報として使用する前記作業ソフトウェアを実行することを含み、
前記データモデルは、少なくとも前記機械を構成している各物理的要素又は前記機械の各種管理要素をそれぞれノードとして表現したデータ構造を有し、前記各物理的要素又は前記各種管理要素に対応した前記ノードには、前記第１機械情報が割り当てられることを特徴とする機械制御方法。
【請求項５１】
ベースソフトウェア及び作業ソフトウェアが搭載された機械制御用のコンピュータにより、少なくとも一つの機械を制御する機械制御方法であって、
前記コンピュータが、前記機械から出力される、前記機械の状態を示す前記機械に固有の第１機械情報を受信し、前記ベースソフトウェアにより、前記機械のカテゴリに対応するデータモデルに基づいて、前記第１機械情報を前記作業ソフトウェアに固有の第２機械情報に変換し、前記第２機械情報を前記作業ソフトウェアに出力し、
前記コンピュータが、前記作業ソフトウェアに従って、前記第２機械情報を基に、前記作業ソフトウェアに固有の第１指示情報を作成し、前記ベースソフトウェアにより、前記データモデルに基づいて、前記第１指示情報を前記機械に固有の第２指示情報に変換し、前記第２指示情報を前記機械に送信することを含み、
前記データモデルは、少なくとも前記機械を構成している各物理的要素又は前記機械の各種管理要素をそれぞれノードとして表現したデータ構造を有し、前記各物理的要素又は前記各種管理要素に対応した前記ノードには、前記第１機械情報が割り当てられることを特徴とする機械制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械と相互通信可能に接続される機械制御用コンピュータ、機械システム、ベースソフトウェア、コンピュータ読取可能な記録媒体、データ構造、及び機械制御方法に関する。
【背景技術】
【０００２】
従前より、生産計画を行う生産計画装置によって、製造する製品、製品数、納期、使用する機械、及び製造工程などが計画されている。そして、生産計画装置によって立案された製造計画に基づいて、製造現場の作業者が、工作機械や産業用ロボットなどの機械を稼働させていた。また、製造現場の作業者が、機械の操業情報、製品の製造実績などを生産計画装置に送ることにより、品質管理、工程管理等を行ってきた。
【０００３】
例えば、品目オブジェクト、作業オブジェクトを用いて工程情報を作成し、工程情報と資源オブジェクトから割付け情報を作成する方法がある（例えば、特許文献１参照。）。
【０００４】
また、工作機械又は測定装置の機器情報をあらかじめ設定された周期で定期的に収集し、収集された機器情報を収集時刻と関係付けてデータベースに蓄積し、外部装置に送信する方法がある（例えば、特許文献２参照。）。
【０００５】
近年、市場ニーズの多様化、製品ライフサイクルの短期化、グローバル市場における競争の激化により、製品品種が増大するとともに、販売量の変動が増大している。そのため、市場の要求にダイナミックに連動して製品を製造できるように、変種変量生産に対応することが求められている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開第２００７／１０５２９８号
【特許文献２】特開２００４−６２２７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
そこで、複数の機械を一つの製造セルとしてまとめて、工程毎に製造セル単位で製造を行うセル生産方式が提案されている。セル生産方式では、一つの製造セルで複数の品種を生産することが可能であり、生産量に合わせて製造セルの数を増減させることも可能であり、製造する品種の変化に合わせて製造セル内の構成を変更することも可能である。
【０００８】
さらに、生産計画指示を生産計画装置からインターネット通信を介して受信しつつ、製製造現場における複数の機械をイントラネット通信を介して制御するセル制御装置が開発されている。このようなセル制御装置によれば、製造現場から離れた場所に在る生産計画装置からの指示により各機械を稼働させ、各機械から各種の情報をリアルタイムに自動収集して一元的に管理できるようになる、と期待されている。
【０００９】
前述のようなセル制御装置においては、専用の作業ソフトウェアをセル制御装置に組込み、各機械とセル制御装置とを通信可能に相互接続し、機械毎の作業動作を実行できるようにする事が考えられている。この場合、セル制御装置のベースソフトウェアと作業ソフトウェアと各機械との間で情報を受渡せるようにする必要がある。このとき、セル制御装置に組込まれた作業ソフトウェアを管理できることも必要とされる。
【００１０】
したがって本発明の目的は、上述のような実情に鑑み、ベースソフトウェアと作業ソフトウェアと各機械との間での情報の受渡しとその情報の受渡しの管理を行える機械システムを提供することにある。
【課題を解決するための手段】
【００１１】
本開示の一態様は、ベースソフトウェア及び作業ソフトウェアが搭載され、機械と通信可能に接続される機械制御用のコンピュータであって、
前記ベースソフトウェアは、
前記機械から出力される前記機械に固有の第１機械情報を受信することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である第１通信部と、
前記作業ソフトウェアに固有の第２機械情報を前記作業ソフトウェアに送信することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である第２通信部と、
前記機械のカテゴリに対応するデータモデルに基づいて前記第１機械情報を前記第２機械情報に変換することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である情報変換部と、を含み、
前記作業ソフトウェアは、前記第２機械情報を入力情報として使用するプログラムであり、
前記データモデルは、少なくとも前記機械を構成している各物理的要素又は前記機械の各種管理要素をそれぞれノードとして表現したデータ構造を有し、前記各物理的要素又は前記各種管理要素に対応した前記ノードには、前記第１機械情報が割り当てられることを特徴とするコンピュータでありうる。
その他の態様は、ベースソフトウェア及び作業ソフトウェアが搭載され、少なくとも二つの機械と通信可能に接続される機械制御用のコンピュータであって、
前記ベースソフトウェアは、
前記機械の各々から前記機械の各々の識別情報に関連付けて出力される、前記機械の各々に固有の第１機械情報を受信することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である第１通信部と、
前記作業ソフトウェアに固有の第２機械情報を前記機械の各々の識別情報に関連付けて前記作業ソフトウェアに送信することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である第２通信部と、
前記機械のカテゴリに対応するデータモデルに基づいて前記第１機械情報を前記第２機械情報に変換することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である情報変換部と、を含み、
前記作業ソフトウェアは、前記第２機械情報を入力情報として使用するプログラムであり、
前記データモデルは、少なくとも前記機械を構成している各物理的要素又は前記機械の各種管理要素をそれぞれノードとして表現したデータ構造を有し、前記各物理的要素又は前記各種管理要素に対応した前記ノードには、前記第１機械情報が割り当てられることを特徴とするコンピュータでありうる。
さらに、その他の態様は、ベースソフトウェア及び作業ソフトウェアが搭載され、機械と通信可能に接続される機械制御用のコンピュータであって、
前記ベースソフトウェアは、
前記機械から出力される前記機械に固有の第１機械情報を受信することと、前記機械に指示する前記機械に固有の第２指示情報を前記機械に送信することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である第１通信部と、
前記作業ソフトウェアに固有の第１指示情報を前記作業ソフトウェアから受信することと、前記作業ソフトウェアに固有の第２機械情報を前記作業ソフトウェアに送信することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である第２通信部と、
前記機械のカテゴリに対応するデータモデルに基づいて前記第１機械情報を前記第２機械情報に変換することと該データモデルに基づいて前記第１指示情報を前記第２指示情報に変換することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である情報変換部と、を含み、
前記作業ソフトウェアは、前記第２機械情報に基づいて前記第１指示情報を作成して出力することを前記コンピュータのＣＰＵに実行させるためのプログラムであり、
前記データモデルは、少なくとも前記機械を構成している各物理的要素又は前記機械の各種管理要素をそれぞれノードとして表現したデータ構造を有し、前記各物理的要素又は前記各種管理要素に対応した前記ノードには、前記第１機械情報が割り当てられることを特徴とするコンピュータでありうる。
さらに、その他の態様は、ベースソフトウェア及び作業ソフトウェアが搭載され、少なくとも二つの機械と通信可能に接続される機械制御用のコンピュータであって、
前記ベースソフトウェアは、
前記機械の各々から前記機械の各々の識別情報に関連付けて出力される、前記機械の各々に固有の第１機械情報を受信することと、前記機械に固有の第２指示情報を前記機械の各々に対して送信することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である第１通信部と、
前記作業ソフトウェアから前記機械の各々の識別情報に関連付けて出力される、前記作業ソフトウェアに固有の第１指示情報を受信することと、前記作業ソフトウェアに固有の第２機械情報を前記機械の各々の識別情報に関連付けて前記作業ソフトウェアに送信することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である第２通信部と、
前記機械のカテゴリに対応するデータモデルに基づいて前記第１機械情報を前記第２機械情報に変換することと該データモデルに基づいて前記第１指示情報を前記第２指示情報に変換することを前記コンピュータのＣＰＵに実行させるためのプログラム部分である情報変換部と、を含み、
前記機械は、前記機械の状態を前記第１機械情報として前記コンピュータに出力する機能、及び、前記第２指示情報に基づき、前記機械が行うべき作業動作を決定する機能を有し、
前記作業ソフトウェアは、前記機械の各々の識別情報に関連付けて入力される前記第２機械情報に基づいて前記機械の各々への前記第１指示情報を作成して、前記機械の各々の識別情報に関連付けて出力することを前記コンピュータのＣＰＵに実行させるためのプログラムであり、
前記データモデルは、少なくとも前記機械を構成している各物理的要素又は前記機械の各種管理要素をそれぞれノードとして表現したデータ構造を有し、前記各物理的要素又は前記各種管理要素に対応した前記ノードには、前記第１機械情報が割り当てられることを特徴とするコンピュータでありうる。
【発明の効果】
【００１２】
上記の態様によれば、機械から受信した該機械の構成要素に関する第１機械情報を、該第１機械情報の元である構成要素の情報を含む第２機械情報に変換して作業ソフトウェアに送信できるので、作業ソフトウェアの処理（例えば分析や集計など）の迅速化が可能になる。また、ベースソフトウェアと作業ソフトウェアと各機械との間で情報の受渡しを行うことにより各機械の作業動作を実行させつつ、その受渡し時の情報を記憶し管理することができる。例えば、それら情報の受渡しを認証記録情報に基づいて制限することができる。また、例えば、作業ソフトウェアまたはベースソフトウェアについての料金の支払い情報を取得して通信部に出力することもできる。
【００１３】
添付図面に示される本開示の典型的な実施形態の詳細な説明から、本発明のこれらの目的、特徴および利点ならびに他の目的、特徴および利点がさらに明確になるであろう。
【図面の簡単な説明】
【００１４】
【図１】一実施形態による機械システムの構成を模式的に示した図である。
【図２】図１に示された管理パソコン及び機械のハードウェア構成を示した図である。
【図３】データモデルに基づいて第１機械情報を第２機械情報に変換する際の態様例を模式的に示した図である。
【図４】ＮＣ工作機械用データモデルの一例を示した図である。
【図５】図３に示される機械情報の変換処理が管理パソコンのＣＰＵにより実行されるための一構成例を示した図である。
【図６】図５とは別の構成例を示した図である。
【図７】図５又は図６に示された構成例による管理パソコンの、機械情報の変換手順を含む動作フローを示すフローチャートである。
【図８】指示情報の変換処理が管理パソコンのＣＰＵにより実行されるための一構成例を示した図である。
【図９】図８とは別の構成例を示した図である。
【図１０】図８又は図９に示された構成例による管理パソコンの、指示情報の変換手順を含む動作フローを示すフローチャートである。
【図１１】ロボット用データモデルの一例を示した図である。
【図１２】図１１のデータモデルに基づいて第２機械情報を生成するときの動作の一例を説明するためのフローチャートである。
【図１３】図１２を参照して説明した動作の様子を模式的に示した図である。
【図１４】モータの電流値の情報を作業ソフトウェアに送る際の情報変換動作の一例を示すフローチャートである。
【図１５】ＮＣ工作機械用データモデルの他の例を示した図である。
【図１６】ロボット用データの他の例を示した図である。
【発明を実施するための形態】
【００１５】
次に、本開示の実施形態について図面を参照して説明する。参照する図面において、同様の部材や機能部分には同様の参照符号が付けられている。理解を容易にするために、これらの図面は縮尺を適宜変更している。また、図面に示される形態は本発明を実施するための一つの例であり、本発明は図示された形態に限定されるものではない。
【００１６】
図１は、一実施形態による機械システムの構成を模式的に示した図である。
図１を参照すると、本実施形態の機械システム１０は、二つの機械１１、１２と、これら機械１１、１２と通信可能に接続された機械管理用パーソナルコンピュータ（以下、管理パソコンと略記する。）２５と、を備える。管理パソコン２５にはベースソフトウェア１３及び作業ソフトウェア１４が搭載されている。但し、図１においては、二つの機械１１、１２が図示されているが、少なくとも一つの機械が有ればよい。
【００１７】
ベースソフトウェア１３は、機械１１、１２の各々から出力される第１機械情報を受信することと、第２指示情報を機械１１、１２の各々に送信することを管理パソコン２５のＣＰＵ（不図示）に実行させるためのプログラム部分である第１通信部１５を含む。さらに、ベースソフトウェア１３は、第１指示情報を作業ソフトウェア１４から受信することと、第２機械情報を作業ソフトウェア１４に送信することを管理パソコン２５のＣＰＵに実行させるためのプログラム部分である第２通信部１６を含む。また、ベースソフトウェア１３は、上記の第１機械情報、第２機械情報、第１指示情報、及び第２指示情報を管理パソコン２５のメモリ（不図示）に記憶させることを管理パソコン２５のＣＰＵに実行させるためのプログラム部分である記憶処理部（不図示）も含む。本実施形態では上記のメモリは管理パソコン２５内に設けられているが、そのメモリが管理パソコン２５の外部に在ってもよい。
上述した第１機械情報及び第２機械情報は、機械１１、１２の状態を示す情報である。上述した第１指示情報及び第２指示情報は、機械１１、１２に与える指示内容を示す情報である。これら情報の具体例については後述する。
【００１８】
前述の機械１１、１２は、機械１１、１２の状態を上記の第１機械情報として管理パソコン２５に出力する機能、及び、上記の第２指示情報に基づき、機械１１、１２が行うべき作業動作を決定する機能を有する。つまり、機械１１、１２は第２指示情報を受けると、該第２指示情報の内容に応じた作業動作を実行する。機械１１、１２は互いにカテゴリの異なる機械であり、例えば、機械１１はＮＣ工作機械であり、機械１２は産業用ロボットである。あるいは、ＮＣ工作機械というカテゴリをより細分化して、機械１１がフライス盤であり、機械１２が旋盤であってもよい。産業用ロボットというカテゴリをより細分化して、機械１１が水平多関節ロボットであり、機械１２が垂直多関節ロボットであってもよい。
また、ＮＣ工作機械や産業用ロボットなどとは異なるカテゴリの機械、例えばＰＬＣやレーザ装置などの周辺デバイスが管理パソコン２５に接続されていてもよい。さらに、管理パソコン２５は、機械１１、機械１２及びその他の機械をそれぞれ一つ以上接続することもできる。
【００１９】
さらに、前述の作業ソフトウェア１４は、第２通信部１６により入力される上記の第２機械情報に基づいて、機械１１、１２の各々への上記の第１指示情報を作成して出力することを管理パソコン２５のＣＰＵに実行させるためのプログラムである。
【００２０】
特に、本実施形態において、第１通信部１５は、機械１１、１２の各々から機械１１、１２の各々の識別情報に関連付けて出力される第１機械情報を受信することと、第２指示情報を機械１１、１２の各々に送信することとを管理パソコン２５のＣＰＵに実行させるためのプログラム部分であるのが好ましい。さらに、上記の第２通信部１６は、第１指示情報を機械１１、１２の各々の識別情報に関連付けて作業ソフトウェア１４から受信することと、第２機械情報を機械１１、１２の各々の識別情報に関連付けて作業ソフトウェア１４に送信することを管理パソコン２５のＣＰＵに実行させるためのプログラム部分であるのが好ましい。各機械１１、１２の識別情報は、例えば、機械毎に割当てられた管理番号である。
【００２１】
さらに、管理パソコン２５のメモリは、上記の第１機械情報、第２機械情報、第１指示情報、及び第２指示情報を機械１１、１２の各々の識別情報に関連付けて記憶することができる。
さらに、機械１１、１２は、機械１１、１２の状態を第１機械情報として機械１１、１２の各々の識別情報に関連付けて管理パソコン２５に出力し、また上記の第２指示情報に基づき、機械１１、１２が行うべき作業動作を決定することができる。
そして、作業ソフトウェア１４は、第２通信部１６により機械１１、１２の各々の識別情報に関連付けて入力される第２機械情報に基づいて機械１１、１２の各々への第１指示情報を作成して、機械１１、１２の各々の識別情報に関連付けて出力することを管理パソコン２５のＣＰＵに実行させるためのプログラムでありうる。
【００２２】
図１に示された実施例の場合、管理パソコン２５は、機械１１、１２の各々から出力される、機械の状態を示す第１機械情報を受信し、ベースソフトウェア１３に従って、第１機械情報を第２機械情報に変換し、機械１１、１２の各々の第２機械情報を作業ソフトウェア１４に出力している。その後、管理パソコン２５は、作業ソフトウェア１４に従って、第２機械情報を基に第１指示情報を作成し、さらにベースソフトウェア１３に従って、第１指示情報を第２指示情報に変換し、第２指示情報を機械１１、１２の各々に送信している。
しかし本開示の態様において、前述のような第１指示情報及び第２指示情報の送信は必須ではない。つまり、作業ソフトウェア１４は、第２通信部１６により出力される第２機械情報、例えばＸＭＬ（Extensible Markup Language)形式又はＪＳＯＮ（JavaScript Object Notation）形式などの情報を入力情報として使用するプログラム、例えば分析ソフトや集計表示ソフト等といったアプリケーションソフトウェアでありうる。この場合、第１通信部１５は、機械１１、１２の各々から出力される第１機械情報、例えば数値データ又は文字列データ等を受信することを管理パソコン２５のＣＰＵに実行させることができればよい。一方、第２通信部１６は、第２機械情報を作業ソフトウェア１４に送信することを管理パソコン２５のＣＰＵに実行させることができればよい。
【００２３】
また、管理パソコン２５と各機械１１、１２との間で送受信される第１機械情報と第２指示情報は、機械１１、１２の各々に固有の情報、例えば数値データ又は文字列データ等である。一方、管理パソコン２５内においてベースソフトウェア１３と作業ソフトウェア１４との間で入出力される第２機械情報と第１指示情報は、作業ソフトウェア１４に固有の情報、例えばＸＭＬ形式又はＪＳＯＮ形式などの情報である。
このため、本実施形態のベースソフトウェア１３は、第１機械情報を第２機械情報に変換することと第１指示情報を第２指示情報に変換することを管理パソコン２５のＣＰＵに実行させるためのプログラム部分である情報変換部２３、をさらに含んでいる。
【００２４】
図２に示されるように、上述した機械１１、１２、及び管理パソコン２５は、バスを介して互いに接続されたメモリ、ＣＰＵ（control processing unit）、および通信制御部など、を備えたコンピュータシステムを用いて構成される。該メモリは、ＲＯＭ（read only memory)やＲＡＭ（random access memory）などを含む。本実施形態のベースソフトウェア１３及び作業ソフトウェア１４はそのような管理パソコン２５内のＲＯＭ又はＲＡＭに適宜に記憶される。前述した第１機械情報、第２機械情報、第１指示情報、及び第２指示情報を記憶する手段には上記のメモリが使用される。上述した第１通信部１５、第２通信部１６、及び情報変換部２３は、ＲＯＭ又はＲＡＭに記憶されるベースソフトウェア１３に含まれるプログラム部分（即ち、モジュール）である。これらプログラム部分に基づく動作または処理は、管理パソコン２５のＣＰＵがベースソフトウェア１３及び作業ソフトウェア１４の各々のモジュールを実行することよって達成される。
【００２５】
ここで、管理パソコン２５のＣＰＵが、ベースソフトウェア１３に従って、機械１１に固有の第１機械情報を、作業ソフトウェア１４に固有の第２機械情報に変換して作業ソフトウェア１４に出力する態様の一例を示す。図３はこの態様を模式的に示した図である。
図３に示されるように、工作機械、産業用ロボットなどの機械１１、１２や、周辺デバイス２６などが管理パソコン２５と通信可能に接続されていて、機械１１、１２や周辺デバイス２６の各々から管理パソコン２５に第１機械情報が出力されたとする。管理パソコン２５は、その第１機械情報に関連付けられた機械固有の識別情報から、第１機械情報はどの機械の情報であるかを認識できる。しかし、一台の機械１１から管理パソコン２５に送られてくる第１機械情報は一種類の情報であるとは限られない。
例えば、機械１１が、多系統制御を行える多軸のＮＣ工作機械であって、機械１１のＮＣ（numerical controller）が第２系統のプログラムに従って機械１１の第１軸を第１モータと第２モータで制御する場合には、第１モータと第２モータの電流値がそれぞれ第１機械情報として管理パソコン２５に送られてくる。さらに、上記のＮＣが第２系統のプログラムと同時並行して第１系統のプログラムを実行していれば、その第１系統で制御している軸ごとのモータの電流値もそれぞれ第１機械情報として管理パソコン２５に送られてくる。これら第１機械情報はどのモータの電流値であるかを示しているだけであるので、モータの電流値が機械１１のＮＣが実行したどの系統のプログラムで制御したどの軸に関するものであるかは容易に分からない。つまり、第１機械情報は、機械に固有の情報であり、構造化データ（所謂、定型データ）ではない。このような第１機械情報は、作業ソフトウェア１４が例えば機械情報の分析ソフト又は集計表示ソフト等である場合にはデータ分析として扱いにくい情報である。作業ソフトウェアで機械に固有の情報をリアルタイムに扱えるようにするためには、機械に固有の第１機械情報を、作業ソフトウェア１４に固有の第２機械情報に変換する必要がある。
【００２６】
そのため、本実施形態の管理パソコン２５のメモリには、カテゴリの異なる機械１１、機械１２及び周辺デバイス２６の各々について、ＮＣ工作機械、産業用ロボット及び周辺デバイスというカテゴリ別のデータモデル２７、２８、２９等が事前に記憶されている。図３では、ＮＣ工作機械である機械１１から出力された第１機械情報が、機械１１に対応するデータモデル２７に基づいて第２機械情報に変換される態様を示している。勿論、これは一例であり、カテゴリの異なる機械毎にそれぞれデータモデルが予め作成されて管理パソコン２５のメモリに記憶されている。なお、上述のデータモデルは、適宜に追加又は変更を行ってもよい。また、上記した機械１１、機械１２及び周辺デバイス２６とは異なるカテゴリの機械に対応するデータモデルも管理パソコン２５のメモリに事前に記憶されていてもよい。
【００２７】
図４は、ＮＣ工作機械である機械１１のデータモデルの一例を示した図である。前述したように機械１１が多軸のＮＣ工作機械である場合、データモデル２７は、図４に示されるように、少なくとも、該ＮＣ工作機械を構成している各物理的要素又は該ＮＣ工作機械の管理すべき各種管理要素をそれぞれノードとして表現したグラフ型のデータ構造を有する。図４のデータモデルにおいては、各物理的要素と各種管理要素とにそれぞれ対応する各ノードを識別する情報（以下、識別情報と呼ぶ）を文字名称としているが、文字名称に対応する識別番号（例えば図４では系統、軸及びモータ等に夫々割当てられた番号）としてもよい。本願でいう「物理的要素」とは、機械の構成要素のうち、物理的エネルギー（電気、熱、力など）で動作する装置類を指している。
ＮＣ工作機械を構成している各物理的要素の一例には、例えば表示器、ＮＣ、電源、アンプ、ＰＬＣ、スピンドル、送り軸、モータなどが挙げられる。一方、各種管理要素には、物理的要素に直接関係する、電流値、位置、トルクなどの情報と、物理的要素に直接関係しない、生産状況、稼働状態、品質情報、操作履歴などといった機械の各種管理要素が挙げられる。データモデル２７の構造は一例であって、グラフ型（ツリー型も含む）の他に、ネットワーク型のデータ構造であってもよい。
また、データモデル２７は、少なくとも物理的要素又は管理要素に対応するノードで構成されていればよい。すなわち、データモデル２７は、図４のように物理的要素及び管理要素に対応するノードのみで構成されている必要はなく、例えば、物理的要素又は管理要素のいずれか一方に対応するノードのみで構成されていてもよい。また、物理的要素や種管理要素とは別の要素に対応するノードや、何ら要素に対応していない空白ノードなどがデータモデル２７に適宜含まれていてもよい。
【００２８】
ＮＣ工作機械である機械１１から管理パソコン２５が第２系統の第１軸の第１モータの電流値を受信した場合、管理パソコン２５のＣＰＵは、ベースソフトウェア１３に従って、図４に示されたデータモデル２７を参照することにより、その受信した“第１モータの電流値”という第１機械情報を、“機械１１／ＮＣ／第２系統／第１軸／第１モータ／電流値”というように、電流値の元である機械構成要素の情報を含む第２機械情報に変換する。この情報変換動作に関しては、後でロボットを例にして詳述する。
このような変換処理により、機械１１から出力された電流値の情報は機械１１のＮＣが実行した第２系統のプログラムで制御した第１軸の第１モータに関する電流値であることが明確に分かるようになる。つまり、機械１１、１２からの第１機械情報を作業ソフトウェア１４で容易に扱えるようにするために、第１機械情報を、この第１機械情報と第１機械情報を派生させた全ての要素を示す情報とを含む定型の情報（所謂、構造化データ）に変換することができる。
上記では、第１機械情報及び第２機械情報の一部としてモータの電流値を示したが、本発明はそれに限定されない。第１機械情報及び第２機械情報の一部は、例えば、機械１１、１２の使用時間、振動値、発熱温度、音量、及び各機械１１、１２の位置情報などの情報を含んでいてもよい。
【００２９】
以上のように、管理パソコン２５は、ベースソフトウェア１３の情報変換部２３に従って第１機械情報を第２機械情報に変換するときに、管理パソコン２５のメモリに記憶された機械のカテゴリ別のデータモデル２７〜２９に基づいて変換を行うようになされている。
図５は、図３に示される機械情報の変換処理が管理パソコン２５のＣＰＵ３０により実行されるための一構成例を示した図であり、図６は図５とは別の構成例を示した図である。記憶部１７は、前述した管理パソコン２５のメモリ内の或る記憶領域とする。図７は、図５又は図６に示された構成例による管理パソコン２５の、機械情報の変換手順を含む動作フローを示すフローチャートである。
図７に示されるように、図５又は図６の管理パソコン２５が第１機械情報を受信すると（ステップＳ１１）、管理パソコン２５のＣＰＵ３０は、受信した第１機械情報に関連付けられている機械の識別情報を基に、当該機械に対応するデータモデルを管理パソコン２５のメモリ内（図５や図６の記憶部１７）から特定し（ステップＳ１２）、特定したデータモデルに基づいて第１機械情報を第２機械情報に変換し（ステップＳ１３）、第２機械情報を作業ソフトウェア１４に出力する（ステップＳ１４）。ステップＳ１４においては、第２機械情報は特定した機械の識別情報と関連付けて作業ソフトウェア１４に出力されるのが好ましい。以上のような動作は、ベースソフトウェア１３の情報変換部２３を管理パソコン２５のＣＰＵ３０に実行させることにより実現される。
【００３０】
以上では機械情報の変換について述べたが、指示情報の変換も同様に行うことができる。つまり、管理パソコン２５は、ベースソフトウェア１３の情報変換部２３に従って第１指示情報を第２指示情報に変換するときにも、管理パソコン２５のメモリに記憶された機械のカテゴリ別のデータモデル２７〜２９に基づいて変換を行うようになされている。
図８は、指示情報の変換処理が管理パソコン２５のＣＰＵ３０により実行される一構成例を示した図であり、図９は図８とは別の構成例を示した図である。図１０は、図８又は図９に示された管理パソコン２５の、指示情報の変換手順を含む動作フローを示すフローチャートである。
図１０に示されるように、図８又は図９の管理パソコン２５のＣＰＵ３０が、作業ソフトウェア１４に従って、第２機械情報を基に第１指示情報を作成する（ステップＳ２１）。このとき、作成された第１指示情報においても、機械固有の識別情報を関連付けておくのが好ましい。さらに、管理パソコン２５のＣＰＵ３０は、作成された第１指示情報に関連付けられている機械の識別情報を基に、当該機械に対応するデータモデルを管理パソコン２５のメモリ内（図８や図９の記憶部１７）から特定する（ステップＳ２２）。管理パソコン２５は、特定したデータモデルに基づいて第１指示情報を第２指示情報に変換し（ステップＳ２３）、特定したデータモデルに対応する機械に対して、第２指示情報を送信する（ステップＳ２４）。以上のような動作は、ベースソフトウェア１３の情報変換部２３を管理パソコン２５のＣＰＵに実行させることにより実現される。
前述した多軸のＮＣ工作機械の例で言えば、どの機械に備わる何の機器にどのような作業内容を指示するかを示す第１指示情報、例えば“機械１１／ＮＣ／第２系統／第１軸／第１モータ／電流指令値”を、データモデル２７に基づいて第２指示情報、例えば“電流指令値”に変換して、この電流指令値を、機械１１におけるＮＣの第２系統の第１軸を駆動する第１モータに電力を供給するアンプに対して出力することができる。
【００３１】
なお、図５及び図８の各構成例においては、管理パソコン２５は、接続された機械１１をこの機械１１とは異なるカテゴリの機械１２（ロボット）、あるいは機械１１と同じカテゴリの機械１１（工作機械）と交換できるようになっている。また、図６及び図９の構成例のように、管理パソコン２５には複数の機械、例えば二つの機械１１（工作機械）と一つの機械１２（ロボット）とが接続されてもよい。このように、管理パソコン２５には１つ以上の機械を接続することができる。管理パソコン２５は、接続されている機械をこの機械と同じカテゴリ又は別のカテゴリの機械と交換することや、接続されている機械の他にこの機械と同じカテゴリ又は別のカテゴリの機械を追加的に接続することもできる。
このため、接続の可能性がある、カテゴリの異なる機械１１及び機械１２などについて、それぞれ、管理パソコン２５の記憶部１７にデータモデル２７、２８などが記憶されている。
【００３２】
さらに、管理パソコン２５に対して交換もしくは接続される複数の機械１１（工作機械）または複数の機械１２（ロボット）は同一カテゴリの機械であっても、機械を構成している物理的要素が機械毎に異なる場合がある。さらに、機械が管理する生産状況や故障状況などの各種管理要素も機械毎に異なっている場合もある。
このため、データモデル２７、２８などの各々は、交換もしくは接続が想定される同一カテゴリの全ての機械に対して共有可能な共有データモデルとなっている。図４に機械１１のデータモデル２７としてＮＣ工作機械用データモデルを例示したが、図４のデータモデルも、上記のような共有データモデルとして作成されている。図１１は、ロボットである機械１２のデータモデル２８の一例を示した図である。図１１のロボット用データモデルもまた、管理パソコン２５に対して交換もしくは接続が想定される全てのロボットに対して共有可能な共有データモデルとして作成されている。
【００３３】
さらに、ロボットである機械１２のデータモデル２８は、図１１に示されるように、少なくとも、該ロボットを構成している各物理的要素又は該ロボットの管理すべき各種管理要素をそれぞれノードとして表現したグラフ型のデータ構造を有する。データモデル２８の構造は一例であって、グラフ型（ツリー型も含む）の他に、ネットワーク型のデータ構造であってもよい。図１１のデータモデルにおいては、各物理的要素と各種管理要素とにそれぞれ対応する各ノードを識別する識別情報を文字名称としているが、文字名称に対応する識別番号（例えば図１１ではロボットのグループ、軸及びモータ等に夫々割当てられた番号）としてもよい。
図１１のロボット用データモデルに表現されている「グループ」とは、ロボットに関する各種動作の区分をいう。ロボットに関する動作の種類には、ロボット本体の各軸の動作、ロボット本体に取付けられたツールの各軸の動作、ロボット本体を移動可能に設置する走行台車の各軸の動作などがあり、このような各種動作がグループ分けされている。
【００３４】
さらに、図１１のロボット用データモデル（データモデル２８）や前述した図４のＮＣ工作機械用データモデル（データモデル２７）においては、ノードに対して、該ノードに対応する各物理的要素又は各種管理要素に生じる情報（本実施形態では第１機械情報）を割り当てできるようになっている。
例えば図１１のデータモデル２８において、グループ１の軸１の第１モータに対応する末端のノード３１に、現在位置、電流値、及びトルクなどの各情報を割り当てることができる（図１３の符号３２のブランク（空白部）を参照）。勿論、他のノード（内部ノード又は葉ノード等）にも各種情報を割り当てることができる。
データモデル２８もまた、少なくとも物理的要素又は管理要素に対応するノードで構成されていればよい。すなわち、データモデル２８は、図１１のように物理的要素及び管理要素に対応するノードのみで構成されている必要はなく、例えば、物理的要素又は管理要素のいずれか一方に対応するノードのみで構成されていてもよい。また、物理的要素や種管理要素とは別の要素に対応するノードや、何ら要素に対応していない空白ノードなどがデータモデル２８に適宜含まれていてもよい。
【００３５】
図１２は、図１１のデータモデルに基づいて第２機械情報を生成するときの動作の一例を説明するためのフローチャートである。
図１２の動作フローを開始するに際して、図５又は図６に示されるような管理パソコン２５は、機械１２（ロボット）のグループ１における軸１の第１モータの電流値を第１機械情報として受信したとする。これにより、ベースソフトウェア１３の情報変換部２３が、データモデル２８（図１１）に基づいてグループ１における軸１の第１モータの電流値を格納すること（ステップＳ３０）をＣＰＵ３０に命令する。
【００３６】
次のステップＳ３１において、ＣＰＵ３０は、記憶部１７内のデータモデル２８（図１１参照）に対し、グループ１（第一ロボットグループ）に対応するノードを探す。つまり、ＣＰＵ３０は、データモデル２８を構成している各ノードが、グループ１（第一ロボットグループ）に対応するノードであるか否かを順次判定する。グループ１に対応するノードが見つかるまで、その判定は繰返される（ステップＳ３１〜ステップＳ３２）。
【００３７】
上記ステップＳ３１においてグループ１のノードが特定されたら、次のステップＳ３３において、ＣＰＵ３０は、データモデル２８（図１１参照）に対し、グループ１の軸１に対応するノードを探す。ＣＰＵ３０は、グループ１に対応するノードに従属されている各ノードが、軸１（第一軸）に対応するノードであるか否かを順次判定する。その軸１に対応するノードが見つかるまで、その判定は繰返される（ステップＳ３３〜ステップＳ３４）。
【００３８】
上記ステップＳ３３においてグループ１の軸１のノードが特定されたら、次のステップＳ３５において、ＣＰＵ３０は、データモデル２８（図１１参照）に対し、グループ１の軸１の第１モータに対応するノードを探す。ＣＰＵ３０は、グループ１の軸１に対応したノードに従属している各ノードが、第１モータに対応するノードであるか否かを順次判定する。その第１モータに対応するノードが見つかるまで、その判定は繰返される（ステップＳ３５〜ステップＳ３６）。
【００３９】
以上のステップＳ３１〜ステップＳ３６の処理により、ＣＰＵ３０は、データモデル２８（図１１参照）における、グループ１の軸１の第１モータに対応するノードを特定することができる。続いて、ＣＰＵ３０は、この特定したノードに従属するブランク（図１３の符号３２参照）に電流値のデータを格納する（ステップＳ３７）。
【００４０】
図１３は、前述の動作の様子を模式的に示した図である。なお、図１３は図１１のロボット用データモデルの一部を抜出した図であり、さらに図１３では、前述したようにロボットのグループ１における軸１の第１モータの電流値の情報を格納する前と後の様子を模式的に示している。
【００４１】
ロボットのグループ１における軸１の第１モータの電流値の情報（第１機械情報）が管理パソコン２５に入力される前は、図１３の（Ａ）に示されるように、その軸１の第１モータに対応するノード３１に従属するブランク３２には何もデータが格納されていない。他の全てのノードのブランク３２にもデータは入っていない。
これに対し、上記の電流値の情報が管理パソコン２５に入力されると、上述したステップＳ３１〜Ｓ３６の処理により、その電流値の情報（例えば１０ｍＡ）がブランク３２に格納される（図１３（Ｂ）参照）。
上記は一例であるので、もしロボットのグループ１における軸２の第２モータの電流値の情報が管理パソコン２５に入力されれば、その電流値の情報が、グループ１における軸２の第２モータに対応するノード３３に従属するブランク３２に格納されることになる。
このように図１１のデータモデルに基づいて生成された情報（即ち、第２機械情報）のデータ構造は、情報が格納されているブランク３２と情報が格納されていないブランク３２とが有るだけで、作業ソフトウェア１４側から見て図１１のデータモデルのデータ構造と実質的に変わらない。つまり、作業ソフトウェア１４にとって分析や集計などの処理を行いやすい定型のデータ構造となっている。
【００４２】
また、データモデルに基づいて第１機械情報を第２機械情報に変換するときの動作について説明する。ここでは、代表例として、ロボットである機械１２から出力されるモータの電流値の情報を作業ソフトウェア１４に送る際の情報変換動作について述べる。図１４は、この代表例による情報変換動作の一例を示すフローチャートである。
【００４３】
図１４の動作フローを開始するに際して、図５又は図６に示されるような管理パソコン２５に、ロボットのグループ１における軸１の第１モータの電流値の情報（第１機械情報）が入力されたとする。このとき、その電流値の情報は、図１３（Ｂ）に示されているように、ロボットのグループ１における軸１の第１モータに対応するノード３１に従属するブランク３２に格納される。ベースソフトウェア１３は、ブランク３２に格納されたモータの電流値の情報を第２機械情報に変換して作業ソフトウェア１４に送ること（ステップＳ４０）をＣＰＵ３０に命令する。
【００４４】
次のステップＳ４１において、ＣＰＵ３０は、記憶部１７内のデータモデル２８（図１１参照）に対し、グループ１における軸１の第１モータの電流値の情報を対象とするロボットグループの番号が有るか否かを判定する。この判定においてロボットグループの番号が有ると判定された場合、ＣＰＵ３０は、そのロボットグループの番号（本例ではグループ１）を記憶部１７に格納する（ステップＳ４２）。上記のステップＳ４１において上記ロボットグループの番号が無いと判定された場合、ＣＰＵ３０は、ステップＳ４０の処理を終了する。
【００４５】
次のステップＳ４３において、記憶部１７内のデータモデル２８（図１１参照）に対し、グループ１における軸１の第１モータの電流値の情報を対象とする軸の番号が有るか否かを判定する。この判定において軸の番号が有ると判定された場合、ＣＰＵ３０は、その軸の番号（本例では軸１）を記憶部１７に格納する（ステップＳ４４）。上記のステップＳ４３において上記の軸の番号が無いと判定された場合、ＣＰＵ３０は、ロボットグループの番号を更新し（ステップＳ４５）、再びステップＳ４１の判定を行う。
【００４６】
次のステップＳ４６において、記憶部１７内のデータモデル２８（図１１参照）に対し、グループ１における軸１の第１モータの電流値の情報を対象とするモータの番号が有るか否かを判定する。この判定においてモータの番号が有ると判定された場合、ＣＰＵ３０は、そのモータの番号（本例では１）を記憶部１７に格納する（ステップＳ４７）。上記のステップＳ４６において上記のモータの番号が無いと判定された場合、ＣＰＵ３０は、軸の番号を更新し（ステップＳ４８）、再びステップＳ４１の判定を行う。
【００４７】
次のステップＳ４９において、ＣＰＵ３０は、上記のステップＳ４２とステップＳ４４とステップＳ４７の各々にて取得したロボットグループ番号と軸番号とモータ番号と電流値とを一塊の情報にして作業ソフトウェア１４に送る。例えば、ＣＰＵ３０は、“ロボットのグループ１／軸１／第１モータ／電流値”というようなデータ列を作業ソフトウェア１４に送る。
次いで、ステップＳ５０において、ＣＰＵ３０は、モータの番号を更新し（ステップＳ５０）、再びステップＳ４１の判定を行う。
【００４８】
以上のステップＳ４１〜ステップＳ５０の処理により、ＣＰＵ３０は、データモデル２８（図１１のロボット用データモデル）に基づいて、ロボットのグループ１における軸１の第１モータの第１電流値という第１機械情報を、その電流値の元である機械構成要素の情報を含む第２機械情報に変換して、作業ソフトウェア１４に送ることができる。このため、作業ソフトウェア１４による処理速度（例えば分析や集計などの速度）を向上させることができる。
【００４９】
図１５はＮＣ工作機械用データモデルの他の例を示した図である。図１６はロボット用データの他の例を示した図である。図４に示したＮＣ工作機械用データモデルは図１５に示されるようなデータモデルであってもよく、図１１に示したロボット用データモデルは図１６に示されるようなデータモデルであってもよい。
例えば、図１５のＮＣ工作機械用データモデルでは、ＮＣ工作機械のコントーラと、コントローラＰＬＣ、コントーラセンサ、コントローラレーザ、ＣＮＣ軸、コントーラＣＮＣモータ、レーザ発振器、及びセンサなどと記載されているノードが、ＮＣ工作機械を構成する各物理的要素のノードである。それ以外のノードは、ＮＣ工作機械の管理すべき各種管理要素（例えば動作状態、生産状況、品質保守情報、操作履歴など）に対応するノードである。各図中の「１：１」の表記は親ノードと子ノードが１対１で対応している事を意味し、「１：ｎ」の表記は親ノードに対して複数の子ノードが有る事を意味する。図１５中の点線は、親ノードに対応する物理的要素内に構成要素が有ることを表すための点線である。
なお、本実施形態のデータモデルは、図１５や図１６に示されるデータ構造のように、機械を構成する各物理的要素に対応する各ノードを行方向と列方向のうちの一方の方向（図の例では行方向）に配列し、該機械の各種管理要素に対応する各ノードを行方向と列方向のうちの他方の方向（図の例では列方向）に配列したデータ構造を有するものでもよい。図１５や図１６の各データモデルにおいても、図１３を参照して説明したようなブランク３２が所定のノードに対して存在している。
【００５０】
また、本実施形態の機械システム１０においては、機械１１、１２等は、例えば製品を製造する工場に配置されている。これに対して、ベースソフトウェア１３は、例えば、機械１１、１２等が配置された工場の敷地にある別の建屋内の管理パソコン２５に搭載されている。この場合には、該管理パソコン２５と各機械１１、１２等とは、イントラネット通信、例えばフィールドバス通信のネットワークを介して相互通信可能に接続されていることが好ましい。管理パソコン２５は機械制御用コンピュータである。さらに、管理パソコン２５は、例えば、工場から遠隔地に在る事務所内の上位コンピュータ２４（図２参照）とインターネットを介して相互通信可能に接続されていることが好ましい。上位コンピュータ２４は、例えば、上記の事務所において複数の機械１１、１２等による生産計画を作成し、それらの生産状況を管理する生産管理装置（Manufacturing Execution System：MES）である。
【００５１】
ベースソフトウェア１３及び作業ソフトウェア１４は、コンピュータ読取り可能な可搬型記録媒体から公知のセットアッププログラム等を用いて前述の管理パソコン２５にインストールされていることが好ましい。可搬型記録媒体は、例えばＣＤ−ＲＯＭ（compact disk read only memory）、ＤＶＤ−ＲＯＭ（digital versatile disk read only memory）などである。このような記録媒体にベースソフトウェア１３及び作業ソフトウェア１４をそれぞれ記録した場合には、管理パソコン２５は、それら記録媒体に対応するドライブ装置を備えているのが好ましい。また、ベースソフトウェア１３及び作業ソフトウェア１４は、管理パソコン２５とインターネット又はイーサネット（登録商標）などを介して接続された別のコンピュータ装置からダウンロードされてもよい。
本実施形態のベースソフトウェア１３は、一つの作業ソフトウェア１４だけでなく、処理内容の異なる複数の作業ソフトウェア１４を動作させる際の基盤、すなわちソフトウェアプラットフォームとなる。この場合、各作業ソフトウェア１４には、情報処理を行う対象とする機械に割当てた識別情報が事前に入力されており、各作業ソフトウェア１４は、その機械の識別情報に基づいて第２機械情報を取得するようにプログラミングされているのが好ましい。これにより、複数の作業ソフトウェア１４が管理パソコン２５に搭載された場合でも、管理パソコン２５は、第２機械情報に関連付けられている機械の識別情報から、当該第２機械情報が、どの作業ソフトウェア１４が処理の対象としている機械の情報であるかを認識することができる。
【００５２】
また、ベースソフトウェア１３は、前述した第１通信部１５、第２通信部１６、及び情報変換部２３だけを含むのではない。以下に説明するような判断部、第３通信部２０、第４通信部２２、課金処理部、版数管理部、などといった、管理パソコン２５内のＣＰＵに実行させるための様々な他のプログラム部分を含むのが好ましい。
具体的には、本実施形態の機械システム１０において、前述のベースソフトウェア１３は、作業ソフトウェア１４が適切であるか、または不適切であるかを判断することを管理パソコン２５のＣＰＵに実行させるためのプログラム部分である判断部（図示せず）を更に含み、その判断部において作業ソフトウェア１４が不適切であると判断された場合には第２通信部１６を管理パソコン２５内のＣＰＵに実行させないようにすることが好ましい。この場合、前述の作業ソフトウェア１４は、作業ソフトウェア１４の製造元情報と作業ソフトウェア１４の検査結果とに基づいた認証記録情報１８を含むのが好ましい。例えば、作業ソフトウェア１４のメーカは、作成した作業ソフトウェア１４を管理パソコン２５と同一のコンピュータシステムに実際に組込んで検査し、その検査の結果が良好である場合には安全な製品として承認する。メーカは、承認済みである旨の情報を製造元の情報と一緒に作業ソフトウェア１４に記録する。このときに記録した情報が前述の認証記録情報１８となりうる。なお、上記承認は、作業ソフトウェア１４のメーカの検査結果に応じて、ベースソフトウェア１３のメーカ等が行ってもよい。
このような構成において、作業ソフトウェア１４からベースソフトウェア１３に入力される第１指示情報の一部は、認証記録情報１８である。そして、ベースソフトウェア１３は、上記の判断部において認証記録情報１８が不適切であると判断された場合、例えば製造元が不明であったり、承認済みである旨の情報が無かったりした場合には第２通信部１６を管理パソコン２５内のＣＰＵに実行させないようにすることが好ましい。このことにより、作業ソフトウェア１４が不適切である場合には、管理パソコン２５のハードウェアインターフェイス部である通信制御部（図示せず）を機能させないようにすることができる。つまり、作業ソフトウェア１４が未承認のものであるときは、ベースソフトウェア１３は、作業ソフトウェア１４とベースソフトウェア１３との間で機械情報や指示情報の受渡しを行わないように機能する。
【００５３】
また、ベースソフトウェア１３及び作業ソフトウェア１４の少なくともいずれか一方は、ベースソフトウェア１３及び作業ソフトウェア１４の少なくともいずれか一方の使用状況に基づいて課金を行う処理、つまり使用料金をユーザに払わせるようにする処理を管理パソコン２５内のＣＰＵに実行させるプログラム部分である課金処理部を更に含むことが好ましい。この課金処理部は、ベースソフトウェア１３及び作業ソフトウェア１４の少なくともいずれか一方についての使用料金の支払いが済んでいるか否かを判定する処理を管理パソコン２５内のＣＰＵに実行させることを含むのが好ましい。
さらに、上記の課金処理部は、ベースソフトウェア１３及び作業ソフトウェア１４の少なくともいずれか一方について、起点からの使用期間を監視し、所定の期間ごとに、料金の支払い情報を生成して第１通信部１５に出力することを管理パソコン２５内のＣＰＵに実行させるためのプログラム部分であるのが好ましい。ここでいう料金の支払い情報とは、ベースソフトウェア１３及び作業ソフトウェア１４の少なくともいずれか一方の使用料金の支払いが済んでいるか否かを管理パソコン２５内のＣＰＵが判定するのに必要な情報である。例えば、管理パソコン２５の製造会社または、その製造会社が委託した納金受付会社もしくは納金受付会社の納金機などに対して使用料金を納めたことと引換えに得られる納金証明コード、あるいは、その製造会社が指定するクレジット会社のクレジットカードの番号、などを管理パソコン２５に入力することをユーザに行わせるための情報が、支払情報となる。
このような構成によれば、例えば、第１通信部１５は、ベースソフトウェア１３や作業ソフトウェア１４についての料金の支払い情報を基に、各機械１１、１２等に対する情報の受渡しを制御するといった処理を管理パソコン２５のＣＰＵに実行させることができる。例えば、料金の支払いの有無を判定できる納金証明コードなどが管理パソコン２５に入力されていなければ、管理パソコン２５は各機械１１、１２等に対する通信の停止や減速を行う。
【００５４】
さらに、ベースソフトウェア１３は、図１に示されるように、表示機１９などの外部機器と通信することを管理パソコン２５のＣＰＵに実行させるためのプログラム部分である第３通信部２０を更に含むことが好ましい。この構成においては、上記の課金処理部は、ベースソフトウェア１３及び作業ソフトウェア１４の少なくともいずれか一方について、起点からの使用期間を監視し、所定の期間ごとに、料金の支払い情報を生成して第３通信部２０に出力することを管理パソコン２５内のＣＰＵに実行させるためのプログラム部分であることが好ましい。
このような構成によれば、例えば、第３通信部２０は、ベースソフトウェア１３や作業ソフトウェア１４についての料金の支払い情報を基に、料金未納の警告メッセージを表示機１９に表示させるといった処理を管理パソコン２５のＣＰＵに実行させることができる。例えば、使用料金の支払いの有無を判定できる納金証明コードなどが管理パソコン２５に入力されていなければ、管理パソコン２５は、料金の支払を確認できない旨のメッセージを表示機１９に表示させる。
【００５５】
なお、前述のように監視される起点は、例えば、ベースソフトウェア１３及び作業ソフトウェア１４の少なくともいずれか一方のインストールタイミングである。あるいは、そのような起点は、ベースソフトウェア１３及び作業ソフトウェア１４の少なくともいずれか一方の購入日であってもよい。
また、前述した課金処理部は、ベースソフトウェア１３及び作業ソフトウェア１４の少なくともいずれか一方の起点からの使用期間に応じて課金を行うことを管理パソコン２５に実行させているが、本発明はこれに限定されない。
例えば、上記の課金処理部は、ベースソフトウェア１３及び作業ソフトウェア１４の少なくともいずれか一方の起点からの使用期間が所定の期間内であれば、使用料金を発生させないことを管理パソコン２５に実行させてもよい。
あるいは、上記の課金処理部は、ベースソフトウェア１３及び作業ソフトウェア１４の少なくともいずれか一方に対して予め定められた固定料金の支払い状況に応じて、ベースソフトウェア１３及び作業ソフトウェア１４の少なくともいずれか一方の使用期間を決定することを管理パソコン２５に実行させてもよい。例えば、ベースソフトウェア１３に対して固定の使用料、例えば月額や年額が定められているとする。ベースソフトウェア１３及び作業ソフトウェア１４の実行が開始されるときに、ベースソフトウェア１３に定められた固定の使用料の支払いの有無を判定できる情報、例えば納金証明コードが管理パソコン２５に入力されていれば、管理パソコン２５は、機械１１、１２等との通信を無期限または所定の期間で許可する。
あるいは、上記の課金処理部は、ベースソフトウェア１３及び作業ソフトウェア１４の少なくともいずれか一方に関する情報通信量を監視し、この情報通信量に応じて課金を行うといった処理を管理パソコン２５に実行させてもよい。この場合、管理パソコン２５は、複数の機械１１、１２等との間で通信される第１機械情報及び第２指示情報の少なくともいずれか一方の通信量を取得し、この通信量を基に料金を計算し、この料金の支払い状況に応じて機械１１、１２等との通信を制御できるようになる。
あるいは、上記の課金処理部は、各機械１１、１２から出力された第１機械情報をベースソフトウェア１３に従って処理したときの情報処理量、及びベースソフトウェア１３から出力された第２機械情報を作業ソフトウェア１４に従って処理したときの情報処理量の少なくともいずれか一方を監視し、この情報処理量に応じて課金を行うといった処理を管理パソコン２５に実行させてもよい。
あるいは、上記の課金処理部は、ベースソフトウェア１３及び作業ソフトウェア１４の少なくともいずれか一方の実行回数をカウントし、この実行回数に応じて課金を行うといった処理を管理パソコン２５に実行させてもよい。
あるいは、上記の課金処理部は、管理パソコン２５に接続された機械の数を認識し、認識した機械の数に応じて課金を行うといった処理を管理パソコン２５に実行させてもよい。この場合、接続された機械の数は、機械１１、１２等を通信接続するために管理パソコン２５に設けられた複数の通信接続端子の通電状況から認識されうる。
あるいは、上記の課金処理部は、管理パソコン２５に対してユーザとして登録された人数を認識し、認識したユーザの人数に応じて課金を行うといった処理を管理パソコン２５に実行させてもよい。この場合、管理パソコン２５は、ログイン画面に入力されるユーザ名とパスワードに基づき、管理パソコン２５のユーザの人数を認識すればよい。
【００５６】
また、前述のような機械システム１０において、ベースソフトウェア１３は、ベースソフトウェア１３及び作業ソフトウェア１４の少なくともいずれか一方の版数（バージョン番号）を管理することを管理パソコン２５のＣＰＵに実行させるためのプログラム部分である版数管理部を更に含むのが好ましい。この場合、機械システム１０は、図１に示されるように、ベースソフトウェア１３及び作業ソフトウェア１４の少なくともいずれか一方の最新版数を記録する記憶部２１を更に具備するのが好ましい。この構成においては、ベースソフトウェア１３は、記憶部２１と相互通信して記憶部２１の内容を確認することを管理パソコン２５のＣＰＵに実行させるためのプログラム部分である第４通信部２２を更に含むことが好ましい。さらに、上記の版数管理部は、記憶部２１に記録されるベースソフトウェア１３及び作業ソフトウェア１４の少なくともいずれか一方の最新版数が、その一方のソフトウェア（１３、１４）における現状の版数より進んだものである場合に、その最新版数を第１通信部１５または第３通信部２０に出力するといった処理を管理パソコン２５のＣＰＵに実行させるのが好ましい。
【００５７】
さらに、ベースソフトウェア１３及び作業ソフトウェア１４の少なくともいずれか一方は、ベースソフトウェア１３及び作業ソフトウェア１４の少なくともいずれか一方のライセンス認証を行うことを管理パソコン２５のＣＰＵに実行させるためのプログラム部分を更に含むことが好ましい。例えば、ベースソフトウェア１３又は作業ソフトウェア１４が管理パソコン２５にインストールされた後、それぞれのソフトウェアごとに決められた期間または起動回数に達する前に、管理パソコン２５は、各ソフトウェアに固有のＩＤ、例えばプロダクトキー又はデジタル証明書を管理パソコン２５に入力することをユーザに行わせるための情報を表示機１９に表示する。プロダクトキー又はデジタル証明書は、ベースソフトウェア１３及び作業ソフトウェア１４に対する料金の支払いと引換えに発行されるのが好ましい。管理パソコン２５は、表示された情報に従ってユーザにより入力されたソフトウェア固有のＩＤを確認し、さらにライセンス条項の同意を確認できた場合にのみ、ライセンス認証が完了したと判断するようになされている。ライセンス認証が完了しない間は、ベースソフトウェア１３又は作業ソフトウェア１４の機能は停止または制限される。また、ベースソフトウェア１３及び作業ソフトウェア１４の各々に対して複数のライセンスを与えた場合には、各ソフトウェアについてインストール又は実行の回数をカウントし、回数が所与のライセンス数を超えたならばベースソフトウェア１３又は作業ソフトウェア１４の機能を停止または制限するのが好ましい。
【００５８】
さらに、ベースソフトウェア１３及び作業ソフトウェア１４の少なくともいずれか一方は、コピーを規制する機能を更に含むことが好ましい。例えば、ベースソフトウェア１３又は作業ソフトウェア１４を管理パソコン２５外の他のコンピュータにコピーすると、コピーしたベースソフトウェア１３又は作業ソフトウェア１４は暗号化され、復号キーが無ければ他のコンピュータはコピーしたベースソフトウェア１３又は作業ソフトウェア１４を起動できないようにするのが好ましい。コピー回数を規制する機能がベースソフトウェア１３及び作業ソフトウェア１４に含まれていてもよい。あるいは、ベースソフトウェア１３及び作業ソフトウェア１４自体に、管理パソコン２５にベースソフトウェア１３及び作業ソフトウェア１４が保存されているか否かを判断して、それらソフトウェアの少なくとも一方が管理パソコン２５に保存されていなければ実行不能にする機能が含まれていてもよい。
【００５９】
さらに、ベースソフトウェア１３及び作業ソフトウェア１４の少なくともいずれか一方は、前述の第３通信部２０を介して外部機器１９に出力される情報に広告情報を付けることを管理パソコン２５のＣＰＵに実行させるためのプログラム部分を含むのが好ましい。これにより、管理パソコン２５の製造会社は自社の製品を管理パソコン２５のユーザに広告することができるようになる。
【００６０】
さらに、ベースソフトウェア１３及び作業ソフトウェア１４の少なくともいずれか一方は、パーソナルアシスタントを管理パソコン２５のＣＰＵに実行させるためのプログラム部分を含む。パーソナルアシスタントの一例として、ユーザが機械１１から必要な機械情報を管理パソコン２５に収集したい場合に、ユーザが機械１１、１２等からの情報のうち必要な情報を管理パソコン２５に要求すると、その必要な情報のみを収集して管理パソコン２５から出力できることが好ましい。また、パーソナルアシスタントの機能として、管理パソコン２５に接続されたマイクに人が話しかけると、管理パソコン２５がその話し言葉を理解して音声又は文字等の出力で答えることも有りうる。
【００６１】
さらに、ベースソフトウェア１３は、管理パソコン２５に接続されたデバイス、例えば機械１１、機械１２、周辺デバイス２６などの認証を行うことを管理パソコン２５のＣＰＵに実行させるためのプログラム部分を含むのが好ましい。例えば、管理パソコン２５は、デバイスと通信接続する通信接続端子の通電状況から、デバイスが接続されたことを検出できる。接続の検出に伴い、管理パソコン２５は、デバイスから固有の識別情報、例えばＭＡＣアドレス（Media access control address）を受信し、受信したＭＡＣアドレスが管理パソコン２５内に予め登録されているかを判断するようにする。受信したＭＡＣアドレスが管理パソコン２５内に登録されていれば、管理パソコン２５は、接続された機械１１、１２等のデバイスとの通信を行えるようにする。
【００６２】
さらに、機械システム１０は、管理パソコン２５とインターネットを介して接続された上位コンピュータ２４を備えているのが好ましい（図２参照）。この場合、ベースソフトウェア１３の第２通信部１６は、上位コンピュータ２４からの指令に応じて前述の第１機械情報、第２機械情報、又はこれら第１機械情報又は第２機械情報に係る情報を上位コンピュータ２４にアップロードする処理を管理パソコン２５のＣＰＵに実行させることを含むのが好ましい。さらに、第２通信部１６は、上位コンピュータ２４からの指令に応じて上位コンピュータ２４内のデータ又はプログラムを管理パソコン２５にダウンロードする処理を管理パソコン２５のＣＰＵに実行させることを含むのが好ましい。
【００６３】
さらに、管理パソコン２５には、前述した第２機械情報を基に機械学習を行うことを管理パソコン２５のＣＰＵに実行させるための機械学習ソフトウェアが搭載されることが好ましい。機械学習は、深層学習、強化学習などである。前述したように、第２機械情報は定型の情報（構造化データ）であるため、機械学習においても扱いやすい。
この場合も、ベースソフトウェア１３の第２通信部１６は、上位コンピュータ２４からの指令に応じて、機械学習の実施後のデータ、例えば学習済みモデルを上位コンピュータ２４にアップロードする処理を管理パソコン２５のＣＰＵに実行させることを含むのが好ましい。さらに、第２通信部１６は、上位コンピュータ２４からの指令に応じて、上位コンピュータ２４において修正又は作成された機械学習用のデータ又はプログラムを管理パソコン２５にダウンロードする処理を管理パソコン２５のＣＰＵに実行させることを含むのが好ましい。
【００６４】
以下に、管理パソコン２５と機械１１、１２等の各々との間で授受される第１機械情報及び第２指示情報と、ベースソフトウェア１３と作業ソフトウェア１４との間で授受される第２機械情報及び第１指示情報とについて、具体例を示す。
【００６５】
上記の第１機械情報及び第２機械情報の一部は、例えば、機械１１、１２等の使用時間、モータの電流値、振動値、発熱温度、及び音量のうちの少なくとも一つに関する情報である。また、上記の第１指示情報及び第２指示情報の一部は、機械１１、１２等に対する停止指示もしくは減速指示、及び警告表示の少なくともいずれか一方に関する情報である。これらの情報をベースソフトウェア１３に対して受渡せることにより、ベースソフトウェア１３は各機械１１、１２の異常を検知することができる。
【００６６】
さらに、上記の第１機械情報は、機械１１、１２等の位置情報、例えばロボットアームの先端部の位置などを含んでいてもよい。この場合、上記の第２指示情報の一部は、機械１１、１２等の相対位置が、あらかじめ設定された距離以下となった場合に、動作優先順位下位の機械に対する停止指示によって機械同士の干渉を回避させるための機械１１、１２等の動作指示情報であるのが好ましい。これらの情報をベースソフトウェア１３に対して受渡せることにより、ベースソフトウェア１３は機械１１、１２同士の干渉を防ぐことができる。
【００６７】
さらに、上記の第１機械情報は、機械１１、１２等の作業受付情報及び作業完了情報を含んでいてもよい。この場合、上記の第２指示情報の一部が、あらかじめ機械１１、１２等に記憶された作業についての、内容の選択、作業順序、機械１１、１２等の起動、及び機械１１、１２等の停止のうちの少なくとも一つを含む作業指示情報であるのが好ましい。このような情報をベースソフトウェア１３に対して受渡せることにより、ベースソフトウェア１３は各機械１１、１２での作業中の状態を管理することができる。
【００６８】
さらに、上記の第１機械情報は、機械１１、１２等の作業対象物の状態を示す情報を含んでいてもよい。この場合、上記の第２指示情報の一部は、それら作業対象物の状態に応じて機械１１、１２等の動作を変えるための動作変更指示情報であるのが好ましい。このような情報をベースソフトウェア１３に対して受渡せることにより、ベースソフトウェア１３は、各機械１１、１２の作業対象物の状態に応じて各機械１１、１２の動作を是正、補完または検査することができる。
【００６９】
さらに、上記の第１機械情報は、機械１１、１２等の予定動作情報を含んでいてもよい。この場合、上記の第２指示情報の一部は、機械１１、１２等の予定動作が適切か、または不適切かを判断した結果であるのが好ましい。このような情報をベースソフトウェア１３に対して受渡せることにより、ベースソフトウェア１３は、機械１１、１２等の動作シミュレーションの結果を確認することができる。
【００７０】
なお、各機械１１、１２は、工作機械や産業用ロボットに限られず、ＰＬＣ（Programmable Logic Controller）、搬送機、計測器、試験装置、プレス機、圧入器、印刷機、ダイカストマシン、射出成型機、食品機械、包装機、溶接機、洗浄機、塗装機、組立装置、実装機、木工機械、シーリング装置又は切断機などであってもよい。
【００７１】
また、前述の各記憶部１７、２１は、例えば、ＲＡＭ（Random Access Memory）といったメモリ装置、ハードディスクといった固定ディスク装置、または、磁気テープ装置、磁気ディスク装置、光ディスク装置、などである。
【００７２】
以上に説明したように、本実施形態の機械システム１０によれば、ベースソフトウェア１３と作業ソフトウェア１４と各機械１１、１２との間で情報の受渡しを行うことにより各機械の作業動作を実行させつつ、その受渡し時の情報を記憶し管理することができる。例えば、それら情報の受渡しを、作業ソフトウェア１４に含まれている認証記録情報に基づいて制限することができる。また、作業ソフトウェア１４またはベースソフトウェア１３についての料金の支払い情報を第１通信部１５や第３通信部２０に出力することもできる。
【００７３】
以上、典型的な実施形態を用いて本発明を説明したが、当業者であれば、本開示の範囲から逸脱することなしに、上述の実施形態に変更および種々の他の変更、省略、追加を行うことができるのを理解できるであろう。
【符号の説明】
【００７４】
１０    機械システム
１１、１２    機械
１３    ベースソフトウェア
１４    作業ソフトウェア
１５    第１通信部
１６    第２通信部
１７、２１    記憶部
１８    認証記録情報
１９    表示機
２０    第３通信部
２２    第４通信部
２３    情報変換部
２４    上位コンピュータ
２５    管理パソコン（機械制御用コンピュータ）
２６    周辺デバイス
２７〜２９    データモデル
３０    ＣＰＵ
３１、３３    ノード
３２    ブランク
【図１】
2018197946.tif 000003
【図２】
2018197946.tif 000004
【図３】
2018197946.tif 000005
【図４】
2018197946.tif 000006
【図５】
2018197946.tif 000007
【図６】
2018197946.tif 000008
【図７】
2018197946.tif 000009
【図８】
2018197946.tif 000010
【図９】
2018197946.tif 000011
【図１０】
2018197946.tif 000012
【図１１】
2018197946.tif 000013
【図１２】
2018197946.tif 000014
【図１３】
2018197946.tif 000015
【図１４】
2018197946.tif 000016
【図１５】
2018197946.tif 000017
【図１６】
2018197946.tif 000018