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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 17 von 17

Thema: Counter mit If anweisung in AWLfür PWM - Probleme

  1. #11
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.263
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Das was ich sehe macht:

    1. im OB 100 PAB124+125 zu Null
    2. im OB1 PAB 124+125 zu Db1.DBB37+DBB38

    Wie siehst du, dass die PAB Null werden, das geht viel zu schnell.
    Wo bringst du DB1.DBB37+38 auf Null?
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  2. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    murmelkopf2 (16.01.2015)

  3. #12
    murmelkopf2 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    07.01.2015
    Beiträge
    9
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich weiß Nicht wie ich denn die Werte im DB noch anders auf 0 setzen soll
    bei
    L 0
    T "ProzessDaten".relais_1

    Gibt er mir Syntax fehler genauso wenn ich mit = 0 etwas zuweisen will

    Edit:
    Super vielen Dank mit dem Tipp: DBB
    L 0
    T DB1.DBB 37
    L 0
    T DB1.DBB 164
    Läuft jetzt

    Ich hatte auch folgendes Versucht. Warscheinlich lag es an dem fehlenden Leerzeichen
    L 0
    T DB1.DBX37.0
    Geändert von murmelkopf2 (16.01.2015 um 23:31 Uhr)

  4. #13
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.367
    Danke
    457
    Erhielt 696 Danke für 521 Beiträge

    Standard

    "ProzessDaten".relais_1 Ist ja auch ein Bit.

    Du sollst DB1.DBB 37 und DB1.DBB 38 auf 0 setzen.
    Schließlich ist es ja das was du in jedem OB1-Zyklus auf PAB124/125 und somit auch auf die Ausgänge A124.0-6 oder "ProzessDaten".relais_1-7 drüberschreibst.

    Es hat keinen Sinn "ProzessDaten".relais_1-7 zu beeinflussen wenn du danach mit...
    L DB1.DBB37
    T PAB124
    wieder drüberschreibst. Da kannst du dich noch so verbiegen.

    Nachdem du also im OB100 -- DB1.DBB37 und DB1.DBB38 erfolgreich auf 0 gesetzt hast, musst du auch noch dafür sorgen dass sie danach nicht gleich im OB1 wieder mit frischen Werten überschrieben werden. Irgendwoher müssen ja die Werte für DB1.DBB37/38 ja wohl kommen.
    Geändert von RONIN (16.01.2015 um 23:39 Uhr)
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  5. #14
    murmelkopf2 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    07.01.2015
    Beiträge
    9
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard

    vielen dank hab die Lösung gefunden.
    Ich dachte mit R "Porzessdaten".realis_1 schreibe ich den Wert 0 in den DB. an der Stelle 37.0
    Dem scheint wohl nicht so zu sein.

    Zu deiner Frage wo die Werte Herkommen:
    Die Werte kommen vom einem Simatic Panel Touch. Der schreibt einfach den Wert in den Datenbaustein, wenn ich den Button dazu anklicke.

  6. #15
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.367
    Danke
    457
    Erhielt 696 Danke für 521 Beiträge

    Standard

    Zitat Zitat von murmelkopf2 Beitrag anzeigen
    R "Porzessdaten".realis_1 schreibe ich den Wert 0 in den DB. an der Stelle 37.0
    Dem scheint wohl nicht so zu sein.
    HEUREKA!! Langsam lüften sich die Rätsel...
    Langsam graut mir dein Datenbaustein-Aufbau.
    "Porzessdaten".realis_1..7 liegt im Datenbaustein als Bit deklariert an Addresse 37.0 aufwärts.
    Deshalb willst du gleich das ganze Byte37 auf das PAB übertragen.

    Da du uns den Zusammenhang zwischen deine Symbolen und Adressen aber bis jetzt nicht wirklich verraten hast konnte man nur raten.

    Dann hast du im Endeffekt im OB100 auch alles richtig gemacht.
    Code:
    CLR 
     R "ProzessDaten".relais_1
     R "ProzessDaten".relais_2
     R "ProzessDaten".relais_3
     R "ProzessDaten".relais_4
     R "ProzessDaten".relais_5
     R "ProzessDaten".relais_6
     R "ProzessDaten".relais_7
     R "ProzessDaten".var1
    Ist bis auf den Fehler mit dem CLR ja dasselbe wie
    Code:
    L 0
     T db1.dbb37
    Nur musst du Wissen dass CLR das Verknüfungsergebnis auf 0 setzt. Die Reset-Befehle tun also nichts
    Richtig wäre entweder:
    Code:
    
    SET                      //Setze Verknüpfungsergebnis auf 1
    R "ProzessDaten".relais_1  //Rücksetze
    
    oder
    
    CLR                     //Setze Verknüpfungsergebnis auf 0
    = "ProzessDaten".relais_1        //Zuweisung
    Geändert von RONIN (17.01.2015 um 10:43 Uhr)
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  7. Folgender Benutzer sagt Danke zu RONIN für den nützlichen Beitrag:

    murmelkopf2 (17.01.2015)

  8. #16
    murmelkopf2 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    07.01.2015
    Beiträge
    9
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Genauso siehts aus

    Danke für die Erklärung mit dem Set R und CLR das war mit nicht klar wie genau das zu verwenden ist.

  9. #17
    murmelkopf2 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    07.01.2015
    Beiträge
    9
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Nun nochmal eine Komplexere Frage:
    Gibt es die möglichkeit auf meiner SPS s7 314 eine Temperaturregelung mit 2 Stellgliedern zu implementieren ?
    Ich habe einen Klimaschrank mit Kühlkompressor und Heizspirale.
    Wobei der Kompressor nur eingeschaltet bzw ausgeschaltet werden kann. Sehr langsame schaltzeiten, sodass nicht an PWM zu denken ist.
    Die Heizspirale kann ich mit einem PWM Signal steuern.

    Nun hab ich schon gelesen, dass es 2 PID regelungen gibt ( FB 58 FB 59) allerdings können diese nur ein Stellglied verarbeiten.
    Die Regelstrecke für Heizen als auch Kühlen ist bekannt.

    Leider komme ich hier mit einem 2Punkt Regler nicht sehr weit, da beide Stellglieder sehr träge sind und noch langezeit nachheizen, bzw nachkühlen.

    Hat hier noch jemand einen Tipp für mich ?

Ähnliche Themen

  1. TIA IF Anweisung mit BOOL Variable aus DB - ERROR
    Von CaptainB im Forum Simatic
    Antworten: 19
    Letzter Beitrag: 07.03.2014, 11:32
  2. Sonstiges Counter mit beliebigem Wert zum Inkrementieren
    Von GBat im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 15.07.2013, 08:18
  3. Lüfterregelung mit PWM
    Von slk230-power im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 28.11.2010, 15:46
  4. Probleme mit PWM und Vipa 114
    Von Moppel im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 01.12.2008, 12:35
  5. PWM mit S7/314
    Von noeppkes im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 31.10.2006, 12:16

Lesezeichen

Berechtigungen

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