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

Ergebnis 1 bis 6 von 6

Thema: Variable für Zeitbaustein

  1. #1
    Registriert seit
    04.08.2006
    Beiträge
    107
    Danke
    58
    Erhielt 2 Danke für 2 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hey Leute!

    Ich hab zwei Fragen:

    1. Kann man einen Zeitbaustein auch als temporäre Variable in einem FC programmieren?
    Ich habe einen FC geschrieben, den ich in verschiedenen Programmen einsetzten will. Alles läuft mit Variablen. Bloß die Zeitbausteine bekomm ich nicht als Variable hin. Das wäre aber sehr praktisch, weil ich ja sonst immer darauf achten müsste, ob die entsprechenden Zeitbausteine schon benutzt sind.

    2. Wie kann ich z.B. ein Eingangswort dauerhaft speichern? ich habs mit dem DB versucht, aber sobald die Eingänge nicht mehr "EIN" sind, wird auch der Wert im DB zurückgesetzt. Das Einganswort soll mit einem bestimmten Takt immer wieder eingelesen werden, und so lange, das Taktsignal nicht kommt, im DB gespeichert bleiben. Ist das möglich?

    Vielen dank schonmal im Vorraus für eure Antworten!!!

    Gruß
    Johannes
    Zitieren Zitieren Variable für Zeitbaustein  

  2. #2
    Registriert seit
    02.08.2006
    Beiträge
    166
    Danke
    11
    Erhielt 10 Danke für 9 Beiträge

    Standard

    hallo jupp06

    zu zweitens fällt mir da nur folgendes ein

    Code:
          U     E      1.0              # dein eingang den du speichern willst
          U     M      1.1             #hier musst du deinen taktmerker eingeben
          S     DB100.DBX    1.1   #hier setzt du das bit in den DB
          UN    E      1.0           
          U     M      1.1
          R     DB100.DBX    1.1   #hier wird es zurück gesetzt wenn der eingang beim takt nicht da ist
    aber wozu das ganze in ein DB schreiben

    Code:
          U     E      1.0              
          U     M      1.1             
          S     M      2.0   
          UN    E      1.0           
          U     M      1.1
          R     M      2.0
    so setzt du das bit in einen merker und musst nicht über den DB gehen

    hoffe dir dabei etwas geholfen zu haben

    gruß benny

  3. #3
    Registriert seit
    26.02.2006
    Beiträge
    30
    Danke
    1
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Hallo Jupp,

    schau dir mal die TON/TOFF Bausteine an. Die kannst du in einem FB als stat-Variable deklarieren und sie exakt wie einen SE/SA Timer verwenden. Bei jedem FB Aufruf hast Du dann einen anderen Instanz-DB und somit auch neue Timer die garantiert noch nicht im Programm verwendet hast.

    Zu 2. würde ich ähnlich wie Garog lösen:
    U M2.0 //Freigabe
    SPBN dont //wenn Freigabe vorhanden Code ausführen
    L #IN_Wert //Eingangsvariable
    T #STAT_Wert //statische Variable (Instanz-DB)
    dont: NOP 0


    MfG SPS_Fuzzy

  4. #4
    Jupp06 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.08.2006
    Beiträge
    107
    Danke
    58
    Erhielt 2 Danke für 2 Beiträge

    Daumen hoch

    Vielen dank für eure Antworten!
    Werd die Anregungen gleich mal ausprobieren!


  5. #5
    Registriert seit
    25.09.2005
    Ort
    Neuss
    Beiträge
    278
    Danke
    11
    Erhielt 31 Danke für 29 Beiträge

    Ausrufezeichen

    Schau mal hier ( http://www.automatisierungsprofi.de/TON/ ) rein, da ist das ein wenig erklärt vorhanden.

  6. #6
    Registriert seit
    19.04.2005
    Beiträge
    15
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    [html]
    zu Punkt 1:

    Ich benutze in fast allen Fällen folgenden FC:

    FC2
    Schnittstelle:
    IN: Takt BOOL Zeittakt als Zyklusflanke
    Verz_Zeit INT Verzögerungsfaktor

    IN/OUT: Hilfs_Zelle INT Hilfszelle

    Netzwerk 1:

    L 0 // Verzögerungszeit event. Rücksetzen
    SPBN RV // VKE enthält zu verzögernden Eingang

    UN #Takt // Zeitverzögert auswerten
    SPB Max1
    L #Hilfs_Zelle // akt. Zeitwert laden
    L 1 // Verzögerungszeit summieren
    +I
    SPO Max1 // Auf Maximalwert begrenzen
    RV: T #Hilfs_Zelle

    Max1: L #Hilfs_Zelle // akt. Zeitwert laden
    L #Verz_Zeit // Grenzwert zur Auswertung laden
    >=I
    SAVE // Ergebnis über BIE weitergeben


    Der Aufruf im Programm sieht dann folgendermaßen aus:

    UN E 132.4 (VKE=1 -> FC2 aktiv)
    CALL FC 2
    Takt :=M1.5 (z.B. Sekundentakt)
    Verz_Zeit :=5 (Einheit siehe Takt)
    Hilfs_Zelle:=#verz_MAX (oder DB?DBW irgenwas)
    = M 10.0 Status 1 wenn Verz_Zeit >= Hilfs_Zelle

    Funzt eigenlich super wenn man viele Zeitvariabelen z.B.
    in WinCC oder ProTool zu verarbeiten hat.

    Gruß aus dem Sauerland
    Markus

    [/html]

Ähnliche Themen

  1. Frage: Zeitbaustein
    Von rambaldi0085 im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 25.03.2009, 21:21
  2. Zeitbaustein
    Von _blackened_ im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 09.03.2008, 16:26
  3. Zeitbaustein TON über TD200 verändern
    Von andreHST im Forum HMI
    Antworten: 4
    Letzter Beitrag: 13.09.2005, 08:46
  4. S7 Zeitbaustein
    Von merlin im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 25.04.2005, 08:26
  5. S7 Zeitbaustein oben Anschreiben
    Von Straumann im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 07.01.2005, 17:08

Lesezeichen

Berechtigungen

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