薛連杰 蘭學杰 李建剛 陳俊友 周執(zhí)偉 王 源 谷萬囤
(海洋石油工程股份有限公司,天津 300452)
在糧食加工業(yè)中,面粉加工是最早實現高度機械化和連續(xù)化生產的工藝之一,自20世紀80年代引進面粉自動生產線以來,面粉加工業(yè)從采用繼電器發(fā)展到運用PLC設計自控系統(tǒng)的大規(guī)模改造[1]。一些面粉廠為了擴大規(guī)模并減少支出,就在車間增加設備或增加車間來擴大產量,以期利益最大化。隨著自動化水平的不斷提高,對技術和管理的需求也與日俱增[2],各類PLC間的數據通信和交換問題日益突顯,對于多種設備并存的生產工藝,存在信息分散和獨立,大量資源無法共享,進而影響企業(yè)整體的生產效率。某面粉廠車間自動化控制的模式很多,數據的傳輸通信和交換問題亟待解決,公司決定組織技術人員對其中一個分廠的通信系統(tǒng)進行改造,在原改造的基礎上實現部分PLC之間以及與主控室上位機的通信。
1.1 原系統(tǒng)控制網絡
某面粉廠某生產車間的原控制系統(tǒng)由3個PLC和一臺工控機組成,共有433個輸入開關信號、350個輸出開關信號、129路模擬信號,系統(tǒng)已經運行10年且性能穩(wěn)定,其硬件配置見表1。其中上位機監(jiān)控軟件為力控6.1組態(tài)軟件,可以支持Modbus及Hostlink等多種通信協(xié)議,開發(fā)環(huán)境方便友好,面向對象的設計使組態(tài)工作量大為降低,用戶可以打造自己的開發(fā)環(huán)境和操作風格,可以實時監(jiān)控并控制生產流程。PLC軟件編程都采用梯形圖方式,簡單易懂,容易操作。原系統(tǒng)間的數據沒有共享,只是單獨的PLC控制單獨的一個系統(tǒng),數據交換和共享非常不便,也增加了工人的工作量和管理難度。改造前控制系統(tǒng)的網絡如圖1所示。
表1 硬件配置
圖1 改造前的控制系統(tǒng)網絡
要實現PLC之間以及上位機之間的通信,目前最流行的方法是現場總線技術,但是為了在最大程度上節(jié)約資金,不可能大批更換控制器和現場設備,所以技術人員就采用了折中的辦法,即運用現場已有的串行數據接口,選取不同產品都支持的協(xié)議,通過串行通信方式完成上位機與不同PLC之間的通信[3]。
C200HS PLC的控制信號經過中間隔離放大后,對整個生產進行實時監(jiān)測和控制;主控室的上位機與PLC之間通過Hostlink協(xié)議實現通信,上位機利用Hostlink協(xié)議與PLC實現通信,對整個生產過程控制系統(tǒng)(包括工作塔、清理、制粉和后處理)進行管理和監(jiān)控;分布在配粉車間的S7-200 PLC獨立完成配粉車間的控制功能,由于是后期改造增加的車間,所以與主控室的數據沒有共享;同樣定量包裝控制系統(tǒng)也是由S7-200 PLC實現面粉的定量稱重、數據采集和檢測功能的,它與分布于現場的若干臺電子秤構成了數據采集系統(tǒng),即只是數據的顯示和采集,對整個系統(tǒng)不能進行控制??梢钥闯觯浞劭刂葡到y(tǒng)和定量包裝控制系統(tǒng)無法與主控室進行信息交互,形成了數據孤島,不利于生產和管理??紤]到通信速度的問題[1],確定采用主從模式的通信方式。主從模式通信大量應用在工業(yè)控制系統(tǒng)中,尤其是PLC及FCS等工業(yè)現場設備中,主設備實時讀取或寫入從設備的內存量,監(jiān)控并協(xié)調儀器設備協(xié)調運行[4]。
常用的主從通信應用層協(xié)議有Modbus、Memobus、PPI、FX及HostLink等[2],基于穩(wěn)定性、工程實施的普遍性和PLC的通用性,最終選用Modbus協(xié)議[5~8],采用RS485總線實現串行通信。Modbus通信協(xié)議定義了一個控制器能識別并使用的消息結構,描述了主控制器訪問從站設備的流程,規(guī)定從站怎樣做出應答響應,以及檢查并報告?zhèn)鬏斿e誤等。
PLC能設置ASCII和RTU兩種傳輸模式,在相同的波特率下,RTU可比ASCII方式傳送更多的數據[9],所以此次改造選用RTU模式。Modbus協(xié)議下典型的RTU模式的命令格式見表2,起始位為T1-T2-T3-T4;RTU幀的地址域在開始部分,由一個字節(jié)即8個二進制碼組成,一般在系統(tǒng)中僅使用1~247,剩下的地址保留,這里要強調的就是每個終端的地址必須保證唯一;功能碼域代碼代表了被尋址的終端應該執(zhí)行何種功能,一般用到的是03(讀取數據寄存器,即獲得一個或多個寄存器的當前二進制值)和16(預置多個寄存器,即把二進制值設定到一系列寄存器中);數據域包含了終端執(zhí)行特定功能所需的數據,也即查詢時采集到的數據,這些數據可以是參考地址、數值和預先設置值;CRC為錯誤檢驗域,它允許主機和終端檢查傳輸中的錯誤,此功能可以保證在數據傳輸過程中主機不去響應數據發(fā)生改變的數據,這就提高了系統(tǒng)的安全性和效率[10]。
表2 RTU模式命令格式
由前述可知,Modbus通信中只能有一個主站,此次改造的最終目的是要把所有車間的數據傳送到主控室的上位機中,實現數據和信息的共享。原系統(tǒng)上位機串口和歐姆龍PLC通過Hostlink協(xié)議來實現部分過程控制,要實現整個系統(tǒng)由一種通信協(xié)議來串行連接,同時一個串口只能支持一種協(xié)議通信,技術人員通過公共協(xié)議把所有的PLC串行連接起來,實現串行通信。
經過分析和實驗,最終設計了如圖2所示的通信方案,主控室的上位機作為主站,3個車間的PLC作為從站,由于C200HS PLC已經與上位機實現了通信,出于工作量的考慮,不改變原協(xié)議;西門子PLC通過Modbus協(xié)議通信來實現對整個車間控制系統(tǒng)的全局監(jiān)控和優(yōu)化,使各控制系統(tǒng)的數據得以共享。
力控組態(tài)軟件能夠很好地支持Modbus協(xié)議,只需要設置特定的參數,直接運用力控軟件已經開發(fā)的模式,就可以實現Modbus通信?,F介紹力控中Modbus的設置參數方法。
首先進入力控開發(fā)界面,點擊左上方的IO設備組態(tài),選擇Modbus協(xié)議及其通信模式,由于S7-200PLC指令庫只支持RTU模式,所以選用Modbus RTU模式,如圖3所示。
圖2 改造后的通信方案
圖3 組態(tài)運行協(xié)議設置界面一
點擊Modbus(RTU串行口)彈出如圖4所示的界面,設備名稱按照PLC的型號填寫,根據PLC或智能模塊內部設置的地址填寫“設備地址”,由前文所述可知,從站的地址分別為3、4,所以必須建立兩個同樣的Modbus從站并進行相應的設置,這樣才能與設備地址一一對應。點擊下一步,就可以進行通信串口的設置了,通信口的設置主要需考慮系統(tǒng)整體通信的速度和穩(wěn)定性,此處波特率設為9 600kb/s。
通信參數設置完成以后,就能實現上位機和PLC之間的通信了。接下來讀取從站PLC的數據,Modbus地址通常是包含數據類型和偏移量的5個或6個字符值,總是以00001、30004之類的形式出現。S7-200 PLC內部的數據存儲區(qū)與Modbus的0、1、3、4共4類地址的對應關系——Modbus地址為40000+(T/2+1)(其中T為偶數),000001~000128是實際輸出,對應于Q0.0~Q15.7;010001~010128是實際輸入,對應于I0.0~I15.7;030001~030032是模擬輸入寄存器,對應于AIW0~AIW2;040001~04XXXX是保持寄存器,對應于V區(qū)。
圖4 組態(tài)運行協(xié)議設置界面二
確定了對應Modbus的地址后,在力控組態(tài)里建立變量,如要讀取定量稱重控制系統(tǒng)中的電磁閥的開關狀態(tài),控制電磁閥的開關量地址在PLC里為I0.0,查表發(fā)現對應的Modbus地址為010001,所以要建立對應于Modbus地址的組態(tài)變量。點擊工程項目導航欄里的數據庫組態(tài)依次可以得到如圖5、6所示的界面,此處要注意內存區(qū)的選擇,力控中的Modbus區(qū)域沒有00,所以010001的地址應該向后錯一個區(qū)域,即選擇02號命令,偏置設為1,設置如圖6所示,這樣就完成了組態(tài)變量的建立,在監(jiān)控界面上連接這個I/O點,就可以看到電磁閥的開關狀態(tài)了。
S7-200 PLC作為Modbus從站時,是通過在其強大的指令庫中預先編好的程序功能塊來實現的,在Modbus RTU協(xié)議應用于S7-200 PLC時,要注意:Modbus從站指令庫只支持CPU上的通信0口,即port0;安裝的編程軟件必須是Step7-Micro/WIN32 V3.2以上版本的編程軟件,還必須安裝Step7 MicroWIN32 V3.2 Instruction Library指令庫[11]。
圖5 組態(tài)變量設置界面一
圖6 組態(tài)變量設置界面二
安裝指令庫并打開Step7軟件后,就會看到如圖7所示的界面,S7-200 PLC是作為從站的,所以選擇Modbus slaveport0,會出現兩個指令塊,只需作相應的設置就能實現通信了。要實現通信首先要在第一個循環(huán)周期中通過插入MBUS_INIT指令來實現從站的初始化,從站地址(即參數address)必須與主站所要求讀入的從站地址吻合[11],主-從站的波特率與奇偶校驗位也必須設置一致;當需要為Modbus的主設備發(fā)出請求服務時,就要用到MBUS_SLAVE指令,并且要求在每次掃描時執(zhí)行,以便允許該指令能夠同時檢查和回答Modbus的請求,兩個從站的地址不能互相沖突,否則會報通信錯誤或者無法通信[12]。編程實例如圖8所示。
圖7 Step7 Modbus指令庫
圖8 S7-200 PLC編程實例
前面已經實現相關設備的通信,最終目的就是使配粉車間和定量稱重控制系統(tǒng)的工作狀態(tài)和數據完整地顯示在上位機界面上。圖9為后處理車間(即配粉和定量稱重)的生產狀態(tài),圖中有流量顯示、料位高/低、過程控制中閘門的狀態(tài)等,這樣在主控室就能掌握整個車間包括工作塔、清理、制粉、配粉及稱重等工藝過程的生產狀態(tài),實現了數據共享的目的,解決了信息孤島問題,實現了車間整體生產過程的實時、完整監(jiān)控。
圖9 后處理車間生產狀態(tài)
經過改造,通信系統(tǒng)最終的網絡結構如圖10所示,定量包裝控制系統(tǒng)和配料控制系統(tǒng)的數據能夠直接與主控室的PLC通過Modbus協(xié)議來實現通信,實現了數據的共享。而主控室的PLC通過Hostlink協(xié)議和上位機通信,基于組態(tài)把數據實時顯示在控制界面上。上層為Internet信息網,可與主控室和各科室相連,這樣就實現了遠程控制與數據共享。
圖10 改造后的控制系統(tǒng)網絡
某面粉生產線的通信系統(tǒng)經過改造后,實現了車間一體式的管理。原主控室、原配粉車間與定量稱重車間一共需要8個人隨時監(jiān)控生產狀況,并拿對講機與主控保持聯系并記錄流量及包裝數據等,系統(tǒng)改造后只需在各車間安排一人,就可以及時了解到操作效果、調整參數并穩(wěn)定流量等,強化了自動監(jiān)控和信息反饋手段,從而提高了工作效率并降低了生產成本,獲得了一定的經濟效益。本系統(tǒng)架構簡單可靠,投資成本低,把工業(yè)控制最新通信技術與原有的硬件系統(tǒng)相結合,實現了利益最大化和投資最小化。改造后的系統(tǒng)設備層和管理層的網絡互相獨立、互不影響,是一套切實可行的系統(tǒng)監(jiān)控解決方案,可以廣泛適用于需要進行相關通信改造的各領域。