Step 7 Dynamik ( Verzögerung) einbauen

C

chipchap

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, ich bin es wiedermal und brauch nochmal Eure Hilfe. Ich habe folgenden SCL:

FUNCTION_BLOCK Motor
VAR_INPUT
Ue: REAL; (* Erregerspannung in V *)
ML: REAL; (* Lastmoment in Nm *)
END_VAR
VAR_OUTPUT
n: REAL; (* Drehzahl in % *)
END_VAR

IF Ue > 0 THEN
n := 5000 / Ue - 1082 * ML / (Ue * Ue);
ELSE
n := 0.0;
END_IF;
IF n > 100.0 THEN n := 100.0;
ELSIF n < 0.0 THEN n := 0.0;
END_IF;

END_FUNCTION_BLOCK


In diesen SCL soll nun eine Dynamik eingebaut werden mit einem PT1 Verhalten von 5s und einem PT1 Verhalten von 1s.
Soweit auch verstanden und versucht einen SCL hinzubekommen. Wenn ich aber meine Visualisierung teste, dann verändern sich die Werte sofort und nicht mit Verzögerung.
Im Anhang sehr Ihr wie ich die Dynamik in den FB_Motor eingebracht habe.
Vielleicht könnt Ihr mir einen Tip geben was ich falsch gemacht habe, das die Verzögerung nicht wirkt.
Ich habe verschiedene Sachen ausprobiert aber ohne Erfolg. Habe mich auch genau nach den Anweisungen aus den ersten beiden Beispielen gehalten die im LB waren.
Das Problem ist nur, in den ersten beiden war keine IF Anweisung. Das verwirrt mich etwas und weiß nicht genau wie ich es nun machen soll.

MfG
 

Anhänge

  • FB Motor LB7.PNG
    FB Motor LB7.PNG
    23,7 KB · Aufrufe: 47
Moin,

der als angehängte Grafik geschrieben Code ist nicht gleich dem in Deinem Beitrag. Welcher ist denn nun richtig? In Deinem Code fehlen die Static Parameter.

Bitte Deinen Code mal in die Tag's setzen :

Code:
[COLOR=#333333]FUNCTION_BLOCK Motor[/COLOR]
[COLOR=#333333]  VAR_INPUT[/COLOR]
[COLOR=#333333]     Ue: REAL; (* Erregerspannung in V *)[/COLOR]
[COLOR=#333333]     ML: REAL; (* Lastmoment in Nm *)[/COLOR]
[COLOR=#333333]  END_VAR[/COLOR]
[COLOR=#333333]  VAR_OUTPUT[/COLOR]
[COLOR=#333333]     n: REAL; (* Drehzahl in % *)[/COLOR]
[COLOR=#333333]  END_VAR[/COLOR]

[COLOR=#333333]IF Ue > 0 THEN[/COLOR]
[COLOR=#333333]   n := 5000 / Ue - 1082 * ML / (Ue * Ue);[/COLOR]
[COLOR=#333333]ELSE[/COLOR]
[COLOR=#333333]   n := 0.0;[/COLOR]
[COLOR=#333333]END_IF;[/COLOR]
[COLOR=#333333]IF n > 100.0 THEN 
    n := 100.0;[/COLOR]
[COLOR=#333333]ELSIF n < 0.0 THEN 
    n := 0.0;[/COLOR]
[COLOR=#333333]END_IF;[/COLOR]

[COLOR=#333333]END_FUNCTION_BLOCK[/COLOR]


raik
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi.
Ja, doch. Der Anhang ist wir ich es evtl. Machen soll. Das heißt, bei den Übungen kam RUN dazu für den FB ein / auszuschalten. Dann der PT1 Baustein als Verzögerung (2x) und halt dann Xst.
In den Beispielen vorher wurde die Ausgangsvariable zu Xst und am Ende des Scl wird dann der Bausteinausgang dem letzten PT1 zugewiesen.

Was meinst du für Static Parameter. Das hier ist Step 7 mit WinCC Visualisierung.

Und, Sorry wenn ich das so frage, was meinst du mit in Tags setzen?
 
In Tags setzen bedeutet, Du sollst für die bessere Lesbarkeit Deinen Code im Forum in die Tags für Code setzen. Im (Foren)Editor bekommst Du die Tags mit dem Raute-Symbol (#).
Einfach mal Ausprobieren.
 
Und, Sorry wenn ich das so frage, was meinst du mit in Tags setzen?

Wenn du antwortest hast du in der Toolbar, zweite Zeile, letztes Zeichen die Raute, wenn Du Deinen Code damit einschließt, sieht er aus wie meiner.

In Deinem Code fehlen die beiden Zeitbausteine. Die sollten Static sein, damit die aktuellen Werte erhalten bleiben.

Raik

Edit : ich sollte schneller schreiben, der "Unwissende" war schneller :ROFLMAO:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich verstehe das mit dem Static nicht. Das gibt es hier nicht.
Ich kann morgen mal ein Beispiel von den beiden einscannen und hier posten.
Ich denke das ist besser.
Es ist ja schon öfters vorgekommen das diese. schule manche Dinge anders macht wie es heute sein soll.
 
Und was ist nun falsch an der restlichen Programmierung? Sorry, aber ich habe als Beispiele nur diese Variante. Habe eben noch ein erstelltes Projekt kontrolliert und alles nach und nach abgearbeitet.
Aber wie gesagt, die anderen Projekte hatten nicht mehrere Anweisungen mit dem Bausteinausgang. In dem Fall "n".
Da war es recht einfach.
Also denke ich habe ich was verdreht oder falsch eingegeben.
Den SCL hab ich auch schon mehrfach geändert und getestet
 
Das ist auch ein Problem was ich habe.
Habe den Button "RUN" mit in die Visualiesierung gebaut ( schon sehr oft gemacht).
Auch wenn der Button auf FALSE ist dreht der Motor.

Es ist doch eigentlich total simple. Habe aber auch die Probleme das sich das Programm verdammt oft aufhängt.
Ich muss über eine Virtual Box arbeiten. Ob es daran liegt??
 
Bleib bitte bei einem Problem. Erstmal klären wir das mit dem pt1.
Im Aufruf des pt1 ist an dessen RUN-Eingang die Variable RUN verdrahtet. Ersetz die mal durch ein TRUE.

send wia hendi
 
Ich hatte den "RUN" auf "TRUE" gesetzt.

Im Anhang sehr ihr jetzt mal ein Beispiel:

Seite 1 ist der Ausgangspunkt / Seite 2 die geänderte Programmierung. Hier ist halt ein PTt mit dabei.
 

Anhänge

  • Beispiel 10001.jpg
    Beispiel 10001.jpg
    213,1 KB · Aufrufe: 30
  • Beispiel 20001.jpg
    Beispiel 20001.jpg
    542,4 KB · Aufrufe: 31
  • Motor mit PID.PNG
    Motor mit PID.PNG
    14,4 KB · Aufrufe: 24
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen und frohe Weihnachten.

Mein Problem mit der Verzögerung ( Dynamik ) ist behoben, es funktioniert.
Wie so oft hat die Software Probleme gemacht. Ist das normal?? Ich habe nun keinen alten Rechner oder liegt es an der Siemens Software selber?

Schöne Feiertage und einen Guten Rutsch!
 
Zurück
Oben