43 lines
1.4 KiB
ReStructuredText
43 lines
1.4 KiB
ReStructuredText
.. _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
|
|
*******
|
|
|
|
`modbus-rtu-server-sample` and `modbus-rtu-client-sample` give
|
|
the possibility to try out RTU server and RTU client implementation with
|
|
an evaluation board.
|
|
|
|
`modbus-tcp-server-sample` is a simple Modbus TCP server.
|
|
|
|
`modbus-gateway-sample` is an example 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
|