Skip to main content

Modbus Function Codes — Complete Reference Guide

By NFM Consulting 1 min read

Key Takeaway

Complete reference for Modbus function codes FC01 through FC16 — what each reads or writes, request/response frame structure, and which are most commonly used.

Quick Answer

Modbus function codes specify the operation in each transaction. The most commonly used are FC03 (read holding registers), FC04 (read input registers), FC06 (write single register), and FC16 (write multiple registers).

Function Code Reference

CodeNameAccess
FC01Read CoilsRead discrete outputs
FC02Read Discrete InputsRead discrete inputs
FC03Read Holding RegistersRead 16-bit R/W registers
FC04Read Input RegistersRead 16-bit RO registers
FC05Write Single CoilWrite one discrete output
FC06Write Single RegisterWrite one holding register
FC15Write Multiple CoilsWrite multiple discrete outputs
FC16Write Multiple RegistersWrite multiple holding registers

Exception Responses

When a slave cannot process a request, it returns the function code with bit 7 set (FC + 0x80) followed by an exception code indicating the error type.

Slave-Initiated Communication

Standard Modbus is strictly master-initiated. A slave cannot send unsolicited data — this is a fundamental difference from DNP3.

Frequently Asked Questions

Ready to Get Started?

Our engineers are ready to help with your automation project.