Hallo liebe Forumsgemeinde,
habe mir grad folgenden RS485-USB-Adapter bestellt: http://www.ebay.de/itm/USB-RS485-…i-/181923686340
Leider läuft das Ding nur unter Windows (mit Modbus Master getestet).
Unter dem Raspberry Pi wird der Adapter zwar korrekt erkannt und unter /dev/ttyUSB1 angemeldet.
Wenn ich allerdings mein Python Skript starte
Code
import minimalmodbus
instrument = minimalmodbus.Instrument('/dev/ttyUSB1',1) # port name, slave address (in decimal)
instrument.serial.baudrate = 9600
instrument.serial.parity = 'N'
instrument.serial.bytesize = 8
instrument.serial.stopbits = 2
instrument.serial.timeout = 1 # seconds
instrument.debug = True
data = instrument.read_register(0x0000, 1, functioncode=4) # Registernumber, number of decimals
print data
Alles anzeigen
erhalte ich nur:
Code
pi@raspberrypi ~/sdm $ ./modbus.py
MinimalModbus debug mode. Writing to instrument (expecting 7 bytes back): '\x01\x04\x00\x00\x00\x011\xca' (01 04 00 00 00 01 31 CA)
MinimalModbus debug mode. No sleep required before write. Time since previous read: 1450638863072.4 ms, minimum silent period: 4.01 ms.
MinimalModbus debug mode. Response from instrument: '' () (0 bytes), roundtrip time: 1001.5 ms. Timeout setting: 1000.0 ms.
Traceback (most recent call last):
File "./modbus.py", line 14, in <module>
data = instrument.read_register(0x0000, 1, functioncode=4) # Registernumber, number of decimals
File "/usr/local/lib/python2.7/dist-packages/minimalmodbus.py", line 258, in read_register
return self._genericCommand(functioncode, registeraddress, numberOfDecimals=numberOfDecimals, signed=signed)
File "/usr/local/lib/python2.7/dist-packages/minimalmodbus.py", line 697, in _genericCommand
payloadFromSlave = self._performCommand(functioncode, payloadToSlave)
File "/usr/local/lib/python2.7/dist-packages/minimalmodbus.py", line 795, in _performCommand
response = self._communicate(request, number_of_bytes_to_read)
File "/usr/local/lib/python2.7/dist-packages/minimalmodbus.py", line 930, in _communicate
raise IOError('No communication with the instrument (no answer)')
IOError: No communication with the instrument (no answer)
Alles anzeigen
Kennt jemand das Problem und kann mir weiterhelfen?