Skip to content

Commit

Permalink
Update doc.
Browse files Browse the repository at this point in the history
  • Loading branch information
janiversen committed Oct 20, 2024
1 parent 01aa40e commit 281c4dc
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 2 deletions.
Binary file modified doc/source/_static/examples.tgz
Binary file not shown.
Binary file modified doc/source/_static/examples.zip
Binary file not shown.
8 changes: 6 additions & 2 deletions doc/source/client.rst
Original file line number Diff line number Diff line change
Expand Up @@ -199,9 +199,12 @@ The logical devices represented by the device is addressed with the :mod:`slave=
With **Serial**, the comm port is defined when creating the object.
The physical devices are addressed with the :mod:`slave=` parameter.

:mod:`slave=0` is used as broadcast (in accordance with the modbus standard). To accommodate non-standard behaviour of devices, all request calls to :mod:`slave=0` will expect and wait for one response. If multiple devices on the bus are expected to respond to broadcast requests (for example for the purpose of device detection), the application can get upto 254 responses on a single request, and this is not handled with the normal API calls. If an application is expecting multiple responses to a broadcast request, it must call :mod:`client.execute` and deal with the responses.
:mod:`slave=0` is defined as broadcast in the modbus standard, but pymodbus treats is a normal device.

If no response is expected to a request, the :mod:`no_response_expected=True` argument can be used in the normal API calls. However, these requests will not return indication of failure or success, and will not respect the turnaround delay after sending a broadcast message, therefore, it is the application's responsibility to allow time for the slaves to process the broadcast request before the next request is made on the bus.
iIf an application is expecting multiple responses to a broadcast request, it must call :mod:`client.execute` and deal with the responses.

If no response is expected to a request, the :mod:`no_response_expected=True` argument can be used
in the normal API calls, this will cause the call to return imidiatble with :mod:`None`


Client response handling
Expand Down Expand Up @@ -230,6 +233,7 @@ And in case of read retrieve the data depending on type of request
- :mod:`rr.bits` is set for coils / input_register requests
- :mod:`rr.registers` is set for other requests

Remark if using :mod:`no_response_expected=True` rr will always be None.

Client interface classes
------------------------
Expand Down

0 comments on commit 281c4dc

Please sign in to comment.