beautypg.com

C.2 modbus application protocol pdu analysis, Modbus application protocol pdu analysis – Schneider Optics Web Embedded Server User Manual

Page 90

background image

Quantum Ethernet TCP/IP Modbus Application Protocol

80

840 USE 115 00 Version 1.0

C.2

Modbus Application Protocol PDU Analysis

The Modbus Application Protocol PDU is transmitted over a TCP/IP Ethernet stack.
Both Ethernet II and IEEE 802.3 framing will be accommodated. Ethernet II
framing is the default.

. . . from the wire in for IEEE 802.3 framing . . .
. . . is IEEE 802.3 framing if length <=1500 . . .

802.3_pdu ::= {dst_addr[6], src_addr[6], length[2], data=802.2_pdu}

*an IEEE 802.3 PDU has a maxFrameSize of 1518 octets
*an IEEE 802.3 PDU has a minFrameSize of 64 octets

802.2_pdu : {dsap[1], ssap[1], frm_cntrl[1], snap_hdr[5], data=ip_pdu}

*the snap_hdr is associated with a “well-known” 802.2 sap snap_hdr
::={org_code[3], ethertype[2] }

*the snap hdr (sub network access protocol) allows the older style
Ethernet protocols to run on the newer IEEE 802.2 interface. The
ethertype parameter indicates the service, ex. ip or arp. IP has a value
0x800.

. . . from the wire in for Ethernet II framing . . .
. . . is Ethernet II framing if length >1500 . . .

802.3_pdu ::= {dst_addr[6], src_addr[6], length[2], data=ip_pdu}

. . . the common part of the packet begins here . . .

ip_pdu ::= {ip_hdr[20], data=tcp_pdu}

tcp_pdu ::= {tcp_hdr[24], data=appl_pdu=mbap_pdu}

The mbap_pdu is the Modbus Application Protocol whose messages are received
at a well-known port. The current maximum size of the mbap_pdu for this class of
services in 256 bytes.

The structure and content of the mbap_pdu is defined to be:

mbap_pdu ::={ inv_id[2], proto_id[2], len[2], dst_idx[1], data=mb_pdu }