【摘要】近年來,隨著計算機科學技術(shù)的不斷發(fā)展與進步,在數(shù)據(jù)信息采集活動中,上位機與可編程控制器(簡稱PLC)之間的串行通信已經(jīng)成為當前工業(yè)控制活動中的重要方式。工業(yè)生產(chǎn)的擴大化給相關(guān)設(shè)備器材的自動化水平提出了更高的要求,而這就要求要求技術(shù)人員在現(xiàn)場數(shù)據(jù)的采集活動中要保持更高的精度。本文擬研究分析上位機與PLC之間的串行通信在實現(xiàn)現(xiàn)場數(shù)據(jù)采集活動的具體實施辦法,從系統(tǒng)的結(jié)構(gòu)與功能、軟件設(shè)計等兩方面進行論述,以供相關(guān)企業(yè)和人員參考研究。
【關(guān)鍵詞】上位機;PLC;串行通信
1.引言
PLC是當前在工業(yè)現(xiàn)場數(shù)據(jù)信息采集活動中應(yīng)用較為廣泛的一種新興工業(yè)控制器,由于在實際活動中所體現(xiàn)出的性能優(yōu)越、數(shù)據(jù)精準等優(yōu)勢特點,備受國內(nèi)外中眾多相關(guān)廠家的親睞。
以S市某化肥廠為例,在該化肥廠的集散控制系統(tǒng)中,傳統(tǒng)的專業(yè)組態(tài)軟件在連接上位機與PLC的過程中,出現(xiàn)了成本較高、控制難度較大等問題,針對這一問題,該化肥廠嘗試重新進行系統(tǒng)結(jié)構(gòu)與功能的調(diào)整,并重新設(shè)計現(xiàn)骨干軟件,以滿足了化肥廠現(xiàn)場生產(chǎn)工況的要求,實現(xiàn)了對現(xiàn)場數(shù)據(jù)準確的實時采集目標。
2.系統(tǒng)的結(jié)構(gòu)與功能
2.1 硬件組成
S市某化肥廠的集散控制系統(tǒng)由兩種通訊協(xié)議組成,即RS232和RS485,也有兩種通訊協(xié)議存在一定的差異,這就需要相關(guān)工程技術(shù)人員需要利用ADAM4520來實現(xiàn)兩種不同協(xié)議之間的轉(zhuǎn)換過程。COM06這一單元模塊有A、B個PORT口,A口符合RS232協(xié)議,B口符合RS422/RS485協(xié)議。在本系統(tǒng)中,集散控制系統(tǒng)共連接了4臺PLC,而為了最大限度的確保程序在運行過程中的穩(wěn)定性,技術(shù)人員采用雙機冗余系統(tǒng),這樣可以確保一旦主機發(fā)生意外故障而無法正確運行時,備份機能夠及時接班繼續(xù)執(zhí)行任務(wù)[1]。
2.2 符合通訊協(xié)議的電纜連接
為了確保通訊協(xié)議之間的轉(zhuǎn)換能夠順利的進行,這就要求工程技術(shù)人員應(yīng)當建立起符合兩種通訊協(xié)議的電纜連接來??茖W正確的電纜連接離不開對兩種接口協(xié)議的正確認識。當前最為常見的串行接口標準、將計算機與計算機有機地進行數(shù)據(jù)通訊的協(xié)議是RS232,而相比較之下,RS232串行接口總線主要于以下情況,即設(shè)備器材之間的距離>15m,傳輸速率維持在最大20kB/s左右[2]。基于這一認識,本集散控制系統(tǒng)中計算機與ADAM4520l的接線就是符合RS232協(xié)議的串行電纜。
2.3 軟件系統(tǒng)組成
在設(shè)計相關(guān)的軟件系統(tǒng)時,設(shè)計人員首先應(yīng)當明確自己的基本設(shè)計原則與設(shè)計理念。由于軟件系統(tǒng)是為了正常的通訊功能而服務(wù)的,這就要求軟件需要實現(xiàn)VB與PLC之間的成功通訊。一般情況下,我們往往采用兩種上位機鏈接通信方式,即上位機向PLC發(fā)送通信請求命令與PLC向上位機發(fā)送通信請求命令。根據(jù)這兩種方式,軟件技術(shù)開發(fā)人員可以依據(jù)相關(guān)的工業(yè)管理來制定一定的通訊規(guī)約,如規(guī)定好上位機向PLC所發(fā)的命令幀格式及其命令幀的格式,規(guī)定 PLc向上位機返回的應(yīng)答呵格式及其應(yīng)答幀的格式。
由于在軟件系統(tǒng)的運行過程中,上位機的命令幀是通過VB中MSComm通訊控件所產(chǎn)生的通信事件來實現(xiàn)命令發(fā)送的,因而,結(jié)合該化肥廠的實際工作情況,研究人員應(yīng)當盡量控制PLC固定儲存器區(qū)域中的數(shù)據(jù)[3]。PLC所返回的命令幀同樣需要經(jīng)過相關(guān)的軟件數(shù)據(jù)進行通信接收,這就說明,研究人員采集在所需要的數(shù)據(jù)后,通過利用MSChart控件來顯示實時數(shù)據(jù)的方式,能夠順利地完成了生產(chǎn)現(xiàn)場實時數(shù)據(jù)的準確采集。
3.軟件的設(shè)計
3.1 MSComm通訊控件的設(shè)計
在VB當中,MSComm控件實現(xiàn)成功通訊的重要控件,而在設(shè)計過程中,設(shè)計人員應(yīng)當著重注意以下幾點。首先要做好初始化工作,這就要求設(shè)計人員在設(shè)置端口號時,應(yīng)當以當前所使用的串行口作為基本參考對象。在設(shè)置好端口號之后,設(shè)計人員設(shè)置好Settings工作,對停止位、奇偶校驗、波特率、數(shù)據(jù)位等基本參數(shù)進行標準設(shè)置。在設(shè)置過程中設(shè)計人員要注意設(shè)置讀取數(shù)據(jù)的類型與其讀取的字符數(shù)。當設(shè)置InputLen為0時,設(shè)計人員需要利用MSComm控件來讀取緩沖區(qū)中的全部內(nèi)容;當設(shè)置Rthreshold為1時,設(shè)計人員則需要將接收到的每一個字符都經(jīng)過MSComm控件進而產(chǎn)生OnComm事件[4]。
3.2 軟件的握手
實現(xiàn)軟件握手,設(shè)計人員需要注意以下幾個問題:
第一,要確保VB程序與PLC實現(xiàn)成功通信,確保程序所發(fā)送的命令幀正確無誤。這就要求設(shè)計人員要仔細鑒定分析應(yīng)答幀的結(jié)束碼,判斷其是否出錯,如若出現(xiàn)錯誤,則應(yīng)當依據(jù)錯誤的具體類型進行針對性處理;
第二,在通訊程序的OnComm事件中,設(shè)計人員應(yīng)當判斷CommEvent是否產(chǎn)生接收事件,如若產(chǎn)生,則應(yīng)當接收,否則不接收;
第三,在處理程序中錯誤語句的活動中,設(shè)計人員應(yīng)當不斷提高系統(tǒng)自身的應(yīng)對能力和防御能力,以及時有效地辨認用戶的錯誤語句,避免不必要的麻煩[5]。
3.3 程序基本輪廓設(shè)計思想
設(shè)計人員在設(shè)計程序的基本輪廓時,應(yīng)當首要利用VB的事件驅(qū)動特性,充分發(fā)揮出用戶的自主選擇權(quán),讓用戶能夠依據(jù)自身需求來選擇是利用全部四臺PLC進行運作還是只使用當中的一臺。如果選擇全部運作,那么設(shè)計人員應(yīng)當設(shè)計好所有的通信接電的相應(yīng)命令幀,并實時進行檢測與觀察;如果選擇運行單個的PLC,那么設(shè)計人員需要輸入與PLC從站單元相對應(yīng)的所想要顯示采集數(shù)據(jù)的節(jié)點號,并與用戶的確認步驟進行同步操作,從而實現(xiàn)通過通訊端口定時從現(xiàn)場PLC中接收數(shù)據(jù)的目的[6]。需要指出的是,本程序的運行環(huán)境是windowsxp與VB6.0,在實際操作過程中,用戶可以通過個人的喜好與實際的需求從PLC單元對現(xiàn)場數(shù)據(jù)進行實時采集分析處理,一旦出現(xiàn)突發(fā)事件,依據(jù)已采集的數(shù)據(jù)與當前具體情況技術(shù)人員能夠?qū)ζ溥M行相應(yīng)處理。
4.結(jié)束語
當前在工業(yè)控制活動中,上位機與可PLC之間的串行通信已經(jīng)成為其中的重要組成部分。面臨日益嚴峻的市場競爭壓力與發(fā)展形勢,企業(yè)需要從集散控制系統(tǒng)的構(gòu)造與軟件程序的開發(fā)應(yīng)用兩方面著手來推行通訊的成功實現(xiàn)。
通過有效利用高級語言VB,將其與C200HE進行有機地連接,進而利用串行通信來實現(xiàn)對化肥廠現(xiàn)場數(shù)據(jù)信息采集的目的,具有穩(wěn)定性、靈活性、高校性等一系列優(yōu)勢特點。當前基于上位機與PLC之間的串行通信數(shù)據(jù)系統(tǒng)已經(jīng)在S市的某化肥廠正式投入使用,并取得了預(yù)期的效果。這說明,隨著相關(guān)廠家其生產(chǎn)活動的自動化程度不斷提高,串行通信數(shù)據(jù)系統(tǒng)的應(yīng)用將不斷拓展到更深更廣泛的領(lǐng)域。
參考文獻
[1]何默為,劉永賢.上位機與PLC遠程通信實現(xiàn)動態(tài)數(shù)據(jù)采集研究[J].機械與電子,2011,2(04):69-70.
[2]劉玉國,李居峰.基于PLC的現(xiàn)場數(shù)據(jù)采集和自動化控制[J].現(xiàn)代機械,2012,2(03):116-117.
[3]白冰,潘真,靳繼紅,等.基于PLC現(xiàn)場數(shù)據(jù)采集與分析[J].科技情報開發(fā)與經(jīng)濟,2010,10(21):55-56.
[4]陸嘉,李常輝,劉銀鎖,等.基于VB的PLC與上位機通信軟件的設(shè)計[J].自動化技術(shù)與應(yīng)用,2010,5(09):106-107.
[5]蔡倩,經(jīng)亞枝.Windows環(huán)境下PLC與上位機的串行通信[J].電腦開發(fā)與應(yīng)用,2013,2(03):90-91.
[6]周雪輝,朱永興,吳燕翔.PLC與上位機的串行通信實現(xiàn)[J].上海水產(chǎn)大學學報,2014,1(02):84-85.
作者簡介:黃龍(1992—),湖北武漢人,大學本科,現(xiàn)就讀于湖北科技學院電子與信息工程學院,研究方向:通信數(shù)據(jù)傳輸技術(shù),單片機技術(shù),信息技術(shù),網(wǎng)絡(luò)安全。