pymodbus.client.asynchronous package
Async Modbus Client implementation based on Twisted, tornado and asyncio
Example run:
from pymodbus.client.asynchronous import schedulers
# Import The clients
from pymodbus.client.asynchronous.tcp import AsyncModbusTCPClient as Client
from pymodbus.client.asynchronous.serial import AsyncModbusSerialClient as Client
from pymodbus.client.asynchronous.udp import AsyncModbusUDPClient as Client
# For tornado based asynchronous client use
event_loop, future = Client(schedulers.IO_LOOP, port=5020)
# For twisted based asynchronous client use
event_loop, future = Client(schedulers.REACTOR, port=5020)
# For asyncio based asynchronous client use
event_loop, client = Client(schedulers.ASYNC_IO, port=5020)
# Here event_loop is a thread which would control the backend and future is
# a Future/deffered object which would be used to
# add call backs to run asynchronously.
# The Actual client could be accessed with future.result() with Tornado
# and future.result when using twisted
# For asyncio the actual client is returned and event loop is asyncio loop
Subpackages
Submodules
pymodbus.client.asynchronous.serial module
- class pymodbus.client.asynchronous.serial.AsyncModbusSerialClient(scheduler, method, port, **kwargs)
Bases:
object
Actual Async Serial Client to be used.
To use do:
from pymodbus.client.asynchronous.serial import AsyncModbusSerialClient
pymodbus.client.asynchronous.tcp module
- class pymodbus.client.asynchronous.tcp.AsyncModbusTCPClient(scheduler, host='127.0.0.1', port=502, framer=None, source_address=None, timeout=None, **kwargs)
Bases:
object
Actual Async Serial Client to be used.
To use do:
from pymodbus.client.asynchronous.tcp import AsyncModbusTCPClient
pymodbus.client.asynchronous.thread module
- class pymodbus.client.asynchronous.thread.EventLoopThread(name, start, stop, *args, **kwargs)
Bases:
object
Event loop controlling the backend event loops (io_loop for tornado, reactor for twisted and event_loop for Asyncio)
- start()
Starts the backend event loop :return:
- stop()
Stops the backend event loop :return:
pymodbus.client.asynchronous.udp module
- class pymodbus.client.asynchronous.udp.AsyncModbusUDPClient(scheduler, host='127.0.0.1', port=502, framer=None, source_address=None, timeout=None, **kwargs)
Bases:
object
Actual Async UDP Client to be used.
To use do:
from pymodbus.client.asynchronous.tcp import AsyncModbusUDPClient