王 喆 呂建萍 龐 銳
(中國石油蘭州石化公司設備維修公司)
SAAB雷達液位計與SimensPLC系統的通信實現*
王 喆 呂建萍 龐 銳
(中國石油蘭州石化公司設備維修公司)
介紹SAAB儲罐計量系統內部的通信設置和TRL/2現場總線轉換為RS232、RS485通信協議的方法,給出與SAAB儲罐計量系統通信的Simens PLC系統所使用到的通信模件,分析Simens PLC系統通信模件的通信接口組態及其設置,最終實現了SAAB雷達液位計與Simens PLC系統之間的通信。
通信 SAAB儲罐計量系統 Simens PLC
SAAB儲罐計量系統(即SAAB雷達液位計量系統)是用于儲罐液位計量的跟蹤監視和控制系統,該系統可與各類傳感器連接,實現儲罐的完全監控。在系統的各單元之間設置分布式智能單元連續收集并處理信息,當接收到信息請求時,立即做出響應,發送經過更新的信息。通過現場總線,各單元之間實現相互通信,SAAB儲罐計量系統可以測量許多介質的儲罐液位,包括原油、精煉石油、腐蝕性化學品及液化天然氣等。儲罐雷達液位計向儲罐內介質表面發射微波,根據介質表面的回波計算液位。通過使用合適的儲罐連接單元,SAAB儲罐計量系統可以對任何類型的儲罐進行計量。SAAB儲罐計量系統內部通過現場總線實現通信,對外通過RS232、RS485實現通信,筆者主要介紹SAAB儲罐計量系統與Simens PLC系統的通信實現過程。
1.1系統的結構組成
目前,SAAB儲罐計量系統主要采用RTG3900和RTG5900兩個系列的產品。RTG3900雷達液位計量系統(圖1)主要由雷達液位計RTG(可連接壓力變送器,采集液位、壓力信號)、現場數據采集單元DAU(可連接多點溫度計,采集溫度信號,實現就地顯示)及FCU2160現場通信單元等基本部件組成,內部采用TRL/2現場總線協議通信;RTG5900雷達液位計量系統是由5900S雷達液位計(可連接3051S壓力變送器,實現壓力、液位信號采集)、2240S多點溫度變送器(可連接多點溫度傳感器,實現溫度信號的采集)、2410儲罐Hub及FCU2160現場通信單元等組成,內部采用Foundation現場總線協議通信。另有輔助設備現場總線調制解調器FBM,用作RS232C和現場總線之間的協議、接口轉換,可將安裝雷達組態軟件TankMaster WinSetup的微機與現場總線連接。在SAAB儲罐計量系統中各部件有各自的UI號,SAAB儲罐計量系統內部通過各自的UI號和地址進行尋址通信。
各系列雷達液位計可共用FCU現場通信單元,FCU對來自儲罐雷達液位計和數據采集單元的數據進行輪詢并將存儲在緩沖存儲器內,用作現場總線與MODBUS之間的協議、接口轉換,具有分組總線與現場總線之間的網關或數據集中器功能,是雷達液位計量系統與DCS、PLC通信的對外接口設備。
1.2系統內部通信設置
Rosemount廠家提供了TankMaster軟件包,包含Winopi、Winsetup兩個軟件模塊。Winopi用于監測測量數據,Winsetup用于SAAB儲罐計量系統的各設備組態配置以及通信設置。
在進行通信設置前結合雷達液位計安裝數量和安裝位置分配各雷達液位計在FCU的通信地址和接線端口,如FCU的通信地址常設為201、雷達液位計通信地址從1開始、對應的DAU通信地址加100,如101,依次類推。

圖1 SAAB儲罐計量系統的結構示意圖
打開Winsetup,首先設置WinSetup的微機通信協議、接口參數(圖2);其次使用Winsetup對SAAB儲罐計量系統的各設備(雷達液位計、DAU等)一一安裝、組態,組態內容有:每臺雷達液位計的儀表位號、UI號對應的地址、該雷達液位計連接的DAU的UI對應的地址、雷達液位計的罐高、DAU連接的熱電阻的類型和量程、壓力變送器的量程及單位等(圖3)。

圖2 通信協議設置界面

圖3 雷達液位計和DAU組態設置界面
組態、調試好雷達液位計,即可實現各參數(如壓力、液位、溫度)的采集,并實現在DAU液晶屏上就地顯示。
現場通信單元FCU共有6個連接端口X1~X6,用于連接通信接口板FCM。這些連接端口可單獨組態為分組總線端口(GB)或現場總線端口(FB)。但同時最多只能組態4個分組總線端口或4個現場總線端口。每種方案最大限度的組態形式只能是2+4、3+3或4+2個總線端口。一般采用4+2方案,即可在X5、X6端子上連接跨接配套短接片,用于RS232C分組總線通信;或在X5、X6端子上連接FCI卡,實現RS485通信。其余4個端口用于連接現場總線電纜,每個現場總線端口(FB)可接收8臺雷達液位計的通信信號,即每臺FCU最多通信32臺雷達液位計。具體步驟如下:
a. 安裝FCU。首先在Winsetup軟件上安裝FCU,建立FCU通信,定義FCU的儀表位號(如FCU201)、FCU的UI號對應的地址(如201)。
b. 組態FCU。打開FCU組態窗口,定義6個連接端口X1~X6的通信參數,如協議、波特率、數據位及奇偶校驗位等。
c. 建立FCU從數據庫。在FCU組態窗口,有64個地址,前32個分配與雷達液位計,地址從1開始至99,后32位分配給DAU,地址從101開始至199。定義連接端口上的各通道地址參數,如雷達液位計型號、DAU型號、溫度傳感器數量及模擬量輸入參數的數量等,每個地址上的參數與實際相對應,才能實現數據采集與上傳。
1.3MODBUS主站與SAAB儲罐計量系統的通信
DCS、PLC、安裝WinSetup的微機作為MODBUS主站,可以通過RS232C或RS485與SAAB儲罐計量系統建立通信連接。在SAAB儲罐計量系統中,液位、溫度、壓力及雷達波形等每個動態數據以二進制數值傳輸,存儲在FCU從數據庫對應的保持寄存器內。基于RS485通信的主站通信設置:數據位8位、波特率4 800、起始位1、停止位1、無奇偶校驗位、故障檢測CRC-16。MODBUS主站與FCU通信是主站發送請求后從FCU從數據庫寄存器讀取數據。FCU從數據庫的保持寄存器地址對應的參數如下:
660~67F Level Rate status液位變化率
680~69F Level status液位
6A0~6BF Ullage status空罐高度
6C0~6DF Analog input 1 status模擬量1,用于3900系列壓力參數存儲
6E0~6FF Analog input 2 status模擬量2
700~71F Analog input 3 status模擬量3
760~77F Temp 14 status溫度14
780~79F Temp 13 status溫度13
7A0~7BF Temp 12 status溫度12
7C0~7DF Temp 11 status溫度11
7E0~7FF Temp 10 status溫度10
800~81F Temp 9 status溫度9
820~83F Temp 8 status溫度8
840~85F Temp 7 status溫度7
860~87F Temp 6 status溫度6
880~89F Temp 5 status溫度5
8A0~8BF Temp 4 status溫度4
8C0~8DF Temp 3 status溫度3
8E0~8FF Temp 2 status溫度2
900~91F Temp 1 status溫度1
980~99F Temp avg.status平均溫度
9C0~9DF Current input 1 status電流輸入1,用于2900系列的壓力參數存儲
9E0~9FF Current input 2 status電流輸入2
A00~A1F Current input 3 status電流輸入3
A20~A3F Current input 4 status電流輸入4
B60~B7F Relay 1 status繼電器1
B80~B9F Relay 2 status繼電器2
BA0~BBF Relay 3 status繼電器3
BC0~BDF Relay 4 status繼電器4
AE0~AFF Hart Input 3 slave status(FCU 3.D0版本增加)
B00~B1F Hart Input 2 slave status(FCU 3.D0版本增加,用于5900系列的壓力參數存儲)
B20~B3F Hart Input 1 slave status(FCU 3.D0版本增加)
2.1Simens PLC串口通信模塊
串行通信模塊CO340/CP341/CP440/CP441具有1個串行通信口(RS232C或RS485/422)。使用這些通信模塊可以實現S7-300/400與其他串行通信設備的數據交換。筆者以CP341 RS485串行通信模塊為例進行說明。
Simens PLC與SAAB儲罐計量系統之間通信,Simens PLC作為MODBUS主站,SAAB儲罐計量系統作為MODBUS從站,采用RS485半雙工兩線制接線模式。這需要在CP341模塊上插入相應主站協議的“硬件狗”,CP模塊才能夠支持MODBUS協議。
2.2CP341調試過程
使用CP341模塊通信,需安裝軟件Step7 5.*、CP341驅動程序。
2.2.1組態和配置
在STEP7中完成PLC系統硬件組態,在硬件組態窗口中雙擊CP341模塊,打開CP341模塊的屬性窗口,記錄模塊的硬件地址,點擊屬性窗口上的Parameters按鈕,選擇MODBUS Master協議,雙擊信封圖標:彈出通信參數設置窗口,配置MODBUS Master通信參數:4 800bit/s、8data bits、1stop bit、無奇偶校驗位。這些通信參數必須和FCU的通信參數設定一致。對硬件組態存盤編譯,下載硬件組態,連接與SAAB儲罐計量系統的通信電纜后,SF燈熄滅,說明硬件組態正確。
2.2.2編程
設定各參數如圖4所示,首先建立發送程序塊。雙擊OB1,打開OB1編程畫面,從庫中Libaraies-CP Ptp-CP341調用發送程序塊FC500,分配背景數據塊DB500。

圖4 程序塊FC500參數設置
其次建立發送數據塊(圖5)。創建發送數據的DB塊DB500,從站地址為C9H(即FCU的地址201),功能碼為3(讀輸出寄存器),起始地址1664(讀取的FCU各參數寄存器的起始地址,如液位寄存器開始地址680H、液位變化率地址為660H等),讀取寄存數,如30個。自動生成DB500的變量表。
然后建立接收數據塊(圖6)。從庫中Libaraies-CP Ptp-CP341調用發送程序塊FC700,分配發送數據塊DB501,設置硬件組態的起始地址為624,發送數據的起始地址為0,接收數據長度為400。
最后,讀取數據塊中的數據。建立程序塊FC504,使用MOVE功能塊進行數據塊中數據的讀取,MOVE塊中,參數IN為讀取的變量在數據塊中的地址,如DB501.DBW0,OUT為中間變量表中的存放地址,如DB504.DBW0。

圖5 發送數據塊的參數設定

圖6 接收數據塊的參數設定
通過Simens PLC系統的串口通信模塊CP341,以及一系列的組態配置等,實現了Simens PLC系統對SAAB儲罐計量系統各參數的采集。但因為各參數的通信數據類型不同(如液位、液位變化率、溫度是整型變量,3900系列壓力是整型變量,5900系列壓力是實數型變量),顯示單位不同(壓力在現場顯示mbar,在操作站顯示MPa),還需要進行數據類型轉換等操作。
對于液位、液位變化率、溫度整型變量,通過整型-雙整型-浮點轉換,最終轉換為浮點類型,直接用于上位操作站顯示。對于壓力整型變量,轉換為浮點類型后,再除以1 000,從而將單位從mbar轉換為MPa。對于壓力實數型變量,占用了兩個字,需通過實型-整型-雙整型-浮點轉換,并將高、低位通信地址互換、合成,再除以10 000,才可用于操作站顯示。
利用筆者介紹的安裝組態順序可以快速實現SAAB儲罐計量系統與Simens PLC系統之間的通信。但在實際實施過程中還需注意系統組態與現場設備的匹配問題。希望通過對SAAB儲罐計量系統與Simens PLC系統通信的介紹,能推而廣之,提供SAAB儲罐計量系統與其他PLC或DCS通信的思路,更好地為企業儲罐生產提供優質服務。
王喆(1984-),工程師,從事程控系統的組態及維護工作,wangzhyb@petrochina.com.cn。
TH826+.7
B
1000-3932(2017)10-1001-05
2017-03-29,
2017-09-01)