Jump to content
  • Sign in to follow this  

    SPS-Zähleranweisungen

       (0 reviews)

    leikang

    Ein Zähler ist eine SPS-Anweisung, die einen ganzzahligen Wert entweder erhöht (hochzählt) oder verringert (herunterzählt), wenn dies durch den Übergang eines Bits von 0 auf 1 („falsch“ auf „wahr“) veranlasst wird.

    Zähleranweisungen gibt es in drei Grundtypen:

    1. Aufwärtszähler,
    2. Abwärtszähler und
    3. Aufwärts-/Abwärtszähler.

    Sowohl „Aufwärts“- als auch „Abwärts“-Zähleranweisungen haben einzelne Eingänge zum Auslösen von Zählungen, während „Aufwärts-/Abwärts“-Zähler zwei Auslöseeingänge haben: einen zum Erhöhen des Zählers und einen zum Verringern des Zählers.

    SPS-Zähleranweisungen

    Um die Verwendung einer Zähleranweisung zu veranschaulichen, analysieren wir ein SPS-basiertes System, das zum Zählen von Objekten entwickelt wurde, während sie ein Förderband hinunterlaufen:

    39-1.gif

    In diesem System bewirkt ein kontinuierlicher (ununterbrochener) Lichtstrahl, dass der Lichtsensor seinen Ausgangskontakt schließt und den diskreten Kanal IN4 aktiviert.

    Wenn ein Objekt auf dem Förderband den Lichtstrahl von der Quelle zum Sensor unterbricht, öffnet sich der Kontakt des Sensors und unterbricht die Stromversorgung zum Eingang IN4.

    Ein Druckknopfschalter, der angeschlossen ist, um den diskreten Eingang IN5 zu aktivieren, dient beim Drücken als manuelles „Reset“ des Zählwerts.

    Eine Anzeigelampe, die an einen der diskreten Ausgangskanäle angeschlossen ist, dient als Anzeige dafür, wann der Objektzählwert einen voreingestellten Grenzwert überschritten hat.

    Wir werden nun ein einfaches Kontaktplanprogramm analysieren, das so konzipiert ist, dass es einen Zählerbefehl jedes Mal hochzählt, wenn der Lichtstrahl unterbrochen wird:

    39-2.gif

    Dieser spezielle Zählerbefehl (CTU) ist ein inkrementierender Zähler, was bedeutet, dass er mit jedem Ein-Aus-Übergangseingang an seinem „CU“-Eingang „hoch“ zählt.

    Der normalerweise geschlossene virtuelle Kontakt (IN-Sensorobjekt) wird normalerweise im „offenen“ Zustand gehalten, wenn der Lichtstrahl kontinuierlich ist, da der Sensor diesen diskreten Eingangskanal aktiviert hält, während der Strahl kontinuierlich ist.

    Wenn der Strahl durch ein vorbeifahrendes Objekt auf dem Förderband unterbrochen wird, wird der Eingangskanal deaktiviert, wodurch das virtuelle Kontakt-IN-Sensorobjekt „geschlossen“ wird und virtuelle Energie an den „CU“-Eingang des Zählerbefehls sendet.

    Dadurch wird der Zähler hochgezählt, sobald die Vorderkante des Objekts den Strahl unterbricht. Der zweite Eingang des Zählerbefehlsfelds („R“) ist der Reset-Eingang, der virtuelle Energie vom Kontakt-IN-Schalter empfängt, der zurückgesetzt wird, wenn der Reset-Druckknopf gedrückt wird. Wenn dieser Eingang aktiviert wird, setzt der Zähler seinen aktuellen Wert (CV) sofort auf Null zurück.

    Die Statusanzeige wird in diesem Kontaktplanprogramm angezeigt, wobei der voreingestellte Wert (PV) des Zählers von 25 und der aktuelle Wert (CV) des Zählers von 0 blau hervorgehoben dargestellt werden.

    Der voreingestellte Wert wird in den Zählerbefehl programmiert, bevor das System in Betrieb genommen wird, und dient als Schwellenwert zum Aktivieren des Zählerausgangs (Q), der in diesem Fall die Zählanzeigelampe einschaltet (die OUT-Zählwert-erreicht-Spule).

    Gemäß dem Programmierstandard IEC 61131-3 sollte dieser Zählerausgang aktiviert werden, wenn der aktuelle Wert gleich oder größer als der voreingestellte Wert ist (Q ist aktiv, wenn CV ≥ PV).

    Dies ist der Status desselben Programms, nachdem dreißig Objekte den Sensor auf dem Förderband passiert haben.

    Wie Sie sehen, ist der aktuelle Wert des Zählers auf 30 gestiegen, überschreitet den voreingestellten Wert und aktiviert den diskreten Ausgang:

    39-3.png

    Wenn es uns nicht darum ginge, eine genaue Gesamtzahl der Objekte über 25 hinaus beizubehalten – sondern wir lediglich wollten, dass das Programm anzeigt, wenn 25 Objekte vorbeigekommen sind.

    könnten wir auch einen auf einen Wert von 25 voreingestellten Abwärtszählerbefehl verwenden, der eine Ausgangsspule einschaltet, wenn der Zählerstand Null erreicht:

    39-4.png

    Hier bewirkt ein „Lade“-Eingang, dass der aktuelle Wert des Zählers bei Aktivierung dem voreingestellten Wert (25) entspricht.

    Mit jedem empfangenen Sensorimpuls wird der Zählerbefehl dekrementiert. Wenn der Wert Null erreicht, wird der Q-Ausgang aktiviert.

    Ein potenzielles Problem bei beiden Versionen dieses Objektzählsystems ist, dass die SPS nicht zwischen Vorwärts- und Rückwärtsbewegung auf dem Förderband unterscheiden kann.

    Würde das Förderband beispielsweise jemals die Richtung umkehren, würde der Sensor weiterhin Objekte zählen, die bereits zuvor (in Vorwärtsrichtung) vorbeigelaufen sind, während diese Objekte auf dem Band zurücklaufen.

    Dies wäre ein Problem, da das System „denken“ würde, dass mehr Objekte das Band passiert haben (was auf eine höhere Produktion hindeutet), als dies tatsächlich der Fall war.

    Eine Lösung für dieses Problem besteht darin, einen Aufwärts-/Abwärtszähler zu verwenden, der sowohl inkrementieren (hochzählen) als auch dekrementieren (herunterzählen) kann, und diesen Zähler mit zwei Lichtstrahlsensoren auszustatten, die die Bewegungsrichtung bestimmen können.

    Wenn zwei Lichtstrahlen parallel zueinander ausgerichtet sind und näher beieinander liegen als die Breite des schmalsten Objekts, das das Förderband passiert, verfügen wir über genügend Informationen, um die Bewegungsrichtung des Objekts zu bestimmen:

    39-5.gif

    Dies wird als Quadratursignaltaktung bezeichnet, da die beiden Impulswellenformen in ihrer Phase etwa 90 Grad (eine Viertelperiode) auseinander liegen.

    Wir können diese beiden phasenverschobenen Signale verwenden, um einen Aufwärts-/Abwärtszählerbefehl zu erhöhen oder zu verringern, je nachdem, welcher Impuls vor- und welcher nacheilt.

    Hier wird ein Kontaktplan-SPS-Programm gezeigt, das die Quadraturimpulssignale interpretieren soll und sowohl negative Übergangskontakte als auch Standardkontakte verwendet:

    39-6.gif

    Der Zähler wird nur dann erhöht (hochzählen), wenn Sensor B abschaltet, wenn Sensor A bereits im abgeschalteten Zustand ist (d. h. Lichtstrahl A wird vor B unterbrochen).

    Der Zähler wird nur dann verringert (herunterzählen), wenn Sensor A abschaltet, wenn Sensor B bereits im abgeschalteten Zustand ist (d. h. Lichtstrahl B wird vor A unterbrochen).

    Beachten Sie, dass der Aufwärts-/Abwärtszähler sowohl einen „Reset“-Eingang (R) als auch einen „Load“-Eingang („LD“) hat, um den aktuellen Wert zu erzwingen.

    Durch Aktivieren des Reset-Eingangs wird der aktuelle Wert (CV) des Zählers auf Null gesetzt, genau wie wir es bei der „Aufwärts“-Zähleranweisung gesehen haben.

    Anschließend wird durch Aktivieren des Ladeeingangs der aktuelle Wert des Zählers auf den voreingestellten Wert (PV) gesetzt, genau wie wir es bei der „Abwärts“-Zähleranweisung gesehen haben.

    Bei einem Aufwärts-/Abwärtszähler gibt es zwei Q-Ausgänge: einen QU (Ausgang Aufwärts), der anzeigt, wenn der aktuelle Wert gleich oder größer als der voreingestellte Wert ist, und einen QD (Ausgang Abwärts), der anzeigt, wenn der aktuelle Wert gleich oder kleiner als Null ist.

    Beachten Sie, dass der aktuelle Wert (CV) jedes angezeigten Zählers mit einem eigenen Tag-Namen verknüpft ist, in diesem Fall „Teile gezählt“.

    Die Ganzzahl des aktuellen Werts (CV) eines Zählers ist eine Variable im Speicher der SPS, genau wie Boolesche Werte wie „IN-Sensor A“ und „IN-Schalter zurückgesetzt“, und kann genauso mit einem Tag-Namen oder einer symbolischen Adresse verknüpft sein.

    Dadurch können andere Anweisungen in einem SPS-Programm Werte von diesem Speicherplatz lesen (und manchmal auch in diesen schreiben!).

    Sign in to follow this  


    User Feedback

    Recommended Comments

    There are no comments to display.



    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

Apply for friendship links:WhatsApp or E-mail: admin@plchmis.com
×
×
  • Create New...