Modbus ist ein Kommunikationsprotokoll für den Austausch von Nachrichten zwischen intelligenten Modbus- Controllern, unabhängig von der Netzstruktur. Das Modbus- Protokoll ist auf der Anwendungsschicht des OSI-Referenzmodells angesiedelt und unterstützt den Master-Slave-Betrieb zwischen intelligenten Geräten.
Beim Modbus-Protokoll handelt sich um ein von Gould-Modicon 1979 entwickeltes Automatisierungs-Protokoll, das als industrieller De-facto-Standard bezeichnet werden kann.
Das Modbus-Protokoll definiert den Nachrichtentyp, den die Masterstation benutzt und der unabhängig von den Netzwerken ist, über die die Modbus- Controller untereinander kommunizieren. Es beschreibt wie ein Modbus-Controller über eine Anfrage Zugang zu einem anderen Controller aufnimmt, wie dieser die Anfrage beantwortet und wie Fehler erkannt und dokumentiert werden. Das Modbus-Protokoll arbeitet auf Anfrage- Antwort-Basis und bietet verschiedene Dienste, die durch Funktions- Codes spezifiziert werden. Während der Kommunikation bestimmt das Modbus-Protokoll wie jeder Controller die Geräte- Adresse erfährt und Nachrichten erkennt, die für ihn bestimmt sind. Außerdem bestimmt es die auszulösenden Aktionen und welche Informationen der Modbus-Controller aus dem Nachrichtenfluss entnehmen kann. Wenn eine Antwort erforderlich ist, dann wird diese im Controller aufgebaut und mit dem Modbus-Protokoll zu der entsprechenden Station gesendet.
Da das Modbus-Protokoll auch in anderen Frames verkapselt werden kann, hat sich der Modbus auch das industrielle Ethernet erschlossen und hat im TCP/ IP- Protokollstack die reservierte Portnummer 502. Das Modbus-Protokoll für Ethernet/IP heißt Modbus-TCP.
Für den Master-Slave-Betrieb gibt es das Telemetrie-Protokoll Modbus- RTU, Remote Terminal Unit. Der Modbus-RTU-Slave kann dabei genauso mit dem Modbus-Master arbeiten, wie umgekehrt der Modbus-Master mit dem -Slave. Zu den Funktionen, die Modbus-RTU unterstützen gehören Statusmeldungen über den Zustand der Relaisspule und deren Eingangszustand, das Auslesen der Halte- und Ausgangsregister, das Betätigen von einer oder mehrerer Relaisspulen.
Als dritten Protokoll-Modus kennt das Modbus-Protokoll Modbus-ASCII. In diesem Modus werden die Daten als ASCII-Zeichen übertragen und sind daher lesbar.