高玉
(西安鐵路職業(yè)技術(shù)學(xué)院 電子信息學(xué)院,陜西 西安 710014)
在線監(jiān)控系統(tǒng)通過檢測(cè)傳感器對(duì)儀器設(shè)備的各類信號(hào)進(jìn)行數(shù)據(jù)采集,并將數(shù)據(jù)上傳給使用者,使用者可通過參數(shù)設(shè)置改變儀器狀態(tài)[1]。近年來,隨著網(wǎng)絡(luò)通信技術(shù)的成熟,在線監(jiān)控系統(tǒng)已在工業(yè)監(jiān)控和水質(zhì)質(zhì)量監(jiān)控等諸多領(lǐng)域得到了廣泛運(yùn)用[2]。
磁懸浮控制器在線監(jiān)控系統(tǒng)主要應(yīng)用于磁懸浮轉(zhuǎn)子試驗(yàn)臺(tái)[3]。一方面可將控制器采集的磁懸浮轉(zhuǎn)子系統(tǒng)的監(jiān)測(cè)數(shù)據(jù)傳輸給個(gè)人計(jì)算機(jī)(PC),展現(xiàn)給用戶;另一方面用戶可遠(yuǎn)程在線修改控制器的控制參數(shù),從而閉環(huán)控制轉(zhuǎn)子狀態(tài)[4]。相比現(xiàn)場(chǎng)監(jiān)控磁懸浮控制器,在線監(jiān)控主要具備以下優(yōu)點(diǎn):首先使用電子設(shè)備代替人力與器具進(jìn)行監(jiān)控,可以降低監(jiān)控的成本,提高數(shù)據(jù)準(zhǔn)確率;其次在線監(jiān)控系統(tǒng)可以實(shí)時(shí)完成數(shù)據(jù)的傳輸,大量減少系統(tǒng)的調(diào)試時(shí)間;最后在線監(jiān)控系統(tǒng)可使用戶遠(yuǎn)程監(jiān)控多臺(tái)磁懸浮轉(zhuǎn)子平臺(tái),提高效率,降低成本[5]。
在線監(jiān)控系統(tǒng)大多采用串行接口進(jìn)行傳輸,該方式的數(shù)據(jù)傳輸速率較低且傳輸范圍較小:使用RS-232可支持的最大傳輸速率是20 kb/s,最大傳輸距離僅為15 m,易受環(huán)境干擾[6]。為解決這一問題,本文設(shè)計(jì)了基于工業(yè)以太網(wǎng)通信的磁懸浮轉(zhuǎn)子監(jiān)控系統(tǒng)。相比以往系統(tǒng),該系統(tǒng)可實(shí)現(xiàn)遠(yuǎn)距離監(jiān)控,大幅提高了在線監(jiān)控的數(shù)據(jù)傳輸效率,實(shí)現(xiàn)了預(yù)期的功能設(shè)計(jì)要求。
本文設(shè)計(jì)并搭建了基于工業(yè)以太網(wǎng)通信的磁懸浮轉(zhuǎn)子在線監(jiān)控系統(tǒng)。一方面,可通過上位機(jī)PC實(shí)時(shí)追蹤磁懸浮轉(zhuǎn)子橫向及垂直方向的位移及功率放大器輸出電流等關(guān)鍵數(shù)值,檢測(cè)轉(zhuǎn)子的狀態(tài)是否異常;另一方面,可對(duì)PID控制的比例系數(shù)、積分系數(shù)和微分系數(shù)進(jìn)行實(shí)時(shí)調(diào)整,調(diào)整系統(tǒng)運(yùn)轉(zhuǎn)狀態(tài)。經(jīng)測(cè)試,該監(jiān)控系統(tǒng)通信正常、工作穩(wěn)定,可實(shí)現(xiàn)控制數(shù)據(jù)遠(yuǎn)距離、高速率和高穩(wěn)定性的傳輸。
磁懸浮控制器在線監(jiān)控系統(tǒng)的設(shè)計(jì)架構(gòu)如圖1所示。磁懸浮控制器在線監(jiān)控系統(tǒng)的主體部分為磁懸浮轉(zhuǎn)子系統(tǒng),該系統(tǒng)由異步電機(jī)通過聯(lián)軸器驅(qū)動(dòng)轉(zhuǎn)子高速旋轉(zhuǎn)。轉(zhuǎn)子由一對(duì)徑向磁懸浮軸承支承,軸向上利用聯(lián)軸器限制其運(yùn)動(dòng)。在轉(zhuǎn)子兩端靠近軸承的位置安裝有位移傳感器。位移傳感器對(duì)轉(zhuǎn)子的位移數(shù)據(jù)進(jìn)行測(cè)量,并將位移數(shù)據(jù)和從PWM數(shù)字開關(guān)功效模塊反饋來的電流數(shù)據(jù)進(jìn)行前置調(diào)理、A/D轉(zhuǎn)換,傳送給DSP控制器。同時(shí),DSP控制器分別通過PID閉環(huán)控制轉(zhuǎn)子的位移和功放的電流。
圖1 系統(tǒng)整體架構(gòu)設(shè)計(jì)圖
在線監(jiān)控系統(tǒng)實(shí)物連接圖如圖2所示。
圖2 在線監(jiān)控系統(tǒng)實(shí)物連接圖
在線監(jiān)控系統(tǒng)軟件設(shè)計(jì)中,以工業(yè)以太網(wǎng)作為傳輸方式,分別進(jìn)行上位機(jī)PC和下位機(jī)DSP的在線監(jiān)控程序編寫,實(shí)現(xiàn)了磁懸浮控制器中儲(chǔ)存的系統(tǒng)位移、電流狀態(tài)信息傳輸給PC以及將PID控制參數(shù)傳輸給DSP等主要功能。
在線監(jiān)控軟件整體架構(gòu)如圖3所示。上位機(jī)為監(jiān)控系統(tǒng)的服務(wù)器端,相關(guān)程序在PC機(jī)運(yùn)行,采用LabVIEW軟件進(jìn)行相關(guān)程序的編寫;下位機(jī)為系統(tǒng)客戶端,相關(guān)程序在DSP運(yùn)行,在CCS7.1.0中使用C語言進(jìn)行編寫。上、下位機(jī)共同完成監(jiān)測(cè)數(shù)據(jù)傳輸和控制數(shù)據(jù)傳輸兩項(xiàng)功能。
圖3 軟件結(jié)構(gòu)框圖
2.2.1 下位機(jī)程序設(shè)計(jì)
下位機(jī)程序的設(shè)計(jì)框圖如圖4所示。首先定義程序全局變量以及IP地址、子網(wǎng)掩碼等通信信息,并對(duì)DSP和W5300分別進(jìn)行初始化配置;接下來程序的主體部分進(jìn)行接收數(shù)據(jù)與發(fā)送數(shù)據(jù)兩個(gè)函數(shù)的循環(huán),以保證在線監(jiān)測(cè)的實(shí)時(shí)性。兩個(gè)函數(shù)具體實(shí)現(xiàn)先建立TCP連接,再將數(shù)據(jù)發(fā)送到緩存區(qū)或?qū)⒕彺鎱^(qū)的數(shù)據(jù)讀取的功能。
圖4 下位機(jī)程序設(shè)計(jì)框圖
2.2.2 上位機(jī)程序設(shè)計(jì)
上位機(jī)監(jiān)測(cè)數(shù)據(jù)傳輸程序由LabVIEW軟件進(jìn)行編寫,程序流程為:
(1)根據(jù)IP地址和TCP端口號(hào)不斷向下位機(jī)發(fā)送建立連接的請(qǐng)求信息。
(2)連接成功后,通過While循環(huán)接收下位機(jī)傳輸?shù)谋O(jiān)測(cè)數(shù)據(jù),存儲(chǔ)數(shù)據(jù)并通過波形圖顯示實(shí)時(shí)數(shù)據(jù)圖像。
(3)若傳輸產(chǎn)生錯(cuò)誤信息或者點(diǎn)擊停止按鈕后跳出循環(huán),斷開TCP連接,并顯示錯(cuò)誤代號(hào)與原因。
(4)完成數(shù)據(jù)傳輸后斷開TCP連接。
根據(jù)實(shí)際應(yīng)用需求,需要將磁懸浮轉(zhuǎn)子試驗(yàn)臺(tái)傳感器監(jiān)測(cè)到的狀態(tài)信息不斷上傳到PC機(jī)端進(jìn)行觀測(cè)與處理。由于數(shù)據(jù)產(chǎn)生頻率大,需要將一定時(shí)間段內(nèi)接收到的數(shù)據(jù)打包上傳給PC。具體實(shí)現(xiàn)方法如下:
(1)對(duì)數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換:由于監(jiān)測(cè)數(shù)據(jù)格式為占用空間較大的64位浮點(diǎn)數(shù),若直接傳輸則會(huì)影響傳輸速率,因此傳輸前先將浮點(diǎn)數(shù)轉(zhuǎn)化成為16位定點(diǎn)數(shù),即每個(gè)數(shù)據(jù)乘上215取整,在LabVIEW接收到數(shù)據(jù)后再除以215還原。這樣可以提高傳輸速率,確定每個(gè)數(shù)據(jù)的位數(shù),同時(shí)產(chǎn)生的誤差也很小。
(2)下位機(jī)分包發(fā)送數(shù)據(jù):每包中有X+1個(gè)16位數(shù)據(jù),其中第一位為標(biāo)識(shí)字符串“si”,后X個(gè)數(shù)據(jù)為監(jiān)測(cè)數(shù)據(jù)的ASCⅡ碼。
(3)上位機(jī)接收數(shù)據(jù)包:建立數(shù)據(jù)接收模塊,打開TCP連接,進(jìn)入接收數(shù)據(jù)While循環(huán)中,不斷查找“si”標(biāo)識(shí)符信息。若發(fā)現(xiàn)“si”則進(jìn)入到接收數(shù)據(jù)模塊,一次讀取X個(gè)數(shù)據(jù)的ASCⅡ碼,依次進(jìn)行將ASCⅡ碼轉(zhuǎn)化為對(duì)應(yīng)的十六進(jìn)制數(shù)字,再將數(shù)字轉(zhuǎn)化成字符串格式,最終字符串轉(zhuǎn)化為十進(jìn)制數(shù)字的處理,將所得十進(jìn)制數(shù)組輸入到實(shí)時(shí)波形圖與整體波形圖表中,最終關(guān)閉TCP連接。
控制數(shù)據(jù)傳輸程序?qū)崿F(xiàn)的目標(biāo)是用戶可以在LabVIEW中輸入PID控制的參數(shù),并實(shí)時(shí)傳輸給控制器進(jìn)行控制調(diào)整,程序設(shè)計(jì)如下:
上位機(jī)程序設(shè)計(jì)中,控制數(shù)據(jù)幀的第一位為標(biāo)識(shí)符“#”,由于控制數(shù)據(jù)位數(shù)不確定,因此每個(gè)數(shù)據(jù)之間采用“*”作為間隔標(biāo)識(shí)符。建立TCP連接后,每次修改參數(shù)后向控制器發(fā)送(“#”+比例系數(shù)+“*”+積分系數(shù)+“*”+微分系數(shù))的數(shù)據(jù)幀。
下位機(jī)程序設(shè)計(jì)中,建立TCP連接,recv(SOCKET s, uint8 * buf, uint32 len)函數(shù)將一組數(shù)據(jù)接收到一個(gè)暫存數(shù)組中。接下來進(jìn)行標(biāo)識(shí)符識(shí)別,若第一位為“#”,則進(jìn)入PID數(shù)據(jù)接收循環(huán)中,將“#”號(hào)與接收字符串查詢到的首個(gè)星號(hào)之間的存儲(chǔ)為比例系數(shù)P,將首個(gè)“*”與查詢到的下個(gè)“*”之間的數(shù)據(jù)存儲(chǔ)為積分系數(shù)I,將第二個(gè)“*”與查詢到的第三個(gè)“*”之間的數(shù)據(jù)存儲(chǔ)為微分系數(shù)D。通過數(shù)據(jù)提取,可實(shí)現(xiàn)DSP對(duì)控制參數(shù)的接收。
磁懸浮控制器在線監(jiān)控程序中需要對(duì)磁懸浮軸承的位移變量和功放的電流數(shù)據(jù)進(jìn)行監(jiān)測(cè),并通過實(shí)時(shí)傳輸控制參數(shù)調(diào)整控制變量。圖5所示為一組位移監(jiān)測(cè)數(shù)據(jù)和兩組電流監(jiān)測(cè)數(shù)據(jù)的接收?qǐng)D像,每個(gè)數(shù)據(jù)包包含1 000個(gè)監(jiān)測(cè)數(shù)據(jù)。在該測(cè)試中,上位機(jī)與下位機(jī)間隔相距3 km,且數(shù)據(jù)傳輸穩(wěn)定,環(huán)境干擾小。
接下來對(duì)每包大小與傳輸速率間的關(guān)系進(jìn)行測(cè)試,結(jié)果如表1所示。隨著數(shù)據(jù)包包含數(shù)據(jù)個(gè)數(shù)的增長,傳輸速率也有明顯的增長,但數(shù)據(jù)實(shí)時(shí)性會(huì)受到影響。
圖5 三組磁懸浮平臺(tái)實(shí)際信號(hào)在線監(jiān)測(cè)圖
表1 數(shù)據(jù)包大小與傳輸速率的關(guān)系
將監(jiān)測(cè)數(shù)據(jù)接收與控制數(shù)據(jù)發(fā)送程序整合在一起,設(shè)計(jì)了在線監(jiān)控平臺(tái)界面,如圖6所示。在該界面中,用戶可實(shí)時(shí)接收兩組位移數(shù)據(jù)及四組電流數(shù)據(jù),用戶還可實(shí)時(shí)發(fā)送控制參數(shù),并觀測(cè)控制參數(shù)變化對(duì)系統(tǒng)狀態(tài)的影響,實(shí)現(xiàn)在線監(jiān)控功能。此外,用戶可將數(shù)據(jù)存儲(chǔ)在相應(yīng)文件中,用于后續(xù)數(shù)據(jù)分析。
圖6 磁懸浮控制器在線監(jiān)控界面
本文針對(duì)既有的磁懸浮控制器在線監(jiān)控系統(tǒng)數(shù)據(jù)傳輸速率慢和傳輸距離短等不足,設(shè)計(jì)了基于工業(yè)以太網(wǎng)的磁懸浮控制器在線監(jiān)控系統(tǒng)。首先對(duì)監(jiān)控系統(tǒng)整體架構(gòu)進(jìn)行設(shè)計(jì),接下來針對(duì)監(jiān)測(cè)數(shù)據(jù)傳輸及控制數(shù)據(jù)傳輸軟件分別進(jìn)行設(shè)計(jì),上位機(jī)軟件采用LabVIEW編寫,下位機(jī)軟件采用CCS7.1.0編寫。最終將監(jiān)測(cè)與控制軟件進(jìn)行合并,設(shè)計(jì)了在線監(jiān)控用戶界面,用戶可實(shí)時(shí)接收位移及電流數(shù)據(jù)并發(fā)送控制參數(shù),觀測(cè)控制參數(shù)變化對(duì)系統(tǒng)狀態(tài)的影響,實(shí)現(xiàn)在線監(jiān)控功能。經(jīng)測(cè)試,該系統(tǒng)可進(jìn)行遠(yuǎn)距離數(shù)據(jù)傳輸,傳輸速率可達(dá)2.3 Mb/s,且受環(huán)境干擾小,滿足設(shè)計(jì)需求。