S7-200的串口Modbus通信被廣泛應(yīng)用于S7-200與儀表、變頻器、HMI及第三方PLC的數(shù)據(jù)交換。S7-200 Modbus串口通信指令本身使用簡單,但由于應(yīng)用范圍廣泛,所以在應(yīng)用中會遇到各種問題。
Modbus是公開通信協(xié)議,其最簡單的串行通信部分僅規(guī)定了在串行線路的基本數(shù)據(jù)傳輸格式,在OSI七層協(xié)議模型中只到1,2層。Modbus具有兩種串行傳輸模式,ASCII和RTU。它們定義了數(shù)據(jù)如何打包、解碼的不同方式。支持Modbus協(xié)議的設(shè)備一般都支持RTU格式。通信雙方必須同時支持上述模式中的一種。Modbus是一種單主站的主/從通信模式。Modbus網(wǎng)絡(luò)上只能有一個主站存在,主站在Modbus網(wǎng)絡(luò)上沒有地址,從站的地址范圍為0-247,其中0為廣播地址,從站的實際地址范圍為1-247。Modbus通信標(biāo)準(zhǔn)協(xié)議可以通過各種傳輸方式傳播,如RS232C、RS485、光纖、無線電等。在S7-200 CPU通信口上實現(xiàn)的是RS485半雙工通信,使用的是S7-200的自由口功能。
S7-200通過以下方式支持Modbus通信協(xié)議:S7-200 CPU上的通信口0(Port0)通過指令庫支持Modbus RTU從站模式。S7-200 CPU上的通訊口0和1(Port0和Port1)通過指令庫支持Modbus RTU主站模式。
一、s7200 PLC MOdbus rtu通訊基礎(chǔ)
1.Modbus RTU主站指令庫的功能是通過在用戶程序中調(diào)用預(yù)先編好的程序功能塊實現(xiàn)的,該庫對Port0和Port1有效。該指令庫將設(shè)置通信口工作在自由口模式下。
2.Modbus RTU主站指令庫使用了一些用戶中斷功能,編其他程序時不能在用戶程序中禁止中斷。
3.Modbus RTU主站庫對CPU的版本有要求。CPU的版本必須為2.00或者2.01(即訂貨號為6ES721*-***23-0BA*),1.22版本之前(包括1.22版本)的S7-200 CPU不支持。
使用Modbus RTU主站指令庫,可以讀寫Modbus RTU從站的數(shù)字量、模擬量I/O以及保持寄存器。
要使用Modbus RTU主站指令庫,須遵循下列步驟:
安裝西門子標(biāo)準(zhǔn)指令庫;
按照要求編寫用戶程序調(diào)用 Modubs RTU 主站指令庫 ;
二、主站和從站功能塊
1、主站控制功能塊和數(shù)據(jù)讀寫功能塊可以參見幫助文件,寫的非常詳細(xì)!
三、注意及常見問題
1、MODBUS通訊是一種輪詢的方式,即一次只能讀取一個站的數(shù)據(jù)。所以在觸發(fā)讀取數(shù)據(jù)的時候要用脈沖觸發(fā),而非長期為1去觸發(fā)。
2、在讀取多個從站的時候,要注意每個站的輪詢,輪詢程序沒做好,將導(dǎo)致通訊超時得錯誤,從而無法讀取數(shù)據(jù)。
3、參數(shù)設(shè)計的時候,奇偶校驗,通訊速率得一致,站地址不能有沖突。
4、主站與從站的數(shù)據(jù)區(qū)必須一致。
5、詳細(xì)故障可以通過程序塊得故障代碼查詢。
S7-200 PLC比較300 plc實現(xiàn)Modbus的優(yōu)點(diǎn):
雖然s7-200在實現(xiàn)modbus通訊時使用的是s7-200的自由口功能,借口采用rs485,或通過適配器轉(zhuǎn)換成rs232接口類型不如cp341的豐富,但其實現(xiàn)modbus功能上無需組態(tài)和額外購買組件,所以實現(xiàn)起來既簡單而且成本低廉,在比較低端的場合是不錯的選擇.
S7-300plc+cp341的優(yōu)點(diǎn):
1.由于cp341可以安裝在etm200站上通過profibus方式與主站相通,此方案適合于較大型系統(tǒng)進(jìn)行modbus通信設(shè)計和改造.
2.cp341的接口類型多,包含rs232,rs422/rs485.
從MODBUS RTU庫中調(diào)用MODBUS子程序后需要給其分配庫存儲區(qū)。即選擇項目目錄樹下的“程序塊”->“庫”,點(diǎn)擊鼠標(biāo)右鍵,在彈出的菜單中選擇“庫存儲區(qū)(M)...”,在彈出的對話框中分配庫存儲區(qū)地址,此地址不要與其他程序使用的存儲區(qū)重疊。
1.地址選擇:由于指令庫占用一定地址空間,編程時要注意,可以使用建議地址,不會有沖突(注意:間接接尋址檢測不到)。
2.STEP 7-Micro/WIN V4.0以上版內(nèi)部已經(jīng)帶有新的指令庫,但在未安裝西門子Instruction Library軟件包的情況下,不能顯示出來使用。
要使用西門子的標(biāo)準(zhǔn)指令庫,必須先安裝西門子的指令庫軟件包Instruction Library。安裝了Instruction Library之后,只要安裝的STEP7-Micro/WIN版本是最新的,就能獲得相應(yīng)版本的新指令庫。安裝Micro/WIN的升級包(Service Pack)也會更新指令庫的版本。
需要下載:
Toolbox_V32-STEP7-Micro WIN 32 Instruction Library
3.PLC間邏輯地應(yīng)連接好。
S7-300、CP341作主站時需要安裝的軟件及功能塊注意事項:
串行通訊模板的驅(qū)動程序,安裝后才能驅(qū)動PTP模板,STEP7中才能使用相應(yīng)功能塊。CP341做主站時還需要安裝MODBUS MASTER的驅(qū)動協(xié)議。
另外,功能塊中R-TYP必須為大寫如“X”(extended data block),“E”(I區(qū)),“A”(Q區(qū)),LEN的內(nèi)容要按通訊功能碼來填寫,如功能碼“01”--》長度“6”。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:西門子S7-200 PLC Modbus通訊應(yīng)用
本文網(wǎng)址:http://www.ezxoed.cn/html/solutions/14019317890.html