化工廠DCS與PLC的Modbus通訊應用研究論文

化工廠DCS與PLC的Modbus通訊應用研究論文

  1 裝置概況

  本廠的雙螺桿擠出機控制系統採用西門子s 7 -300PLC,上位監控機位於現場廠房內,中央控制室的崗位操作人員不能對其監視,為方便崗位操作人員對現場裝置的執行情況進行實時監控,決定將此裝置的執行引數引入DCS控制系統。

  Modbus協議具有資料傳輸量大、偵錯能力強、實時性好等特點,該廠的DCS系統和此裝置控制系統都有支援Modbus通訊介面,所以採用Modbus通訊方案來實現DCS系統和該控制系統之間的通訊功能。

  2 通話卡安裝、組態及通訊協議設定

  2.1 安裝及硬體組態

  安裝:CP341進行Modbus從站通訊時,需要安裝硬體狗,按照安裝說明把硬體狗插入到CP341卡的背面插槽中。針對該專案將CP設計安裝在和CPU同一機架上UR(0),透過U型連線件將CP341和其前面的訊號模組卡連線起來,然後透過緊固螺絲將其固定在機架上,最後將24V電源線接到CP341卡的電源端子上給其供電。CP341電氣介面按照RS485介面型別方式進行連線,組成半雙工通訊,根據CP431-RS485介面定義連線4T(A)-號和11 T(B)+號接線端子。

  硬體組態:透過雙擊SIMATIC MANAGER圖示進入管理器視窗,點選視窗左面的SIMATIC300站點,在視窗的右面出現Hardware圖示和已組態的CPU圖示,雙擊Hardware圖示進入專案的硬體組態畫面,根據CP的實際安裝位置,在硬體目錄中選擇CP341(6ES7 341-1CH01-0AE0)通話卡將其拖放到與CPU同一個機架UR(0)的第十個插槽,然後點選儲存和編譯按鈕對硬體組態進行儲存編譯,然後將CPU硬體置於Stop位,把組態的硬體下載到CPU中。在CP341引數設定對話方塊的Protocol選單中選擇MODBUS SLAVE選項,然後點選Load drivers載入CP的驅動。

  注意:首次組態通話卡後需要編譯下載到CPU,否則在載入CP341驅動時將會載入不成功。

  2.2 通訊協議設定及功能碼對應從站地址設定通訊協議設定是定義通訊時的波特率、幀特性以及從站地址,通訊雙方的協議設定一致是通訊成功的關鍵,以下是針對該廠的通訊協議設定。通訊協議方式選擇RTU(遠端終端)方式,進入CP341通話卡的Protocol協議設定視窗,在Modbus-Slave選單下設定從站地址為3(地址範圍1~255),波特率選擇9600、資料位8、停止位1、奇偶校驗選擇偶校驗(even),在Interface選單中按照上文所說的實際連線方式,選擇操作模式為半雙工(RS485)兩線制操作模式,選擇Signal R(A)0Volt Signal R(B)5 Volt的接線方式。

  功能碼對應從站地址的設定:按照該廠要求只需在DCS進行該裝置的監視,故功能碼FC01、05、15及FC02對應的M、Q、T、C、I等資料區不需要進行設定,使用其預設值0即可。在FC03、06、16功能碼選單下設定程式中沒有使用的基本資料塊DB7,FC04功能碼選單下設定程式中沒有使用的基本資料塊DB8,在Limits選單下MIN DB中設定DB7,MAX DB中設定DB8,來限定MODBUS訪問的資料區只是在這兩個資料區中,根據該廠的'通訊要求Modbus只需要讀取SIMATIC輸入暫存器,不需FC03功能讀取保持暫存器,DB7資料塊實際上未用。

  3 程式編寫

  在程式的塊資料夾裡插入資料塊DB7、DB8、DB80和DB81,插入功能FC15、FC16,以下對插入到程式中新物件作用分別作介紹:DB8資料塊區是用於存放將要傳送到DCS的資料,該專案中建立了資料型別為WORD的20個數據字儲存區。DB80資料塊作用是作為FB80功能塊的工作資料區也稱為背景資料區,不需要進行任何設定。DB81資料塊中是存放FB80通訊功能塊的引數初始值。FC15功能是實現呼叫CP341的通訊功能塊FB80。FC16功能是實現將要傳送到DCS的資料透過使用MOVE傳送指令傳送到DB8資料塊裡面。FC15、FC16的功能能夠被執行需要在組織塊OB1主程式中呼叫。每次CPU冷啟動或暖啟動之後,都要執行MODBUS通訊FB的初始化,透過CP_START輸入處的上升沿啟用初始化,因此在組織塊OB100(CPU暖啟動)或OB101(CPU冷啟動)中新增程式。該專案中在OB100中新增如下一段程式:

  AN DB81.DBX0.0 // 設定CP_START

  S DB81.DBX0.0 //

  A DB81.DBX0.1 // 重置 CP_START_FM

  R DB81.DBX0.0 //

  LADDR是CP的基址,使用硬體配置中CP的地址,該專案中地址為496。

  START_TIMER定時器,定時器超時初始化,該專案中使用定時器T200,START_TIME S5Time,時間值超時初始化,該專案按照常規設定為5秒,其餘引數則按其初始值設定即可。將CPU置於STOP位,把新編寫的程式全部下載到CPU中,然後再將其置於RUN位。

  4 通訊測試方法及測試

  測試時透過Modbus通訊測試軟體來分別充當主站、從站與PLC和DCS進行通訊,透過傳送或接受報文的方式檢視通訊情況是否正常。

  測試軟體Mdbus32作主站和PLC進行通訊測試,電氣連線透過RS485轉RS232的轉換器連線至PC機的DB-9針序列資料口,Modbus測試軟體通訊協議設定按照PLC方進行,確保雙方的協議設定一致。設定從PLC讀取資料的Modbus起始地址及資料個數,點選線上按鈕將通訊夥伴連線,開啟測試軟體的監視器視窗監視讀取資料的情況。實際的通訊情況證明通訊雙方的電氣接線及通訊設定均正確,實現了資料的正確傳送,CP341通話卡的通訊指示燈RXTX交替閃爍。

  5 DCS和CP341通訊的實現

  FBM224現場匯流排元件是I/A Series系統中作通訊的卡件,提供4個Modbus匯流排介面(RS-422和/或RS-485),傳輸資料型別是2位元組或4位元組的帶符號整數或不帶符號整數,4位元組單精度浮點值或二進位制值,位元組交換和位交換可選,據此應注意在I/A系統的ICC程式組態器中對通訊點的讀取要正確填寫其資料型別和資料位的長度。該專案中做主站的設定Modbus地址從1開始,對應Modbus訊息幀的暫存器編號值是0,則訪問SIMATIC資料區是從資料字DB8.DBW0開始訪問此DB,更高的Modbus暫存器編號訪問此後的資料字。要保證通訊資料地址的有效性,防止出現通訊地址錯位。

  6 結語

  執行實踐證明,應用Modbus通訊實現DCS和PLC之間的通訊是一種方便、可行、可靠性高和低成本的方案。

最近訪問