許多工業流程都涉及一些在至少部分生產過程中會動態變化的參數,例如化學反應釜的溫度或壓力、高壓釜的真空升壓過程。為了確保批次間的一致性,必須找到一種方法來比較這些動態的生產或設定階段,類似於使用控製圖來監控穩態生產。
只需幾個相對簡單的步驟,即可使用 JMP 從多個代表性批次中建立動態控制限值。然後,可以在 Graph Builder 中將未來的批次疊加到這些歷史限值上,以確保它們符合這些歷史限值。本示範展示了建立控制限值的步驟,以及如何使用這些限值進行批次間比較。此外,也討論了處理此類數據時面臨的一些挑戰。
歡迎收聽我關於動態過程控製圖的講座。統計製程管制 (SPC) 已應用多年,用於監控圍繞固定設定點波動的過程。過程會隨時間推移進行監控,其波動可分為兩部分:普通原因波動,即貫穿整個過程的持續波動,除非對過程進行根本性改變,否則這種波動將始終存在;以及特殊原因波動,即由於過程外部因素導致波動增大,從而使過程失控的情況。
然而,工業中的許多流程並非圍繞著一個固定點運作。許多批次生產流程會按照預先設定的步驟,在一定時間內逐步完成,其中溫度、壓力和真空度等參數可能會隨時間增加。例如,在間歇式反應釜中將單體轉化為聚合物,或透過增加混合器的真空度或壓力來調節溶劑含量或物料的水分含量。我們仍然需要一種方法來確保批次間結果的一致性,以及流程行為的長期穩定性,並識別出不符合標準流程的批次。
本次示範展示了一種務實的視覺方法,可以隨著時間的推移限制這些過程,監控過程中的偏差,還可以查看生產設備的設定和冷卻、狀態監控,以確保這些啟動和冷卻階段隨著時間的推移保持一致。
我所在行業的一些例子包括間歇式混合機,在這種混合機中,單體被添加到混合機中。混合機加熱後保持恆溫,然後冷卻。這種方法不僅可以監測溫度隨時間的變化,還可以監測其他參數,例如馬達扭矩,這些參數可能指示聚合度。另一個例子是高壓釜,我們用它處理碳纖維複合材料,並按照預定的速率施加真空和溫度。我們可能會設定一些保溫階段,將材料在特定溫度下保持一段時間,然後再冷卻零件。
我們運用這種技術進行狀態監測的一個例子是雙螺桿擠出機。在擠出機中,我們透過多個真空幫浦施加真空,以去除樹脂中的揮發性成分。我們希望確保這些真空幫浦以最佳設定運作。我們會觀察這些真空幫浦的啟動階段,也就是它們從大氣壓力降至生產運作開始時設定的真空度的過程。所有這些製程參數隨時間變化的製程都適用於這種方法。
在這種情況下,我們從資料歷史記錄器中提取了一些資料。幸運的是,這些數據是以電子方式收集的。我們有多個批次的資料堆疊在一起,這裡標記為「資料製造商」。我這裡有 21 個批次的物料,每個批次都有不同的批號。我有製程參數(真空度)以及預先設定的時間間隔。我每 5 秒採集一次數據,我知道每個批次都應該在不超過 17 分鐘的時間內達到 210 毫巴的設定值。這樣,對於每個批次,我每 5 秒採集一次數據,總共有 205 行數據。以下是這 21 個批次的資料。
我現在需要處理這些數據,並對其進行整理,以便計算每個時間增量下的正常值範圍。我將拆分資料表,並為每個時間增量建立一列,例如 5 秒、10 秒、15 秒等等,一直到 17 分鐘。每生產一個批次,我都會保留一行資料。由於這裡有 21 個批次的數據,我將使用其中 15 個批次的數據來建立控制限。然後,我將用這些控制限來檢查接下來的六個批次的數據,以確保製程的行為持續正常、穩定且可預測。
我將使用我的堆疊資料集。我會轉到“表格”並選擇“拆分”。我希望按過程參數(即真空)進行拆分。我將按真空拆分列。我將按批次號分組,這樣每個批次號對應一行數據,但我希望每個時間增量對應一列數據,所以我將按時間拆分。我們可以從預覽表中看到,資料格式符合預期。每個批次對應一行,每個時間增量對應一列。如果滿意,我們可以按一下“確定”,則資料表就已經建立好了。正如我所說,我們將使用前 15 個批次的資料來建立控制限。這意味著我將隱藏並排除最後 6 個批次。我的數據表現在看起來就像投影片中的。
現在,我需要計算每個時間增量的控制限。我在這裡要做的是,觀察每個時間內預期達到的真空度。它的平均值是多少?圍繞這個平均值的控制限是多少?在第5個時間增量和第10個時間增量等,預期壓力變化範圍為何?
我將創建單獨的移動極差圖,因為每個數據都是單獨設定的獨立運行。我們需要單獨的移動極差圖。我希望每個時間增量都產生一個,並確保它們按時間順序排列,也就是按資料提供者的順序排列。總共需要產生 205 個控製圖,所以只需要幾秒鐘就能完成。
現在,每個時段我都對應一個單獨的移動極差圖,圖表描述中會註明時段。我可以滾動瀏覽這些圖表,檢查其中是否只有普通原因造成的偏差,沒有其他異常數據點。如果我對每個圖表都滿意,就可以保存這些控制限值。以 5 秒為例,在擠出機回退 5 秒後,我預期擠出機內的真空度為 914.6 毫巴,範圍在 865 到 963 毫巴之間。
如果我點擊紅色三角形,就可以儲存這些限值。它會保存每個時間段的限值,我想把它們保存到一個大表格裡。這樣就能建立一個表格,其中每個時段都有一個平均值,以及我預期總體正常值範圍。我會整理一下表格,刪除不需要的列,只保留平均值和控制限值。這就是我未來分析所需的全部數據。
由於這一列的標籤取自控製圖,您可以看到該資料格式並非連續數值類型。我需要將其改回連續數值型,以確保其資料類型正確,並可將其重新標記為“時間”,以便將來能夠清楚地了解該資料列的內容。
我現在有一個資料表,其中包含了每個時間增量的控制限。接下來,我需要重新整理原始數據,並按時間和批次隨時間的變化進行排序,以便產生圖表。我將回到堆疊數據。我將再次拆分數據,但這次的拆分方式略有不同。我仍然要按製程參數「真空」拆分,但這次我想按時間分組。每個時間增量對應一行,我想按批次號拆分,這樣每個批次就對應一列。我可以再次查看預覽,確保資料分組方式符合預期。確認無誤後,點選「確定」。現在,每個批次的時間序列數據都以單獨的列形式呈現,將來如有新的批次數據,我可以隨時添加。
我可以把計算出的控制限加到資料表中,也可以建立一個虛擬連結。如果建立虛擬鏈接,資料將不會永久綁定到資料表中,因此也可以在其他資料集中使用,或者可以隨時重新計算和修改,而無需更改資料集。這些資料仍然保留在過程資料中,可以用於設定過程限值。我可以在不實際將其合併到資料表的情況下使用這些資料。這就是我打算做的。我要在兩個資料表之間建立一個虛擬連結。
為此,我需要在兩個資料集中都包含相同的一列。在本例中,這列是時間。我將右鍵單擊時間列,並將其建立為連結 ID。此列包含用於將其連結到資料表的標識資訊。在資料表中,我再次單擊時間列,然後右鍵單擊。現在,這就是連結引用,我將把它連結到包含控制限和平均值的表。
如果我查看左側的列選擇,可以看到我的每一批物料、時間列,以及底部的引用虛擬連結列。我們可以看到這裡有一個虛擬鏈接,也就是這個小圖標。目前這些列是隱藏的,並且已被鎖定。我無法在這個資料表中更改這些列中的資料。我必須返回到實際包含數據的表格。如果我想查看它們,可以取消隱藏。我可以看到那裡的數據,但無需取消隱藏即可使用它們。為了保持整潔,我再將它們隱藏起來。
現在,我將使用 Graph Builder 繪製這些控制限值,這是一個非常靈活的資料視覺化平台。然後,我可以依序將每個批次的資料疊加到這些控制限值上,觀察每個批次的行為是否符合我基於用於建立這些控制限值的 15 個歷史批次資料的預期。
如果我打開數據表,點擊“圖表”,然後點擊“圖表建立器”。顯然,X軸代表時間。接下來,我會選擇控制限值。我只需要控制限值線,不需要單一數據點。為了更清晰地顯示生產批次,我會將它們灰顯並轉換為虛線,這樣就能清楚地區分批次資料和控制限值。我會將它們設為灰色,用虛線表示平均值,用點線表示控制限值。現在,我們可以看到正常流程隨時間的變化。我們預期流程行為的每個值都會穩定且一致地落在虛線範圍內,平均值會接近虛線。
現在,我可以將一個未用於建立控制限的新批次疊加到控制限之上。例如,將 2023 年 6 月 9 日的批次疊加到控制限之上,並檢查其隨時間的變化情況,並與預期值進行比較。我們還可以新增列切換器,以便查看和滾動瀏覽各個批次,並將每個批次與控制限進行比較。如果我選擇頂部的生產批次,然後選擇所有其他批次作為替換列,我的列切換器中就會顯示所有已生產的批次列表,我可以逐個滾動瀏覽,並將我的六個新批次與歷史控制限進行比較。如果我在資料表中新增批次,我可以輕鬆地將它們與這些控制限進行比較。如果我想將這些資料發送給可能沒有 JMP 的其他人,我也可以將其製作成動畫並錄製下來,儲存為 GIF 格式,然後將其作為附件添加到電子郵件中。
另一個例子,基於我們的一些數據。這裡我們有一個樹脂加工工藝,需要加熱樹脂。我們需要將其保持在設定的溫度一段時間,然後再冷卻以便排出。同樣,我們創建了類似的數據和控製圖。我們可以看到,在瀏覽批次資料時,偶爾會出現資料異常。這些情況需要我們進行調查,因為該特定批次與標準批次有差異。
我們在製造和測試流程的各個環節都廣泛應用了這項技術,它能幫助我們及早發現流程失控或設備可能需要維護的跡象,讓我們能夠在材料或生產設備出現故障之前,從數據中發現這些規律。我們最不希望看到的就是計畫外的維修停機。透過監控此類流程,我們可以在設備開始老化之前提前做好規劃。謝謝。