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

Page 2 of 2 FirstFirst 12
Results 11 to 13 of 13

Thread: Timerbaustein aus einem Taktmerker

  1. #11
    magmaa's Avatar
    magmaa is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    06.04.2007
    Location
    S/A
    Posts
    339
    Danke
    18
    Erhielt 24 Danke für 20 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Funktionieren tut es schon mit dem cpu Taktmerker wollt nur wissen was besser ist CPU Taktmerker eigender Takt mit OB35 oder noch ne andere Lösung die es vieleicht gibt.

  2. #12
    Join Date
    22.03.2007
    Location
    Detmold (im Lipperland)
    Posts
    12,402
    Danke
    422
    Erhielt 2,536 Danke für 2,108 Beiträge

    Default

    Hallo,
    ich habe da (in Anlehnung an den Beitrag von Astralavista) noch einen netten Vorschlag, der aber nicht so ganz ohne ist :

    Du baust dir einen FB, der als Eingangsparameter die Start- und Fertig-Bedingung des Prozesses. Dem FB übergibst du zusätzlich noch die SPS-Systemzeit. Intern legst du bei Start die akt. Systemzeit in einen Speicher. Solange wie Start ansteht und nicht fertig wird der gespeicherte Wert von dem akt. Wert subtrahiert. Die Differenz kannst du als akt. Laufzeit ausgeben und auch mit einem Time-Out-Wert vergleichen, was dann bei Überschreitung wieder ein zusätzliches Bit bringen würde.
    Auf diese Weise lassen sich deine Abläufe recht gut überwachen.

    Ist vielleicht auch noch eine Idee ...

    Gruß
    LL

  3. #13
    Join Date
    11.10.2006
    Location
    Verden (Aller)
    Posts
    560
    Danke
    34
    Erhielt 60 Danke für 51 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Also in etwa so:

    Code:
    FUNCTION "ZeitInt" : VOID
    TITLE =
    //Mit diesem Baustein kann man z.B. die Laufzeit eines Bausteines aufnehmen.
    //Hierzu wären die Aufrufe wie folgt:
    ////Löschen der Speicher  
    //    CALL  "ZeitMess"
    //       Sample      :="VKE0"
    //       Reset       :="VKE1"
    //       ZeitSpeicher:=MD450
    //       LetztZeit   :=MD454
    //
    ////Erster Aufruf zum Messtart
    //      CALL  "ZeitMess"
    //       Sample      :="VKE1"
    //       Reset       :="VKE0"
    //       ZeitSpeicher:=MD450
    //       LetztZeit   :=MD454
    //
    //      CALL  "FB_SPS_COMM" , "DB_SPS_COMM"
    //
    ////Zweiter Aufruf für Messende
    //      CALL  "ZeitMess"
    //       Sample      :="VKE1"
    //       Reset       :="VKE0"
    //       ZeitSpeicher:=MD450
    //       LetztZeit   :=MD454
    //
    //Wird der Baustein ohne Reset Aufgerufen, integriert dieser die Zeit in der 
    //Variablen Zeitspeicher kontinuierlich auf.
    VERSION : 0.0
    
    VAR_INPUT
      Sample : BOOL ; 
      Reset : BOOL ; 
    END_VAR
    VAR_IN_OUT
      ZeitSpeicher : TIME ; 
      LetztZeit : TIME ; 
    END_VAR
    VAR_TEMP
      DateTime : DATE_AND_TIME ; 
      Zeit : TIME_OF_DAY ; 
      SFC_Status : INT ; 
    END_VAR
    BEGIN
    NETWORK
    TITLE =Speicher zurücksetzen
     
          U     #Reset; 
          SPBNB _003; 
          L     0; 
          T     #ZeitSpeicher; 
    _003: NOP   0; 
    NETWORK
    TITLE =Zeitscheibe generieren
          U(    ; 
          CALL "READ_CLK" (
               RET_VAL                  := #SFC_Status,
               CDT                      := #DateTime);
          U     BIE; 
          )     ; 
          SPBNB _014; 
          CALL "DT_TOD" (
               IN                       := #DateTime,
               RET_VAL                  := #Zeit);
    _014: NOP   0; 
    NETWORK
    TITLE =Zeitscheibe addieren
          U     #Sample; 
          SPBN  kzsb; 
          L     #Zeit; 
          L     #LetztZeit; 
          -D    ; 
          L     #ZeitSpeicher; 
          +D    ; 
          T     #ZeitSpeicher; 
    kzsb: L     #Zeit; 
          T     #LetztZeit; 
    END_FUNCTION
    "Ein lahmer Drecksplanet ist das, ich habe nicht das geringste Mitleid" (Prostetnik Vogon Jeltz)

Similar Threads

  1. Step 7 indirekte Ardessierung in einem FB oder aus einem FB
    By CapriSonne:) in forum Simatic
    Replies: 2
    Last Post: 19.03.2018, 11:30
  2. Replies: 3
    Last Post: 02.02.2018, 11:09
  3. S5 Timerbaustein -> welcher in S7 ?
    By joker86 in forum Simatic
    Replies: 6
    Last Post: 06.01.2010, 07:31
  4. Ausgang von einem BK9100 aus einem BC9050 steuern
    By merlin in forum CODESYS und IEC61131
    Replies: 2
    Last Post: 28.09.2008, 10:51
  5. Replies: 5
    Last Post: 22.08.2005, 11:39

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •