特許第6963475号(P6963475)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ オークマ株式会社の特許一覧

<>
  • 特許6963475-稼働モニタリング装置及びプログラム 図000004
  • 特許6963475-稼働モニタリング装置及びプログラム 図000005
  • 特許6963475-稼働モニタリング装置及びプログラム 図000006
  • 特許6963475-稼働モニタリング装置及びプログラム 図000007
  • 特許6963475-稼働モニタリング装置及びプログラム 図000008
  • 特許6963475-稼働モニタリング装置及びプログラム 図000009
  • 特許6963475-稼働モニタリング装置及びプログラム 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6963475
(24)【登録日】2021年10月19日
(45)【発行日】2021年11月10日
(54)【発明の名称】稼働モニタリング装置及びプログラム
(51)【国際特許分類】
   G06N 5/04 20060101AFI20211028BHJP
   G05B 23/02 20060101ALI20211028BHJP
【FI】
   G06N5/04
   G05B23/02 V
【請求項の数】6
【全頁数】13
(21)【出願番号】特願2017-222491(P2017-222491)
(22)【出願日】2017年11月20日
(65)【公開番号】特開2019-95879(P2019-95879A)
(43)【公開日】2019年6月20日
【審査請求日】2020年8月11日
(73)【特許権者】
【識別番号】000149066
【氏名又は名称】オークマ株式会社
(74)【代理人】
【識別番号】110001210
【氏名又は名称】特許業務法人YKI国際特許事務所
(72)【発明者】
【氏名】加藤 寛大
【審査官】 川▲崎▼ 博章
(56)【参考文献】
【文献】 特開平03−277456(JP,A)
【文献】 特開2010−262627(JP,A)
【文献】 特開平08−202444(JP,A)
【文献】 特開2000−132221(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00− 3/12
G06N 7/08−99/00
G06N 5/00− 7/06
G05B 23/00−23/02
G05B 19/18−19/416
G05B 19/42−19/46
G05B 19/418
(57)【特許請求の範囲】
【請求項1】
機械の稼働状況をモニタリングする稼働モニタリング装置であって、
前記機械の稼働データを時系列で記録する記録部と、
前記稼働データから推論用データを生成する生成部と、
予め学習データを用いて学習され、前記推論用データを用いて前記機械の非稼働理由を推論する推論部と、
を備え、
前記稼働データは、前記機械で発生するイベントを表すイベントデータと、前記機械の状態を表す状態データとを含み、
前記生成部は、前記イベントデータについて任意の時刻に対する過去、現在、未来の少なくとも2つの時間帯について、前記時間帯での前記イベントの発生の有無を示す2値データを含む第1の推論用データと、前記状態データについて任意の時刻に対する過去、現在、未来の少なくとも2つの時刻について前記機械がどの状態であったかを示すデータを含む第2の推論用データを生成し、
前記推論部は、前記第1の推論用データと、前記第2の推論用データとに基づいて前記非稼働理由を推論する
ことを特徴とする稼働モニタリング装置。
【請求項2】
前記生成部は、前記イベントデータについて任意の時刻に対する過去、現在、及び未来の時間帯について、前記時間帯での前記イベントの発生の有無を示す2値データを含む前記第1の推論用データと、前記状態データについて任意の時刻に対する過去、現在、及び未来の時刻について前記機械がどの状態であったかを示すデータを含む前記第2の推論用データを生成する
ことを特徴とする請求項1に記載の稼働モニタリング装置。
【請求項3】
前記生成部は、前記イベントデータが複数種類のイベントを有する場合に、少なくとも2種類の異なるイベントを1つのイベントとみなして前記第1の推論用データを生成する
ことを特徴とする請求項1,2のいずれかに記載の稼働モニタリング装置。
【請求項4】
前記少なくとも2種類の異なるイベントが任意の文字列を共通して有する場合に1つのイベントとみなす
請求項3に記載の稼働モニタリング装置。
【請求項5】
前記生成部は、前記イベントデータの時系列について、イベント発生間隔の長短に対応したデータを第3の推論用データとしてさらに生成し、
前記推論部は、前記第1の推論用データと、前記第2の推論用データと、前記第3の推論データとに基づいて前記非稼働理由を推論する
ことを特徴とする請求項1〜4のいずれかに記載の稼働モニタリング装置。
【請求項6】
機械の稼働状況をモニタリングするコンピュータに、
前記機械の稼働データを時系列で記憶装置に記録する記録ステップと、
前記稼働データから推論用データを生成する生成ステップと、
予め学習データを用いて学習され、前記推論用データを用いて前記機械の非稼働理由を推論する推論ステップと、
を実行させるプログラムであり、
前記稼働データは、前記機械で発生するイベントを表すイベントデータと、前記機械の状態を表す状態データとを含み、
前記生成ステップでは、前記イベントデータについて任意の時刻に対する過去、現在、未来の少なくとも2つの時間帯について、前記時間帯での前記イベントの発生の有無を示す2値データを含む第1の推論用データと、前記状態データについて任意の時刻に対する過去、現在、未来の少なくとも2つの時刻について前記機械がどの状態であったかを示すデータを含む第2の推論用データを生成し、
前記推論ステップでは、前記第1の推論用データと、前記第2の推論用データとに基づいて前記非稼働理由を推論する
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、稼働モニタリング装置及びプログラムに関する。特に、機械の操作履歴やアラーム発生履歴、運転モード遷移等の時系列の稼働情報と、時々刻々変化する機械の非稼働理由との関係を学習することにより特定の時刻の非稼働理由を推論する技術に関する。
【背景技術】
【0002】
機械稼働データを管理する稼働モニタリング装置において、機械稼働データから非稼働理由を決定する際に、特許文献1のように、操作の順番、操作を行ってからの経過時間、機械の運転モード等を用いる一意の決定規則が用いられている。
【0003】
他方で、特許文献2には、機械の故障箇所を機械学習装置により推論する技術が記載されている。特許文献2に記載の手法では、機械で故障が発生した際に、故障発生時点での機械の部分毎の状態をまとめた1つのデータセットをベイジアンネットワークに入力することで機械の故障箇所の推論を可能としている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平6ー138931号公報
【特許文献2】特開2005−309078号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載された非稼働理由を決定するための決定規則を導くには、機械の操作の順番及び操作を行ってからの経過時間と、機械の運転モードの組み合わせを探索する必要があり、その数は多岐にわたる。また、機械の使われ方を熟知した人でなければ、その組み合わせに対応した適切な非稼働理由を導くことは困難である。
【0006】
他方、特許文献2に記載された技術では、ベイジアンネットワークを用いた機械学習装置は推論を行う際に現在の機械の状態を入力とする。この機械学習装置を、機械稼働データから非稼働理由を推論するために使用することを考慮する。例えば、オペレータが、自動工具交換装置(ATC)を備えない旋盤に対して、
「(1)機内作業により工具を交換し、(2)工具補正の操作を行う」
という作業を行ったとする。(1)、(2)の作業について、
「工具段取を行っていたため、機械が稼働していなかった」
と推論を行いたい。(2)では、
「現在、工具補正に関する操作入力が行われている」
という機械の状態情報から工具段取という非稼働理由を推論可能である。一方、(1)では、
「現在、機械は停止状態であり、操作入力が行われていない」
という機械の状態情報から工具段取という非稼働理由を導くことは困難であり、
「オペレータが機械から離れていたため、機械が停止していた」
等の他の非稼働理由と区別できない問題がある。
【0007】
本発明の目的は、操作の順番や運転モード、経過時間等の多岐にわたる組み合わせに対応した非稼働理由を高精度で推論し得る技術を提供することにある。
【課題を解決するための手段】
【0008】
本発明は、機械の稼働状況をモニタリングする稼働モニタリング装置であって、前記機械の稼働データを時系列で記録する記録部と、前記稼働データから推論用データを生成する生成部と、予め学習データを用いて学習され、前記推論用データを用いて前記機械の非稼働理由を推論する推論部とを備え、前記稼働データは、前記機械で発生するイベントを表すイベントデータと、前記機械の状態を表す状態データとを含み、前記生成部は、前記イベントデータについて任意の時刻に対する過去、現在、未来の少なくとも2つの時間帯について、前記時間帯での前記イベントの発生の有無を示す2値データを含む第1の推論用データと、前記状態データについて任意の時刻に対する過去、現在、未来の少なくとも2つの時刻について前記機械がどの状態であったかを示すデータを含む第2の推論用データを生成し、前記推論部は、前記第1の推論用データと、前記第2の推論用データとに基づいて前記非稼働理由を推論することを特徴とする。
【0009】
本発明の1つの実施形態では、前記生成部は、前記イベントデータについて任意の時刻に対する過去、現在、及び未来の時間帯について、前記時間帯での前記イベントの発生の有無を示す2値データを含む前記第1の推論用データと、前記状態データについて任意の時刻に対する過去、現在、及び未来の時刻について前記機械がどの状態であったかを示すデータを含む前記第2の推論用データを生成する。
【0010】
本発明の他の実施形態では、前記生成部は、前記イベントデータが複数種類のイベントを有する場合に、少なくとも2種類の異なるイベントを1つのイベントとみなして前記第1の推論用データを生成する。
【0011】
本発明のさらに他の実施形態では、前記少なくとも2種類の異なるイベントが任意の文字列を共通して有する場合に1つのイベントとみなす。
【0012】
本発明のさらに他の実施形態では、前記生成部は、前記イベントデータの時系列について、イベント発生間隔の長短に対応したデータを第3の推論用データとしてさらに生成し、前記推論部は、前記第1の推論用データと、前記第2の推論用データと、前記第3の推論データとに基づいて前記非稼働理由を推論する。
【0013】
また、本発明は、機械の稼働状況をモニタリングするコンピュータに、前記機械の稼働データを時系列で記憶装置に記録する記録ステップと、前記稼働データから推論用データを生成する生成ステップと、予め学習データを用いて学習され、前記推論用データを用いて前記機械の非稼働理由を推論する推論ステップとを実行させるプログラムであり、前記稼働データは、前記機械で発生するイベントを表すイベントデータと、前記機械の状態を表す状態データとを含み、前記生成ステップでは、前記イベントデータについて任意の時刻に対する過去、現在、未来の少なくとも2つの時間帯について、前記時間帯での前記イベントの発生の有無を示す2値データを含む第1の推論用データと、前記状態データについて任意の時刻に対する過去、現在、未来の少なくとも2つの時刻について前記機械がどの状態であったかを示すデータを含む第2の推論用データを生成し、前記推論ステップでは、前記第1の推論用データと、前記第2の推論用データとに基づいて前記非稼働理由を推論する。
【発明の効果】
【0014】
本発明では、生成部が任意の時刻について、推論対象の時刻だけでなく、過去あるいは未来の前後の時間帯についても機械のイベントや状態を推論用データに反映して推論用データを生成し、推論部がこれらの推論データを用いて非稼働理由を推論する。これにより、操作の順番、運転モード、経過時間等の多岐にわたる組み合わせに対応した非稼働理由を高精度で推論し得る。
【図面の簡単な説明】
【0015】
図1】実施形態における稼働モニタリング装置の機能ブロック図である。
図2A】実施形態における非稼働理由推論用データの生成フローチャートその1である。
図2B】実施形態における非稼働理由推論用データの生成フローチャートその2である。
図3】実施形態におけるイベントデータの例を示す図である。
図4】実施形態における状態データの例を示す図である。
図5】実施形態における推論用データの例を示す図である。
図6】実施形態における処理を示すタイミングチャートである。
【発明を実施するための形態】
【0016】
以下、図面に基づき本発明の実施形態について説明する。なお、以下の説明では、機械11の操作者を「オペレータ」、稼働モニタリング装置の操作者を「ユーザ」と称する。
【0017】
<実施形態1>
<構成>
図1に、本実施形態における稼働モニタリング装置の機能ブロック図を示す。稼働モニタリング装置は、機械11の稼働状況をモニタリングするものであり、機械稼働データ記録部12と、推論開始・終了時刻指定部13と、推論用データ生成部14と、推論部15と、推論結果表示部16を備える。
【0018】
機械11は、モニタリング対象であり、機械稼働データ記録部12と接続されている。機械稼働データ記録部12と接続される機械11は、1つでもよいし複数でもよい。機械11は、常時、機械稼働データ記録部12に機械稼働データを送信する。機械稼働データは、
「機械のどのボタンが、いつ押されたか」
「機械でどのアラームが、いつ発生したか」
等の機械で発生するイベントを逐次時系列で記録した「イベントデータ」と、
「機械の運転モードは何が選択されていたか」
等の機械の状態を示す情報を一定周期毎に記録した「状態データ」の2種類のデータから構成される。ここで、運転モードは、機械11の運転方法の種別を示すものである。例えば、機械11が工作機械である場合、運転モードには、「自動運転モード」、「手動運転モード」、「MDI(Manual Data Input)運転モード」等が含まれる。なお、状態データには、上述した運転モードに加えて、または、替えて、操作モード、機械11の運転状態を示す情報を含んでもよい。例えば、機械11が工作機械である場合、操作モードには、プログラムを編集する「プログラム操作モード」、各種パラメータを設定する「パラメータ設定モード」、工具データを設定する「工具データ設定モード」等が含まれ、機械11の運転状態を示す情報には、工作機械が備えるいずれかの軸がリミット位置にある「リミット状態」、プログラム運転中である「プログラム実行中」、プログラム中で停止を指令されている「プログラム停止中」、一時停止ボタンの押下で停止している「一時停止中」等が含まれる。
【0019】
推論開始・終了時刻指定部13は、推論開始時刻及び推論終了時刻を指定する。
推論用データ生成部14は、推論開始・終了時刻指定部13が指定する開始時刻から終了時刻までの機械の非稼働理由を推論するため、機械稼働データ記録部12から機械稼働データを取得する。推論用データ生成部14が機械稼働データから推論用データを生成するための内部処理については後述する。
【0020】
推論部15は、推論用データ生成部14から受け取った推論用データから機械11の非稼働理由を推論する。ここで、非稼働理由の推論を行うためには、予め、教師あり学習データから学習モデルを生成し、推論部15に組み込んでおく必要がある。教師あり学習データとは、推論用データに、非稼働理由を教師データとして付加したものである。学習手法及び推論手法には、ディープラーニングやベイジアンネットワーク等に代表される公知の機械学習手法を使用し得る。
【0021】
推論結果表示部16は、推論部15から受け取った非稼働理由を、ユーザが所望する任意の形式で表示する。
【0022】
稼働モニタリング装置は、具体的には、1又は複数のCPU(あるいはGPU)、ROMやEEPROM等のプログラムメモリ、RAM等のワーキングメモリ、入出力インターフェイス、通信インターフェイス、HDDやSSD等の記憶装置、キーボードやマウス、タッチスイッチ等の入力装置、及び液晶ディスプレイや有機ELディスプレイ等の表示装置を備えるコンピュータで構成され得る。コンピュータは、入出力インターフェイスを介して機械11に接続される。1又は複数のCPUにより、プログラムメモリに記憶された処理プログラム(あるいはファームウェア)を実行することで図1に示す推論用データ生成部14及び推論部15が実現される。記憶装置により、機械稼働データ記録部12が実現される。1又は複数のCPUは、機械11から取得した稼働データを記憶装置に順次格納する。また、1又は複数のCPUは、入力装置から入力された推論開始・終了時刻を用いて記憶装置にアクセスし、稼働データから推論用データを生成し、推論用データを用いて機械11の非稼働理由を推論する。1又は複数のCPUは、推論結果を表示装置に表示して出力する。入力装置により、推論開始・終了時刻指定部13が実現される。表示装置により、推論結果表示部16が実現される。
【0023】
推論部15は、既述したように予め学習されるが、学習には例えばニューラルネットワークが用いられ得る。ニューラルネットワークは、具体的には、プロセッサと、メモリから構成される。メモリは、ニューラルネットワークを格納する。ニューラルネットワークは、例えばディープニューラルネットワークである。メモリは、具体的には揮発性メモリあるいは不揮発性メモリで構成される。プロセッサは、メモリに格納されたディープニューラルネットワークを用いて入力信号を処理し、処理結果を出力信号として出力する。入力信号は、入出力インターフェイスを介してプロセッサに供給され、出力信号は、入出力インターフェイスを介して外部に出力される。出力信号は、外部コンピュータに供給されてもよく、あるいは通信ネットワークを介して外部のサーバ等に供給されてもよい。プロセッサは、例えばGPUで構成される。プロセッサとして、GPGPU(General-purpose computing on graphics processing units; GPUによる汎用計算)を用いてもよい。
【0024】
ディープニューラルネットワークは公知であるが、以下、簡単に説明する。ディープニューラルネットワークは、入力層、中間層、及び出力層を備える。入力層は入力信号が入力される。中間層は複数層から構成され、入力信号を順次処理する。出力層は、中間層からの出力に基づいて出力信号を出力する。各層は、複数のニューロン(ユニット)を備え、活性化関数fで活性化ニューロンとされる。
【0025】
ディープニューラルネットワークの学習は、学習データを入力し、学習データに対応する目標値と出力値との差によってロスを算出する。算出されたロスをニューラルネットワークで逆伝播させてディープニューラルネットワークのパラメータ、すなわち重みベクトルを調整する。重みが調整されたディープニューラルネットワークに次の学習データを入力し、新しく出力された出力値と目標値との差により再びロスを算出する。再算出されたロスとニューラルネットワークで逆伝播させてディープニューラルネットワークの重みベクトルを再調整する。以上の処理を繰り返すことでディープニューラルネットワークの重みベクトルを最適化する。重みベクトルは、当初は適当な値に初期化され、その後、学習を繰り返すことで最適値に収束される。
【0026】
処理プログラムは、DVD−ROM等の記録媒体に格納されてプログラムメモリにインストールされてもよい。あるいは、コンピュータが通信インターフェイスを介してネットワークサーバに接続され、ネットワークサーバから処理プログラムがダウンロードされてプログラムメモリにインストールされてもよい。
【0027】
なお、機械稼働データ記録部12、推論開始・終了時刻指定部13、推論結果表示部16は、必ずしも稼働モニタリング装置と物理的に一体として構成されている必要はなく、通信ネットワークを介して接続されていてもよい。
【0028】
<処理>
ある機械11について、一例として工場やオフィスでの始業時刻から終業時刻までの非稼働理由の時系列を、終業時刻後に振り返って推論することを考える。
【0029】
図2A及び図2Bは、推論用データ生成部14での処理フローチャートを示す。推論用データ生成部14は、推論開始・終了時刻指定部13が指定する、推論の開始時刻Tstartから終了時刻Tendまでを、例えば1分毎等の一定周期の時間分解能で分割する。開始時刻Tstartから終了時刻Tendまでのうち、任意の時刻をTとしたとき、すべての時刻Tについて、推論用データを生成する(S201,S202,S216)。
【0030】
推論用データ生成部14が、時刻Tにおいて機械稼働データから推論用データI(T)を生成する方法について、次に説明する。
【0031】
機械11の機械稼働データは、既述したとおり、「イベントデータ」と「状態データ」の2つの状態データから構成される。推論用データセットを生成する際、「イベントデータ」と「状態データ」についてそれぞれ別の処理を行い、第1の推論用データ及び第2の推論用データを生成する。
【0032】
時刻Tにおいて、イベントデータを第1の推論用データに変換したものをe0 (T), e1 (T), e2 (T)とする。イベントデータとして、例えば、
「機械の実行ボタンを押した」
というイベントが、時系列E(t)として機械稼働データ記録部12に記録されているとする。推論用データ生成部14は、時刻t-t1から t+t6まで、イベントEの時系列を取得し、推論用データe0 (T), e1(T), e2 (T)を、以下の通りに定める(S204〜S212)。
【0033】
【数1】
【0034】
ここで、e0 (T)は「時刻Tから、t1だけ前」から「時刻Tから、t2だけ前」までの過去の時間帯についてイベントが発生したか否かを示し、e1 (T)は「時刻Tから、t3だけ前」から「時刻Tから、t4だけ後」までの現在の時間帯についてイベントが発生したか否かを示し、e2 (T)は「時刻Tから、t5だけ後」から、「時刻Tから、t6だけ後」までの未来の時間帯についてイベントが発生したか否かを示す。t2とt3、t4とt5については、その大小は問わない。例えば、t2<t3として、時間帯をオーバラップさせてもよい。
【0035】
なお、推論したい時刻Tよりも後の、未来のイベントを示すe2 (T)を、推論部15への入力に使用しているが、これは非稼働理由の時系列を終業時刻後に振り返って推論するため可能である。
【0036】
時刻Tにおいて、状態データを第2の推論用データに変換したものを、s0(T), s1 (T), s2 (T)とする。状態データとして、例えば、機械11の運転モード(自動運転モードか、手動運転モードか等)の時系列が、M(t)として、機械稼働データ記録部12に記録されているとする。推論用データ生成部14は、時刻T-ta、時刻T、時刻T+tbにおける、機械11の運転モードMを機械稼働データ記録部12から取得し、推論用データs0 (T), s1 (T),s2 (T)を、下記の通りに定める(S213,S214)。
【0037】
【数2】
【0038】
ここで、s0 (T)は、時刻Tからtaだけ過去の機械11の状態を示し、s1(T)は、現在の機械11の状態を示し、s2 (T)は、時刻Tからtbだけ未来の機械11の状態を示す。
【0039】
なお、推論したい時刻Tよりも後の未来の状態s2 (T)を推論部15への入力に使用しているが、これは非稼働理由の時系列を終業時刻後に振り返って推論するため可能である。
【0040】
以上の処理により得られた第1の推論データであるe0 (T), e1 (T), e2 (T), 及び第2の推論データであるs0 (T), s1 (T), s2 (T)を用いて、時刻Tにおける推論用データセットI(T)を
I(T)=(e0(T), e1 (T), e2 (T), s0 (T), s1(T), s2 (T))
とする(S215)。以上により、開始時刻Tstartから終了時刻Tendまでのすべての時刻Tについて、推論用データが得られる。生成した推論用データIを推論部15に入力することで、各時刻における機械11の非稼働理由の推論が可能となる(S217)。
【0041】
以上の処理では、終業時刻後に振り返って各時刻における「過去」「現在」「未来」の情報を使用して機械11の非稼働理由を推論することを説明したが、これをリアルタイムでの推論に適用する場合は、e2(T)やs2(T)を省き、「過去」「現在」のみから学習および推論を実施すればよい。
【0042】
また、動作モードM、イベントEは、1種類に限らず、複数種類を設定し、それぞれ異なるt1, t2,..., t6, ta, tbを設けてもよい。また、「過去」や「未来」を表す時間帯や時刻は1通りに限らず、「過去1」から、更に前の時間に遡った「過去2」など、複数の時間帯や時刻からなるデータを設けて推論に使用してもよい。
【0043】
次に、フローチャートに従って、イベントデータと、状態データを推論用データに変換する手順を具体的に説明する。
【0044】
イベントEとして、
「タレット旋回ボタンを押下」
「工具データ設定ボタンを押下」
「数値入力行った」
の3つを採用し、各イベントについて共通で、
t1= 360秒
t2= 120秒
t3= 119秒
t4= 119秒
t5= 120秒
t6= 360秒
とする。状態Mとして、「運転モード」を採用し、ta = 180秒、tb = 180秒とする。開始時刻Tstart=12:00:00、終了時刻Tend=12:10:00として、1分ごとの時刻Tについて、推論用データを生成する(S201)。
【0045】
図3は、イベントデータとして操作履歴の時系列を示す。操作履歴は、機械稼働データ記録部12が11:54:00から12:16:00までの期間に記録したものである。
【0046】
なお、この時刻は、推論対象の開始時刻Tstart=12:00:00及び終了時刻Tend=12:10:00と、t1=360秒、t6=360秒により決定している。
【0047】
図4は、状態データとして、運転モードの遷移を示す。運転モードは、機械稼働データ記録部12が、11:57:00から12:13:00までの期間に、1分ごとに運転モードとして何が選択されているかを記録したものである。T=12:00:00において、推論用データを生成する(S202)。イベントデータについて、11:54:00から11:58:00までが「過去」である。図3において、この時間帯にはいずれのイベントも発生していない。このとき、T=12:00:00の「過去」の推論用データは、
「タレット旋回ボタン押下」
「工具データ設定ボタン押下」
「数値入力」
について、イベントが発生していないことを表す「0」を設定する(S203〜S206)。
【0048】
イベントデータについて、11:58:01から12:01:59までが「現在」である。図3において、この時間帯には、
「タレット旋回ボタン押下」
が発生している。このとき、T=12:00:00の「現在」の推論用データは、
「タレット旋回ボタン押下」
について、イベントが少なくとも1回発生していることを表す「1」を設定する。その他のイベントは発生していないため、「0」を設定する(S207〜S209)。
【0049】
イベントデータについて、12:02:00から12:06:00までが「未来」である。図3において、この時間帯には、
「工具データ設定ボタン押下」
が発生している。このとき、T=12:00:00の「未来」の推論用データは、
「工具データ設定ボタン押下」
について、「1」を設定し、その他のイベントは発生していないため、「0」を設定する(S210〜S212)。
【0050】
状態データについて、11:57:00が「過去」である。この時刻について、図4から、運転モードは自動運転モードであったので、推論用データは自動運転モードを表す
「Auto」
とする。
【0051】
状態データについて、12:00:00が「現在」である。この時刻について、図4から、運転モードは手動運転モードであったので、推論用データは手動運転モードを表す
「Man」
とする。
【0052】
状態データについて、12:03:00は「未来」である。この時刻について、図4から、運転モードは手動運転モードであったので、推論用データは
「Man」
とする(S213〜S214)。
【0053】
以上のようにして、T=12:00:00における推論用データが生成される(S215)。
【0054】
図5は、T=12:01:00以降の時刻についても同様に処理を行い、推論用データを生成した結果を示す(S216)。
【0055】
推論部15は、T=12:00:00の非稼働理由を推論する際、
「現在、タレット旋回ボタンが押下されている」
「このあと、工具データ設定ボタンが押下される」
「過去のモードは自動運転モードだったが、現在と未来は手動運転モードである」
という情報から、
「オペレータがタレット上の所望の位置を指定して、工具交換を行う」
と推論して、機械11の非稼働理由を「工具段取」と推論できる。
【0056】
なお、タレット旋回動作中は機械が動作しているから、非稼働状態ではないと推論することもできるが、T=12:00:00の手動運転モードにおけるタレット旋回は、ワークを切削する状態ではないため、本実施形態では非稼働状態に含めるとしている。
【0057】
また、T=12:03:00の非稼働理由を推論する際、
「過去にタレット旋回ボタンが押されている」
「このあと、工具データが入力される」
「このあと、数値入力が行われる」
「運転モードは、手動運転モードで継続している」
という情報から、
「オペレータは工具を交換しており、この後、工具の補正値を入力する」
と推論して、機械の非稼働理由を「工具段取」と推論できる。従来技術では、T=12:00:00及びT=12:03:00の例のいずれも、現在のデータしか使用していないことから、機械11の非稼働理由を「工具交換」と決定することは困難である。これに対し、本実施形態では、現在に加えて過去や未来の情報を推論に使用することが可能であることによる非稼働理由の推論精度向上の効果は極めて大きいといえる。
【0058】
以上、本発明の実施形態について説明したが、本発明はこれに限定されず、種々の変形が可能である。以下、変形例について説明する。
【0059】
<変形例1>
機械11の操作履歴をイベントデータとして用いる場合、操作履歴として残る文字列の種類は多岐にわたり、その全てについて非稼働理由との関連を学習しようというのは困難である。そこで、少なくとも2種類の異なるイベントを1つのイベントとみなす。例えば、操作履歴に「工具取付」と「工具長補正」がある場合に、どちらも‘工具’を含む操作という1つのイベントとみなす。これにより、操作履歴として残る文字列の種類が多岐にわたる場合でも、学習や推論を行うことができ、また、学習モデルを生成した後で、機械11のアップデート等により未知の操作履歴が発生するようになった場合でも、操作履歴に‘工具’という文字列さえ含まれていれば、推論を行うことが可能である。
【0060】
<変形例2>
図6は、イベントが時刻t=0及びt=Tで発生している場合について示す。2つのイベントの時間差Tについて、T>t1+t6を満たす場合、t1≦t≦T‐t6の時間帯について、イベントデータの値が全て「0」となる。このとき、Tがどれだけ長くなろうとも、推論用データは「0」が繰り返されるのみであり、Tの長さは推論用データとして表されない。そこで、イベントの時間差Tについて、その大小を推論用データTgapとして設ける。例えば、Tが1分未満の場合にはTgap=0、1分以上5分未満の場合にはTgap=1、5分以上10分未満の場合にはTgap=2、10分以上の場合にはTgap=3のように、閾値によりTgapを決定し、推論用データセットI(T)に付加する。
【0061】
イベントの時間差Tgapを設けることにより、例えば、旋盤でオペレータが他の機械の操作のため長時間不在となり、長時間機械を操作しない場合と、オペレータが機械内部の清掃作業のため短時間だけ機械の操作を行わない場合について、その区別を明確化することが可能となる。
【符号の説明】
【0062】
11 機械、12 機械稼働データ記録部、13 推論開始・終了時刻指定部、14 推論用データ生成部、15 推論部、16 推論結果表示部。
図1
図2A
図2B
図3
図4
図5
図6