西門子CPU1214C模塊
感謝您關注我們的產品,欲了解更多信息,如西門子CPU1214C模塊、西門子CPU1214C模塊等更多信息,歡迎您隨時聯絡我們,誠邀為您提供zui滿意的服務!
SIEMENS上海勵輝自動化科技有限公司
:周子豪
手 機:
:陳鵬( )
手 機:
():
傳真():
商務( ):2504769656
商務( ):2880585018
S7-1200設計緊湊、組態靈活,TIA在庫函數中嵌套了Modbus-RTU和Modbus-TCP功能庫,在做數據采集的項目中是非常好用的。
做過一個換熱站設備運行監測的項目,需采集管網一次側和二次側的供水壓力、溫度以及ABB變頻器的工作狀態。現場各類變送器已經接到了原有的智能儀表上,因此采用1200PLC通過MODBUS-RTU與現場智能儀表和變頻器通信是比較經濟的方案,并且可通過MODBUS-TCP與遠程上位機通信。
智能儀表及變頻器作為從站,只需在設定中選擇Modbus-RTU通信協議并且為設備分配不重復的站地址即可。1200 PLC作為主站必須配備RS485通信模塊,其通信的基本原理是:首先程序開始運行時,調用一次Modbus庫中的功能塊MB_COMM_LOAD來組態RS485模塊上的端口;其次調用庫中的功能塊MB_MASTER作為Modbus主站與設備進行通信。
1200PLC作為主站通信是由DATA_ADDR(從站中的起始Modbus地址)和MODE(讀、寫、診斷模式)參數一起確定實際Modbus消息中使用的功能代碼。DATA_PTR(數據指針)指向要寫入或讀取的數據的CPU DB地址,該DB必須為“非僅符號訪問”DB類型。在TIA V12以上平臺中,將該DB屬性中的“優化的塊訪問”選項取消。
PLC主站發送帶有站地址標識的數據來尋址不同的從站,同時不同的從站通過響應帶有站地址標識的數據給主站,以完成整個通信過程。這種輪詢通信,可以根據發送和接收完成的標志來完成,也可以以固定的時間間隔進行輪詢,實際應用時需要考慮CPU的性能以及輪循Modbus子站時間。程序編好后先用MODBUS調試工具測試一下,正常后再開始接線。
在接線時遇到一個小插曲:PLC及變頻器的485接線端子B為正,A為負,很多廠家儀表的485接線端子是A為正,B為負,一開始通信始終不正常,當查看儀表說明書時才發現。
項目中我使用的是Modbus-TCP通過PLC上PN接口與上位機進行通信,Modbus-TCP使用開放式用戶通信連接作為Modbus通信路徑。在S7-1200 PLC的庫函數中嵌套了Modbus-TCP功能塊庫, 它包含了Server和Client的庫函數,編程時可以直接調用該庫函數可實現與上位機的Modbus-TCP通信。
在該系統應用中S7-1200 PLC作為Modbus Tcp Server(服務器),調用 “MB_SERVER”指令處理Modbus-TCP客戶機的連接請求、接收Modbus功能的請求并發送響應,設置連接ID、IP端口等參數,使用起來比較簡單。
S7-1200 PLC作為網絡的服務器端,上位機可以按需建立連接訪問PLC的數據區,這樣在上位機對多個換熱站的PLC連接中不會占用太多的資源。前提是PLC必需要有固定的IP才行,如果是動態撥號連接上位機,PLC端就需要作為客戶端,通過修改MODE管腳的值改變發送或接收狀態,按照主機的請求來按需向主機發送數據或主動接收主機的改寫數據就比較麻煩了。
這是我在MODBUS通信協議項目應用中的一點小體會,一些觀點或許過于幼稚,望各位同行多我指正,僅以此文起到拋磚引玉的作用。