Jump to content
  • German database on PLC programming technology and HMI interface design

    PLC, DCS, HMI and SCADA product application technical articles

    leigehong
    Dies ist ein SPS-Programm für Zweiwege-Schaltlogik für Treppenhausbeleuchtung im Haus.
    SPS-Zweiwege-Schaltlogik
    In einem Doppelhaus gibt es Erdgeschoss und ersten Stock und manchmal auch zweiten Stock.
    Manchmal müssen Menschen vom Erdgeschoss in den ersten Stock oder vom ersten Stock ins Erdgeschoss über eine Treppe im Haus gelangen.
    Aber im Treppenhaus gibt es kein Sonnenlicht, also brauchen die Menschen eine Lampe/ein Licht, um die Stufen der Treppe gut sehen zu können.
    Hier verwenden wir eine einfache SPS, um diese Lampe mit zwei Schaltern zu steuern, einen Schalter im Erdgeschoss und einen zweiten Schalter im ersten Stock, um eine Lampe zu steuern, wie in der Abbildung unten gezeigt.
    Hinweis: Wir können die Schaltung auch mit einfachen Relais/Schaltern aufbauen. Dieser Artikel dient nur dazu, das Grundkonzept eines Zweiwegeschalters mit einer SPS-Kontaktplanlogik zu verstehen.
    Bild

    Lösung
    Wir werden dieses Problem durch einfache Automatisierung lösen. Wie in der Abbildung gezeigt, betrachten wir ein einfaches Haus mit einem Stockwerk und einer Treppe im Haus.
    Hier stellen wir das Beleuchtungssystem so ein, dass die Benutzer das Licht ein- und ausschalten können, egal ob sie sich unten oder oben auf der Treppe befinden.
    Wir stellen für jede Etage einen separaten Schalter bereit, wie in der obigen Abbildung gezeigt.
    SPS-E/A-Anforderungen
    Digitale Eingänge
    SW1: I0.1 SW2: I0.2 Digitale Ausgänge
    Lampe: Q0.0 SPS-Programm für Zweiwegeschalter

    Programm erklärt
    Für diese Anwendung haben wir S7-1200 PLC und TIA-Portalsoftware zur Programmierung verwendet. Im obigen Programm haben wir zwei Schließerkontakte von SW 1 (I0.1) und SW 2 (I0.2) in Reihe und Öffnerkontakte von SW1 (I0.1) und SW2 (I0.2) parallel zu dieser Reihe von Schließerkontakten SW1 und SW2 hinzugefügt. Wenn der Status des unteren Schalters (SW1) und des oberen Schalters (SW2) gleich sind, ist die Lampe eingeschaltet. Und wenn der Status des unteren oder oberen Schalters von dem der anderen abweicht, ist die Lampe (Q0.0) AUS. Wenn die Lampe (Q0.0) AUS ist, kann der Benutzer die Lampe einschalten, indem er den Status eines beliebigen Schalters ändert. Der Benutzer kann die Lampe auch ausschalten, indem er den Status eines der beiden Schalter ändert. Ergebnis

    Hinweis: Die obige SPS-Logik lieferte eine grundlegende Vorstellung von der Anwendung der SPS für die Zweiwegeschalterlogik. Die Logik ist begrenzt und keine vollständige Anwendung.

    leikang
    Dies ist ein SPS-Programm zur automatischen Parameterinitialisierung beim Einschalten.
    Parameterinitialisierung beim Einschalten
    Problembeschreibung
    In vielen Anwendungen ist es notwendig, einige Daten beim Einschalten der Maschine zu initialisieren.
    Manchmal wird der Wert einiger Parameter aufgrund eines Stromausfalls auf Null gesetzt.
    Aufgrund dieses Problems muss der Bediener alle Daten erneut oder jedes Mal während eines Stromausfalls eingeben.
    Wenn die Maschine eingeschaltet wird, sollten zu diesem Zeitpunkt die erforderlichen Parameter automatisch initialisiert werden.
    Hier diskutieren wir dieses Problem mit einer grundlegenden Leiterlogik.
    Problemdiagramm

    Problemlösung
    In diesem Fall müssen wir die Logik in das SPS-Programm schreiben, damit alle Parameter automatisch initialisiert werden.
    Wir können auch eine manuelle Initialisierungstaste einrichten, damit der Bediener Daten initialisieren kann, während die Maschine läuft.
    Hier betrachten wir die eingestellte Maschinengeschwindigkeit als Daten und sie wird automatisch initialisiert, wenn die Maschine eingeschaltet wird.
    Wenn der Bediener die eingestellte Geschwindigkeit während des laufenden Zyklus neu initialisieren möchte, muss er dies über die Initialisierungstaste tun.
    SPS-Kontaktplan
    Hier ist das PLC-Programm Automatische Parameterinitialisierung beim Einschalten.

    Liste der PLC-Ein-/Ausgänge
    Eingabeliste
    Parameterinitialisierungstaste: I0.0 MW10: Geschwindigkeit vom Display einstellen Ausgabeliste
    Mw12: Geschwindigkeit für Antrieb Programmbeschreibung
    Für diese Anwendung verwenden wir S7-1200 PLC und TIA-Portalsoftware zur Programmierung. Diese Logik wird für die Parameterinitialisierung verwendet. Für den ersten Scan haben wir hier S7-1200-Einrichtungen des Systemspeichers verwendet. Jede PLC hat ihren eigenen Systemspeicher. Immer EIN-Bit, immer AUS-Bit, erstes Scan-Bit und geänderter Diagnosestatus sind der Systemspeicher für S7-1200 PLC. Wir können jede Speicheradresse „M“ für den Systemspeicher konfigurieren. Hier haben wir M1.0 für das erste Scan-Bit konfiguriert, das für die Parameterinitialisierung verwendet wird. Wir schreiben für die Parameterinitialisierung in Netzwerk 1. Hier verwenden wir den NO-Kontakt des ersten Scan-Bits (M1.0), um die anfänglichen 5 U/min in MW12 (Geschwindigkeit für Antrieb) zu bewegen. Durch Verwendung der MOVE-Anweisung werden 5 U/min in MW12 bewegt. Fügen Sie den NO-Kontakt der Parameterinitialisierungstaste (I0.0) hinzu, um die anfänglichen 5 U/min in MW12 (Geschwindigkeit für Antrieb) manuell zu bewegen. Um Daten im laufenden Zyklus manuell zu bearbeiten, schreiben wir die Logik in Netzwerk 2. Hier kann der Bediener Daten in MW10 (DREHZAHL EINSTELLEN) vom Display aus eingeben und sie gehen in MW12 (Geschwindigkeit für Antrieb). Angenommen, wir müssen eine Geschwindigkeit von 100 U/min vom Display aus eingeben, wird dies in das Wort MW10 (Geschwindigkeit vom Display einstellen) geschrieben und gemäß der Logik in MW12 (Geschwindigkeit für Antrieb) bewegt, sodass der Motor mit 100 U/min läuft. Laufzeittestfälle

    Hinweis: Die obige SPS-Logik bietet eine grundlegende Vorstellung von der Anwendung eines SPS-Programms zur automatischen Parameterinitialisierung beim Einschalten. Die Logik ist begrenzt und keine vollständige Anwendung.

    xiangjinjiao
    Nehmen wir an, dass es sechzehn Stationen entlang eines Förderbandsystems gibt.
    Die Stationen sind von 0 bis 15 nummeriert, wobei Station Null die erste ist (d. h. der Punkt, an dem die Teile das Förderband betreten).
    Die Teile müssen mit einer Geschwindigkeit von einer Station alle vier Sekunden das Förderband entlangbewegen.
    Ein Teil kann sich zu jedem Zeitpunkt an einer bestimmten Station befinden oder auch nicht.
    Ein Eingangssensor I:0.0/0 wird verwendet, um ein Teil zu erkennen, das das Förderband betritt.
    An Station 5 werden die Teile auf Defekte geprüft und ein Eingangssensor I:0.0/1 wird aktiviert, wenn das Teil defekt ist.
    An Station 10 müssen alle defekten Teile vom Förderband entfernt werden, indem der Ausgang O:0.0/0 aktiviert wird.
    Schreiben Sie für diesen Prozess ein effizientes Kontaktplanlogikprogramm.
    SPS-Förderband-Kontaktplanlogikprogramm


    leigehong
    JSR-, SBR- und RET-Anweisungen werden verwendet, um den Controller anzuweisen, eine separate Unterprogrammdatei innerhalb des Kontaktplanprogramms auszuführen und zur Anweisung nach der JSR-Anweisung zurückzukehren.
    Allen Bradley SPS-Unterprogramme
    Die SBR-Anweisung muss die erste Anweisung auf der ersten Sprosse in der Programmdatei sein, die das Unterprogramm enthält.
    Verwenden Sie ein Unterprogramm, um wiederkehrende Abschnitte der Programmlogik zu speichern, die von mehreren Punkten innerhalb Ihres Anwendungsprogramms aus ausgeführt werden müssen. Ein Unterprogramm spart Speicher, da Sie es nur einmal programmieren. Aktualisieren Sie kritische E/A innerhalb von Unterprogrammen mithilfe von Anweisungen für die sofortige Eingabe und/oder Ausgabe (IIM, IOM), insbesondere wenn Ihre Anwendung verschachtelte oder relativ lange Unterprogramme erfordert. Andernfalls aktualisiert der Controller die E/A erst, wenn er das Ende des Hauptprogramms erreicht (nach Ausführung aller Unterprogramme). Innerhalb eines Unterprogramms gesteuerte Ausgänge bleiben in ihrem letzten Zustand, bis das Unterprogramm erneut ausgeführt wird. Wenn der JSR-Befehl ausgeführt wird, springt der Controller zum Unterprogrammbefehl (SBR) am Anfang der Zielunterprogrammdatei und setzt die Ausführung an diesem Punkt fort. Sie können in keinen anderen Teil eines Unterprogramms springen als in den ersten Befehl in dieser Datei.
    Das Zielunterprogramm wird durch die Dateinummer identifiziert, die Sie im JSR-Befehl eingegeben haben. Der SBR-Befehl dient als Bezeichnung oder Kennung für eine Programmdatei als reguläre Unterprogrammdatei. Der Befehl muss als erster Befehl des ersten Sprosses eines Unterprogramms programmiert werden.
    Der RET-Befehl markiert das Ende der Unterprogrammausführung oder das Ende der Unterprogrammdatei. Der Sprosse, der den RET-Befehl enthält, kann bedingt sein, wenn dieser Sprosse dem Ende des Unterprogramms vorangeht.
    Auf diese Weise lässt der Controller den Rest eines Unterprogramms nur aus, wenn seine Sprossebedingung erfüllt ist.

    leigehong
    Schreiben Sie ein SPS-Timerprogramm für das folgende SPS-Beispiel.
    SPS-Timer
    Konstruieren Sie eine SPS-Zeitschaltung, die (mit Ausgang O:2/0) alle zwei Sekunden einen 0,5-Sekunden-Impuls ausgibt (d. h. 0,5 s an, dann 2 s aus).
    Wenn ein Schalter (mit I:1/0) geschlossen ist, und alle zwei Sekunden einen 1-Sekunden-Impuls, wenn der Schalter geöffnet ist.
    Kontaktplanlogik


    leizuofa
    Wenn ein Elektromotor gestartet wird, zieht er einen hohen Strom, der typischerweise 5-6 Mal höher ist als der normale Strom.
    Bei Gleichstrommotoren gibt es beim Start keine Gegen-EMK, daher ist der Anfangsstrom im Vergleich zum normalen Strom sehr hoch.
    Um den Motor vor diesen hohen Anlaufströmen zu schützen, verwenden wir einen Stern- und Dreieckstarter.
    Bei der Sternschaltung ist die Versorgungsspannung des Motors einfach geringer. Daher verwenden wir beim Starten des Motors eine Sternschaltung. Nach dem Motorlauf ändern wir die Verbindung von Stern zu Dreieck, um die volle Geschwindigkeit des Motors zu erreichen.
    Stern-Dreieck-Motorstarter
    Die folgende Abbildung zeigt die Wicklungsverbindungen in Stern- und Dreieckkonfiguration nacheinander.

    Es ist ersichtlich, dass bei der Sternschaltung ein Ende aller drei Wicklungen kurzgeschlossen ist, um einen Sternpunkt zu bilden, während das andere Ende jeder Wicklung an die Stromversorgung angeschlossen ist.
    Bei der Dreieckkonfiguration sind die Wicklungen so verbunden, dass eine geschlossene Schleife entsteht.
    Die Verbindung jeder Wicklung ist in der obigen Abbildung dargestellt. Im tatsächlichen Motor werden die dreiphasigen Verbindungen in der folgenden Reihenfolge bereitgestellt:

    Um also in einem praktischen Motor eine Wicklungsverbindung im Stern- und Dreieckstil herzustellen, ist die Verbindung oben dargestellt.

    Der Hauptverteiler wird verwendet, um die Wicklungen mit Strom zu versorgen. Er muss ständig eingeschaltet sein. Zunächst ist der Sternschütz geschlossen, während der Dreieckschütz geöffnet ist. Dadurch werden die Motorwicklungen in Sternkonfiguration gebracht.
    Wenn der Motor an Geschwindigkeit gewinnt, wird der Sternschütz geöffnet, während der Dreieckschütz geschlossen ist, wodurch die Motorwicklungen in Dreieckkonfiguration gebracht werden.
    Die Schütze werden mithilfe einer SPS gesteuert. Der folgende Abschnitt des SPS-Tutorials erklärt die Kontaktplanprogrammierung für den Stern-Dreieck-Motorstarter.
    SPS-Programm für Stern-Dreieck-Motorstarter:

    SPS-Kontaktplanlogik

    Sprosse 1 Hauptschütz:
    Der Hauptschütz hängt vom normalerweise offenen Startdruckknopf (I1), dem normalerweise geschlossenen Stoppknopf (I2) und dem normalerweise geschlossenen Überlastrelais ab.
    Das bedeutet, dass der Hauptschütz nur aktiviert wird, wenn der Startknopf gedrückt ist, während der Stoppknopf nicht gedrückt und das Überlastrelais nicht aktiviert ist. Parallel zum Startknopf I1 wird ein normalerweise offener Eingang mit der Bezeichnung (Q1) hinzugefügt.
    Dadurch wird ein Druckknopf erstellt, der bedeutet, dass der Motor, sobald er gestartet ist, auch dann gestartet bleibt, wenn der Startknopf losgelassen wird.
    Sprosse 2 Sternschütz:
    Der Sternschütz hängt vom Hauptschütz, den normalerweise geschlossenen Kontakten des Timers (T1) und den normalerweise geschlossenen Kontakten des Ausgangs-Dreieckschützes (Q3) ab.
    Der Sternschütz wird also nur aktiviert, wenn der Hauptschütz eingeschaltet, der Zeitausgang nicht aktiviert und der Dreieckschütz nicht aktiviert ist.
    Timer T1:
    Timer T1 misst die Zeit, nach der die Wicklungsverbindung des Stern-Dreieck-Starters geändert werden muss. Er beginnt mit der Zeitzählung, nachdem der Hauptschütz aktiviert wurde.
    Sprosse 3 Dreieckschütz:
    Der Dreieckschütz wird aktiviert, wenn der Hauptschütz (Q1) aktiviert wird, Timer T1 aktiviert ist und der Sternschütz (Q3) deaktiviert ist.
    Siehe auch die Programmierung des Druckknopfs und andere Anforderungen für einen einfachen Motorstarter, die im PLC-Tutorial erklärt werden: Motorstarter
    Hinweis: Dieser Beitrag dient nur zu Bildungs- oder Referenzzwecken. Für einen stromführenden Stromkreis werden einige Ergänzungen zum obigen Stromkreis vorgenommen, wie z. B. sicherheitsrelevante, je nach Anwendung einige Verriegelungen usw.

    xiangjinjiao
    SPS-Tutorial, das Schritt für Schritt das Programmieren einer SPS für einen Motorstarter erklärt.
    Es gibt viele Arten von Motorstartern, der Umfang dieses SPS-Tutorials beschränkt sich jedoch auf einfache Motorstarter.
    Es sollte die folgenden Bestimmungen enthalten.
    Druckknopf zum Starten des Motors: Der Motor sollte sich auch dann weiter drehen, wenn der Druckknopf losgelassen wird. Stopp-Druckknopf zum Anhalten des Motors nach dem Start. Überstromschutz: Bei Überlastung sollte der Motor automatisch durch das Signal von den Schützen des Überlastrelais anhalten. Endschalter: Er sollte das Starten des Motors verhindern und kann auch den laufenden Motor stoppen. Der Motorstarter sollte auch über eine Anzeige (Leuchte) verfügen, die den EIN- oder AUS-Status des Motors anzeigt. Elektrisches Motorschema:

    Die obige Abbildung zeigt den physischen Aufbau des Motorstarters, dieser würde jedoch in diesem SPS-Tutorial mithilfe der Kontaktplanlogik entworfen.
    Die obige Abbildung zeigt keinen Endschalter, da dieser von einer externen Verriegelung wie z. B. einem Niveauschalter, einem Durchflussschalter, einem Druckschalter usw. abhängig ist … je nach Anwendung. Wenn keine Verriegelung erforderlich ist, entfernen Sie einfach das Symbol aus dem Diagramm und verbinden Sie es mit einem einfachen Kabel.
    Leiterdiagramm für Motorstarter:
    Die folgende Abbildung zeigt das Leiterdiagramm für den Motorstarter.

    Starttaste I1:
    Es wird ein normalerweise offener Kontakt (Schließerkontakt) verwendet, da der Motor nur starten soll, wenn die Taste gedrückt wird.
    Stopptaste I2:
    Es wird ein normalerweise geschlossener Kontakt (Öffnerkontakt) verwendet, da die Taste normalerweise geschlossen oder hoch sein soll, damit der Motor weiterläuft. Er sollte sich öffnen, wenn die Taste gedrückt wird. Er ist das Gegenteil der Starttaste.
    Überlastrelais I3:
    Unter normalen Bedingungen sollte dieses Relais die Drehung des Motors zulassen, daher wird ein normalerweise geschlossener Kontakt dafür ausgewählt. Im Falle einer Überlastung stoppt es den Motor, indem es seinen Kontakt öffnet.
    Endschalter I4:
    Der Motor sollte sich nur drehen, wenn der Endschalter geschlossen ist, daher wird ein normalerweise offener Kontakt verwendet.
    Ausgang Q1, Q2, Q3:
    Relaisspule Q1, Q2 und Q3 repräsentieren jeweils Motorausgang, Motoranzeige EIN und Anzeige AUS.
    Die EIN-Anzeige erhält Eingabe von einem normalerweise offenen Eingang, der von Ausgang Q1 abhängt. Die AUS-Anzeige wird von einem normalerweise geschlossenen Eingang gespeist, der von Ausgang Q2 abhängt.
    Eingang Q1 (für kontinuierliche Drehung):
    Da es erforderlich ist, dass der Motor kontinuierlich läuft, sobald der Druckknopf gedrückt wird, auch wenn der Druckknopf losgelassen wird.
    Um dies zu erreichen, wird ein Eingang Q1 (normalerweise offen) verwendet und parallel zu I1 angeschlossen. Dieser Eingang hängt von Ausgang Q1 ab.
    Wenn Ausgang hoch ist, ist auch Eingang Q1 hoch. Da Eingang Q1 einen parallelen Pfad mit I1 bereitstellt, läuft der Motor, wenn einer von ihnen hoch ist (sofern auch andere Bedingungen erfüllt sind).
    Startknopf (normalerweise offen), Stoppknopf (normalerweise geschlossen), Überlastrelais (normalerweise geschlossen) und Endschalter (normalerweise offen) sind in Reihe geschaltet. Der Motor läuft also, wenn der Startknopf gedrückt ist, der Stoppknopf nicht gedrückt ist, das Überlastrelais nicht aktiviert ist und der Endschalter geschlossen ist.
    Hinweis: Dieser Beitrag dient nur zu Bildungs- oder Referenzzwecken. Für einen Stromkreis mit Spannung sind einige Ergänzungen zum obigen Schaltkreis erforderlich, z. B. sicherheitsrelevante, je nach Anwendung einige Verriegelungen usw.

    leikang
    SPS-Programmier-Tutorials für SPS-Förderbandmotor-Leiterlogik oder Förderbandsteuerung mit einer speicherprogrammierbaren Steuerung (SPS).
    SPS-Förderbandmotor-Leiterlogik

    Ziel: Die sequenziellen Aufgaben sind wie folgt:
    Wenn die START-Taste gedrückt wird, wird der Motor gestartet. Die Anzeigelampe RUN (grüne Lampe) wird aktiviert. Der Motor läuft, sodass die Kiste sich zu bewegen beginnt. Der Näherungssensor erkennt, wenn die Kiste am anderen Ende ankommt. Der Motor wird gestoppt. Die Anzeigelampe RUN (grüne Lampe) wird deaktiviert. Die Anzeigelampe STOP (rote Lampe) wird aktiviert. Ein Not-Aus-Druckknopf wird verwendet, um den Motor jederzeit zu stoppen. Relaisschema

    R: STOP-Anzeigelampe, G: RUN-Anzeigelampe, M: Motor, OL: Überlastrelais (Motorschutzrelais), LS1: Näherungsschalter, PB1: Start-Druckknopf, PB2: Not-Aus-Druckknopf, CR: Auftragnehmerrelais Betriebssequenz
    Startknopf ist betätigt. CR1-1 schließt, um CR1 einzuschließen oder den Startbefehl zu verriegeln CR1-2 öffnet und schaltet die rote Stopp-Kontrollleuchte aus CR1-3 schließt und schaltet die grüne Betriebs-Kontrollleuchte ein CR1-4 schließt, um den Motorstarter und den Motor mit Strom zu versorgen Die Kiste/das Paket bewegt sich und der Näherungsschalter (LS1) erkennt die Kiste, wenn sie die Spule CR1 erreicht hat, und schaltet sie ab CR1-1 öffnet, um den Einschließkontakt zu öffnen (nicht verriegelter Startbefehl) CR1-2 schließt und schaltet die rote Kontrollleuchte ein CR1-3 öffnet und schaltet die grüne Kontrollleuchte aus CR1-4 öffnet, um die Starterspule abzuschalten, den Motor anzuhalten und die Sequenz zu beenden SPS-Kontaktplanlogik


    leigehong
    Erstellen Sie ein Kontaktplandiagramm zur Steuerung eines Batch-Mischprozesses. Implementieren Sie ein SPS-Programm für den Mischtank oder den Mischprozess mithilfe der SPS-Kontaktplanlogik.
    SPS-Programm für Mischtank

    Abb.: Mischtank
    Ein Tank wird zum Mischen von zwei Flüssigkeiten verwendet.
    Der erforderliche Steuerkreis funktioniert wie folgt:
    A. Wenn die START-Taste gedrückt wird, werden die Magnetspulen A und B aktiviert. Dadurch können die beiden Flüssigkeiten beginnen, den Tank zu füllen.
    B. Wenn der Tank gefüllt ist, löst der Schwimmerschalter aus. Dadurch werden die Magnetspulen A und B deaktiviert und der Motor gestartet, der zum Mischen der Flüssigkeiten verwendet wird.
    C. Der Motor darf 1 Minute lang laufen. Nach Ablauf von 1 Minute schaltet sich der Motor ab und Magnetspule C wird aktiviert, um den Tank zu entleeren.
    D. Wenn der Tank leer ist, schaltet der Schwimmerschalter das Magnetventil C ab.
    E. Mit einer STOP-Taste kann der Vorgang jederzeit gestoppt werden.
    F. Wenn der Motor überlastet wird, wird die Funktion des gesamten Schaltkreises gestoppt.
    G. Sobald der Schaltkreis aktiviert wurde, arbeitet er weiter, bis er manuell gestoppt wird.
    PLC-Logiklösung
    Ein Relaisschema, das die Logik dieses Schaltkreises ausführt, ist in der folgenden Abbildung dargestellt. Die Logik dieses Schaltkreises ist wie folgt:

    Abb.: Relaisschema
    A. Wenn die START-Taste gedrückt wird, wird die Relaisspule CR aktiviert. Dadurch schließen sich alle CR-Kontakte. Kontakt CR-1 ist ein Haltekontakt, der verwendet wird, um den Stromkreis zur Spule CR aufrechtzuerhalten, wenn die START-Taste losgelassen wird.
    B. Wenn Kontakt CR-2 schließt, wird ein Stromkreis zu den Magnetspulen A und B geschlossen. Dadurch können die beiden Flüssigkeiten, die miteinander vermischt werden sollen, mit dem Befüllen des Tanks beginnen.
    C. Während sich der Tank füllt, steigt der Schwimmer, bis der Schwimmerschalter ausgelöst wird. Dadurch öffnet sich der normalerweise geschlossene Schwimmerschalterkontakt und der normalerweise offene Kontakt schließt sich.
    D. Wenn der normalerweise geschlossene Schwimmerschalter öffnet, werden die Magnetspulen A und B entregt und der Zufluss der beiden Flüssigkeiten in den Tank gestoppt.
    E. Wenn der normalerweise offene Kontakt schließt, wird ein Stromkreis zur Spule eines Motorstarters und zur Spule eines Einschaltverzögerungstimers geschlossen. Der Motor wird verwendet, um die beiden Flüssigkeiten miteinander zu vermischen.
    F. Am Ende des einminütigen Zeitraums ändern alle TR-Kontakte ihre Position. Der normalerweise geschlossene TR-2-Kontakt, der in Reihe mit der Motorstarterspule geschaltet ist, öffnet sich und stoppt den Betrieb des Motors.
    Der normalerweise offene TR-3-Kontakt schließt und erregt die Magnetspule C, wodurch die Flüssigkeit aus dem Tank abfließen kann. Der normalerweise geschlossene Kontakt TR-1 wird verwendet, um sicherzustellen, dass die Ventile A und B nicht wieder aktiviert werden können, bis Magnetspule C abfällt.
    G. Wenn Flüssigkeit aus dem Tank abläuft, sinkt der Schwimmer. Wenn der Schwimmer weit genug abfällt, löst der Schwimmerschalter aus und seine Kontakte kehren in ihre normalen Positionen zurück. Wenn der normalerweise offene Schwimmerschalterkontakt wieder öffnet und Spule TR abschaltet, kehren alle TR-Kontakte in ihre normalen Positionen zurück.
    H. Wenn der normalerweise offene Kontakt TR-3 wieder öffnet, wird Magnetspule C abgeschaltet und schließt das Ablassventil. Kontakt TR-2 schließt sich wieder, aber der Motor kann aufgrund des normalerweise offenen Schwimmerschalterkontakts nicht neu gestartet werden.
    Wenn Kontakt TR-1 wieder schließt, wird ein Stromkreis zu den Magnetspulen A und B geschlossen. Dadurch kann der Tank wieder aufgefüllt werden und der Vorgang beginnt von vorne.
    I. Wenn die STOP-Taste oder der Überlastkontakt geöffnet wird, wird die Spule CR entregt und alle CR-Kontakte öffnen sich. Dadurch wird der gesamte Schaltkreis entregt.
    Hinweis: Das SPS-Programm wird dem obigen Relaisschema ebenfalls sehr ähnlich sein.
    Aufgabe für Sie
    Analysieren Sie die folgende Animation und teilen Sie den Schaltkreisbetrieb durch Kommentare mit.


    leizuofa
    Jetzt besprechen wir, wie eine SPS-Motorsteuerung funktioniert. Bevor wir uns mit dem Artikel befassen, nehmen wir einige Bedingungen an.
    Eine SPS muss einen Motor starten, wenn die Starttaste gedrückt wird. Sie verfügt über drei Sperren: Hohe Motorvibration, Überlastung und hohe Motortemperatur.
    Wenn eine der Sperren aktiviert wird, muss die SPS den Motor sofort stoppen.
    Die SPS muss den Motor stoppen, wenn die Stopptaste gedrückt wird.
    Die SPS-Auslöselogik oder Sperre darf nur aktiviert werden, wenn sich der Motor im Fernmodus befindet.
    SPS-Motorsteuerung

    In der obigen Abbildung: Rote LED-Anzeigen auf den Eingangs- und Ausgangskarten der SPS zeigen an, ob die jeweiligen E/A-Kanäle aktiviert sind.
    Hinweis:
    In der obigen Abbildung werden die Signale des lokalen Bedienfelds nicht angezeigt. Das lokale Bedienfeld ist direkt mit dem Motorzuführer verbunden. 24-V-Gleichstrom direkt angeschlossen (im Allgemeinen werden Sicherungen oder Barrieren verwendet, Strom wird über Sammelschiene verteilt) SPS-Eingänge
    Start-Druckknopf Stopp-Druckknopf Hohe Vibration Hohe Temperatur Überlastungsauslösung Laufrückmeldung Lokaler/Remote-Status SPS-Ausgänge
    Startbefehl (Remote-Start) Stoppbefehl (Remote-Stopp) Startfreigabe (optional) Der Motor ist ein dreiphasiges, mit 415 V Wechselstrom betriebenes Gerät. Standardmäßig werden Hochspannungsgeräte also von Umspannwerken oder Motorsteuerungszentren (MCC) mit Strom versorgt, die elektrisch betrieben werden.
    Daher gehen wir davon aus, dass dieser Motor an einen einfachen Motorzuführer im Umspannwerk angeschlossen ist.
    Im Allgemeinen hat der Motorzuführer auch Eingänge vom Feld (lokales Bedienfeld) und von der SPS. Diese sind in der folgenden Abbildung dargestellt.

    Hinweis: Der Motorzuführer kann Start-, Stopp- und andere Auslöseanzeigen wie Überlastung usw. im Motorzuführerfeld haben, die in der Abbildung nicht dargestellt sind. Diese sind (zusätzlich zum LCP) auf dem Motorzuführungspanel montiert.
    Wenn der Motorzuführung Start- und Stoppbefehle von der SPS empfängt, bezeichnen wir diese als Fernstart- und Fernstoppsignale.
    Wenn der Motorzuführung Start- und Stoppbefehle von einem lokalen Bedienfeld (LCP) empfängt, das im Feld (in der Nähe des Motors) installiert ist, bezeichnen wir diese als lokale Start- und lokale Stoppsignale.
    In der Regel verfügt dieses LCP auch über einen Not-Aus- und einen lokalen/ferngesteuerten Auswahlschalter.
    Der Motorzuführungsschalter sendet auch einen lokalen/ferngesteuerten Status an die SPS. Wenn sich der lokale/ferngesteuerte Auswahlschalter im lokalen Modus befindet, berücksichtigt der Motorzuführungsschalter nur Signale vom LCP und ignoriert die Befehle der SPS.
    Wenn sich der lokale/ferngesteuerte Auswahlschalter im Fernmodus befindet, berücksichtigt der Motorzuführungsschalter Signale von der Fernsteuerung, d. h. der SPS, und ignoriert die Signale vom LCP.
    Beispiel: Wenn sich der lokale/ferngesteuerte Auswahlschalter im Fernmodus befindet. Wenn der Feldbediener den Startdruckknopf vom Feld-LCP aus gedrückt hat, wird der Motor nicht gestartet, da die Auswahl im Fernmodus erfolgt.
    Abhängig vom Status des lokalen/ferngesteuerten Auswahlschalters entscheidet der Motorzuführer, welche Signale berücksichtigt werden, d. h. entweder PLC- oder LCP-Signale.
    Hinweis: Die lokale/ferngesteuerte Auswahl wird nicht für Nothalt- oder Stoppbefehle von PLC oder LCP angewendet. Unabhängig vom Modus werden die Stoppbefehle vom Motorzuführer akzeptiert und der Motor wird sofort gestoppt. Dies ist ein Sicherheitsrisiko.
    Sehen wir uns an, wie eine PLC einen Motor steuert.
    Jetzt ist der lokale/ferngesteuerte Auswahlschalter im Remote-Modus.
    Hier senden wir ein Freigabesignal (Startfreigabe) an den Motorzuführer. Zum Starten des Motors muss die Freigabe in Ordnung sein, andernfalls wird der Motorzuführer stromlos gemacht oder startet den Motor nicht.
    In PLC wird die Startfreigabe als zusätzliche Sicherheit und zur Überprüfung des Verriegelungsstatus verwendet. Wenn alle Verriegelungen in Ordnung sind, wird nur das Freigabesignal an den Motorzuführer gesendet.
    Im Allgemeinen nennen wir dies „Start Permissive“, da es, wie der Name schon sagt, nur zum Starten des Motors erforderlich ist. Nach dem Starten des Motors wird der Status dieses Permissive-Signals vom Motorzuführer nicht berücksichtigt (nur zum Starten des Motors erforderlich).
    Dies ist ein optionales Signal. Für Motoren mit hoher Kapazität werden Start-Permissive-Signale verwendet. Für Motoren mit normaler oder geringer Kapazität werden diese sehr selten verwendet, was wiederum von unseren Anwendungen, der Branche, den Anforderungen usw. abhängt.
    Nehmen wir an, alle Verriegelungen sind in Ordnung, also sendet die SPS das Permissive-Signal an den Motorzuführer.
    Jetzt wird der Start-Druckknopf gedrückt.
    Zuerst prüft die SPS den lokalen/Remote-Status. Wenn er sich im Remote-Status befindet, fährt sie fort.
    Wieder prüft sie, ob aktive Auslösungen/Verriegelungen vorhanden sind. Wenn keine Verriegelung vorhanden ist oder alles normal funktioniert, sendet die SPS einen Startbefehl an die Unterstation, in der der Motorzuführer installiert ist.
    In diesem Beispiel haben wir drei Verriegelungen: Motorvibration hoch, Motortemperatur hoch und Überlastauslösung.
    Im Allgemeinen sind Motoren mit hoher Kapazität mit Vibrations- und Temperatursensoren ausgestattet.
    In unserem Beispiel betrachten wir Vibrationssignale als ausfallsicher, daher ist der Standardstatus normalerweise geschlossen. Wenn eine starke Vibration auftritt, wird der Kontakt normalerweise offen und die SPS löst den Motor aus bzw. stoppt ihn.
    Wir haben eine weitere Verriegelung, nämlich die Überlastauslösung. Dieser Eingang wird vom Motorzuführer übernommen. Das Signal des Temperatursensors ist normalerweise offen und wird bei hoher Temperatur normalerweise geschlossen und die SPS schaltet den Motor aus/stoppt ihn.
    Hinweis: Der ausfallsichere oder standardmäßige Kontaktstatus (NC oder NO) hängt von unserer Anwendung oder den Logikanforderungen ab. Hier diskutieren wir nur ein Beispiel zum Verständnis des Konzepts.
    Nach Erhalt des Startbefehls von der SPS wird der Motorzuführer aktiviert und schaltet den Motor ein. Nach dem Motorstart sendet der Motorzuführer die Laufrückmeldung an die SPS. Die Laufrückmeldung wird in der Grafik angezeigt.
    Bei einigen SPS oder Sicherheits-SPS sendet die SPS automatisch ein Stoppsignal an den Motorzuführer, wenn die Laufrückmeldung nicht innerhalb eines bestimmten Zeitrahmens (z. B. innerhalb von 5 Sekunden) empfangen wird. Dies ist eine optionale Funktion in normalen SPS-Anwendungen (ein Muss bei Sicherheits-SPS).
    Wenn beispielsweise jetzt eine hohe Vibration auftritt, sendet die SPS einen Stoppbefehl an den Motorzuführer und dieser stoppt den Motor sofort. Der Laufrückmeldungsstatus wird ebenfalls entsprechend aktualisiert.
    Der Motor wird gestartet, wenn der Füllstandstransmitter hoch ist, und wird wieder gestoppt, wenn der Füllstandstransmitter niedrig ist.
    Abkürzungen:
    MCC: Motor Control Center oder Unterstation, wo der Motor mit Strom versorgt wird.
    PLC/DCS: Steuerungssystem, wo der Motor logisch (automatisch) oder durch Bedienhandlung (manuell) gesteuert werden kann.
    LCP: Lokales Bedienfeld, das vor Ort in der Nähe des Motors installiert wird und Start- und Stopp-Druckknöpfe enthält.

    caixiaofeng
    Instrumentierung und Steuerung basieren auf der Umwandlung physikalischer oder Prozessvariablen in ein nützlicheres Format für die Anzeige des Bedieners.
    Der Druck in einem Rohr wird in die mechanische Auslenkung einer Membran umgewandelt, die von einem Dehnungsmessstreifen (die Membran und der Dehnungsmessstreifen bilden einen Wandler) in elektrische Energie umgewandelt wird, dann von einem E/A-Modul in einen numerischen Ganzzahlwert und dann von der SPS oder HMI zur Anzeige in einen Gleitkommawert in einer technischen Einheit.
    Diese Informationen werden auch verwendet, um Ausgabebefehle zu generieren, die in elektrische Signale und dann in mechanische Aktionen umgewandelt werden. Der Trick besteht darin, die E/A-Beziehungen der verschiedenen Wandler zu verstehen.
    So liest die SPS die Daten von Feldtransmittern

    Beispielsweise verursacht eine Durchflussöffnung einen vorhersehbaren Druckabfall, wenn Flüssigkeiten darüber fließen. Ein Drucktransmitter kann diesen Druckabfall messen, indem er den vorgeschalteten Druck mit dem nachgeschalteten Druck vergleicht.
    Obwohl dieser Druckunterschied nicht linear zur Durchflussrate ist, besteht eine wiederholbare Beziehung zu ihr. Diese Beziehung lässt sich am besten als Quadratwurzelfunktion darstellen.
    Die Quadratwurzel des Differenzdrucksignals linearisiert es effektiv mit der Durchflussrate.
    Nachdem eine lineare Beziehung hergestellt wurde, kann die gesamte Umwandlungssequenz vom Sender zur Computeranzeige aus einer Messung abgeleitet werden.
    Die folgende Abbildung zeigt zwei typische Temperaturmessschaltungen wie folgt: Die obere Konfiguration verwendet die externe Stromversorgung des Senders, um die Signalschleife mit Strom zu versorgen.
    Diese Konfiguration wird als Vierleiterschleife bezeichnet. Die untere Konfiguration verwendet eine interne Stromversorgung (AI-Kartenstromversorgung), um die Schleife mit Strom zu versorgen. Diese Konfiguration wird als Zweileiterschleife bezeichnet.

    Die folgende Diskussion über Einheitenumrechnungen gilt für beide Schaltungstypen. Konzentrieren Sie sich auf die obere Schaltung.
    Ein Thermoelement ist das Sensorelement. Thermoelemente sind Geräte, die das Prinzip des Bimetallkontakts verwenden, um ein kleines Millivoltsignal zu erzeugen.
    Beachten Sie, dass die im Diagramm dargestellte Temperatur-Spannungs-Kurve über das gesamte Temperaturintervall hinweg relativ linear ist.
    Außerhalb dieses Temperaturintervalls kann das Signal weniger linear werden (eine Eigenschaft eines Thermoelements), aber das ist hier nicht von Bedeutung.

    Die Skalierung des Instruments muss immer bei der Prozessmessung beginnen. Der Konstrukteur konsultiert das Wärme- und Materialbilanzblatt (HMB) für unser imaginäres System und findet heraus, dass die erwartete Temperatur am Messpunkt ungefähr 105 °C beträgt.
    Die vorgeschaltete Heizung kann das System auf ungefähr 130 °C erhitzen, bevor sie aufgrund ihrer Übertemperaturverriegelung abschaltet.
    Der Konstrukteur weiß, dass ein richtig kalibrierter Bereich den normalen Betriebspunkt ungefähr in der Mitte der Kurve platzieren würde. Das obere Ende müsste über 130 °C liegen.
    Nach einigem Überlegen entscheidet sich der Ingenieur für einen kalibrierten Bereich von 15 bis 150 °C und wählt ein Thermoelement vom Typ K, das über dieses Temperaturintervall eine Ausgabe von 0,597 bis 6,138 mV liefert.

    Der Temperaturtransmitter muss dann auf dem Prüfstand kalibriert werden, um ein 4-20 mA-Ausgangssignal bereitzustellen, das proportional zum erwarteten 0,597 bis 6,138 mV-Eingangssignal des Thermoelements ist.
    Der Transmitter ist eine Stromquelle (im Gegensatz zu einer Spannungsquelle) und variiert seine Leistungsabgabe nach Bedarf, um eine konstante Milliampere-Ausgabe aufrechtzuerhalten, die proportional zu den Millivolt an seinem Eingang ist, d. h. der gemessenen Temperaturanzeige.
    (Hinweis: Eine Spannungsquelle, wie z. B. eine Batterie, versucht, unabhängig von der Belastung eine konstante Spannung aufrechtzuerhalten, während eine Stromquelle versucht, unabhängig von der Belastung einen konstanten Strom aufrechtzuerhalten.)
    Der Temperaturtransmitter wandelt dieses Signal dann in ein skaliertes 4-20 mA-Signal um, in diesem Fall für einen Bereich von 15 bis –150 °C.
    Die SPS verfügt über ein analoges Eingangsmodul, das die Ausgabe des Temperaturtransmitters erkennt. Nahezu alle analogen Eingangsmodule sind Voltmeter, auch wenn sie als Milliampere-Eingänge aufgeführt sind.
    Manchmal befindet sich der Widerstand extern auf der Klemmleiste und manchmal intern auf dem PLC-E/A-Modul (siehe Abbildung). In beiden Fällen wird das 4-20 mA-Signal in eine Spannung umgewandelt.
    Normalerweise beträgt diese Spannung 1-5 VDC, da der verwendete Widerstand 250 Ohm beträgt. Dieser analoge Wert muss dann in einen binären Wert umgewandelt werden.
    In unserem Beispiel gibt die PLC-Spezifikation dieses spezielle PLC-E/A-Modul mit einer Auflösung von 12 Bit an. Um die Auflösung des Moduls in Bezug auf die Prozessvariable zu ermitteln, führen Sie eine binäre Umwandlung durch: 212 = 4095.
    Für einen Eingangsbereich von 1-5 VDC stellt das PLC-E/A-Modul dem PLC-Programm also einen ganzzahligen Wert im Bereich von 0 bis 4095 zur Verfügung.
    Das PLC-Programm kann diese Daten nach Bedarf abrufen und verwenden. Eine der möglichen Aktionen des SPS-Programms besteht darin, diesen Datenwert in einen Netzwerkschnittstellenpuffer (eine Reihe zusammenhängender Speicherorte im SPS-Speicher) zu verschieben, um ihn weiter an die HMI zu übertragen.
    Der Rohwert wird dann für die Datenübertragung über das Netzwerk bereitgestellt.
    Das HMI empfängt diesen übertragenen Datenstrom, der dann in einem Eingabedatenpuffer gespeichert wird. Der HMI-Computer verfügt über eine Tagdatei-Datenbank, die Anweisungen zur Bearbeitung jedes Datenelements zur Präsentation für den Bediener enthält.
    Viele der Tags in der Tagdatei sind mit Datenelementen im Eingabedatenpuffer verknüpft. Ein solches Tag ist mit diesem bestimmten Ort verknüpft.
    Der Rohwert von 0 bis 4095 wird extrahiert und mithilfe der Formel, die entweder in der Tagdatei-Datenbank oder in der Grafikbildschirmsoftware, die die Informationen verwendet, eingebettet ist, in technische Einheiten umgewandelt.
    Die Formel in unserem Beispielfall ist in der folgenden Abbildung dargestellt.
    Der erzeugte Wert (85,88) wäre der Wert, der dem Bediener in °C wie folgt in den folgenden Abbildungen angezeigt wird:


    xiangjinjiao
    Hier emulieren wir genau denselben Hochdruckalarmkreis mit einer Allen-Bradley MicroLogix 1000-SPS anstelle einer Relaisspule:
    Beispiel für SPS-Logik

    Kontaktplanlogikprogramm

    Nehmen wir an, dass ein Flüssigkeitsdruck von 36 PSI auf den Druckschalter ausgeübt wird. Dies ist weniger als die Auslöseeinstellung des Schalters von 50 PSI, wodurch der Schalter in seinem „normalen“ (geschlossenen) Zustand verbleibt. Dadurch wird Strom an Eingang I:0/2 der SPS gesendet.
    Der mit I:0/2 gekennzeichnete Kontakt im Kontaktplanlogikprogramm der SPS fungiert wie ein Relaiskontakt, der von einer Spule angetrieben wird, die durch Eingangsklemme I:0/2 mit Strom versorgt wird.
    Somit versorgt der geschlossene Druckschalterkontakt Eingangsklemme I:0/2 mit Strom, was wiederum das normalerweise offene Kontaktsymbol I:0/2 im Kontaktplanlogikprogramm „schließt“.
    Dieser „virtuelle“ Kontakt sendet virtuellen Strom an eine virtuelle Spule mit der Bezeichnung B3:0/0, die nichts weiter als ein einzelnes Datenbit im Mikroprozessorspeicher der SPS ist.
    Das „Aktivieren“ dieser virtuellen Spule hat zur Folge, dass jeder im Programm gezeichnete Kontakt mit derselben Bezeichnung „betätigt“ wird.
    Das bedeutet, dass der normalerweise geschlossene Kontakt B3:0/0 jetzt „betätigt“ und somit im offenen Zustand ist und keinen virtuellen Strom an die Ausgangsspule O:0/1 sendet.
    Wenn die virtuelle Spule O:0/1 „stromlos“ ist, ist der reale Ausgang O:0/1 auf der SPS elektrisch geöffnet und die Alarmlampe ist stromlos (aus).
    Wenn wir annehmen, dass ein Flüssigkeitsdruck von 61 PSI auf den Druckschalter ausgeübt wird, wird der normalerweise geschlossene Druckschalterkontakt in den offenen Zustand betätigt (gezwungen).
    Dies hat zur Folge, dass der SPS-Eingang I:0/2 stromlos gemacht wird, wodurch der normalerweise offene virtuelle Kontakt im SPS-Programm mit derselben Bezeichnung „geöffnet“ wird. Dieser „offene“ virtuelle Kontakt unterbricht die virtuelle Stromversorgung der virtuellen Spule B3:0/0, wodurch der normalerweise geschlossene virtuelle Kontakt B3:0/0 „geschlossen“ wird und virtuelle Stromversorgung an die virtuelle Spule O:0/1 gesendet wird.
    Wenn diese virtuelle Ausgangsspule „stromführend“ wird, wird der reale Ausgangskanal der SPS aktiviert und sendet echte Stromversorgung an die Alarmleuchte, um diese einzuschalten und einen Hochdruckalarmzustand anzuzeigen.
    Wir können dieses SPS-Programm noch weiter vereinfachen, indem wir das virtuelle Steuerrelais B3:0/0 eliminieren und einfach Eingang I:0/2 Ausgang O:0/1 durch einen „normalerweise geschlossenen“ virtuellen Kontakt aktivieren lassen:

    Die Wirkung ist dieselbe: Der SPS-Ausgang O:0/1 wird aktiviert, wenn Eingang I:0/2 entregt wird (wenn der Druckschalter durch einen hohen Druck geöffnet wird), und schaltet die Alarmlampe bei einem hohen Druckzustand ein.
    Bei einem niedrigen Druckzustand zwingt der aktivierte Eingang I:0/2 den virtuellen, normalerweise geschlossenen Kontakt I:0/2 zum Öffnen, wodurch der Ausgang O:0/1 der SPS entregt und die Alarmlampe ausgeschaltet wird.
    Speicherprogrammierbare Steuerungen haben nicht nur die Verdrahtung industrieller Logiksteuerungen erheblich vereinfacht, indem sie eine Vielzahl elektromechanischer Relais durch einen Mikroprozessor ersetzt haben, sondern sie haben auch erweiterte Funktionen wie Zähler, Zeitgeber, Sequenzer, mathematische Funktionen, Kommunikation und natürlich die Möglichkeit hinzugefügt, die Steuerlogik einfach durch Programmierung zu ändern, anstatt Relais neu zu verdrahten.
    Das Schöne an der Kontaktplanprogrammierung ist, dass sie das Verständnis des Technikers für traditionelle Relaissteuerkreise in eine virtuelle Form überträgt, in der Kontakte und Spulen interagieren, um praktische Steuerfunktionen auszuführen.
    Ein Schlüsselkonzept, das es zu beherrschen gilt, ist jedoch die Verknüpfung realer Bedingungen mit dem Schalterstatus basierend auf der „normalen“ Darstellung dieser Schalterkontakte, unabhängig davon, ob die Schalter real (Relais) oder virtuell (SPS) sind. Sobald dieses wichtige Konzept beherrscht wird, werden sowohl fest verdrahtete Relaissteuerkreise als auch SPS-Programme verständlich. Ohne Beherrschung dieses wichtigen Konzepts können weder Relaissteuerkreise noch SPS-Programme verstanden werden.

    leikang
    Der IEC 61131-3-Standard spezifiziert mehrere spezielle Kontaktplananweisungen zum Durchführen arithmetischer Berechnungen. Einige davon werden hier gezeigt:
    SPS-Mathematikanweisungen

    Wie bei den Datenvergleichsanweisungen muss jede dieser Mathematikanweisungen durch ein „aktiviertes“ Signal am Aktivierungseingang (EN) aktiviert werden. Eingangs- und Ausgangswerte sind mit jeder Mathematikanweisung durch den Tag-Namen verknüpft.
    Hier wird ein Beispiel für die Verwendung solcher Anweisungen gezeigt, bei dem eine Temperaturmessung in Grad Fahrenheit in Grad Celsius umgewandelt wird.
    In diesem speziellen Fall gibt das Programm eine Temperaturmessung von 138 Grad Fahrenheit ein und berechnet die entsprechende Temperatur von 58,89 Grad Celsius:

    sowie eine spezielle Variable (X), die zum Speichern der Zwischenberechnung zwischen den Subtraktions- und Divisions-„Boxen“ verwendet wird.
    Obwohl es nicht in der Norm IEC 61131-3 spezifiziert ist, unterstützen viele speicherprogrammierbare Steuerungen mathematische Anweisungen für Kontaktplandiagramme, die die direkte Eingabe beliebiger Gleichungen ermöglichen.
    Die Logix5000-Programmierung von Rockwell (Allen-Bradley) verfügt beispielsweise über die Funktion „Compute“ (CPT), mit der jeder typisierte Ausdruck in einer einzigen Anweisung berechnet werden kann, anstatt mehrere spezielle mathematische Anweisungen wie „Addieren“, „Subtrahieren“ usw. zu verwenden.
    Allgemeine mathematische Anweisungen verkürzen die Länge eines Kontaktplanprogramms im Vergleich zur Verwendung spezieller mathematischer Anweisungen für Anwendungen, die nicht triviale Berechnungen erfordern, erheblich.
    Beispielsweise erfordert dasselbe in der Logix5000-Programmierung implementierte Temperaturumrechnungsprogramm von Fahrenheit in Celsius nur eine einzige mathematische Anweisung und keine Deklarationen von Zwischenvariablen:


    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:
    Aufwärtszähler, Abwärtszähler und 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:

    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:

    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:

    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:

    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:

    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:

    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!).

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