"TOF" und Lifebit

Flux

Level-1
Beiträge
314
Reaktionspunkte
11
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?
 
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.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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.
 
Zuletzt bearbeitet:
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.
 
@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.
 
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
 
Zurück
Oben