Modbus
Modbus is an application-layer messaging protocol at level 7 of the OSI model. It provides client/server communication between devices connected on buses or networks. The protocol defines a simple protocol data unit that does not depend on the communication layers underneath. When Modbus is carried on a specific bus or network, extra fields are added to form the application data unit, and a function code tells the server what action to take. Modbus started as the common language of Modicon controllers. It sets the message structure, how a device recognizes its own address and messages sent to it, and how errors are detected and reported. On a serial line the master acts as the client and the slave nodes act as servers. Two-wire RS485 is the most common wiring, and RS232 can be used for short point-to-point links. On a serial bus only the slaves have addresses, and each address must be unique on that bus. Address 0 is reserved for broadcast. Inverter Modbus maps from CPS and Yaskawa Solectria contain read/write registers for remote dispatch enable and for the reactive power control mode. Tesla controls manuals list Modbus registers for the maximum active power limit, closed-loop control enable and power factor enable. Every SunSpec information model carried over Modbus begins with an ID register and a length register. This lets a client scan through the models and skip any it does not recognize.
<!-- review notes
- sentence 3: support check: partial - Passage supports common language of Modicon controllers, message structure, addressing/recognition and error detection/reporting, but does not say Modbus 'started as' that language (origin claim is slightly beyond it).
- sentence 6: support check: partial - Evidence shows CPS and Solectria RW registers for remote dispatch enable and reactive mode, and Tesla-style registers for max active power limit, closed-loop enable and PF enable; but Yaskawa Solectria's remote dispatch enable register (RemoteDispatchEn) is only shown for CPS-labelled entry, and Tesla attribution isn't explicit in the passages. -->
Parts
Referenced by
- Modbus addressing
part_ofc1 - Open-loop and closed-loop control
related_toc13 - Utility power factor penalty
related_toc6 - Cybersecurity of PV systems
related_toc2 - Register data encoding
related_toc1 - SCADA
related_toc3 - Limit maximum active power
requiresc4 - Remote dispatch
requiresc11 - Watt-VAr
requiresc1 - AlsoEnergy weather station (digitizer and sensor kit)
uses_protocolc3 - ASE DER Gateway
uses_protocolc6 - CSI 23/28KTL-CT/US-480
uses_protocolc3 - CPS SCA25KTL-DO-R/US-480
uses_protocolc4 - CPS SCA36KTL-DO/US-480
uses_protocolc3 - CPS SCH125KTL-AIO/US-600
uses_protocolc15 - CPS SCH200K-T-US-480 / SCH250K-T-US-600
uses_protocolc7 - CPS SCH275KTL-DO/US-800
uses_protocolc14 - Enphase IQ Gateway
uses_protocolc12 - Schneider Electric Conext CL125
uses_protocolc12 - Sunny Highpower PEAK3
uses_protocolc3 - Sunny Tripower X US-50
uses_protocolc3 - Sunny WebBox
uses_protocolc3 - Solis Export Power Manager
uses_protocolc9 - Sungrow SG200HX-US
uses_protocolc8 - Solectria PVI 20/25TL-480-R
uses_protocolc3 - Solectria PVI 50-60TL
uses_protocolc2 - Solectria XGI 1500
uses_protocolc4 - Modbus RTU
subclass_ofc1 - Modbus TCP
subclass_ofc1 - SMA Modbus profile
subclass_ofc1 - SunSpec Modbus
subclass_ofc1 - Modbus client tool
uses_protocolc1 - SolrenView
uses_protocolc2