Lenze FU und CPU414 2DP

PapaLeo

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

ich brauche dringend einen Rat von euch Experten.
Der Lenze FU 8210 hängt an einem Profibus DP und kommuniziert mit einer 414 2DPCPU.
Im SPS Programm, zum ansteuern des Motors habe ich das Beispielprogramm von Lenze genutzt. Alles funktioniert super aber nur auf dreihunderte CPU, der Motor dreht sich. Sobald ich das Programm mit der gleichen Hardwarekonfiguration in vierhunderte übertrage, dreht sich der Motor nicht mehr. Es scheint dann so, als ob der gebremst wird. Ich konnte feststellen, dass der Sollwert(Drehzahl des Motors) nur ganz kurz als Status vom Motor zurückkommt und dann geht wieder auf Null. Da ich dachte , dass der Wert überschrieben wird, habe ich schon mal versucht die Adressen für PAW und PEW in Hardwarekonfig. und im Programm zu ändern, bringt nichts. Kein Fehler auf dem BUS, leuchtet alles grün auf der CPU.
Was soll ich machen, was kann es sonst noch sein?!
 

Anhänge

  • Beschreibung_S7_Beispielprojekt_V1_2.pdf
    300,4 KB · Aufrufe: 18
  • HWK 414 2DP.jpg
    HWK 414 2DP.jpg
    82,5 KB · Aufrufe: 46
Zuletzt bearbeitet:
Hai Paps,

ich würde an dieser stelle mal das Lenze-Beispiel aus den 400er Projekten mit meinem Programm vergleichen.

Wenn das Programm auf einer 3xx läuft aber auf der 4xx nicht könnte das auf die Datenübertragung hindeuten.

Lenze scheint an die Peripherieworte zu gehen (PAE / PAA).
Nun wäre es einen versoch wert den FU aus dem Prozessabbild in die Peripherie zu legen ( siehe Deine CPU-Einstellung)

viel vergnügen wünsch dtsclipper
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke erstmal für deine Antwort!
Was meinst du aber mit ".. Fu scheint auf die Pereferieworte zu gehen"?
Kannnst du bitte etwas genauer erklären , was ich so machen soll.
 
Erst mal einen guten morgen...

OK, ich versuchs mal zu erklären...

Eine CPU hat einen Ein- bzw- Ausgangsbereich von je nach Typ z.B. 256Byte oder 1024 BYte usw.

Dieser bereich gliedert sich in das Prozessabbild der Eingänge / Ausgänge ( PAE / PAA ) und die Peripherie.

Die Größe des Prozessabbildes kann bei vielen CPUs eingestellt werden.
Die Daten von PAE werden zyklisch vor dem Start des OB1 eigelesen und können direlkt verwurstet werden.

Periphere Daten hingegen müssen extra geladen werden, und zwar dann wenn man sie braucht.

Der Befehl lautet dann
L PEB bzw. PEW oder auch PED, die Ausgänge werden mit
T PEB bzw. PEW oder auch PED direkt transferiert.

ICh vermute einfach das Dein FU im moment bei Byte 256 / 320 im PAE liegt und da gehört er lt. Beschreibung Seite 7 nicht hin, da steht Peripherie.

Bei rückfragen einfach weiterfragen dtsclipper
 
Guten Tag!
Danke für deine Bemühungen!
Du meinst ich sollte einfach die Adressen PAW/PEW ändern, d.h. zBsp auf PEW 780/PAW780, oder ?
Was soll ich genau machen in meinem Programm um herauszufinden , wo der Sollwert überschrieben wird? Oder was soll ich überhaupt einstellen, damit dies nicht mehr passiert?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Änder erst mal die Adressen.

Dann, wenn es immer noch nicht geht, also der Sollwert Überschrieben wird,

Das Programm im OB1 schrittweise kürzen bis nur noch der FU angesteuert wird.
Also Baustein für Baustein nicht mehr aufrufen bis der Fehler weg ist.
Der letzte Baustein war dann schuld...

Auf dem Sprung ins Wochenende dtsclipper.
 
Ja , Danke nochmal!
Aber das alles habe ich bereits ausprobiert. Adressbereich von 320 auf 520 geändert. Läuft nicht. Dann habe ich im OB1 eine nach der anderen Funktionen auskommentiert bzw. BEA, dann lief er. Nur dann als ich die Funktionen, die nicht daran beteilig waren wieder in das Progeramm reinnehemmn wollte lief das Biest nicht mehr. Danach habe ich alles auskommentiert und nur die Funktionen zur Ansteuerung vom FU drin gelassen, funktuionierte der nachher gar nicht mehr. Ich habe die Vermutung, dass es an Konvertierung des Programms von S5 auf S7 liegt. Im Programm werden diese Adressen nirgendwo mehr verwendet, ich verstehe es einfach nicht. Wie kommt es zum überschreiben von dem Sollwert?
Tut mir leid, dass ich das vorher nicht erwähnt habe
 
Stimmt, wäre wichtig gewesen.

Nun gut, nächste Theorie...

Versuch mal den beschriebenen Zustand mit funktionierendem FU wieder herzustellen.

Dann progressiv den rest des Programms zuschalten und Step für Step durchkontrollieren.

Der sollwert kann ja nur per Befehl überschrieben werden, und der sollte sich doch irgendwo finden lassen.
Wenn er allerdings relativ Adressiert ist, dann viel vergnügen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich werde weiter versuchen. Nun habe ich leider nicht mehr so viel Zeit, darum werde ich zuerst einfach mit drei festen Frequenzen Arbeiten, ohne Kommunikation über Profibus DP.
Danke für deine Vorschläge, sehr hilfreich!Auf Wiederhören.
 
Hallo,
werden in den Bausteinen zur FU-Ansteuerung irgendwelche Schmiermerker verwendet, die aus S5 über geblieben sind und dann irgendwo in deinem Programm andersweitig verwendet werden?
Liest/Schreibst du den Peripheriebereich des FU konsistent?
Thomas
 
Zurück
Oben