黃少榮 江旺庭 王玉海
(中核四O 四有限公司第四分公司)
隨著核科技的進(jìn)步與發(fā)展, 核工業(yè)在國防建設(shè)和經(jīng)濟(jì)建設(shè)中發(fā)揮著越來越重要的作用。筆者所在單位作為我國特大型核工業(yè)聯(lián)合企業(yè)及核技術(shù)生產(chǎn)、科研基地,承擔(dān)著核燃料生產(chǎn)、后處理及核設(shè)施退役治理等重大任務(wù)。 由于排風(fēng)系統(tǒng)對安全生產(chǎn)較為重要, 因此在核燃料工藝生產(chǎn)設(shè)計和技術(shù)改造中, 對它有效運(yùn)行的要求日益嚴(yán)格。
排風(fēng)系統(tǒng)按其作用范圍可以分為局部排風(fēng)系統(tǒng)和全面排風(fēng)系統(tǒng)。 某子項(xiàng)排風(fēng)系統(tǒng)包括局排1~7 和全排1~4,共有21 臺風(fēng)機(jī)。 該系統(tǒng)出廠設(shè)計時只將每臺風(fēng)機(jī)的風(fēng)量與風(fēng)壓變量按要求在觸摸屏上進(jìn)行編程,變量共有42 個。 后來因生產(chǎn)需求發(fā)生變化,要求在觸摸屏上額外增加過濾器壓差、風(fēng)機(jī)軸溫等變量,變量由原來的42 個擴(kuò)展至78 個, 但由于PQ20 橋接模塊的內(nèi)存相對較小,無法在原有變量傳輸基礎(chǔ)上增加變量傳輸數(shù)量。 為此筆者基于節(jié)約生產(chǎn)成本和改進(jìn)設(shè)計的考慮,重新設(shè)計并編程完成了觸摸屏傳輸變量個數(shù)的擴(kuò)展,最終實(shí)現(xiàn)了排風(fēng)系統(tǒng)控制功能的優(yōu)化改進(jìn)。
該子項(xiàng)排風(fēng)系統(tǒng)現(xiàn)場使用的是ABB AC800F控制器和施耐德公司生產(chǎn)的XBTGT5330 觸摸屏,通過編寫軟件程序來實(shí)現(xiàn)數(shù)據(jù)采集、數(shù)據(jù)處理和觸摸屏的監(jiān)控。
ABB AC800F 控制器通過Profibus-DP 總線與CI801 通信模塊、S800I/O 模塊和PQ20 橋接模塊構(gòu)成現(xiàn)場總線系統(tǒng),AC800F 控制器作為Profibus-DP 總線的主設(shè)備,CI801 通信模塊與PQ20 橋接模塊作為Profibus-DP 總線的從設(shè)備進(jìn)行總線通信,PQ20 橋接模塊通過RS485 串行總線與觸摸屏連接。
整個控制系統(tǒng)如圖1 所示。
1.1.1 PQ20 橋接模塊
PQ20 橋接模塊具有Profibus-DP 和RS485 通信功能,可實(shí)現(xiàn)觸摸屏與主站的通信,采用對觸摸屏RAM 區(qū)域的固定映射方式完成通信協(xié)議的轉(zhuǎn)換。 它的輸入/輸出各為180Bytes 內(nèi)任意長度字符,采用串行總線RS232、RS485 和應(yīng)用系統(tǒng)連接, 本子項(xiàng)中選擇與觸摸屏的通信方式為RS485。撥碼開關(guān)用于設(shè)置PQ20 橋接模塊從站地址,通過設(shè)置確定它在控制系統(tǒng)里的唯一地址。
PQ20 橋接模塊作為從設(shè)備與標(biāo)準(zhǔn)設(shè)備類似,具有4 個存儲區(qū),具體見表1。
1.1.2 觸摸屏功能實(shí)現(xiàn)
觸摸屏采用了Magelis 圖形終端XBT GT 產(chǎn)品,支持Java 腳本語言,支持多串口同時與不同的控制器進(jìn)行通信, 支持Web server 遠(yuǎn)程監(jiān)控,支持Modbus Slave RTU(TCP/IP)[1],支持在線通信診斷,支持在線通信參數(shù)修改。
圖1 控制系統(tǒng)示意圖
表1 PQ20 橋接模塊存儲區(qū)
ABB AC800F 控制器使用的是Control Build F 組態(tài)軟件, 通過FBD 功能塊實(shí)現(xiàn)組態(tài)編程;觸摸屏使用的是開發(fā)軟件Vijeo Designer,以Java 腳本語言為基礎(chǔ)實(shí)現(xiàn)編程。
通過PQ20 橋接模塊的設(shè)置軟件設(shè)置PQ20橋接模塊存儲區(qū)域的變量地址,設(shè)置完成后生成GSD 文件, 將此GSD 文件導(dǎo)入AC800F 控制器Control Build F 組態(tài)軟件, 在組態(tài)軟件中即可添加PQ20 橋接模塊硬件和相應(yīng)的資源,通過變量組態(tài)即可實(shí)現(xiàn)對PQ20 橋接模塊地址的讀寫功能[2,3]。
觸摸屏的Java 腳本語言通過直接設(shè)置外部變量的地址, 即可實(shí)現(xiàn)對PQ20 橋接模塊地址的讀寫功能。
2.1.1 原理分析
風(fēng)量、風(fēng)壓、過濾器壓差及風(fēng)機(jī)軸溫等都是整型變量, 從現(xiàn)場傳輸?shù)紸C800F 控制器處理后再傳輸至觸摸屏,這些變量對于觸摸屏來說是輸入變量,傳輸上限為50 個,而實(shí)際應(yīng)用中總共需要傳輸這類變量78 個, 必須通過重新編寫程序來滿足要求。
2.1.2 變量處理設(shè)計
不論是將變量傳輸給觸摸屏還是從觸摸屏上讀取變量,這些變量在ABB 程序和觸摸屏程序中都采用一個變量對應(yīng)一個地址的方法進(jìn)行讀寫,在地址夠用的情況下用上述方法使得變量的讀寫不會出現(xiàn)錯誤,精確無誤。 但是在地址不夠用的情況下, 要想把這些變量全部顯示出來,只有改變原來一對一的思路,采用一個地址傳輸多個變量,多個變量輪流占用一個地址的方法解決地址不夠的問題。
在實(shí)際生產(chǎn)中,有的變量必須單獨(dú)使用一個地址來傳輸,例如報警類變量,這些變量需要實(shí)時監(jiān)控,出現(xiàn)問題及時處理,以免造成設(shè)備損壞并導(dǎo)致危險產(chǎn)生;而有的變量在短時間內(nèi)不會發(fā)生很大的變化,對生產(chǎn)和設(shè)備也不會造成很大的影響,可以不需要實(shí)時監(jiān)控,所以就可以和其他同類變量用一個地址進(jìn)行傳輸。
就該排風(fēng)系統(tǒng)而言,由于風(fēng)量一直在不停的變化且需要實(shí)時監(jiān)控, 所以21 個風(fēng)量變量需要單獨(dú)使用一個地址進(jìn)行傳輸,而風(fēng)壓、過濾器壓差、軸溫這些變量短時間內(nèi)變化不大且不需要實(shí)時監(jiān)控,所以可以通過公用地址進(jìn)行傳輸,共有57 個變量需要公用地址。
2.2.1 MUX 功能塊
ABB 程序塊中,MUX 功能塊的第1 個輸入為選擇變量,總是INT 數(shù)據(jù)類型,根據(jù)第1 個輸入變量的值,可以選擇其后的某個輸入上的變量傳遞到輸出上,如果第1 個輸入變量的值為1,則選擇第2 個輸入引腳上的變量 (第1 個選擇值)傳遞到輸出引腳上,以此類推,最多可以從10 個變量中選擇1 個傳遞到輸出端。
除第1 個輸入引腳為INT 型外,后面幾個作為選擇值輸出的輸入引腳和輸出引腳的數(shù)據(jù)類型 一 致, 可 以 是REAL、BOOL、WORD、UINT、UDINT、DINT、INT、TIME 或 字 符 串 數(shù) 據(jù) 類 型(STR8~STR256)。MUX 功能塊的輸入引腳和輸出引腳的數(shù)據(jù)類型必須一致,在數(shù)據(jù)類型一致的情況下可以用1 個地址進(jìn)行傳輸。
2.2.2 變量分組
在該排風(fēng)系統(tǒng)中,風(fēng)壓變量的量程是-1 000~2 300Pa,過濾器壓差的量程是-3 000~0Pa,故這兩類變量需要用INT 型進(jìn)行傳輸。 而對于軸溫來說,其量程是0~850℃,數(shù)值均為正數(shù),故用UINT型進(jìn)行傳輸。 總共有57 個變量需要公用地址,為了不使MUX 功能塊循環(huán)時間太長并同時滿足觸摸屏地址個數(shù)的要求, 所以使用11 個地址傳輸這57 個變量,其中的9 個地址,每個地址可傳輸5 個變量,剩下的2 個地址,每個地址傳輸6 個變量,即可滿足使用要求。
2.2.3 流程設(shè)計
一般情況下,ABB 系統(tǒng)接收現(xiàn)場儀表傳輸過來的信號,通過AC800F 控制器進(jìn)行運(yùn)算,將轉(zhuǎn)換后的數(shù)據(jù)傳輸至觸摸屏進(jìn)行顯示。 由于觸摸屏地址不夠用, 因此觸摸屏需要哪一組數(shù)據(jù),ABB 系統(tǒng)就響應(yīng)觸摸屏并將它所需要的那組數(shù)據(jù)傳給觸摸屏。
圖2 地址重復(fù)使用流程
地址重復(fù)使用流程如圖2 所示,在觸摸屏中設(shè)一個選擇變量,通過編寫腳本語言,使選擇變量初始化為1,傳輸給ABB 系統(tǒng)將整個程序激活并循環(huán)起來。 在程序中根據(jù)選擇變量的值確定傳輸哪一組數(shù)據(jù)。 例如, 選擇變量為1 時傳輸?shù)?組數(shù)據(jù),為2 時傳輸?shù)? 組數(shù)據(jù),以此類推下去,同時在觸摸屏上通過Switch-case 語句,根據(jù)選擇變量的值確定讀取哪一組數(shù)據(jù),當(dāng)需要讀取的數(shù)據(jù)讀完之后,選擇變量加1,并將選擇變量傳輸給ABB 系統(tǒng),ABB 系統(tǒng)執(zhí)行傳輸下一組數(shù)據(jù), 當(dāng)選擇變量的值大于所需傳輸?shù)慕M數(shù)時將選擇變量置為1,如此循環(huán),不僅可以實(shí)現(xiàn)批量傳輸數(shù)據(jù),而且實(shí)現(xiàn)了地址重復(fù)使用,傳輸多個變量。
2.3.1 ABB 程序
根據(jù)MUX 功能塊的說明和地址重復(fù)使用流程的描述與設(shè)計,筆者設(shè)計的ABB 程序如圖3 所示。
圖3 ABB 程序
在上述ABB 程序中,SV 為選擇變量,通過觸摸屏的腳本語言程序,SV 被賦值為1, 整個程序激活。 當(dāng)SV 為1 時,將MUX 功能塊第2 個輸入引腳上的變量(第1 個選擇值)傳遞到輸出引腳,即第1 組數(shù)據(jù)傳輸至地址A1~A11 中, 并等待觸摸屏讀取該組數(shù)據(jù),觸摸屏讀取完畢后根據(jù)腳本語言SV 會加1,即SV 此時為2,這時第2 組數(shù)據(jù)傳輸?shù)紸1~A11 地址中, 并等待觸摸屏讀取該組數(shù)據(jù), 觸摸屏讀取完畢后根據(jù)腳本語言SV 會加1,即SV 此時為3,以此類推,直到讀完所有的數(shù)。當(dāng)所有數(shù)據(jù)都讀完后, 根據(jù)if 語句進(jìn)行判斷,SV重新被賦值為1, 開始下一輪循環(huán), 如此循環(huán)下去,就可以滿足現(xiàn)場工藝要求。
2.3.2 觸摸屏編程
觸摸屏上的腳本程序主要是通過內(nèi)部變量cent 激活A(yù)BB 程序上的選擇變量SV, 然后開始根據(jù)選擇變量依次讀取每一組變量。 應(yīng)用程序腳本1 如下:
2.3.3 ABB 程序和觸摸屏功能同步的實(shí)現(xiàn)
選擇變量的初始化是通過觸摸屏的內(nèi)部變量cent 實(shí)現(xiàn)的,內(nèi)部變量cent 可以通過對話框?qū)⑵涑跏贾翟O(shè)定為1, 然后根據(jù)Java 腳本語言的getIntValue 語句給選擇變量SV 賦值, 選擇變量SV 被賦值后ABB 程序就會根據(jù)選擇變量SV 的值選擇相應(yīng)輸出,而由于觸摸屏的驅(qū)動程序配置中接收超時為1s,發(fā)送等待時間為5ms,所以為了不使數(shù)據(jù)傳輸混亂, 觸摸屏每次給SV 賦完值后都通過空循環(huán)語句等待1s,然后再執(zhí)行Switchcase 語句,讀取相應(yīng)的輸出組數(shù)值,讀完之后SV的值就加1,如此循環(huán)下去,使每一組變量的值輪流占用地址實(shí)現(xiàn)傳輸。
通過重新設(shè)計和編寫ABB 與觸摸屏程序,并將它應(yīng)用于核燃料工藝排風(fēng)系統(tǒng)進(jìn)行實(shí)際操作驗(yàn)證,結(jié)果表明改進(jìn)后的系統(tǒng)滿足排風(fēng)專業(yè)的技術(shù)要求和生產(chǎn)需要。 經(jīng)連續(xù)多年運(yùn)行,系統(tǒng)穩(wěn)定,未出現(xiàn)數(shù)據(jù)傳輸混亂的情況,進(jìn)一步驗(yàn)證了本程序設(shè)計的有效性和長期可靠性。 筆者的設(shè)計思想和方法不僅保證了排風(fēng)系統(tǒng)的正常運(yùn)行,而且也適用于解決同行業(yè)其他工藝崗位的同類問題,這不但節(jié)約了企業(yè)額外生產(chǎn)成本,還具有一定的工程應(yīng)用價值和推廣價值。