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

Ergebnis 1 bis 8 von 8

Thema: "TOF" und Lifebit

  1. #1
    Registriert seit
    25.03.2012
    Beiträge
    314
    Danke
    60
    Erhielt 9 Danke für 8 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Forum,

    ich empfange per BRCV den 1Hz-Taktmerker einer anderen Steuerung. Zur Auswertung mache ich folgendes:

    O #lifebit
    O #restart
    = #alive

    call "TOF"
    IN:=#alive
    PT:=#10s

    U "TOF".Q
    = #OK

    Nun habe ich von verschiedenen Leute gehört, dass man Timer besser einmal mit logisch Null am Eingang initialisieren sollte, damit es zu keinem Fehlverhalten kommt. Wenn ich aber #restart (im OB100 gesetzt) nicht auf #alive schalte, dann ist #OK am Ende des ersten Zyklus false, und damit würde eine Fehlermeldung gesetzt. Klar könnte ich die Fehlermeldung mit #restart verriegeln, aber das fände ich vom programmierstil her unsauber.

    Hat jemand Erfahrung oder Ideen dazu?
    Zitieren Zitieren "TOF" und Lifebit  

  2. #2
    Registriert seit
    28.02.2006
    Ort
    Ostsee 5 min zum Strand
    Beiträge
    780
    Danke
    92
    Erhielt 110 Danke für 98 Beiträge

    Standard

    Moin,
    dann setze dir doch ein Merker im OB 100, den dann am Ende des OB1 zurücksetzen. Und schon hast du einen Merker der nach dem 1.Zyklus Null ist.
    Den baust du nun noch in deine Bedingung ein.
    Gruß von der Ostsee

    Nordischerjung
    _____________________

    Wenn man seinem Paßbild ähnlich zu sehen beginnt, sollte man schleunigst Urlaub machen. (Vico Torriani, schw. Entertainer)

    Ich habe eine Diät gemacht und fettem Essen und Alkohol abgeschworen - in zwei Wochen verlor ich 14 Tage. (Joe E. Lewis)

  3. #3
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.717
    Danke
    443
    Erhielt 919 Danke für 740 Beiträge

    Standard

    Zitat Zitat von Flux Beitrag anzeigen
    Wenn ich aber #restart (im OB100 gesetzt) nicht auf #alive schalte, dann ist #OK am Ende des ersten Zyklus false, und damit würde eine Fehlermeldung gesetzt. Klar könnte ich die Fehlermeldung mit #restart verriegeln, aber das fände ich vom programmierstil her unsauber.

    Hat jemand Erfahrung oder Ideen dazu?
    Ich würde nur das Livebit auf den Timer geben und das #OK hinterher aus Timer ODER #Restart erzeugen. Also in Deinem jetzigen Code Timer und ODER-Verknüpfung tauschen.

    Code:
    call "TOF"
     IN:=#lifebit
     PT:=#10s
    U "TOF".Q
    = #alive
    
    U #alive
    O #restart
    = #OK
    Notfalls für Restart einen separaten Timer nehmen.

    Aber wenn's mit dem bisherigen Code keine Probleme gab', warum dann ändern. Der Timer wird doch erst in diesem Netzwerk von 0 auf 1 gesetzt, ist also beim Aufruf noch (kurzzeitig) 0.
    Geändert von hucki (27.03.2013 um 08:13 Uhr) Grund: Code hinzugefügt und Handy-Murks verbessert

  4. #4
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.252
    Danke
    244
    Erhielt 332 Danke für 303 Beiträge

    Standard

    Das funktioniert so nicht.
    Wenn die Kommunikation ausfällt während das lifebit 1 ist, ist für Dich alles OK, obwohl dem nicht so ist.

    Ich mache das so, dass ich mit der Flanke des lifebits einen verlängerten Impuls starte. Wird der irgendwann null, ist die Kommunikation ausgefallen.

  5. #5
    Avatar von Flux
    Flux ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.03.2012
    Beiträge
    314
    Danke
    60
    Erhielt 9 Danke für 8 Beiträge

    Standard

    @borromeus:

    PV ist möglich. Ich werte zusätlich noch /lifebit (also invertiert) nach dem gleichen Schema aus, also /lifebit auf "TOF" und dann beide #OK verUNDen.

  6. #6
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.252
    Danke
    244
    Erhielt 332 Danke für 303 Beiträge

    Standard

    Ja das geht auch

  7. #7
    Avatar von Flux
    Flux ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.03.2012
    Beiträge
    314
    Danke
    60
    Erhielt 9 Danke für 8 Beiträge

    Standard

    Hab auf TP umgestellt, da schlanker
    danke

  8. #8
    Avatar von Flux
    Flux ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.03.2012
    Beiträge
    314
    Danke
    60
    Erhielt 9 Danke für 8 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Mein anfänglicher Ausgangspunkt war, dass der TOF mindestens den 1. Zyklus eine "0" am IN sehen muss. Das stimmt so nicht. Was meine Kollegen etc meinten war wohl, dass die Timer, egal welcher, eine entsprechende Flanke (fallend für den TOF) sehen müssen, damit sie getriggert werden.

    MfG
    Flux

Ähnliche Themen

  1. Antworten: 38
    Letzter Beitrag: 05.11.2012, 13:03
  2. Antworten: 0
    Letzter Beitrag: 05.09.2012, 12:08
  3. Antworten: 1
    Letzter Beitrag: 03.09.2012, 16:14
  4. Probleme mit 12/24V "high" und 0V als "low" Auswertung
    Von PraktikantMarkus im Forum CODESYS und IEC61131
    Antworten: 8
    Letzter Beitrag: 14.12.2011, 01:37
  5. "Index Pulse", "Home Switch" und "Position Limit Switch"
    Von senmeis im Forum Antriebstechnik
    Antworten: 3
    Letzter Beitrag: 07.03.2011, 11:21

Lesezeichen

Berechtigungen

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