Profibus DPV1 Fehler mit WRREC

Peter L.

Level-1
Beiträge
24
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

ich versuche über Profibus Daten azyklisch (DPV1) zu schreiben. Dabei verwende ich WRREC. Leider wird mir immer die Fehlermeldung ausgegeben: DF80_B100

Ihc weiß, dass es es sich hierbei um einen Fehler der Datensatzlänge handelt. Allerdings habe ich die exakte Länge unter LEN angegeben. Dabei glaube ich, dass man diesen Eingang nicht beschreiben müsste, weil er eigentlich ausgeblendet ist (mit FUP).
Ich habe mit verschiedenen eingaben versucht, wenn ich in leer lassen bzw. die eigentliche Länge des Datensatzes angeben, dann bekomme ich die oben angegebene Fehlermeldung.

Gebe ich eine größere oder kleinene Zahl ein, dann bekomme ich C080_B100.

Seltsamerweise funktioniert dieser Index aber mit RDREC... Naürlich lese ich nur 0000, da ich nicht drauf schreiben kann, aber mein Status verrät mir, dass es keine Probleme gibt.
Ich arbeite mit dem TIA-Portal V13 und eine S7 1500 PN/DP.

Weiß einer wo das Problem liegen kann? Was sich genau hinter dem Fehler DF80_B100 verbirgt? Was man noch versuchen könnte. Kann es eventuell sein, dass Siemens mal wieder Daten mitversendet, von denen ich nichts weiß? Ich hatte diesen Fall mit TCP. Da hatte Siemens auch 2 Bytes hinzugefügt, in denen die Länge des Dataframes codiert war, was damals dazu geführt hatte, dass mein Slave die Daten nicht lesen konnte.

Vielen Dank und frohe Ostern!
 
WRREC Status DF 80 B1 00: Die Längenangabe im Parameter RECORD ist falsch
Was hast Du an RECORD angegeben? Vielleicht ein einzelnes Byte statt Byte-Array oder Struct?
Wie sieht Dein Aufruf von WRREC aus? *codeschnipsel*


PS: Dein älteres Problem, wo Siemens unverständlicherweise "ohne Dein Wissen" 2 Bytes hinzugefügt hatte: kann es sein, daß Du damals als Sendebereich einen STRING statt Byte-Array oder Struct angegeben hattest? Dann wird wie angegeben ein STRING inkl. der führenden 2 Längenbytes gesendet.

Harald
 
Hallo Zusammen,
ich hänge an dem gleichen Problem mit der Länge des Parameters RECORD. Ich will ein Byte übertragen und habe schon alle möglichen Varianten für die Angabe des Parameters RECORD ausprobiert. Der Fehler bleibt. Hat hier noch jemand eine Idee?

Gruß
Scott
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Scot123
Welche SPS-CPU programmierst Du mit welcher Software und -Version?
In manchen SPS kann man RDREC/WRREC nur für 3 oder 5 oder mehr Byte benutzen, darauf wird in der Beschreibung von RDREC/WRREC ziemlich sicher hingewiesen, also einfach mal da lesen (z.B. Taste F1 drücken). Für 1, 2 oder 4 Byte muß man direkt auf die Peripherieadressen zugreifen (PEB/PEW/PED/PAB/PAW/PAD) Liegen die Peripherieadressen außerhalb der Prozessabbilder PAE/PAA?
EDIT: die Erklärung war quatsch, ich hatte RDREC/WRREC mit DPRD_DAT/DPWR_DAT verwechselt. :oops:

Harald
 
Zuletzt bearbeitet:
Hallo Zusammen,
laut dem Hersteller des Gateways (Fa. Deutschmann), mit dem ich kommunizieren, soll bei der ersten Übertragung 1 Byte gesendet werden.
Ich habe eine 313C mit Step7 V5.7. Wenn ich das richtig im Handbuch lese, schreibe ich auf die Diagnoseadresse, beschrieben als Slot 0, Index 1 Länge 1. Die Peripherieadressen liegen innerhalb des PAE/PAA.
Vielleicht hat auch schon mal jemand mit dem Teil zu tun gehabt. Die Anlage ist ein Temperiergerät der Firma Peter Huber Kältemaschinen AG
 
Zurück
Oben