力控®軟件在玻璃深加工--鋼化玻璃均質(zhì)爐上的應(yīng)用
但是經(jīng)過鋼化的玻璃有存在自爆的隱患,在無外力作用時(shí)仍會(huì)發(fā)生自爆,這是鋼化玻璃自身的特性所決定。鋼化玻璃自爆源于硫化鎳(Nis),在鋼化處理的加熱階段,硫化鎳是高溫態(tài)的(α-Nis)。
在快速冷卻時(shí),高溫態(tài)的(α-Nis)來不及向低溫態(tài)的(β-Nis)進(jìn)行轉(zhuǎn)變。這種晶型轉(zhuǎn)變從熱處理后的幾分鐘到安裝后的幾十年一直存在,(α-Nis)轉(zhuǎn)變?yōu)椋é?Nis)會(huì)導(dǎo)致體積膨脹,破壞玻璃內(nèi)部的應(yīng)力平衡,最終導(dǎo)致玻璃自爆。
目前鋼化玻璃的自爆隱患沒有有效的補(bǔ)救方法,國(guó)內(nèi)和國(guó)外都普遍采用均質(zhì)(也稱引爆、熱浸)的方法將玻璃裝進(jìn)爐內(nèi),然后勻速加溫到290℃后恒溫2—8小時(shí)不等,將存在“自爆”隱患的玻璃提前引爆,從而減小鋼化玻璃安裝后再次發(fā)生“自爆”的機(jī)率。
因?yàn)榫|(zhì)的產(chǎn)能低,耗電量大(5T爐)總功率已經(jīng)超出400KW,加上玻璃自爆后的直接經(jīng)濟(jì)損失,所以均質(zhì)測(cè)試成本居高不下,目前國(guó)內(nèi)會(huì)經(jīng)均質(zhì)測(cè)試的主要是部分政府工程和大型公共設(shè)施如,機(jī)場(chǎng)……等。
均質(zhì)爐的基本工作原理及要求:
爐的升溫時(shí)間可以在范圍內(nèi)設(shè)置(30—150min)
恒溫時(shí)間可以在范圍內(nèi)設(shè)置(10—480min)
恒溫溫度可以在范圍內(nèi)設(shè)置(80--300℃)
降溫可以曲線降溫、自由降溫選擇。
正常運(yùn)行時(shí)恒溫度在290℃±10℃
在運(yùn)行中實(shí)時(shí)保存數(shù)據(jù),當(dāng)過程結(jié)束后以便打印報(bào)告,作為此批玻璃已經(jīng)做過均質(zhì)測(cè)試的依據(jù),打印的報(bào)告中必須包含玻璃、客戶信息...當(dāng)時(shí)的溫度曲線等。
在查詢歷史時(shí),為避免產(chǎn)單過多查找費(fèi)時(shí),必須有信息過濾功能。
為保證均質(zhì)質(zhì)量,分6區(qū)獨(dú)立控制溫度,還有2路活動(dòng)點(diǎn)溫度探頭,可以自由的插入到玻璃的任何縫隙中。也就是總共有8路溫度。
可以選擇一條曲線打印,也可以選擇多條曲線同時(shí)打印。
均質(zhì)爐的溫度是由普通加熱管加熱空氣后,通過6個(gè)循環(huán)風(fēng)機(jī)吹入爐內(nèi),再從爐體頂部抽回進(jìn)加熱倉,如此循環(huán),它和普通的加熱箱有著本質(zhì)的區(qū)別。
均質(zhì)爐的工作原理看似簡(jiǎn)單,但目前國(guó)內(nèi)做的比較好的公司相當(dāng)少。一臺(tái)合格的均質(zhì)爐不但控制程序要求高,而且爐體結(jié)構(gòu)相當(dāng)重要,在爐子運(yùn)行時(shí)必須保證爐體內(nèi)的溫度均勻,這就關(guān)系著這臺(tái)爐子的整體結(jié)構(gòu),如:加熱功率,風(fēng)機(jī)功率,空氣對(duì)流狀況。如果爐內(nèi)溫度不均勻會(huì)導(dǎo)致均質(zhì)后的玻璃仍然自爆率很高。
有些均質(zhì)爐設(shè)備為求運(yùn)行時(shí)的曲線美觀,普遍采用的方法有:1、拉長(zhǎng)溫度采集時(shí)間,這樣可以減少曲線的波浪。2、將熱電偶放在風(fēng)道內(nèi),這樣看起來溫度曲線很理想,但爐內(nèi)的溫度和風(fēng)道內(nèi)的溫度相差特別大。這也是玻璃均質(zhì)測(cè)試后仍然會(huì)自爆的原因之一。有資料顯示:國(guó)外最好的均質(zhì)爐,爐內(nèi)的溫差也有將近30℃。
均質(zhì)爐的結(jié)構(gòu)示意圖:
在本方案中有六臺(tái)加熱循環(huán)風(fēng)機(jī),一臺(tái)降溫用的冷風(fēng)機(jī),六個(gè)區(qū)的加熱。
電氣控制采用如下配置:
1、力控監(jiān)控組態(tài)軟件1套 (控制策略版)
2、研華工業(yè)電腦1臺(tái) (IPC-610)
3、研華采集卡 PCI-1723 1套 (此板卡有8D/A 16DIO)
4、研華溫度模塊4520 & 4018 各1
5、惠普打印機(jī)1臺(tái)
6、臺(tái)灣登敏電力調(diào)節(jié)器6臺(tái) (用于調(diào)節(jié)6個(gè)加熱區(qū)的輸出功率)
說明:
因?yàn)橐褂玫疥P(guān)系數(shù)據(jù)庫來保存機(jī)器運(yùn)行中的溫度數(shù)據(jù)和產(chǎn)品信息,本人也比較熟悉力控組態(tài)軟件,因此使用了子圖里面的內(nèi)部控件之“ODBC歷史曲線”,用于作為歷史查詢的用途,在運(yùn)行時(shí)用內(nèi)部控件“溫控曲線”作實(shí)時(shí)監(jiān)測(cè),同時(shí)力控的控制策略版具有PID的功能。全面的I/O支持,力控支持研華的全系列板卡。研華的溫度模塊4018。
此項(xiàng)目的所有控制都在力控的動(dòng)作腳本里完成。
系統(tǒng)圖:
程序運(yùn)行基本工作原理:
輸入正確的升溫時(shí)間,恒溫時(shí)間,恒溫溫度,結(jié)束溫度。
輸入正確的玻璃規(guī)格、數(shù)量、產(chǎn)地、客戶信息……
啟動(dòng)均質(zhì)爐后,程序運(yùn)行啟動(dòng)循環(huán)風(fēng)機(jī),根據(jù)設(shè)置的恒溫溫度,系統(tǒng)開始控制加熱輸出功率,按照設(shè)置的升溫斜率在規(guī)定的時(shí)間內(nèi)使?fàn)t內(nèi)達(dá)到恒溫溫度,這其間可能會(huì)有個(gè)別區(qū)域的溫度存在時(shí)間上的先后才達(dá)到恒溫溫度,程序必須等到6個(gè)區(qū)域的溫度都達(dá)到設(shè)定值后,開始進(jìn)入恒溫度程序,同時(shí)開始計(jì)時(shí),計(jì)時(shí)結(jié)束后,就是恒溫時(shí)間到達(dá)后,停止恒溫,進(jìn)入降溫階段,根據(jù)選擇有“曲線降溫”、“自由降溫”,曲線降溫由PID完成根據(jù)降溫時(shí)間和結(jié)束溫度計(jì)算降溫斜率,“自由降溫”由程序完成,在降溫度時(shí)開啟天窗讓熱空氣自由排出。
自動(dòng)保存,自動(dòng)運(yùn)行其間,溫度模塊的采集周期是100ms,每間隔180s程序就自動(dòng)寫一次溫度數(shù)據(jù)進(jìn)數(shù)據(jù)庫。
打印報(bào)告,關(guān)系數(shù)據(jù)庫Access,由ODBC歷史曲線控件調(diào)出數(shù)據(jù),繪制成曲線。
力控開發(fā)環(huán)境
主窗口開發(fā):
此畫面用于監(jiān)視溫度曲線,主要的控件有“溫控曲線”,“溫控曲線”控件的使用比較簡(jiǎn)單,這里不再介紹其的組態(tài)方法了。
工作參數(shù)開發(fā)
此畫面用于輸入工作時(shí)的有關(guān)信息,在自動(dòng)運(yùn)行啟動(dòng)后,本畫面的輸入必須被禁止。
歷史查詢的開發(fā):
本畫面相當(dāng)重要,它將輸出在本機(jī)器上所做的均質(zhì)測(cè)試的數(shù)據(jù),因?yàn)樽罱K客戶要的是打印的報(bào)告。
本畫面中主要有Windows控件中的表格,ODBC歷史曲線。
其它的輔助選項(xiàng)功能:
PID參數(shù)修改畫面
程序的運(yùn)行之主窗口:
程序運(yùn)行之歷史查詢:
當(dāng)一個(gè)訂單結(jié)束后,在此畫面中調(diào)出數(shù)據(jù)并打印報(bào)告交于客戶。
程序主要分三個(gè)階段進(jìn)行:
第一個(gè)階段是:升溫度階段:
第二個(gè)階段是:恒溫度階段:
第三個(gè)階段是:降溫度階段:
前面我們已經(jīng)做了一個(gè)“工作參數(shù)”頁面,在畫面下有一個(gè)“啟動(dòng)/停止”按鈕用來啟動(dòng)自動(dòng)工作程序,同時(shí)還必須判斷填寫的信息是否正確:
在“左鍵動(dòng)作/釋放鼠標(biāo)”內(nèi)填寫如下動(dòng)作腳本:
if work_mode==1 then
if (StrLen(advancebooking_unmber)<=0 ) then
msgbox(" 請(qǐng)?zhí)顚?lt;訂單號(hào)>! ");
else
if (StrLen(yield_number)<=0 ) then
msgbox(" 請(qǐng)?zhí)顚?lt;生產(chǎn)單號(hào)>! ");
else
if (StrLen(client _name)<=0 ) then
msgbox(" 請(qǐng)?zhí)顚?lt;客戶名稱>! ");
else
if (StrLen(yieldly)<=0 ) then
msgbox( " 請(qǐng)?zhí)顚?lt;產(chǎn)地>! ");
else
if (StrLen(glass_type_1)<=0) then
msgbox(" 請(qǐng)?zhí)顚?lt;玻璃規(guī)格(1)> ");
else
if (StrLen(glass_size_1)<=0) then
msgbox(" 請(qǐng)?zhí)顚?lt;玻璃尺寸(1)> ");
else
if glass_qty_1<=0 then
msgbox(" 請(qǐng)正確填寫<玻璃數(shù)量(1)> ");
else
if up_temp_time< 60 || up_temp_time>300 then
msgbox(" <升溫時(shí)間>設(shè)置錯(cuò)誤! ");
else
if keep_temp_time<10 || keep_temp_time>1440 then
msgbox(" <恒溫時(shí)間>設(shè)置錯(cuò)誤! ");
else
if down_temp_time<180 || down_temp_time>480 then
msgbox(" <降溫時(shí)間>設(shè)置錯(cuò)誤! ");
else
if keep_temp<80 || keep_temp >330 then
msgbox(" <恒溫溫度>設(shè)置錯(cuò)誤! ");
else
if end_temp<100 || end_temp>300 then
msgbox(" <結(jié)束(降)溫度>設(shè)置錯(cuò)誤! ");
else
if msgbox("真的要啟動(dòng)自動(dòng)工作? " ) then
auto_start=1;//自動(dòng)工作啟動(dòng)
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
在“一般性動(dòng)作”中填寫動(dòng)作腳本如下:
if auto_start==1 then
auto_work=1;
1_zone_up_end=0:
…………………..
6_zone_up_end=0:
up_temp_up=0;
//start_temp_1=averagely.PV;
auto_start_time=StrLeft($Date,10)+" "+StrLeft($Time,8);
//status_operator=$UserName;
start_temp=(temp_1_1.PV+temp_1_2.PV+temp_1_3.PV+temp_1_4.PV+temp_1_5.PV+temp_1_6.PV)/6:;
number _3_1=cc+1;
date_3_1=StrLeft($Date,4)+"-"+StrMid($Date,5,2)+"-"+StrMid($Date,8,2)+" "+StrLeft($Time,8);
yield_number _3_1= yield _number;
client_name_3_1= client_name;
yieldly_3_1= yieldly;
note_3_1=note_1;
………………
note_3_15=note_15;
glass_type_3_1=glass_type_1;
…………..
glass_type_3_15=glass_type_15;
…………………..
glass_size_3_15=glass_size_15;
glass_qty_3_1=glass_qty_1;
……………………
glass_qty_3_15=glass_qty_15;
up_temp_time_3_1=up_temp_time;
keep_temp_time_3_1=keep_temp_time;
down_temp_time_3_1=down_temp_time;
keep_temp_3_1=keep_temp;
end_temp_3_1=end_temp:
operator_3_1=$UserName;
dade_time="Start_qinlihua";
temp1=666666;
………………
temp9=666666;
SQLInsert(ConnectID,"data", "temp");
Delay(1000);
dade_time=StrLeft($Date,4)+"-"+StrMid($Date,5,2)+"-"+StrMid($Date,8,2)+" "+StrLeft($Time,8);
temp1=temp_1_1.PV;
………………….
temp7=temp_1_7.PV;
temp8=averagely.PV;
temp9=sel_temp.PV;
SQLInsert(ConnectID,"data", "temp");
display("主窗口"):
display_1=1;
auto_start=0;
endif
當(dāng)按下按鈕后,如果輸入的信息不符合要求,則會(huì)彈出一對(duì)話框給予提示,否則啟動(dòng)機(jī)器自動(dòng)運(yùn)行,并將數(shù)據(jù)先寫入綁定的數(shù)據(jù)表中,同時(shí)自動(dòng)把畫面切換到主窗口。
在“歷史查詢”的畫面中建立一Windows表格控件,命名“table”,用于顯示歷史的產(chǎn)單信息。
調(diào)出數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)綁定的表格:
建一按鈕屬性“調(diào)出數(shù)據(jù)”,雙擊,在“左鍵動(dòng)作/釋放鼠標(biāo)”輸入動(dòng)作腳本;
SQLSelect(ConnectID,"message"," ");
SQLDisplayToGrid("table");
SQLLastError(err_msg);
將表格中選中的行讀到另一個(gè)數(shù)據(jù)表綁定的表格中
這一步的操作主要是將選中的行讀出到另一個(gè)數(shù)據(jù)表綁定的表格,用于在畫面中顯示出來。
建一按鈕屬性“讀取記錄”,雙擊“左鍵動(dòng)作/釋放鼠標(biāo)”輸入動(dòng)作腳本:
SQLMoveTo(row_number);
SQLGet("data_table"):
SQLLastError(err_msg);
訂單號(hào)查詢
建立一文本編輯框控件,命名“search_1”,另在其右邊建立一按鈕,屬性“查詢”,雙擊,在“左鍵動(dòng)作/釋放鼠標(biāo)”輸入動(dòng)作腳本;
SQLSelect(ConnectID,"message","訂單號(hào)='"+#search_1.text+"'"):
SQLDisplayToGrid("table ");
SQLLastError(err_msg);
內(nèi)部控件“溫控曲線”組態(tài)時(shí)提供了一個(gè)“設(shè)定變量”,原則上可以用它來做升溫引導(dǎo)(斜率),但實(shí)際應(yīng)用中這個(gè)控件的X軸(時(shí)間坐標(biāo)),是按照時(shí)間來走的,問題在于如果我們的爐內(nèi)溫度無法在規(guī)定時(shí)間內(nèi)升到設(shè)定值,問題就出現(xiàn)了,它會(huì)導(dǎo)致最后我們的恒溫時(shí)間縮短或還沒有進(jìn)入恒溫,就已經(jīng)開始降溫了,比如說:設(shè)置升溫時(shí)間60min恒溫時(shí)間60min恒溫度290℃,降溫度:100℃,降溫時(shí)間:60min,爐內(nèi)的玻璃裝載過多,當(dāng)溫度升到260℃是已經(jīng)用了120min,而此時(shí)“溫控曲線”控件已經(jīng)開始走降溫曲線了,于是加熱會(huì)馬上停止。所以升溫斜率可以使用“溫控曲線”的“設(shè)定溫度”但恒溫溫度和降溫度就必須自己在條件動(dòng)作腳本里做了。限于動(dòng)作腳本代碼太長(zhǎng),不便全部列出。
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。