siemens x
PLC

西門(mén)子S7-200 PLC Modbus通訊應(yīng)用

2025China.cn   2013年03月20日

        S7-200的串口Modbus通信被廣泛應(yīng)用于S7-200與儀表、變頻器、HMI及第三方PLC的數(shù)據(jù)交換。S7-200 Modbus串口通信指令本身使用簡(jiǎn)單,但由于應(yīng)用范圍廣泛,所以在應(yīng)用中會(huì)遇到各種問(wèn)題。
        Modbus是公開(kāi)通信協(xié)議,其最簡(jiǎn)單的串行通信部分僅規(guī)定了在串行線路的基本數(shù)據(jù)傳輸格式,在OSI七層協(xié)議模型中只到1,2層。Modbus具有兩種串行傳輸模式,ASCII和RTU。它們定義了數(shù)據(jù)如何打包、解碼的不同方式。支持Modbus協(xié)議的設(shè)備一般都支持RTU格式。通信雙方必須同時(shí)支持上述模式中的一種。Modbus是一種單主站的主/從通信模式。Modbus網(wǎng)絡(luò)上只能有一個(gè)主站存在,主站在Modbus網(wǎng)絡(luò)上沒(méi)有地址,從站的地址范圍為0-247,其中0為廣播地址,從站的實(shí)際地址范圍為1-247。Modbus通信標(biāo)準(zhǔn)協(xié)議可以通過(guò)各種傳輸方式傳播,如RS232C、RS485、光纖、無(wú)線電等。在S7-200 CPU通信口上實(shí)現(xiàn)的是RS485半雙工通信,使用的是S7-200的自由口功能。
        S7-200通過(guò)以下方式支持Modbus通信協(xié)議:S7-200 CPU上的通信口0(Port0)通過(guò)指令庫(kù)支持Modbus RTU從站模式。S7-200 CPU上的通訊口0和1(Port0和Port1)通過(guò)指令庫(kù)支持Modbus RTU主站模式。
        一、s7200 PLC MOdbus rtu通訊基礎(chǔ): RTU主站指令庫(kù)的功能是通過(guò)在用戶(hù)程序中調(diào)用預(yù)先編好的程序功能塊實(shí)現(xiàn)的,該庫(kù)對(duì)Port0和Port1有效。該指令庫(kù)將設(shè)置通信口工作在自由口模式下。
        RTU主站指令庫(kù)使用了一些用戶(hù)中斷功能,編其他程序時(shí)不能在用戶(hù)程序中禁止中斷。
        RTU主站庫(kù)對(duì)CPU的版本有要求。CPU的版本必須為2.00或者2.01(即訂貨號(hào)為6ES721*-***23-0BA*),1.22版本之前(包括1.22版本)的S7-200 CPU不支持。
        使用Modbus RTU主站指令庫(kù),可以讀寫(xiě)Modbus RTU從站的數(shù)字量、模擬量I/O以及保持寄存器。
        要使用Modbus RTU主站指令庫(kù),須遵循下列步驟:
        安裝西門(mén)子標(biāo)準(zhǔn)指令庫(kù);
        按照要求編寫(xiě)用戶(hù)程序調(diào)用 Modubs RTU 主站指令庫(kù) ;
        二、主站和從站功能塊
        1、主站控制功能塊和數(shù)據(jù)讀寫(xiě)功能塊可以參見(jiàn)幫助文件,寫(xiě)的非常詳細(xì)!
        三、注意及常見(jiàn)問(wèn)題
        1、MODBUS通訊是一種輪詢(xún)的方式,即一次只能讀取一個(gè)站的數(shù)據(jù)。所以在觸發(fā)讀取數(shù)據(jù)的時(shí)候要用脈沖觸發(fā),而非長(zhǎng)期為1去觸發(fā)。
        2、在讀取多個(gè)從站的時(shí)候,要注意每個(gè)站的輪詢(xún),輪詢(xún)程序沒(méi)做好,將導(dǎo)致通訊超時(shí)得錯(cuò)誤,從而無(wú)法讀取數(shù)據(jù)。
        3、參數(shù)設(shè)計(jì)的時(shí)候,奇偶校驗(yàn),通訊速率得一致,站地址不能有沖突。
        4、主站與從站的數(shù)據(jù)區(qū)必須一致。
        5、詳細(xì)故障可以通過(guò)程序塊得故障代碼查詢(xún)。
        S7-200 PLC比較300 plc實(shí)現(xiàn)Modbus的優(yōu)點(diǎn):
        雖然s7-200在實(shí)現(xiàn)modbus通訊時(shí)使用的是s7-200的自由口功能,借口采用rs485,或通過(guò)適配器轉(zhuǎn)換成rs232接口類(lèi)型不如cp341的豐富,但其實(shí)現(xiàn)modbus功能上無(wú)需組態(tài)和額外購(gòu)買(mǎi)組件,所以實(shí)現(xiàn)起來(lái)既簡(jiǎn)單而且成本低廉,在比較低端的場(chǎng)合是不錯(cuò)的選擇.

        S7-300plc+cp341的優(yōu)點(diǎn):
        1.由于cp341可以安裝在etm200站上通過(guò)profibus方式與主站相通,此方案適合于較大型系統(tǒng)進(jìn)行modbus通信設(shè)計(jì)和改造.
        2.cp341的接口類(lèi)型多,包含rs232,rs422/rs485.
從MODBUS RTU庫(kù)中調(diào)用MODBUS子程序后需要給其分配庫(kù)存儲(chǔ)區(qū)。即選擇項(xiàng)目目錄樹(shù)下的“程序塊”->“庫(kù)”,點(diǎn)擊鼠標(biāo)右鍵,在彈出的菜單中選擇“庫(kù)存儲(chǔ)區(qū)(M)...”,在彈出的對(duì)話框中分配庫(kù)存儲(chǔ)區(qū)地址,此地址不要與其他程序使用的存儲(chǔ)區(qū)重疊。
        1.地址選擇:由于指令庫(kù)占用一定地址空間,編程時(shí)要注意,可以使用建議地址,不會(huì)有沖突(注意:間接接尋址檢測(cè)不到)。
        7-Micro/WIN V4.0以上版內(nèi)部已經(jīng)帶有新的指令庫(kù),但在未安裝西門(mén)子Instruction Library軟件包的情況下,不能顯示出來(lái)使用。
        要使用西門(mén)子的標(biāo)準(zhǔn)指令庫(kù),必須先安裝西門(mén)子的指令庫(kù)軟件包Instruction Library。安裝了Instruction Library之后,只要安裝的STEP7-Micro/WIN版本是最新的,就能獲得相應(yīng)版本的新指令庫(kù)。安裝Micro/WIN的升級(jí)包(Service Pack)也會(huì)更新指令庫(kù)的版本。
        需要下載:
        Toolbox_V32-STEP7-Micro WIN 32 Instruction Library
        間邏輯地應(yīng)連接好。
        S7-300、CP341作主站時(shí)需要安裝的軟件及功能塊注意事項(xiàng):
        串行通訊模板的驅(qū)動(dòng)程序,安裝后才能驅(qū)動(dòng)PTP模板,STEP7中才能使用相應(yīng)功能塊。CP341做主站時(shí)還需要安裝MODBUS MASTER的驅(qū)動(dòng)協(xié)議。
         另外,功能塊中R-TYP必須為大寫(xiě)如“X”(extended data block),“E”(I區(qū)),“A”(Q區(qū)),LEN的內(nèi)容要按通訊功能碼來(lái)填寫(xiě),如功能碼“01”--》長(zhǎng)度“6”。

(轉(zhuǎn)載)

標(biāo)簽:西門(mén)子 PLC Modbus通訊 我要反饋 
2024世界人工智能大會(huì)專(zhuān)題
即刻點(diǎn)擊并下載ABB資料,好禮贏不停~
優(yōu)傲機(jī)器人下載中心
西克
2024全景工博會(huì)
專(zhuān)題報(bào)道