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

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

Thema: Zeitoperation LC aus AWL für SCL

  1. #11
    Registriert seit
    30.03.2005
    Beiträge
    2.096
    Danke
    0
    Erhielt 673 Danke für 541 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    In AWL liefert die Ladefunktion LC T den aktuellen Zeitwert einer Zeitfunktion als BCD-Wert:

    Code:
          LC    T    100
    In SCL liefert der Funktionswert (ZEITWERT_BCD) einer Zeitfunktion (S_ODT) den aktuellen Zeitwert als BCD-Wert:

    Code:
    FUNCTION_BLOCK FB100
     
    NAME    : ZEITFKT
    FAMILY  : SPSFORUM
    AUTHOR  : KAI
    VERSION : '1.0'
     
    VAR_INPUT
        ZEITOPERAND      : TIMER;
        ZEIT_STARTEN     : BOOL;
        ZEITWERT         : S5TIME;
        ZEIT_RUECKSETZEN : BOOL;
    END_VAR
     
    VAR_OUTPUT
        ZEITWERT_BCD  : S5TIME;
        ZEITSTATUS    : BOOL;
        ZEITWERT_DUAL : WORD;
    END_VAR
     
    BEGIN
     
    // Zeitfunktion Einschaltverzoegerung
     
    ZEITWERT_BCD := S_ODT (T_NO := ZEITOPERAND,
                           S    := ZEIT_STARTEN,
                           TV   := ZEITWERT,
                           R    := ZEIT_RUECKSETZEN,
                           Q    := ZEITSTATUS,
                           BI   := ZEITWERT_DUAL);
     
    END_FUNCTION_BLOCK
    Gruß Kai
    Angehängte Grafiken Angehängte Grafiken
    • Dateityp: jpg VAT.jpg (233,8 KB, 12x aufgerufen)
    Angehängte Dateien Angehängte Dateien

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

    lindnerlars (19.11.2008)

  3. #12
    Registriert seit
    28.09.2007
    Ort
    Mexicali
    Beiträge
    39
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Kai,

    vielen Dank schon einmal, ich glaub du hast Recht, so müsste es funktionieren

    Habe gerade im AWL-Handbuch gelesen, dass der Befehl LC den Zeitwert des Timers als S5TIME im BCD-Format lädt.
    (Und ich dachte, dass LC den Timer mit dem Parametertyp TIMER lädt und deswegen was anderes rauskommt...)

    Ok, bis hierhin ganz gut, nun manipuliere ich diesen Zeitwert (sprich Setze ihn DANN auf einen kleinen Wert, wenn ich weiß, DASS der Timer gleich ablaufen wird, da die Timer-Zeiten in S7-PLCSIM, dank Ausrichtung an der tollen Windows-Zeit, nicht stimmen!) und möchte ihn wieder zurück in den Timer schreiben, so dass der Timer mit dem neuen Zeitwert weiterläuft!
    Frage, müsste das mit folgenden Code funktionieren?

    Code:
    FUNCTION_BLOCK FB0
    
        // Timer0
        "currTime" :=  S_ODT (T_NO := T0, S := "Start_Timer0" , TV := "T0M", Q := "Timeout_Timer0");
    
        // "T0M" ist WORD
        // und wird am Ende des SPS-Zyklus von einem externen Programm manipuliert
        "T0M" := "currTime";
        
    END_FUNCTION_BLOCK
    
    ORGANIZATION_BLOCK OB1
    
        FB0.DB0();
    
    END_ORGANIZATION_BLOCK
    
    
    ORGANIZATION_BLOCK OB100
    
    VAR_TEMP
        TimeIn : S5TIME;
        TimeInS AT TimeIn : WORD;
    END_VAR
    
    BEGIN
    
        // Initialisierung von "T0M"
        TimeInS := INT_TO_BCD(REAL_TO_INT((0.01)*1000)) AND W#16#FFF OR W#16#2000;
        "T0M" := TimeIn;
    
    END_ORGANIZATION_BLOCK
    vielen vielen Dank noch mal und noch mal viele Grüße aus dem einzigen Bundesland, das heute frei hat


    PS: und ich Depp tu zu Hause arbeiten

  4. #13
    Registriert seit
    11.10.2006
    Ort
    Verden (Aller)
    Beiträge
    532
    Danke
    31
    Erhielt 58 Danke für 49 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von vierlagig Beitrag anzeigen
    offtopic: hab nur ich z.zt. (auf zwei unterschiedlichen systemen!) das sich englische support-seiten öffnen, wenn man auf die links der suche klickt?
    Nope, darüber habe ich mir heute auch schon den Schädel gekratzt.
    "Ein lahmer Drecksplanet ist das, ich habe nicht das geringste Mitleid" (Prostetnik Vogon Jeltz)

Stichworte

Lesezeichen

Berechtigungen

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