TIA Modbus TCP Verbindung Problem

Supermario73

Level-2
Beiträge
117
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag Leute
Wir versuchen eine Modbus TCP Verbindung mit einer S7-1515 zu einem Belimo Ventil aufzubauen. Ping funktioniert.
Anhang anzeigen 88373
Wir erhalten den Fehler 80C8, keine Antwort des Servers im definierten Zeitraum..

Ventil wie fogt konfiguriert:
Anhang anzeigen 88371
Anhang anzeigen 88374
SPS wie folgt parametriert:
Anhang anzeigen 88372
Hat jemand eine Idee, an was die liegen könnte??
Besten Dank für Euer Feedback.
 
Unabhängig vom Register sollte eine Verbindung aufgebaut werden können.
Gemäss Handbuch fängt das Register bei 1664 an.
Example:
The start address to be used is 1664 104 (Register No.) * 16 (Bit) = 1664

Habe auch Länge von 2 mit unterschiedlichen modbusDataAddress versucht. Da es eben nicht funktioniert, vielleicht konnte jemand schon eine Verbindung zu einem Belimo Ventil aufbauen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
1750069394327.png

Im Instanz-DB die MB_Unit_ID anpassen. Soweit ich mich erinnern kann.
Kann nur im Instanz-DB gemacht werden. Siemens Standard ist FF (255)

1750069526686.png

1750069569122.png


Dann versuchen mit MB_DATA_LEN = 1, ein bestimmtes Register zu erreichen. Wenn dies funktioniert erst die komplexeren Sachen zu versuchen.
 
In der zwisschzeit funktioniert die Kommunikation. Nur auf die Register kann noch nicht zugegriffen werden.
Um die Register (Word) zu lesen haben wir die MB_MODE 0, 103, 104 versucht. Dabei haben wir die modbusDataAddress mit 1, 40001 usw getestet, leider immer mit Fehler 8383 (Fehler beim Lesen oder Schreiben der Daten oder Zugriff außerhalb des Adressbereichs des Servers)
modbusDataLen war immer 10
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag zusammen
Mit dem Programm "Modbus Poll" können wir alle Register lesen. Der Kontakt mit dem Hersteller ergab, dass Modbus-Funktion 3 und 6 unterstützt wird. Zurzeit möchten wir nur lesen, also Funktion 3 enspricht dem MB_MODE 0
1750140823036.png
Es ergibt aber immer den Fehler 8383
modbusDataAddress haben wir 1, 10001, 20001, 30001, 40001 getestet, normalerweise eine einfache Funktion, habe zur Zeit keine Ideen mehr.

1750141037810.png
Aufruf Baustein:
1750141660809.png
Array
1750141805400.png
 

Anhänge

  • 1750141805395.png
    1750141805395.png
    25,9 KB · Aufrufe: 6
Hi,

eins Deiner Register aus der Tabelle oben hat die Adresse 200. Also mußt Du als Adresse 40001 + 200 = 40201 anlegen und dann erst einmal Länge 2 Register.

So fragst Du ab Adresse 0 ab. Da ist die Frage ob es die im Gerät gibt.

Gruß
 
Wir haben es gefunden:
Die MB_Unit_ID muss zusätzlich noch von HAND!!! im Instanz DB angepasst werden, obwohl diese im connectParamClient.ID schon eingetragen ist.
1750146642912.png
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wir haben es gefunden:
Die MB_Unit_ID muss zusätzlich noch von HAND!!! im Instanz DB angepasst werden
Ja, genau das wurde dir ja gestern schon im Beitrag #6 genannt:
Im Instanz-DB die MB_Unit_ID anpassen. Soweit ich mich erinnern kann.
Kann nur im Instanz-DB gemacht werden.

Anhang anzeigen 88384
 
Zurück
Oben