







〔摘 要〕針對Atlas Copco空壓機與工業控制系統的通信集成難題,系統性地分析了Profibus-DP協議的數據交互機制,并提出基于西門子S7-1200 PLC的Profinet通信中轉方案。通過某銅冶煉項目實踐,驗證了該方案在多設備協同控制、大容量數據傳輸及異構網絡融合中的有效性。研究結果表明,采用S7-1200作為協議轉換樞紐,可將單次通信數據容量提升至1 400 B,輪詢周期縮短至200 ms,系統穩定運行兩年未發生通信故障,為工業現場設備集成提供了經濟可靠的解決方案。
〔關鍵詞〕阿特拉斯空壓機;S7-1200 PLC;Profibus-DP;Profinet;工業通信
中圖分類號:TP273 " 文獻標志碼:B" 文章編號:1004-4345(2025)01-0028-05
Research on the Integration of Profibus DP and Profinet Communication in Atlas Air Compressor
WAN Li, LIU Zhenmin
(Jiangxi Nerin Electric amp; Automation Co., Ltd., Nanchang, Jiangxi 330038, China)
Abstract In response to the communication integration difficulties between Atlas Copco air compressor and industrial control system, the paper systematically analyzes the data exchange mechanism of Profibus DP protocol and proposes a Profinet communication relay solution based on Siemens S7-1200 PLC. The effectiveness of this solution in multi-device collaborative control, large-capacity data transmission and heterogeneous network convergence can be verified through the practice of a copper smelting project. The research results indicate that using S7-1200 as a protocol conversion hub can increase the single communication data capacity to 1 400 byte, shorten the polling cycle to 200 ms, and ensure stable system operation for two years without communication failures, which provides an economical and reliable solution for the integration of industrial field devices.
Keywords" Atlas air compressor; S7-1200 PLC; Profibus-DP; Profinet; industrial communication
在冶金、化工等流程工業中,空壓機作為核心動力設備,其運行狀態直接影響生產系統的安全性與能效。通常工廠中的空壓機需要配置多臺,安裝在專用空壓機廠房內,以便靠近供電中心或用氣需求較多的車間。傳統監控方式依賴硬接線信號傳輸,存在布線復雜、擴展性差、實時數據采集量受限等問題。隨著工業物聯網(Industrial Internet of Things,IIoT)技術的發展,基于現場總線的通信協議(如Profibus-DP、Profinet)因其高實時性、強抗干擾能力及靈活組網特性,成為工業設備智能化的關鍵技術手段。
Atlas Copco空壓機搭載的Elektronikon R MK5控制器采用CAN總線協議,與主流分布式控制系統(DCS)的Profibus/Profinet協議存在顯著兼容性差異[1-4]。具體表現為:1)協議異構。MK5網關的Profibus-DP通信采用非標準主從應答機制,與常規I/O映射模式不兼容。2)數據容量限制。單從站最大數據量僅244 B,難以滿足多設備集群的監控需求。3)輪詢效率低下。DCS系統對非標準協議的支持不足,導致數據采集周期過長。
本文通過引入西門子S7-1200 PLC構建協議轉換層,實現了空壓機集群與橫河DCS的高效集成。該方案不僅解決了工業現場常見的協議壁壘問題,還為多廠商設備協同控制提供了標準化接口設計范式,具有顯著的工程應用價值。
1" "項目簡介
某銅冶煉項目現場有5臺阿特拉斯空壓機,需要實現與全廠控制系統橫河DCS(CENTUM VP)的通信。若直接采用空壓機的MK5網關與DCS通信,則DCS側的軟件編寫難度較大??紤]到每臺空壓機都有大量數據需要通信到DCS,通常涉及幾十個實時數據點,使用Profibus-DP通信方式會面臨限制。因為Profibus-DP標準從站的通信容量僅為244 B,而阿特拉斯空壓機的Profibus-DP實現較為特殊,每個實時數據至少占用8 B。除非僅讀取少量的信息,否則Profibus-DP難以滿足通信需求。相比之下,Profinet提供了高達1 400 B的通信容量,在實際應用中不容易受到數據包大小的限制,具有顯著優勢。
該項目采用了西門子S7-1200 PLC(CPU 1217)作為通信中轉站,成功實現了與橫河DCS(CENTUM VP)的Profinet通信。具體方案如下:在S7-1200 PLC上添加一個Profibus-DP主站通信模塊,通過Profibus-DP協議與空壓機的MK5網關建立連接。在該連接中,空壓機MK5網關作為Profibus-DP從站,S7-1200 PLC作為主站,負責讀取所有實時數據并存儲到PLC中。隨后,S7-1200 PLC利用其集成的Profinet接口與橫河DCS建立通信,此時S7-1200 PLC作為Profinet I/O設備,橫河DCS作為Profinet控制器,從S7-1200 PLC中讀取轉發的實時數據。這一方案有效地解決了通信難題。
2" "報文結構分析及舉例
2.1" MK5網關數據長度與數據記錄類型
MK5網關作為標準Profibus-DP從站,其GSD文件定義了4種輸入/輸出數據長度規格:8 B、16 B、
32 B和64 B。在單次主從通信周期內,這4種不同的數據長度分別對應可傳輸的1個、2個、4個、8個空壓機數據記錄。
數據記錄按類型劃分包括:1)過程量,包含溫度、壓力、振動、電流等模擬量參數;2)開關狀態,包括電機運行狀態、電機過載狀態、急停按鈕狀態等布爾型參數;3)統計量,涵蓋電機累計運行時長、電機啟動次數等累計型參數等。具體空壓機控制器支持的數據記錄類型及地址映射關系需查閱設備制造商Atlas Copco提供的通信協議數據表。
2.2" 通信緩存區與報文結構
DCS或PLC控制系統導入MK5網關GSD文件后,即建立了相應數據長度的通信緩存區。這些緩存區分為輸入緩存區和輸出緩存區,兩者在長度和結構上均保持一致。輸出緩存區用于存放主站發送給MK5網關的查詢報文,而輸入緩存區則用于存放MK5網關返回的應答報文。
緩存區中的報文結構分為報頭和數據區兩部分。其中,報頭占用1 B,而每個數據記錄的長度為7 B。數據區的總長度為數據記錄數乘以7 B。例如,在通信1個數據記錄時,報頭占1 B,數據占7 B,共計8 B。若通信2個或更多數據記錄,則可能存在未用的緩存區。例如,在使用8個數據記錄(64 B)的GSD時,報頭占1 B,7個數據共56 B,共計57 B,剩余的7 B則未被使用。
主站發送給MK5網關的查詢報文和MK5網關返回的應答報文結構一致,但內容有所不同。
2.2.1" 報頭結構
報頭的結構如圖1所示。
主站發送給MK5網關的報頭,包含同步位(用于同步主站查詢和從站應答,確保每次查詢的同步位與上一次不同,否則MK5網關將不響應新的查詢,其變化方式可以是00-01-10-11-00循環或其他任意位的改變)、功能位(表示報文執行的功能,如000表示沒有功能,001表示讀數據,011表示寫數據)以及參數位(表示數據長度,如001表示1個數據,010表示2個數據,100表示4個數據,000表示8個數據)。
MK5網關返回給主站的報頭中,同步位與主站發送的報頭一致,功能位表示返回報文的功能類型(如000表示沒有功能,010表示返回數據,111表示命令錯誤),而參數位表示通信狀態(如000表示無錯誤,001表示數據長度錯誤,010表示功能號錯誤)。
2.2.2" "數據記錄結構
數據記錄的結構為每個數據記錄占用7 B,具體為B1(空壓機的CAN總線站地址,主站查詢報文和網關返回報文內容一致)、B2和B3(所需查詢數據的寄存器地址,主站查詢報文和網關返回報文內容一致)、B4和B5(數據,在主站查詢報文中為空,網關返回報文中包含該數據),以及B6和B7(數據狀態,在主站查詢報文中為空,網關返回報文中包含該數據)。
需要注意的是,在查詢數據時,需要根據空壓機MK5控制器的數據表,來確定數據的寄存器地址以及數據長度,因為某些數據可能占用B4~B7 4個字節。表1列出了MK5控制器數據表中部分摘錄數據作為示例。
2.3" 報文解析舉例
為更清晰地闡述報文結構及其應用,本節通過具體實例進行解析。假設主站已導入支持8個數據記錄(64 byte)的GSD文件,需對站地址為3的空壓機進行8個數據記錄的查詢。所需查詢的數據如表1所示,則發送報文與返回報文的具體內容見表2。
在發送報文中,通信緩存區Q用于存放主站發送的數據。報頭部分,字節B0的值為16#08,轉換成二進制為00-001-000,其中同步位(00)標識通信同步狀態;功能位(001),表示讀數據;參數位(000),表示讀取8個數據。隨后為站地址、寄存器地址以及數據字段,其中數據字段在主站發送報文中為空,等待從站返回實際數據。
在返回報文中,通信緩存I區用于存放MK5網關返回的數據。報頭部分,字節B0的值為16#10,轉換成二進制為00-010-000。其中,同步位(00),與主站發送報文一致;功能位(010),表示數據返回;參數位(000),表示通信無錯誤。隨后是站地址、寄存器地址以及數據字段。數據字段中包含了從空壓機MK5網關讀取的實際數據,這些數據根據寄存器地址從空壓機控制器中獲取。
通信緩存區中B2、B3、B9、B10等字節內容為寄存器地址的十六進制值,需換算為對應的十進制值。返回報文中的B4、B5、B11、B12、B46、B47、B48、B49等字節內容需乘以相應換算比例以得到實際過程值,如表1所示。
通過對比發送報文與返回報文,可以清晰地看到報文結構的實際應用邏輯。以齒輪箱油壓(寄存器地址0)為例,返回報文數據字段為16#863,根據換算比例0.001,可計算出實際油壓為0.214 7 MPa。同樣的,對于冷卻水溫度(寄存器地址6)、電機電流(寄存器地址82)等參數,也可通過類似方式計算出實際值。
此外,返回報文中,某些數據可能占用多個字節。例如,運行時間(寄存器地址1000)和電機啟動次數(寄存器地址1002)占用4個字節(B4~B7),因此在解析這些數據時需要特別注意。
3" "軟件編制
通過以上分析,針對空壓機MK5網關進行Profibus-DP通信查詢空壓機數據的程序軟件設計如下:1)通信數據表構建。根據空壓機控制器的數據表和用戶需求,選定需要查詢的數據,并按阿特拉斯空壓機Profibus-DP報文格式建立通信發送區數據表(查詢參數數據塊),每臺空壓機對應1個發送區數據表。2)接收區數據表配置。建立與發送區結構和長度一致的接收區數據表,每臺空壓機對應1個接收區數據表。3)參數初始化程序。編號查詢參數賦值及重啟初始化程序,確保PLC因停電或停機等情況重啟后能自動恢復查詢程序。4)輪詢機制設計。通過計數器實現輪詢程序,按設定頻率逐條查詢所需數據。5)數據后處理模塊。將查詢結果解析后存儲至指定的數據塊里,并發送至DCS通信區。
3.1" 建立通信數據表
根據用戶需求、報文格式及空壓機控制器數據表,為每臺空壓機設計主站查詢報文數據塊(每個空壓站對應一個數據塊)。MK5網關返回的數據報文結構相同,僅需復制查詢報文數據塊并重命名。查詢報文數據塊結構節選見圖2。
3.2" 查詢命令參數賦值與初始化程序
將報頭、站地址(空壓機的CAN總線站地址,用于指定目標設備)及寄存器地址(指定數據在控制器中的存儲位置)寫入查詢報文數據塊(圖3)。該程序在OB100中調用,PLC啟動時自動執行參數初始化。參數通常無需修改,僅在需調整查詢數據時更新,以確保重啟后通信程序能可靠恢復。
3.3" 輪詢程序設計
在主程序中設置計數器,以周期脈沖觸發計數,建議周期為200 ms,數值從1遞增至預設最大值后復位,實現參數組循環查詢。通過調整脈沖頻率可控制輪詢速率,見圖4。
3.4" 查詢程序執行
當計數器達到特定值時,將對應主站查詢報文發送至通信緩存區輸出區(Q區),見圖5。
3.5" 數據接收程序
實時監控通信緩存區中輸入區的數據。若通信緩存區中輸出區和輸入區報頭同步位相同,且輸入區報頭的參數位是非錯誤狀態,則將輸入區數據存入對應空壓機的返回數據塊,見圖6。
通過循環更新計數器,可以實現單臺空壓機多個實時數據及多臺空壓機實時數據的交替讀取。
程序中使用到的Data_Move功能塊,是將一定字節數的源數據存儲區的寫入目標區,可以在DB、M、I、Q中使用。由于在S7-1200控制器中缺少S7-300的功能塊SFC20(BLK_MOV),且DPRD_DAT、DPWR_DAT在傳送64 B時不能正常工作,因此用SCL編寫了1個自定義功能塊,調用POKE_BLK函數,見圖7。
3.6" 數據處理程序
在原始數據中,1個數據的7個字節中僅部分字節(2個字節或4個字節)為有效值,其余都是通信協議的固定結構,因此需對數據進行處理與轉存。其原理是按報文格式從指定位置提取數據,再按規則存儲至專用數據塊中供DCS調用,見圖8。
4" "通信實現
數據已經成功讀取并存儲于S7-1200 PLC的DB塊中,并按照既定規則完成數據處理與排序。在此基礎上,可便捷地實現與DCS控制系統的Profibus-DP或者Profinet通信。
通信方式的選擇需依據實際需求確定。若傳輸數據量較小,或DCS系統未配置Profinet通信接口,則可采用Profibus-DP協議進行通信。此時,需在S7-1200 PLC上額外安裝1個DP從站通信卡,使其作為DCS的DP從站(DCS通常在采用Profibus-DP通信時擔任主站角色)。反之,若DCS系統具備Profinet通信接口,則可直接采用Profinet協議進行通信。由于S7-1200 PLC已集成Profinet通信接口,無需額外安裝通信卡件。
無論采用Profibus-DP還是Profinet通信,其實現方式均相似,即將處理后的數據發送至預先組態好的通信區。兩者的主要區別在于可傳輸的數據量不同。在DCS系統側,只需導入相應的GSD文件,即可像訪問本地I/O數據一樣便捷地實現與阿特拉斯空壓機的通信,從而徹底擺脫其原有通信方式的局限性。數據傳輸到與DCS通信數據區程序節選見圖9。
5" "結論
本文提出的以西門子S7-1200 PLC為通信中轉站的方案,有效解決了阿特拉斯空壓機與DCS系統間的通信集成難題。該方案不僅實現了多設備協同控制和大容量數據傳輸,還促進了異構網絡的融合。實踐表明,采用S7-1200 PLC作為協議轉換樞紐,可將單次通信數據容量提升至1 400 B,輪詢周期縮短至200 ms,顯著提高了通信效率和系統性能。
在某銅冶煉項目中,該方案已穩定運行兩年多,其間未發生任何通信故障,充分驗證了其可靠性和穩定性。此外,該方案兼具經濟性和易用性優勢,為工業現場設備集成提供了切實可行的技術路徑。因此,在同類項目中,本文提出的方案具有較高的借鑒意義和推廣價值。
參考文獻
[1] 崔銀峰.Atlas空壓機可編程控制器兩側故事的分析與處理[J].礦山機械,2018(3):72-74.
[2] 章明智.西門子S7-300PLC與Atlas Copco空壓機Profibus-DP通信[J].有色冶金設計與研究,2016,37(3):64-66.
[3] 王楠.基于Modbus通信的空壓機PLC聯位系統設計[J].設備管理與維修,2023(21):18-20.
[4] 王曉娟.基于Combos-P的空壓機數據通信與應用[J].自動化應用,2017(5):24.