TIA Daten per Modbus TCP mit S7 aus VARTA Pulse neo auslesen

SPS-Andy

Level-2
Beiträge
55
Reaktionspunkte
9
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich hänge an folgendem Problem,
Mit einer S7 1215c (TIA Portal V18) möchte ich per Modbus TCP Daten aus einer PV Batterie auslesen VARTA Pulse neo.
ich habe die Modbus Dokumentation vom Hersteller.
Aber egal was ich auch einstelle ich bekomme keine Daten.

1712347085483.png

Habe schon folgendes versucht:
MB_MODE geändert 0- 104....
MB_DATA_ADDR 1068 / 31068 / 41068

Ich möchte eigentlich mehrere Daten auslesen, zum Testen vereinfacht deshalb nur mal 1 Wert.
MB_DATA_PTR ist ein UINT (hatte auch schon ein Pointer oder auch ein MW

Das Problem ist jetzt der Ausgang STATUS wechselt kontinuierlich zwischen 7005(gesendet), 7006(empfangen) und 8383 (Fehler beim Lesen oder Schreiben der Daten oder Zugriff außerhalb des Adressbereichs)

Bin etwas ratlos was ich noch ändern oder Probieren soll??

Speicherbereich
1712347558222.png

Zur Vollständigkeits halber, die CPU kommuniziert bereits mit einem Modbus TCP (Siemens PAC2200) und Zwei Modbus RTU extra Schnittstelle (2x Siemens PAC1600)

Danke für eure Hilfe
 

Anhänge

  • net_modbus_tcp_s7-1500_s7-1200_de (2).pdf
    1.016,5 KB · Aufrufe: 9
Klingt wie falsche MB_Unit_ID verwendet.
Welche MB_Unit_ID braucht Dein Modbus Gerät? MB_Client verwendet standardmäßig die 255
siehe die TIA Hilfe zu MB_Client, oder hier die Forumssuche zu MB_Unit_ID. siehe auch die TIA Hilfe zu MB_Client "Parameter MB_MODE, MB_DATA_ADDR und MB_DATA_LEN"
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das mit der ID hatte ich auch schon im verdacht. Hab die ID schon zu allem möglichen geändert 0, 1, 5, 10, 254, 255.
Leider steht in keinem Dokument von Varta irgend etwas mit ID auch in den Einstellungen bei Varta gibt´s hier nichts zu Stellen.
Arbeite ich mit der Funktion Dissconnect (immer erst Dissconnect dann ID ändern dann Connect) ist folgendes verhalten:
Bei ID 0 ist der Fehler 8086 den gibt es in der Siemens Hilfe nicht, Lt. Siemens Forum "Falsche connection ID benutzt"
Bei ID 1 Ist der Fehler 80C8 Keine Antwort des Servers
Bei allen ID >1 folgendes Verhalten:
Ist keine Request anstehend ist Status 7004, wird ein REQ ausgelöst, wechselt der Status erst zu 7005 und bussy dann zu 7006 und dann zu 8383 und Error.
1712355523663.png
Ist die ID >1 und ich setze Dissconnect dann kommt erst die Meldung 7003 "Verbindung wird abgebaut" dann 0003 "Verbindungsabbau durchgeführt" dann 7000 "Kein Auftrag aktiv und keine Verbindung aufgebaut" Das sagt mir doch grundsätzlich funktioniert meine Modbus Verbindung!?

Die Modbus ID ist doch jene, die bei der Beschaltung des Input CONNECT im Format "TCON_IP_v4" ID heißt??
1712355663833.png

Hatte in einem anderen Forum gelesen, das Varta ein Problem hat, wenn zu viele Anfragen zu schnell kommen, daher lasse ich den Baustein nur alle 10s bearbeiten aber keine Verbesserung/Veränderung.
 
Nein. Die Modbus ID oder Device ID "MB_Unit_ID" ist eine Variable in der Instanz des MB_CLIENT, die nicht durch Beschaltung geändert werden kann, sondern nur durch eine Zuweisung eines Wertes direkt an die Variable. Z.B. testweise mit einer Beobachtungstabelle, oder besser durch Zuweisung im Programm oder als Festlegung als Anfangs- oder Aktualwert im Instanz DB. Schau in die TIA Hilfe des MB_CLIENT.
 
Habe das mit der "MB_Unit_ID ausprobiet, leider ohne Erfolg.
In der Beschreibung von Varta steht hier folgendes:
1712414457307.png

Bin ziemlich ratlos, habe auch schon alle möglichen Varianten an den Input Parametern "MB_DATA_ADDR, MB_DATA_LEN, MB_DATA_PTR" ausprobiert, komme aber nicht von diesem Fehler 8383 weg.

Mittlerweile habe ich auch eine 2te SPS dazu genommen, auf der nur diese Kommunikation läuft, um nicht doch von den anderen MB Kommunikationen zu den PAC Zählern beeinflusst zu werden. Hier ist aber genau gleiches Bild.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Habe das mit der "MB_Unit_ID ausprobiet, leider ohne Erfolg.
In der Beschreibung von Varta steht hier folgendes:
Anhang anzeigen 76975

Bin ziemlich ratlos, habe auch schon alle möglichen Varianten an den Input Parametern "MB_DATA_ADDR, MB_DATA_LEN, MB_DATA_PTR" ausprobiert, komme aber nicht von diesem Fehler 8383 weg.

Mittlerweile habe ich auch eine 2te SPS dazu genommen, auf der nur diese Kommunikation läuft, um nicht doch von den anderen MB Kommunikationen zu den PAC Zählern beeinflusst zu werden. Hier ist aber genau gleiches Bild.

Es geht aber um die UnitID in deinem MB_Client_DB (DB40 in deinem Bild). Nicht um die ID im "MB Connect".
 
Mittlerweile habe ich auch eine 2te SPS dazu genommen, auf der nur diese Kommunikation läuft, um nicht doch von den anderen MB Kommunikationen zu den PAC Zählern beeinflusst zu werden. Hier ist aber genau gleiches Bild.
Versuche mal Werte abzufragen mit einem Modbus TCP (Test-)Client auf einem PC.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo nochmal,
ging schneller wie gedacht das testen mit dem Client Test tool.
Hab jenes mir heruntergeladen, welches von PN/DP in einem anderen Thema empfohlen wird.
Hat auf anhieb funktioniert auch die Einstellung der ID war egal habe mit verschiedenen ID's verschiedene Register ausgelesen!
Jetzt habe ich zumindest Klarheit, das auf der VARTA Seite keine weiteren Einstellungen benötigt werden und das Problem auf der Siemens Seite liegt.
1712475375205.png

(Die 91 ist auch Richtig (Ladezustand ist 91%)

Bleibt nur was ist auf der Siemens Seite Falsch??
Die Register Adresse 1068 ist das bei Siemens auch die 1068 oder muss da noch ein Offset drauf z.B. 30001?
Bei Siemens muss ein Modbus Mode eingestellt werden, bei dem Test tool nicht habe bei mir vornehmlich mit dem Mode 104 getestet hat sich in der Beschreibung als der richtige gelesen.

Der Fehler 8383 den ich bei Siemens erhalte deutet lt. Hilfe auf ein Speicher, Daten Problem hin:
"Fehler beim Lesen oder Schreiben der Daten oder Zugriff außerhalb des Adressbereichs von MB_DATA_PTR"

Hatte schon versucht diverse Speicherbereich zu verwenden Pointer, Array of Word ..., Struct, Word, UDINT, UINT, MW
 
Morgen,

Habe gestern mich nochmal dran gesetzt und rumprobiert.
habe dabei 1. festgestellt das im Instanz DB der MB-Client Funktion trotz des Fehlers Bytes gesendet und empfangen werden.
2. im Janitza Programm wird weiter unten angezeigt, welche Modbus-funktion verwendet wird. in diesem fall 3.
Lt. der Siemens Hilfe ist MB-funktion 3 bei Siemens Modbus-Mode 0 und man muss die Modbus Adresse 40.001 bis 49.999 oder 400.001 bis 465.535 verwenden.
40001 als Offset zu meinen 1068 also 41086 hat dann funktioniert :).
Auch mehrere Adressen abfragen funktioniert.
Kleiner wehmutstropfen bleibt, warum ich hier diesen Mode Verwenden muss??
 
Zurück
Oben