| .. _modbus: |
| |
| Modbus |
| ###### |
| |
| Modbus is an industrial messaging protocol. The protocol is specified |
| for different types of networks or buses. Zephyr OS implementation |
| supports communication over serial line and may be used |
| with different physical interfaces, like RS485 or RS232. |
| TCP support is not implemented directly, but there are helper functions |
| to realize TCP support according to the application's needs. |
| |
| Modbus communication is based on client/server model. |
| Only one client may be present on the bus. Client can communicate with several |
| server devices. Server devices themselves are passive and must not send |
| requests or unsolicited responses. |
| Services requested by the client are specified by function codes (FCxx), |
| and can be found in the specification or documentation of the API below. |
| |
| Zephyr RTOS implementation supports both client and server roles. |
| |
| More information about Modbus and Modbus RTU can be found on the website |
| `MODBUS Protocol Specifications`_. |
| |
| Samples |
| ******* |
| |
| * :zephyr:code-sample:`modbus-rtu-server` and :zephyr:code-sample:`modbus-rtu-client` samples give |
| the possibility to try out RTU server and RTU client implementation with an evaluation board. |
| * :zephyr:code-sample:`modbus-tcp-server` sample is a simple Modbus TCP server. |
| * :zephyr:code-sample:`modbus-gateway` sample shows how to build a TCP to serial line |
| gateway with Zephyr OS. |
| |
| API Reference |
| ************* |
| |
| .. doxygengroup:: modbus |
| |
| .. _`MODBUS Protocol Specifications`: https://www.modbus.org/specs.php |