In a Modbus network architecture every slave unit is identified by its unique address.  
The master device relies on these specific addresses in order to identify the slave station 
it communicates with.  The slave does not respond to requests issued by a master unless 
the  address  embedded  in  the  Modbus  telegram  matches  its  own  address  (broadcast 
telegrams are discarded). 
J.2.2  Data Link Layer 
Communications take place in packets which are groups of asynchronously-framed 
byte data.   The master transmits a  packet to  the slave and the  slave responds with  a 
packet.  The end of a packet is marked by a dead time on the communications line. 
Section J.2.3 below details the general format for both transmit and receive packets.  
For  more  details  on  packet  formatting,  refer  to  subsequent  Sections  describing  each 
function code. 
J.2.3  Modbus RTU Packet Format 
Table J-1 below presents the size of the Modbus RTU packets. 
•  Slave Address:  Identifies the slave device intended to receive and process the 
packet.    Each  slave  unit  has  a  unique  address  in  order  to  prevent  bus 
contention.  A slave device only responds to communication packets including 
its own address. 
 
Table J - 1: Size of the Modbus RTU Packets 
•  Function Code:  Indicates one of the implemented function codes; see Section 
J-3.a for complete details.  An exception response from the slave is indicated 
by setting the high-order bit of the function code in the response packet; see 
Section J-3.b for further details. 
•  Data:  Contains  a variable number of bytes depending on  the function code 
and the nature of the data to be transmitted. This may include actual values, 
settings, or addresses sent by the master to the slave or by the slave to the 
master.  
•  CRC:    This  is  a  2-byte  error  checking  code.    The  RTU  version  of  Modbus 
includes a 16-bit Cyclic Redundancy Check (CRC-16) with every packet, which