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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: Awl

  1. #1
    Registriert seit
    28.10.2008
    Beiträge
    38
    Danke
    38
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo

    kann mir jemand helfen, ich verstehe nicht so ganz diesen Abschnitt:

    A817: L #WINCC.Sollwert_Wartung
    L 0.000000e+000
    >R
    L #Istwert_Restzeit_Wartung
    L L#0
    = L 38.2
    ==D
    U L 38.2
    SPBN A819
    SET
    = #Wartung_aktiv

    So verstehe ich es:
    Punkt1: Sollwert wird auf 0 verglichen (>R)
    Punkt2: Restzeit wird auf 0 gesetzt und L 38.2 gesetzt
    Punkt3: Punkt1 und 2 werden miteinander verglichen (==)
    Punkt4: Falls es 1 ist und L38.2(ist sowieso immer auf 1) auch auf 1 ist,
    wird wartung_aktiv gesetzt.

    ich glaube es passt aber nicht so ganz hin.

    Kann jemand was dazu sagen.
    danke
    waldi
    Zitieren Zitieren Awl  

  2. #2
    Registriert seit
    11.05.2005
    Ort
    Baden-Württemberg
    Beiträge
    669
    Danke
    113
    Erhielt 153 Danke für 124 Beiträge

    Standard

    Moin,

    Zitat Zitat von Waldi_März Beitrag anzeigen
    Hallo

    So verstehe ich es:
    Punkt1: Sollwert wird auf 0 verglichen (>R)
    Punkt2: Restzeit wird auf 0 gesetzt und L 38.2 gesetzt
    Punkt3: Punkt1 und 2 werden miteinander verglichen (==)
    Punkt4: Falls es 1 ist und L38.2(ist sowieso immer auf 1) auch auf 1 ist,
    wird wartung_aktiv gesetzt.

    ich glaube es passt aber nicht so ganz hin.

    Kann jemand was dazu sagen.
    danke
    waldi
    Punkt 1: korrekt
    Punkt 2: falsch, L38.2 wird auf 1 gesetzt, wenn Sollwert >0
    Punkt 3: falsch, Restzeit wird mit 0 verglichen
    Punkt 4: wenn die Restzeit =0 und Sollwert >0 sind wird "Wartung aktiv" gesetzt !? - Blick den Sinn net wirklich...

    Gruß Micha
    "arbeite klug, nicht hart" - deutsches Sprichwort

  3. Folgender Benutzer sagt Danke zu SPSKILLER für den nützlichen Beitrag:

    Waldi_März (17.11.2008)

  4. #3
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    das sieht mir irgendwie so aus, als hätte da einer in SCL geproggt und die quellen weggeschmissen
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  5. #4
    Registriert seit
    08.04.2008
    Ort
    Köln
    Beiträge
    844
    Danke
    39
    Erhielt 244 Danke für 199 Beiträge

    Standard

    Hallo Waldi,

    der Code ist ein wenig unübersichtlich. Ich sehe das so:
    Code:
    // Sollwert parametriert?
    A817: L     #WINCC.Sollwert_Wartung
    L     0.000000e+000
          >R    
          =     L     38.2
    
    // Restzeit bis zur Wartung abgelaufen und Sollwert vorhanden?
    // Dann Wartung aktiv setzen.
           L     #Istwert_Restzeit_Wartung
          L     L#0
          ==D   
          U     L     38.2
          SPBN  A819
          SET   
          =     #Wartung_aktiv
    Grüße
    Gebs

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

    Waldi_März (17.11.2008)

  7. #5
    Registriert seit
    29.09.2008
    Ort
    Land der Frühaufsteher
    Beiträge
    104
    Danke
    6
    Erhielt 22 Danke für 21 Beiträge

    Standard

    Hallo Waldi,


    A817: L #WINCC.Sollwert_Wartung
    L 0.000000e+000
    >R
    Hier muss sicher =L 38.2 rein
    L #Istwert_Restzeit_Wartung
    L L#0
    Die Zeile ist hier falsch
    = L 38.2
    ==D
    U L 38.2
    SPBN A819
    SET
    = #Wartung_aktiv
    Dann sollte es passen.

    MfG
    FrankW

  8. Folgender Benutzer sagt Danke zu FrankW für den nützlichen Beitrag:

    Waldi_März (17.11.2008)

  9. #6
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    meine vermutung ist richtig, habe es gerade probiert,

    aus:

    Code:
    *
    IF (Sollwert_Wartung > 0 AND Istwert_Restzeit_Wartung = 0)
       THEN Wartung_aktiv := TRUE;
    END_IF;
    wird:

    Code:
    *
          L     #Sollwert_Wartung
          L     0.000000e+000
          >R    
          L     #Istwert_Restzeit_Wartung
          L     L#0
          =     L      8.3
          ==D   
          U     L      8.3
          SPBN  A7d0
          SET   
          =     #Wartung_aktiv
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  10. Folgender Benutzer sagt Danke zu vierlagig für den nützlichen Beitrag:

    Waldi_März (17.11.2008)

  11. #7
    Registriert seit
    01.10.2007
    Ort
    Waiblingen
    Beiträge
    3.317
    Danke
    767
    Erhielt 536 Danke für 419 Beiträge

    Standard

    Code:
    A817: L #WINCC.Sollwert_Wartung
    L 0.000000e+000
    >R 
    L #Istwert_Restzeit_Wartung
    L L#0
    = L 38.2
    ==D 
    U L 38.2
    SPBN A819
    SET 
    = #Wartung_aktiv
    ist ein wenig unkonventionell geschrieben. Ich hab mal die Befehle in eine Sinnvollere Reihenfolge gebracht und kommentiert:
    Code:
    A817: L #WINCC.Sollwert_Wartung
    L 0.000000e+000
    >R 
    = L 38.2 // wenn Sollwert größer Null, wird Lokaldatenbit gesetzt
    L #Istwert_Restzeit_Wartung
    L L#0
    ==D // wenn Restzeit gleich null
    U L 38.2 // und Sollwert größer Null
    SPBN A819 // dann überspringe nicht
    SET // VKE setzen (redundanter Befehl, da nach SPBN sowieso 1)
    = #Wartung_aktiv // und zuweisen (bewirkt ein setzen in Verbundung mit dem SPBN)
    @4L ja, das ist irgend ein kompiliertes Zeug ...


    (und ich schreib deutlich zu langsam)

  12. Folgender Benutzer sagt Danke zu Perfektionist für den nützlichen Beitrag:

    Waldi_März (17.11.2008)

  13. #8
    Registriert seit
    11.05.2005
    Ort
    Baden-Württemberg
    Beiträge
    669
    Danke
    113
    Erhielt 153 Danke für 124 Beiträge

    Standard

    wenn die Restzeit die Zeit bis zur Wartung ist, so wie Gebs geschrieben hat, macht das Sinn...
    Habe das irgendwie als abgelaufene Zeit der Wartung gesehen.
    Die Symbolik ist Schrott.
    "arbeite klug, nicht hart" - deutsches Sprichwort

  14. #9
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.733
    Danke
    317
    Erhielt 1.522 Danke für 1.283 Beiträge

    Standard

    @Vielagig
    Falsch, ich sehe hier kein ==D ... , jedenfalls nicht an der Stelle wo es in deinem Code sein sollte.

    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  15. #10
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von MSB Beitrag anzeigen
    @Vielagig
    Falsch, ich sehe hier kein ==D ... , jedenfalls nicht an der Stelle wo es in deinem Code sein sollte.

    ... im ausgangscode ist ein ==D ... vielleicht solltest du beim test den richtigen variablentyp benutzen: DINT nicht INT oder REAL

    Code:
    *
    FUNCTION FC126 : void
    VAR_TEMP
        Sollwert_Wartung:REAL;// temporäre Variablen
        Istwert_Restzeit_Wartung:DINT;
        Wartung_aktiv:BOOL;
    END_VAR
    
        IF (Sollwert_Wartung > 0 AND Istwert_Restzeit_Wartung = 0)
            THEN Wartung_aktiv := TRUE;
        END_IF;
        
    END_FUNCTION
    wird zu:

    Code:
    *
          SET   
          SAVE  
          =     L      8.2
          L     #Sollwert_Wartung
          L     0.000000e+000
          >R    
          L     #Istwert_Restzeit_Wartung
          L     L#0
          =     L      8.3
          ==D   
          U     L      8.3
          SPBN  A7d0
          SET   
          =     #Wartung_aktiv
    A7d0: CLR   
          U     L      8.2
          SAVE  
          BE
    Geändert von vierlagig (17.11.2008 um 10:59 Uhr)
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

Lesezeichen

Berechtigungen

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