Industrial protocols

Modbus function and exception code reference

Every public Modbus Application Protocol V1.1b3 function code, primary data object and exception code, with request limits and transport scope.

Look up

Reference entry

Switch reference type first; the second list comes directly from the dated lookup dataset.

Worked example

Read Holding Registers

0x03 

Data access
Read holding registers · 16-bit words
Protocol request limit
1–125 contiguous registers
Transport scope
Application protocol
Exception-response function code
0x83
Specification location and scope
Section 6.3.

A protocol definition, not evidence that the selected device implements the function. Confirm its current register map and firmware documentation.

Reference tables

Public function codes

Defined public functions in V1.1b3. A listed function is not proof that a particular device implements it.

CodeFunctionData accessProtocol request limitTransport noteSource and scope
0x01Read CoilsRead coils · bits1–2,000 contiguous coilsApplication protocolMODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Section 6.1.
0x02Read Discrete InputsRead discrete inputs · bits1–2,000 contiguous inputsApplication protocolMODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Section 6.2.
0x03Read Holding RegistersRead holding registers · 16-bit words1–125 contiguous registersApplication protocolMODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Section 6.3.
0x04Read Input RegistersRead input registers · 16-bit words1–125 contiguous registersApplication protocolMODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Section 6.4.
0x05Write Single CoilWrite one coil · bitExactly one coilApplication protocolMODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Section 6.5.
0x06Write Single RegisterWrite one holding register · 16-bit wordExactly one registerApplication protocolMODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Section 6.6.
0x07Read Exception StatusRead eight implementation-defined status outputsNo request dataSerial line onlyMODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Section 6.7.
0x08DiagnosticsCommunication diagnostics by subfunctionSubfunction-specificSerial line onlyMODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Section 6.8; some subfunctions can alter communications state.
0x0BGet Comm Event CounterRead communications status and event countNo request dataSerial line onlyMODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Section 6.9.
0x0CGet Comm Event LogRead communications status, counters and event bytesNo request dataSerial line onlyMODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Section 6.10.
0x0FWrite Multiple CoilsWrite contiguous coils · bits1–1,968 contiguous coilsApplication protocolMODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Section 6.11.
0x10Write Multiple RegistersWrite contiguous holding registers · 16-bit words1–123 contiguous registersApplication protocolMODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Section 6.12.
0x11Report Server IDRead device-specific identity and run statusNo request dataSerial line onlyMODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Section 6.13; response content is device-specific.
0x14Read File RecordRead one or more file-record groupsRequest byte count 7–245Application protocolMODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Section 6.14; reference type 0x06 is defined.
0x15Write File RecordWrite one or more file-record groupsRequest byte count 9–251Application protocolMODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Section 6.15; reference type 0x06 is defined.
0x16Mask Write RegisterModify bits in one holding registerExactly one registerApplication protocolMODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Section 6.16.
0x17Read/Write Multiple RegistersWrite holding registers, then read holding registersRead 1–125; write 1–121 registersApplication protocolMODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Section 6.17; write operation occurs before read.
0x18Read FIFO QueueRead FIFO count and value registersReturned FIFO count no more than 31Application protocolMODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Section 6.18.
0x2BEncapsulated Interface TransportDispatch an MEI-defined interfacePublished MEI types 0x0D and 0x0EApplication protocolMODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Sections 6.19–6.21; MEI 0x0E reads device identification.

Primary data objects

The four primary Modbus data tables. Device memory mapping and whether tables overlay are implementation-specific.

ObjectElementProtocol accessCore public functionsSource and scope
CoilsSingle bitRead–write0x01 read · 0x05/0x0F writeMODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Primary data model; functions shown are the core bit-access functions.
Discrete InputsSingle bitRead-only0x02 readMODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Primary data model.
Input Registers16-bit wordRead-only0x04 readMODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Primary data model.
Holding Registers16-bit wordRead–write0x03 read · 0x06/0x10/0x16/0x17 writeMODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Primary data model; functions shown are the core register-access functions.

Exception codes

Exception codes returned in a Modbus exception response. A timeout or discarded CRC/parity error is not itself one of these exception responses.

CodeExceptionProtocol meaningSource and scope
0x01Illegal FunctionThe requested function is not allowable for this server or its current state.MODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Section 7.
0x02Illegal Data AddressThe starting address, requested span or their combination is not allowable for the server.MODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Section 7.
0x03Illegal Data ValueThe request data structure contains a value the server cannot accept; it does not describe the application value stored in a register.MODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Section 7.
0x04Server Device FailureAn unrecoverable error occurred while the server attempted the requested action.MODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Section 7.
0x05AcknowledgeThe server accepted a specialised programming request but needs more time to complete it.MODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Section 7; specialised programming use.
0x06Server Device BusyThe server is busy with a long-duration programming command; the client may retry later.MODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Section 7; specialised programming use.
0x08Memory Parity ErrorA file-record consistency check failed while using function 0x14 or 0x15 with reference type 0x06.MODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Section 7; specialised file-record use.
0x0AGateway Path UnavailableA gateway could not allocate an internal path from its input port to the requested output path.MODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Section 7; gateway use.
0x0BGateway Target Device Failed to RespondA gateway did not obtain a response from the target device.MODBUS Application Protocol SpecificationV1.1b3 · effective 2012-04-26Section 7; gateway use.

Method and assumptions

Interpretation rule

Exception response function code = request function code + 0x80

The exception function code signals that the response data byte is an exception code. A timeout or frame discarded for CRC/parity failure is not an exception response.

Limits of this result

  • A public function code is not proof that a particular server implements it; confirm the current device register map and firmware documentation.
  • Function code alone does not establish register meaning, scaling, signedness, byte/word order, address convention or whether a write is safe.
  • Functions marked serial-line only are not general Modbus TCP services. Gateway behaviour can add further restrictions.
  • Treat no response separately from an exception response. Cabling, timing, unit ID, CRC/parity, routing and device availability still require diagnosis.

Technical sources

  1. MODBUS Application Protocol Specification V1.1b3Modbus Organization · 2012-04-26
  2. Specifications and Implementation GuidesModbus Organization · accessed 2026-09-14

Put the reference to work

Read the related engineering guidance, or carry this task into System Builder to identify the signal path and EpiSensor products.

On this page