Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 10 von 10

Thema: Normieren_Skalieren

  1. #1
    Registriert seit
    03.10.2013
    Beiträge
    17
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich möchte gerne mit den Bausteinen Normieren und Skalieren meine Drehzahl so steuern dass sie ab einem gewissen Zählerstand langsam sinkt. Meine Frage ist ob dass so überhaupt möglich ist?
    POSsollbrems ist der Zählwert ab dem gebremst werden soll und auf der POSsoll soll der Motor stehen. MIN und MAX beim Skalierbaustein müssten dann ja vertauscht sein also wäre Min > Max. Funktioniert dass dann überhaupt?
    Das MW24 wird dann in ein AW für den FU kopiert.


    Unbenannt.PNG
    Zitieren Zitieren Normieren_Skalieren  

  2. #2
    Registriert seit
    12.12.2013
    Ort
    Kaiserslautern
    Beiträge
    1.339
    Danke
    388
    Erhielt 219 Danke für 173 Beiträge

    Standard

    Hallo,

    Ich kann die Norm_X Bausteine nicht finden in meine TIA Bibliothek.

    Seht für mir so aus das die aktualerer Wert zwischen min und max skaliert wird.
    Dan würde den zwischenwert genau de max wert sein wen du auf POSsoll bist.

    Der SCALE_X hat in dein Beispiel die gleiche Funktion wie der UNSCALE. Dan kannst du auch direkt auf das PAW schreiben.

    Hab selbst nicht ein positionsregelung gemacht. Ich würde es mit ein PI oder PID Regler versuchen.

    Wenn du der Sollwert erreichst -> Ausgang Null. ->Drehzahl Null.
    Auf das Príncipe dann.

    DVH
    Wenn es nicht auf STRAVA ist, ist es nicht passiert !!

  3. Folgender Benutzer sagt Danke zu de vliegende hollander für den nützlichen Beitrag:

    huisajack (03.02.2014)

  4. #3
    huisajack ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    03.10.2013
    Beiträge
    17
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Der Norm_X Baustein ist bei mir gleich oberhalb des Scale_X Bausteins und der Zwischenwert hat beim Minimum 0.0 und beim Maximum des Norm_x Bausteins 1.0. Ist der Zwischenwert 0 sollte dass MW24 den Wert 27648 haben und bei einem Zwischenwert von 1.0 sollte es 0 sein. Wenn ich MIN und MAX vertausche bin ich mir sicher dass es funktioniert, aber für meine Positionierung bräuchte ich es so wie oben.

  5. #4
    Registriert seit
    25.02.2010
    Beiträge
    618
    Danke
    35
    Erhielt 121 Danke für 110 Beiträge

    Standard

    Hallo
    Für sowas nimmt man normalerweise Rampenbausteine. Hier wird dies beschrieben.
    http://support.automation.siemens.co...47&caller=view

    Grüsse Holger

  6. Folgender Benutzer sagt Danke zu holgermaik für den nützlichen Beitrag:

    huisajack (03.02.2014)

  7. #5
    Registriert seit
    12.12.2013
    Ort
    Kaiserslautern
    Beiträge
    1.339
    Danke
    388
    Erhielt 219 Danke für 173 Beiträge

    Standard

    Hallo,

    Für Sollwerteingabe eines Reglers ist eine Rampe Baustein eine gute Wahl.

    Hast du die Möglichkeit deine Bausteine lebendig zu prüfen auf eine Prüfstand oder direkt auf der Maschine ?

    Was ich jetzt auch sehe.
    Wenn m1.0 = Falsch wird das Merkerword nicht mehr überschrieben.
    Wird die im weitere Verarbeitung mit zum Beispiel not Aus noch mit Null überschrieben ?

    DVH
    Wenn es nicht auf STRAVA ist, ist es nicht passiert !!

  8. #6
    Registriert seit
    24.04.2013
    Beiträge
    309
    Danke
    23
    Erhielt 160 Danke für 88 Beiträge

    Standard

    Zitat Zitat von de vliegende hollander Beitrag anzeigen
    Hallo,

    Ich kann die Norm_X Bausteine nicht finden in meine TIA Bibliothek.

    ...

    Der SCALE_X hat in dein Beispiel die gleiche Funktion wie der UNSCALE. Dan kannst du auch direkt auf das PAW schreiben.

    DVH

    Hi

    die beiden gibt es nur auf 1200 und 1500

    PAW sollte man nur verwenden wenn es draußen schneller klappern soll als Zykluszeit. Eigentlich nie

    'n schön' Tach auch
    HB

  9. #7
    Registriert seit
    12.12.2013
    Ort
    Kaiserslautern
    Beiträge
    1.339
    Danke
    388
    Erhielt 219 Danke für 173 Beiträge

    Standard

    die beiden gibt es nur auf 1200 und 1500
    Hab nicht gewusst das es da unterschieden gibt.

    Wir arbeiten nicht mit der 1200 und 1500 Baureihe.

    Was meinst du eigentlich mir schneller klappern als Zykluszeit Hellebarde ?

    DVH
    Wenn es nicht auf STRAVA ist, ist es nicht passiert !!

  10. #8
    Registriert seit
    24.04.2013
    Beiträge
    309
    Danke
    23
    Erhielt 160 Danke für 88 Beiträge

    Standard

    Hi

    normalerweise (was ist schon normal? -- wer will denn schon normal sein? -- ich verzettel ich, nochmal von vorne)

    Ein SPS Programm lebt von der Endlosschleife. Eingänge lesen, Verarbeiten, Ausgänge schreiben und von vorne. Die reine Lehre sagt, dass man nicht auf Eingänge schreibt und jeder Ausgang nur einmal im Programm beschrieben wird. Um zu sehen, wie schnell die CPU niemals wird, schreibt man ein Programm
    Code:
    A0.0 := not( E0.0 )
    und verbindet A0.0 mit E0.0. Dann kann man am Oszilloskop sehen wie viel Zeit das Betriebssystem mit sich selbst verbringt. Das ist damit auch die minimale Zykluszeit für den freilaufenden OB1.

    Wenn man nun Ausgänge mit Relais hat, dann hört man die ganz deutlich klappern. Sollte die Zykluszeit unter die Schaltzeit des Relais kommen, dann tut das dem Relais gar nicht gut. Und hängt an dem Relais noch ein Schütz unter Last, dann sind dessen Kontakte auch bald abgebrannt.

    Da man aber im praktischen Leben mit dem Grundsatz "jeden Ausgang nur ein mal schreiben" selten klar kommt, schreibt man eben doch mehrmals auf einen Ausgang. Das stört in den seltensten Fällen, dann A0.0 ist ja gar nicht wirklich der Ausgang. A0.0 ist nur irgend ein Speicher, der, so es in HWCN eingestellt, erst am Zyklusende auf ein Modul kopiert wird und damit das Relais betätigt.

    Wenn du jedoch auf PAB0 schreibst, so dauert das um Faktoren länger, denn nun wird tatsächlich sofort das Byte auf die echten Ausgänge geschrieben. Kopieren aus dem Speicher auf die Peripherie macht einen beträchtlichen Teil der Zeit aus, die die CPU außerhalb deines Programmes verbringt. Die ziehst du damit mehrfach in das Programm rein. Aber dafür klappern die Relais jetzt noch hektischer.

    Schau dir
    Code:
    PAB0 := 16#FF
    PAB0 := 0
    PAB0 := 16#FF
    PAB0 := 0
    PAB0 := 16#FF
    PAB0 := 0
    mal auf einem Oszi an.

    Bei der 1200/1500 muss man übrigens in der Tagtable ein Signal für AB0 definieren um dann mittels "signalname":P auf den Ausgang zu ballern.

    'n schön' Tach auch
    HB

  11. #9
    Registriert seit
    14.11.2008
    Beiträge
    66
    Danke
    3
    Erhielt 6 Danke für 6 Beiträge

    Standard

    zu Rampe: die hier gezeigten können leider nicht auf ein bestimmtes POSsoll bremsen, sondern nur auf ein Vsoll.

    Ob Min>Max funktioniert, weiß ich nicht. Bei einer selbstgeschriebenen Skalierfunktion kann es funktionieren

    Ich kann jederzeit, so oft ich will, direkt auf Ausgänge schreiben und sehe das nicht als Fehler (abgesehen von Ineffizienz). Davon klappern keine Relais, es sei denn, das ist so gefordert. Warum? Weil ich globale Variablen und Ausgänge nicht für _Zwischenergebnisse_ benutze, wenn sie da nicht hingehören. Nur das wäre der eigentliche Fehler.

  12. #10
    Registriert seit
    29.10.2008
    Beiträge
    160
    Danke
    28
    Erhielt 28 Danke für 18 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Versuch mal so:
    Code:
        #RESTWEG_ABS:= ABS(#Zielpos - #Istpos);
        #SPEED_TEMP:= #V_max * SQRT(#RESTWEG_ABS/#Bremsweg);
    
    
        IF #SPEED_TEMP > #V_max THEN
            #SPEED_TEMP:= #V_max;
        END_IF;
        
        IF #SPEED_TEMP < #V_min THEN
            #SPEED_TEMP:= #V_min;
        END_IF;
            
        IF #RESTWEG_ABS > #Toleranz_Ziel THEN    
            #SPEED_OUT:= #SPEED_TEMP;
        ELSIF #RESTWEG_ABS <= #Toleranz_Ziel THEN
            #SPEED_OUT:= 0.0;    
        END_IF;
    Geändert von vita-2002 (16.02.2014 um 21:16 Uhr)

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •