Modbus RTU mit RS485 ==> Remko Regler IChill 200 ==> error oder immer null

Zuviel Werbung?
-> Hier kostenlos registrieren
Beim Controller gibt es wie bei den Slaves auch noch Einstellungen zu Modbus RTU (Modbus master). Welcher Timeout/Antwortzeit-Überschreitung ist dort eingestellt? Default werden bei mir dort gerade 298 ms eingestellt. Dort mal höher stellen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Jetzt mal eine dumme Frage,:
die Register
stimmen doch so als ReadHoldingRegister (FC 3)?

NameDatentypModbus-Adresse --- LESEN
WP_1st_probe_valueWORD
256​
WP_2st_probe_valueWORD
258​
WP_3st_probe_valueWORD
260​
WP_4st_probe_valueWORD
262​
WP_5st_probe_valueWORD
264​
WP_6st_probe_valueWORD
266​
WP_7st_probe_valueWORD
268​
WP_8st_probe_valueWORD
270​
WP_9st_probe_valueWORD
272​
WP_10st_probe_valueWORD
274​
WP_11st_probe_valueWORD
276​
WP_12st_probe_valueWORD
278​
Expliziter Zugang aus. Sagt kein Error gibt aber immer nur 0 wenn ich mich nicht vertue,
Expliziter Zugang ein. Sagt nach SEND_FAILED , RESPONSE_TIMEOUT.
_
Für alle Modbus Datenpunkte, habe ich einen
Minimalintervall von 750ms.
ReadOnly
Cyclic
_
Ersatzwert-Strategie
habe ich Letzten Wert halten
_
Die Wärmepumpe Slave Einstellung:
WP.PNG
_
Die WAGO 0750-8206 Modbus Master Einstellungen:
WAGO.PNG

Den Abfrageintervall habe ich mal höher gesetzt
_
Hier zeige ich euch mal die Einstellungen des Modbusses, von dem Schneider Electric Acti 9 Stromzähler:
Schneider.PNG

_Und hier die der Pracht-Alpha Station:
Pracht.PNG
für die Pracht habe ich einen
Min Intervall von 200 ms für alle Datenpunkte und den DatenTypen BYTE als Readonly mein erster Datenpunkt in der Liste macht immer zicken und sagt Error aber liefert mir den Wert.

________________________________________________________________________________________________
Bei, TCP vom Iobroker als Slave:
Habe ich folgende Datenpunkte:
DataPointNameIecDataTypeIsExpliciteChannelWriteFunctionCodeReadFunctionCodeWriteAddressReadAddressWriteBitPositionReadBitPositionInternalUsedDatatypeDataPointTypeTypeSpecificSetting
SMA_ANLAGE_LeistungWORDTrue
0​
3​
0​
1​
0​
0​
Generic
Smartmeter_1_1_0_16_7_0_255INTTrue
0​
3​
0​
2​
0​
0​
Generic
Schneider_Gesamt_WirkDWORDTrue
16​
0​
3​
3​
0​
0​
Generic
Und Folgende Einstellungen:
Settings_Iob_Sla.PNG

Und im Modbus Adapter des ioBrokers selbst:
IOB_WEB.PNG




_addressnamedescriptionunittypelenfactoroffsetformularoleroompollwpcwisScale
40002​
SMA_Leistung_Kopierter_WertWint16be
1​
1​
0​
valuetruetruefalsefalse
40003​
Gesamtverbrauch_Leistung_Kopierter_WertWint16be
1​
1​
0​
valuetruetruefalsefalse
40004​
Total_Active_Energy_ImportWhuint32sw
2​
1​
0​
valuetruefalsefalsefalse

IN DER WAGO_ habe ich als Feldbuskonfiguraror für die MODBUS TCP verbindung folgende Einstellungen:


DataPointIdVariableNameOnSlaveIecDataTypeVariableNameOnMasterMinAccessIntervalMsAccessTypeTriggerEvent
af40601d-2ab6-4eff-93c0-f7f7fff030e5SMA_ANLAGE_LeistungWORDApplication.Modbus.Generic_Modbus_Slave_IOBROKER_tcp.SMA_ANLAGE_Leistung
150​
InputCyclic
312e0d46-ea7e-4621-8b2f-350ceed75599Smartmeter_1_1_0_16_7_0_255INTApplication.Modbus.Generic_Modbus_Slave_IOBROKER_tcp.Smartmeter_1_1_0_16_7_0_255
150​
InputCyclic
78db70c4-20c0-4003-8f35-48473565401cSchneider_Gesamt_WirkDWORDApplication.Modbus.Generic_Modbus_Slave_IOBROKER_tcp.Schneider_Gesamt_Wirk
0​
OutputOnValueChange


_ --> Dort das Problem ich erhatle mal den Passenden wert im iobroker und mal nicht:(Das sind 4 ergebnisse mit Paint zusammen gemalt, 5... passt 3... nicht)
Zusammengemalt.PNG_Woran liegt das alles?
Habe ich in der Ganzen Modbus sache einen Denk - Fehler?
ZUSAMMEN FASSUNG
_
LESEN
Modbus Schneider Zähler zur WAGOPASST
LESENModbus PRACHT zur WAGOPASST
LESENModbus Wärmepumpe zur WAGOPASST NICHTSEND_FAILED --> RESPONSE_TIMEOUT
LESENModbus Iobroker zur WAGOPASST IMMER
SCHREIBENWAGO zum Modbus IobrokerPASST NICHT IMMERMal werte mit 3xxx
Und mal Passend mit 5xxxxxx
 
Zuletzt bearbeitet:
Ich habe gerade einmalig einen wert für die WP bekommen.
_
WP Hä.PNG
_
Habe aber nichts geändert gehabt.
und jetzt gibt sie mir wieder keinen mehr
 
Hi,

versuch sonst mit der WP erst einmal nur einen Wert zu lesen. Da kannst Du dann auch feststellen ob es das richtige Ergebnis ist. Und stell das Abfrageintervall erst einmal auf 1000 ms.

Dann nimmst Du ein zweites Register dazu. Dabei probierst Du mal mit und ohne explizitem Zugang. 'Ohne' könnte Funktionieren, bei 'mit' werden wahrscheinlich schon Fehler auftreten.

Bei explizitem Zugang erfolgt die Abfrage der einzelnen Register nämlich nach meinem Verständnis für jedes Register einzeln, ohne dagegen werden mehrere Register in einer Anfrage zusammengefaßt. Bei Einzelabfragen kann es dann zu Problemen kommen wenn zwischen den Abfragen wirklich 500 ms liegen muß, denn so wird wenn eine Abfrage erfolgreich war direkt die nächste gestartet ohne zu warten.

Zu IObroker kann ich nichts sagen, da kenn ich mich nicht aus.

Zu Pracht würde ich sagen definiere die Daten nicht als byte sondern als word oder int. Es werden eh 16 Bit pro Register übertragen. Wenn die CSV Daten von oben noch aktuell sind dann scheint mir da ein Fehler zu sein. Du hast da Daaten die Du mit FC 4 (Input Register liest) zusätzlich willst Du darauf schreiben (FC 6). Normalerweise sind Input Register Daten aber read only, nur Holdding Register kannst Du Lesen/Schreiben.

Gruß
 
Zurück
Oben