(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-19
(45)【発行日】2023-05-29
(54)【発明の名称】パラメータ化されたバッチラン監視を用いた品質インジケータによる技術装置の制御
(51)【国際特許分類】
G05B 23/02 20060101AFI20230522BHJP
G05B 19/418 20060101ALI20230522BHJP
【FI】
G05B23/02 Z
G05B19/418 Z
G05B23/02 F
(21)【出願番号】P 2021561771
(86)(22)【出願日】2020-04-09
(86)【国際出願番号】 EP2020060266
(87)【国際公開番号】W WO2020212271
(87)【国際公開日】2020-10-22
【審査請求日】2021-12-14
(32)【優先日】2019-04-17
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】505056845
【氏名又は名称】アーベーベー・シュバイツ・アーゲー
【氏名又は名称原語表記】ABB Schweiz AG
【住所又は居所原語表記】Bruggerstrasse 66, 5400 Baden, Switzerland
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ベネディクト・シュミット
(72)【発明者】
【氏名】マルティン・ホーレンダー
(72)【発明者】
【氏名】シルヴィア・マッツェイ
【審査官】今井 貞雄
(56)【参考文献】
【文献】特開2011-248885(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/02
(57)【特許請求の範囲】
【請求項1】
コンピュータ(600)の制御モジュール(604)によって使用されるべきパラメータ(550)を取得するためのコンピュータで実施される方法(402)であって、前記制御モジュール(604)が、技術装置(110)からのバッチランデータ(504)を処理することによって前記技術装置(110)を制御するように適合され、前記方法(402)が、
生産プロセスを実行した技術装置(110)から、多変量基準時系列(510-e)の複数の基準(502)を受信するステップ(410)であって、前記多変量基準時系列(510-e)がバッチ固有のバッチラン時間間隔([t1,t
k])の時間点(t
k)に基づき、前記技術装置(110)に関するソース(120-1、120-2、120-5)からのデータ値を備え、各多変量時系列(510-e)が、
第1の測定値のためのデータを伴う、第1のソース(120-1)からの第1の時系列(511-e)と、
第2の測定値のためのデータを伴う、第2のソース(120-1)からの第2の時系列(512-e)と、
前記バッチラン時間間隔([t1,t
k])の間の特定の製造作業を記述するデータを伴う、第3のソース(120-5)からの第3の時系列(515-e)と
を備える、ステップと、
前記複数の多変量基準時系列の各多変量基準時系列(510-e)に対して別々に、
前記特定の製造作業間の遷移を決定することによって、前記バッチラン時間間隔([t1,t
k])を段階(p)へと分割し(420)、前記段階(p)が連続する時間間隔([t1,t
N]p)であり、前記第1の時系列(511-e)を特定の段階固有の第1の部分系列(511-1e、511-2e)へと、および前記第2の時系列(512)を特定の段階固有の第2の部分系列(512-1e、512-2e)へと分ける(430)ステップと、
各段階(p)に対して別々に、および前記段階固有の部分系列に対して組み合わせて、重要性規則に従って、前記複数の関連する段階固有の時系列を重要な部分時系列(1)または重要ではない部分時系列(0)へと区別するために、前記段階固有の部分系列を処理するステップ(440)
であって、重要性規則に従って区別するための処理する前記ステップ(440)は、
あらかじめ定められた閾値の範囲内のデータ値の大きさ、
正規分布の標準偏差とのデータ値の関係、
信号対雑音比、
ダイナミックタイムワーピング(DTW)距離、
相関する時系列の特定、および
分布する時系列における異常値の特定
という重要性規則のいずれかを評価することによって実行される、ステップと、
重要性情報を前記パラメータ(550)として記憶するステップ(450)と
を備え
、
前記重要性情報を記憶するステップ(450)は、前記コンピュータ(600)の前記制御モジュール(604)が前記技術装置(110)からの前記バッチランデータを処理することを選択的に許可または阻止する二進要素を有する、特定のソース(v)に関する行および特定の段階(p)に関する列を有するパラメータ行列(Φ)を提供することによって実行され、
前記パラメータ行列(Φ)の要素「0」は、処理すべきデータを示し、パラメータ行列(Φ)の要素「1」は、無視すべきデータを示す、方法
(402)。
【請求項2】
受信するステップ(410)が、過去のバッチランからのデータを伴う、過去の多変量時系列の集合体(501)からあらかじめ選択された多変量基準時系列(510-e)のために実行される、請求項1に記載の方法(402)。
【請求項3】
受信するステップ(410)が、特定の目標品質インジケータに適合する過去のバッチランからの多変量時系列を選択するための基準を用いて、過去のバッチラン(H)からの多変量時系列の集合体(501)からあらかじめ選択されている複数の多変量時系列(510-e)のために実行される、請求項1または2に記載の方法(402)。
【請求項4】
分割するステップ(420)が、前記第3の時系列(515-e)の前記データに属するイベント記述子(520-e)の時間点に従って前記段階(p)間の前記遷移を決定することによって実行される、請求項1から3のいずれか一項に記載の方法(402)。
【請求項5】
品質インジケータがすでに利用可能であるバッチランから、複数のさらなる多変量時系列(503)を受信するステップ(470)
であって、前記品質インジケータは、前記バッチランデータ(504)の関数であり、前記技術装置(110)の内部状態についての情報を含む、ステップと、
許容パラメータ(1)と阻止パラメータ(0)を切り替えることによって、前記パラメータ行列(Φ)のパラメータバリエーションのセット(550-var-0、550-var-1、550-var-2)を提供するステップ(475)と、
各パラメータバリエーションに対して、および各々のさらなる多変量時系列に対して、前記多変量時系列を処理することによって品質インジケータを取得するステップ(480)と、
前記取得された品質インジケータの差分を決定し、前記差分が最小であるバリエーション(550-var-1)を選択されるパラメータ(550')として用いるステップ(485)と
をさらに備える、請求項
1に記載の方法(402、403)。
【請求項6】
受信するステップ(470)が、前記品質インジケータが同じ品質を示すバッチランからの多変量時系列を受信するステップを備える、請求項
5に記載の方法(402、403)。
【請求項7】
前記制御モジュール(604)が、アグリゲーションの前に特定のソースおよび特定の段階に従って前記データを選択的に除外するために前記パラメータ(550)を使用する、請求項1から
6のいずれか一項に記載の方法(402、403)。
【請求項8】
請求項1から
7のいずれか一項に記載
の方法(40
2)、または請求項5から7のいずれか一項に記載の方法(402、403)を実行するように適合される、コンピュータシステム(600)。
【請求項9】
コンピュータのメモリにロードされ、前記コンピュータの少なくとも1つのプロセッサによって実行されると、請求項1から
7のいずれか一項に記載の前記コンピュータで実施される方法の前記ステップを実行する、コンピュータプログラム製品。
【請求項10】
前記技術装置(110)の特定の相互作用時間バッチラン(504)からのデータを前記技術装置(110)のステータスインジケータへとアグリゲートする制御モジュール(604)によって、請求項1から
6のいずれか一項に記載の前記コンピュータで実施される方法を実行することによって得られる前記パラメータ(550)を使用することであって、
前記制御モジュール(604)がアグリゲーションの前に特定のソースおよび特定の段階に従って前記データを選択的に除外するために前記パラメータ(550)を使用する、使用すること。
【請求項11】
特定のバッチランのための品質インジケータを特定するためのコンピュータで実施される方法(404)であって、
請求項1から
6のいずれか一項に記載の前記パラメータ(550)として前記重要性情報を読み取るステップと、
ソース固有であり段階固有である前記パラメータ(550)に従ってデータをフィルタリングするステップと、
前記データをアグリゲートするステップと
を備える、方法。
【請求項12】
前記データをアグリゲートした後で、各ソース(120-1、120-2、120-5)および/または各段階(p)のための前記品質インジケータを導くステップをさらに備える、請求項
11に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
全般に、本開示は生産プロセスに関し、より具体的には、本開示は、生産プロセスにおけるバッチランの実行を制御するための品質インジケータを決定するための、コンピュータシステム、方法、およびコンピュータプログラム製品に関する。
【背景技術】
【0002】
産業界において、技術システムは生産プロセスを実行する。あらかじめ定められた仕様に、生産プロセスが適合していること(または「コンプライアンス」)が望まれる。しかしながら、常にそうであるとは限らない。したがって、品質インジケータが、生産プロセスの特定の実行(または「バッチラン(batch-run)」)に関連付けられ得る。
【0003】
簡単に言うと、品質インジケータは、少なくとも、適合している生産と適合していない生産を区別することができる。適合性は通常はインジケータ「合格(S)」と関連付けられ、非適合性は通常はインジケータ「不合格(F)」と関連付けられる。品質インジケータは、生産プロセスを実行する技術システムの内部状態を表す。
【0004】
生産の間にデータを収集することは、(プロセスの性能の)改善に役立ち得る。データは、測定信号(たとえば、生産装置の温度、装置内の圧力)、生産イベント(たとえば、特定の弁の開閉、材料の追加)、またはステータスインジケータに起因し得る。
【0005】
バッチ処理は、化学産業などの特定の産業において広く採用されており、個別のバッチに対してデータが収集され得る。バッチ制御に関する慣習は、ANSI/ISA-88および均等物(たとえば、IEC 61512-1:1997、IEC 61512-2:2001、IEC 61512-3:2008、IEC 61512-4:2009)などにおいて標準化されている。
【0006】
バッチ処理のために、データが、時系列として、すなわち、後続の時間点のために時間順序でインデクシングされるデータ値の系列として利用可能である。時系列は、特定のバッチに関し、および/または得られる製品に関する。時系列(またはアレイ)は通常、多変量時系列として利用可能である。
【0007】
データを評価することは、異なるバッチランから時系列間の類似性を検出することを備え得る。たとえば、バッチが技術装置によって処理されている間、現在のバッチランのデータが、「合格(S)」または「不合格(F)」、「正常」または「異常」などの既知の品質インジケータを用いて基準バッチのデータと比較されている。現在のバッチランのデータが(F)の基準バッチランのデータと類似する場合、装置の操作者が介入することがあり、場合によっては現在のバッチランを(S)にすることができる。
【0008】
しかしながら、評価が複雑になる理由がある。たとえば、評価すべきデータが比較的大量にあり、個別の値は組み合わせて見られる(たとえば、温度値は圧力値などの他の値と組み合わせて評価される)。
【0009】
さらに、技術装置の操作者には、データが到着したそばからデータを調査する時間がない。コンピュータがデータを(技術システムである技術装置の)ステータスインジケータへとアグリゲートし、それにより操作者を助ける。このアグリゲーションは視覚化につながり得る。
【0010】
また、現在のバッチを基準バッチと比較することなどのバッチの比較は、比較結果を(ステータスインジケータとして)提供するコンピュータに移譲されるべきである。
【0011】
コンピュータツールは、あらかじめ定められた規則(「モデル」と呼ばれることがある)に従って、入力データ(1つまたは複数のバッチランからの)を出力データへと処理することができる。この規則はあらかじめ定められたパラメータを使用する。
【0012】
一部のツールは、規則の一部として、相関、座標変換などを使用し、データの関係の視覚化(または他の形式の表現)を出力として提供することができる。
【0013】
一部の他のツールは、現在のバッチランから、および基準バッチランから、バッチランデータを入力として使用することができ、類似性インジケータを出力として提供することができる。
【0014】
しばしば、計算手法が当技術分野で知られている。設定は、技術装置が実行する特定の生産プロセスに特化している。
【0015】
たとえば、超高温処理(UHT)牛乳では、技術装置は、特定の時間間隔の間に牛乳を特定の温度以上に加熱する加熱器である。簡単に言うと、コンピュータツールは、
・時系列を受信するための入力、
・(第1のパラメータとしての閾値との)比較器およびカウンタ(ストップウォッチ、第2のパラメータとしての時間長)を伴う規則ユニット、ならびに
・品質インジケータを提供するための出力
を有する。
【0016】
動作において、コンピュータツールは、加熱器からの入力として温度値を伴う時系列、技術規格からのパラメータ(たとえば、135℃で3秒)を受信し、適合性ステートメントの形式で品質インジケータを提供する。より洗練された例では、このツールは、閾値の線も示すディスプレイに温度値の時系列を送信する。操作者は容易にずれを認識する。このツールは、専門家(食品加工分野の)によるパラメータを用いてセットアップされ得る。
【0017】
しかしながら、生産バッチの大半では、より多くのデータが(入力として)あり、適切なパラメータを得るための(分野の知識を持つ)専門家の関与は限られている。変数の数を減らすことは規則の1つの手法であり、規則は処理ステップの適用を備え得る。しかし、規則は、入力データがどのように処理されるべきであるかについてのパラメータを必要とする。出力において、視覚化はさらなる助けとなる。
【0018】
たとえば、ツールは2次元の図を表示することができる。たとえば、データは点によって視覚化され得る。点はもはや、単一の入力または2つの入力値の組合せを表さず、アグリゲーションを含めて、規則の適用に起因する数値を表す。図の右上の象限に集まっているように見える点は、バッチランが正常に実行されている(またはされた)ことを示し得る。点が異なる象限に移動することは、バッチが正常な状態からずれていることを示し得る。
【0019】
入力値間の関係がグラフィカル要素へと変換されるような、計算の慣習を適用することすらも可能である。そうすると、点間の距離に、ユークリッド幾何学などの幾何学の比較的簡単な方法を適用することが可能である。グラフィクスを表示する必要すらない。
【0020】
しかしながら、一部のパラメータが不適切に選択されると、出力が影響を受けることがある。UHT牛乳の例では、パラメータは、ツールが牛乳の生産地(海の近くまたは山の中の牧場)およびまたは輸送時間(牛から加熱器までの)をさらなる入力として取り入れることを許容することがある。ツールはそれでも特定の象限に点を表示し得るが、牛が山からより多くの草を食べるにつれて点が移動することがある。
【0021】
専門家は、一部の入力データが重要ではないことを知っており、それに従ってパラメータを設定する。UHT処理を監視するために適切にプログラムされれば、ツールは生産地と輸送時間を無視するであろう。
【先行技術文献】
【非特許文献】
【0022】
【文献】Nomikos他、「Monitoring batch processes using multiway principal component analysis」AIChE Journal, 40.8(1994):1361-1375b
【文献】Toni Giorgino、「Computing and Visualizing Dynamic Time Warping Alignments in R:the dtw Package」、Journal of Statistical Software Vol 31 (2009)、Issue 7
【発明の概要】
【発明が解決しようとする課題】
【0023】
産業界におけるバッチのために、専門家は、適切なパラメータを適切に取得することが可能ではないことがある。プロセスははるかにより複雑であり得る。
【0024】
マルチウェイ主成分分析(MPCA、時々「多線形主成分分析」)、部分的最小二乗(PLS)技法、t分布型確率的近傍埋め込み法(t-SNE)、および他のものなどの、利用可能な多くのツールがある。
【0025】
使用の前に、ツールは、
・重要な1つまたは複数の時系列を受信し、
・適切なパラメータを使用し、
・操作者により理解される適切なフォーマットで品質インジケータを提供する
ようにプログラムされなければならない。
【0026】
しかしながら、入力における時系列の数が(ツールの)処理時間に相関し、操作者がやがてインジケータを取得するのを場合によっては妨げる、などのいくつかの制約がある。パラメータは特定の装置および特定のプロセスに固有であるので、小さな変化であっても品質インジケータの精度が大きく低下し得る。
【課題を解決するための手段】
【0027】
本発明の実施形態によれば、制御モジュールは、技術装置からバッチランデータを処理することによって技術装置を制御するように適合される。制御モジュールは、パラメータモジュールによって取得されるパラメータに従って動作する。モジュールは、装置に関するソースからのデータ値を伴う多変量基準時系列の複数の基準を受信する。測定値を伴う時系列と、バッチラン時間間隔の間の特定の製造作業を記述するデータを伴う時系列がある。モジュールは、特定の製造作業間の遷移を決定することによって時間間隔を段階へと分割し、時系列を特定の段階固有の部分系列へと分ける。各段階に対して別々に、および段階固有の部分系列に対して組み合わせて、モジュールは、段階固有の時系列を重要な部分時系列または重要ではない部分時系列として区別し、それに従ってパラメータを設定する。
【0028】
コンピュータのパラメータモジュールは、パラメータを取得するためのコンピュータで実施される方法を実行する。パラメータは制御モジュールによって使用されることになる。制御モジュールは、技術装置からのバッチランデータを処理することによって、技術装置を制御するように適合される。
【0029】
生産プロセスを実行した技術装置から、パラメータモジュールは、多変量基準時系列の複数の基準を受信する。各多変量基準時系列は、バッチ固有のバッチラン時間間隔の時間点に基づき、技術装置に関するソースからのデータ値を備える。各多変量時系列は、第1の測定値のデータを伴う第1のソースからの第1の時系列、第2の測定値のデータを伴う第2のソースからの第2の時系列、およびバッチラン時間間隔の間の特定の製造作業を記述するデータを伴う第3のソースからの第3の時系列を備える。
【0030】
複数の多変量基準時系列の各々に対して別々に、パラメータモジュールは、バッチラン時間間隔を段階pへと分割する。段階は連続する時間間隔である。パラメータモジュールは、特定の製造作業間の遷移を決定することによって時間間隔を分割する。パラメータモジュールは、第1の時系列を特定の段階固有の第1の部分系列へと分け、第2の時系列を特定の段階固有の第2の部分系列へと分ける。各段階に対して別々に、および段階固有の部分系列に対して組み合わせて、パラメータモジュールは、段階固有の部分系列を処理し、それにより、重要性規則に従って、複数関連の段階固有の時系列を重要な部分時系列または重要ではない部分時系列として区別する。パラメータモジュールは、重要性情報をパラメータとして記憶する。
【0031】
任意選択で、パラメータモジュールは、過去のバッチランからのデータを伴う、過去の多変量時系列の集合体からあらかじめ選択された時系列として、多変量基準時系列を受信する。
【0032】
任意選択で、パラメータモジュールは、特定の目標品質インジケータに適合する過去のバッチランからの多変量時系列を選択するための基準を用いて、過去のバッチランからの多変量時系列の集合体からあらかじめ選択された、複数の多変量時系列のための多変量基準時系列を受信する。
【0033】
任意選択で、パラメータモジュールは、第3の時系列のデータに属するイベント記述子の時間点に従って段階間の遷移を決定することによって、時間間隔を分割する。
【0034】
任意選択で、パラメータモジュールは、あらかじめ定められた閾値範囲内のデータ値の大きさ、正規分布の標準偏差に対するデータ値の関係、信号対雑音比(SNR)推定(比較的SNRの低い時系列を無視するために)を使用する以下の規則のうちのいずれかを評価すること、DTW距離を測定すること、時系列を重要であるものとして見なすために相関する(または同一ですらある)時系列を特定すること、分布する時系列における異常値を特定すること(異常値の数があらかじめ定められた閾値を超える場合、時系列を重要ではないものとして見なす)によって、重要性を区別するために段階固有の部分時系列を処理する。
【0035】
任意選択で、パラメータモジュールは、パラメータ行列を提供することによって重要性情報を記憶する。任意選択で、パラメータ行列は、制御モジュールが技術装置からのバッチランデータを処理することを選択的に許容または阻止する二値要素を有する。
【0036】
任意選択で、パラメータモジュールはパラメータを精密に調整する。それにより、パラメータモジュールは、品質インジケータがすでに利用可能であるバッチランから、複数のさらなる多変量時系列を受信する。パラメータモジュールは、許容パラメータと阻止パラメータを切り替えることによって、パラメータ行列のパラメータバリエーションのセットを提供する。各パラメータバリエーションに対して、および各々のさらなる多変量時系列に対して、パラメータモジュールは、多変量時系列を処理することによって品質インジケータを取得する。パラメータは、取得された品質インジケータの差分を決定し、その差分が最小になるバリエーションを選択されたパラメータとして採用する。
【0037】
任意選択で、パラメータモジュールは、品質インジケータが同じ品質を示すバッチランからの多変量時系列を受信する。
【0038】
コンピュータシステムは方法を実行するように適合される。コンピュータプログラム製品は、コンピュータのメモリにロードされてコンピュータの少なくとも1つのプロセッサによって実行されると、コンピュータで実施される方法のステップを実行する。
【0039】
さらに、パラメータ(コンピュータで実施される方法を実行することによって得られる)は、技術装置の特定の相互作用時間バッチランからのデータを技術装置のステータスインジケータへとアグリゲートする、制御モジュールによって使用される。制御モジュールは、アグリゲーションの前に特定のソースおよび特定の段階に従ってデータを選択的に除外するために、パラメータを使用する。
【0040】
コンピュータで実施される方法は、特定のバッチラン(技術装置を用いて実行される)のための品質インジケータを特定するための制御方法である。方法は、(パラメータを取得するために)方法を実行する結果としてパラメータを読み取るステップと、ソース固有であり段階固有であるパラメータに従ってデータを除外するステップと、データをアグリゲートするステップを備える。
【図面の簡単な説明】
【0041】
【
図1】操作者、技術装置、およびコンピュータを伴う、典型的な産業界での使用事例のシナリオの概略を示す図である。
【
図3】コンピュータで実施される方法のフローチャートである。
【
図4】生産プロセスを実行し、ならびに相互作用時間データおよび/または過去のデータをコンピュータに提供する、技術装置を示す図である。
【
図6】2つの処理モードにおけるインデックスによって特定される複数のデータオブジェクトを示す図である。
【
図7】過去の多変量時系列の集合体を示す図である。
【
図8】制御モジュールおよびパラメータの選択を示す図である。
【
図9】段階固有である制御モジュールおよびパラメータ、したがって改善された手法を示す図である。
【
図11】コンピュータで実施されるパラメータ取得方法のフローチャートである。
【
図12】コンピュータで実施されるパラメータ調整方法を示す図である。
【
図13】本明細書で説明される技法とともに使用され得る、汎用コンピュータデバイスおよび汎用モバイルコンピュータデバイスの例を示す図である。
【発明を実施するための形態】
【0042】
1 使用事例のシナリオの概要
図1は、操作者150、技術装置110、およびコンピュータ600(またはコンピュータシステム)を伴う典型的な産業用の使用事例のシナリオの概略を示す。コンピュータ600および/または(人の)操作者150は、技術装置110と対話する。対話は、(装置のステータスの)監視および制御(必要である場合装置のステータスの変更)という2つの相互に関係する様相を有する。コンピュータ600は、データをリアルタイムで処理することによって、技術装置110を監視する際に操作者150を助ける。装置を制御するための相互作用は、以下で説明されることになる頭字語CAOおよびCACによって示される。
【0043】
技術装置110は、バッチランにおいて生産プロセス(すなわち、作業のシーケンスとしてあらかじめ定められる)を実行する技術システムである(作業は「製造作業」または「生産作業」とも呼ばれ得る)。
【0044】
実行時間の観点では、バッチランは、相互作用時間バッチランであってもよく(すなわち、操作者/装置の相互作用および/またはコンピュータ/装置の相互作用、すなわち「現在のバッチラン」と実質的に同様)、過去のバッチランであってもよい(たとえば、生産プロセスはすでに終了しており、または取り消されている)。
【0045】
相互作用は生産プロセスと同時に発生するので、「相互作用時間」は「生産時間」でもある。
【0046】
技術装置110は、多変量時系列{D}の形式でデータをコンピュータ600に提供する。データは、相互作用時間データ504として相互作用の間に利用可能になるデータ、および過去のデータ501として以前に利用可能になったデータとして区別される。
【0047】
コンピュータ600は、参照モジュール601、パラメータモジュール602および603、ならびに、コンピュータで実施される方法のステップシーケンスを実行する制御モジュール604を備える。データリポジトリモジュール650は、当技術分野において、コンピュータメモリおよび/またはデータベースによって実装される補助モジュールである。データリポジトリモジュール650は、コンピュータ600の物理的部分であり得る。または、モジュール650はコンピュータ600によってアクセス可能であり得る。簡単にするために、
図1は、単一のコンピュータの一部としてモジュールを示すが、モジュールの機能は異なる物理コンピュータに分散されてもよい。すべてのモジュールが存在することは必要ではなく、パラメータモジュール603は任意選択である。
【0048】
パラメータモジュール602および603は、多次元データを伴う計算を実行する。したがって、この計算は計算集約的であり得る。しかし、モジュール602および603は、常に方法402および403を実行しなくてもよい。たとえば、これらの方法の実行は、相互作用の間に必要とされない。したがって、パラメータモジュール602および603は、リモートコンピュータプロバイダ(通常は「クラウド」として知られている)によって、リモートプラットフォーム上での実行のための候補である。
【0049】
モジュール601、602、603、および604によってそれぞれ実行されるステップシーケンス401、402、403、および404を伴う、コンピュータで実施される方法400のフローチャートを示す
図2と一緒に
図1を見るのが便利である。便宜的に、説明は、バッチランの間に最後のステップシーケンス404を実行する制御モジュール604で開始する。
【0050】
太い矢印により示されるように、技術装置110は、相互作用時間データ504を制御モジュール604に提供する。データ504は、相互作用時間バッチランから(すなわち、装置110によって現在実行されているバッチランから)の少なくとも1つの多変量時系列{D}を備える。制御モジュール604は、ステップシーケンス404におけるように、相互作用バッチランの品質インジケータQを提供する。
【0051】
インジケータQが許容可能な正確さで相互作用時間バッチランに対応するという、要件がある。正確さは、複数の方法の実行からのインジケータを調査することによって、または別の方法で測定され得る。許容可能な正確さについて、(コンピュータ600によって)正しく特定されるインジケータと不正確に特定されるインジケータとの比は、あらかじめ定められた閾値を超える。
【0052】
任意選択で、制御モジュール604は視覚化670の形式で品質インジケータQを提供する。
【0053】
制御モジュール604は、サブモジュールフィルタ604-Aおよびアグリゲータ604-Bへと区別され得る。制御モジュール604の関数(「f」)はQ=f({{D}},Φ,TOOL)として記述することができる。
【0054】
この区別を使用して、フィルタ604-Aのサブ関数は、{{D}}#=function({{D}},Φ)として記述することができ、アグリゲータ604-Bのサブ関数は、Q=f({{D}}#,TOOL)として記述することができる。
【0055】
制御モジュール604の入力として、{{D}}は、特定の相互作用時間バッチランからの多変量時系列であるデータ504を表す。技術装置110は複数のソース(または「変量」、インデックスv=1からV、
図4参照)を有するので、{{D}}は多変量である(モジュール604は過去のデータ501も処理することができることに留意されたい)。
【0056】
制御モジュール604からの出力として、Qは言及された品質インジケータを表す。
【0057】
アグリゲータ604-Bによって実装されると、TOOLはQを計算するためのあらかじめ定められたアルゴリズムを表す。たとえば、アルゴリズムはMPCAであり、アグリゲータ604-BはMPCAライブラリを用いて実装される。他のツール(言及されるようなPLSツールなど)も使用され得る。動作において、アグリゲータ604-Bは、データのアグリゲーション{{D}}として品質インジケータQを提供する。アグリゲータ604-Bは{{D}}を完全には使用しないが、パラメータ550に従ってフィルタリングすることによって前処理されたデータを使用する。
【0058】
フィルタ604-Aによって実装されると、{{D}}#およびΦはパラメータベースのフィルタリングを表す。フィルタ604-Aは、{{D}}を入力として受信し、{{D}}#を出力(すなわち、中間結果)として提供する。パラメータ550は、{{D}}がどの程度使用されるかを示し、それにより、フィルタ関数{{D}}#=f({{D}},Φ)を示す。フィルタリングは、{{D}}内の特定のソースvからのデータD(v,p)に固有であり、{{D}}内の特定の段階pからのデータに固有である。
【0059】
説明の便宜上、パラメータ550は二値パラメータとして説明される。データを通過させるために、または阻止するために、特定の二値パラメータが特定のデータD(v,p)に適用される。以下では、
・「通過」は「1」により(または「重要」、「許容」という用語により)記号化され、
・「阻止」は「0」により(または「重要ではない」という用語により)記号化される。
【0060】
本明細書で使用される場合、Φ(大文字のギリシャ文字ファイ)は、パラメータ550を実装するための形式としての行列を表す。パラメータ行列Φは、特定のソースvに関する行および特定の段階pに関する列を有し、0および1が行列要素のとり得る値である。言い換えると、パラメータ行列Φは、ソースvおよび段階pの粒度で、どのデータが処理される(アグリゲータ604-Bに渡す)べきであるか、およびどのデータを無視すべきであるか(阻止によって)を示す(すべての要素が1であるΦに対して:{{D}}#={{D}})。
【0061】
パラメータ550は別様に(たとえば、異なる行/列の表記を伴う行列によって、データベースの中のテーブルによって)実装され得る。パラメータ550を二値パラメータとして実装する必要はない。
【0062】
アグリゲータは当技術分野において知られているので、説明は全般にフィルタリングに注目し、より具体的にはパラメータ550を取得することに注目する。パラメータ取得は、非常に複雑な仕事であり得る。ソースの一部は、特定の品質インジケータを特定するために重要ではないデータを提供するので、データは除外されなければならない(「阻止」パラメータ)。一部の他のソースは重要であり、「通過」パラメータにより考慮される必要がある。すべての場合におけるセマンティクスを考慮することはできない。しかし、詳細を説明する前に、この説明は品質インジケータQを見る。Qは、視覚化670(操作者150への、
図2参照)を通じて、および/または制御信号への変換を通じて処理され得る。
【0063】
本明細書で使用される場合、「ユーザ」はコンピュータと対話する人物である。操作者150は、様々な機会において、たとえばコンピュータ600から品質インジケータQを使用するとき、コンピュータ600のユーザになる。Qは、(技術装置110の)内部状態についての情報を含み、したがって、操作者150が訂正行動を引き起こすことを可能にする。訂正行動を引き起こすことは、矢印により記号化される。これは、頭字語CAO(操作者による訂正行動)により標識される。
【0064】
言い換えると、操作者150は、視覚化670を見ることができ、必要な場合、技術装置110との相互作用を適合させることができる。矢印の反時計回りの構成は、制御ループとして見なされ得る。
【0065】
例では、視覚化670は2次元の図として示される。データ501/504(技術装置110からの{{D}})は、点によってアグリゲートされた形式で、または別様に視覚化され得る。点は複数のデータ値の組合せを表すことができる。慣習により、図の右上の象限に集まっているように見える点は、バッチが正常に実行されていることを示し得る。異なる象限にある(または再視覚化の後に動く)点は、対応するバッチが正常な動作からずれていることを示し得る(
図8参照)。言い換えると、制御モジュール604は、(生産プロセスの)オンライン監視を提供する。属性「オンライン」は、(データ{{D}}を品質インジケータQへと処理するための)処理時間が、技術装置110(および/または操作者150)が訂正行動を実行するのに十分短くなければならないという制約を表す。言い換えると、オンライン制約は、技術的なリアルタイム要件である。
【0066】
操作者150を関与させることは便利であるが、必要ではない。CAOに加えて、またはその代わりに、コンピュータ600が、品質インジケータQを技術装置100に転送することができる。この手法は破線690により示される。Qは、制御コマンドCAC(コンピュータによる訂正行動)へと処理されなければならないことを、当業者は理解する。コンピュータ600は、CACを直接技術装置110に送信し得る。言い換えると、視覚化670および操作者150はバイパスされ得る。
【0067】
制御モジュール604は、パラメータ550を使用することによってステップシーケンス404を実行する。言及されたように、パラメータ550はソースvおよび段階pに固有であり、パラメータ550は行列Φによって実装され得る。この説明の大部分は、パラメータ550が生産プロセスの過去の実行からのデータ{{D}}を処理することによってどのように取得され得るかを説明する。この説明は、段階固有ではないパラメータ540(
図8の)を段階固有のパラメータ(
図9の)と対比させることによって、パラメータ550の段階固有の性質を説明する。
【0068】
過去のデータを処理することからパラメータ550が取得されるにつれて、
図3に関して説明されるように、前もって実行されるステップシーケンス(すなわち、方法)がある。この説明は次いで、
図1に戻り、制御モジュール604の下に示される薄い線の矢印を説明する。しかしそれでも、少し寄り道をして視覚化670について扱うことが便利である。
【0069】
2 視覚化
図2は、例(A)、(B)、および(C)によってデータ視覚化を示す。普通は、コンピュータ600(モジュール604を伴う)は、画面上に視覚化を提供するが、他のユーザインターフェースも使用され得る(たとえば、紙に印刷する)。特定のバッチランのためのデータは、座標系内に位置する図形要素(点または垂直線など)によって視覚化される。要素の位置は、特定のアグリゲートされた値を示すものであり得る。要素は、形状(たとえば、丸い点vs四角の点)、カラーコーディング(たとえば、バッチランカテゴリを区別するための)などを通じて、さらなる情報により強化され得る。バッチ識別情報を追加することも可能である(バッチラン1から6については(C)を参照)。
【0070】
図面における特定のグラフィカルな枠(象限、円、水平線)が、任意選択で視覚化を助けることができる。これらの枠は、品質インジケータと関連付けられる境界を示すことができる。
【0071】
例(A)は、四角形の4つの象限のうちの1つに位置する点を示し、点は基準バッチラン(特定の品質を伴う過去のバッチラン、
図7参照)を表し、小さい四角形は生産バッチラン(すなわち、現在処理されているバッチ、相互作用時間)を表す。この例では、ユーザは、生産バッチランが基準バッチランと異なる品質を有することを(ここでは異なる象限への割振りから)確認することができる。
【0072】
例(B)は、同心円(または楕円)を伴う射撃目標と類似しており、内側の円内の点は特定の品質のバッチランを表し(「最高のカテゴリ」など)、外側の円内の点はより品質の低いバッチランを表す。
【0073】
例(C)は垂直線においてデータを記号化し、線はあらかじめ定められた信頼性レベルの下にある。これらのレベルは、破線の水平線(信頼限界95%)および実線の水平線(信頼限界99%)として与えられる。ID番号1、2、および4のバッチランは下限の下にあり、バッチラン3および5は下限と上限の間にあり、バッチラン6は上限より上にある。
【0074】
特定の視覚化がどのように見えるかは問題ではなく、外観はいくらか恣意的に選択される。(ユーザである)操作者150は、特定のバッチラン(すなわち、生産のバッチラン)を基準と比較することができる。
【0075】
場合によっては、操作者150は、特定のバッチのための要素が動いているのを見ることもできる。要素(たとえば、点)が右上の象限(A)または中心(B)に動いていることは、特定の基準(たとえば、中心における理想的な事例)に向かう変化を示し得る。
【0076】
図2の例では、コンピュータ600は、あらかじめ定められた計算規則(またはモデル)に従って(点または他の要素の)位置を計算する。視覚化は、計算規則を精密に調整する(特にパラメータを精密に調整することによって)ためにも使用され得る。例は
図12に関して与えられる。
【0077】
視覚化は便利であるが、必要ではないことに再び留意されたい。操作者150などのユーザは、基準バッチランのインジケータ(たとえば、(2)白い円vs黒い円)に類似した特定のアグリゲートされたインジケータを特定のバッチランが有するかどうかを容易に確認することができ、その特定のインジケータが特定の品質インジケータに関連する(かどうか)を容易に推定することができる。訂正行動は基準から特定され得る。しかし、評価はコンピュータによって実行され得る。コンピュータは位置データすら使用することもできる。これは、位置が座標の原点に対して距離L(矢印の長さ)を有するような、(2)における特定のバッチランについて示されている。
【0078】
この寄り道からのいくつかの論点を要約すると、視覚化(およびしたがって制御装置全般)は、パラメータ550の選択、基準の特定などのような話題に関係する。
【0079】
3 方法の概要
図3は、ステップシーケンス401、402、および404を伴う、コンピュータで実施される方法400のフローチャートを示す。ステップシーケンスは、コンピュータで実施される方法としても考えられ得る。説明は
図1に戻る。
【0080】
参照方法401は、過去のバッチラン501の集合体501から基準バッチランを最初に選択することによって、(多変量時系列の)複数の基準502を特定するための方法である。
【0081】
パラメータ取得方法402は、生産プロセスのバッチランを比較するために適用される制御モジュール604のためのパラメータ550を(訓練によって)取得するための方法である。方法402の詳細は、
図10から
図11に関連して説明される。
【0082】
パラメータ調整方法403は、正確さを高めるようにパラメータ550'を(パラメータ550から)選択するための任意選択で実行される方法(破線のボックス)である。その意味で、パラメータ550/550'は方法402/403によって提供される。方法403は方法402の続きであると見なされ得る。
【0083】
制御方法404は、(ソース固有であり段階固有である)パラメータ550を使用して、特定のバッチランのための品質インジケータQを特定するための方法である。それにより、方法404は、技術装置110によって実行される生産プロセスを制御するための方法でもある。実行方法404において、制御モジュール604は、段階固有の品質インジケータQ
pのシーケンスとして品質インジケータを取得することができる。完全なバッチランのための品質インジケータQ(
図1参照)を導くことも可能である。
【0084】
タイミングの観点で、方法401、402、および403は、過去のデータを入力として伴う、異なる時間に実行されるべき「オフライン」方法であり、方法404は、相互作用バッチランと実質的に同時に実行される「オンライン」方法である。パラメータの適切な選択にはつながりがある。
【0085】
図3(および
図12)はまた、1つまたは複数のコンピュータプログラムまたはコンピュータプログラム製品を示す。コンピュータプログラム製品は、コンピュータのメモリにロードされてコンピュータの少なくとも1つのプロセッサによって実行されると、コンピュータで実施される方法のステップを実行する。よって、言い換えると、フローチャートの中のブロックは、プログラムの制御下で方法がモジュールによって実施され得ることを示す。当業者は、コンピュータモジュールへの方法の適切な割当てを選ぶことができるので、割当て401/601、402/602、403/603、および404/604は説明のための便宜的な例にすぎない。
【0086】
4 技術装置
図4は、生産プロセス(すなわち、「バッチラン」)を実行し、相互作用時間データ504および/または過去のデータ501をコンピュータ600(
図1参照)に提供する、技術装置110(左側)を示す。必要である場合、データは、過去のデータ501として使用するために、データリポジトリ650(
図1参照)に入ることができる。データを501/504として区別することはこの時点では重要ではないので、この説明は{{D}}を使用する。
【0087】
例として、技術装置110は、液体115を撹拌するモーター/ミキサー112と、液体115を加熱する加熱器113と、液体115の追加(または除去)を可能にする弁114/116とを伴う、タンク111を備えるものとして示されている。言及されるように、生産プロセスは作業のシーケンスとしてあらかじめ定められている。この例では、作業は、材料の追加、加熱、待機、撹拌、および他のことである。訂正行動(相互作用の一部として
図1のCAO、CAC参照)は、行動を修正することができる(たとえば加熱を停止する、以下の議論を参照されたい)。
【0088】
バッチランを実行することによって、データ504は時系列{{D}}として利用可能になる(すなわち、後続の時間点tk、tk+1のために時間順序においてインデクシングされるデータ値の系列)。多変量時系列{{D}}は、共通の時間軸[t1,tK]を伴う単変量時系列のセット{Dv}である。{Dv}は「プロセス変数」とも呼ばれ得る。特性「多変量」は二重の波括弧{{}}により記号化され、特性「単変量」は単一の波括弧{}により記号化される。単変量時系列は「信号」とも見なされ得る。
【0089】
便宜的に、
図4は、縦軸に[0,1]値および横軸に時間[t1,t
K]を伴うデータ値のグラフ(または「軌跡」)を示す。
【0090】
時間点は時間点インデックスkを用いて「tk」により記号化されるが、時間間隔は、[t1,tK]におけるように角括弧によって閉間隔として与えられる。限界点t1、tKはその間隔に属する。例示を簡単にするために、時間間隔が連続的である(すなわち、残された時間点はない)という慣例がある。別段述べられない限り、連続する時間点と時間点の間の時間長(「タイムスロット」)は等しく、Δt=tk+1-tkである。
【0091】
一般に、Kは特定のプロセスのバッチランの間の時間点の全体の数である。バッチランは、間隔[t1,tK]という時間的な長さ(すなわち、時間長)を有する。t1より前にはデータがまだ収集されておらず、tKの後にはもはや収集されないと仮定すると、バッチランの時間長はtK-t1として計算され得る。この時間長はバッチラン固有であり得る。
【0092】
時間間隔[t1,tK]は、段階インデックスpによって特定される段階(または「区分」)へと分けられ得る。大文字のPは、特定のバッチラン間隔[t1,tK]における段階の数を表す。大文字のNpは、特定の段階pにおける時間点の数を表し、Npは段階ごとに異なり得る(すなわち、段階固有)。段階へのこの分割は、正確さを高めるために、ステップシーケンス402および404では重要になる。
【0093】
便宜的に、連続する段階p1およびp2(一般にpおよびp+1)は、[t11,tN1]および[t12,tN2]によって定義され得る。時間点tnpは、二重インデックスnpによって識別され得る。インデックスnは、段階p内の時間点を数える。第1の段階における段階1の最後の時間点tN1は、第2の段階の第1の時間点t12の前の時間点である。
【0094】
特定の段階に[t1,tK]のすべての時間点を分布させる必要はない。この段階における時間点の全体の数(p=1からPまでのNpの合計)は、Kより小さくてもよい(またはそれに等しくてもよい)。
【0095】
技術装置110はまた、いくつかのデータソース120-vとともに示され、これらはv=1からv=Vまでの変量インデックスvを伴い、集合的にデータソース120である。データソースの数Vは「多変量」に対応し、データソース120-vは単変量時系列{Dv}を提供する。1桁の数V=5(120-1から120-5、「5変量」)は便宜的な簡略化であるが、実際の装置では、V=100以上が可能である。
【0096】
産業用装置である技術装置110では、データは様々なタイプのソース120から利用可能になる。様々なタイプのソースには、測定値を提供するソース(たとえば、モーターの回転速度、液体の温度、液体の量、研究室からのデータなど)、制御命令(たとえば、液体を追加するために弁を開ける、弁を閉じる、モーターまたは加熱器を始動もしくは停止するなど)を提供するソース、または、ステータスインジケータ(たとえば、特定の弁が開いている、または閉じている)を提供するソースがある。
【0097】
データソース120は、技術装置110に関する。データソースは装置の一部であってもよく、または、データソースは、装置に流れるまたは装置から流れるデータに対応する。
図1は、装置の長方形と部分的に重複する長方形を用いてソースを示すことによって関係を記号化する。データソース120は、異なるように実装され得る。たとえば、測定値およびステータスインジケータは通常、センサから来る。または、制御命令は、技術装置110の動作を制御するコントローラコンピュータ(図示せず)から来ることがある。データソース120が物理的に技術装置110に接続される必要はない。
【0098】
前処理データモジュール630は任意選択で、データソース120-vとリポジトリ650との間で切り替えられる。前処理データモジュール630はデータを正規化する。この説明は例として正規化に言及する。
【0099】
異なるデータソース120が、異なる時点においてデータを提供し得る。たとえば、センサは、異なるサンプリングレートを使用し得る(たとえば、温度を毎分感知するvs回転を毎秒感知する)。または、ステータスインジケータは、(ステータスを変える、たとえばステータス「閉」からステータス「開」へと弁を変える)特定のイベントが発生したときに利用可能になることがある。
【0100】
当業者は、補間/外挿技法を使用して、時間を共通のΔtに(結果として共通の横軸である共通のKにも)正規化することができる。当業者は値も正規化することができる(共通の縦軸)。この例では、データ値は、最小値としての0と最大値としての1との間の数値に正規化され得る。正規化は、データと関連付けられ得る測定単位または他の情報を取り除く。正規化は最小/最大値(単位を伴う)を使用することができる。たとえば、最大回転速度が毎分60回転であるモーターでは、正規化された両極は、最大の回転に対して1であり静止状態に対して0である。ステータスデータは、たとえば、「閉じた弁」に対する値0および「開いた弁」に対する値1を用いて正規化され得る。データ値は負の符号も有し得るが、この例ではそれは示されない。
【0101】
説明されるように、パラメータ取得方法402(および制御情報404)は、時間間隔[t1,tK]を段階pへと分割し、時系列を段階固有の部分系列へと分ける、ステップを備える。例として、{D2}は部分系列D(2,3)を備え、インデックス2はソースを表し、インデックス3は段階を表す。パラメータ550(より厳密には(2,3)のためのパラメータ)に応じて、制御モジュール604のアグリゲータ604-BはD(2,3)を処理し、または処理しない。
【0102】
5 データの例
データの特定のセマンティクスは(方法401~404の)処理ステップに対して重要ではないが、
図4ではそれらの一部について論じることが有用である。
【0103】
単変量時系列は、{D1}における液体115の温度、{D2}におけるモーター112の回転、{D3}における加熱器113のバイナリステータス(オンまたはオフ)、{D4}におけるモーター112のバイナリステータス(オンまたはオフ)、および{D5}における制御命令の到着(操作者からの、または制御システムからの)を示す。以下では、時間点は(単一インデックスまたは二重インデックスを用いて)連続する順序で論じられる。本明細書で使用される場合、命令の到着は新しい段階を開始する。時々、インデックスnは8または9に設定される。tp1とtp9との間に「8*Δt」の時間間隔があるという仮定が、単に例として選択される(二桁のインデックスを避けるために)。
【0104】
時間点t1は、特定のバッチランの開始を表す。センサは、温度{D1}および回転{D2}のデータ、ならびにステータスデータ{D3}、{D4}を提供することが仮定される。段階はまだ定義されない。
【0105】
時間点t11における{D5}の中のデータは、加熱器をオンにするための命令の到着を示す。これは段階1の開始を表す。t19における{D3}の中のデータは、ステータスがそれに従って変化したことを証明する(t18におけるオフおよびt19におけるオン)。
【0106】
時間点t21における{D5}の中のデータは、段階2を開始する、加熱器をオフにするための命令の到着を示し、時間点t29における{D3}の中のデータは、それに従ってステータス変化を証明する(t29におけるオフ)。
【0107】
時間点t31における{D5}の中のデータは、段階3を開始する、モーターをオンにするための命令の到着を示し、t39における{D4}の中のデータはステータス変化を証明する。
【0108】
時間点t41における{D5}の中のデータは、段階4を開始する、モーターをオフにするための命令の到着を示し、t49における{D4}の中のデータはステータス変化を証明する。
【0109】
命令の到着は、(ここでは{D5}の中の)時系列におけるイベント記述子の存在を特に具現化するものである。{D1}および{D2}を見ると、測定値はステータス変化に従う。作業は別様に区別され得る。この例はV=5の時系列を使用するが、実際の技術装置では、この数はより大きいことに留意されたい。操作者は、品質を決定することができない可能性がある(すなわち、バッチランが進行している間に訂正行動の適用を可能にするリアルタイムの状況において)。
【0110】
これらのセマンティクスは、ステップシーケンスの実行(
図9参照)には重要ではなく、品質インジケータQ=「合格」を有するものとして
図3におけるようなバッチランを見なすことが便利であり、訂正行動(CAO,CAC)を適用する必要はない。
【0111】
5 状態遷移
図5は、技術装置110の動作の状態図を示す。
図1の{D3}および{D4}におけるステータスデータに対応して、加熱器(H)およびモーター(M)という2つの構成要素があり、オンおよびオフへの二値の区別がある場合、4つの状態と8つの状態遷移があり得る。
【0112】
t
19におけるH-to-ON、t
29におけるH-to-OFF、t
39におけるM-to-ON、およびt
49におけるM-to-OFFという、いくつかの状態遷移が、
図4についてすでに説明されている。これらの状態遷移は、生産プロセスの作業のあらかじめ定められたシーケンスに対応し、その順序における遷移について(およびあらかじめ定められた最小/最大範囲内の他の測定値について)、バッチランはQ=「合格」を有するべきである。
【0113】
M ONまたはH ONから状態(M ON,H ON)に至り、その状態から出るようなさらなる遷移がある。(i)状態(M ON,H ON)は「不合格」につながることがあり、(ii)(M ON,H ON)から離れる状態遷移は訂正行動であると考えられると、仮定する。この見方は簡略化されたものである。技術装置110は、ある数の時間点に対して(M ON,H ON)を許容することができる。
【0114】
比較的多数の変量を伴うシナリオでは、上で言及された複雑さにより、この仮定を得るのは難しい。また、これらのセマンティクスが(モジュール602、603、604によって)考慮されることは期待できない。
【0115】
以下では、この説明は、(M ON,H ON)が操作者に伝えられて潜在的な不合格条件(訂正され得る)として特定されるように、データ{{D}}がパラメータ550によってどのように処理されるべきかを説明する。
【0116】
パラメータ540/550の選択(
図1参照)は制御モジュール604への入力として重要であるので、この説明はパラメータモジュール602(パラメータ550を提供する)に注目する。
【0117】
6 分離モードデータ処理および合成モードデータ処理
図6は、2つの処理手法(または処理モード)においてインデックスx=1からXによって特定される複数のデータオブジェクト(または「セット」または「集合体」)を示す。
・分離モード(左の二重線の矢印)および
・合成モード(右側の一重線の矢印)。
【0118】
データオブジェクト(ここでは一般にインデックスx)は、たとえば
・複数の多変量時系列/多変量時系列の集合体からのインデックスhまたはインデックスeを伴う、特定の多変量時系列{{D}}
・{{D}}に属する特定の単変量時系列{Dv}(インデックスv)
・特定の段階に対する時間点[t1,tNp]、with(p)
・段階固有の(単変量)時系列、すなわち、D(v,p)、段階固有の品質インジケータQpなどの部分系列、
【0119】
左側のように、コンピュータ600(すなわち、コンピュータの内部のモジュール)は、互いに独立にオブジェクトXまで、オブジェクト1、オブジェクト2などを処理する。例は重要性の決定を含む。分離した処理は、
・直列処理(1からXまでのループ、またはxから1までのループ、または別様のループなどにおいて任意の順序での、1からXまでの反復における)、
・並列処理(サブモジュールなどによる)、または
・ハイブリッド実装(直列/並列)
によって実行され得る。
【0120】
右側のように、コンピュータ600は、互いに組み合わせてオブジェクトXまで、オブジェクト1、オブジェクト2などを処理する。オブジェクト1のためのデータは、他のオブジェクトなどからのデータとともに処理される。例は平均値または中央値の決定を含む。
【0121】
以下の他の図面では、異なる矢印タイプが繰り返される。
【0122】
この説明は、X個のデータオブジェクトへの適用における行動を記述するために、「各々の」という用語を使用する。それにより、この説明は理想的な状況を仮定した。データ処理は頻繁に、現実に実行されたバッチランからのデータに適用されるので、データオブジェクトの一部は利用可能ではないことがある。それでも、説明されたように行動を実行することができる。たとえば、多変量時系列の一部に対して、特定のソースからの特定の時系列が欠けていることがあり、コンピュータは利用可能なデータだけに対して計算を実行することができる。
【0123】
7 データの選択
図7は、過去の多変量時系列の集合体501を示す。これらの時系列は、過去のバッチランに起因する。集合体501は、たとえばデータリポジトリ650(
図1参照)において入手可能であり得る。この図は、(参照モジュール601によって実行される)ステップシーケンス401のステップを説明するのに便利である。
【0124】
過去の時系列は、象徴的な軌跡(
図4のようにV=5個の変量を伴う)によって示される。大文字のHは、集合体501においてデータが入手可能である過去のバッチランの数を表す。この図はH=5であることを示している。この数は大いに簡略化されたものである。平均で60分の時間長のバッチランを実行する技術装置110は、年間でH=8.000個という大きさのオーダーで、過去の(多変量)時系列{{D}}を収集する。
【0125】
第1の前処理ステップにおいて、参照モジュール601は、(過去のバッチランの)品質インジケータに従って、例として「合格」のようなSまたは「不合格」のようなFへと集合体501を分ける。この粒度で、品質インジケータは通常、リポジトリ650において入手可能である。
【0126】
「S」につながるバッチランを認識するために参照モジュール601がパラメータ550を提供すべきであると仮定すると、参照モジュール601は、バッチランの成功に向けた次の選択のために、ここではh=1、h=3、およびh=4のために第2のステップを実行する。Sの全体的なシェア(ここでは60%)は現実に対応するものであってはならず、この例は簡略化されたものにすぎない。選択されたバッチランに対して、参照モジュール601は、インデックスをe=1からEに変更する。本明細書で使用される場合、インデックス「e」は、(方法402において)パラメータを取得するために使用されるべきバッチランを特定するためのバッチランインデックスであり、Eは(その目的のための)バッチランの数である。
【0127】
二重線の矢印は、ステップが分離モードで実行されることを示す。
【0128】
結果として、K
eは特定のプロセスバッチランの間の時間点の総数である。Δtがすべてに対して同じであるとすると、プロセスバッチランの時間長T
eは異なる。示されるように、バッチランe=1は最長の時間がかかり、バッチランe=2は最短の時間がかかる。これは単なる所見ではなく、留意すべき特徴である。時間点の数は重要ではなく、特に時間間隔を段階へと分割するためには重要ではない(
図10参照)。
【0129】
ステップシーケンス401の結果として、参照モジュール601は、多変量基準時系列の複数の基準502を提供する。複数の基準502は、(実質的に)等しい品質インジケータQを伴う過去のバッチラン(集合体501)から、{{D}}
1から{{D}}
Eまでの基準データを備える。パラメータモジュール602による複数の基準502の処理は、
図8においてより詳しく説明される。表記{{D}}
eのための参照インデックスe=1からEは、すでに本明細書で言及されている(方法402のステップは、合成モードにおいて、特定の部分系列を互いに比較する)。
【0130】
複数の基準502は、少なくとも2つの目的で使用され得る。
・詳細が
図8から
図9について説明される第1の目的として、制御モジュール604は、基準データ502を過去のデータ501と(相互作用時間バッチランのための品質インジケータを特定するために)比較する。
・詳細が
図10から
図11について説明される第2の目的として、パラメータモジュール602は、複数の基準502を使用してパラメータ550を取得する(またはそれらを精密に調整する)。
【0131】
この選択は、単純な二値の基準((S)または(F))のために説明されたが、データを特定するためのさらなる基準も使用することができ、以下にいくつか例を挙げる。
・長さの平均または中央値(すなわち、Kの数、バッチランの時間長間隔)に従ってバッチデータを選択する
・「Monitoring batch processes using multiway principal component analysis」AIChE Journal, 40.8(1994):1361-1375bにおける、Nomikos他によるいわゆるSTA手法に従って選択する
・物質内の構成要素の具体的な濃度、純度を示すための特定の化学物質の存在の割合もしくは不存在、または他の化学的な特性、専門家との対話により得られる属性などの、経験的なデータによって通常は得られる、特定のバッチランの既知の属性などの他の基準
【0132】
これを要約すると、データはH回の過去のバッチランから入手可能であるが、1つ1つのステップについて、バッチラン候補の数が精密に調整される(そして場合によっては減らされる)。説明されたように、データは廃棄される(または「脱落させられる」、H>E)。他のリポジトリからバッチランデータを追加することも企図される(バッチデータのマージ)。
【0133】
8 パラメータに対する感受性
図8は、制御モジュール604およびパラメータ504の選択を示す。それにより、この図は、段階固有ではないパラメータに対するモジュールの感受性を示す。パラメータ540がパラメータ550の代わりに使用され得る(
図1参照)。
【0134】
たとえば、制御モジュール604は複数の基準502(「合格」の基準となる、過去のバッチランからのE個の多変量時系列{{D}}
1から{{D}}
E、
図7参照)を受信すると仮定される。
【0135】
制御モジュール604はまた、やはり多変量時系列{{D}}'の形式で、相互作用時間データ504を受信する。504/{{D}}'は、品質インジケータがまだ知られていないという意味で「新しい」。視覚化670は、基準ランのための黒い点671と、{{D}}'のための白い点675とを示す。ここでは、カラーコーディングは図示を改良するためだけに使用され、制御モジュール604が点の外観を差別化する必要はない。
【0136】
制御モジュール604は実質的にすべての単変量時系列を伴う多変量時系列を受信するが、パラメータ540は、個別の時系列をどのように処理するかについて、制御モジュール640に命令する。この例では、パラメータは、処理されるべき単変量時系列を無視されるべき単変量時系列と区別する(二値の)選択パラメータである。
【0137】
第1の事例(上で示される)では、制御モジュール604は、単変量時系列{D2}{D3}{D4}{D5}を処理するが、{D1}を無視する。第2の事例(下で示される)では、モジュールが{D2}{D3}{D5}を処理し、{D1}および{D4}を無視する。選択的な処理も、V個の処理フラグを伴うパラメータベクトルの形式でパラメータ540によって示されており、各単変量時系列に対して1つのフラグがある。この例のように、記号1は、特定の単変量時系列{Dv}が処理されている(すなわち、アグリゲータ504-Bによる処理のために渡される)ことを示し、記号0は、処理しない(すなわち、阻止する)ことを示す。(他の記号を使用することもでき、記号は必ずしも二値の記号ではない)。
【0138】
ベクトル表記では、パラメータベクトルは、上ではφ1=(0,1,1,1,1)および下のφ2=(0,1,1,0,1)である。{D4}を無視することの(この例における)結果として、視覚化670(および代替例において使用される場合690)は無用になる。
【0139】
第1の事例において、視覚化670は、1つの象限において黒い点を示し、異なる象限において白い点を示す。操作者は、新しいバッチランが基準と同じ「合格」品質を有しないと認識することができる。操作者にとって、これは、技術システムとしての技術装置110のステータスを有用に示すものである。操作者は、たとえば、基準バッチランの場合と同様に装置と対話することによって反応することができる。
【0140】
第2の事例において、視覚化670は、3つの象限にわたって分散する黒い点を示し、それらのうちの1つにおいて白い点を示す。操作者には、新しいバックランが過去のバックランに匹敵する品質を有するかどうかは見えない。
【0141】
これを要約すると、パラメータ540は、制御モジュール604の動作に影響を及ぼす。しかしながら、不適切なパラメータ選択は、受け入れられる正確さで品質インジケータを特定するのを妨げ得る。
【0142】
これを改善する(すなわち、その問題を解決する)ために、2つの主要な手法がある。
・第1の手法において、パラメータ540(ベクトルの中の)は、異なる段階を考慮するパラメータ550(たとえば、パラメータ行列Φ)に拡張され得る。パラメータは、もはや段階固有のパラメータによるエンドツーエンドパラメータではない。正確さは「エンドツーエンド」から改善され得る。
・第2の手法において、異なる段階のためのパラメータ550は、(パラメータ取得モジュール402の適用において、既知の品質を伴う基準データ502から)訓練によって取得され得る。
【0143】
両方の手法に対して、専門家のユーザの知識を使用することは任意選択である。上で言及されたように、この説明は理解を深める目的でセマンティクスに言及する。
【0144】
9 段階固有のパラメータ
図9は、制御モジュール604および段階固有であるパラメータ550を図示し、それにより、改善された手法を示す。
図8のように、異なるパラメータ550についての動作を示すために、制御モジュール604は2回図示される。
図9はP=2個の段階を区別するが、この例は
図4の例に適合する(P=4個の段階を伴う)と考えられる。
【0145】
視覚化670は、段階1については670-1として、段階2については670-2として図示される。過去のデータ501/{{D}}'は失敗したバッチラン(
図8の例のような)に起因するとも考えられる。段階固有の品質インジケータを視覚化することは、技術装置110が(リアルタイムデータであるデータ504を通じて)現在処理しているバッチランに関する結論を操作者150が導くことを可能にする。
【0146】
ここで、この説明は、複数の基準502{{D}}
1から{{D}}
E(
図7参照)を処理することによってパラメータ550をパラメータモジュール602がどのように取得するかを説明する。
【0147】
10 パラメータ
図10は、複数の基準502(
図7参照)を示す。
図10はまた、パラメータ行列Φの形式でパラメータ550を示す。
図11のフローチャートに関連して詳細が説明される。
【0148】
11 フローチャート
図11は、コンピュータで実施されるパラメータ取得方法402のフローチャートを示す。方法402は、パラメータモジュール602によって実行される。
図10から
図11は組み合わせて、パラメータ550が複数の基準502からどのように導かれ得るかを示す。
【0149】
受信ステップ410において、パラメータモジュール602は、生産プロセスの過去のバッチランの間に得られるデータを備える多変量時系列{{D}}
1…{{D}}
e…{{D}}
Eの複数の基準502(
図5参照、参照方法401によってあらかじめ選択されるもの501から502)を、(技術装置110から)受信する。
【0150】
各多変量時系列は、特定の基準バッチランから得られるデータを備える。特定の基準バッチランのバッチラン時間間隔([t
1,t
K])(Kはeと異なる)に基づいて、
・第1の時系列511は、技術装置110に関する第1のソース(
図4では120-1)からの第1の測定値のデータを有し、
・第2の時系列512も、技術装置110に関する第2のソース120-2からの第2の測定値のデータを有する。
【0151】
図4を考慮すると、これは温度{D
1}および回転{D
2}の時系列であり得るが、セマンティクスはここでは重要ではない。
【0152】
第3の時系列515は、特定の基準バッチランのバッチランの間の特定の製造作業を記述するデータを備える。この第3の時系列では、セマンティクスは重要である。製造作業の説明は、連続する段階の開始となるイベント記述子520-eを伴う例について説明される(
図4参照)。
図4の例では、イベント記述子は、{D
5}における到達命令として説明されている。
【0153】
パラメータモジュール602は、{{D}}1に対して別々に、{{D}}eに対して別々に、{{D}}Eに対して別々に、分離モードで以下のステップ420および430を実行する。例として、フローチャートは分離モードをループとして示す。
【0154】
分割ステップ420において、パラメータモジュール602は、バッチラン時間間隔([t
1,t
K])を、連続する時間間隔である段階(段階1のための[t
11,t
1N]、および段階2のための[t
21,t
2N]、Nは段階固有である)へと分割する。表記[1,N
1]、[1,N
2]はインデックスを簡略化する。ステップ420は、第1のインデックス方向に沿った(インデックスkに沿った、ここでは左から右への、
図3参照)処理として見ることができる。中間の結果として、E個の異なる時間間隔[t
11,t
1N]
eは段階へと分割される。
【0155】
この例では、段階間の遷移は、イベント記述子520-eの時間点によって決定される。段階は
図4に関連して上で説明された。
図10は、2つの段階1および段階2のみを示すことによって簡略化される。
【0156】
さらに分離モードにおいて、パラメータモジュール602は、段階分割をデータ値にも適用する。言い換えると、パラメータモジュール602は、時系列を段階固有の部分系列(この例ではP=2)へと分けるステップ(430)を実行する。
【0157】
中間結果として、データは、
・(第1の)時系列511からの、段階固有の(段階1のための)単変量時系列511-1および(段階1のための)511-2
・(第2の)時系列512からの、段階固有の(段階1のための)単変量時系列512-1および(段階1のための)512-2
において入手可能である。
【0158】
段階固有の単変量時系列は、基準インデックスeに特有である。
【0159】
説明を簡単にするために、特定の段階固有の第1の部分系列511-1、511-2および特定の段階固有の第2の部分系列512-1、512-2に対して、用語が簡略化される。より一般的には、分割ステップは、{{D}}eをD(v,p)e(3つのインデックス
・ソースに対するv
・段階に対するp
・基準に対するe
を伴う部分系列)へと分割する。
【0160】
当然、D(v,p)eは、シーケンス[1,tK]の中のデータ値を備える(インデックスkは、特定のデータ値を識別するための第4のインデックスである)。
【0161】
異なる表記(多変量を伴う)では、段階固有の時系列は{{D}}e1および{{D}}e2である。ここで与えられる段階インデックスpは第2のインデックスである。段階が区別されるデータは、E個の基準という複数の基準に対して利用可能である(複数の基準502は段階セットへと分割される)。
【0162】
処理ステップ440に対して、パラメータモジュール602は、インデックス方向を変更する。パラメータモジュールは、基準インデックスe(e=1からE)によってデータを調べる。モジュール602はまた、合成モードに変化する。
【0163】
各段階に対して別々に(一重線の矢印430)、パラメータモジュール602は、第1の段階固有の時系列および第2の段階固有の第2の時系列を、重要であるまたは重要ではないものとして区別する。重要性(非重要性)は、基準インデックスによって、基準からの特定の段階固有の時系列を調査することによって決定される。
【0164】
段階1を単なる例として用いると、
・e=Eまでの、e=1、e=2などに対する部分系列511-1、および
・e=Eまでの、e=1、e=2などに対する部分系列512-1
がある。
【0165】
重要である、または重要ではないものとして決定するための多くの基準(または重要性規則)があり、当業者は重要性規則に従ってそれらを特定することができる。以下に少数の基準のみを挙げる。
・あらかじめ定められた閾値の範囲(最小値-最大値の範囲)内にあるデータ値の大きさ
・標準から外れているなどの、正規分布(ガウス分布)の標準偏差に対して特定の関係にあるデータ値
・信号対雑音比(SNR)、
・E個の部分時系列を比較するためにDTW技法を使用することによって得られる類似性距離(DTWおよびDTWソフトウェアの概要は、たとえば、Toni Giorgino:「Computing and Visualizing Dynamic Time Warping Alignments in R:the dtw Package」(Journal of Statistical Software Vol 31 (2009)、Issue 7)において利用可能である)。重要性がそれに従って決定され得るように、整列距離はあらかじめ定められた閾値に関連付けられ得る。
【0166】
説明を簡単にするために、すべてのインスタンスe=1からEに対するデータ値(すなわち、合成モード)が0.1という最小値-最大値の範囲を超える場合、単変量時系列の重要性が例によって与えられる。
【0167】
正規化されたデータ値[0,1]を仮定すると、0.5、0.55、0.48、0.47…0.5などの、511-1においてN1*E個のデータ値がある(e=1からE、合成モード)。これらのN1*E個のデータ値のすべてが概ね0.5にとどまる。これらの最小限の変化は重要性につながらない。511-2(e=1からE、合成モード)を見ると、N1*E個のデータ値は、0.5、0.6、0.7、0.4…0.5である。最小値0.4と最大値0.7の差は、0.1という最小値-最大値の範囲を超える。結果として、時系列511-2は重要である。
【0168】
フローチャートは、別個のステップとして、しかし、実装形態において、段階固有のパラメータを取得するための重要性時系列を処理するステップ450を示し、パラメータ550は、それが入手可能になるにつれて記憶される。
【0169】
パラメータモジュール602は、パラメータ550として重要性の決定を行列Φへと記憶し、重要である場合は1、重要ではない場合は0である。この例は2つの列(段階1および2のための)を有し、2つの行(それぞれ第1および第2の時系列)を有する。
【0170】
結果として、パラメータ550は、行列Φによる例では、制御モジュール604(方法404)により使用するために段階固有のパラメータとして利用可能になる。
【0171】
一瞬
図1に戻ると、制御モジュール604は次いで、パラメータ550を適用することができる。行列Φに従って、フィルタ604-Aは、第1の段階の{D
2}および第2の段階の{D
1}を伴う{{D}}#を取得し、アグリゲータはそれから品質インジケータQを導く。
【0172】
2×2行列Φの中のパラメータ550は大いに簡略化された例となるものであり、より多くの例示的なパラメータ550は
図9のパラメータ550-1および550-2であり、行列ΦはV=5個のソースに対してP=2個の段階を伴う。しかしながら、本明細書で説明されるようなパラメータの特定は、手動のプロセスの自動化ではない。
【0173】
グループ化および合成
パラメータ550が後続の段階に対して類似している場合、パラメータをグループ化することができる。(
図9の)パラメータ550-2を見ると、パラメータは2つの段階のみに対して利用可能であるが、
図4の4段階の例を仮定する(それでもこれは簡略化である)。ある例では、段階固有のパラメータベクトルは、φ
1=φ
2(0,1,1,1,1)およびφ
3=φ
4=(0,1,1,0,1)であり得る。
【0174】
段階1および2のための部分系列を合成することができ、段階3および4のための部分系列も合成することができる。段階1および2のために第1の品質インジケータQを取得することができ、段階3および4のために第2の品質インジケータを取得することができる。
【0175】
パラメータは特定の段階(または段階グループ)に適合されるので、ツール(たとえば、制御モジュール604の中のMPCAツール)の性能は、個別の段階を監視するのにより正確であることが予想される。
【0176】
これには少なくとも2つの利点がある。
・段階固有の品質インジケータなどの結果が、全体としてバッチランのための全体的な品質インジケータをもたらし得る(すべての段階または段階グループも「合格」である場合、バッチに対して「合格」であり、合成モードで動作する)。
・基準バッチランからのずれ(すなわち、普通のプロセス実行からのずれ)をより早く検出することができる(この例では、加熱器とモーターの協働がまだ修正可能である早い段階において、操作者が加熱器ステータスを確認することができる)。
【0177】
議論
言及されたように、コンピュータ600は、時系列のセマンティクス(段階の特定を除く)を無視する。ここで、説明は、基準データがv=5個のソース
・測定データを伴う{D
1}から{D
4}、および
・段階を区別するイベントデータを伴う{D
5}
に対して利用可能である
図4の例に一時的に戻る。
【0178】
図7のように、複数の基準502の中のデータについて、品質「合格」においてE=3回のバッチランがある。
【0179】
方法402を実行すると、段階2、3、および4において{D
1}(温度)および{D
2}(回転)に対して1を伴う(v,p)行列の形式のパラメータ550につながる可能性がある。パラメータ550は、場合によっては段階固有である複数の視覚化において、黒い点が同じ象限にあるということによって、視覚化670につながる(
図7参照)。
【0180】
加熱器をオフにするための命令(t
21、
図3)が無視されると仮定すると、加熱器{D
3}のステータスはオンのままである。t
31において、命令MOTOR ONが到着し、その直後(t
39から)、モーター{D
4}はステータスONを有する。これは、短い時間に対しては許容可能である
図4におけるステータスON/ONにつながる。物理的な結果として、温度{D
1}が上昇すると仮定する。{D
1}の重要性により、正常値を超える値(above-normal value)は、黒い点から離れて白い点(現在のバッチランのための、
図7参照)に移る可能性があり、これは基準からのずれを示す。視覚化は、(技術システムとしての)技術装置のステータスを示し、操作者150は(たとえば、加熱器をオフにするための)訂正行動をとることができる。
【0181】
アグリゲータ604-Bは段階固有のパラメータを使用するので、制御モジュール604(フィルタおよびアグリゲータを伴う)は、段階固有モデルを使用するものとして理解され得る。
【0182】
複数の基準502(参照方法401からの結果)は、時間間隔[t1,tK]に対して利用可能であるが、分割ステップ430(方法402)も、(たとえば、リポジトリに)記憶され得る段階固有の基準を生み出す。(ステップ440/450からの)重要性情報を考慮する段階固有の基準を生み出すことも可能である。
【0183】
根本的な原因の分析
説明されたように、品質インジケータ(視覚化される、またはされない)が、ステータスを示すために使用され得るが、操作者はそのインジケータを使用して、ずれの根本的な原因を調査することができる。この例では、加熱器をオフにするための命令が加熱器に到達しないようなアノマリーが存在する可能性がある。
【0184】
MPCAの適用可能性
説明されるように、制御モジュール604は、MPCAツールをアグリゲータ604-Bとして使用する。しかしながら、他の(アグリゲータ)ツールも使用することができる。たとえば、クラスタリングツール、部分的最小二乗(PLS)技法を考慮するツールである。
【0185】
12 パラメータの精密な調整
パラメータ550を取得するための方法402を説明したので、ここで説明は、パラメータ550を(選択されるパラメータ550'として)より正確にするための手法を説明する。
【0186】
図12は、パラメータを調整するためのコンピュータで実施される方法403を示す。方法403は、従来のフローチャートによってのみ示されるのではなく、処理されているデータの記号による図示によっても示される。ステップの参照符号470、475、480、および485が図の左側に示されている。
【0187】
パラメータ調整方法403は、「阻止」のシェアを増やし、「許可」(または「通過」)のシェアを減らすという意味で、パラメータ550をより厳しくする任意選択の方法である。言い換えると、行列Φ'は、行列Φより多くの「0」の要素を有する。アグリゲータ504-Bは、より少ないデータを処理しなければならず、より正確な現実に対応する品質インジケータQを提供する。
【0188】
パラメータ調整方法403は、パラメータモジュール603(
図1参照)によって実行され得るが、そのモジュールによって完全には実行されない。パラメータモジュール603は、調整器モジュールと見なされ得る。それは、他のモジュールによる活動を惹起する調整機能も有する。
【0189】
この説明は、パラメータ行列Φの形式のパラメータ550を引き続き扱う。
【0190】
パラメータモジュール603は、多変量時系列{{D}}1から{{D}}6として複数の過去のバッチランデータ503を受信する(470)。6というバッチランの数は、説明のための便宜的なものにすぎない。{{D}}1から{{D}}6は、複数の基準502の中のデータと必ずしも同一ではない。{{D}}1から{{D}}6は、集合体501から受信され得る(上付き文字のインデックスを使用すると、違いが明らかになる)。
【0191】
バッチランは目標品質の既知の品質インジケータ(たとえば、すべての6個に対して「合格」)を有する。品質インジケータが、(各バッチランに対して)方法404を実行することによって得られる必要はない。バッチランが独立に選択されるようにすることがより適切である。バッチラン1~6(データ{{D}}を伴う)は、較正基準として用いられる。受信470において、パラメータモジュール603は専門家のユーザと対話することができる。
【0192】
パラメータモジュール603はここで、パラメータ550を修正し、パラメータバリエーションのセットを提供する。この図は、バリエーション550-var-1および550-var-2において「1」を削除する(「1」を追加しない)ことによって、行列Φ(550-2、
図9参照)開始行列550-var-0を用いることによってこれを示す。
【0193】
パラメータモジュール603は、(
図1について上で説明されたような多変量時系列を処理することによって)品質インジケータQを取得する(480)ように制御モジュール604を命令する。
【0194】
この例では、品質インジケータは、視覚化の中の点の位置によって示される。全体で6×3個のインジケータ(点)がある。便宜的に、視覚化は円を使用する(
図3(B)参照)。
【0195】
開始行列として5つのソース、2つの段階の行列(
図8から)を用いると、視覚化670は円内の4つの点(バッチ2、3、4、6)および円外の2つの点(1、5)をもたらす。第1のバリエーション(var-1)は円内にすべての点(6つの基準のための)を示し、第2のバリエーション(var-2)は円内に5つの点および円外に1つの点を示す。これは、第1のバリエーションがより適切なパラメータベクトルであるという仮定につながる。したがって、第1のバリエーションのΦ'は、生産バッチランからのデータを、それらが到着するにつれてさらに処理するために使用され得る。言い換えると、Φ(
図9の550-2)はΦ(
図12の550-var-1)に最適化されている。
【0196】
この機能において、制御モジュール604は、相互作用時間データ504とともに動作せず、機能は上で説明されたものと同じである。視覚化を見ることは、手法を説明するための便宜的な方法にすぎない。Qをユーザに対して実際に視覚化することは必要とされない。
【0197】
図12の例では、ユーザは、最高の正確さでパラメータ選択550'としてvar-01を認識し、パラメータモジュール603は、処理によってこの選択を行うことができる。これは、取得された品質インジケータの差分を決定する(485)によって示される。その差分が最小であるバリエーション(たとえば、550-var-1)が次いで、選択されたパラメータ550'として用いられる。
【0198】
図12の図示は例にすぎない。点(6つの基準に対する6つの点)から円の中心までの距離βが、バリエーションのために合計され得る。示されるように、バリエーション550-var-1に対する最小値の合計。
【0199】
パラメータを調整することは、較正の一形態であると見なされ得る。したがって、それは、品質インジケータが同じ品質(この例では「合格」)を示すバッチランから時系列を受信する(ステップ470)のに適している。
【0200】
しかしながら、これは必須ではない。当業者は、基準バッチを混合することによって手法を修正することができる。たとえば、バッチ1および5を既知の異なる品質(ここでは不合格)から取ることができ、バッチ2~4および6を「合格パッチ」から取ることができる。この場合、不合格バッチは白い点によって示される。許容可能な正確さをもたらすパラメータ550/550'に対して、(この例では左側にのみ示されるように)白い点は円の外側に位置する。
【0201】
差分計算を考慮すると、基準は、反対の品質を伴うバッチ間の(Qの)最大の距離(たとえば、黒い点と白い点の間の最大の距離に対する最適なパラメータ)であり得る。
【0202】
当業者は、クラスタなどへと品質インジケータをグループ化することなどの、統計的方法を適用することができる。クラスタリング手法は当技術分野において知られている。異常値は、平均の計算の代わりに中央値の計算を適用することなどの、ロバストな手法を使用することによって無視され得る。
【0203】
さらなるアグリゲーションとして、異なるクラスタの分離(すなわち、合格/不合格のための品質インジケータ)は、パラメータの適切性(不適切性)を示す分離尺度をもたらし得る。この点で、いわゆる偽陰性および偽陽性の特定も言及される。
【0204】
多くの代替例が可能である。さらなるモジュールを提供する必要はなく、一部のモジュールの(たとえば、制御モジュールの)機能は再使用され得ることに留意されたい。
【0205】
13 汎用コンピュータ
図13は、本明細書で説明される技法とともに使用され得る、汎用コンピュータデバイス900および汎用モバイルコンピュータデバイス950の例を示す。コンピューティングデバイス900は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの、様々な形式のデジタルコンピュータを表すことが意図される。汎用コンピュータデバイス900は、
図1のコンピュータ600に対応し得る。コンピューティングデバイス950は、携帯情報端末、携帯電話、スマートフォン、および他の同様のコンピューティングデバイスなどの、様々な形式のモバイルデバイスを表すことが意図される。たとえば、コンピューティングデバイス950は、
図1に示されるようなデバイスのデータストレージコンポーネントおよび/または処理コンポーネントを含み得る。ここで示されるコンポーネント、それらの接続および関係、ならびにそれらの機能は、例示であることのみが意図されており、本文書において説明および/または特許請求される本発明の実装形態を限定することは意図されない。
【0206】
コンピューティングデバイス900は、プロセッサ902、メモリ904、ストレージデバイス906、メモリ904および高速拡張ポート910に接続する高速インターフェース908、ならびに低速バス914およびストレージデバイス906に接続する低速インターフェース912を含む。コンポーネント902、904、906、908、910、および912の各々は、様々なバスを使用して相互接続され、共通のマザーボードに、または適宜他の方式でマウントされ得る。プロセッサ902は、高速インターフェース908に結合されたディスプレイ916などの外部入力/出力デバイス上にGUIのためのグラフィカル情報を表示するために、メモリ904およびストレージデバイス906に記憶されている命令を含む命令を、コンピューティングデバイス900内での実行のために処理することができる。他の実装形態では、複数のプロセッサおよび/または複数のバスは、複数のメモリおよびメモリのタイプとともに適宜使用され得る。また、複数のコンピューティングデバイス900が接続されてもよく、各デバイスは必要な動作の部分を提供する(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)。
【0207】
メモリ904は、コンピューティングデバイス900内に情報を記憶する。一実装形態では、メモリ904は1つまたは複数の揮発性メモリユニットである。別の実装形態では、メモリ904は1つまたは複数の不揮発性メモリユニットである。メモリ904はまた、磁気ディスクまたは光学ディスクなどの、別の形式のコンピュータ可読媒体であり得る。
【0208】
ストレージデバイス906は、コンピューティングデバイス900のために大容量記憶を提供することが可能である。一実装形態では、ストレージデバイス906は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光学ディスクデバイス、もしくはテープデバイス、フラッシュメモリもしくは他の類似のソリッドステートメモリデバイス、または、ストレージエリアネットワークもしくは他の構成の中のデバイスを含むデバイスのアレイなどの、コンピュータ可読媒体であってもよく、またはそれを含んでもよい。コンピュータプログラム製品は、情報担体に有形に具現化され得る。コンピュータプログラム製品はまた、実行されると、上で説明されたものなどの1つまたは複数の方法を実行する命令を含み得る。情報担体は、メモリ904、ストレージデバイス906、またはプロセッサ902上のメモリなどの、コンピュータまたは機械可読媒体である。
【0209】
高速コントローラ908はコンピューティングデバイス900のために帯域幅集約的な動作を管理するが、低速コントローラ912はより帯域幅集約的ではない動作を管理する。機能のそのような割振りは例にすぎない。一実装形態では、高速コントローラ908は、メモリ904に、(たとえば、グラフィクスプロセッサまたはアクセラレータを通じて)ディスプレイ916に、および様々な拡張カード(図示せず)を受け入れることができる高速拡張ポート910に結合される。この実装形態では、低速コントローラ912は、ストレージデバイス906および低速拡張ポート914に結合される。様々な通信ポート(たとえば、USB、Bluetooth(登録商標)、Ethernet(登録商標)、ワイヤレスEthernet(登録商標))を含み得る低速拡張ポートは、キーボード、ポインティングデバイス、スキャナなどの1つまたは複数の入力/出力デバイス、またはスイッチもしくはルータなどのネットワーキングデバイスに、たとえばネットワークアダプタを通じて結合され得る。
【0210】
コンピューティングデバイス900は、図に示されるように、いくつかの異なる形式で実装され得る。たとえば、それは、標準的なサーバ920として、またはそのようなサーバのグループにおいて複数回実装され得る。それはまた、ラックサーバシステム924の一部として実装され得る。加えて、それは、ラップトップコンピュータ922などのパーソナルコンピュータにおいて実装され得る。代替的に、コンピューティングデバイス900からのコンポーネントは、デバイス950などのモバイルデバイス(図示せず)の中の他のコンポーネントと組み合わせられ得る。そのようなデバイスの各々は、コンピューティングデバイス900、950のうちの1つまたは複数を含んでもよく、システム全体が、互いに通信する複数のコンピューティングデバイス900、950からなっていてもよい。
【0211】
コンピューティングデバイス950は、コンポーネントの中でもとりわけ、プロセッサ952、メモリ964、ディスプレイ954などの入力/出力デバイス、通信インターフェース966、およびトランシーバ968を含む。デバイス950には、追加のストレージを提供するために、マイクロドライブまたは他のデバイスなどのストレージデバイスも設けられ得る。コンポーネント950、952、964、954、966、および968の各々は、様々なバスを使用して相互接続され、コンポーネントのいくつかは、共通のマザーボードに、または適宜他の方式でマウントされ得る。
【0212】
プロセッサ952は、メモリ964に記憶される命令を含む、コンピューティングデバイス950内の命令を実行することができる。プロセッサは、別々の複数のアナログプロセッサおよびデジタルプロセッサを含むチップのチップセットとして実装され得る。プロセッサは、たとえば、ユーザインターフェースの制御、デバイス950により実行されるアプリケーション、およびデバイス950によるワイヤレス通信などの、デバイス950の他のコンポーネントの協調を可能にし得る。
【0213】
プロセッサ952は、ディスプレイ954に結合される制御インターフェース958およびディスプレイインターフェース956を通じてユーザと意思疎通し得る。ディスプレイ954は、たとえば、TFT LCD(薄膜トランジスタ液晶ディスプレイ)またはOLED(有機発光ダイオード)ディスプレイ、または他の適切なディスプレイ技術であり得る。ディスプレイインターフェース956は、グラフィカル情報および他の情報をユーザに提示するようにディスプレイ954を駆動するための適切な回路を備え得る。制御インターフェース958は、ユーザから命令を受け取り、それらをプロセッサ952に出すために変換し得る。加えて、外部インターフェース962は、他のデバイスとのデバイス950の近距離通信を可能にするために、プロセッサ952と通信していてもよい。外部インターフェース962は、たとえば、いくつかの実装形態では有線通信を可能にし、または他の実装形態ではワイヤレス通信を可能にしてもよく、複数のインターフェースも使用されてもよい。
【0214】
メモリ964はコンピューティング950内に情報を記憶する。メモリ964は、1つまたは複数のコンピュータ可読媒体、1つまたは複数の揮発性メモリユニット、または1つまたは複数の不揮発性メモリユニットのうちの1つまたは複数として実装され得る。拡張メモリ984も提供され、たとえばSIMM(シングルインラインメモリモジュール)カードインターフェースを含み得る拡張インターフェース982を通じてデバイス950に接続されてもよい。そのような拡張メモリ984は、デバイス950のために余剰のストレージ空間を提供してもよく、またはデバイス950のためのアプリケーションもしくは他の情報を記憶してもよい。具体的には、拡張メモリ984は、上で説明されたプロセスを実行または補足するための命令を含んでもよく、セキュア情報も含んでもよい。したがって、たとえば、拡張メモリ984は、デバイス950のためのセキュリティモジュールとして機能してもよく、デバイス950のセキュアな使用を可能にする命令でプログラムされてもよい。加えて、セキュアなアプリケーションは、ハッキング不可能な方式でSIMMカード上に識別情報を置くなど、追加の情報とともにSIMMカードを介して提供され得る。
【0215】
メモリは、たとえば、以下で論じられるようにフラッシュメモリおよび/またはNVRAMメモリを含み得る。一実装形態では、コンピュータプログラム製品は、情報担体に有形に具現化される。コンピュータプログラム製品は、実行されると、上で説明されるものなどの1つまたは複数の方法を実行する命令を含む。情報担体は、たとえばトランシーバ968または外部インターフェース962を介して受信され得る、メモリ964、拡張メモリ984、またはプロセッサ952上のメモリなどの、コンピュータまたは機械可読媒体である。
【0216】
デバイス950は、通信インターフェース966を通じてワイヤレスに通信してもよく、これは必要であればデジタル信号処理回路を含んでもよい。通信インターフェース966は、とりわけGSM(登録商標)通話、SMS、EMS、またはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSなどの、様々なモードまたはプロトコルのもとで通信を行い得る。そのような通信は、たとえば、無線周波数トランシーバ968を通じて行われ得る。加えて、Bluetooth(登録商標)、Wifi、または他のそのようなトランシーバ(図示せず)などを使用して、短距離通信が行われ得る。加えて、GPS(全地球測位システム)受信機モジュール980は、追加のナビゲーションおよび位置関連のワイヤレスデータをデバイス950に提供してもよく、これは、デバイス950上で実行されるアプリケーションによって適宜使用されてもよい。
【0217】
デバイス950はまた、ユーザからの話された情報を受信してそれを使用可能なデジタル情報に変換し得るオーディオコーデック960を使用して、音声で意思疎通してもよい。オーディオコーデック960は同様に、たとえばデバイス950のハンドセットにおいて、スピーカーなどを通じて、ユーザに可聴の音を生成してもよい。そのような音は、音声通話からの音を含んでもよく、録音された音(たとえば、ボイスメッセージ、音楽ファイルなど)を含んでもよく、デバイス950上で動作するアプリケーションによって生成される音も含んでもよい。
【0218】
コンピューティングデバイス950は、図に示されるように、いくつかの異なる形式で実装され得る。たとえば、それは携帯電話980として実装され得る。それはまた、スマートフォン982、携帯情報端末、または他の同様のモバイルデバイスの一部として実装されてもよい。
【0219】
ここで説明されるシステムおよび技法の様々な実装形態は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはこれらの組合せで実現され得る。これらの様々な実装形態は、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能である、1つまたは複数のコンピュータプログラムにおける実装形態を含んでもよく、それらのプログラマブルプロセッサは、専用であっても汎用であってもよく、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータと命令を受信し、かつそれらにデータと命令を送信するために結合されてもよい。
【0220】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている)は、プログラマブルプロセッサのための機械命令を含み、高水準手続型言語、および/またはオブジェクト指向プログラミング言語、および/またはアセンブリ言語/機械語で実装されてもよい。本明細書で使用される場合、「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械可読信号として機械命令を受信する機械可読媒体を含むプログラマブルプロセッサに、機械命令および/またはデータを提供するために使用される、任意のコンピュータプログラム製品、装置、および/またはデバイス(たとえば、磁気ディスク、光学ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【0221】
ユーザとの対話を可能にするために、本明細書で説明されるシステムおよび技法は、情報をユーザに表示するための表示デバイス(たとえば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)と、ユーザがそれにより入力をコンピュータに提供できるキーボードおよびポインティングデバイス(たとえば、マウスまたはトラックボール)とを有する、コンピュータ上で実装され得る。ユーザとの対話を可能にするために、他の種類のデバイスも使用することができ、たとえば、ユーザに提供されるフィードバックは、任意の形式の感覚フィードバック(たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であってもよく、ユーザからの入力は、音響入力、発話入力、または触覚入力を含む任意の形式で受け取られてもよい。
【0222】
本明細書で説明されるシステムおよび技法は、バックエンドコンポーネントを(たとえば、データサーバとして)含む、またはミドルウェアコンポーネントを(たとえば、アプリケーションサーバとして)含む、またはフロントエンドコンポーネント(たとえば、ユーザがそれを通じて本明細書で説明されるシステムおよび技法の実装形態と対話することができるグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータ)を含むコンピューティングデバイス、またはそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、もしくはフロントエンドコンポーネントの任意の組合せを含む、コンピューティングデバイスにおいて実装され得る。システムのコンポーネントは、デジタルデータ通信(たとえば、通信ネットワーク)の任意の形式または媒体によって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、およびインターネットを含む。
【0223】
コンピューティングデバイスはクライアントおよびサーバを含み得る。クライアントおよびサーバは一般に、互いに離れており、通常は通信ネットワークを通じて相互作用する。クライアントとサーバの関係は、コンピュータプログラムがそれぞれのコンピュータ上で実行されること、および互いにクライアント-サーバの関係を有することにより生じる。
【0224】
いくつかの実施形態が説明された。それでも、本発明の趣旨および範囲から逸脱することなく、様々な修正が行われ得ることが理解されるだろう。
【0225】
加えて、図に示される論理フローは、望ましい結果を達成するために、示される特定の順序または逐次的な順序を必要としない。加えて、他のステップが与えられてもよく、または説明されたフローからステップがなくされてもよく、説明されたシステムに他のコンポーネントが追加されてもよく、またはそれからコンポーネントが取り除かれてもよい。したがって、他の実施形態が、以下の特許請求の範囲内にある。
【符号の説明】
【0226】
110 装置
111 タンク
112 ミキサー
113 加熱器
114 弁
115 液体
116 弁
120 データソース
502 複数の基準
504 バッチランデータ
540 パラメータ
550 パラメータ
600 コンピュータ
601 参照モジュール
602 パラメータモジュール
603 パラメータモジュール
604 制御モジュール
630 前処理データモジュール
650 データリポジトリモジュール
670 視覚化
900 汎用コンピュータデバイス
902 プロセッサ
904 メモリ
906 ストレージデバイス
908 高速インターフェース
910 高速拡張ポート
912 低速インターフェース
914 低速バス
916 ディスプレイ
920 サーバ
922 ラップトップコンピュータ
924 ラックサーバシステム
950 汎用モバイルコンピュータデバイス
952 プロセッサ
954 メモリ
956 ディスプレイインターフェース
958 制御インターフェース
960 オーディオコーデック
962 外部インターフェース
964 メモリ
966 通信インターフェース
968 トランシーバ
980 携帯電話
982 スマートフォン