Node-Red, Modbus & Beckhoff

Crashy

Level-1
Beiträge
123
Reaktionspunkte
0
Hallo zusammen.

Ich versuche derzeit per Node-Red einen Buskoppler zu lesen bzw. zu beschreiben.
Die Eingänge bekomme ich ausgelesen, aber die Ausgänge nicht geschrieben.
Hat das schon mal jemand per Modbus probiert. Adressbereich für die Ausgänge soll ja 2040-2303 sein. Aber egal, was ich probiere, ich bekomme immer "slave device failure".
Jemand das schon mal gemacht ?
Danke.
 
Moin Thorsten,

ich kenne mich mit Beckhoff nicht aus.
Aber drei Ideen: Läuft auf dem Koppler ggf. ein Programm? Falls ja, hat das Priorität vor dem Modbus-Zugriff.
Oder muß der Modbus-Zugriff ggf. in der Konfiguration erst freigegeben werden?
Kann/muß der Koppler in einen RUN-Modus versetzt werden?

Gruß
Jens
 
Hi Jens.

Nein, auf dem Koppler läuft kein Programm, ist lediglich ein Testaufbau.
Zugriff per Modbus TCP ist ja grundsätzlich möglich, kann ja auslesen.
Nur schreiben geht nicht.
 
Hi Thorsten,
hast du die Seite von Beckhoff zu Modbus RTU schon durchprobiert, vielleicht sind es die selben Adressen wie MB TCP? infosys.beckhoff.com
Auch immer dran denken, dass es HEX-Zahlen sind, das übersehe ich auch immer gerne wieder
Edit: Welches Gerät von Beckhoff hast du?
 
TwinCAT2 auf PC, BK9000 und jeweils eine Eingangs-, Ausgangs- und Endklemme.
Will die Klemmen aus Node-RED ansprechen, da sich dort einige Sachen besser umsetzen lassen.
Alles über Strukturen zu machen ist blödsinnig.
 
Also anhand der Beckhoff Doku zum BK9000 würde ich jetzt eher sagen, dass du ab 0x0000 mit Write Single Coil bzw. ab 0x0800 (dezimal 2048) mit Write Single Holding Register schreiben kannst. Wie kommst du auf 2040?
 
Und um mal NodeRed als Fehlerquelle auszuschließen vielleicht mal mit ModbusPoll von modbustools direkt die Befehle übers Netzwerk senden? Zum gelentlichen Testen reicht die kostenlose Variante aus.
 
Und um mal NodeRed als Fehlerquelle auszuschließen vielleicht mal mit ModbusPoll von modbustools direkt die Befehle übers Netzwerk senden? Zum gelentlichen Testen reicht die kostenlose Variante aus.
Ich hatte ModbusPoll schon mal testweise installiert in anderer Angelegenheit und kann es daher nicht mehr nutzen
 
Moin zusammen.

Mal wieder etwas Zeit zum Testen gehabt.
Eingänge lesen klappt immer noch, beim Schreiben bekomme ich jetzt den Fehler:
"Error: Modbus exception 6: Slave device busy (retry request again later)".
TwinCAT ist gestoppt, kein TC-Dienst läuft.
 
Wie Sven bereits oben geschrieben hat: die Adresse 2048 passt nicht zu FC5. Entweder Adresse ab 0 oder FC6.
 
Es ist völlig egal wie ich es bei Node-Red einstelle, ich kann nicht schreiben und neuerdings auch nicht mehr lesen.
Habe es heute mal direkt mit iobroker probiert .. hat 1x funktioniert und danach nie wieder.
Geht weder auf meinem Raspberry, noch in der VM.
Device-ID: 1
Adressen für die Eingänge: 0-3
Port: 502
IP: die der Station
In Node-Red habe ich es mit FC1-FC4 probiert.

Und falls nun kommt ich wäre vlt. zu blöd dazu: meine SMA Wechselrichter kriege ich alle per Modbus ausgelesen, sowohl per iobroker, Node-Red und TwinCAT.
Es muss also was mit dem BC9000 zu tun haben.
 
so, hab mal ne neue VM aufgesetzt, um ModBusPoll nutzen zu können, da auch Proxy nix brachte.
Auch mit ModBusPoll bekomme ich "04 Server Device Failure".
Kann mit dem Fehler überhaupt nix anfangen, da ja mit TwinCAT der BK9000 funktioniert.
 
Habe eigentlich inzwischen ziemlich die Schnauze voll von TwinCAT.
Version 2 ist einfach für heutige Verhältnisse unbrauchbar geworden.
Habe Modbus und MQTT zusätzlich noch im Einsatz und ADS nervt manchmal auch ohne erkennbare Gründe.
Wollte allmählich komplett auf Raspberry PI, I²C und Node-Red umsteigen.
 
Für die Nutzung dieser Website sind Cookies erforderlich. Du musst diese akzeptieren, um die Website weiter nutzen zu können. Erfahre mehr…