價格
電議
型號
6ES72881ST200AA0
品牌
西門子
所在地
上海市
更新時間
2023-12-03 05:46:01
瀏覽次數(shù)
次
其他推薦產(chǎn)品
首頁| 關(guān)于我們| 聯(lián)系我們| 友情鏈接| 廣告服務| 會員服務| 付款方式| 意見反饋| 法律聲明| 服務條款
西門子CPU模塊6ES72881ST200AA0
基于串行鏈路的Modbus通信網(wǎng)絡是一種主從式網(wǎng)絡,在串行網(wǎng)絡中只允許存在一個主節(jié)點和*多247個從節(jié)點,在這種網(wǎng)絡下,標準ModbusADU中的附加地址域只包含從節(jié)點的地址,可尋址范圍是0~247,地址0作為廣播模式地址使用,從節(jié)點地址的有效取值范圍是1~247,并且每個從節(jié)點的地址必須是*的,主節(jié)點不存在具體的地址值。主節(jié)點設備將要訪問的從節(jié)點設備的地址放入到請求幀的地址域中,當該地址的從節(jié)點設備作出響應時,將會把從節(jié)點設備的地址復制到響應幀的地址域中,主節(jié)點設備通過該地址得知是由哪個從節(jié)點設備發(fā)來的響應。
校驗域存放了根據(jù)報文內(nèi)容經(jīng)由冗余校驗算法計算所得到的結(jié)果。在基于串行鏈路的Modbus通信網(wǎng)絡中有兩種傳輸方式:RTU和ASCII,這兩種傳輸方式的冗余校驗算法是不同的。
采用RTU通信模式要比ASCII模式在同樣波特率下能傳輸更多信息,在RTU模式底下是以二進制編碼方式對傳輸數(shù)據(jù)進行編碼,報文中每一個字節(jié)(8位二進制位)包含了兩個十六進制字符,同一報文內(nèi)的字符必須連續(xù)傳輸。RTU模式字節(jié)傳輸格式由1位起始位,8位數(shù)據(jù)位,1位奇偶檢驗位和1位停止位依次組成,共占用11位二進制位。當不使用奇偶檢驗時,奇偶校驗位也作停止位使用,此時共有兩位停止位。RTU傳輸模式下幀的差錯校驗域內(nèi)存放的是報文經(jīng)過循環(huán)冗余檢驗(CRC)算法計算得出的結(jié)果。
采用ASCII通信模式時,每一個字節(jié)(8位二進制位)用兩個ASCII字符表示。由于每個字節(jié)都要用兩個字符表示,數(shù)據(jù)域的長度是RTU模式的兩倍,顯然在該模式下的傳輸效率要比RTU模式低。該模式的字節(jié)傳輸格式與RTU模式相似,只是數(shù)據(jù)位置占用7個二進制位。ASCII模式下幀的差錯檢驗算法為縱向冗余校驗(LRC)。
Modbus-TCP實現(xiàn)了在TCP/IP以太網(wǎng)上以客戶/服務器方式的Modbus報文通信。這種通信模型是將Modbus協(xié)議作為應用層協(xié)議嵌入到低層TCP/IP協(xié)議中構(gòu)成的。與標準Modbus幀相比,Modbus-TCP幀中的尋址與校驗交由TCP/IP協(xié)議完成。如圖3所示,使用封裝的方法將ModbusPDU嵌入到TCP報文中形成Modbus-TCP幀,該幀在PDU之前形成了一個占用7個字節(jié)大小的MBAP幀頭,幀頭可以劃分為四部分,如表3所示。
西門子CPU模塊6ES72881ST200AA0
交易標識符用于交易校驗,服務器端節(jié)收到由客戶發(fā)來的請求交易標識符并復制到響應中。協(xié)議標識符用于系統(tǒng)內(nèi)多路復用傳輸,取0值時代表Modbus協(xié)議傳輸。長度域記錄了該域后續(xù)報文的字節(jié)長度(包括設備識別符和數(shù)據(jù)域),用于服務器識別報文的傳輸結(jié)束。設備標識符用于系統(tǒng)內(nèi)路由,當需要與通過以太網(wǎng)網(wǎng)關(guān)連接的Modbus串行鏈路或Modbus-Plus通信網(wǎng)絡上的設備進行通信時,該標識符域的值由Modbus-TCP客戶在請求幀中設置,服務器接收到后,在響應幀中復制該值。
3Modbus-TCP應用
針對施奈德電氣旗下的Quantum系列PLC,為了加快完成這方面的工作,采用自編寫的程序?qū)崿F(xiàn)計算機對PLC的四種數(shù)據(jù)類型直接操作。硬件方面,Quantum系列PLC有能提供以太網(wǎng)接口的網(wǎng)絡模塊,通過底板與CPU通信,它作為Modbus-TCP通信的服務器,不需要我們做其他編程工作。PLC為上文所陳述的四種數(shù)據(jù)類型定義了四個獨立的內(nèi)存區(qū),其中離散輸入為1區(qū),線圈為0區(qū),輸入寄存器為3區(qū),輸出寄存器為4區(qū),尋址方式為區(qū)號加上5位的十進制地址,當輸入地址不足6位時,系統(tǒng)將自動認為*位數(shù)值為內(nèi)存分區(qū)號,其后數(shù)值為該區(qū)域內(nèi)的地址編號。由于操作的目的在于檢驗PLC系統(tǒng)中IO通道的正確性,所需要使用的功能碼有:讀線圈01、讀離散輸入02、讀保持寄存器03、讀輸入寄存器04、寫多線圈15和寫多個寄存器16。
一次完整的Modbus-TCP通信在時間上可以劃分為三個步驟:連接的建立、Modbus數(shù)據(jù)傳輸和連接的釋放。在進行Modbus數(shù)據(jù)傳輸之前首先要建立起一個連接,設備是通過在502端口提供一個*口(socket)來允許與其它設備建立新連接和進行數(shù)據(jù)傳輸。當某一設備需要與遠方的服務器進行數(shù)據(jù)交換時,必須通過自身大于1024的端口與服務器的502端口建立連接。TCP連接建立后,客戶端設備便可以發(fā)送Modbus請求幀到服務器,服務器接收到請求后作出響應,向連接客戶的端口發(fā)送響應報文。傳輸結(jié)束時,客戶端負責進行釋放通信連接的初始化工作。歡迎轉(zhuǎn)載,本文來自電子發(fā)燒友網(wǎng)
程序在DOS模式下運行,提供有以下運行參數(shù):
-ip:即目標服務器的IP地址;
-p:PLC的Modbus通信端口,默認值為502;
-c:服務器執(zhí)行功能碼的操作對象數(shù)量;
-r:操作的起始地址;
-w:寫操作參數(shù);
-a:自動操作模式;
西門子CPU模塊6ES72881ST200AA0-t:自動操作的時間間隔;
-b:線圈寫操作的布爾值。
4結(jié)束語
通過以太網(wǎng)來實現(xiàn)計算機直接讀寫PLC數(shù)據(jù),使得廠級監(jiān)控網(wǎng)絡能夠直接與現(xiàn)場設備通信,監(jiān)控人員能夠在熟悉的計算機畫面上對PLC通道進行檢測,與依靠人為施加信號來進行檢測相比,前者明顯地降低了操作人員的工作量,而且當需要檢測的IO點數(shù)量越大時,效率越高。本程序只是Modbus與TCP/IP協(xié)議結(jié)合的一個簡單應用,雖然以太網(wǎng)的實時性、穩(wěn)定性和抗干擾性已得到很大的發(fā)展,但要把以太網(wǎng)真正應用到實際的控制中還有很多技術(shù)難題,這還要走很長一段路。不過以太網(wǎng)進入自動控制領(lǐng)域已是必然趨勢,它將使控制變得更加簡單和清楚。