《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計應(yīng)用 > 紫金橋軟件Spc組件與報表組件結(jié)合
紫金橋軟件Spc組件與報表組件結(jié)合
紫金橋軟件技術(shù)有限公司
摘要: SPC即統(tǒng)計過程控制(Statistical Process Control)。SPC主要是指應(yīng)用統(tǒng)計分析技術(shù)對生產(chǎn)過程進行實時監(jiān)控,科學(xué)的區(qū)分出生產(chǎn)過程中產(chǎn)品質(zhì)量的隨機波動與異常波動,從而對生產(chǎn)過程的異常趨勢提出預(yù)警,以便生產(chǎn)管理人員及時采取措施,消除異常,恢復(fù)過程的穩(wěn)定,從而達到提高和控制質(zhì)量的目的。
Abstract:
Key words :

概述

SPC即統(tǒng)計過程控制(Statistical Process Control)。SPC主要是指應(yīng)用統(tǒng)計分析技術(shù)對生產(chǎn)過程進行實時監(jiān)控,科學(xué)的區(qū)分出生產(chǎn)過程中產(chǎn)品質(zhì)量的隨機波動與異常波動,從而對生產(chǎn)過程的異常趨勢提出預(yù)警,以便生產(chǎn)管理人員及時采取措施,消除異常,恢復(fù)過程的穩(wěn)定,從而達到提高和控制質(zhì)量的目的。

波動分為兩種:正常波動和異常波動。正常波動是偶然性原因(不可避免因素)造成的。它對產(chǎn)品質(zhì)量影響較小,在技術(shù)上難以消除,在經(jīng)濟上也不值得消除。異常波動是由系統(tǒng)原因(異常因素)造成的。它對產(chǎn)品質(zhì)量影響很大,但能夠采取措施避免和消除。過程控制的目的就是消除、避免異常波動,使過程處于正常波動狀態(tài)。異常波動可歸結(jié)為原料不均勻、工具破損、工藝或操作的問題、制造或檢測設(shè)備的性能不穩(wěn)定等。

SPC技術(shù)原理

統(tǒng)計過程控制(SPC)是一種借助數(shù)理統(tǒng)計方法的過程控制工具。它對生產(chǎn)過程進行分析評價,根據(jù)反饋信息及時發(fā)現(xiàn)系統(tǒng)性因素出現(xiàn)的征兆,并采取措施消除其影響,使過程維持在僅受隨機性因素影響的受控狀態(tài),以達到控制質(zhì)量的目的。當過程僅受隨機因素影響時,過程處于統(tǒng)計控制狀態(tài)(簡稱受控狀態(tài));當過程中存在系統(tǒng)因素的影響時,過程處于統(tǒng)計失控狀態(tài)(簡稱失控狀態(tài))。由于過程波動具有統(tǒng)計規(guī)律性,當過程受控時,過程特性一般服從穩(wěn)定的隨機分布;而失控時,過程分布將發(fā)生改變。SPC正是利用過程波動的統(tǒng)計規(guī)律性對過程進行分析控制的。因而,它強調(diào)過程在受控和有能力的狀態(tài)下運行,從而使產(chǎn)品和服務(wù)穩(wěn)定地滿足顧客的要求。

紫金橋實時數(shù)據(jù)庫擁有功能齊全的SPC組件,可以為用戶的質(zhì)量管理提供參考依據(jù)。

 

本文講述紫金橋spc組件的高級應(yīng)用,涉及到用戶自定義腳本、和報表的聯(lián)合操作。Spc組件內(nèi)嵌報表只能顯示一些狀態(tài)信息。需要更多的信息需要,使用外部報表;外部報表和內(nèi)嵌報表可以一起使用。

創(chuàng)建和使用spc組件

在紫金橋軟件中創(chuàng)建使用該組件需要以下3個步驟:

 

  • 定義spc點
  • 在窗口上創(chuàng)建spc曲線控件設(shè)置相關(guān)屬性
  • 編寫腳本(可選)

定義一個spc點

定義Spc點在實時數(shù)據(jù)庫中

這里以文本文件為例子,其他的屬性都可以不填。添加完成后保存,并返回。

 

在窗口創(chuàng)建spc曲線控件以及修改相關(guān)屬性

關(guān)閉點組態(tài)管理界面,進入開發(fā)界面;并且新建立一個窗口;

拖入spc組件和報表到窗口,并命名spc組件名字為”MySpc”,報表為”Rpt”;

設(shè)置spc組件的屬性,點擊下圖腳本按鈕

輸入如下的腳本到計算完成時標簽:

 

int CveAll,AllItm;

int i,j;

real val;

 

CveAll = #MySpc.GetCurveCnt();

 

if (CveAll>0) then

i = #Rpt.RowCount();

#Rpt.DeleteRow(0,i);

AllItm = #MySpc.GetCve_ItmCnt(0);

for i=0 to AllItm step 1

#Rpt.AddRow(1);

val = #MySpc.GetCve_ItmVal(0,i);

#Rpt.SetVal(1,i+1,Val);

next

endif

 

if (CveAll==2) then

AllItm = #MySpc.GetCve_ItmCnt(1);

for i=0 to AllItm step 1

if(#Rpt.RowCount()<=i) then

#Rpt.AddRow(1);

endif

val = #MySpc.GetCve_ItmVal(1,i);

#Rpt.SetVal(2,i+1,Val);

next

endif

 

#MyTxt1.Text = IntToStr(CveAll,10);

#MyTxt2.Text = IntToStr(AllItm,10);

 

//腳本完

 

完成后,點擊返回按鈕,然后確定。

 

以上腳本詳細解釋,

 

CveAll = #MySpc.GetCurveCnt();

#MySpc 為 spc 組件的名字, GetCurveCnt函數(shù)是得到目前有幾個曲線。

 

根據(jù)這個值,在報表里面決定顯示幾列數(shù)值。

i = #Rpt.RowCount();

#Rpt.DeleteRow(0,i);

AllItm = #MySpc.GetCve_ItmCnt(0);

for i=0 to AllItm step 1

#Rpt.AddRow(1);

val = #MySpc.GetCve_ItmVal(0,i);

#Rpt.SetVal(1,i+1,Val);

next

這部分代碼顯示第一列數(shù)據(jù),GetCveItmCnt() 是得到某個曲線的點數(shù)。

GetCve_ItmVal()得到某個點的具體數(shù)值。

 

運行效果見上圖。

上下的紅線表示UCL與LCL、中間的黃線表示 CL ,藍色的點表示正常范圍、紅色的點表示控制得不好。

這樣不但可以看到圖形,還可以得到每個點的詳細數(shù)據(jù)。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。