JP7053771B1 - システム構築を支援する支援システム及び支援方法 - Google Patents

システム構築を支援する支援システム及び支援方法 Download PDF

Info

Publication number
JP7053771B1
JP7053771B1 JP2020196690A JP2020196690A JP7053771B1 JP 7053771 B1 JP7053771 B1 JP 7053771B1 JP 2020196690 A JP2020196690 A JP 2020196690A JP 2020196690 A JP2020196690 A JP 2020196690A JP 7053771 B1 JP7053771 B1 JP 7053771B1
Authority
JP
Japan
Prior art keywords
time
pseudo
series
data
macro
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020196690A
Other languages
English (en)
Other versions
JP2022085160A (ja
Inventor
正樹 澤幡
照典 横井
大喜 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2020196690A priority Critical patent/JP7053771B1/ja
Priority to US17/483,911 priority patent/US20220171908A1/en
Application granted granted Critical
Publication of JP7053771B1 publication Critical patent/JP7053771B1/ja
Publication of JP2022085160A publication Critical patent/JP2022085160A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41885Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Manufacturing & Machinery (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Automation & Control Theory (AREA)
  • Quality & Reliability (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】OT(Operation Technology)サイドプロセスの結果としてのデータをIT(Information Technology)サイドプロセスに必要とするシステム構築の完了までの期間及びコストの少なくとも一つを低減する。【解決手段】OTサイドプロセスの少なくとも一部として現場プロセスがある。現場プロセスは、一つ又は複数の対象の各々についてそれぞれ開始及び終了する一つ又は複数のタスクを含む。そのような現場プロセスを模したモデルである疑似モデルが用意される。支援システムは、疑似モデルを実行し、疑似モデルの実行により取得されたデータである疑似実行データを基にITサイドプロセスを実行する。【選択図】図3

Description

本発明は、概して、システム構築を支援する技術に関し、例えば、OT(Operation Technology)サイドにおけるプロセスであるOTサイドプロセスの結果としてのデータをIT(Information Technology)サイドにおけるプロセスであるITサイドプロセスに必要とするシステム構築を支援する新規な技術に関する。
本明細書において、「システム構築」により構築される「システム」は、ハードウェアとしてのシステムでもよいし、ソフトウェアとしてもシステムでもよいし、ハードウェア及びソフトウェアの組合せとしてのシステムでもよいし、ハードウェア、ソフトウェア又はそれらの組合せに基づき提供されるサービス(例えばクラウドコンピューティングサービス)としてのシステムでもよい。例えば、「システム」は、一つ又は複数の装置を備えてよい。「装置」は、システムそれ自体でもよいし、システムのコンポーネントでもよい。また、一つ又は複数の装置の各々は、物理的な装置でも仮想的な装置でもよい。
また、本明細書において、「システム構築」の「構築」は、それぞれ開発及び設計された一つ以上の装置をシステムとするための組立を含んでもよいし、組立に代えて又は加えて、開発及び設計の少なくとも一つを含んでもよい。
システム構築に関する技術として、例えば、特許文献1及び2に開示の技術がある。特許文献1は、製造ラインの設計に関する技術を開示する。特許文献2は、仮想マシン環境におけるエミュレートされたデバイスの開発に関する技術を開示する。
特開2003-44115号公報 特開2006-18814号公報
システム構築として、OTサイドプロセスの結果としてのデータをITサイドプロセスに必要とするシステム構築が知られている。この種のシステム構築は、一つ又は複数の対象の各々についてそれぞれ開始及び終了する一つ又は複数のタスクが現場において実施される環境に関わるシステムの構築に適用されている。「物」は、有体物でもよいし無体物でもよい。「タスク」の例は、作業又は工程でよい。タスクへのインとしての「物」に対しタスクを経ることで当該タスクからの「物」のアウトとなる。「対象」は、タスクに対するイン又はアウトとなる「物」全体をカバーする概念でもよいし、「物」それ自体でもよい。
構築される「システム」の一例として、下記のうちの少なくとも一つがある。
・生産活動の見える化をするシステム。このシステムでは、「対象」の例は、製品でよい。「物」の例は、材料、半製品(中間生産物)、完成品等でよい。「タスク」の例は、工程(例えば、材料の切り出しやプレス、或いは組立)でよい。
・経営の見える化をするシステム。このシステムでは、「対象」の例は、KPI(Key
Performance Indicator)でよい。「物」の例は、情報でよい。「タスク」の例は、情報分析、プロジェクト立案といった作業でよい。
・倉庫の入出庫を行うシステム。このシステムでは、「対象」の例は、倉庫内在庫状況でよい。「物」の例は、商品又は商品からなるコンテナでよい。「タスク」の例は、商品又は商品からなるコンテナの搬送といった工程でよい。
・搬送を行うシステム。このシステムでは、「対象」の例は、搬送の運行でよい。「物」の例は、商品又は商品からなるコンテナでよい。「タスク」の例は、商品又は商品からなるコンテナをピッキングステーションまで運ぶといった工程でよい。
このようなシステム構築において、ITサイドプロセスに引き継ぐデータを取得するために、OTサイドプロセスでは、試行錯誤が必要となる。具体的には、例えば、一又は複数の人間が、実際に現場へ出向き、全タスクが試験的に繰り返し実施されたり、各タスクに関わる要素(例えばセンサ)の設定が適宜調整されたりする。
OTサイドプロセスのために、現場での本来のタスク(実際のタスク)の休止が必要になり得る。また、その休止の期間が長引くこともあり得る。結果として、現場での本来のタスクが遅延し、スケジュールがタイトになる又は遅延する。これにより、下記のうちの少なくとも一つが懸念され、結果として、コスト増大や機会損失のおそれがある。
・ITサイドプロセスの開始が遅延することがあり、故に、システム構築の完了までの期間が長期化する。
・システム構築により構築されるシステムの導入先及び導入元の少なくとも一方(典型的には双方)に負担が大きく、故に、システム構築の完了までのコスト(例えば、作業負担)が肥大化する。
OTサイドプロセスの少なくとも一部として現場プロセスがある。現場プロセスは、一つ又は複数の対象の各々についてそれぞれ開始及び終了する一つ又は複数のタスクを含む。そのような現場プロセスを模したモデルである疑似モデルが用意される。支援システムは、疑似モデルを実行し、疑似モデルの実行により取得されたデータである疑似実行データを基にITサイドプロセスを実行する。
本発明によれば、下記のうちの少なくとも一つが期待できる。
・OTサイドプロセスを待たずにITサイドプロセスを開始し、以って、システム構築の完了までの期間の長期化を避けること。
・ITサイドプロセスの途中又は完了後の結果を基にOTサイドプロセスを効率化し、以って、システム構築の完了までのコストを低減すること。
実施形態の一比較例を示す。 実施形態のコンセプトを示す。 実施形態に係る支援システムの概要を示す。 支援システムの構成例を示す。 管理サーバが有する情報及び機能の例を示す。 疑似モデルの構成と実行の例を模式的に示す。 疑似モデルの構成の第1の例を示す。 疑似モデルの構成の第2の例を示す。 疑似モデルの構成の第3の例を示す。 制御機能テーブルの構成例を示す。 マクロ工程テーブルの構成例を示す。 工程テーブルの構成例を示す。 前処理テーブルの構成例を示す。 ルールテーブルの構成例を示す。 リソーステーブルの構成例を示す。 シナリオ構築用データの構成例を示す。 シナリオデータの構成例を示す。 マクロ工程構成テーブルの構成例を示す。 シナリオのインスタンス化の例を模式的に示す。 シナリオインスタンスデータの構成例を示す。 実際実行データの構成例を示す。 疑似実行データの構成例を示す。 前処理、スケジューリング処理及びインスタンス化処理を含む処理の流れの一例を示す。 図21のS2106(インスタンス化処理)の流れの一例を示す。 メイン処理の流れの一例を示す。 図23のS2303(段取実行)の流れの一例を示す。 図23のS2305(工程実行)の流れの一例を示す。 疑似実行データのチェック処理の流れの一例を示す。 疑似実行データの生成処理の流れの一例を示す。 疑似実行データの生成処理の一具体例の一部を模式的に示す。 疑似実行データの生成処理の一具体例の一部を模式的に示す。 疑似実行データの生成処理の一具体例の一部を模式的に示す。
以下の説明では、「インターフェース装置」は、一つ以上のインターフェースデバイスでよい。当該一つ以上のインターフェースデバイスは、下記のうちの少なくとも一つでよい。
・一つ以上のI/O(Input/Output)インターフェースデバイス。I/O(Input/Output)インターフェースデバイスは、I/Oデバイスと遠隔の表示用計算機とのうちの少なくとも一つに対するインターフェースデバイスである。表示用計算機に対するI/Oインターフェースデバイスは、通信インターフェースデバイスでよい。少なくとも一つのI/Oデバイスは、ユーザインターフェースデバイス、例えば、キーボード及びポインティングデバイスのような入力デバイスと、表示デバイスのような出力デバイスとのうちのいずれでもよい。
・一つ以上の通信インターフェースデバイス。一つ以上の通信インターフェースデバイスは、一つ以上の同種の通信インターフェースデバイス(例えば一つ以上のNIC(Network Interface Card))であってもよいし二つ以上の異種の通信インターフェースデバイス(例えばNICとHBA(Host Bus Adapter))であってもよい。
また、以下の説明では、「メモリ」は、一つ以上の記憶デバイスの一例である一つ以上のメモリデバイスであり、典型的には主記憶デバイスでよい。メモリにおける少なくとも一つのメモリデバイスは、揮発性メモリデバイスであってもよいし不揮発性メモリデバイスであってもよい。
また、以下の説明では、「永続記憶装置」は、一つ以上の記憶デバイスの一例である一つ以上の永続記憶デバイスでよい。永続記憶デバイスは、典型的には、不揮発性の記憶デバイス(例えば補助記憶デバイス)でよく、具体的には、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、NVME(Non-Volatile Memory Express)ドライブ、又は、SCM(Storage Class Memory)でよい。
また、以下の説明では、「記憶装置」は、メモリと永続記憶装置の少なくともメモリでよい。
また、以下の説明では、「プロセッサ」は、一つ以上のプロセッサデバイスでよい。少なくとも一つのプロセッサデバイスは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサデバイスでよいが、GPU(Graphics Processing Unit)のような他種のプロセッサデバイスでもよい。少なくとも一つのプロセッサデバイスは、シングルコアでもよいしマルチコアでもよい。少なくとも一つのプロセッサデバイスは、プロセッサコアでもよい。少なくとも一つのプロセッサデバイスは、処理の一部又は全部を行うハードウェア記述言語によりゲートアレイの集合体である回路(例えばFPGA(Field-Programmable Gate Array)、CPLD(Complex Programmable Logic Device)又はASIC(Application Specific Integrated Circuit))といった広義のプロセッサデバイスでもよい。
また、以下の説明では、「yyy部」の表現にて機能を説明することがあるが、機能は、一つ以上のコンピュータプログラムがプロセッサによって実行されることで実現されてもよいし、一つ以上のハードウェア回路(例えばFPGA又はASIC)によって実現されてもよいし、それらの組合せによって実現されてもよい。プログラムがプロセッサによって実行されることで機能が実現される場合、定められた処理が、適宜に記憶装置及び/又はインターフェース装等を用いながら行われるため、機能はプロセッサの少なくとも一部とされてもよい。機能を主語として説明された処理は、プロセッサあるいはそのプロセッサを有する装置が行う処理としてもよい。プログラムは、プログラムソースからインストールされてもよい。プログラムソースは、例えば、プログラム配布計算機又は計算機が読み取り可能な記録媒体(例えば非一時的な記録媒体)であってもよい。各機能の説明は一例であり、複数の機能が一つの機能にまとめられたり、一つの機能が複数の機能に分割されたりしてもよい。
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムを主語として説明された処理は、プロセッサあるいはそのプロセッサを有する装置が行う処理としてもよい。また、二つ以上のプログラムが一つのプログラムとして実現されてもよいし、一つのプログラムが二つ以上のプログラムとして実現されてもよい。
また、以下の説明では、「xxxテーブル」といった表現にて、入力に対して出力が得られる情報を説明することがあるが、当該情報は、どのような構造のテーブルでもよいし、入力に対する出力を発生するニューラルネットワーク、遺伝的アルゴリズムやランダムフォレストに代表されるような学習モデルでもよい。従って、「xxxテーブル」を「xxx情報」と言うことができる。また、以下の説明において、各テーブルの構成は一例であり、一つのテーブルは、二つ以上のテーブルに分割されてもよいし、二つ以上のテーブルの全部又は一部が一つのテーブルであってもよい。
また、以下の説明では、システム構築により構築されるシステムとして、生産活動の見える化を行うシステム(いわゆる製造ダッシュボードを提供するシステム)を例に取る。見える化の対象は、4M(huMan、Machine、Material及びMethod)のうちの少なくとも一つでよい。そのため、以下の説明では、下記が採用されてよい。
・「対象」の例が「製品」である。「物」の例が「材料」や「生産物」である。「製品」は、製造システムに投入される前の品物(例えば材料)も、製造システム途中にある品物(いわゆる「半製品」)も、製造システムにおける該当の全ての工程を経て出荷可能な状態となった完成品のいずれでもよい。「生産物」は、半製品でも完成品でもよい。
・「タスク」の例が「段取」及び「工程」である。
・一つ以上のタスクの各々について、当該タスクに関わるリソースは、物それ自体としてのリソース(例えば、Material)と、物に対するリソース(例えば、Machine、huMan)とのうちの少なくとも一つである。
図1は、実施形態の一比較例を示す。
生産活動の見える化の一例は、各工程(Method)の着手又は完了の時刻を表すデータと、設備(Machine)、人(huMan)及び材料(Material)の状態を表すデータとを関連付け、時刻と4Mのうちの少なくとも一つとの関係を表すチャートを表示することである。これにより、下記のうちの少なくとも一つが実現され、以って、リードタイム、生産量、稼働率及び不良率の少なくとも一つの最適化が期待され、故に、生産性向上の実現が期待できる。
(1)生産性の悪化を認知。
(2)原因を特定。
(3)影響度の把握によって効果の大きい改善活動を優先的に実施。
(4)改善効果を短いスパンで検証。
(5)ボトルネックの解消。
各工程の着手時刻及び完了時刻のデータ、及び、設備、人及び材料の状態を表すデータの取得と、それらのデータの関連付けには、多大な時間を要したり、部分的に困難であったりする。
見える化のためのプロセスは、OTサイドプロセス及びITサイドプロセスを含み、ミクロに(例えば、OTサイドプロセス及びITサイドプロセスの単位で)及びマクロに(例えば、見える化のためのプロセス全体で)試行錯誤が繰り返される。
具体的には、例えば、まず、見える化ポイント(何をどのように見える化するか)が決定される。次に、OTサイドプロセスにおいて、一又は複数の人間が実際に現場へ出向き、データソースポイントが決定され、データ取得のための仕組みが構築される。その仕組みが構築されることで、データ取得が可能となり、故に、ITサイドプロセス(例えば、実際のデータの特性やデータが持つ意味に合わせた処理機能の構築、及び、見える化の実現)を開始することができる。
OTサイドプロセスは、設備(例えば、PLC(Programmable Logic Controller)、センサ、NT機器)の調達、設置及び調整といったコストと時間を要する作業を含む。このようなOTサイドプロセスを経てデータ取得の仕組みが一旦構築されないと、ITサイドプロセスを開始することができず、故に、見える化システムの構築が完了するまでの期間が長期化する。また、OTサイドプロセスでの試行錯誤が必要となるため、OTサイドプロセスに要するコスト及び期間が肥大化する。
図2は、実施形態のコンセプトを示す。
OTサイドプロセスの少なくとも一部として現場プロセスがある。「現場プロセス」は、一つ又は複数の対象の各々についてそれぞれ開始及び終了する一つ又は複数のタスクを含む。本実施形態では、現場プロセスは、データソースポイントの決定と、設備の調整とを含む。各対象について、タスクは、物のイン又はアウトを契機に(又は、明示的(例として作業指示書による開始)或いは暗黙的(例として決まった時間に開始)な開始指示を契機に)開始してよい。また、各対象について、タスクは、物のイン又はアウトを契機に(又は、明示的(例として作業指示書による終了)或いは暗黙的(例として決まった時間に終了)な終了指示を契機に)終了してよい。
現場プロセスの疑似モデルが用意される。疑似モデルが実行されることで、疑似的にデータが取得され、取得されたデータ(疑似実行データ)を基にITサイドプロセスを開始することができる。つまり、OTサイドプロセスの完了を待たずに、ITサイドプロセスを開始することができる。図2が示す例の通り、OTサイドプロセス及びITサイドプロセスがパラレルに実行される(OTサイドプロセス及びITサイドプロセスのいずれが先に実行されてもよい)。これにより、OTサイドプロセス及びITサイドプロセスは比較例によればシリアルであるが、本実施形態ではそれらのプロセスはパラレルでよいので、システム構築の完了までの期間の長期化を避けることが期待できる。また、ITサイドプロセスの途中又は完了後の結果をOTサイドプロセスにフィードバックすることで、OTサイドプロセスを効率化でき(例えば、作業の短縮又は省略ができ)、以って、システム構築の完了までのコストを低減することが期待できる。
上述のようなパラレルの実行に代えて、ITサイドプロセスが先に実行され、ITサイドプロセスの実行結果を基にOTサイドプロセスが開始されてもよい。これにより、OTサイドプロセスを効率化でき、以って、システム構築の完了までのコストを低減することが期待できる。また、OTサイドプロセスが効率化されることで、全体として、システム構築の完了までの期間の長期化を避けることが期待できる。
本実施形態によれば、より具体的には、例えば下記のうちの少なくとも一つが期待できる。
・OTサイドプロセスの進捗に依存せずに、見える化の結果として製造ダッシュボードの構築ができる。これにより、早期の仮説検証(例えば、見える化ポイントとデータソースポイントの選択の正しさの確認)、製造ダッシュボードを早期に導入先顧客に提示することで早期に顧客フィードバックを得ること、及び、効率的な試行錯誤の繰り返しといったことが期待できる。
・ケースによっては、現場プロセスのうちの一部は、リアル化されずに疑似モデルの一部でよい。これにより、相対的に重要性が低い部分(例えば、顧客にとって価値が低い部分)のリアル化を避け、より効率的なシステム構築が期待できる。
・現場へ出向かずに(或いは現場へ出向く回数を大幅に減らして)、生産活動(製造現場)の見える化システムのリモートでのデリバリが可能となる。これにより、現場へ出向くことができない状況(例えば、パンデミック下)でも導入元及び導入先のいずれの業務も継続が可能となる。
図3は、実施形態に係る支援システムの概要を示す。
支援システム100は、製造システム200の見える化システムのシステム構築を支援するシステムである。当該システム構築は、OTサイドプロセス及びITサイドプロセスを含み、ITサイドプロセスが、OTサイドプロセスの結果としてのデータを必要とする。
OTサイドプロセスの少なくとも一部としての現場プロセスを模した疑似モデル80が、支援システム100に用意される。疑似モデル80は、一つ以上のマクロモジュール82と、当該一つ以上のマクロモジュール82を制御する制御機能81とを含む。マクロモジュール82は、一つ以上の材料等のマクロ工程に対するインと、マクロ工程と、マクロ工程からの一つ以上の生産物のアウトとを表す。複数のマクロ工程がシーケンシャルに実行されてもよいし、複数のマクロ工程のうちの一部のマクロ工程が同時に実行されてもよい。制御機能81は、複数のマクロ工程を制御する装置であり製造システム200における制御装置を模した機能でよい。
支援システム100が、OT実行部301、IT実行部302及びUI(User Interface)部303を有する。UI部303が、ユーザから情報の入力を受け付けたり、情報を表示したりする。
OT実行部301が、疑似モデル80を実行する。疑似モデル80の実行のためにシナリオデータ358が入力される。シナリオデータ358は、疑似モデル80のシナリオを表す。本実施形態において、シナリオは、「コンストレイント」と呼ばれてもよい。シナリオの表現、4Mのイベントベースの表現(例えば、イレギュラーイベントオリエンテッドなシナリオ表現)でよい。シナリオは、マクロ工程間の同期要否を含んでもよい。
疑似モデル80の実行は、前処理91、スケジューリング処理92、インスタンス化処理93及びメイン処理94を含む。前処理91は、シナリオに矛盾があるか否かの判定を含む。スケジューリング処理92は、工程毎の開始時刻及び完了時刻の決定を各製品について行うことを含む。インスタンス化処理93は、シナリオのインスタンスを決定することを含む。メイン処理94は、疑似的に各工程を実行することを含む。メイン処理94では、例えば、制御機能81が、マクロ工程の実行、中断又は再開等をコントロール信号により制御したり、マクロ工程の進捗を検出したりする。このような制御機能81の動作も疑似モデル80において定義されていてよい。
IT実行部302が、疑似モデル80の実行により取得されたデータである疑似実行データを基にITサイドプロセスを実行する。本実施形態では、ITサイドプロセスは、図3に破線枠の矢印で示すように、疑似実行データをDWH(Data Ware House)50に格納することと、DWH50からETL(Extract/Transform/Load)を経て抽出されたデータをDM(Data Mart)60に格納することと、DM60内のデータを基に製造ダッシュボードを生成することと、製造ダッシュボードをUI部303経由で表示することとを含む。図3に例示のダイヤグラムチャート70は、製造ダッシュボードの一例である。ダイヤグラムチャート70において、横軸は時間に対応した軸であり縦軸は段取及び工程に対応した軸である。すなわち、ダイヤグラムチャート70は、製品毎に、段取及び工程の開始時刻及び完了時刻を俯瞰的に示すチャートである。図3が示す例によれば、ダイヤグラムチャート70のうち、遅延又は当該遅延の起因が生じた時刻と段取又は工程とに対応した線分71が、強調表示される。なお、ダイヤグラムチャート70における各折れ線において、両端の点は、現場プロセスの実際の実行結果等に基づく所与の値に従う点でよく、両端の点に挟まれた点は、疑似実行データを基に推定された値に従う点でよい。
例えば下記のうちの少なくとも一つが採用されてよい。
・OTサイドプロセスの実際の実行結果(例えば、途中又は過去の実行結果)としてのデータである実際実行データがある場合、図3に実線枠の矢印で示すように、実際実行データの少なくとも一部が、疑似モデル80の実行に使用されてもよいし、DWH50に格納されてもよいし、ETLにより抽出されてDM60に格納されてもよい。
・制御機能81は必ずしも疑似モデル80に含まれていなくてもよい。例えば、制御機能81相当の機能がOT実行部301に含まれていてもよい。しかし、疑似モデル80に制御機能81が含まれていて、OT実行部301が当該制御機能81に規定されている処理を実行する形式の方が、疑似モデル80により適した(疑似モデル80が模している現場プロセスにより適した)処理の疑似的な実行が期待できる。
・シナリオデータ358が疑似モデル80の外部から入力されることに代えて、シナリオデータ358が疑似モデル80に予め含まれていてもよい。疑似モデル80とは別にシナリオデータ358が用意されることで、同一の疑似モデル80の実行について多様性(例えば、複数通りのイレギュラーなイベントの発生)を実現し易い。例えば、シナリオデータ358におけるパラメータを変更するだけで疑似モデル80の実行内容を変えることが期待できる。
・DWH50、ETL及びDM60の少なくとも一つは必ずしも採用されないでよい。例えば、ITサイドプロセスでは、疑似実行データそれ自体からダイヤグラムチャート70が生成され表示されてもよい。
以下、本実施形態を詳細に説明する。
図4は、支援システム100の構成例を示す。
支援システム100は、管理サーバ250と、管理サーバ250に接続された1以上の管理クライアント210とを含む。管理サーバ250には、通信ネットワーク(例えばLAN(Local Area Network)、WAN(Wide Area Network)又はインターネット)290を介して、管理クライアント210及び製造システム200が接続される。
製造システム200には、複数の工程のための複数の設備(装置)と、複数の工程に関し複数の計測項目について定期的に計測を行う複数のセンサと、複数のセンサにより定期的に得られた複数の計測値を格納し当該複数の計測値を管理サーバ250に送信するサーバといったような装置が、例えばOTサイドプロセスにおいて設置され得る。製造システム200から、定期的に又は不定期的に、情報(例えば、製造動態データ、設備データ、品質計測データなどのような生データ)が、管理サーバ250に送信され管理サーバ250に格納される。当該情報は、例えば、製品について、製品IDと、工程毎の開始時刻及び完了時刻とを含んでよい。製造システム200は、任意の種類の製造システムでよく、例えば、ジョブショップ製造システム、セル製造システム及びライン製造システムのいずれでもよい。
管理クライアント210は、I/F(インターフェース装置)211、入力デバイス222、表示デバイス223、記憶装置212及びそれらに接続されたプロセッサ213を有する。
I/F211は、通信ネットワーク290に接続される通信インターフェースデバイスでよい。入力デバイス222は、ポインティングデバイス及びキーボードでよい。表示デバイス223は、情報が表示される物理画面を有するデバイスでよい。入力デバイス222及び表示デバイス223が一体となったタッチスクリーンが採用されてもよい(例えば、管理クライアント210は、スマートフォンのようなスマートデバイスでよい)。
記憶装置212は、プロセッサ213で実行されるコンピュータプログラム、及び、プロセッサ213に使用される情報を記憶する。具体的には、例えば、記憶装置212は、管理クライアントプログラム231及びWebブラウザ232を記憶する。管理クライアントプログラム231は、管理サーバ250と通信し、Webブラウザ232経由で、製造ダッシュボードのようなUIを表示する。
管理サーバ250は、I/F261、記憶装置252及びそれらに接続されたプロセッサ253を有する。
I/F261は、通信ネットワーク290に接続される通信インターフェースデバイスでよい。
記憶装置252は、プロセッサ253で実行されるコンピュータプログラム、及び、プロセッサ253に使用される情報を記憶する。具体的には、例えば、記憶装置252は、管理サーバプログラム271及び管理情報272を記憶する。管理サーバプログラム271は、管理クライアントプログラム231と通信する。管理情報272は、疑似モデル80に関する情報、製品毎の各工程の開始時刻及び完了時刻のような実績に関する情報、上述した生データ、及び、種々の閾値を含んでよい。
管理サーバプログラム271と、管理クライアントプログラム231と、Webブラウザ232との連携処理によって、製造ダッシュボードのようなUIの表示が実現される。
図3に例示のDWH50及びDM60は、管理サーバ250の記憶装置252に基づき提供されてよい。支援システム100は、一つ以上の物理的な計算機で構成されたシステムでもよいし、物理的な計算リソース群(例えば、クラウド基盤)上に実現されたシステム(例えば、クラウドコンピューティングシステム)でもよい。支援システム100が表示用情報を「表示する」ことは、計算機が有する表示デバイスに表示用情報を表示することであってもよいし、計算機が表示用計算機に表示用情報を送信することであってもよい(後者の場合は表示用計算機によって表示用情報が表示される)。
図5は、管理サーバ250が有する情報及び機能の例を示す。
図4に例示の管理情報272に含まれる要素の一例として、制御機能テーブル351、マクロ工程テーブル352、工程テーブル353、前処理テーブル354、ルールテーブル355、リソーステーブル356、シナリオ構築用データ357、シナリオデータ358、マクロ工程構成テーブル359、シナリオインスタンスデータ361、実際実行データ362及び疑似実行データ363がある。
また、図4に例示の管理サーバプログラム271がプロセッサ253により実行されることで実現される機能の一例として、シナリオデータ358を基に疑似モデル80を実行するOT実行部301、ITサイドプロセスを実行するIT実行部302、ユーザから情報の入力を受け付けたりユーザに対し情報を表示したりするUI部303、及び、シナリオデータ358を構築するシナリオ構築部304がある。OT実行部301は、シナリオ構築部304により構築されたシナリオデータ358を入力するシナリオ入力部341と、シナリオ入力部341により入力されたシナリオデータ358を基に疑似モデル80を実行する疑似モデル実行部342とを含む。
疑似モデル80は、制御機能テーブル351、マクロ工程テーブル352、工程テーブル353、前処理テーブル354、ルールテーブル355及びリソーステーブル356に基づく。疑似モデル80は、工程の開始時刻及び完了時刻と、リソース(例えば、設備、人又は材料)の状態といった数値を含んでもよいし、当該数値を入力とするモデル(例えば数式)を含んでもよいし、疑似モデル80が模した現場プロセスとその前後のプロセスとの関係性を表す情報を含んでもよい。
図6は、疑似モデル80の構成と実行の例を模式的に示す。
まず、図6に記載の用語は下記の通りである。
・「MAT.」は、材料を意味する。
・「PRO.」は、生産物を意味する。
・「Ai」(i=1、2、…nといった自然数)は、段取iを意味する。段取iは、工程i(工程番号iの工程)の段取である。
・「Ai-N」(Nは自然数)は、段取iに関わるリソース又はその状況を意味する。例えば、An-1は、材料を表す。An-2は、台車の稼働可否を表す。An-3は、段取作業者の稼働可否を表す。An-2及びAn-3の各々について、太線が、稼働可の状態であることを意味する。
・「Si」(iは自然数であることもある)は、工程iを意味する。
・「Si-M」(Mは自然数)は、工程iに関わるリソース又はその状況を意味する。例えば、Sn-1は、設備の稼働可否を表す。Sn-2は、工程作業者の稼働可否を表す。Sn-1及びSn-2の各々について、太線が、稼働可の状態であることを意味する。
・「CONT_S」は、制御機能81から出力されるコントロール信号を意味する。太線が、CONT_Sのオン状態を意味する。
・「CURR_SN」は、カレントの工程番号を表す信号を意味する。同時刻に存在するカレントの工程番号は一つであっても複数であってもよい。すなわち、マクロ工程内に同時に1つだけの工程があってもよいし、同時に複数のタスクがあってもよい。
マクロ工程は、例えば、一つ以上の段取工程ペアから成り一つの生産活動のモデルに相当する。ここで言う「一つの生産活動」の一例は、一つ以上の材料を入力し当該一つ以上の材料に関し段取及び工程を施し工程の結果としての生産物を出力することである。「段取工程ペア」は、段取i及び工程iのシリアルな組である。マクロ工程は、必要な材料が到着し必要とされるリソース(例えば、人及び設備)が稼働可の場合に開始し、それらリソースの稼働可否に応じて中断したり再開したりする。なお、段取i及び工程iのうちの一方が無し(NOP(No OPeration))でもよい。
制御機能81は、例えば、単一或いは複数のマクロ工程を連携制御したり(例えば、CONT_Sにより稼働の中断又は再開を制御したり)、リソース(例えば、人及び設備)の稼働可否を制御したりしてよい。
段取iは、工程iの前工程からの材料の運搬も含め、工程iが可能な状態を整える為に要する活動であり、生産活動の一部である。段取iに要する時間Tは、例えば、段取標準時間ST+Δで表されてよい。
工程iは、段取iが完了次第開始される決められた活動であり、生産活動の一部である。工程iに要する時間Tは、例えば、工程標準時間ST+Δで表されてよい。
段取iと工程iは、一緒にモデリングされてもよいし、別々にモデリングされてもよい。
図6が示す例によれば、例えば以下の通りである。
・材料(An-1)が到着した時刻(三角マーク)T1に段取nが開始する。CURR_SNは“n”を表す。CONT_SがON状態、台車(An-2)が稼働可の状態、且つ、段取作業者(An-3)が稼働可の状態のときに、4単位時間分を段取標準時間とする段取nが実行され、時刻T2で段取nが終了する。中断及び再開が生じたため、段取nに要した時間(T1からT2までの時間)は、段取標準時間より長い。
・段取nが終了したときに工程nが開始する。工程nの開始時刻は、段取nの完了時刻T2である。CONT_SがON状態、設備(Sn-1)が稼働可の状態、且つ、工程作業者(Sn-2)が稼働可の状態のときに、7単位時間分を工程標準時間とする工程nが実行され、時刻T3で工程nが終了する。中断及び再開が生じたため、工程nに要した時間(T2からT3までの時間)は、工程標準時間より長い。
疑似モデル80の構成として、複数種類の構成が採用可能である。
例えば、図7Aに例示するように、疑似モデル80に含まれるマクロモジュール82は一つでよく、当該マクロモジュール82が表すマクロ工程は、単一段取工程ペアでよい。また、当該ペアにおいて、段取及び工程の一方の一例である工程1がNOP(NOP(No OPeration))でよい。
また、例えば、図7Bに例示するように、疑似モデル80に含まれるマクロモジュール82は単一でよく、当該マクロモジュール82が表すマクロ工程は、複数の段取工程ペアでよい。段取工程ペア毎に、材料の入力と生産物の出力が定義されていてよい。
また、例えば、図7Cに例示するように、疑似モデル80に含まれるマクロモジュール82は複数でよく、複数のマクロモジュール82が表す複数のマクロ工程の実行順序が定義されていてよい。複数のマクロ工程の各々は、実行順序が規定された一つ以上の工程を含んでよい。このように、疑似モデルを、複数のマクロ工程をそれぞれノードとしたグラフ構造(例えば、DAG(Directed Acyclic Graph))のモデルとすることができる。各マクロ工程は、一つのまとまった工程群(一つ以上の工程)でよい。エッジは、マクロ工程間の順序を表す。これにより、製造現場の構成を適切に表現できる。例えば、或るマクロ工程に着目した場合に当該マクロ工程の親又は子のマクロ工程との関係を把握し易い。なお、同時に実行される二つ以上のマクロ工程の実行順番は同じでよい。疑似モデル80は、複数のマクロモジュール82が表す複数のマクロ工程の実行を制御する制御機能81を含んでよい。なお、制御機能81は、疑似モデル80に含まれるマクロモジュール82が一つである場合にも疑似モデル80に含まれていてもよい。
図8は、制御機能テーブル351の構成例を示す。
制御機能テーブル351は、制御機能81の制御のためのテーブルである。制御機能81が有する機能毎の有効化の有無と制御機能81が行う処理の内容との少なくとも一部は、制御機能テーブル351に基づく。制御機能テーブル351は、例えば、下記を表す情報を含む。
・制御機能81により制御されるマクロ工程の数。
・制御機能81がコントロール信号のオン状態とオフ状態の切替を行うか否かのフラグ(当該フラグが“1”であれば、コントロール信号のオン状態とオフ状態の切替が行われる)。
・マクロ工程の同期要否のフラグ(当該フラグが“1”であれば、マクロ工程の同期が行われる)。
・マクロ工程のステータスの出力を行うか否かのフラグ(当該フラグが“1”であれば、マクロ工程の実行において実行されている工程番号の出力が行われる)。
図9は、マクロ工程テーブル352の構成例を示す。
マクロ工程テーブル352は、例えばマクロ工程毎に存在する。一つのマクロ工程を例に取る。マクロ工程テーブル352は、当該マクロ工程のプロパティを表すテーブルである。マクロ工程テーブル352は、例えば、下記を表す情報を含む。
・マクロ工程に含まれる工程の数。
・マクロ工程の標準時間、開始時刻及び完了時刻。
・マクロ工程に対し入力される材料の到着時刻。
図10は、工程テーブル353の構成例を示す。
工程テーブル353は、例えばマクロ工程毎に存在する。一つのマクロ工程を例に取る。工程テーブル353は、当該マクロ工程に含まれる工程毎のプロパティを表すテーブルである。工程テーブル353は、例えば、各工程について、下記を表す情報を含む。
・材料の到着時刻。
・段取の標準時間、開始時刻及び終了時刻。
・段取の各リソースについて、当該リソースの稼働可否を表す信号を出力するか否かのフラグ(当該フラグが“1”の場合、稼働可否の信号が出力される)。
・工程の標準時間、開始時刻及び終了時刻。
・工程の各リソースについて、当該リソースの稼働可否を表す信号を出力するか否かのフラグ(当該フラグが“1”の場合、稼働可否の信号が出力される)。
図11は、前処理テーブル354の構成例を示す。
前処理テーブル354は、図3に例示の前処理91(例えば、シナリオの疑似モデルとの間での矛盾の有無のチェック)のためのテーブルである。例えば、前処理テーブル354は、疑似モデル80におけるマクロ工程毎の定義を表す情報を含む。
図12は、ルールテーブル355の構成例を示す。
ルールテーブル355は、シナリオの記述上のルール、例えば、2重定義記述の解消方法と、未指定変数へのデフォルト値とを表す。ルールテーブル355の少なくとも一部が前処理91において使用されてもよい。
図13は、リソーステーブル356の構成例を示す。
リソーステーブル356は、見える化対象となるリソース毎に、ポテンシャルの割付先(つまり、割付先となり得る要素)と現時点での割付先とを表すテーブルである。割付先は、マクロ工程全体でもよいし、マクロ工程内の段取又は工程でもよい。
図14は、シナリオ構築用データ357の構成例を示す。
シナリオ構築用データ357は、シナリオデータ358の構築のためにシナリオ構築部304に入力されるデータである。シナリオ構築用データ357は、一つの疑似モデル80について一つ又は複数のシナリオを構築するためのデータである。シナリオ構築用データ357は、製品の遅延の発生要因と遅延の発生率とが指定されたデータの一例である。シナリオ構築用データ357は、例えば、シナリオ毎に、下記の情報を含む。
・シナリオを自動で構築するか手動で構築するか。
・遅延発生の起因(例えば、人(huMan)、設備(Machine)、材料(Material)といったリソース)。
・遅延発生の起因毎の遅延発生率(例えば、当該起因としてのリソースと遅延発生率)。
・マクロ工程の同期の有無。
「遅延発生率」の定義として、任意の定義が採用されてよい。例えば、「遅延発生率」は、疑似モデル80における製品総数に対する遅延が発生する製品の数でよい。具体的には、例えば、総数が“100”である場合、「設備1:2%」は、設備1が起因で遅延が発生する製品の数が“2”でよい。
マクロ工程の同期が有り(“ON”)の場合、シナリオ構築用データ357は、マクロ工程同期テーブル1400を含む。マクロ工程同期テーブル1400は、マクロ工程間毎に、同期か非同期かを表す。なお、図14が示す例によれば、同期するマクロ工程の数は2であるが、三つ以上のマクロ工程が同期するケースがあってもよい。
本実施形態では、シナリオ構築部304が、シナリオ構築用データ357を基に、シナリオデータ358を構築する。これにより、ユーザのシナリオ構築の負担が軽減され、故に、シナリオ構築の支援も実現される。また、構築されたシナリオデータ358が表すシナリオは、シナリオ構築用データ357で指定された事項(例えば、製品の遅延発生の起因と遅延の発生率)とが反映されたシナリオとなるため、ユーザは、シナリオの詳細設定無しに、意図通りのシナリオが得られることが期待される。なお、シナリオ構築部304は、シナリオ構築用データ357に代えて又は加えて、ナレッジデータ(例えば、OTサイドプロセスのナレッジのデータベース)を基にシナリオデータ358を構築してもよい。構築されたシナリオデータ358は記憶装置252に格納される。
図15は、シナリオデータ358の構成例を示す。
シナリオデータ358は、疑似モデル80のシナリオを表す。シナリオデータ358は、例えばシナリオ毎に存在する。シナリオは、例えば、下記のうちの(a)~(e)のいずれでもよい。
(a)現場プロセスの過去の実行を再現するシナリオ(現場プロセスを過去に実際に実行した結果としてのデータと同内容の疑似実行データを取得するためのシナリオ)。
(b)現場プロセスの尤もらしい実行結果としての疑似実行データを取得するためのシナリオ。
(c)疑似モデル80の実行において適宜に製品遅延を生じさせるシナリオ。
(d)疑似モデル80のシナリオを疑似モデル実行部342に依存させるシナリオ(疑似モデル実行部342が実質的にシナリオを決めるシナリオ)。
(e)疑似モデル80の実行において遅延が一切発生しないシナリオ。
図15の例によれば、シナリオデータ358が表すシナリオは、(c)のタイプのシナリオである。具体的には、例えば、シナリオデータ358は、シナリオプロファイルデータ1501及びシナリオ詳細データ1502のうち少なくともシナリオ詳細データ1502を含む。なお、シナリオデータ358は、シナリオ構築部304によって生成されるが、人手で準備されてもよく、いずれにしても、シナリオデータ358は、シナリオ詳細データ1502を含んだデータでよい。
シナリオプロファイルデータ1501は、シナリオのプロファイルを表す。シナリオのプロファイルは、例えば、遅延種(遅延発生の起因)毎に、遅延発生の起因に属する一つ以上の要因である。
シナリオ詳細データ1502は、シナリオの詳細を表す。シナリオの詳細は、例えば、下記を含む。
・疑似モデル80が表す一つ以上のマクロ工程。
・マクロ工程毎に、それぞれ当該マクロ工程の要素であり具体的には段取又は工程である一つ以上のマクロ工程要素。
・マクロ工程要素毎に、当該マクロ工程要素に関わる一つ以上のリソース。
・リソース毎に、遅延発生回数と、遅延発生時刻のプロパティ。遅延発生時刻プロパティは、遅延発生回数が適用されたプロパティでよい。例えば、遅延発生回数が“X”の場合、遅延発生時刻プロパティは、X個の要素を含んでよい。
各リソースについて、遅延発生回数及び遅延発生時刻プロパティは、当該リソースに対応した遅延発生率(シナリオ構築用データ357が表す遅延発生率)を基にシナリオ構築部304により決定される。シナリオ構築部304は、例えば、ニューラルネットワークのような機械学習モデルでよい。ナレッジデータの少なくとも一部(例えば、過去の事例、同業種、同一会社の別ラインなどのデータ)を教師データとして当該機械学習モデルの機械学習が行われてよい。上述のナレッジデータの少なくとも一部がシナリオ構築用データ357の少なくとも一部として採用されてもよい。
図16は、マクロ工程構成テーブル359の構成例を示す。
マクロ工程構成テーブル359は、見える化対象のリソースを表す。具体的には、例えば、マクロ工程構成テーブル359は、疑似モデル80における各マクロ工程要素について、当該マクロ工程要素に関わるリソース毎に、当該リソースが見える化対象か否かのフラグを有する。
図17は、シナリオのインスタンス化の例を模式的に示す。
シナリオのインスタンス化とは、シナリオにおけるリソースのインスタンス化と遅延発生時刻のインスタンス化とを含む。
「リソースのインスタンス化」とは、リソースに対してリソースインタンスを割り付けることである。図17が示す例によれば、リソース“段取作業者2”(huManの一例)に対してリソースインスタンス“Bさん”が割り付けられる。例えば、マクロ工程要素(段取又は工程)とリソースとの組毎に、割付可能な一つ又は複数のリソースインタンスが何らかのデータ(例えばリソーステーブル356)に記述されていて、当該データを基に、割付可能な一つ以上のリソースインタンスが選択されて、選択された一つ以上のリソースインタンスが、当該マクロ工程要素とリソースとの組に割り付けられてよい。
「遅延発生時刻のインスタンス化」とは、リソースに対して遅延発生時刻プロパティを基に遅延発生時刻のインスタンスを割り付けることである。図17が示す例によれば、リソース“段取作業者2”(huManの一例)に対して、遅延発生時刻プロパティ“at anytime, at anytime”を基に、遅延発生時刻“from 9:00 to 9:15, from 15:00 to 15:15”が割り付けられる。なお、遅延発生時刻において、“from”と“to”の値(つまり、遅延発生時刻と遅延が発生している時間)は、疑似モデル80(例えば、リソーステーブル356)においてリソース毎に定義されていてよく、当該定義に従い、遅延発生時刻のインスタンス化が行われてよい。
図18は、シナリオインスタンスデータ361の構成例を示す。
シナリオインスタンスデータ361は、シナリオ詳細データ1502にシナリオのインスタンス化の結果が反映されたデータを含む。すなわち、シナリオインスタンスデータ361は、疑似モデル80における各マクロ工程要素について、当該マクロ工程要素に関わるリソース毎に、割り付けられたリソースインスタンス及び遅延発生時刻インスタンスを表す。
図19は、実際実行データ362の構成例を示す。
実際実行データ362は、現場プロセスを実際に実行した結果としてのデータである。実際実行データ362は、例えば、段取又は工程毎に、各リソースについて、開始時刻及び終了時刻、エラーの有無(“T”がエラー有)、及び、エラーの内容を含む。段取又は工程について、当該段取又は工程に関わるリソースのうち開始時刻が最も早い時刻が、当該段取又は工程の開始時刻でよい。また、段取又は工程について、当該段取又は工程に関わるリソースのうち完了時刻が最も遅い時刻が、当該段取又は工程の完了時刻でよい。段取又は工程毎に、製品IDが関連付けられていてよい。
実際実行データ362は、少なくとも一つのリソースについて、当該リソースのプロファイルを表す情報を含んでよい。例えば、リソースが“huMan”の場合、リソースのプロファイルは、当該リソースに割り付けられたリソースインスタンスの勤続年数でよい。蓄積された実際実行データ362の分析の結果として得られたパターンを含むデータが、ナレッジデータとして格納され、シナリオ構築に利用されてよい。
図20は、疑似実行データ363の構成例を示す。
疑似実行データ363は、疑似モデル80の実行結果としてのデータである。疑似実行データ363は、例えば、マクロ工程要素(段取又は工程)毎に、各リソースについて、開始時刻及び終了時刻、エラーの有無(“T”がエラー有)、及び、エラーの内容を含む。各マクロ工程要素について、当該マクロ工程要素に関わるリソースのうち開始時刻が最も早い時刻が、当該マクロ工程要素の開始時刻でよい。また、各マクロ工程要素について、当該マクロ工程要素に関わるリソースのうち完了時刻が最も遅い時刻が、当該マクロ工程要素の完了時刻でよい。疑似実行データ363も、少なくとも一つのリソースについて、当該リソースのプロファイルを表す情報を含んでよい。マクロ工程要素毎に、製品IDが関連付けられてよい。
実際実行データ362及び疑似実行データ363の構成は、図19及び図20に示す例に限られない。例えば、データ362及び363のいずれも、各製品について(例えば製品ID毎に)、段取又は工程の開始時刻及び終了時刻と、当該段取又は工程に係るリソース毎のエラーの有無とを表すデータを含んでよい。
図20が示す例によれば、疑似実行データ363は、エラー(例えば、遅延又は当該遅延の起因)が生じた工程、時刻及びリソースを表す。IT実行部302が、疑似実行データ363を基に、段取及び工程と時間との関係を表すチャート(例えば、ダイヤグラムチャートやガントチャート)を表示する。当該チャートのうち、エラー(例えば、遅延又は当該遅延の起因)が生じた段取又は工程と時刻とに該当する部分が、強調表示されている。図20が示す例によれば、工程ID“p_c”(又はhuMan ID“w_c”)と時刻“11:00”から“12:00”とに該当する部分が、エラー“T”のため、強調表示される。強調表示の一例が、図3に例示する通りである。表示の強調は、相対的な強調でよい(すなわち、該当箇所の表示強度を上げることでもよいし、非該当箇所の表示強度を下げることでもよい)。強調表示は、線分を太くすることに代えて又は加えて、色を濃くする、マークを表示するといった種々の強調表示でよい。このように、疑似実行データ363を基にエラー箇所が強調表示されるので、現場プロセスを実際に(又は試験的に)実行する前にエラー発生の可能性が高い箇所(例えば、段取又は工程、リソース及び時刻)をユーザが予測することができる。
以下、本実施形態で行われる処理の例を説明する。
シナリオ構築部304が、シナリオ構築用データ357(及び/又は上述のナレッジデータ)を基にシナリオデータ358を構築する。シナリオ入力部341が、シナリオ構築部304により構築された(又は、シナリオ構築部304に代えてユーザにより生成された)シナリオデータ358を入力し、疑似モデル実行部342が、シナリオデータ358を基に疑似モデル80を実行する。疑似モデル80の実行が、上述した前処理91、スケジューリング処理92、インスタンス化処理93及びメイン処理94の実行を含む。
図21は、前処理91、スケジューリング処理92及びインスタンス化処理93を含む処理の流れの一例を示す。
S2101では、疑似モデル実行部342が、前処理テーブル354に従い前処理91を行う。前処理91は、例えば、変数定数化とマクロ展開とのうちの少なくとも一つを含んでよい。S2101では、例えば、疑似モデル実行部342が、シナリオデータ358に矛盾がある否かの判定、つまり、スタティックに判明する(各工程を疑似的に実行すること無しに判明する)矛盾の有無を判定する。矛盾の一例は、或る工程に要する時間(開始時刻から完了時刻までの時間)が疑似モデル80において定義されている標準時間未満である、或いは、シナリオ内で両立し得ないイベントが記述されている、でよい。
矛盾があり、且つ、矛盾が、ルールテーブル355に従い解消され得る矛盾である場合、又は、矛盾が無い場合(S2102:YES)、処理がS2103へ進む。矛盾があり、且つ、矛盾の解消が不可の場合(S2102:NO)、処理が完了する。
S2103では、疑似モデル実行部342が、実際実行データ362との連携が必要か否かを、例えばシナリオデータ358を基に判定する。S2103の判定結果が真の場合(S2103:YES)、処理がS2104に進む。S2103の判定結果が偽の場合(S2103:NO)、処理がS2105に進む。なお、ここでは、説明を簡単にするために、連携対象が実際実行データ362であるが、連携対象は、実際実行データ362に代えて又は加えて、他のデータ、例えば、別の疑似実行データ363でもよい。すなわち、例えば、複数の疑似モデル80が同時に実行されてもよい。
S2104では、疑似モデル実行部342が、現場プロセスの実際のスケジュールを表すスケジュールデータを取り込む。疑似モデル実行部342が、スケジュールデータから、現場プロセスで実際に使用されるリソースを特定した場合、当該リソースについての割付けが疑似モデル実行において行われることを避けるべく、制御機能テーブル351及びリソーステーブル356の少なくとも一つの参照及び更新の少なくとも一方を行う。
S2105では、疑似モデル実行部342が、スケジューリング処理92を行う。S2105では、例えば、疑似モデル実行部342が、制御機能テーブル351、工程テーブル353及びリソーステーブル356を参照し、リソースの量的制限、使用条件制限を満足させるように、リソースの使用計画を作成する。適宜、制御機能テーブル351、工程テーブル353及びリソーステーブル356の少なくとも一つが更新されてよい。
S2106では、疑似モデル実行部342が、インスタンス化処理を行う。S2106では、例えば、疑似モデル実行部342が、S2105でのスケジューリングの結果に基づき、イレギュラーイベント(例えば、リソースインスタンス及び遅延発生時刻インスタンス)を、リソースに割り付ける。これにより、工程テーブル353について、リソース毎のイネーブルフラグが“0”から“1”に変わる(すなわち、イネーブルフラグの値が、イレギュラーイベントが割り付けられたことを表す値に変わる)。
S2107では、疑似モデル実行部342が、S2105でのスケジューリングの結果に基づき、同期動作(マクロ工程の同期の動作)を、制御機能テーブル351のコントロール信号に割り付ける。これにより、制御機能テーブル351におけるコントロール信号の値が“0”から“1”に変わり、図示しないが、同期動作の具体的な内容がコントロール信号に関連付けられる。また、S2107では、マクロ工程に対するコントロール信号がON状態になる一つ以上の期間(各期間の開始時刻及び完了時刻)が決定されてもよい。
S2108では、疑似モデル実行部342が、シナリオデータ358が表すシナリオ(コンストレイント)に違反があるか否かを判定する。この判定は、例えば、S2105でのスケジューリングの結果に、シナリオデータ358が表すシナリオが違反しているか否かの判定でよい。S2108の判定結果が真の場合(S2108:YES)、S2109で、疑似モデル実行部342が、シナリオ(コンストレイント)の違反を表すシナリオ違反情報を生成する。例えば、シナリオ違反情報は、シナリオ違反の内容(例えば、どのような違反であるかの詳細)を表す情報でよく、疑似モデル実行部342が、生成したシナリオ違反情報を出力(例えば、表示デバイス223に表示)してよい。
図22は、図21のS2106(インスタンス化処理)の流れの一例を示す。
S2201では、疑似モデル実行部342が、シナリオデータ358のうち、割付が済んでおらずリソースを特定し、当該リソース及びそれの遅延発生時刻プロパティの形式(ケース)に該当した処理を行う。ここで行われる処理は、リソースに割付可能なリソースインタンスから割付対象のリソースインタンスを決定することと、遅延発生時刻プロパティにインスタンスとしての遅延発生時刻を決定することとを含む。マクロ工程要素毎、リソース毎、或いは、マクロ工程要素とリソースとの組毎に、割付に関し種々の定義が関連付けられていて、当該定義を基に、割り付けられるインスタンスが決定されてよい。例えば、マクロ工程要素毎、リソース毎、或いは、マクロ工程要素とリソースとの組毎に、標準時間やバラツキ時間といった種々の時間(或いは、時間に加えて他種の情報)が、疑似モデル80において定義されていてよく、当該時間(及び/又は他種の情報)を基に、リソースインタンスや遅延発生時刻インスタンスが決定される。
S2202は、疑似モデル実行部342が、S2202で特定したリソースに、S2202で決定したインスタンスを割り付ける(S2202)。例えば、工程テーブル353におけるリソースイネーブルの値が“1”に変わる。
S2203では、疑似モデル実行部342が、シナリオデータ358が表す全てのリソースについてS2201を行ったか否かを判定する。S2203の判定の結果が偽の場合(S2203:NO)、処理がS2201に戻る。
以上の説明によれば、シナリオに関し、例えば以下の通りである。
疑似モデル80は、マクロ工程要素(段取又は工程)の開始時刻及び完了時刻と、リソース及びマクロ工程要素の関係とを含んでよい。一つ以上のマクロ工程要素の各々について、当該マクロ工程要素に関わるリソースは、物それ自体としてのリソースと、物に対する処理のためのリソースとのうちの少なくとも一つでよい。シナリオは、一つ以上のマクロ工程要素の各々について、当該マクロ工程要素に関わる物が起因の遅延、及び、当該マクロ工程要素に関わるリソースが起因の遅延、のうちの少なくとも一つの遅延でよい。このような構成により、現場プロセスの疑似的な実行において所望の起因の遅延を発生させることができる。そのような起因の発生に従う疑似実行データ363がITサイドプロセスの実行において使用されるので、構築される見える化システムの適切なチェックや、OTサイドプロセスへのフィードバックが期待できる。
疑似モデル80は、複数のマクロ工程の実行順序を含んでよい。各マクロ工程は、実行順序が規定された一つ以上のマクロ工程要素を含んでよい。シナリオは、二つ以上のマクロ工程の同期待ちが起因の遅延を含んでよい。これにより、疑似モデル80の実行においてマクロ工程の同期待ちが起因の遅延を意図的に生じさせ、当該遅延の結果が疑似実行データ363に反映されるため、マクロ工程の同期待ちが起因の遅延が生じた場合に起こり得る結果をユーザが予測できる。
OT実行部301は、前処理91を行ってよい。前処理91は、下記を含んでよい。これにより、疑似モデル80とは別に用意されたシナリオデータ358が表すシナリオに疑似モデル80と整合しない部分があった場合には当該部分を解消して疑似モデル80を実行することが期待できる。
・疑似モデル80を基に、シナリオデータ358が表すシナリオにおける矛盾の有無を判定すること。
・当該判定の真であり、且つ、当該矛盾が、ルールテーブル355が表すルール(所定のルールの一例)の範囲で解消可能な場合、当該矛盾を解消すること。
OT実行部301は、インスタンス化処理93を行ってよい。インスタンス化処理93は、下記を含んでよい。これにより、シナリオにリソースや発生時刻のインスタンスを含める必要が無く、以って、シナリオデータ358の構築負担を低減することができる。
・疑似モデル80及びシナリオデータ358を基に、シナリオが表すリソースそれぞれに当該リソースのインスタンスを割り付けること。
・シナリオが表すリソースのうち、遅延の発生するリソースについて、遅延の発生時刻を割り付けること。
インスタンス化処理93が行われることで、工程とリソースとの組にリソースインタンスと遅延発生時刻インスタンスとが割り付けられたシナリオインスタンスデータ361が構築される。シナリオインスタンスデータ361を基にメイン処理94が行われる。
図23は、メイン処理94の流れの一例を示す。
S2301では、疑似モデル実行部342が、マクロ工程構成テーブル359を参照し、見える化対象のリソースを特定する。マクロ工程構成テーブル359の参照に代えて、例えば次の処理が行われてよい。疑似モデル実行部342が、シナリオデータ358を基に、見える化対象として選択可能なリソースを特定し、特定された選択可能なリソースを選択可能に表示したUIを、UI部303を通じて表示してよい。疑似モデル実行部342が、見える化対象のリソースの指定を当該UIを通じて受けることで、見える化対象のリソースを特定してよい。
見える化対象のリソースに関し、全ての段取と工程との組について、S2302~S2306が行われる。段取i(工程iの段取)と工程i(工程番号iの工程)との組を例に取る。
疑似モデル実行部342が、段取iを開始し(S2302)、段取iを実行する(S2303)。
疑似モデル実行部342が、段取iを完了して工程iを開始し(S2304)、工程iを実行し(S2305)、工程iを完了する(S2306)。
段取iの開始時刻及び完了時刻、並びに、工程iの開始時刻及び完了時刻は、工程テーブル353に基づく。具体的には、例えば、段取i及び工程iの各々の完了時刻は、段取i又は工程iに関するイネーブル信号がON状態である期間と制御機能81からのコントロール信号がON状態である期間とのAND(論理和)である期間に依存する。
図24は、図23のS2303(段取実行)の流れの一例を示す。
S2401では、疑似モデル実行部342が、段取iの開始時刻tにΔtを加算する。この「Δt」は、段取iについて疑似モデル80において定義されている単位時間(単位処理分の時間)である。全ての段取で単位時間は共通でもよい。
S2402では、疑似モデル実行部342が、段取iを進めるか否かを判定する。S2402の判定は、例えば、S2401の実行後のtにおいて、段取iのイネーブル信号とコントロール信号とがいずれもON状態か否かの判定でよい。段取iのイネーブル信号は、段取iに関わる少なくとも一つ又は全てのリソースのイネーブル信号がON状態の場合、或いは、段取iに関わる少なくとも一つ又は全ての見える化対象リソースのイネーブル信号がON状態の場合、ON状態でよい。段取iのイネーブル信号の状態と、コントロール信号の状態と、時刻との関係が、疑似モデル80において定義されていてよい。
S2402の判定の結果が真の場合(S2402:YES)、S2403で、疑似モデル実行部342が、段取iを進める。S2402の判定の結果が偽の場合(S2402:NO)、S2404で、疑似モデル実行部342が、段取iを中断する。
S2405では、疑似モデル実行部342が、段取iを構成する全ての単位処理を実行したか否かを判定する。S2405の判定の結果が真の場合(S2405:YES)、段取iの完了となる。S2405の判定の結果が偽の場合(S2405:NO)、処理がS2401に戻る。
図25は、図23のS2305(工程実行)の流れの一例を示す。
S2501では、疑似モデル実行部342が、工程iの開始時刻tにΔtを加算する。この「Δt」は、工程iについて疑似モデル80において定義されている単位時間(単位処理分の時間)である。全ての工程で単位時間は共通でもよい。
S2502では、疑似モデル実行部342が、工程iを進めるか否かを判定する。S2502の判定は、例えば、S2501の実行後のtにおいて、工程iのイネーブル信号とコントロール信号とがいずれもON状態か否かの判定でよい。工程iのイネーブル信号は、工程iに関わる少なくとも一つ又は全てのリソースのイネーブル信号がON状態の場合、或いは、工程iに関わる少なくとも一つ又は全ての見える化対象リソースのイネーブル信号がON状態の場合、ON状態でよい。工程iのイネーブル信号の状態と、コントロール信号の状態と、時刻との関係が、疑似モデル80において定義されていてよい。
S2502の判定の結果が真の場合(S2502:YES)、S2503で、疑似モデル実行部342が、工程iを進める。S2502の判定の結果が偽の場合(S2502:NO)、S2504で、疑似モデル実行部342が、工程iを中断する。
S2505では、疑似モデル実行部342が、工程iを構成する全ての単位処理を実行したか否かを判定する。S2505の判定の結果が真の場合(S2505:YES)、工程iの完了となる。S2505の判定の結果が偽の場合(S2505:NO)、処理がS2501に戻る。
メイン処理94が実行されることで、疑似実行データ363が生成され記憶装置252に格納される。当該疑似実行データ363を基にITサイドプロセスを実行する前に、疑似実行データ363の異常の有無のチェックが可能である。
図26は、疑似実行データ363のチェック処理の流れの一例を示す。
S2601で、疑似モデル実行部342が、疑似実行データ363を取得する。
現場プロセスの実際の実行結果としてのデータである実際実行データ362が記憶装置252にある場合、S2602で、疑似モデル実行部342が、実際実行データ362を取得する。
S2603で、疑似モデル実行部342が、S2601で取得した疑似実行データ363をS2602で取得した実際実行データ362と比較し、疑似実行データ363の実際実行データ362との差分が、異常として定義された条件を満たすか否かを判定する(S2603)。ここで言う条件は、例えば、差分が一定量以上であることでよい。また、ここで言う「異常」は、異常それ自体である狭義の異常でもよいし、異常それ自体に加えて異常の予兆を含む広義の異常でもよい。
S2603の判定結果が真の場合(S2603:YES)、S2604で、疑似モデル実行部342が、異常を発報する(すなわち、異常の通知を出力する)。
図26に例示の処理によれば、疑似実行データ363が実際実行データ362と比較されることで、疑似実行データ363に異常を意味する可能性の高い値が含まれているか否かが分かり、以って、当該値が無くなるようOTサイドプロセスへのフィードバックが可能である。なお、疑似実行データ363と比較されるデータは、実際実行データ362に代えて又は加えて、現場プロセスが正常に行われたことを表す他種のデータが採用されてもよい。また、正常な現場プロセスが実行された結果としてのデータを基に学習された機械学習モデルが用意されていて、疑似モデル実行部342が、疑似実行データ363を当該機械学習モデルに入力し、当該機械学習モデルの出力から、疑似実行データ363に異常を意味する可能性の高い値が含まれているか否か特定してよい。
メイン処理94において疑似実行データ363が生成されるが、疑似実行データ363の生成において、適宜に、疑似実行データ363が変更される。その変更は、許容範囲でシナリオに違反する変更である。
図27は、メイン処理94における処理であって疑似実行データの生成処理の流れの一例を示す。図27に例示の処理は、例えば、マクロ工程毎に行われる。
S2701で、疑似モデル実行部342が、当該マクロ工程の実行により当該マクロ工程についての疑似実行データであるマクロ疑似データを生成する。S2701で生成されたマクロ疑似データは、暫定的なデータである。
S2702で、疑似モデル実行部342が、当該マクロ工程に投入される製品(材料)毎の所与の開始時刻と終了時刻(例えば、工程テーブル353を基に特定される時刻)から、基本系列(例えば、尤もらしい最速パターンデータ)を特定する。基本系列の具体例は後述する。
S2703で、疑似モデル実行部342が、実行順番が当該マクロ工程の直前又は直後であるマクロ工程についてのデータ(例えば、疑似実行データ)と、当該マクロ工程のマクロ疑似データが整合するか否かを判定する(S2703)。S2703の判定は、例えば、製品(材料)毎に、直前のマクロ工程の完了時刻が当該マクロ工程の開始時刻と一致するか否かの判定、及び、直後のマクロ工程の開始時刻が当該マクロ工程の完了時刻と一致するか否かの判定、のうちの少なくとも一つを含んでよい。
S2703の判定結果が偽の場合(S2703:NO)、S2704で、疑似モデル実行部342が、マクロ疑似データを、シナリオデータ358が表すシナリオに許容した範囲で違反するデータに変更する。これにより、前後のマクロ工程の疑似実行データと整合の取れる疑似実行データの生成が可能である。なお、許容範囲のシナリオ違反としてのデータへ変更が行われても、前後のマクロ工程の疑似実行データと整合が取れない場合(例えば、前後のマクロ工程の疑似実行データとの差分が一定量未満にならない場合)、疑似モデル実行部342が、異常を発報してもよい。このような例に限らず、いずれにしても、疑似モデル実行部342は、シナリオに違反したデータを生成する場合、当該違反の内容を表すシナリオ違反情報を生成し、当該シナリオ違反情報を出力してよい。
各マクロ工程についての疑似実行データの生成処理の一具体例は、例えば、図28~図30を参照して説明する通りである。以下の生成処理は、本実施形態に係る疑似実行データの生成処理に限らず、製品(対象の一例)毎に、マクロ工程(マクロタスクの一例)の所与の開始時刻、マクロ工程の所与の完了時刻、マクロ工程に属するマクロ工程要素(マクロタスク要素の一例)毎に標準時間があるケースについて当該マクロ工程の疑似的な実行結果を表すデータを生成する処理全般に適用可能でよい。
図28~図30は、一つのマクロ工程についての疑似実行データの生成処理の一具体例を模式的に示す。なお、図28~図30を参照した説明において、用語の定義は下記の通りである。
・R_t(k):第k番目の製品に対する当該マクロ工程の開始時刻(前段マクロ工程における最終工程の完了時刻)
・G_t(k):第k番目の製品に対する当該マクロ工程の完了時刻(後段マクロ工程における最先段取の開始時刻)
疑似モデル実行部342が、G_t(k)-R_t(k)の値と、与えられている各工程iの標準時間とのうちの少なくとも一つから、基本系列(尤もらしい最速パターン)を算出する。基本系列は、例えば、当該マクロ工程の標準時間と疑似時間との差が最も短く、当該マクロ工程におけるマクロ工程要素(段取又は工程)毎の標準時間を基に当該マクロ工程要素毎の開始時刻及び完了時刻が推定される系列である。疑似時間は、当該マクロ工程の所与の開始時刻と所与の完了時刻との差であり、ここでは、G_t(k)-R_t(k)の値である。
次に、疑似モデル実行部342が、遅延有グループ2802と遅延無グループ2801を生成する。具体的には、例えば、下記が行われる。
・疑似モデル実行部342が、各段取i、各工程iの標準時間から、系列の標準時間TST(例えば、Σ(段取iの標準時間+工程iの標準時間))とG_t(k)-R_t(k)の値とを比較する。TST*(1+α)>G_t(k)-R_t(k)が満たされる系列は、どの段取i且つどの工程iでも特段の遅延が発生しなかった標準系列とされる。α(誤差)は、調整されてよい(例えば、α=0でもよい)。なお、製品毎に、「系列」は、当該マクロ工程のR_t(k)(所与の開始時刻の一例)及びG_t(k)(所与の完了時刻の一例)を含む時刻集合である。「系列」は、R_t(k)及びG_t(k)のみ含んでもよいし、R_t(k)とG_t(k)間の推定時刻(マクロ工程要素の開始時刻及び/又は完了時刻)も含んでよい。「推定時刻」は、疑似モデル80から推定される時刻でよい。
・疑似モデル実行部342が、互いに隣接し合う標準系列を、遅延無グループ2801に属する系列とする。また、疑似モデル実行部342が、遅延無グループ2801に属さない互いに隣接し合う系列を遅延有グループ2802に属する系列とする。結果として、標準系列と次の標準系列との間に存在する一つ以上の系列の集合が、遅延有グループ2802である。遅延有グループ2802の隣のグループが、時系列に連続した(例えばR_t(k)が時系列に連続した)一つ以上の標準系列の集合としての遅延無グループ2801である。遅延無グループ2801を構成する一つ以上の標準系列のうちの一つが、基本系列である。
次に、疑似モデル実行部342が、遅延有グループ2802について、一つ以上のR_グループと、一つ以上のG_グループとを形成する。R_グループは、時系列に連続した一つ以上のR_t(k)の集合である。G_グループは、時系列に連続した一つ以上のG_t(k)の集合である。具体的には、例えば、下記が行われる。
・疑似モデル実行部342が、互いに隣接し合うG_t(k)の差(具体的には、G_t(k+1)-G_t(k)の値)が、上述のTST*(1+α)以下である互いに隣接するもの同士をG_グループとする。
・疑似モデル実行部342が、互いに隣接し合うRed_t(k)の差(具体的には、Red_t(k+1)-Red_t(k)の値)が上述のTST*(1+α)以下である互いに隣接するもの同士をR_グループとする。便宜上、図28~図30が示す例において、遅延有グループ2802におけるG_グループを、右から順に、G_Grp1、G_ Grp2、G_ Grp3、G_Grp4と表記する。同様に、遅延有グループ2802におけるR_グループを、右から順に、R_Grp1、R_Grp2、R_Grp3、R_Grp4と表記する。
・疑似モデル実行部342が、G_グループとR_グループとの関係が閉じた系列の上位グループとしてRG_グループを生成する。RG_グループに属するいずれの系列も別のRG_グループに属さない。便宜上、図28~図30が示す例において、遅延有グループ2802におけるRG_グループを、右から順に、RG_Grp1、RG_ Grp2、RG_ Grp3と表記する。
疑似モデル実行部342が、RG_グループ毎に、下記を実行する。下記は、例えば、右のRG_グループ(時刻が後のRG_グループ)から順次実行される。一つのRG_グループ及び一つの遅延有グループ2802を例に取る。また、遅延有グループ2802における系列を「非標準系列」と言う。
・疑似モデル実行部342が、Nの基本系列を、右に寄せて最短間隔で並べる。Nは、RG_グループを構成する非標準系列の数以下(但し、最大値は、工程数×2+1)である。Nの基本系列のうちのm番目の基本系列を「基本系列m」と言う(mは自然数)。mが小さい程、開始時刻が後の系列である。すなわち、Nの基本系列のうちの最後の基本系列が1番目の基本系列である。基本系列と非標準系列が1:1で対応する。
・疑似モデル実行部342が、基本系列m全体を、基本系列mにおける完了時刻が、対応する非標準系列の完了時刻に重なるように移動させる。この移動において、基本系列における各線分の傾きは維持される。
・疑似モデル実行部342が、基本系列mにおける上位時刻群全体を、基本系列mにおける開始時刻が、対応する非標準系列の開始時刻に重なるように移動させる。「上位時刻群」は、開始時刻を含むm番目の時刻までの時刻である。1番目の時刻は開始時刻である。この移動では、上位時刻群における各線分の傾きは維持される。言い換えれば、基本系列mにおける線分のうち、m番目の時刻と(m+1)番目の時刻間の線分のみ、傾きが変わる。
以上の処理が、各遅延有グループ2802について、RG_グループ毎に行われることで、図30に例示する時刻を表す疑似実行データが生成される。図28~図30が示す例によれば、次のような尤もらしい疑似的な実行結果(疑似実行データ)、すなわち、マクロ工程において、或るマクロ工程要素で遅延が発生すると、当該遅延が起因となって、以降、順次より前段のマクロ工程要素で遅延が発生する疑似的な実行結果を生成することができる。
図28~図30の説明は、例えば以下のように総括できる。
すなわち、OT実行部301は、疑似モデル80の実行において、下記(A)~(C)を行う。下記によれば、基本系列ベースの処理が実現され、以って、尤もらしい疑似的な実行結果としての疑似実行データの生成が期待される。
(A)OT実行部301が、遅延無グループ及び遅延有グループを特定する。遅延無グループは、時系列に連続した一つ以上の標準系列である。遅延有グループは、時系列に連続した一つ以上の非標準系列である。対象(例えば製品)毎に、系列は、マクロタスク(例えばマクロ工程)の所与の開始時刻及び所与の完了時刻を含む時刻集合である。標準系列は、マクロタスクの標準時間と疑似時間の差が一定値以下である系列である。標準時間は、マクロタスクの開始時刻と完了時刻との差の標準値である。疑似時間は、マクロタスクの所与の開始時刻と所与の完了時刻との差である。
(B)OT実行部301が、一つ以上の標準系列のうちの基本系列を基に、遅延有グループにおける一つ以上の非標準系列の各々について、当該非標準系列の尤もらしい遅延を推定する。基本系列は、マクロタスクの標準時間と疑似時間との差が最も短く、マクロタスクにおけるタスク毎の標準時間を基に当該タスク毎の開始時刻及び完了時刻が推定される系列である。
(C)OT実行部301が、(B)の推定の結果に基づく疑似実行データを生成する。
上述の(B)において、OT実行部301は、(b1)~(b3)を実行する。下記によれば、或るタスクで遅延が発生すると、当該遅延が起因となって、以降、順次より前段のマクロタスクで遅延が発生する疑似的な実行結果を生成することが期待される。
(b1)OT実行部301が、一つ又は複数の開始時刻グループ(例えばR_グループ)及び一つ又は複数の完了時刻グループ(例えば、G_グループ)を特定する。開始時刻グループは、マクロタスクの時系列に連続した一つ又は複数の所与の開始時刻であり、当該開始時刻グループにおいて、隣接する所与の開始時刻間の差は一定値以下である。完了時刻グループは、マクロタスクの時系列に連続した一つ又は複数の所与の完了時刻であり、当該完了時刻グループにおいて、隣接する所与の完了時刻間の差は一定値以下である。
(b2)OT実行部301が、一つ又は複数の開始完了グループ(例えば、RG_グループ)を特定する。開始完了グループは、一つ以上の開始グループと一つ以上の完了グループとで構成されたグループである。当該開始完了グループにおいて、いずれの所与の開始時刻もいずれの所与の完了時刻も、当該開始完了グループに閉じている。
(b3)開始完了グループ毎に、OT実行部301が、(b3-1)及び(b3-2)を実行する。
(b3-1)OT実行部301が、時系列のNの基本系列を設定する。各開始完了グループについて、Nは、自然数、且つ、当該開始完了グループに属する非標準系列の数以下の数である。
(b3-2)Nの基本系列の各々について、OT実行部301が、(b3-2-1)及び(b3-2-2)を実行する。
(b3-2-1)OT実行部301が、当該基本系列であるm番目の基本系列の全体を、当該m番目の基本系列の完了時刻が、当該m番目の基本系列に対応する非標準系列の完了時刻に重なるように移動させる。
(b3-2-2)OT実行部301が、当該m番目の基本系列における上位時刻群全体を、当該m番目の基本系列の開始時刻が、当該m番目の基本系列に対応する非標準系列の開始時刻に重なるように移動させる。1番目の基本系列は、Nの基本系列のうち開始時刻が最も遅い基本系列である。各基本系列において、上位時刻群は、当該基本系列の開始時刻を含みm番目の時刻までの時刻であり、1番目の時刻は、開始時刻である。
以上、一実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実行することが可能である。
例えば、本発明は、生産活動の見える化のシステムのシステム構築以外のシステム構築、具体的には、OTサイドプロセスの結果としてのデータをITサイドプロセスに必要とするシステム構築全般に適用できる。
また、例えば、図26のS2601~S2604は、次のような変形例が採用された処理でもよい。すなわち、疑似モデル実行部342が、製造システム200での実際実行(現場プロセスの実際実行の一例)に並行して(例えば同時に)疑似モデル80を実行することで、疑似実行データ363を取得する(S2601)。また、疑似モデル実行部342は、製造システム200での実際実行に伴い支援システム100に入力された実際実行データ362を取得する(S2603)。疑似モデル実行部342が、S2601で取得した疑似実行データ363とS2602で取得した実際実行データ362とを基に、異常として定義された条件が満たされているか否かを判定する(S2603)。S2603の判定結果が真の場合(S2603:YES)、S2604で、疑似モデル実行部342が、異常を発報する。この変形例によれば、疑似実行データ363を教師データ(例えば、理想的な生産を実施している状況に対応するデータ)として、実際実行データ362の異常性の検出が可能である。実際実行データ362に、異常な状態に陥っていたことを表すデータが存在することを、実際実行データ362の取得時にすぐに検出することは困難なケースがある。本変形例によれば、理想的に動く疑似モデルを実際実行に伴走させることによって、実際実行データ362に異常又はその予兆を表すデータがあることを検出することが期待できる。
100:支援システム

Claims (15)

  1. OT(Operation Technology)サイドにおけるプロセスであるOTサイドプロセスの結果としてのデータをIT(Information Technology)サイドにおけるプロセスであるITサイドプロセスに必要とするシステム構築を支援する支援システムであって、
    OTサイドプロセスの少なくとも一部である現場プロセスを模したモデルである疑似モデルを実行するOT実行部と、
    前記現場プロセスは、一つ又は複数の対象の各々についてそれぞれ開始及び終了する一つ又は複数のタスクを含み、
    前記疑似モデルの実行により取得されたデータである疑似実行データを基にITサイドプロセスを実行するIT実行部と
    を備え
    前記疑似モデルは、複数の対象の各々がマクロタスクを構成する複数のタスクを経由することを含み、
    前記OT実行部は、前記疑似モデルの実行において、
    (A)遅延無グループ及び遅延有グループを特定し、
    前記遅延無グループは、時系列に連続した一つ以上の標準系列であり、
    前記遅延有グループは、時系列に連続した一つ以上の非標準系列であり、
    対象毎に、系列は、前記マクロタスクの所与の開始時刻及び所与の完了時刻を含む時刻集合であり、
    標準系列は、前記マクロタスクの標準時間と疑似時間の差が一定値以下である系列であり、
    前記標準時間は、前記マクロタスクの開始時刻と完了時刻との差の標準値であり、
    前記疑似時間は、前記マクロタスクの所与の開始時刻と所与の完了時刻との差であり、
    (B)前記一つ以上の標準系列のうちの基本系列を基に、前記遅延有グループにおける前記一つ以上の非標準系列の各々について、当該非標準系列の尤もらしい遅延を推定し、
    基本系列は、前記マクロタスクの標準時間と疑似時間との差が最も短く、前記マクロタスクにおけるタスク毎の標準時間を基に当該タスク毎の開始時刻及び完了時刻が推定される系列であり、
    (C)(B)の推定の結果に基づく前記疑似実行データを生成する、
    支援システム。
  2. 前記OT実行部は、遅延が一切発生しないこと又は一つ以上のタスクに遅延が発生することを含むシナリオを表すシナリオデータを基に前記疑似モデルを実行する、
    請求項1に記載の支援システム。
  3. 前記疑似モデルは、タスクの開始時刻及び完了時刻と、リソース及びタスクの関係とを含み、
    前記一つ以上のタスクの各々について、当該タスクに関わるリソースは、物それ自体としてのリソースと、物に対する処理のためのリソースとのうちの少なくとも一つであり、
    前記シナリオは、前記一つ以上のタスクの各々について、当該タスクに関わる物が起因の遅延、及び、当該タスクに関わるリソースが起因の遅延、のうちの少なくとも一つの遅延である、
    請求項2に記載の支援システム。
  4. 前記疑似モデルは、複数のマクロタスクの実行順序を含み、
    前記複数のマクロタスクの各々は、実行順序が規定された一つ以上のタスクを含み、
    前記シナリオは、二つ以上のマクロタスクの同期待ちが起因の遅延を含む、
    請求項2に記載の支援システム。
  5. 前記OT実行部は、前処理を行い、
    前記前処理は、下記を含む、
    ・前記疑似モデルを基に、前記シナリオデータが表すシナリオにおける矛盾の有無を判定すること、
    ・当該判定の真であり、且つ、当該矛盾が所定のルールの範囲で解消可能な場合、当該矛盾を解消すること、
    請求項2に記載の支援システム。
  6. 前記OT実行部は、インスタンス化処理を行い、
    前記インスタンス化処理は、下記を含む、
    ・前記疑似モデル及び前記シナリオデータを基に、前記シナリオが表すリソースそれぞれに当該リソースのインスタンスを割り付けること、及び、
    ・前記シナリオが表すリソースのうち、遅延の発生するリソースについて、遅延の発生時刻を割り付けること、
    請求項3に記載の支援システム。
  7. 前記疑似モデルは、複数のマクロタスクの実行順序と、前記複数のマクロタスクの実行を制御する制御機能とを含み、
    前記複数のマクロタスクの各々は、実行順序が規定された一つ以上のタスクを含み、
    前記シナリオは、下記(x)及び(y)のうちの少なくとも一つの遅延であり、
    (x)前記一つ以上のタスクの各々について、当該タスクに関わる物が起因の遅延、及び、当該タスクに割り付けられるリソースが起因の遅延、のうちの少なくとも一つの遅延、
    (y)二つ以上のマクロタスクの同期待ちが起因の遅延、
    前記制御機能に、前処理及びインスタンス化処理が規定されており、
    前記OT実行部は、前記制御機能に規定されている前記前処理及び前記インスタンス化処理を行い、
    前記前処理は、下記を含み、
    ・前記シナリオデータが表すシナリオにおける矛盾の有無を判定すること、
    ・当該判定の真であり、且つ、当該矛盾が所定のルールの範囲で解消可能な場合、当該矛盾を解消すること、
    前記インスタンス化処理は、下記を含む、
    ・前記疑似モデル及び前記シナリオデータを基に、前記シナリオが表すリソースそれぞれに当該リソースのインスタンスを割り付けること、及び、
    ・前記シナリオが表すリソースのうち、遅延の発生するリソースについて、遅延の発生時刻を割り付けること、
    前記OT実行部は、前記シナリオに違反したデータを生成する場合、当該違反の内容を表す情報であるシナリオ違反情報を生成し、当該シナリオ違反情報を出力する、
    請求項3に記載の支援システム。
  8. 前記疑似実行データは、遅延又は当該遅延の起因が生じたタスク及び時刻を表し、
    前記IT実行部が、前記疑似実行データを基に、タスクと時間との関係を表すチャートを表示し、
    前記チャートのうち、遅延又は当該遅延の起因が生じたタスク及び時刻に該当する部分が、強調表示されている、
    請求項1に記載の支援システム。
  9. (B)において、前記OT実行部は、
    (b1)一つ又は複数の開始時刻グループ及び一つ又は複数の完了時刻グループを特定し、
    開始時刻グループは、前記マクロタスクの時系列に連続した一つ又は複数の所与の開始時刻であり、当該開始時刻グループにおいて、隣接する所与の開始時刻間の差は一定値以下であり、
    完了時刻グループは、前記マクロタスクの時系列に連続した一つ又は複数の所与の完了時刻であり、当該完了時刻グループにおいて、隣接する所与の完了時刻間の差は一定値以下であり、
    (b2)一つ又は複数の開始完了グループを特定し、
    開始完了グループは、一つ以上の開始グループと一つ以上の完了グループとで構成されたグループであり、当該開始完了グループにおいて、いずれの所与の開始時刻もいずれの所与の完了時刻も、当該開始完了グループに閉じており、
    (b3)開始完了グループ毎に、
    (b3-1)時系列のNの基本系列を設定し、
    各開始完了グループについて、Nは、自然数、且つ、当該開始完了グループに属する非標準系列の数以下の数であり、
    (b3-2)前記Nの基本系列の各々について、
    (b3-2-1)当該基本系列であるm番目の基本系列の全体を、当該m番目の基本系列の完了時刻が、当該m番目の基本系列に対応する非標準系列の完了時刻に重なるように移動させ、
    (b3-2-2)当該m番目の基本系列における上位時刻群全体を、当該m番目の基本系列の開始時刻が、当該m番目の基本系列に対応する非標準系列の開始時刻に重なるように移動させ、
    1番目の基本系列は、Nの基本系列のうち開始時刻が最も遅い基本系列であり、
    各基本系列において、上位時刻群は、当該基本系列の開始時刻を含みm番目の時刻までの時刻であり、1番目の時刻は、開始時刻である、
    請求項に記載の支援システム。
  10. 前記疑似モデルは、複数のマクロタスクの実行順序を含み、
    前記複数のマクロタスクの各々は、実行順序が規定された一つ以上のタスクを含み、
    前記OT実行部は、マクロタスク毎に、
    当該マクロタスクについて生成された疑似実行データが、実行順番が当該マクロタスクの直前又は直後であるマクロタスクについてのデータと整合するか否かを判定し、
    当該判定の結果が偽の場合、当該疑似実行データを、前記シナリオに許容した範囲で違反するデータに変更する、
    請求項2に記載の支援システム。
  11. 前記OT実行部は、正常な現場プロセスが実行された結果としてのデータと前記疑似実行データを比較した結果、又は、正常な現場プロセスが実行された結果としてのデータを基に学習された機械学習モデルに前記疑似実行データを入力した結果、異常を特定した場合、異常の通知を出力する、
    請求項1に記載の支援システム。
  12. 前記OT実行部は、
    前記現場プロセスの実行に並行して前記疑似モデルを実行することで疑似実行データを取得し、
    当該疑似実行データと、前記現場プロセスの実行に伴い取得された実際実行データとを基に、異常として定義された条件が満たされているか否かを判定し、
    当該判定結果が真の場合、異常を出力する、
    請求項1に記載の支援システム。
  13. 対象の遅延発生の起因と遅延の発生率とが指定されたデータとOTサイドプロセスのナレッジのデータとのうちの少なくとも一方の入力を受け当該データを基に前記シナリオを表すシナリオデータを構築するシナリオ構築部を更に備え、
    前記OT実行部は、前記シナリオ構築部により構築されたシナリオデータを基に前記疑似モデルを実行する、
    請求項2に記載の支援システム。
  14. OT(Operation Technology)サイドにおけるプロセスであるOTサイドプロセスの結果としてのデータをIT(Information Technology)サイドにおけるプロセスであるITサイドプロセスに必要とするシステム構築を支援する支援方法であって、
    コンピュータが、OTサイドプロセスの少なくとも一部である現場プロセスを模したモデルである疑似モデルを実行するステップと
    コンピュータが、前記疑似モデルの実行により取得されたデータである疑似実行データを基にITサイドプロセスを実行するステップと
    を有し
    前記現場プロセスは、一つ又は複数の対象の各々についてそれぞれ開始及び終了する一つ又は複数のタスクを含み、
    前記疑似モデルは、複数の対象の各々がマクロタスクを構成する複数のタスクを経由することを含み、
    前記疑似モデルを実行するステップにおいて、
    (A)遅延無グループ及び遅延有グループを特定し、
    前記遅延無グループは、時系列に連続した一つ以上の標準系列であり、
    前記遅延有グループは、時系列に連続した一つ以上の非標準系列であり、
    対象毎に、系列は、前記マクロタスクの所与の開始時刻及び所与の完了時刻を含む時刻集合であり、
    標準系列は、前記マクロタスクの標準時間と疑似時間の差が一定値以下である系列であり、
    前記標準時間は、前記マクロタスクの開始時刻と完了時刻との差の標準値であり、
    前記疑似時間は、前記マクロタスクの所与の開始時刻と所与の完了時刻との差であり、
    (B)前記一つ以上の標準系列のうちの基本系列を基に、前記遅延有グループにおける前記一つ以上の非標準系列の各々について、当該非標準系列の尤もらしい遅延を推定し、
    基本系列は、前記マクロタスクの標準時間と疑似時間との差が最も短く、前記マクロタスクにおけるタスク毎の標準時間を基に当該タスク毎の開始時刻及び完了時刻が推定される系列であり、
    (C)(B)の推定の結果に基づく前記疑似実行データを生成する、
    支援方法。
  15. OT(Operation Technology)サイドプロセスの少なくとも一部である現場プロセスを模したモデルである疑似モデルを実行するステップと
    前記疑似モデルの実行により取得されたデータである疑似実行データを基に、IT(Information Technology)サイドにおけるプロセスであるITサイドプロセスを実行するステップと
    をコンピュータに実行させ
    前記OTサイドプロセスは、OTサイドにおけるプロセスであり、
    前記現場プロセスは、一つ又は複数の対象の各々についてそれぞれ開始及び終了する一つ又は複数のタスクを含み、
    前記疑似モデルは、複数の対象の各々がマクロタスクを構成する複数のタスクを経由することを含み、
    前記疑似モデルを実行するステップにおいて、
    (A)遅延無グループ及び遅延有グループを特定し、
    前記遅延無グループは、時系列に連続した一つ以上の標準系列であり、
    前記遅延有グループは、時系列に連続した一つ以上の非標準系列であり、
    対象毎に、系列は、前記マクロタスクの所与の開始時刻及び所与の完了時刻を含む時刻集合であり、
    標準系列は、前記マクロタスクの標準時間と疑似時間の差が一定値以下である系列であり、
    前記標準時間は、前記マクロタスクの開始時刻と完了時刻との差の標準値であり、
    前記疑似時間は、前記マクロタスクの所与の開始時刻と所与の完了時刻との差であり、
    (B)前記一つ以上の標準系列のうちの基本系列を基に、前記遅延有グループにおける前記一つ以上の非標準系列の各々について、当該非標準系列の尤もらしい遅延を推定し、
    基本系列は、前記マクロタスクの標準時間と疑似時間との差が最も短く、前記マクロタスクにおけるタスク毎の標準時間を基に当該タスク毎の開始時刻及び完了時刻が推定される系列であり、
    (C)(B)の推定の結果に基づく前記疑似実行データを生成する、
    コンピュータプログラム。
JP2020196690A 2020-11-27 2020-11-27 システム構築を支援する支援システム及び支援方法 Active JP7053771B1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020196690A JP7053771B1 (ja) 2020-11-27 2020-11-27 システム構築を支援する支援システム及び支援方法
US17/483,911 US20220171908A1 (en) 2020-11-27 2021-09-24 Support system and support method supporting system construction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020196690A JP7053771B1 (ja) 2020-11-27 2020-11-27 システム構築を支援する支援システム及び支援方法

Publications (2)

Publication Number Publication Date
JP7053771B1 true JP7053771B1 (ja) 2022-04-12
JP2022085160A JP2022085160A (ja) 2022-06-08

Family

ID=81260089

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020196690A Active JP7053771B1 (ja) 2020-11-27 2020-11-27 システム構築を支援する支援システム及び支援方法

Country Status (2)

Country Link
US (1) US20220171908A1 (ja)
JP (1) JP7053771B1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7220695B2 (ja) * 2020-12-08 2023-02-10 株式会社Retool 活動管理システムとその方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007041950A (ja) 2005-08-04 2007-02-15 Sharp Corp 生産シミュレーション管理装置
JP2010282583A (ja) 2009-06-08 2010-12-16 Nets:Kk 生産ラインシミュレーション装置および方法
JP2018036917A (ja) 2016-08-31 2018-03-08 株式会社日立ソリューションズ データ分析装置及びデータ分析方法
JP2020077216A (ja) 2018-11-08 2020-05-21 株式会社日立製作所 製造の管理を支援するシステム及び方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0648483B2 (ja) * 1991-10-03 1994-06-22 工業技術院長 シミュレーションモデル生成装置
JP3624086B2 (ja) * 1997-12-18 2005-02-23 富士通株式会社 機器操作訓練のためのシミュレーションシステムおよびシミュレーションプログラムを記録した記録媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007041950A (ja) 2005-08-04 2007-02-15 Sharp Corp 生産シミュレーション管理装置
JP2010282583A (ja) 2009-06-08 2010-12-16 Nets:Kk 生産ラインシミュレーション装置および方法
JP2018036917A (ja) 2016-08-31 2018-03-08 株式会社日立ソリューションズ データ分析装置及びデータ分析方法
JP2020077216A (ja) 2018-11-08 2020-05-21 株式会社日立製作所 製造の管理を支援するシステム及び方法

Also Published As

Publication number Publication date
JP2022085160A (ja) 2022-06-08
US20220171908A1 (en) 2022-06-02

Similar Documents

Publication Publication Date Title
Goodall et al. A data-driven simulation to support remanufacturing operations
Yan et al. Digital twin-enabled dynamic scheduling with preventive maintenance using a double-layer Q-learning algorithm
Guo et al. Allocation of maintenance resources in mixed model assembly systems
Colledani et al. Analytical methods to support continuous improvements at Scania
JP5872561B2 (ja) 予測型逐次計算装置
Wu et al. An improved water flow-like algorithm for order acceptance and scheduling with identical parallel machines
JP7053771B1 (ja) システム構築を支援する支援システム及び支援方法
Wilson et al. A simple energy usage toolkit from manufacturing simulation data
CN108693822A (zh) 控制装置、存储介质、控制系统及控制方法
JP7101099B2 (ja) エリア利用計画システム、エリア利用計画方法、及びエリア利用計画装置
Mason et al. Improving the design process for factories: Modeling human performance variation
Stittgen et al. Simulation of utilization for LPBF manufacturing systems
US11086585B2 (en) Information processing device, information processing method and storage medium
WO2022014048A1 (ja) スケジューラシステム、スケジューラ管理装置および機械学習装置
Tjahjono et al. Linking symbiotic simulation to enterprise systems: Framework and applications
JP6799313B2 (ja) 業務施策構築支援システム、業務施策構築支援方法及びプログラム
JP2016134180A (ja) エージェントに基づく需要予測システム及び方法
Borenstein Intelligent decision support system for flexible manufacturing system design
JP6530559B2 (ja) 最適化システムおよび最適化方法
Angelidis et al. A simulation tool for complex assembly lines with multi-skilled resources
US11367032B2 (en) System and method for supporting production management
Poler et al. Dynamic modelling of decision systems (DMDS)
JP7471091B2 (ja) ジョブ実行支援システム、及びジョブ実行支援方法
WO2021090476A1 (ja) 停止原因特定支援装置、停止原因特定支援プログラムおよび方法
JP3195385B2 (ja) 生産計画システムおよび生産計画方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210702

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210702

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220114

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220331

R150 Certificate of patent or registration of utility model

Ref document number: 7053771

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150