MODBUS is an open protocol for serial and TCP/IP communications that is commonly used in industrial automation and control systems. It allows devices connected on different types of buses or networks to communicate using a client/server model. MODBUS functions use function codes to specify the type of request and response. It has variants for serial transmission like RTU and ASCII, as well as a TCP variant. Function codes are categorized as public, user-defined, or reserved.