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