pymodbus.client.asynchronous.twisted package¶
Implementation of a Modbus Client Using Twisted¶
Example run:
from twisted.internet import reactor, protocol
from pymodbus.client.asynchronous import ModbusClientProtocol
def printResult(result):
print "Result: %d" % result.bits[0]
def process(client):
result = client.write_coil(1, True)
result.addCallback(printResult)
reactor.callLater(1, reactor.stop)
defer = protocol.ClientCreator(reactor, ModbusClientProtocol
).connectTCP("localhost", 502)
defer.addCallback(process)
Another example:
from twisted.internet import reactor
from pymodbus.client.asynchronous import ModbusClientFactory
def process():
factory = reactor.connectTCP("localhost", 502, ModbusClientFactory())
reactor.stop()
if __name__ == "__main__":
reactor.callLater(1, process)
reactor.run()
-
class
pymodbus.client.asynchronous.twisted.ModbusClientProtocol(framer=None, **kwargs)¶ Bases:
twisted.internet.protocol.Protocol,pymodbus.client.asynchronous.mixins.AsyncModbusClientMixinThis represents the base modbus client protocol. All the application layer code is deferred to a higher level wrapper.
-
close()¶ Closes underlying transport layer ,essentially closing the client :return:
-
connectionLost(reason=None)¶ Called upon a client disconnect
Parameters: reason – The reason for the disconnect
-
connectionMade()¶ Called upon a successful client connection.
-
dataReceived(data)¶ Get response, check for valid message, decode result
Parameters: data – The data returned from the server
-
execute(request)¶ Starts the producer to send the next request to consumer.write(Frame(request))
-
framer= None¶
-
-
class
pymodbus.client.asynchronous.twisted.ModbusUdpClientProtocol(host='127.0.0.1', port=502, framer=None, source_address=None, timeout=None, **kwargs)¶ Bases:
twisted.internet.protocol.DatagramProtocol,pymodbus.client.asynchronous.mixins.AsyncModbusClientMixinThis represents the base modbus client protocol. All the application layer code is deferred to a higher level wrapper.
-
datagramReceived(data, params)¶ Get response, check for valid message, decode result
Parameters: - data – The data returned from the server
- params – The host parameters sending the datagram
-
execute(request)¶ Starts the producer to send the next request to consumer.write(Frame(request))
-
-
class
pymodbus.client.asynchronous.twisted.ModbusClientFactory¶ Bases:
twisted.internet.protocol.ReconnectingClientFactorySimple client protocol factory
-
protocol¶ alias of
ModbusClientProtocol
-