發布日期:2022-04-22 點擊率:805 品牌:西門子_Siemens
關鍵詞: ModBus協議 PKS CP341
摘要:通訊的實施是工業領域各控制系統穩定運行的基礎,本文從公司控制系統應用的角度出發,主要提供了一種利用Siemens CP341模塊實現MODBUS協議串口通訊的方法和設計思路,來解決公司使用Siemens S7 300/400系列PLC與霍尼韋爾 PKS 控制系統之間進行數據交換的問題,從而實現系統集成,并結合現場實際應用來證明這種協議通訊時的穩定性與可靠性。
1、引言
我司的控制系統由多種控制系統組成,不僅有集控室的PKS系統,還有其他的輔助控制系統,例如輸煤、包裝、水處理、污泥脫水機的PLC控制系統等。我司的主導控制系統是霍尼韋爾公司的PKS控制系統,但隨著煤氣化裝置不斷的改進,增加了許多的包單元控制系統,這些包單元控制系統主要是西門子系列的PLC控制系統。包單元控制系統顧名思義是獨立的控制系統,不能集中控制。基于此前提需要對包單元系統進行集中監控來降低操作強度,從而提高監控水平。
2、Modbus協議
所謂協議是主設備與從設備之間的通訊規則。若Modbus 協議置入通訊接口,則所有通訊都是透明的。要實現DCS 和PLC 的數據通信的各種功能只需要找出對應的功能碼并且按照特定的幀格式去處理。可見, Modbus網絡協議的存在使得PLC系統和DCS系統的通信非常方便, 這兩種系統只要有串口通訊模塊和相應的通訊協議就可以了。
用戶只需要根據功能碼寫出特定的信息格式, 而不需要在乎是什么系統。這就是為什么說所有通訊過程對于使用者而言都是透明的原因。
3、硬件設計
控制系統與公司主控制系統PKS進行了改造,實現了以PKS為主站,PLC為從站的集成監控系統。接下來結合BGL氣化爐PKS主控制系統與污泥脫水機PLC控制系統實例來進行探討,同時通過輸煤累計流量的實例提供一種高數據傳輸的處理技巧。
由于兩個系統的CPU距離較遠,所以在數據傳輸上采用光纖避免數據的丟包和干擾現象發生。主要涉及到的硬件有:CP341、光電轉換器、光端盒、MOXA、DP電纜、單模光纜。
3.1 PLC硬件組態
西門子PLC下位機編程軟件用的是博途V12 ,首先進行硬件組態,在7槽添加CP 341 RS422/485卡件,如圖3-2所示:
作為從站的PLC需要對數據交換的地址進行定義,這樣才能和PKS控制系統的地址一一對應而進行數據的交換。我們在對卡件組態后需要對CP341卡件的屬性進行設置,在這里要關注的是四個函數代碼:
(1)FC01、05和15是第一組代碼,其功能具備讀寫開關量的功能;
(2)FC02是第二組代碼,其功能具備只讀開關量的功能;
(3)FC03、06、16是第三組代碼,其功能具備只讀模擬量的功能;
(4)FC04是第四組代碼,其功能具備讀寫模擬量的功能。
3.2 PKS硬件配置
PKS系統使用MOXA實現ModBus協議的通訊,通訊中主要的變量和控制信息由4~20mA傳送,采用半雙工的通信方式。須先在MOXA上進行配置Network seting后,再從IE瀏覽器的地址欄輸入其IP來打開MOXA主頁,從而更加方便地對其它項進行配置。
1)Network seting網絡設置
IP address:IP地址(10.10.16.163)
Netmask :掩碼(255.255.255.0)
Gateway :網關(10.10.16.254)
2)Serial set串口設置
Select port選擇端口(2)
Baud rate波特率:(9600)
Data bit數據位:(8)
Stop bit停止位:(1)
Parity奇偶校驗(Event偶校驗)
Interface接口:(RS-485 2wire)
3)Op mode set輸出模式設置
Select mode選擇模式:(TCP Server)
4、程序設計
程序的設計涉及到PLC和PKS兩套系統通訊程序段的設計以及相互之間數據讀寫的地址定義的規劃,最終實現主站對從站的監控作用。PLC通訊程序段的編寫中最關鍵的是對MODB_341功能塊的編寫,其功能塊的正常運行直接影響整條鏈路的數據交換。
4.1 MODB_341功能塊的使用
圖4-1是調用的MODB_341功能塊,在這功能塊每一個管腳的應用都很重要,具體功能見表4-1。CP卡初始化正常后,CP_START,CP_START_FM和CP_START_OK為1信號,否則CP_START_ERROR為1,同時可以從ERROR_NR察看錯誤信息,也可以在硬件組態中在線后的CP341的診斷緩沖區察看詳細的錯誤信息。錯誤信息對照和處理方式可以參考《S7-300以用于PtP CP Modbus協議RTU格式S7的可裝載驅動程序從站》的手冊。
圖4-1 MODB_341引腳圖
在這里要強調一下LADDR,它是硬件組態中CP341的起始邏輯地址,尋找這個地址是在硬件組態中找到CP341卡件后在屬性中的I/O地址中看到的的起始地址。
表4-1 引腳功能表
4.2 數據交換程序地址的規劃
當通訊模塊編寫完成后需對數據交換地址進行定義,然后調用地址內的數據參與邏輯運算及程序的編寫。
數據交換方式分為數字量只讀、數字量讀寫、模擬量只讀、模擬量讀寫四種數據交換方式;只讀的定義是指PKS讀PLC的數據;讀寫的定義是指PKS不僅可以讀PLC的數據,也可以向PLC寫數據。(注:PKS為主站,PLC為從站)
在氣化PKS系統與污泥脫水機PLC系統數據交換中模擬量只讀數據調用的數據塊是DB11,數據類型為real;模擬量讀寫數據調用的數據塊是DB8,數據類型為real;數字量只讀數據調用地址段為M210.0~M212.4;數字量讀寫數據調用地址段為M213.0~M213.7。詳見圖4-2。
圖4-2 DB模塊圖
4.3 QuickBuilder組態
4.3.1 創建通道
創建通道時主要配置參數如下:
Type:通道類型Modbus Channel
Name:通道名(WN_CHANNEL)
Port Type:端口類型(Terminal Server)
Protocol:協議(ModbusRTU)
Terminal ServerTCP Host Name:
MOXA的IP地址(10.10.16.163)
Terminal ServerTCP Port No.:
MOXA端口號(4002)
其中TerminalServer TCP Port No取決于通訊所用MOXA的哪個端口,使用第一個端口則為4001,使用第二個端口則為4002,共四個端口可供選用。
4.3.2 激活通道
打開Station,點擊Configure菜單下System HardwareControllerInterfancesChannels,點擊WN_CHANNEL后,勾選Enable并觀察%Errors,若低于0且MOXA Port 2狀態燈為橙色不斷地閃爍,則說明通道創建并連接成功。若MOXAPort 2狀態燈一直為橙色不閃爍,則說明信號線接反了。
4.3.3 創建控制器
創建控制器時主要配置參數如下:
Type:控制器類型(Modbus Controller)
Name:控制器名(WN_CON01)
Channel Name:通道名(WN_CHANNEL)
Data Table:數據類型(Holding Register)
PLC Station ID:PLC從站地址(2)
4.3.4 創建點
Quick Builder可創建以下三種用途的點:僅從PLC讀取數據;從PLC讀取數據并寫入CM;從CM讀取數據并寫入PLC。后兩種情況,需使用算法Algo 68-Action Value Transportion,PV與SP量程必須一致,且掃描周期不能為0。另外從PLC讀取數據并寫入CM,SP DestAddress不填;從CM讀取數據并寫入PLC,SP Dest Address必須與SP Source Address一致。
5、高數據傳輸的處理
以輸煤皮帶累計流量為例,因輸煤上煤量較大,皮帶秤累積量也會很大,而16位整型數據格式的最大數據范圍為0~65535,故不能滿足實際應用,則采用32位整型數據格式進行通訊。
Modbus協議是以字為單位的,一個地址占一個字,即一個16位寄存器。16位整型數據只需一個地址,32位整數由2個16位寄存器整合而成,需要2個連續地址,且有高低位之分,PLC、DCS組態必須一致。通常組態指定奇數地址,默認使用+1地址,因此+1地址不可再次指定。若再次指定,通訊數據交叉,造成SCADA點的SP值會不斷地漂動。
PLC用整型INT接收數據,再根據奇數地址和+1地址整合出32位整數。而INT的范圍是-32768~32767,不能接收32768~65535區間的數據,組態時要擴大INT范圍至0~65535,與Modbus一致。
5.1 數據傳輸方法
整合值計算方法:高位×65536+低位
1)奇數地址傳送低位,+1地址傳送高位
2)奇數地址傳送高位,+1地址傳送低位
5.2 擴大PLC整型INT范圍
PLC基本數據類型INT的范圍-32768~32767是不能改變的。Modbus通訊時16位寄存器的范圍是0~65535,會造成INT不能接收32768~65535區間的數據,在該區間的數據會減去65536后顯示為負值。所以通過判斷接收值的正負而間接擴大INT的范圍至0~65535:如果接收值為正數,則為真實值;如果接收值為負數,則加上65536后變為Modbus所傳送的真實值。
例如:
1)低位值小于或等于32767
將138465用40003地址加U32B數據格式傳送,而138465=2×65536+7393,則40003地址傳送低位7393,40004地址傳送高位2。
2)低位值大于32767
將237635用40003地址加U32B數據格式傳送,而237635=3×65536+41024,41024=65536-24512,則40003地址傳送低位-24512,40004地址傳送高位3。
6、結束語
此種方案自投入使用以來一直都很穩定.由此可見,利用CP341通訊模塊和PLC軟件實現SIMATIC PLC與其他設備Modbus組網通訊,是一種行之有效的方法,具有廣泛的應用價值。
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV