Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Hallo,
Wir haben eine Laserabfrage (E16.2) die ein Teil erkennt.
Wie kann ich abfragen dass dieser E auch mal 0 wurde?
Problem: wenn E16.2 immer 1 ist kommt auch kein Fehler.
Habs mal so probiert, finde es aber nicht plausibel:
Ich würd hier einfach ne Einschaltverzögerung verwenden.
Die Lichtschranke wird normalerweise innerhalb von xxx ms wieder frei.
Ist sie länger belegt, hast du entweder nen Stau oder ne verstellte Lichtschranke. Beides sollte den Ablauf stoppen
Du machst eine Abfrage der pos. Flanke deines Eingangs und lässt damit den Zähler einfach hochzählen.
Ändert dieser sich nicht hast du keinen Signalwechsel, ändert der Wert sich doch, hast du einen Signalwechsel
Ich würd hier einfach ne Einschaltverzögerung verwenden.
Die Lichtschranke wird normalerweise innerhalb von xxx ms wieder frei.
Ist sie länger belegt, hast du entweder nen Stau oder ne verstellte Lichtschranke. Beides sollte den Ablauf stoppen
Nach "Geschmack" kannst du das Signal auch negieren, damit der Zähler die fallenden Flanken zählt, das ist aber nicht nötig.
Wenn der Zähler weitergezählt hat, dann war das Signal mindestens für einen Zyklus lang auf 0 und ist wieder auf 1 gegangen. Wenn das Signal nur nach 0 gegangen ist, dann ist es jetzt 0 - was du auch leicht online sehen kannst.
Hinweis 1: S_EVERZ-Timer brauchen kein Reset. Wenn das Signal an S auf 0 geht, dann geht der Timer auch auf 0.
Hinweis 2: Die meisten Siemens-Timer brauchen eine steigende Flanke zum Starten, d.h. sie müssen vor der 1 auch einmal eine 0 "gesehen" haben. Wenn mit S_EVERZ das Signal eines Sensors verzögert werden soll, und beim Einschalten der SPS ist das Signal schon auf 1, dann startet der Timer nicht! Da müsste noch ein Signal "UN Zyklus1" verknüpft werden (oder im OB100 ein "FR Tx" programmiert werden?)
Plausbilitätskontrolle
Hast Du einen Zustand wo die LS frei sein "müsste"?
Also z.B. wenn dein Ablauf die Ronde "abgeholt" hat, einen Impuls machen und gucken ob LS frei.
Wenn nicht Störung.
Das funktioniert so überhaupt gar nicht. Dein umständlicher SR-Code verhält sich wie eine einfache direkt Zuweisung ---|E16.2|-----(M16.2) - bringt also überhaupt nichts. (Bist du SPS-Programmierer?)