|
1 引言 作為一個(gè)軋輥生產(chǎn)企業(yè),離心軋輥毛坯的澆鑄過程是一道重要的工序, 而在整個(gè)軋輥的冶煉和澆鑄過程中,需要嚴(yán)格地控制各個(gè)時(shí)段的溫度。如何才能實(shí)現(xiàn)在計(jì)算機(jī)上監(jiān)測鐵水的實(shí)時(shí)溫度,將涉及到人們是否能及時(shí)地控制好各個(gè)時(shí)期的溫度,使?jié)茶T出來的產(chǎn)品能更好地符合工藝要求,具有更高的質(zhì)量。我這里是用 VB 編程,開發(fā)出一套溫度的實(shí)時(shí)監(jiān)測軟件(測溫軟件),來監(jiān)測實(shí)時(shí)的溫度并進(jìn)行數(shù)據(jù)的存儲,以備日后查詢。 2 澆鑄工藝簡介 簡單介紹一下毛坯的整個(gè)澆鑄過程, 先要冶煉鐵水,根據(jù)工藝的要求,要在中頻爐或工頻爐通過加熱升溫來實(shí)現(xiàn),一般要加熱到1300℃-1600℃,同時(shí)要調(diào)整鐵水的成分,當(dāng)加熱到工藝要求的溫度時(shí),停止升溫過程,鐵水出爐,然后要有一個(gè)短暫的降溫過程,等溫度合適的時(shí)候,把鐵水加入高速旋轉(zhuǎn)離心機(jī),在離心力的作用下,把鐵水甩向外層,旋轉(zhuǎn)的同時(shí),鐵水的溫度也隨之下降,逐漸凝固,合適的時(shí)候停機(jī),就作出了中空的毛坯外殼; 同時(shí), 另一爐煉好的鐵水經(jīng)冷卻后, 達(dá)到合適的溫度,此時(shí)把鐵水澆入到做好的外殼中,形成了毛坯的芯部,冷卻后就形成了一支離心輥毛坯。在整個(gè)過程中,需要對鐵水適時(shí)測溫,適時(shí)調(diào)溫。測溫一般是通過熱電偶來實(shí)現(xiàn)的,而測出的溫度會實(shí)時(shí)傳輸?shù)脚c熱電偶相連的大屏幕儀表上,電腦通過串口連接線與儀表連接,通過測溫軟件采集儀表上顯示的數(shù)據(jù),而在對溫度值要求比較精確的情況下,可以用紅外測溫儀代替熱電偶,直接與電腦串口相連,進(jìn)行串口通訊。 3 串口通訊的解決 3.1 通訊程序的設(shè)計(jì) 測溫軟件首先要解決的是串口的通訊傳輸?shù)膯栴}。要遵循儀表或紅外測溫儀本身所要求的數(shù)據(jù)傳輸協(xié)議,只有在此協(xié)議下才能實(shí)現(xiàn)測溫軟件與儀表的正確數(shù)據(jù)傳輸,再經(jīng)過測溫軟件進(jìn)行顯示、處理和數(shù)據(jù)的存儲、調(diào)用、查詢等實(shí)現(xiàn)對溫度的實(shí)時(shí)監(jiān)測與控制。而我在此測溫過程中所用的紅外測溫儀遵循modbus 協(xié)議,只要按它的協(xié)議及算法規(guī)定,按位截取采集數(shù)據(jù),就可以編寫出程序。經(jīng)過編程和測試,認(rèn)為以下程序可以實(shí)現(xiàn)一般的串口通訊。 Mscomm1.commport=1 If Mscomm1.portopen=false then Mscomm1.portopen=true End if Mscomm1.setting=”9600,n,8,1” Mscomm1.Rthreshold=1 Mscomm1.Inputlen=0 Mscomm1.Inputmold=0 可在Form_load()事件中加入以上程序,此程序運(yùn)行就直接打開串口;也可做成 command 按鈕控件,放入click 事件中,用點(diǎn)擊按鈕的方式打開串口。 3.2 通訊控件Mscomm的使用 在這個(gè)程序中我們要用到一個(gè) VB 中的重要的通訊控件 Mscomm,在 Mscomm 控件的 oncomm 事件中定義合適的輸入字段(inputlen)的長度值,這一步完成后,就解決了通訊問題,也就是通過測溫軟件可以顯示出儀表上的顯示值,但是不同的測溫儀表會有其不同的通訊協(xié)議, 要根據(jù)不同的協(xié)議來進(jìn)行串口通訊的編程。在MSComm1_OnComm()事件中編程: js = "" js = js & MSComm1.Input js1 = Val(Mid(js, 4, 8)) RichTextBox1.Text = js1 RichTextBox1 框中顯示的內(nèi)容就是通過串口采取 到的溫度值, 3.3 單次測溫的具體設(shè)計(jì)方法 利用該測溫軟件去測鐵水的溫度,在中頻爐或工頻爐對鐵水的冶煉過程中,不需要連續(xù)測溫,只是在溫度到達(dá)一定值時(shí),間斷性地對加熱中的鐵水測幾次溫度,每一次用熱電偶測溫,時(shí)間都很短暫,而測溫儀表的顯示值也會由原來的室溫值迅速變化到鐵水的當(dāng)前溫度值,當(dāng)停止測溫時(shí),測溫儀表的顯示值又會很快下降到室溫值。如何才能讓測溫軟件正確地在某一時(shí)刻反映鐵水的溫度,是我們要解決的又一個(gè)問題。在熱電偶沒有測溫時(shí), 儀表的顯示值往往是室溫而不是鐵水的溫度,只有熱電偶測取鐵水溫度時(shí),儀表的顯示數(shù)據(jù)才迅速跳變,短時(shí)間內(nèi)達(dá)到鐵水的實(shí)際溫度,當(dāng)熱電偶幾秒測溫結(jié)束后,儀表的顯示數(shù)值就會很快又下降到室溫,等待下次測溫,通過以上敘述可以看出儀表顯示的數(shù)值在熱電偶測溫的短時(shí)間內(nèi)有一個(gè)快速升降的過程,如果做成溫度隨時(shí)間變化的曲線,近似為拋物線形狀,而在這個(gè)過程中,只有最高點(diǎn)溫度值才能反映測溫時(shí)鐵水的實(shí)際溫度,所以測溫軟件就要在這一測溫時(shí)間段內(nèi)采集并保留、顯示相對于此時(shí)間段的最高的溫度值。在鐵水降溫等待加工外殼或芯部的過程中,也需要測幾次溫,以達(dá)到工藝要求的溫度值,來進(jìn)行下一步的工作,在這一過程中溫度的實(shí)時(shí)測取方法同升溫時(shí)一樣。 4 數(shù)據(jù)的存儲和查詢 對采集到的數(shù)據(jù)進(jìn)行存儲和查詢,具體可以通過編程建立并連接數(shù)據(jù)庫文件,利用建立記錄集(Recordset)和連接(Connection)的方法來對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行調(diào)用并對采集到的數(shù)據(jù)進(jìn)行顯示和存儲。 Dim objrs as Recordset Dim objcn as Connection Dim strcn as string Strcn =”provider=Microsoft.jet.oledb.4.0; Data source= 庫文件名;” Objcn.connectionstring = strcn Strsql =”select * from 表文件名” Objrs open(strsql) 以上程序使用的是Access 數(shù)據(jù)庫,其它數(shù)據(jù)庫(SQLserver, ORACLE)等的調(diào)用方法類似,庫文件名中要指明路徑。這樣就建立了記錄集 o b j r s 并建立了連接objcn,指向我們所要用到的數(shù)據(jù)庫,同時(shí)打開了我們所要用到的表文件,以下的工作就是把采集到的數(shù)據(jù)放入記錄集中,通過更新記錄集來更新數(shù)據(jù)庫,達(dá)到數(shù)據(jù)的存儲和調(diào)用的目的。
5 型腔測溫 5.1 測溫方法 在型腔(也就是離心機(jī)中)的測溫過程中,由于離心機(jī)不停的高速旋轉(zhuǎn),且鐵水溫度也在不停地下降,根據(jù)工藝要求,需要連續(xù)測溫,在型腔內(nèi)一直放入熱電偶,不間斷地測溫,并把溫度傳送給儀表,所以儀表基本上反映的就是這一時(shí)間段的鐵水的實(shí)時(shí)溫度,為了記錄下這一過程,測溫軟件可以通過設(shè)置較高的采樣頻率來采集數(shù)據(jù),在程序中可以使用時(shí)鐘控件Timer 來設(shè)置,并用表格和曲線圖兩種方式顯示,而曲線圖的顯示就更直觀。曲線的繪制可以通過先定義坐標(biāo)軸,橫坐標(biāo)軸為時(shí)間軸,縱坐標(biāo)軸為溫度軸,按連續(xù)的測溫點(diǎn)繪制成一條溫度隨時(shí)間變化的曲線。 5.2 曲線繪制 Cls Form1.scale (-40,1000)—(1000,40) Line (0,0)—(x,0) 畫橫軸 Line (0,0)—(0,y) 畫縱軸 Currentx= -10 : currenty= -10 :print “0” 定義坐標(biāo)原點(diǎn)“0” Currentx= x1 : currenty= y1 :print “x” 定義橫軸標(biāo)記“x” Currentx= x2 : currenty= y2 :print “y” 定義縱軸標(biāo)記“y” 定義了坐標(biāo)軸系以后,就可以利用打印點(diǎn)命令Pset(x,y)來依此打印每一次采樣的數(shù)據(jù),測溫過程后,就可得到一條溫度隨時(shí)間變化的過程曲線。具體測溫曲線可以通過如下方法繪制:首先在 form_load()事件中定義 x=0。 在Timer1_Timer()事件中編程: Text2.Text = Format(Now, "hh:mm:ss") Text2 文本框中顯示的是當(dāng)前系統(tǒng)時(shí)間, 在Text2_Change()事件中編程: x = x + 1 y = Val(RichTextBox1.Text) PSet (x, y) 這樣就是每秒打印一個(gè)當(dāng)時(shí)的溫度值,橫坐標(biāo)對應(yīng)時(shí)間的秒數(shù),縱坐標(biāo)對應(yīng)當(dāng)時(shí)的溫度值,如此逐點(diǎn)打印直到測溫結(jié)束,就得到溫度隨時(shí)間變化的過程曲線。 
曲線圖中短暫的升溫段是熱電偶由室溫快速升溫到最初加入的鐵水溫度值,而以后反映的是實(shí)時(shí)的鐵水溫度。同時(shí)把采集的數(shù)據(jù)存入數(shù)據(jù)庫中,把測溫曲線圖形以圖形文件的形式進(jìn)行存儲,并開發(fā)了查詢程序來對溫度數(shù)據(jù)和曲線圖形進(jìn)行查詢。另外還使用了無紙記錄儀與電腦連接,并使用其要求的通訊協(xié)議進(jìn)行編程,實(shí)現(xiàn)與電腦的串口通訊,這樣就可以把每一次加工的實(shí)時(shí)曲線顯示在無紙記錄儀上,便于加工者隨時(shí)觀看。 以上是根據(jù)澆鑄的生產(chǎn)過程依次介紹的測溫軟件中的幾個(gè)主要方面,基本上能完成對澆鑄測溫的采集、顯示、存儲和查詢等功能。軟件還可實(shí)現(xiàn)諸如根據(jù)不同的加工爐對數(shù)據(jù)進(jìn)行存儲;調(diào)用更改加工過程中的鐵水量或其它物料參數(shù),達(dá)到合理配比,以適應(yīng)加工工藝的要求;根據(jù)時(shí)間段或其它條件對數(shù)據(jù)的查詢等功能。 6 結(jié)束語 通過對離心軋輥澆鑄的基本工藝過程的了解,利用vb 編程軟件進(jìn)行程序開發(fā)實(shí)現(xiàn)對澆鑄過程中不同的時(shí)間點(diǎn)和時(shí)間段的溫度監(jiān)測。此軟件主要實(shí)現(xiàn)了數(shù)據(jù)的串口通訊;數(shù)據(jù)庫的連接和數(shù)據(jù)存儲;加工過程中溫度隨時(shí)間變化的工藝曲線的繪制等。在實(shí)際的生產(chǎn)過程中可以得到很好應(yīng)用。測溫軟件能實(shí)現(xiàn)測溫過程中的主要功能和常用功能,但也有不太完善的地方,有待于繼續(xù)努力,使測溫軟件的功能更為強(qiáng)大和完善。 摘自:中國計(jì)量測控網(wǎng)
|