Willi Wusel
Level-2
- Beiträge
- 65
- Reaktionspunkte
- 18
-> Hier kostenlos registrieren
Hallo Forumsgemeinde...
sitze gerade vor einem Problem mit der Funktion DPRD-DAT bzw DPWR-DAT.
Eingesetzt wird TIA-Portal V14 Update 1
An einer CPU1511-1 PN sind über Profinet mehrere FU's von SEW angeschlossen. Das lesen und schreiben der Prozesseingangs- und -ausgangsdaten (Statuswort, Istdrehzahl..., Steuerwort, Solldrehzahl usw.) der FU's erfolgt im Ansteuerbaustein über die Funktionen DPRD-DAT und DPWR-DAT. Bei allen FUs (Movitrac MC07B) funktioniert dies einwandfrei, nur bei einen FU (Movidrive MDX61B mit Technologiefunktion Erweiterte Buspositionierung) werden von der SPS die PDs vom FU nicht richtig ausgelesen. Der FU ist in der Hardware-Konfig mit je 6 Prozessdatenworten für Eingangs- und Ausgangsdaten parametriert (PE1 = Statuswort, PE2/3 = Istposition High/Low, PE4 = Istgeschwindigkeit, PE5 = Wirkstrom, PE6 = Geräteauslastung).
Im Ansteuerbaustein in der SPS werden die 6 PDs über DPRD gelesen und in den Temp-Bereich des FBs geschrieben. LADDR (HW-Kennung) ist über die Systemvariable des Slots in der HW-Konfig eingetragen. Am RECORD ist ein Struct im Temp-Bereich des FBs eingetragen, diese Struct entspricht den 6 PDs . Wenn ich online in den Baustein reinschaue sehe ich das der DPRD keinen Fehler meldet (RetVal ist 0). Das erste PD mit dem Statuswort wird aber anscheinend nicht gelesen da in diesem Wort alle Bits 0 sind. Komischerweise steht aber in PD2/PD3 die richtige Istposition drin. Das gleiche Verhalten habe ich wenn ich den Temp-Struct auf einen Struct im Stat-Bereich des FBs ändere. Wenn ich übers MotionStudio in die Busdiagnose oder über das Applikationstool zur Buspositionierung reinschaue wird mir das Statuswort im FU richtig angezeigt. Ein ähnliches Verhalten habe ich bei der DPWR. Die Ausgangsdaten der SPS werden nicht richtig zum FU geschrieben.
Habe das einlesen/schreiben der PDs dann alternativ auf lesen/schreiben der EA-Adressen umprogrammiert (über Lade/Transferbefehle der einzelnen EW in die Variablen des Struct) - nun stehen die Informationen des FUs richtig in den Struct-Variablen.
Warum funktioniert die DPRD/DPWR bei den Movitracs bei dem Movidrive jedoch nicht, hat jemand vielleicht schon mal sowas gehabt?
Grüße...
sitze gerade vor einem Problem mit der Funktion DPRD-DAT bzw DPWR-DAT.
Eingesetzt wird TIA-Portal V14 Update 1
An einer CPU1511-1 PN sind über Profinet mehrere FU's von SEW angeschlossen. Das lesen und schreiben der Prozesseingangs- und -ausgangsdaten (Statuswort, Istdrehzahl..., Steuerwort, Solldrehzahl usw.) der FU's erfolgt im Ansteuerbaustein über die Funktionen DPRD-DAT und DPWR-DAT. Bei allen FUs (Movitrac MC07B) funktioniert dies einwandfrei, nur bei einen FU (Movidrive MDX61B mit Technologiefunktion Erweiterte Buspositionierung) werden von der SPS die PDs vom FU nicht richtig ausgelesen. Der FU ist in der Hardware-Konfig mit je 6 Prozessdatenworten für Eingangs- und Ausgangsdaten parametriert (PE1 = Statuswort, PE2/3 = Istposition High/Low, PE4 = Istgeschwindigkeit, PE5 = Wirkstrom, PE6 = Geräteauslastung).
Im Ansteuerbaustein in der SPS werden die 6 PDs über DPRD gelesen und in den Temp-Bereich des FBs geschrieben. LADDR (HW-Kennung) ist über die Systemvariable des Slots in der HW-Konfig eingetragen. Am RECORD ist ein Struct im Temp-Bereich des FBs eingetragen, diese Struct entspricht den 6 PDs . Wenn ich online in den Baustein reinschaue sehe ich das der DPRD keinen Fehler meldet (RetVal ist 0). Das erste PD mit dem Statuswort wird aber anscheinend nicht gelesen da in diesem Wort alle Bits 0 sind. Komischerweise steht aber in PD2/PD3 die richtige Istposition drin. Das gleiche Verhalten habe ich wenn ich den Temp-Struct auf einen Struct im Stat-Bereich des FBs ändere. Wenn ich übers MotionStudio in die Busdiagnose oder über das Applikationstool zur Buspositionierung reinschaue wird mir das Statuswort im FU richtig angezeigt. Ein ähnliches Verhalten habe ich bei der DPWR. Die Ausgangsdaten der SPS werden nicht richtig zum FU geschrieben.
Habe das einlesen/schreiben der PDs dann alternativ auf lesen/schreiben der EA-Adressen umprogrammiert (über Lade/Transferbefehle der einzelnen EW in die Variablen des Struct) - nun stehen die Informationen des FUs richtig in den Struct-Variablen.
Warum funktioniert die DPRD/DPWR bei den Movitracs bei dem Movidrive jedoch nicht, hat jemand vielleicht schon mal sowas gehabt?
Grüße...