TIA Modbus TCP Client Fehler 8380

Monstablokaz

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

ich will gerne Input Register mit meiner Siemens SPS (CPU 1512SP-1 PN FW 4.0) auslesen. Leider bekomme ich immer wieder den Fehler 8380.
Das auslesen vom Rechner funktioniert über ein Tool. Im Istanz DB habe ich die Slave ID (100) eingetragen, so wie ich es hier gefunden habe im Forum. Aber egal welchen Mode oder Adressen ich einstelle, immer wieder Fehler 8380. Hat einer eine Idee?

1752744773084.png1752744795533.png

1752744634352.png
 
Sollte deine SPS nicht der Modbus Server sein?
Oder soll deine SPS ein anderes ModbusTCP-Gerät abfragen?
Was für ein Gerät ist der Kommunikationspartner?
Der Klassiker bei Client: Hast du die richtige MB_Unit_ID eingestellt?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Client ist schon richtig. Was der Partner für ein Gerät ist, weiß ich leider nicht. Also kann ich nur 0 bis 255 durchprobieren und hoffen das es bei einer ID besser wird. Müssen connect ID und Unit ID identisch sein?
 
nein. connect ID ist die Nummer der TCP-Verbindung in deiner 1512SP CPU, Unit ID ist die "Slave ID" des Kommunikationspartners

Das auslesen vom Rechner funktioniert über ein Tool.
Dein unteres Bild in #1 zeigt also, wie du mit einem Tool das (unbekannte) Modbus-Gerät abfragst? Da hast du als "Slave Id" 100 eingetragen. Wenn das funktioniert hat, dann must du also bei MB_Unit_ID auch 100 eintragen.
Am besten direkt vor dem MB_CLIENT-Aufruf direkt in den Instanz-DB eintragen mit MOVE oder SCL: "MB_CLIENT_IDB".MB_Unit_ID := 100;
 
Du willst mit der Modbus Funktion "04: Read Input Registers" 65 Register ab Adresse 512 lesen?
Dann sollte das mit diesen Auftragsparametern klappen:
MB_MODE = 0
MB_DATA_ADDR = 30513
MB_DATA_LEN = 65

alternativ:
MB_MODE = 104
MB_DATA_ADDR = 512
MB_DATA_LEN = 65

siehe TIA Hilfe zu MB_CLIENT "Parameter MB_MODE, MB_DATA_ADDR und MB_DATA_LEN"

Die IP-Adresse des Modbus-Gerätes hast du korrekt bei RemoteAddress eingetragen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
IP-Adresse ist richtig eingetragen. MB_Mode 0 und 104 mit jeweils angepassten Adressen habe ich auch schon probiert.

Ein Trace ergab:

16#7004 -> REQ auf TRUE setzen
16#7002 -> Zwischenaufruf. Verbindung wird aufgebaut.
16#0001 -> Verbindung hergestellt.
16#7005 -> Daten werden gesendet.
16#7006 -> Daten werden empfangen.
16#7003 -> Verbindung wird abgebaut.
16#8380 -> Empfangenes Modbus-Frame hat nicht das richtige Format oder es wurden zu wenige Bytes empfangen.
16#7001 -> Verbindungsaufbau angestoßen.
16#7002 -> Zwischenaufruf. Verbindung wird aufgebaut.
16#0001 -> Verbindung hergestellt.
 
Die IP ist in einem geroutetet Netz. Zunächst kam immer Fehler mit Kommunikationspartner, da hatte ich vergessen das Standardgateway einzutragen. Aber als das war, war ich guter Hoffnung :)
 
Bevor es Fehler 8083 gab, war es ein Routingproblem. Das wollte ich damit sagen. Also die IP und die Route dort hin steht. Das sieht auch die SPS so.
 
Welche Firmware-Version genau ist auf deiner CPU 1512SP-1 PN? (Nicht als was sie projektiert ist, sondern Online nachschauen.)
oder gibt es wirklich eine V 4.0.0 ?

PS: Tatsächlich ... V4.0.0 ist die neuste Version (vielleicht noch zu neu? ;) )
Firmware-Update für CPU 1512SP-1 PN

PPS: hast du schon den Siemens Support befragt?

PPPS: der oben verlinkte Beitrag zur Firmwareversion V 4.0.0 wird offensichtlich von Siemens nicht gepflegt :mad: Es gibt tatsächlich seit ca. 3 Wochen eine Version 4.0.4 - siehe Beitrag #16 von DeltaMikeAir
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ein Trace ergab:

16#7004 -> REQ auf TRUE setzen
16#7002 -> Zwischenaufruf. Verbindung wird aufgebaut.
16#0001 -> Verbindung hergestellt.
16#7005 -> Daten werden gesendet.
16#7006 -> Daten werden empfangen.
16#7003 -> Verbindung wird abgebaut.
16#8380 -> Empfangenes Modbus-Frame hat nicht das richtige Format oder es wurden zu wenige Bytes empfangen.
16#7001 -> Verbindungsaufbau angestoßen.
Warum wird die Verbindung abgebaut? Macht das wirklich MB_CLIENT oder kommt das vom Kommunikationspartner?
Wie lang war die Phase "16#7006 -> Daten werden empfangen"? Hat MB_CLIENT in dem Request wirklich die Unid ID 100 verwendet?
Kannst du den Datenverkehr mit dem unbekannten Modbus-Gerät mitsniffern?
Du solltest auch in Erfahrung bringen, was das für ein Modbus-Gerät ist.
 
Zurück
Oben