Hi,
I am just starting with pymodbus and I wanted to ask some questions:
- I have installed pymodbus using easy_install. It creates a "pymodbus-1.0.0-py2.7.egg" file and also creates a "Twisted-12.2.0-py2.7-win32.egg" folder. I am using Eclispe with PyDev Plugin and when I copy the synchronous client and server examples it doesn't recognize the pymodbus packages:
http://packages.python.org/pymodbus/examples/index.html#example-library-codeClient error line:from pymodbus.client.sync import ModbusTcpClient as ModbusClient
Server error lines:from pymodbus.server.sync import StartTcpServer
from pymodbus.server.sync import StartUdpServer
from pymodbus.server.sync import StartSerialServer
from pymodbus.datastore import ModbusSequentialDataBlock
from pymodbus.datastore import ModbusSlaveContext, ModbusServerContext
- Yet it seems to run but I get some errors when trying to run the client:
Client console:DEBUG:pymodbus.transaction:Running transaction 1
DEBUG:pymodbus.transaction:0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x5 0x0 0x1 0xff 0x0
DEBUG:pymodbus.factory:Factory Response[5]
DEBUG:pymodbus.transaction:Running transaction 2
DEBUG:pymodbus.transaction:0x0 0x2 0x0 0x0 0x0 0x4 0x0 0x1 0x1 0x1
DEBUG:pymodbus.factory:Factory Response[1]
DEBUG:pymodbus.transaction:Running transaction 3
DEBUG:pymodbus.transaction:0x0 0x3 0x0 0x0 0x0 0x6 0x0 0xf 0x0 0x1 0x0 0x8
DEBUG:pymodbus.factory:Factory Response[15]
DEBUG:pymodbus.transaction:Running transaction 4
DEBUG:pymodbus.transaction:0x0 0x4 0x0 0x0 0x0 0x4 0x0 0x1 0x1 0xff
DEBUG:pymodbus.factory:Factory Response[1]
DEBUG:pymodbus.transaction:Running transaction 5
DEBUG:pymodbus.transaction:0x0 0x5 0x0 0x0 0x0 0x6 0x0 0xf 0x0 0x1 0x0 0x8
DEBUG:pymodbus.factory:Factory Response[15]
DEBUG:pymodbus.transaction:Running transaction 6
DEBUG:pymodbus.transaction:0x0 0x6 0x0 0x0 0x0 0x4 0x0 0x2 0x1 0xff
DEBUG:pymodbus.factory:Factory Response[2]
Traceback (most recent call last):
File "C:\Users\ivan.gonzalez\Desktop\workcopy-LEW\trunk\Feve\workspace\PyModbus\src\Cliente.py", line 59, in <module>
assert(rr.bits == [False]*8) # test the expected value
AssertionError
Server console:DEBUG:pymodbus.server.sync:Started thread to serve client at ('127.0.0.1', 57280)
DEBUG:pymodbus.server.sync:Client Connected [
127.0.0.1:57280]
DEBUG:pymodbus.server.sync:0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x5 0x0 0x1 0xff 0x0
DEBUG:pymodbus.transaction:0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x5 0x0 0x1 0xff 0x0
DEBUG:pymodbus.factory:Factory Request[5]
DEBUG:pymodbus.datastore.context:validate[5] 2:1
DEBUG:pymodbus.datastore.context:setValues[5] 2:1
DEBUG:pymodbus.datastore.context:getValues[5] 2:1
DEBUG:pymodbus.server.sync:send: 00010000000600050001ff00
DEBUG:pymodbus.server.sync:0x0 0x2 0x0 0x0 0x0 0x6 0x0 0x1 0x0 0x1 0x0 0x1
DEBUG:pymodbus.transaction:0x0 0x2 0x0 0x0 0x0 0x6 0x0 0x1 0x0 0x1 0x0 0x1
DEBUG:pymodbus.factory:Factory Request[1]
DEBUG:pymodbus.datastore.context:validate[1] 2:1
DEBUG:pymodbus.datastore.context:getValues[1] 2:1
DEBUG:pymodbus.server.sync:send: 00020000000400010101
DEBUG:pymodbus.server.sync:0x0 0x3 0x0 0x0 0x0 0x8 0x0 0xf 0x0 0x1 0x0 0x8 0x1 0xff
DEBUG:pymodbus.transaction:0x0 0x3 0x0 0x0 0x0 0x8 0x0 0xf 0x0 0x1 0x0 0x8 0x1 0xff
DEBUG:pymodbus.factory:Factory Request[15]
DEBUG:pymodbus.datastore.context:validate[15] 2:8
DEBUG:pymodbus.datastore.context:setValues[15] 2:8
DEBUG:pymodbus.server.sync:send: 000300000006000f00010008
DEBUG:pymodbus.server.sync:0x0 0x4 0x0 0x0 0x0 0x6 0x0 0x1 0x0 0x1 0x0 0x8
DEBUG:pymodbus.transaction:0x0 0x4 0x0 0x0 0x0 0x6 0x0 0x1 0x0 0x1 0x0 0x8
DEBUG:pymodbus.factory:Factory Request[1]
DEBUG:pymodbus.datastore.context:validate[1] 2:8
DEBUG:pymodbus.datastore.context:getValues[1] 2:8
DEBUG:pymodbus.server.sync:send: 000400000004000101ff
DEBUG:pymodbus.server.sync:0x0 0x5 0x0 0x0 0x0 0x8 0x0 0xf 0x0 0x1 0x0 0x8 0x1 0x0
DEBUG:pymodbus.transaction:0x0 0x5 0x0 0x0 0x0 0x8 0x0 0xf 0x0 0x1 0x0 0x8 0x1 0x0
DEBUG:pymodbus.factory:Factory Request[15]
DEBUG:pymodbus.datastore.context:validate[15] 2:8
DEBUG:pymodbus.datastore.context:setValues[15] 2:8
DEBUG:pymodbus.server.sync:send: 000500000006000f00010008
DEBUG:pymodbus.server.sync:0x0 0x6 0x0 0x0 0x0 0x6 0x0 0x2 0x0 0x1 0x0 0x8
DEBUG:pymodbus.transaction:0x0 0x6 0x0 0x0 0x0 0x6 0x0 0x2 0x0 0x1 0x0 0x8
DEBUG:pymodbus.factory:Factory Request[2]
DEBUG:pymodbus.datastore.context:validate[2] 2:8
DEBUG:pymodbus.datastore.context:getValues[2] 2:8
DEBUG:pymodbus.server.sync:send: 000600000004000201ff
ERROR:pymodbus.server.sync:Socket error occurred [Errno 10054] Se ha forzado la interrupción de una conexión existente por el host remoto
DEBUG:pymodbus.server.sync:Client Disconnected [
127.0.0.1:57280]
This is the line when the program crashes:
rq = client.write_coils(1, [False]*8)
rr = client.read_discrete_inputs(1,8)
assert(rq.function_code < 0x80) # test that we are not an error
assert(rr.bits == [False]*8) # test the expected valueDo you know what is the problem? Have I installed pymodbus well?
Thanks,