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

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

▶ ファナック株式会社の特許一覧

<>
  • 特許-産業機械制御システム 図1
  • 特許-産業機械制御システム 図2
  • 特許-産業機械制御システム 図3A
  • 特許-産業機械制御システム 図3B
  • 特許-産業機械制御システム 図4
  • 特許-産業機械制御システム 図5
  • 特許-産業機械制御システム 図6
  • 特許-産業機械制御システム 図7
  • 特許-産業機械制御システム 図8
  • 特許-産業機械制御システム 図9
  • 特許-産業機械制御システム 図10
  • 特許-産業機械制御システム 図11
  • 特許-産業機械制御システム 図12
  • 特許-産業機械制御システム 図13
  • 特許-産業機械制御システム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-03-31
(45)【発行日】2025-04-08
(54)【発明の名称】産業機械制御システム
(51)【国際特許分類】
   G05B 23/02 20060101AFI20250401BHJP
   G05B 13/04 20060101ALI20250401BHJP
【FI】
G05B23/02 G
G05B13/04
【請求項の数】 8
(21)【出願番号】P 2023550988
(86)(22)【出願日】2021-09-30
(86)【国際出願番号】 JP2021036347
(87)【国際公開番号】W WO2023053432
(87)【国際公開日】2023-04-06
【審査請求日】2024-04-05
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【弁理士】
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【弁理士】
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】石割 久輝
(72)【発明者】
【氏名】井上 友貴
【審査官】田中 友章
(56)【参考文献】
【文献】特開2010-271890(JP,A)
【文献】特開2006-215943(JP,A)
【文献】中国特許出願公開第109839901(CN,A)
【文献】特許第6915762(JP,B1)
【文献】特開2018-124929(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/02
G05B 13/04
(57)【特許請求の範囲】
【請求項1】
産業機械を制御する制御装置を含むリアル装置及び該リアル装置をソフトウェアにて模倣するデジタル装置からなる産業機械制御システムであって、
前記デジタル装置は、前記リアル装置において取得された動作状態データを前記デジタル装置に入力する入力部を備え、
前記動作状態データには、前記リアル装置の動作状態データと前記デジタル装置の動作状態データの差分データを含むとともに、
前記リアル装置から測定された動作状態データ、検出された動作状態データ、又は前記リアル装置内で作成された制御量の少なくともひとつを含み、
該入力部に入力された前記動作状態データにより、前記リアル装置を前記デジタル装置で模倣し、
前記デジタル装置は、前記差分データを入力することにより、前記リアル装置で実行されるプログラム又は前記リアル装置に設定されるパラメータを修正する、産業機械制御システム。
【請求項2】
前記動作状態データは、少なくとも信号処理速度、帰還量、CPU性能、消費電力、又はモータ温度のいずれかを含む、請求項に記載の産業機械制御システム。
【請求項3】
前記デジタル装置は、前記動作状態データが前記信号処理速度の場合、プログラムに含まれる命令毎の処理時間を用いて前記リアル装置の動作を再現する、請求項に記載の産業機械制御システム。
【請求項4】
前記デジタル装置は、前記動作状態データが前記帰還量の場合、少なくとも位置フィードバック、速度フィードバック、又は電流フィードバックの帰還量のいずれかを用いて前記リアル装置の動作を再現する、請求項に記載の産業機械制御システム。
【請求項5】
前記デジタル装置は、前記動作状態データが前記CPU性能の場合、前記制御装置の指令処理速度の限界値、及びプログラムのブロック長と前記指令処理速度との関係を示す情報を用いてプログラムを修正する、請求項に記載の産業機械制御システム。
【請求項6】
前記デジタル装置は、前記動作状態データが前記消費電力の場合、前記リアル装置に含まれるモータの送り速度又は主軸回転数と当該送り速度又は主軸回転数のときの消費電力との関係を用いてプログラムを修正する、請求項に記載の産業機械制御システム。
【請求項7】
前記デジタル装置は、前記動作状態データが前記モータ温度の場合、前記リアル装置に含まれるモータの回転数又は電流と、前記モータの回転時間と、前記モータのモータ温度と、の関係を示す情報を用いて前記モータに関するアラームの発生を再現する、請求項に記載の産業機械制御システム。
【請求項8】
前記デジタル装置は、修正した前記プログラムを前記リアル装置に送信する、請求項に記載の産業機械制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、産業機械制御システムに関する。
【背景技術】
【0002】
産業機械及びそれらを制御・駆動する制御装置やモータ、アンプ等の駆動装置とからなるリアル装置を、上記の産業機械、制御装置、駆動装置等の個々を理論値に基づいてモデル化したデジタルシミュレータは従来より開発されている。
また、そのデジタルシミュレータは、個々の装置をソフトウェア的に再現した構造になっているのが一般的である。
この点、プラントに設置されたフィールド機器を制御する制御機器を動作させるソフトウェアを作成及びデバッグし、模擬入力又は制御機器への入力とソフトウェアとに従って制御機器の作動状態をシミュレーションするクラウドを有し、シミュレーションの作動結果と制御機器からの出力又は模擬入力とに基づいてソフトウェアのデバッグすることで、高品位なエンジニアリングを提供可能な技術が知られている。例えば、特許文献1参照。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2020-52812号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1のようなデジタルシミュレータは、産業機械及びそれらを制御・駆動する制御装置やモータ、アンプ等の駆動装置とからなるリアル装置を個々に模擬・模倣するが、その模擬・模倣には限界があり、リアル装置の挙動を正確に再現することは難しい。
その理由は、リアル装置には、ソフトウェアで簡単に模擬できない要素、例えば、通信間の遅れ、機械的ロス、CPU(Central Processing Unit)の性能、周囲環境による変化等がその原因となる。
【0005】
そこで、リアル装置の挙動を示す動作状態データを用いて、より正確なリアル装置の状態を再現することが望まれている。
【課題を解決するための手段】
【0006】
本開示の産業機械制御システムの一態様は、産業機械を制御する制御装置を含むリアル装置及び該リアル装置をソフトウェアにて模倣するデジタル装置からなる産業機械制御システムであって、前記デジタル装置は、前記リアル装置において取得された動作状態データを前記デジタル装置に入力する入力部を備え、該入力部に入力された前記動作状態データにより、前記リアル装置を前記デジタル装置で模倣する。
【発明の効果】
【0007】
一態様によれば、リアル装置の挙動を示す動作状態データを用いて、より正確なリアル装置の状態を再現することができる。
【図面の簡単な説明】
【0008】
図1】一実施形態に係る産業機械制御システムの機能的構成例を示す機能ブロック図である。
図2】実際の信号処理速度を用いてラダー制御装置の動作を再現する場合の産業機械制御システムの動作例を示す図である。
図3A】ラダープログラムの命令の一例を示す図である。
図3B図3Aの命令のタイミングチャートの一例を示す図である。
図4】実際の帰還量を用いて工作機械の動作を再現する場合の産業機械制御システムの動作例を示す図である。
図5】実際の帰還量を用いて工作機械の動作を再現する場合の産業機械制御システムの動作例を示す図である。
図6】実際の数値制御装置のCPU性能に応じて加工プログラムを修正する場合の産業機械制御システムの動作例を示す図である。
図7】BPTminを測定するテスト用の加工プログラムの一例を示す図である。
図8】ブロック長-BPTの関係の一例を示す図である。
図9】シミュレーション実行部による加工プログラムの指令点を追加又は削除の一例を示す図である。
図10】実際の工作機械の消費電力に基づいて加工プログラムを修正する場合の産業機械制御システムの動作例を示す図である。
図11】送り速度(又は主軸回転数)-消費電力の関係の一例を示す図である。
図12】送り速度(又は主軸回転数)と総消費電力との関係の一例を示す図である。
図13】工作機械のモータ温度を用いてオーバーヒートアラームの発生を再現する場合の産業機械制御システムの動作例を示す図である。
図14】回転数(又は電流)毎に回転時間とモータ温度との関係の一例を示す図である。
【発明を実施するための形態】
【0009】
<一実施形態>
図1は、一実施形態に係る産業機械制御システムの機能的構成例を示す機能ブロック図である。ここでは、産業機械として工作機械を、また制御装置として数値制御装置を例示する。なお、本発明は、工作機械及び数値制御装置に限定されず、例えば射出成形機や産業用ロボット、サービス用ロボット等の産業機械、及び産業用ロボット等を制御するロボット制御装置に対しても適用可能である。
図1に示すように、産業機械制御システム1は、リアル装置としての工作機械10、及びデジタル装置20を含む。
工作機械10、及びデジタル装置20は、図示しない接続インタフェースを介して互いに直接接続されてもよい。なお、工作機械10、及びデジタル装置20は、LAN(Local Area Network)やインターネット等の図示しないネットワークを介して相互に接続されていてもよい。この場合、工作機械10、及びデジタル装置20は、かかる接続によって相互に通信を行うための図示しない通信部を備えている。
【0010】
<工作機械10>
工作機械10は、当業者にとって公知の工作機械であり、制御装置としての数値制御装置11、駆動装置12、周辺装置13、及び情報収集装置14を含む。工作機械10は、後述する数値制御装置11の動作指令に基づいて動作する。
なお、数値制御装置11、駆動装置12、周辺装置13、及び情報収集装置14それぞれは、工作機械10に含まれるが、工作機械10とは異なる装置でもよい。
【0011】
数値制御装置11は、当業者にとって公知の数値制御装置であり、例えば、図示しないCAD/CAM装置等から取得した加工プログラムに基づいて動作指令を生成し、生成した動作指令を工作機械10に送信する。これにより、数値制御装置11は、工作機械10の動作を制御する。なお、工作機械10がロボット等の場合、数値制御装置11は、ロボット制御装置等でもよい。
数値制御装置11は、工作機械10を制御している間、信号処理速度及びCPUの処理能力に関する情報や、電力量等の情報を動作状態データRとして後述する情報収集装置14に出力する。
【0012】
駆動装置12は、数値制御装置11の指令に基づいて、駆動装置12に含まれるアンプ(図示しない)を介して工作機械10に含まれる主軸用のモータ(図示しない)を駆動する。具体的には、駆動装置12は、例えば、図示しないエンコーダが検出した図示しないモータの位置及び速度を含む情報を信号としてフィードバックしながら、図示しないモータを駆動する。なお、図示しないモータは、工作機械の送り軸や主軸、あるいは産業機械、産業用ロボットのアーム等に用いられる各種モータに適用可能である。
駆動装置12は、図示しないアンプ及びモータを駆動している間、図示しないモータや機械の挙動に関する情報(例えば、速度やモータ温度等)を動作状態データRとして後述する情報収集装置14に出力する。
【0013】
周辺装置13は、ベルトコンベア等であり、数値制御装置11の指令に基づいて動作する。周辺装置13は、動作している間、温度等の周囲環境に関する情報を動作状態データRとして後述する情報収集装置14に出力する。
【0014】
情報収集装置14は、例えば、コンピュータ等であり、動作状態データR取得部141を含む。情報収集装置14は、CPU等の演算処理装置を備える。また、情報収集装置14は、アプリケーションソフトウェアやOS(Operating System)等の各種の制御用プログラムを格納したHDD(Hard Disk Drive)等の補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった主記憶装置も備える。
そして、情報収集装置14において、演算処理装置が補助記憶装置からアプリケーションソフトウェアやOSを読み込み、読み込んだアプリケーションソフトウェアやOSを主記憶装置に展開させながら、これらのアプリケーションソフトウェアやOSに基づいた演算処理を行なう。また、この演算結果に基づいて、情報収集装置14が備える各種のハードウェアを制御する。これにより、本実施形態の機能ブロックは実現される。すなわち、本実施形態は、ハードウェアとソフトウェアが協働することにより実現することができる。
【0015】
動作状態データR取得部141は、数値制御装置11、駆動装置12、及び周辺装置13それぞれから出力された動作状態データRを取得し、取得した動作状態データRを後述するデジタル装置20に出力する。
【0016】
なお、本実施形態に係る産業機械制御システム1では、情報収集装置14は、工作機械10に配置されたが、デジタル装置20に配置されてもよい。
【0017】
<デジタル装置20>
デジタル装置20は、例えば、コンピュータ等であり、入力部21、制御部22、及び記憶部23を含む。また、制御部22は、シミュレーション実行部220を含む。また、シミュレーション実行部220は、動作状態データ差分生成部221を含む。
【0018】
入力部21は、リアル装置としての工作機械10において取得された動作状態データRをデジタル装置20に入力する。
具体的には、入力部21は、例えば、工作機械10の情報収集装置14により取得された工作機械10の数値制御装置11、駆動装置12及び周辺装置13それぞれの動作状態データRをデジタル装置20に入力する。
【0019】
記憶部23は、RAMやHDD等であり、動作状態データR、動作状態差分データ231、及び動作状態データDが記憶される。
動作状態データRは、上述したように、工作機械10の情報収集装置14により取得された工作機械10の数値制御装置11、駆動装置12及び周辺装置13それぞれの動作状態データRである。
動作状態差分データ231は、数値制御装置11、駆動装置12及び周辺装置13それぞれの動作状態データRと、後述するシミュレーション実行部220によりシミュレーションされた数値制御装置11、駆動装置12及び周辺装置13それぞれの動作状態データDと、を後述する動作状態データ差分生成部221により差分されたデータである。
動作状態データDは、後述するシミュレーション実行部220によりシミュレーション(模倣)された数値制御装置11、駆動装置12及び周辺装置13それぞれの動作状態データDである。
【0020】
制御部22は、CPU、ROM、RAM、CMOS(Complementary Metal-Oxide-Semiconductor)メモリ等を有し、これらはバスを介して相互に通信可能に構成される、当業者にとって公知のものである。
CPUはデジタル装置20を全体的に制御するプロセッサである。CPUは、ROMに格納されたシステムプログラム及びアプリケーションプログラムを、バスを介して読み出し、システムプログラム及びアプリケーションプログラムに従ってデジタル装置20全体を制御する。これにより、図1に示すように、制御部22が、シミュレーション実行部220の機能を実現するように構成される。また、シミュレーション実行部220は、動作状態データ差分生成部221の機能を実現するように構成される。RAMには一時的な計算データや表示データ等の各種データが格納される。また、CMOSメモリは図示しないバッテリでバックアップされ、デジタル装置20の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。
【0021】
シミュレーション実行部220は、工作機械10で実行される加工プログラムに基づいて数値制御装置11、駆動装置12及び周辺装置13それぞれを動作させるシミュレーションを実行し、数値制御装置11、駆動装置12及び周辺装置13それぞれの動作及び/又は状態を示す動作状態データDを取得する。シミュレーション実行部220は、取得した数値制御装置11、駆動装置12及び周辺装置13それぞれの動作状態データDを記憶部23に記憶する。
【0022】
動作状態データ差分生成部221は、数値制御装置11、駆動装置12及び周辺装置13毎に動作状態データRと動作状態データDとを差分し、動作状態差分データ231を生成する。動作状態データ差分生成部221は、生成した数値制御装置11、駆動装置12及び周辺装置13それぞれの動作状態差分データ231を記憶部23に記憶する。
なお、本実施形態に係る産業機械制御システム1では、動作状態データ差分生成部221は、デジタル装置20に配置されたが、工作機械10の情報収集装置14に配置されてもよく、情報収集装置14及びデジタル装置20の両方に配置されてもよい。動作状態データ差分生成部221が情報収集装置14に配置される場合、デジタル装置20は、シミュレーション実行部220によりシミュレーションされた数値制御装置11、駆動装置12及び周辺装置13それぞれの動作状態データDを工作機械10の情報収集装置14に出力するようにしてもよい。
【0023】
次に、産業機械制御システム1の動作について、(A)実際の信号処理速度を用いて工作機械10の動作を再現する場合、(B)実際の帰還量を用いて工作機械10の動作を再現する場合、(C)実際の数値制御装置11のCPU性能に応じて加工プログラムを修正する場合、(D)実際の工作機械10の消費電力に基づいて加工プログラムを修正する場合、及び(E)工作機械10のモータ温度を用いてオーバーヒートアラームの発生を再現する場合をそれぞれ説明する。
【0024】
(A)実際の信号処理速度を用いてラダー制御装置の動作を再現する場合について
図2は、実際の信号処理速度を用いてラダー制御装置の動作を再現する場合の産業機械制御システム1の動作例を示す図である。
図2に示すように、工作機械10の数値制御装置11は、例えば、数値制御装置11と接続されたラダー制御装置(図示しない)にラダープログラムを工作機械10に実装し実行する。数値制御装置11は、工作機械10を制御している間の信号処理速度を測定し、測定した信号処理速度に関する情報を動作状態データRとして情報収集装置14に出力する。情報収集装置14は、数値制御装置11の動作状態データRをデジタル装置20に出力する。デジタル装置20は、工作機械10から取得した動作状態データRに含まれる信号処理速度に基づいて工作機械10と同じ実装時の信号処理速度に調整し、ラダープログラムをシミュレーションする。
【0025】
具体的には、数値制御装置11は、例えば、図示しないラダー制御装置がラダープログラムの各命令を実行すると、各命令の処理時間を信号処理速度として測定する。
図3Aは、ラダープログラムの命令の一例を示す図である。図3Bは、図3Aの命令のタイミングチャートの一例を示す図である。なお、図3Aに示す命令の場合について説明するが、他の命令についても図3Aの場合と同様に信号処理速度が測定される。
例えば、図示しないラダー制御装置が図3Aに示す数値制御装置11にデータの書き込む命令を実行した場合、数値制御装置11は、図示しないラダー制御装置が命令実行のACT信号を出力した時刻t1から、図示しないラダー制御装置で内部的に機能命令の処理が完了するまでの時刻t3までの時間tを当該命令の処理時間として測定する。なお、完了信号W1が返ってくる時刻t4から時刻t6は、次以降のラダー実行周期のため、数値制御装置11は、時刻t1から時刻t3の時間tを測定することにより、図示しないラダー制御装置の正確な処理時間を取得することができる。
数値制御装置11は、ラダープログラムに含まれる全ての命令の処理時間を動作状態データRの信号処理速度として、情報収集装置14を介してデジタル装置20に入力する。
【0026】
デジタル装置20は、デジタル装置20におけるラダープログラムの命令の処理時間を、入力された処理時間に合わせて補正する。これにより、デジタル装置20は、工作機械10と同じタイミングでラダープログラムを実行することができる。
換言すれば、従来は、シミュレータでロジックは再現出来ても、実際の処理速度(応答速度)まで再現できなかったため、実装時に信号タイミングに不具合が生じることがあったが、デジタル装置20は、信号処理速度をデジタル装置20へ入力することにより、正確な再現が可能となる。
【0027】
(B)実際の帰還量を用いて工作機械10の動作を再現する場合について
図4は、実際の帰還量を用いて工作機械10の動作を再現する場合の産業機械制御システム1の動作例を示す図である。
図4に示すように、工作機械10の数値制御装置11は、加工プログラムを実行することにより、加工プログラムのブロック毎に位置指令を生成とともに、生成した位置指令に基づいて速度指令を生成する。数値制御装置11は、生成した位置指令と工作機械10に含まれる主軸等の機械MAの実位置を示す位置フィードバック(帰還量)とから位置偏差を算出し、算出した位置偏差で位置指令を補正する。また、数値制御装置11は、生成した速度指令と駆動装置12が駆動するモータMOの実速度を示す速度フィードバック(帰還量)とから速度偏差を算出し、算出した速度偏差で速度指令を補正する。数値制御装置11は、補正した位置指令と速度指令とを駆動装置12に出力する。
また、数値制御装置11は、求めた速度偏差に、例えばPI(比例、積分)制御を施すことにより、電流指令(トルク指令)を生成してもよい。数値制御装置11は、生成した電流指令と駆動装置12がモータMOに出力する電流フィードバック(帰還量)との電流偏差で補正した電流指令を駆動装置12に出力してもよい。
【0028】
情報収集装置14は、数値制御装置11から位置指令、速度指令、電流指令とともに、位置フィードバック、速度フィードバック、電流フィードバックを動作状態データRとして取得する。情報収集装置14は、取得した数値制御装置11の動作状態データRをデジタル装置20に出力する。
【0029】
デジタル装置20のシミュレーション実行部220は、取得した動作状態データRと加工プログラムとに基づいて工作機械10のシミュレーションを実行する。
具体的には、シミュレーション実行部220は、例えば、加工プログラムに基づいて、駆動装置12をモデル化した駆動装置モデルM1、モータMOをモデル化したモータモデルM2、及び機械MAをモデル化した機械モデルM3を動作させ、駆動装置モデルM1からの電流フィードバック、モータモデルM2からの速度フィードバック、及び機械モデルM3からの位置フィードバックの帰還量を算出する。シミュレーション実行部220は、工作機械10から取得した動作状態データRに含まれる電流フィードバック、速度フィードバック、及び位置フィードバックの帰還量と、算出した電流フィードバック、速度フィードバック、及び位置フィードバックの帰還量と、を比較し、各フィードバックの帰還量の差分を入力することにより、位置制御、速度制御、及び電流制御をシミュレーションする。
そうすることで、デジタル装置20は、従来のシミュレータでは、実際のモータの挙動や機械の挙動に正確に合わせこむことが困難であったが、工作機械10とデジタル装置20との帰還量の差分をデジタル装置20に入力することにより、正確な再現が可能となる。
【0030】
なお、駆動装置モデルM1及びモータモデルM2は、例えば、国際公開第2020/003738号等の公知の手法を用いて作成される。また、機械モデルM3は、例えば、“NC工作機械の送り軸のための2慣性系モデルによる低周波振動抑制制御の研究”、2016年82 巻8 号p.745-750、精密工学会誌等の公知の手法を用いて作成される。
【0031】
また、図4では、産業機械制御システム1は、工作機械10とデジタル装置20との帰還量の差分をデジタル装置20に入力したが、これに限定されない。例えば、産業機械制御システム1は、工作機械10において取得された動作状態データRに含まれる数値制御装置11に対する電流フィードバック、速度フィードバック、及び位置フィードバックの帰還量を、デジタル装置20に直接入力してもよい。
図5は、実際の帰還量を用いて工作機械10の動作を再現する場合の産業機械制御システムの動作例を示す図である。なお、図4の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。また、デジタル装置20において、モータモデルM2、及び機械モデルM3は省略される。
そうすることで、従来のシミュレータでは、実際のモータの挙動や機械の挙動に正確に合わせこむことが困難であったが、産業機械制御システム1は、工作機械10の帰還量をデジタル装置20に入力することにより、より正確な再現が可能となる。
【0032】
(C)実際の数値制御装置11のCPU性能に応じて加工プログラムを修正する場合について
図6は、実際の数値制御装置11のCPU性能に応じて加工プログラムを修正する場合の産業機械制御システム1の動作例を示す図である。なお、図4の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
図6に示すように、数値制御装置11は、後述するように、数値制御装置11の指令処理速度(例えば、BPT:BlockProcessing Time)の限界値(最小値)であるBPTminを測定する。デジタル装置20は、情報収集装置14を介して数値制御装置11における加工プログラムのブロック長とBPTとの関係を示す情報と、BPTminとを含む動作状態データRを取得し、シミュレーション上において数値制御装置11のBPTminと合わせる。デジタル装置20は、シミュレーションを実行し、BPTminに達するか否かで余裕度合いを判定し、加工プログラムの指令点を追加/削除によって、数値制御装置11のBPTminに応じた加工プログラムに修正する。
【0033】
具体的には、数値制御装置11は、例えば、送り速度一定の条件でブロック長が変わるテスト用の加工プログラムを実行することで、工作機械10を運転し、BPTの限界値(BPTmin)を測定し、ブロック長-BPTの関係(関数)を取得する。
図7は、BPTminを測定するテスト用の加工プログラムの一例を示す図である。図7では、テスト用の加工プログラムの1ブロックを示す。
図7に示すように、数値制御装置11は、ブロック長-BPTの関係(関数)を取得するために、テスト用の加工プログラムのブロック長を所定の割合(例えば、1/10等)で変化させる等して減速が生じるまでのブロック長を小さくしブロック長の最小値を測定する。
図8は、ブロック長-BPTの関係の一例を示す図である。なお、BPT(s/block)は、ブロック長(mm/block)/送り速度(mm/ms)であり、数値制御装置11の性能を表す指標かつ数値制御装置11に含まれるCPU性能によって変化する。また、BPTminは、ブロック長の最小値/指令送り速度である。
図8に示すように、ブロック長がブロック長BL0まで短くなるに従い、BPTは減少する。ブロック長がブロック長BL0以下に短くなった場合、BPTは一定の値「α」となる。すなわち、BPTの最小値「α」が限界値でありBPTminとなる。
【0034】
情報収集装置14は、数値制御装置11により取得された図7のブロック長-BPTとの関係(関数)と、BPTminとを含む動作状態データRをデジタル装置20に出力する。
【0035】
デジタル装置20のシミュレーション実行部220は、シミュレーション上において加工プログラムを実行するときのBPTminを、動作状態データRに含まれるBPTminに合わせる。換言すれば、デジタル装置20のシミュレーションの方がBPTの限界値は小さくなる(より細かく、より高速にプログラムを処理できる)が、BPTminを工作機械10と合わせる。
そして、シミュレーション実行部220は、シミュレーションで加工プログラムを運転したときに、指令送り速度が出るか否か(すなわち、減速の有無)を判定し、判定結果によって加工プログラムの指令点を追加・削除して修正する。
例えば、シミュレーション実行部220は、指令送り速度が出る(減速しない)場合、加工プログラムに指令点を追加(ブロック長を小さく)し、指令送り速度が出ない(減速する)場合、加工プログラムから指令点を削除(ブロック長を大きく)する。
【0036】
図9は、シミュレーション実行部220による加工プログラムの指令点を追加又は削除の一例を示す図である。
図9の下段に示すように、シミュレーション実行部220は、指令送り速度が出ない(減速する)場合、加工プログラムから指令点を削除、すなわちブロック長を大きくすることで、指令送り速度が出るようにする。
一方、例えば、元々の加工プログラムにおいてブロック長0.1mmで指令送り速度が出る場合、シミュレーション実行部220は、ブロック長を0.05mmや0.01mm等に変化させた、すなわち指令点を追加した加工プログラムで再度シミュレーションする。シミュレーション実行部220は、ブロック長が0.05mmでは減速せず0.01mmでは減速する場合、図9の上段に示すように、ブロック長を0.05mmになるように加工プログラムに指令点を追加して修正する。
デジタル装置20は、修正した加工プログラムを工作機械10に送信する。
これにより、デジタル装置20は、従来のシミュレータでは、実際の数値制御の処理能力を考慮したものはなかったが、数値制御装置11の指令処理能力(BPT処理能力)をデジタル装置20に入力することにより、数値制御装置11の指令処理能力に応じて加工プログラムを最適化することができる。
【0037】
(D)実際の工作機械10の消費電力に基づいて加工プログラムを修正する場合について
図10は、実際の工作機械10の消費電力に基づいて加工プログラムを修正する場合の産業機械制御システム1の動作例を示す図である。なお、図4の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。また、図10では、駆動装置12の電流フィードバック、モータMOの速度フィードバック、及び機械MAの位置フィードバックの図示を省略する。
数値制御装置11は、後述するように、送り速度又は主軸回転数に応じた工作機械10の消費電力(速度毎の瞬間値)を測定し、送り速度又は主軸回転数-消費電力の関係(関数)を取得する。デジタル装置20は、情報収集装置14を介して数値制御装置11により測定された速度又は主軸回転数-消費電力の関係(関数)を含む動作状態データRを取得する。デジタル装置20は、実行するシミュレーションにおいて、取得した速度又は主軸回転数-消費電力の関係(関数)を駆動装置電力モデルM4として用いて加工プログラムの運転中に消費電力を積算することで工作機械10での総消費電力を算出する。デジタル装置20は、加工時間も含めた総消費電力が最小となる加工プログラムの送り速度又は主軸回転数を修正する。
【0038】
具体的には、数値制御装置11は、例えば、送り速度(又は主軸回転数)が変わるテスト用の加工プログラムを実行することで、工作機械10を運転し、送り速度(又は主軸回転数)毎に瞬間の消費電力を測定し、図11に示すように、送り速度(又は主軸回転数)-消費電力の関係(関数)を取得する。
情報収集装置14は、数値制御装置11により取得された図11の送り速度(又は主軸回転数)-消費電力の関係(関数)を含む動作状態データRをデジタル装置20に出力する。
【0039】
デジタル装置20のシミュレーション実行部220は、実行するシミュレーションにおいて、動作状態データRに含まれる送り速度(又は主軸回転数)-消費電力の関係(関数)を駆動装置電力モデルM4として用いて、シミュレーションで送り速度(又は主軸回転数)毎に加工プログラムを運転した場合の瞬間の消費電力を算出し加算することで運転中の総消費電力を算出する。
図12は、送り速度(又は主軸回転数)と総消費電力との関係の一例を示す図である。
図12に示すように、例えば、シミュレーション実行部220は、加工プログラムに設定された元々の送り速度がF2000[mm/min]の場合に、シミュレーションにより総消費電力を100Whと算出する。また、シミュレーション実行部220は、加工プログラムの送り速度がF1000[mm/min]、F1500[mm/min]、F3000[mm/min]それぞれに変化させた場合の総消費電力をシミュレーションにより80Wh、40Wh、60Whとそれぞれ算出する。
シミュレーション実行部220は、シミュレーション結果に基づいて、送り速度をF2000[mm/min]から消費電力が最小となるF1500[mm/min]に加工プログラムを修正する。
デジタル装置20は、修正した加工プログラムを工作機械10に送信する。
そうすることで、デジタル装置20は、従来のシミュレータでは、実際の電力量を理論的モデルだけで再現することは困難であったが、工作機械10で測定された電力波形をデジタル装置20に入力することにより、正確な電力シミュレーションの再現が可能となる。
【0040】
(E)工作機械10のモータ温度を用いてオーバーヒートアラームの発生を再現する場合について
図13は、工作機械10のモータ温度を用いてオーバーヒートアラームの発生を再現する場合の産業機械制御システム1の動作例を示す図である。なお、図4の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
数値制御装置11は、図4の場合と同様に、加工プログラムを実行することにより、位置指令、速度指令、電流指令とともに、位置フィードバック、速度フィードバック、電流フィードバックを動作状態データRとして取得する。さらに、数値制御装置11は、モータMOの回転数(又は電流)と、モータMOの回転時間と、モータMOに設けられた温度センサ(図示しない)により測定されたモータ温度と、の関係を示すモータMOをどの程度の時間回転させたかの情報も動作状態データRとして取得する。デジタル装置20は、情報収集装置14を介して数値制御装置11における動作状態データRを取得し、数値制御装置11により測定されたモータMOの回転数(又は電流)と、モータMOの動作時間と、モータMOのモータ温度と、の関係を使用して、モータモデルM2におけるモータ温度を補正することにより、オーバーヒートアラームの発生をシミュレーションする。
【0041】
具体的には、数値制御装置11は、例えば、回転数(又は電流)を変化させるテスト用の加工プログラムを実行することで、回転数(又は電流)毎に回転時間とモータ温度との関係を測定する。
図14は、回転数(又は電流)毎に回転時間とモータ温度との関係の一例を示す図である。図14では、加工プログラムにおいて回転数として「S1000」と「S10000」が指令されており、それぞれの回転時間とモータ温度との関係が測定される。なお、図14では、オーバーヒートアラームは発せられる閾値が予め設定されている。
【0042】
情報収集装置14は、数値制御装置11により取得されたモータMOの回転数(又は電流)及びモータMOの回転時間とともに、図14の回転時間-温度との関係(関数)を含む動作状態データRをデジタル装置20に出力する。
【0043】
デジタル装置20のシミュレーション実行部220は、取得した動作状態データRに含まれる回転時間-温度との関係(関数)から算出されるモータ温度と、モータモデルM2から算出されるモータ温度とを比較し差分を入力することにより、モータ温度を補正する。これにより、シミュレーション実行部220は、オーバーヒートアラームの発生を正確にシミュレーション(模倣)することができる。
換言すれば、デジタル装置20は、従来のシミュレータでは、実際のモータ温度を理論的モデルだけで再現することは困難であったが、工作機械10で測定されたモータ温度とデジタル装置20のモータ温度との差分をデジタル装置20に入力することにより、正確な温度シミュレーションの再現が可能となり、モータMOのオーバーヒートアラームの予防保全をすることが可能になる。
【0044】
なお、数値制御装置11は、モータMOの回転数(又は電流)及びモータMOの回転時間とともに、図14の回転時間-温度との関係(関数)を含むモータMOをどの程度の時間回転させたかの情報を取得し、情報収集装置14は、当該情報を含む動作状態データRをデジタル装置20に出力したが、これに限定されない。
例えば、数値制御装置11は、停止時のモータMOのモータ温度T0と、切削時のモータMOのモータ温度Tr1及び切削速度F1とを測定するだけでもよい。情報収集装置14は、数値制御装置11により測定された停止時のモータMOのモータ温度T0と、切削時のモータMOのモータ温度Tr1及び切削速度F1とをデジタル装置20に出力する。なお、モータの発熱は、モータの電流値と巻線抵抗とから理論発熱を計算できることから、停止時のモータMOのモータ温度T0に対する理論温度値は「0」度となる。また、切削時のモータMOのモータ温度Tr1に対する理論温度値はTd1と計算される。
【0045】
デジタル装置20シミュレーション実行部220は、測定されたモータ温度と理論温度値Td1との差分(Tr1-Td1-T0)(=ΔT)を算出する。
シミュレーション実行部220は、ΔTを速度0から切削速度F1まで直線的に比例分配して、実速度Fのときの温度Tが理論温度値Td1+T0+(ΔT/切削速度F1)×実速度Fと算出する。
なお、モータ温度T0には周囲温度、差分ΔTには機械摩擦による負荷や工具摩耗による負荷による発熱、及び物理定数(抵抗値)のバラツキによる製品の個体差による発熱が含まれており、デジタル装置20は、より正確なシミュレーションが可能となり、オーバーヒートアラームの発生を正確にシミュレーション(模倣)できる。
【0046】
以上により、一実施形態に係る産業機械制御システム1は、工作機械10の挙動を示す動作状態データをデジタル装置20に入力することによって、従来のシミュレータよりもより正確な工作機械10の状態を再現することができる。
また、産業機械制御システム1は、デジタル装置20で再現された精度良い情報を用いてシミュレーションを1回以上行うことにより、工作機械10に存在する制御に係る設定値や制御プログラムを精度よく短時間で修正できる。
【0047】
以上、一実施形態について説明したが、産業機械制御システム1は、上述の実施形態に限定されるものではなく、目的を達成できる範囲での変形、改良等を含む。
【0048】
<変形例1>
一実施形態では、工作機械10は、数値制御装置11、駆動装置12、周辺装置13、及び情報収集装置14を含んだが、これに限定されない。例えば、数値制御装置11、駆動装置12、周辺装置13、及び情報収集装置14それぞれは、工作機械10とは異なる装置でもよい。
また、数値制御装置11は、デジタル装置20を含んでもよい。
【0049】
<変形例2>
また例えば、一実施形態では、デジタル装置20は、測定されたモータMOのモータ温度と、シミュレーションされたモータモデルM2のモータ温度とを比較し差分をデジタル装置20に入力することにより、モータMOのオーバーヒートアラームの予防保全をしたが、これに限定されない。
例えば、動作状態データRは、工作機械10に含まれるボールねじ、ベアリング、主軸等の部品の運転時間、切削時間、主軸回転数等の稼働情報を含み、デジタル装置20は、取得した動作状態データRに含まれる稼働情報と、シミュレーションにより求めた稼働情報とを比較し差分をデジタル装置20に入力することにより、ボールねじ等の部品の交換時期をシミュレーションしてもよい。
【0050】
なお、一実施形態に係る産業機械制御システム1に含まれる各機能は、ハードウェア、ソフトウェア又はこれらの組み合わせによりそれぞれ実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【0051】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(Non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(Tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(Transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は、無線通信路を介して、プログラムをコンピュータに供給できる。
【0052】
なお、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0053】
以上を換言すると、本開示の産業機械制御システムは、次のような構成を有する各種各様の実施形態を取ることができる。
【0054】
(1)本開示の産業機械制御システム1は、工作機械10を制御する数値制御装置11を含むリアル装置及び該リアル装置をソフトウェアにて模倣するデジタル装置20からなる産業機械制御システムであって、デジタル装置20は、リアル装置において取得された動作状態データRをデジタル装置20に入力する入力部21を備え、入力部21に入力された動作状態データRにより、リアル装置をデジタル装置20で模倣する。
この産業機械制御システム1によれば、リアル装置の挙動を示す動作状態データを用いて、より正確なリアル装置の状態を再現することができる。
【0055】
(2) (1)に記載の産業機械制御システム1において、動作状態データには、リアル装置の動作状態データRとデジタル装置20の動作状態データDの差分データを含んでもよい。
そうすることで、産業機械制御システム1は、より正確な再現が可能となる。
【0056】
(3) (1)に記載の産業機械制御システム1において、動作状態データには、リアル装置から測定された動作状態データR、検出された動作状態データR、又はリアル装置内で作成された制御量の少なくともひとつを含んでもよい。
そうすることで、産業機械制御システム1は、(2)と同様の効果を奏することができる。
【0057】
(4) (2)に記載の産業機械制御システム1において、デジタル装置20は、差分データを入力することにより、リアル装置で実行されるプログラム又はリアル装置に設定されるパラメータを修正してもよい。
そうすることで、産業機械制御システム1は、産業機械の設計(アプリケーション開発)における設計効率を向上させることができ、産業機械の稼働(加工)における生産性を向上させることができる。
【0058】
(5) (1)から(4)のいずれかに記載の産業機械制御システム1において、動作状態データRは、少なくとも信号処理速度、帰還量、CPU性能、消費電力、又はモータ温度のいずれかを含んでもよい。
そうすることで、産業機械制御システム1は、状況に応じてリアル装置を正確に再現することができる。
【0059】
(6) (5)に記載の産業機械制御システム1において、デジタル装置20は、動作状態データRが信号処理速度の場合、プログラムに含まれる命令毎の処理時間を用いて工作機械10の動作を再現してもよい。
そうすることで、産業機械制御システム1は、工作機械10と同じタイミングでプログラムが実行可能となる。
【0060】
(7) (5)に記載の産業機械制御システム1において、デジタル装置20は、動作状態データRが帰還量の場合、少なくとも位置フィードバック、速度フィードバック、又は電流フィードバックの帰還量のいずれかを用いて工作機械10の動作を再現してもよい。
そうすることで、産業機械制御システム1は、実際の工作機械10のモータの挙動や機械の挙動に正確に合わせこむことができる。
【0061】
(8) (5)に記載の産業機械制御システム1において、デジタル装置20は、動作状態データRがCPU性能の場合、数値制御装置11の指令処理速度の限界値、及びプログラムのブロック長と前記指令処理速度との関係を示す情報を用いてプログラムを修正してもよい。
そうすることで、産業機械制御システム1は、実際の数値制御装置11の処理能力を考慮してプログラムを最適化することができる。
【0062】
(9) (5)に記載の産業機械制御システム1において、デジタル装置20は、動作状態データRが消費電力の場合、工作機械10に含まれるモータMOの送り速度又は主軸回転数と当該送り速度又は主軸回転数のときの消費電力との関係を用いてプログラムを修正してもよい。
そうすることで、産業機械制御システム1は、工作機械10の消費電力を精度良く再現することができる。
【0063】
(10) (5)に記載の産業機械制御システム1において、デジタル装置20は、動作状態データRがモータ温度の場合、工作機械10に含まれるモータMOの回転数又は電流と、モータMOの回転時間と、モータMOのモータ温度と、の関係を示す情報を用いてモータMOに関するアラームの発生を再現してもよい。
そうすることで、産業機械制御システム1は、モータMOに関するアラームの予防保全をすることが可能になる。
【0064】
(11) (8)又は(9)に記載の産業機械制御システム1において、デジタル装置20は、修正したプログラムを工作機械10に送信してもよい。
そうすることで、産業機械制御システム1は、工作機械10で実行されるプログラムを最適化することができる。
【符号の説明】
【0065】
1 産業機械制御システム
10 工作機械
11 数値制御装置
12 駆動装置
13 周辺装置
14 情報収集装置
20 デジタル装置
21 入力部
22 制御部
220 シミュレーション実行部
221 動作状態データ差分生成部
23 記憶部
R 動作状態データ
231 動作状態差分データ
D 動作状態データ
図1
図2
図3A
図3B
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14