聯系電話
默菱電氣(上海)有限公司
- 聯系人:
- 肖敏
- 電話:
- 021-39103712
- 手機:
- 18019437157
- 傳真:
- 021-69111536
- 地址:
- 上海市金山區海豐路65號1477室
- 個性化:
- www.molingdianqi.com
掃一掃訪問手機商鋪
應用領域 | 電子 |
---|
西門子模擬量模塊6ES72883AE040AA0規格型號
在不同的通信方式中都要對ModbusPDU進行封裝,組成不同的Modbus幀,這種幀在Modbus協議中有專有的名詞稱之為應用數據單元(ADU)。在Modbus-RTU和Modbus-Plus通信中采用的是標準應用數據單元,它只是在PDU前面加上了占用一個字節的附加地址和在PDU結束增加了占用兩個字節的校驗碼。在Modbus-TCP/IP網絡通信中需要對Modbus應用層協議進行重新封裝,該封裝是通過在ModbusPDU前加上了Modbus應用層協議幀頭來實現。
基于串行鏈路的Modbus通信網絡是一種主從式網絡,在串行網絡中只允許存在一個主節點和多247個從節點,在這種網絡下,標準ModbusADU中的附加地址域只包含從節點的地址,可尋址范圍是0~247,地址0作為廣播模式地址使用,從節點地址的有效取值范圍是1~247,并且每個從節點的地址必須是的,主節點不存在具體的地址值。主節點設備將要訪問的從節點設備的地址放入到請求幀的地址域中,當該地址的從節點設備作出響應時,將會把從節點設備的地址復制到響應幀的地址域中,主節點設備通過該地址得知是由哪個從節點設備發來的響應。
校驗域存放了根據報文內容經由冗余校驗算法計算所得到的結果。在基于串行鏈路的Modbus通信網絡中有兩種傳輸方式:RTU和ASCII,這兩種傳輸方式的冗余校驗算法是不同的。
采用RTU通信模式要比ASCII模式在同樣波特率下能傳輸更多信息,在RTU模式底下是以二進制編碼方式對傳輸數據進行編碼,報文中每一個字節(8位二進制位)包含了兩個十六進制字符,同一報文內的字符必須連續傳輸。RTU模式字節傳輸格式由1位起始位,8位數據位,1位奇偶檢驗位和1位停止位依次組成,共占用11位二進制位。當不使用奇偶檢驗時,奇偶校驗位也作停止位使用,此時共有兩位停止位。RTU傳輸模式下幀的差錯校驗域內存放的是報文經過循環冗余檢驗(CRC)算法計算得出的結果。
采用ASCII通信模式時,每一個字節(8位二進制位)用兩個ASCII字符表示。由于每個字節都要用兩個字符表示,數據域的長度是RTU模式的兩倍,顯然在該模式下的傳輸效率要比RTU模式低。該模式的字節傳輸格式與RTU模式相似,只是數據位置占用7個二進制位。ASCII模式下幀的差錯檢驗算法為縱向冗余校驗(LRC)。
西門子模擬量模塊6ES72883AE040AA0規格型號
Modbus-TCP實現了在TCP/IP以太網上以客戶/服務器方式的Modbus報文通信。這種通信模型是將Modbus協議作為應用層協議嵌入到低層TCP/IP協議中構成的。與標準Modbus幀相比,Modbus-TCP幀中的尋址與校驗交由TCP/IP協議完成。如圖3所示,使用封裝的方法將ModbusPDU嵌入到TCP報文中形成Modbus-TCP幀,該幀在PDU之前形成了一個占用7個字節大小的MBAP幀頭,幀頭可以劃分為四部分。
交易標識符用于交易校驗,服務器端節收到由客戶發來的請求交易標識符并復制到響應中。協議標識符用于系統內多路復用傳輸,取0值時代表Modbus協議傳輸。長度域記錄了該域后續報文的字節長度(包括設備識別符和數據域),用于服務器識別報文的傳輸結束。設備標識符用于系統內路由,當需要與通過以太網網關連接的Modbus串行鏈路或Modbus-Plus通信網絡上的設備進行通信時,該標識符域的值由Modbus-TCP客戶在請求幀中設置,服務器接收到后,在響應幀中復制該值。
3Modbus-TCP應用
針對施奈德電氣旗下的Quantum系列PLC,為了加快完成這方面的工作,采用自編寫的程序實現計算機對PLC的四種數據類型直接操作。硬件方面,Quantum系列PLC有能提供以太網接口的網絡模塊,通過底板與CPU通信,它作為Modbus-TCP通信的服務器,不需要我們做其他編程工作。PLC為上文所陳述的四種數據類型定義了四個獨立的內存區,其中離散輸入為1區,線圈為0區,輸入寄存器為3區,輸出寄存器為4區,尋址方式為區號加上5位的十進制地址,當輸入地址不足6位時,系統將自動認為zui高位數值為內存分區號,其后數值為該區域內的地址編號。由于操作的目的在于檢驗PLC系統中IO通道的正確性,所需要使用的功能碼有:讀線圈01、讀離散輸入02、讀保持寄存器03、讀輸入寄存器04、寫多線圈15和寫多個寄存器16。
一次完整的Modbus-TCP通信在時間上可以劃分為三個步驟:連接的建立、Modbus數據傳輸和連接的釋放。在進行Modbus數據傳輸之前首先要建立起一個連接,設備是通過在502端口提供一個口(socket)來允許與其它設備建立新連接和進行數據傳輸。當某一設備需要與遠方的服務器進行數據交換時,必須通過自身大于1024的端口與服務器的502端口建立連接。TCP連接建立后,客戶端設備便可以發送Modbus請求幀到服務器,服務器接收到請求后作出響應,向連客戶的端口發送響應報文。傳輸結束時,客戶端負責進行釋放通信連接的初始化工作。 歡迎轉載,本文來自電子發燒友網