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

Ergebnis 1 bis 3 von 3

Thema: 2-Punkt Regler mit Hilfe von Niveaumessung

  1. #1
    Registriert seit
    29.09.2009
    Beiträge
    15
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Abend

    Nach vielen Stunden des Lesen in diesem Forum meld ich mich auch mal zu Wort. Nun ja, eigentlich ist es das 2. mal, vor 5 Monaten eröffnete ich einen Thread und fragte, was dieses Wölkchen sei da oben im Step 7.

    Und als Antwort kam, PLCsim.

    Heute bin ich weiter, auch dank eurer Beiträge.

    Danke dafür.

    So nun zu meiner Frage

    Ich möchte gerne ein Programm erstellen, bzw. habe es schon erstellt und würde euch gerne fragen was ihr davon haltet oder ob man es noch vereinfachen kann.

    Aufgabenstellung:

    Ein Behälter verfügt über einen Einlass, am Einlass sitzt ein Ventil (A0.0).

    Im Behälter befindet sich eine Niveaumessung die mir einen Analogen Wert zur verfügung stellt.

    Aus dem Behälter geht eine Leitung zu einer Maschine, die die Abflussmenge bestimmt, nun schwankt das Niveau im diesem Behälter.

    Meine Aufgabe ist es eine 2_Punkt_Regelung zu programmieren um den Behälter immer auf einem Niveau zu halten (in meinem Fall zwischen 60 und 70%).

    P.S. ich habe kein PEW benutzt weil ich das Programm im PLCsim simuliert habe (deshalb EW).

    Was haltet ihr von dem Programm und was ist verbesserungswürdig bzw. was würdet ihr anders machen?

    Netzwerk 1: Skalierung des Analogwertes

    CALL "SCALE"
    IN :=EW0 // Analogwert
    HI_LIM :=1.000000e+002 // Obergrenze
    LO_LIM :=0.000000e+000 // Untergrrenze
    BIPOLAR:=FALSE
    RET_VAL:=EW20 // Fehlerauswertung
    OUT :=MD10 // Realwert

    L MD 10 // Realwert der Niveaumessung
    RND
    DTB
    BTI
    T MW 20 // Niveaumessung als Integerwert



    Netzwerk 2: Bestimmung der Sollwerte

    L 60 // Sollwert
    T MW 30 // Sollwert tief im Merkerwort 30
    L 70 // Sollwert
    T MW 40 // Sollwerthoch im Merkerwort 40



    Netzwerk 3: Vergleichen der Sollwerte und Schalten des Ventils

    L MW 20 // Istwert Niveaumessung (INT)
    L MW 30 // Sollwert tief im Merkerwort 100
    <I // Vergleich Istwert kleiner als Sollwert
    SPBN NEXT // Springe wenn VKE 0
    S A 0.0 // Einlassventil EIN

    NEXT: L MW 20 // Istwert Niveaumessung (INT)
    L MW 40 // Sollwert hoch im Merkerwort 100
    >I // Vergleiche Istwert grösser als Sollwert
    SPBN END // Springe wenn VKE 0
    R A 0.0 // Einlassventil AUS

    END: NOP 0
    Zitieren Zitieren 2-Punkt Regler mit Hilfe von Niveaumessung  

  2. #2
    Registriert seit
    03.11.2006
    Ort
    Niedersachsen
    Beiträge
    1.126
    Danke
    170
    Erhielt 303 Danke für 259 Beiträge

    Standard

    Das sieht schon ganz gut aus.
    Du weist den Ausgang A0.0 zweimal zu.
    Nimm stattdessen einen Merker
    und verknüpfe dann den Merker mit dem Ausgang.
    Symbolisch adressieren wäre auch nicht schlecht.

    Code:
     
    
     
    Netzwerk 1: Skalierung des Analogwertes
     
    CALL "SCALE"
    IN :=EW0 // Analogwert
    HI_LIM :=1.000000e+002 // Obergrenze
    LO_LIM :=0.000000e+000 // Untergrrenze
    BIPOLAR:=FALSE
    RET_VAL:=EW20 // Fehlerauswertung
    OUT :=MD10 // Realwert
     
    L MD 10 // Realwert der Niveaumessung
    RND 
    DTB  / darauf kannste verzichten
    BTI   / darauf auch
    T MW 20 // Niveaumessung als Integerwert
     
     
     
    Netzwerk 2: Bestimmung der Sollwerte
     
    L 60 // Sollwert
    T MW 30 // Sollwert tief im Merkerwort 30
    L 70 // Sollwert
    T MW 40 // Sollwerthoch im Merkerwort 40
     
     
     
    Netzwerk 3: Vergleichen der Sollwerte und Schalten des Ventils
     
    L MW 20 // Istwert Niveaumessung (INT)
    L MW 30 // Sollwert tief im Merkerwort 100
    <I // Vergleich Istwert kleiner als Sollwert
    SPBN NEXT // Springe wenn VKE 0
    S A 0.0 // Einlassventil EIN
     
    NEXT: L MW 20 // Istwert Niveaumessung (INT)
    L MW 40 // Sollwert hoch im Merkerwort 100
    >I // Vergleiche Istwert grösser als Sollwert
    SPBN END // Springe wenn VKE 0
    R A 0.0 // Einlassventil AUS
     
    END: NOP 0
    Gruß
    crash

    Ich bin nicht bekloppt,
    ich bin verhaltensoriginell!

  3. #3
    Registriert seit
    27.08.2004
    Ort
    Bei Bremen
    Beiträge
    648
    Danke
    11
    Erhielt 12 Danke für 10 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Funktioniert so

    Vorschlag

    direkt als Real vergleichen.

    in KOP sieht es dann etwa so aus

    MD10 | ----- | A0.0
    . | <R | |---|
    60.0 | -----|--------- |S |
    . | |
    . | |
    MD10 |-------|------- | R |
    . | >R | |--|
    70.0 |-------|
    Gruß
    Heinz

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 29.05.2011, 22:59
  2. Antworten: 0
    Letzter Beitrag: 05.11.2008, 09:23
  3. Phoenix S-max PID regler hilfe
    Von christopherf im Forum PHOENIX CONTACT
    Antworten: 3
    Letzter Beitrag: 08.02.2008, 11:46
  4. PID-Regler programmieren - Hilfe
    Von Toddy80 im Forum Programmierstrategien
    Antworten: 9
    Letzter Beitrag: 03.10.2007, 12:04
  5. CP340/Punkt zu Punkt
    Von Anonymous im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 16.03.2005, 09:23

Lesezeichen

Berechtigungen

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