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

    PLC, DCS, HMI and SCADA product application technical articles

    leizuofa
    Schreiben Sie ein SPS-Logik-GATE-Programm für das folgende SPS-Beispiel.
    Logik-GATE-Programm
    Schreiben Sie ein Programm, das B3:0 mit B3:1 UND-verknüpft, wenn I:0.0/0 aktiviert ist, B3:0 mit B3:1 ODER-verknüpft, wenn I:0.0/1 aktiviert ist, B3:0 mit B3:1 XOR-verknüpft, wenn I:0.0/2 aktiviert ist, und B3:0 KOMPLEMENTIERT, wenn I:0.0/3 aktiviert ist. B3:1 soll in jedem Fall das Ergebnis enthalten.
    Wenn mehr als ein Eingang I:0.0/0-I:0.0/3 aktiviert ist, wird nur eine der Operationen ausgeführt.
    Die Prioritätsreihenfolge für Operationen sollte von UND (höchste Priorität) bis KOMPLEMENT (niedrigste Priorität) sein.
    SPS-Kontaktplanlogik


    caixiaofeng
    Entwerfen Sie ein SPS-Programm zur Regelung des Wasserstands eines Wasserspeichertanks durch Ein- und Ausschalten einer Ablasspumpe basierend auf niedrigem und hohem Pegel.
    SPS-Programm zur Wasserstandsregelung

    Logikbeschreibung
    Auto: Wenn der Auto-Modus im lokalen Bedienfeld ausgewählt ist, wird die Pumpe logisch basierend auf dem Niedrigpegelschalter und dem Hochpegelschalter gesteuert. Manuell: Wenn der manuelle Modus im lokalen Bedienfeld ausgewählt ist, wird die Pumpe unabhängig vom Status des Niedrigpegelschalters und des Hochpegelschalters manuell über die EIN/AUS-Taste im lokalen Bedienfeld gesteuert. Wenn der Wasserstand einen niedrigen Pegel erreicht, wird die Pumpe gestoppt. Wenn der Wasserstand einen hohen Punkt erreicht, wird die Pumpe gestartet, damit das Wasser abgelassen und der Pegel so gesenkt werden kann. Anzeigefeld: Dieses Feld enthält LEDs zur Anzeige des Status der Wasserstandsregelung. Es verfügt über Signale für Pumpenbetrieb sowie Niedrigpegel und Hochpegel. Wenn die Pumpe läuft, leuchtet die Statuslampe „Pumpe läuft“. Wenn dann der Niedrigpegelschalter aktiviert ist, leuchtet die Niedrigpegel-Statuslampe. Wenn der Hochpegelschalter aktiviert ist, leuchtet die Hochpegel-Statuslampe. SPS-Leiterlogik
    Manueller Modus ausgewählt, AUS-Position und Wasser auf niedrigem Niveau

    Manueller Modus ausgewählt & Wasser zwischen niedrigem und hohem Niveau

    Automatischer Modus ausgewählt & Hochpegelschalter aktiviert


    leikang
    SPS-Programm: Bei einem kontinuierlichen Füllbetrieb müssen Kisten, die sich auf einem Förderband bewegen, automatisch positioniert und gefüllt werden.
    SPS-Programm für kontinuierlichen Füllbetrieb

    Zweck
    Magnetspule: Zur Steuerung der Produktbefüllung aus dem Abfüller. Die Magnetspule wird aktiviert, nachdem die Kiste positioniert wurde (Aktivierung des Näherungsschalters) und wieder deaktiviert, nachdem der Füllstandsschalter aktiviert wurde (Füllstand voll).
    Füllstandsschalter: Zur Erkennung des Produktfüllstands in der Füllkiste.
    Näherungsschalter: Zur Positionierung der Kiste genau unter dem Abfüller.
    Motor: Zum Betreiben des Förderbands, sodass sich die Kiste entsprechend bewegt.
    Lokales Bedienfeld: Es verfügt über START- und STOP-Tasten zur Steuerung der Sequenz.
    Anzeigefeld: Es zeigt den Anlagen-/Chargenstatus an. Statussignale sind Betrieb/Standby/Voll.
    SPS-Logik

    Die folgenden Positionen sind die Standardpositionen:
    STOP-Schalter: Normalerweise geschlossen (NC) START-Schalter: Normalerweise offen (NO) Näherungsschalter: Normalerweise offen (NO) Niveauschalter: Normalerweise offen (NO) Hinweis: In der Kontaktplanlogik können wir je nach Bedarf entweder NO- oder NC-Kontakte als Standard für Näherungs- und Niveauschalter verwenden. Wenn wir NO verwenden, wird es nach Aktivierung des Schalters zu NC. Wenn wir NC verwenden, wird es nach Aktivierung des Schalters zu NO.
    Erklärung
    Hier haben wir 5 Sprossen/vollständige Zeilen in der obigen Kontaktplanlogik.
    Erste Sprosse:
    Sie hat die Anzeige STOP, START und RUN. STOP ist standardmäßig NC, START ist NO, wenn wir den START-Befehl drücken, sind sowohl STOP als auch START NC, sodass der Ausgang RUN aktiviert wird.
    Die RUN-Anzeige wird im Anzeigefeld angezeigt. Da START ein Druckknopf ist, der nur einen momentanen Befehl erzeugt.
    Also verwenden wir einen logischen NO-Kontakt vom RUN-Ausgang. Wenn RUN aktiviert ist, wird NO zu NC und hält/verriegelt den START-Befehl und RUN wird kontinuierlich aktiviert, auch wenn das START-Signal verloren geht, da es sich um einen Momenttyp handelt.
    Zweite Sprosse:
    Wird verwendet, um den STAND BY-Signalstatus im Anzeigefeld anzuzeigen. Der NC-Kontakt der RUN-Anzeige ist mit STANDBY verbunden.
    Wenn also das RUN-Signal aktiviert oder der Prozess gestartet wird, wird NC zu NO und die STAND BY-Anzeige wird deaktiviert. Wenn es nicht läuft, wird Standby aktiviert.
    Dritte Sprosse:
    Wird verwendet, um den FULL-Signalstatus im Anzeigefeld anzuzeigen. Wenn Niveauschalter und Näherungsschalter aktiviert werden, werden NO-Kontakte zu NC und der FULL-Signalstatus wird aktiviert.
    Vierte Sprosse:
    Wird verwendet, um den Motor entweder START/STOP zu steuern. Der NC-Kontakt des Näherungsschalters und der NO-Kontakt des RUN-Signals werden hier verwendet, um den Motor zu steuern.
    Wenn wir also die START-Taste drücken, wird RUN aktiviert (wie in der ersten Sprosse beschrieben), sodass der NO-Kontakt des RUN-Signals zu NC wird.
    Sowohl Näherungs- als auch RUN-Signale sind aktiviert/fehlerfrei, dann wird der Motor gestartet und das Förderband läuft an und die Kiste/das Paket beginnt sich zu bewegen.
    Sobald die Kiste Hooper erreicht, wird der Näherungsschalter aktiviert. Der NC-Kontakt des Näherungsschalters wird also zu NO, sodass der Motor sofort gestoppt wird.
    Nach dem Befüllen muss sich die Kiste erneut bewegen und die andere Seite erreichen. Daher verwenden wir hier den NO-Kontakt des Niveauschalters über dem Näherungsschalter.
    Wenn das Befüllen abgeschlossen ist, wechselt der Kontakt des Niveauschalters von NO zu NC, sodass der Motor erneut startet und die Kiste zum anderen Ende bewegt.
    Fünfte Sprosse:
    Wird verwendet, um den Betrieb des Magnetventils zu steuern. Wenn das Magnetventil aktiviert ist, beginnt es mit dem Befüllen der Kiste und wenn das Magnetventil deaktiviert wird, wird das Befüllen gestoppt.
    Hier verwenden wir hauptsächlich den NO-Kontakt des RUN-Signals, den NC-Kontakt des Niveauschalters und den NO-Kontakt des Näherungsschalters, um das Magnetventil zu steuern.
    Das Magnetventil wird aktiviert, wenn der START-Befehl gegeben wird (RUN-Signal: NO-Kontakt wird zu NC), wenn der Füllstand Null ist (Standardmäßig wird hier NC-Kontakt des Füllstandsschalters verwendet), wenn die Kiste unter den Fädler gestellt wird (Näherungsschalter: NO-Kontakt verwendet.
    Wenn die Kiste also unter dem Fädler ankommt, wird NO-Kontakt zu NC), nachdem alle Logiken in Ordnung sind, wird das Magnetventil aktiviert und beginnt mit dem Füllen.
    Wenn der Füllstand 100 % erreicht, wird der Füllstandsschalter zu NO und stoppt somit das Füllen durch Deaktivieren des Magnetventils. Wir haben hier einen Näherungsschalter verwendet, weil das Füllen gestartet werden muss, wenn die Kiste in der richtigen Position steht.
    Nach dem Füllen wird die Kiste herausgefahren und das Füllen beginnt erneut, wenn die nächste Kiste unter den Fädler kommt.

    leikang
    Hier besprechen wir die PLC-Pneumatikkreissteuerung anhand verschiedener Beispiele. PLC-Leiterdiagramm für einfachwirkende und doppeltwirkende pneumatische Zylinder.
    Beispiele für PLC-Pneumatikkreise
    Beispiel 1:
    Ein doppeltwirkender Zylinder wird für Bearbeitungsvorgänge verwendet. Der pneumatische Zylinder wird durch gleichzeitiges Drücken zweier Druckknöpfe vorgeschoben. Wird einer der Druckknöpfe losgelassen, kehrt der Zylinder in die Ausgangsposition zurück. Zeichnen Sie den pneumatischen Schaltkreis, den PLC-Schaltplan und den Leiterdiagramm, um diese Aufgabe umzusetzen.
    Lösung:

    Wie im PLC-Schaltplan gezeigt, sind die Druckknöpfe PB1 und PB2 an den Speicheradressen I1 und I2 angeschlossen.
    I1 und I2 sind im Leiterdiagramm in Reihe geschaltet, um diese UND-Logikfunktion zu realisieren.
    Wenn die Drucktasten PB1 und PB2 gleichzeitig gedrückt werden, wechseln die Adressen I1 und I2 von Zustand 0 in Zustand 1, wodurch Strom durch die Spule fließt und an Spule 01 eine Ausgabe erfolgt. Die Ausgabe an Spule 01 betätigt die Magnetspule und der Zylinder bewegt sich vorwärts, um die erforderliche Operation auszuführen.
    Wenn eine der Tasten PB1 und PB2 gedrückt wird, werden die entsprechenden Bitadressen auf 0 gesetzt. Da I1 und I2 in Reihe geschaltet sind, wird, wenn eine der beiden auf 0 gesetzt wird, an 01 keine Ausgabe ausgegeben und der Magnet wird somit deaktiviert und kehrt zurück.
    Beispiel 2:
    Ein doppeltwirkender Zylinder wird für die Vorwärts- und Rückwärtsbewegung verwendet. Der pneumatische Zylinder wird durch Drücken der Drucktasten PB1 vorgeschoben. Der Zylinder wird durch Drücken der Drucktaste PB2 zurückgeschoben. Zeichnen Sie den pneumatischen Schaltkreis, den PLC-Schaltplan und den Leiterplan, um diese Aufgabe umzusetzen.

    Lösung

    Der PLC-Schaltplan und die Leiterpläne sind in der obigen Abbildung dargestellt. Wenn der Druckknopf PB1 gedrückt wird, wechselt der Zustand der Adresse I1 zu 1 und es wird somit die Ausgabe 01 ausgegeben. Die Ausgabe von 01 betätigt den Magneten Y1 und der Zylinder bewegt sich vorwärts.
    Wenn der Zylinder die äußerste vorderste Position erreicht und der Druckknopf PB2 betätigt wird, wechselt der Zustand der Adresse I2 zu 1 und es wird somit die Ausgabe 02 ausgegeben. Die Ausgabe von 02 betätigt den Magneten Y2 und der Zylinder kehrt in die Ausgangsposition zurück.
    Beispiel 3:
    Ein doppeltwirkender Zylinder wird verwendet, um nach Erreichen der äußersten vordersten Position automatisch vorwärts und zurück zu fahren. Der pneumatische Zylinder wird durch Drücken der Druckknöpfe PB1 vorgeschoben. Zeichnen Sie den pneumatischen Schaltkreis, den PLC-Schaltplan und den Leiterplan, um diese Aufgabe umzusetzen.
    Lösung

    Der PLC-Schaltplan und die Leiterpläne sind in der obigen Abbildung dargestellt. Wenn der Druckknopf PB1 gedrückt wird, wechselt der Zustand der Adresse I1 zu 1 und es wird somit die Ausgabe 01 ausgegeben. Die Ausgabe von 01 betätigt den Magneten Y1 und der Zylinder bewegt sich vorwärts.
    Wenn der Zylinder die äußerste Vorwärtsposition erreicht und der Endschalter S2 betätigt wird, wechselt der Zustand der Adresse I3 zu 1 und es wird somit ein Ausgang 02 ausgegeben. Der Ausgang von 02 betätigt den Magneten Y2 und der Zylinder kehrt in die Ausgangsposition zurück.
    Beispiel 4:
    Für den Pressvorgang wird ein doppeltwirkender Zylinder verwendet. Der Zylinder muss sich vorwärts bewegen, wenn die Taste PB1 gedrückt wird, und für eine festgelegte Zeit von 20 Sekunden zurückkehren, bevor er automatisch in die Ausgangsposition zurückkehrt. Der Endschalter S2 wird zur Enderkennung der Vorwärtsbewegung des Zylinders verwendet. Zeichnen Sie den pneumatischen Schaltkreis, den SPS-Schaltplan und das Leiterdiagramm, um diese Aufgabe umzusetzen.
    Lösung

    Wenn PB1 gedrückt wird, wechselt der Eingangszustand der Adresse I1 zu 1 und es wird ein Ausgang an O1 ausgegeben. Aufgrund des Ausgangs an O1 wird die Magnetspule Y1 betätigt und der Zylinder bewegt sich vorwärts.
    Wenn der Zylinder die Endposition erreicht, wird der Endschalter S2 betätigt und infolgedessen wechselt die Adresse I3 zu 1 und startet folglich den Timer T1.
    Der Signalzustand des Timers T1 ändert sich nach 20 Sekunden auf 1. Nach Ablauf der 20 Sekunden wird vom Timer T1 der Ausgang O2 ausgegeben. Spule Y2 wird aktiviert, wodurch die Rücklaufbewegung des Zylinders ausgelöst wird.
    Beispiel 5:
    Ein doppeltwirkender Zylinder wird für eine kontinuierliche Hin- und Herbewegung verwendet. Der Zylinder muss sich vorwärts bewegen, wenn die Taste PB1 gedrückt wird, und sobald die Hin- und Herbewegung beginnt, sollte sie fortgesetzt werden, bis die Stopptaste PB2 gedrückt wird. Endschalter werden zur Endlagenerkennung verwendet. Zeichnen Sie den pneumatischen Schaltkreis, den SPS-Schaltplan und den Leiterplan, um diese Aufgabe umzusetzen.
    Lösung:

    Die Start- und Stoppvorgänge können mithilfe eines Speicherflags mit der Adresse M1 implementiert werden, das von PB1 gesetzt und von PB2 zurückgesetzt wird.
    Der Zustand des Speicherelements M1 wird über einen Schließerkontakt abgefragt und in Reihe mit dem Zustand des Sensors S1 kombiniert, um Start- und Stoppsteuerungen zu erhalten.
    Beispiel 6:
    Ein doppeltwirkender Zylinder wird für Hin- und Herbewegungen verwendet. Der Zylinder muss sich vorwärts bewegen, wenn die Taste PB1 gedrückt wird, und die Hin- und Herbewegung fortsetzen, bis 10 Betriebszyklen durchgeführt wurden. Zeichnen Sie den pneumatischen Schaltkreis, den SPS-Schaltplan und das Kontaktplandiagramm, um diese Aufgabe umzusetzen.
    Lösung

    Der vollautomatische Betrieb des Zylinders kann wie zuvor durch Verwendung der Endschalter S1 und S2 erreicht werden.
    Start- und Stoppvorgänge können mithilfe eines Speicherflags mit der Adresse M1 implementiert werden, das von PB1 an I1 gesetzt und durch den NC-Kontakt eines Abwärtszählers zurückgesetzt wird.
    Der Zustand des Speicherflags M1, der über einen NO-Kontakt (Sprosse 2) abgefragt wird, wird in Reihe mit dem Zustandssensor S1 kombiniert, um Start- und Stoppsteuerungen zu erhalten.
    Beispiel 7:
    Zeichnen Sie den pneumatischen Schaltkreis, den SPS-Schaltplan und das Kontaktplandiagramm, um die Sequenz A+B+B-A- zu implementieren.
    Lösung

    In dieser Sequenzschaltung wird PB2 verwendet, um das Programm zu starten. Durch Drücken von PB2 wird der letzte Speicherzustand M4 gesetzt und alle anderen Speicherflags M1, M2 und M3 zurückgesetzt. Zunächst werden S1 und S3 betätigt und erzeugen Ausgaben.
    Bedingung 1:
    Durch Drücken von PB1 wird das Speicherflag M1 gesetzt und das Speicherflag M4 zurückgesetzt. Magnetspule Y1 wird aktiviert. Zylinder A fährt aus (A+). Sensor S1 wird deaktiviert, sobald A fährt, und S2 wird aktiviert, wenn die Endposition erreicht ist.
    Bedingung 2:
    Wenn S2 betätigt wird, wird Speicher M2 gesetzt und Speicherflag M1 zurückgesetzt. Magnetspule Y3 wird aktiviert. Zylinder B fährt aus (B+). Sensor S3 wird deaktiviert, sobald B fährt, und S4 wird aktiviert, wenn die Endposition erreicht ist.
    Bedingung 3:
    Wenn S4 betätigt wird, wird Speicher M3 gesetzt und Speicherflag M2 zurückgesetzt. Magnetspule Y4 wird aktiviert. Zylinder B fährt ein (B-). Sensor S4 wird deaktiviert, sobald B fährt, und S3 wird aktiviert, wenn die Ausgangsposition erreicht ist.
    Bedingung 4:
    Wenn S3 betätigt wird, wird Speicher M4 gesetzt und Speicherflag M3 zurückgesetzt. Magnetspule Y2 wird aktiviert. Zylinder A fährt ein (A-). Sensor S2 wird deaktiviert, sobald B fährt, und S1 wird aktiviert, wenn die Ausgangsposition erreicht ist.


    leigehong
    Eine speicherprogrammierbare Steuerung (SPS) SLC500 von Allen-Bradley verwendet einen 16-Bit-Analog-Digital-Wandler (in ihrem Modell 1746-NI4) in einer analogen Eingangskarte, um 4-20 mA-Signale in digitale Zahlenwerte im Bereich von 3277 (bei 4 mA) bis 16384 (bei 20 mA) umzuwandeln.
    Allerdings müssen diese Rohzahlen von der analogen Karte der SPS mathematisch in der SPS skaliert werden, um reale Maßeinheiten darzustellen, in diesem Fall 0 bis 700 GPM Durchfluss.
    Skalierung analoger SPS-Eingänge
    Formulieren Sie eine Skalierungsgleichung, um sie in die SPS zu programmieren, sodass 4 mA Strom als 0 GPM und 20 mA Strom als 700 GPM registriert werden.

    Wir haben bereits die Rohwerte aus dem Analog-Digital-Wandler (ADC) der Analogkarte für 4 mA und 20 mA erhalten: 3277 bzw. 16384.
    Diese Werte definieren den Bereich unseres linearen Graphen:

    Berechnen und Ersetzen des Steigungswerts (m) für diese Gleichung unter Verwendung des vollständigen Anstiegs-/Überlaufbereichs der linearen Funktion:

    Diese Art der Skalierungsberechnung ist in SPS-Anwendungen so üblich, dass Allen-Bradley einen speziellen SCL-Befehl („Skalierung“) nur für diesen Zweck bereitgestellt hat.
    Statt „Steigung“ (m) und „Achsenabschnitt“ (b) fordert der Befehl den menschlichen Programmierer auf, Werte für „Rate“ bzw. „Offset“ einzugeben.
    Darüber hinaus wird die Rate in der SCL-Anweisung von Allen-Bradley als Zähler eines Bruchs ausgedrückt, dessen Nenner auf 10000 festgelegt ist, sodass Bruchsteigungswerte (weniger als eins) mithilfe ganzer Zahlen angegeben werden können.
    Abgesehen von diesen Details ist das Konzept genau dasselbe. Um unsere Steigung von 700/13107 als Bruch mit 10000 als Nenner auszudrücken, muss der Zähler lediglich durch Kreuzmultiplikation und Division gelöst werden:

    Die SCL-Anweisung wäre also wie folgt konfiguriert:


    leikang
    Ich bin immer wieder überrascht, wie ein Automatisierungssystem wie eine SPS oder ein DCS einen Sensor skaliert. Manchmal denke ich sogar über einfache Skalierungstechniken für Feldtransmitter nach, um jede Art von Sensorausgang in Standard 4-20 mA umzuwandeln.
    Betrachten wir beispielsweise einen Temperaturtransmitter. Wir alle wissen, dass wir mithilfe einer einfachen Formel die äquivalente Temperatur aus dem Ausgangswiderstand des RTD-Sensors berechnen können. Und im Fall eines Thermoelements ist ein komplexer Algorithmus erforderlich, um seine Ausgangsmillivolt in die äquivalente Temperatur umzuwandeln.
    Die Frage ist nun also: Wie skaliert eine SPS oder ein DCS oder ein Transmitter?
    Lassen Sie uns die Skalierung im Detail besprechen.

    Wie skaliert eine SPS einen Sensor?
    Skalierung ist der Vorgang, bei dem ein Signal, wie z. B. eine Prozessvariable, Spannung oder Stromausgang von einem Sensor, genommen und Berechnungen angewendet werden, um dieses Signal dem Bediener im Kontrollraum in einer besser nutzbaren Form in technischen Einheiten, wie z. B. PSI, °F oder %RH, zu präsentieren.
    In der Welt der Datenerfassung werden drei gängige Techniken verwendet: lineare Skalierung, zugeordnete Skalierung und Formelskalierung.
    Alle drei Methoden haben ihre Berechtigung und werden in diesem Artikel beschrieben.
    Skalierungstechniken
    In diesem Artikel werden wir drei Techniken zur Skalierung behandeln: linear, Zuordnung und Formel.
    Diese drei Techniken überschneiden sich ein wenig, wie wir erklären werden, aber sie sind die primären Methoden, die in der Welt der Datenerfassung verwendet werden.
    Um einen kurzen Überblick über diese drei Methoden und ihre optimale Verwendung zu geben, haben wir unten eine Tabelle zusammengestellt.

    In bestimmten Fällen, in denen keine formelbasierte Skalierung verfügbar ist, kann manchmal eine Zuordnung verwendet werden, um eine Tabelle basierend auf der benötigten Formel vorab zu definieren und umgekehrt.
    Es ist auch erwähnenswert, dass bei der Arbeit mit einem Sensor mit analogem Ausgang die für diesen Sensor angegebenen Einheiten nicht in Stein gemeißelt sind.
    Wenn Ihr Sensor beispielsweise einen 4- bis 20-mA-Ausgang für einen Bereich von -40 bis 100 °C hat, wäre es genauso einfach, den Ausgang in Fahrenheit zu skalieren, indem man sagt, dass die Einheit einen Bereich von -40 bis 212 °F hat. Wir werden im nächsten Abschnitt näher darauf eingehen.
    Lineare Skalierung
    Die Technik der linearen Skalierung sollte Sie ein wenig an Ihre Tage in der Grundalgebra erinnern. Dabei wird die alte Steigungsabschnittsform „y = mx + b“ verwendet, wobei
    y Ihre Ausgabe (auch als Wert der technischen Einheiten bezeichnet), x Ihre Eingabe (ob Spannungen, Milliampere usw.), m Ihre Steigung (auch als Skalierungsfaktor bezeichnet) und b Ihr y-Achsenabschnitt (auch als Offset bezeichnet) ist. Wie bereits erwähnt, funktioniert die lineare Skalierung am besten mit linearen Spannungs- oder Stromausgängen, bei denen die minimalen und maximalen Ausgänge bestimmte Werte zusammen mit dem Sensorbereich darstellen.
    Wenn Sie ein bisschen eingerostet sind, keine Angst, wir geben Ihnen ein paar Beispiele, um die Dinge aufzufrischen.
    Beispiel 1
    Betrachten wir den Füllstandstransmitter mit einem Bereich von 0 bis 100 Fuß WC und einem 0 bis 10 V DC-Ausgang. Diese Spezifikationen sagen uns zwei Dinge:
    Ein Ausgang von 0 V stellt eine Messung von 0 Fuß WC dar und Ein Ausgang von 10 V stellt eine Messung von 100 Fuß WC dar. Beginnen Sie am besten mit Ihrem Skalierungsfaktor oder m in der Gleichung. Der Faktor m kann mithilfe der Steigungsformel
    m = (y2-y1) / (x2-x1)’ und der Auswahl von zwei Punkten entlang der linearen Skala gelöst werden.
    Nachdem der Skalierungsfaktor bestimmt wurde, setzen wir den Wert m einfach wieder in die Steigungsabschnittsformel ein und verwenden einen unserer Punkte, um unseren Versatz zu berechnen.

    1. Wir verwenden die beiden Punkte (0, 0) und (10, 100), um den Skalierungsfaktor oder m zu berechnen.
    m = (y2-y1) / (x2-x1) = (100 – 0) / (10 – 0) = 100 / 10
    Daher ist m = 10
    2. Jetzt verwenden wir die Steigungsabschnittsformel und den Punkt (0, 0), um den Versatz oder b zu berechnen.
    y = mx + b, wobei y = 0, x = 0, m = 10 und b unbekannt ist.
    0 = 10(0) + b = 0 + b
    Daher ist b = 0
    3. Es ist immer eine gute Idee, zu überprüfen, ob Ihr Skalierungsfaktor und Ihr Offset richtig sind, indem Sie unseren zweiten Punkt in unsere vollständige Gleichung einsetzen, die in diesem Fall (10, 100) lautet.
    y = mx + b, wobei y = 100, x = 10, m = 10 und b = 0.
    100 = 10(10) + 0 = 100
    Da diese Rechenoperation gültig ist, haben wir überprüft, dass unser Skalierungsfaktor und unser Offset richtig sind.
    Beispiel 2
    Da das Beispiel von 0 bis 10 V ziemlich einfach ist, gehen wir zu etwas Anspruchsvollerem über, wie einem 4 bis 20 mA-Ausgang.
    Wir verwenden weiterhin den Füllstandstransmitter mit einem Bereich von 0 bis 100 ftWC, dieses Mal jedoch mit einem Ausgang von 4 bis 20 mA. Diese Spezifikationen sagen uns erneut zwei Dinge:
    Ein Ausgang von 4 mA stellt eine Messung von 0 ftWC dar und Ein Ausgang von 20 mA stellt eine Messung von 100 ftWC dar. Wir gehen dieses Beispiel auf die gleiche Weise an wie das letzte, indem wir zuerst den Skalierungsfaktor ermitteln und dann einige Zahlen einsetzen, um den Offset zu berechnen.

    1. Wir verwenden die beiden Punkte (4, 0) und (20, 100), um den Skalierungsfaktor oder m zu berechnen.
    m = (y2-y1) / (x2-x1) = (100 – 0) / (20 – 4) = 100 / 16
    Daher ist m = 6,25
    2. Nun verwenden wir die Steigungsabschnittsformel und den Punkt (4, 0), um den Versatz oder b zu berechnen.
    y = mx + b, wobei y = 0, x = 4, m = 6,25 und b unbekannt ist.
    0 = 6,25(4) + b = 25 + b
    Daher b = -25
    3. Es ist immer eine gute Idee, zu überprüfen, ob Ihr Skalierungsfaktor und Ihr Versatz richtig sind, indem Sie unseren zweiten Punkt in unsere vollständige Gleichung einsetzen, die in diesem Fall (20, 100) lautet.
    y = mx + b, wobei y = 100, x = 20, m = 6,25 und b = -25.
    100 = 6,25(20) + (-25) = 100
    Da diese Rechenoperation gültig ist, haben wir überprüft, dass unser Skalierungsfaktor und unser Versatz richtig sind.
    Abgebildete Skalierung
    Die Technik der abgebildeten Skalierung ist häufig integriert und vorprogrammiert für Eingänge wie Thermoelemente, Pt100/1000 und andere resistive Temperatursensoren.
    Wenn Sie beispielsweise Ihr Datenerfassungssystem so konfigurieren, dass es ein Thermoelement vom Typ K misst, weiß das System bereits, welcher Millivolt-Ausgang des Thermoelements welcher Temperatur entspricht.
    Dieses Beispiel gilt nicht nur für Thermoelemente vom Typ K, sondern für alle Arten häufig verwendeter resistiver Temperatursensoren oder anderer verwandter Sensoren.
    Es gibt jedoch einige Fälle, in denen wir unsere eigene Zuordnungstabelle erstellen müssen.
    Einer dieser Fälle wäre, wenn wir mit einem Datenerfassungssystem arbeiten, das nicht für die Verwendung mit resistiven Temperatursensoren vorkonfiguriert ist. Dies ist keine sehr häufige Situation, die uns begegnet, aber sie ist erwähnenswert. Der andere Fall wäre, wenn wir eine nichtlineare Funktion haben und keine formelbasierte Skalierung verfügbar ist oder es sich um eine stückweise Funktion handelt. Ein gutes Beispiel hierfür wäre, wenn wir einen Füllstandssensor verwenden, um das Tankvolumen in einem nichtlinearen Tank zu berechnen. Wenn wir das Volumen einer Flüssigkeit in einem Tank wissen möchten, messen wir normalerweise die Tiefe oder den Füllstand des Tanks.
    Wenn wir das wissen, können wir das Volumen der Flüssigkeit berechnen. Wenn der Tank einen flachen Boden und den gleichen Durchmesser und die gleiche Höhe hätte, wäre diese Berechnung einfach und wir könnten eine lineare Skalierung wie oben verwenden.
    Normalerweise sind diese Tanks jedoch abgerundet und der Flüssigkeitsstand korreliert nicht direkt mit dem Flüssigkeitsvolumen. In dieser Situation müssen wir eine zugeordnete Skalierung und ein wenig Mathematik verwenden, um das gewünschte Ergebnis zu erzielen.

    Für unser Beispiel verwenden wir einen horizontalen Zylindertank mit einem Durchmesser von 5 Fuß und einer Länge von 10 Fuß.
    Es gibt eine Reihe komplizierter trigonometrischer Formeln, die verwendet werden, um das Füllvolumen eines solchen Tanks zu bestimmen, die wir überspringen werden, da sie für den Umfang dieses Artikels zu komplex sind. Stattdessen führen wir die Berechnungen durch und zeigen Ihnen die Wertezuordnungstabelle.
    Außerdem verwenden wir für dieses Beispiel erneut den Füllstandstransmitter, diesmal jedoch mit einem 0- bis 10-V-Gleichstromausgang und einem 0- bis 5-Fuß-WC-Bereich.

    Wenn dies die Zuordnungstabelle ist, die in Ihr Datenerfassungssystem programmiert ist, wird das Volumen berechnet, anstatt einfach die Tiefe zu messen.
    Normalerweise sind die Berechnungen umso genauer, je mehr Punkte Ihre Tabelle enthält. Um dieses Konzept zu demonstrieren, verwenden wir als Beispiel ein 1-V-Ausgangssignal.
    Ein Ausgang von 1 V würde uns sagen, dass der Tank 0,5 Fuß tief ist. Das entspricht ungefähr 76 Gallonen. 1 V liegt in unserer Tabelle zwischen 0 V und 2 V, daher richtet das Datenerfassungssystem eine lineare Skala zwischen diesen beiden Punkten ein und sagt, dass ein 1-V-Ausgang 104,5 Gallonen entspricht, was fast 30 Gallonen daneben liegt! Formelskalierung
    Diese Technik könnte eine der leistungsstärksten Skalierungsmethoden sein, ist jedoch häufig sehr ressourcenintensiv und die meisten Datenerfassungssysteme, die Daten mit hoher Geschwindigkeit speichern, können mit diesem Prozess nicht Schritt halten.
    Für Datenerfassungssysteme, die keine Formelskalierung durchführen können, gibt es zwei Alternativen:
    Speichern von Rohwerten und Anwenden der erforderlichen Formeln auf die Daten, nachdem die Daten aus dem Datenerfassungssystem gespeichert wurden. Dies kann normalerweise mit einer Software wie Microsoft Excel erfolgen. Verwenden eines programmierbaren Signalrechners. Diese Art von Gerät kann so konfiguriert werden, dass mehrere Eingaben über eine benutzerdefinierte Formel verarbeitet werden und eine lineare Ausgabe bereitgestellt wird. Es gibt zahlreiche potenzielle Verwendungsmöglichkeiten für die Formelskalierung. Wir werden zwei mögliche Szenarien für diese Technik behandeln: vertikales Zylindertankvolumen und Differenzdruck.
    Beispiel 1
    Für einen vertikalen Zylindertank kann das Füllvolumen mit der Formel „V = π r2 f“ berechnet werden, wobei
    V das gefüllte Volumen, r der Radius des Tanks und f die Füllhöhe ist. Nehmen wir an, unser Tank hat einen Durchmesser von 5 Fuß und eine Höhe von 10 Fuß. Verwenden wir für unser Beispiel wieder den Füllstandstransmitter mit einem WC-Bereich von 0 bis 10 Fuß und einem DC-Ausgang von 0 bis 5 V.
    Der Füllstandstransmitter gibt uns unsere Füllhöhe oder f. Aus dieser Füllhöhe können wir direkt das Füllvolumen oder V berechnen. Wir werden einige der gleichen Methoden für die lineare Skalierung verwenden, um unser f zu erhalten, und die Berechnungen darauf anwenden.

    1. Wir berechnen zunächst die lineare Skalierung für die Füllhöhe oder f. Ich überspringe ein paar Schritte, da wir dies bereits im ersten Abschnitt behandelt haben.
    y = f = 2x, wobei x die Spannungsausgabe des Sensors ist.
    2. Jetzt können wir das f in der Formel für den vertikalen Zylindertank durch 2x ersetzen.
    V = π r2 f = π (2,5)2 (2x) = π 12,5x
    Beispiel 2
    Das zweite Szenario, das wir zur Erläuterung der Technik der Formelskalierung verwenden werden, ist der Differenzdruck.
    Es gibt natürlich eine Reihe von Differenzdrucksensoren, die eine lineare Ausgabe liefern, aber aus Erfahrung kann ich Ihnen sagen, dass es für diese Methode zur Berechnung des Differenzdrucks viele Verwendungsmöglichkeiten gibt.
    In diesem Beispiel verwenden wir zwei der Sender mit einem Bereich von 0 bis 100 PSI und einem DC-Ausgang von 0 bis 10 V.
    Einer wird in einem unter Wasser getauchten Druckbehälter platziert und der andere außerhalb dieses Behälters. Der Differenzdruck bestimmt die Kraft, die auf die Wände des Behälters ausgeübt wird.
    Die Berechnungen sind hier sehr einfach. Subtrahieren Sie einfach das eine vom anderen.
    Pdifferential = Pexternal – Pinternal
    Fazit
    Die drei am häufigsten verwendeten Techniken zum Skalieren von Sensorausgaben sind
    Lineare Skalierung, Zugeordnete Skalierung und Formelskalierung. PLC-Schieberegister Wie Sie sehen, gibt es viele Fälle, in denen mehr als eine dieser Techniken funktionieren kann, und die beste Wahl hängt normalerweise von der Hardware/Software ab, mit der Sie arbeiten.
    Die lineare Skalierung ist am einfachsten zu handhaben, Sensoren mit linearen Ausgaben sind jedoch tendenziell teurer, da zusätzliche Hardware erforderlich ist, um die Rohausgabe des Wandlers zu linearisieren.
    Zugeordnete Skalierung wird häufiger verwendet, als uns auffällt. Immer wenn ein resistiver Temperatursensor eine Temperaturanzeige liefert, ist irgendwo entlang der Linie eine zugeordnete Skalierung am Werk.
    Die Formelskalierung ist sehr leistungsstark, erfordert aber Hardware-/Softwarekonfigurationen.

    caixiaofeng
    Ziel: Das Grundkonzept der SPS-Ventilsteuerungs-Kontaktplanlogik verstehen.
    Zielgruppe: Studenten, Techniker, Berufsanfänger, Ingenieure in Ausbildung.

    Hinweis: Barriere oder Relais sind in der obigen Abbildung nicht dargestellt.
    Listen wir die erforderlichen digitalen SPS-Eingänge und digitalen Ausgangssignale auf:
    Digitale SPS-Eingänge:
    Rückmeldung Ventil öffnen Rückmeldung Ventil schließen Digitale SPS-Ausgabe:
    Befehl Ventil aktivieren Programmierung der SPS-Ventilsteuerungs-Kontaktplanlogik
    Jedes pneumatische Ventil benötigt für seinen Betrieb eine Instrumentenluftzufuhr. Ein Luftfilterregler wird verwendet, um Flüssigkeiten oder Partikel aus der Instrumentenluftzufuhr zu entfernen und die erforderliche Luftzufuhr zum Ventil einzustellen.
    Der Ausgang des Luftfilterreglers ist über ein Magnetventil mit dem Ventilantrieb verbunden. Dieses Magnetventil wird verwendet, um die Instrumentenluftzufuhr zum Ventilantrieb zu steuern, d. h. ein- und auszuschalten.

    Beachten Sie, dass das Magnetventil (SOV) vom Typ „normally close“ (NC) ist. In der normalen Position ist das SOV in der Aus-Position oder im stromlosen Zustand, sodass die Instrumentenluftzufuhr blockiert wird, da das SOV normalerweise geschlossen ist. Wenn das SOV aktiviert wird, d. h. die SPS das Signal sendet, wird das SOV aktiviert und wird normalerweise offen (NO), sodass die Instrumentenluftzufuhr durch es hindurch möglich ist.
    Manche Leute verwechseln oft Magnetventil und Ventilantrieb. Diese beiden sind unterschiedlich, das SOV steuert (AN/AUS) die Instrumentenluftzufuhr und der Ventilantrieb steuert die Position des Ventils, entweder vollständig geöffnet oder vollständig geschlossen.
    AN/AUS-Ventile sind entweder mit Näherungsschaltern oder Endschaltern ausgestattet, um die Ventilposition entweder vollständig geöffnet oder vollständig geschlossen zu erfassen. Diese sind also mit den digitalen Eingängen der SPS verbunden. So kann die SPS den Ventilstatus im Feld entweder vollständig geöffnet oder vollständig geschlossen erkennen und dem Bediener über Grafiken anzeigen.
    Beachten Sie, dass unser AN/AUS-Ventil vom Typ „normally open“ ist, d. h. das Ventil ist in der offenen Position. also wird standardmäßig eine offene Rückmeldung an die SPS gesendet oder wir können sagen, dass der offene Rückmeldungsendschalter oder Näherungsschalter aktiviert wird und der geschlossene Rückmeldungsschalter sich im deaktivierten Zustand befindet.
    Nehmen wir an, die SPS sendet einen digitalen Ausgabebefehl an das EIN/AUS-Ventil (über eine Barriere oder ein Relais). Nehmen wir an, wir haben ein mit 24 V Gleichstrom betriebenes Magnetventil, das am EIN/AUS-Ventil montiert ist.
    Im Allgemeinen wird entweder eine Barriere oder ein Relais nach dem digitalen Ausgabemodul der SPS platziert. Nehmen wir an, wir haben eine Barriere, zuerst empfängt die Barriere den Befehl des digitalen Ausgabemoduls der SPS (der SPS-Befehl ist Barriereeingang), dann aktiviert die Barriere ihren Ausgang (Barriereausgang) und die Barriere sendet die 24 V Gleichstromleistung an das jeweilige EIN/AUS-Ventil.
    Der Zweck der Barriere oder des Relais besteht darin, die SPS- und Feldsignale zu isolieren oder aus Sicherheitsgründen oder um die Strom-/Spannungssignale zu verstärken.
    Jetzt empfängt das EIN/AUS-Ventil den SPS-Befehl, d. h. es hat die 24 V Gleichstromleistung für das Magnetventil von der Barriere erhalten. also wird das Magnetventil jetzt aktiviert und wechselt in den normalerweise offenen (NC) Zustand. Jetzt leitet das Magnetventil die Instrumentenluftzufuhr an den Ventilantrieb weiter, da dieser normalerweise geöffnet wird.
    Der Ventilantrieb erhält die Instrumentenluftzufuhr und bewegt den Ventilschaft entsprechend, und die Ventilposition ändert sich vom vollständig geöffneten in den vollständig geschlossenen Zustand. Wenn das EIN/AUS-Ventil die Schaftbewegung beginnt, wird die Öffnungsrückmeldung sofort gelöscht (der Näherungsschalter erkennt keine auf dem Schaft montierten Objekte).
    Nach Beginn der Ventilschaftbewegung und vor Erreichen der Schließposition sind weder Öffnungs- noch Schließrückmeldungen für die SPS verfügbar, und wir bezeichnen dies als Übergangszustand. Nachdem das EIN/AUS-Ventil vollständig geschlossen ist, wird der Schließrückmeldungsschalter (Näherung oder Begrenzung) aktiviert und das Schließrückmeldungssignal wird an die SPS gesendet und dem Bediener angezeigt.
    Hinweis: Manchmal kann das EIN/AUS-Ventil dazwischen hängen bleiben, sodass der Bediener keine Rückmeldung auf der Grafik erhält, da sowohl Öffnungs- als auch Schließrückmeldungsschalter nur entweder vollständig geöffnete oder vollständig geschlossene Zustände des Ventils erkennen. Es ist nicht möglich, einen Zwischenzustand des Ventils zu erkennen.
    Nehmen wir an, die SPS zieht jetzt den Ausgangsbefehl an das EIN/AUS-Ventil zurück, d. h. der Barriereneingang wird ausgeschaltet, sodass die Barriere stromlos wird oder der Barrierenausgang AUS ist, die 24-V-Gleichstromversorgung wird zum Magnetventil getrennt/entfernt.
    Wenn die Stromversorgung des Magnetventils entfernt wird, ändert das SOV seinen Zustand von NO zu NC. Das Magnetventil wird normalerweise geschlossen, d. h. die Instrumentenluftzufuhr zum Ventilantrieb wird gestoppt oder getrennt. Daher kehrt das EIN/AUS-Ventil auch in seinen ursprünglichen Zustand zurück, d. h. in den geöffneten Zustand.
    Die SPS kann basierend auf einigen Logiken oder Echtzeit-Eingangssignalen ein Ausgangsbefehlssignal senden. Beispiel: Wenn der Füllstand eines Fasses einen hohen Alarm erreicht, muss das EIN/AUS-Ventil für die Fasszufuhr geschlossen werden.
    Details zum EIN/AUS-Ventil:
    In unserem Beispiel haben wir ein pneumatisches EIN/AUS-Ventil betrachtet. Zuerst sehen wir uns die Liste der Komponenten im Ventil und ihren Zweck an.
    a. Luftfilterregler:
    Luftfilter werden verwendet, um flüssiges Wasser und Partikel aus Druckluftquellen zu entfernen. Dies sind „mechanische Filter“ und entfernen keine Öldämpfe oder chemischen Verunreinigungen in Dampfform. Klicken Sie hier für Prinzip und Animation.
    b. Magnetventil:
    Ein Magnetventil ist ein elektromechanisch gesteuertes Ventil. Das Ventil verfügt über einen Magneten, eine elektrische Spule mit einem beweglichen ferromagnetischen Kern in der Mitte. Dieser Kern wird als Kolben bezeichnet.
    In Ruhestellung verschließt der Kolben eine kleine Öffnung. Ein elektrischer Strom durch die Spule erzeugt ein Magnetfeld. Das Magnetfeld übt eine Kraft auf den Kolben aus. Dadurch wird der Kolben zur Mitte der Spule gezogen, sodass sich die Öffnung öffnet. Dies ist das Grundprinzip, das zum Öffnen und Schließen von Magnetventilen verwendet wird.
    Magnetventilanimation
    Magnetventiltypen und -prinzipien
    c. Rückmeldung öffnen und Rückmeldung schließen:
    Ein Näherungsschalter erkennt die Nähe eines Objekts.
    Per Definition sind diese Schalter berührungslose Sensoren, die kapazitive, induktive, magnetische, elektrische oder optische Mittel verwenden, um die Nähe der Ventilposition (offen oder geschlossen) zu erfassen.
    d. Ventilantrieb:
    Ein Ventilantrieb ist ein Gerät, das mithilfe einer Stromquelle Kraft zum Öffnen oder Schließen des Ventils erzeugt. Diese Stromquelle kann manuell (Hand, Zahnrad, Kettenrad, Hebel usw.) oder elektrisch, hydraulisch oder pneumatisch sein.
    e. Instrumentenluftversorgung:
    Druck- und Trockenluftversorgung für das Ventil.

    leigehong
    Ein Timer ist eine SPS-Anweisung, die die nach einem Ereignis verstrichene Zeit misst.
    Timer-Anweisungen gibt es in zwei Grundtypen: Einschaltverzögerungs-Timer und Ausschaltverzögerungs-Timer. Sowohl die Einschaltverzögerungs- als auch die Ausschaltverzögerungs-Timer-Anweisungen haben einzelne Eingänge, die die zeitgesteuerte Funktion auslösen.
    Ein Einschaltverzögerungs-Timer aktiviert einen Ausgang nur, wenn der Eingang für eine Mindestzeit aktiv war.
    SPS-Timer-Anweisungen
    Nehmen wir zum Beispiel dieses SPS-Programm, das so konzipiert ist, dass vor dem Starten eines Förderbands eine akustische Alarmsirene ertönt.
    Um den Förderbandmotor zu starten, muss der Bediener die Starttaste 10 Sekunden lang gedrückt halten. Während dieser Zeit ertönt die Sirene und warnt die Personen, sich vom gleich startenden Förderband zu entfernen.
    Erst nach dieser 10-sekündigen Startverzögerung startet der Motor tatsächlich (und wird „eingeschaltet“):

    Ähnlich wie bei einem „Aufwärts“-Zähler erhöht sich der Wert der verstrichenen Zeit (ET) des Einschaltverzögerungstimers einmal pro Sekunde, bis die voreingestellte Zeit (PT) erreicht ist, zu der sein Ausgang (Q) aktiviert wird.
    In diesem Programm beträgt der voreingestellte Zeitwert 10 Sekunden, was bedeutet, dass der Q-Ausgang erst aktiviert wird, wenn der „Start“-Schalter 10 Sekunden lang gedrückt wurde.
    Der Alarmsirenenausgang, der nicht vom Timer aktiviert wird, wird sofort aktiviert, wenn der „Start“-Druckknopf gedrückt wird.
    Ein wichtiges Detail in Bezug auf die Funktionsweise dieses speziellen Timers ist, dass er nicht remanent ist.
    Dies bedeutet, dass die Timeranweisung ihren Wert der verstrichenen Zeit nicht beibehalten sollte, wenn der Eingang deaktiviert wird.
    Stattdessen sollte der Wert der abgelaufenen Zeit jedes Mal auf Null zurückgesetzt werden, wenn der Eingang deaktiviert wird. Dadurch wird sichergestellt, dass sich der Timer selbst zurücksetzt, wenn der Bediener den „Start“-Druckknopf loslässt.
    Ein remanenter Einschaltverzögerungstimer hingegen behält seinen Wert der abgelaufenen Zeit bei, selbst wenn der Eingang deaktiviert wird. Dadurch ist er nützlich, um die „laufende Gesamtzeit“ für ein bestimmtes Ereignis aufzuzeichnen.
    Die meisten SPS bieten remanente und nicht remanente Versionen von Einschaltverzögerungstimeranweisungen, sodass der Programmierer die richtige Form des Einschaltverzögerungstimers für jede bestimmte Anwendung auswählen kann.
    Der Programmierstandard IEC 61131-3 behandelt das Problem von remanenten und nicht remanenten Timern jedoch etwas anders.
    Gemäß dem Standard IEC 61131-3 kann eine Timeranweisung mit einem zusätzlichen Aktivierungseingang (EN) angegeben werden, der bewirkt, dass sich die Timeranweisung bei Aktivierung nicht remanent und bei Deaktivierung remanent verhält.
    Das allgemeine Konzept des Enable-Eingangs (EN) besteht darin, dass sich die Anweisung „normal“ verhält, solange der Enable-Eingang aktiv ist (in diesem Fall wird eine nicht remanente Zeitaktion gemäß der Norm IEC 61131-3 als „normal“ angesehen), die Anweisung jedoch die gesamte Ausführung „einfriert“, wenn der Enable-Eingang deaktiviert wird.
    Dieses „Einfrieren“ des Betriebs hat zur Folge, dass der aktuelle Zeitwert (CT) beibehalten wird, selbst wenn das Eingangssignal deaktiviert wird.
    Wenn wir beispielsweise unserem Förderbandsteuerungssystem einen remanenten Timer hinzufügen möchten, um die Gesamtlaufzeit des Förderbandmotors aufzuzeichnen, könnten wir dies mit einem „aktivierten“ IEC 61131-3-Timerbefehl wie diesem tun:

    Wenn das Schützbit des Motors (OUT-Schütz) aktiv ist, wird der Timer aktiviert und kann die Zeit messen.
    Wenn dieses Bit jedoch deaktiviert wird (auf „falsch“ gesetzt wird), wird der Timerbefehl als Ganzes deaktiviert, wodurch er „eingefroren“ wird und seinen aktuellen Zeitwert (CT) beibehält (Hinweis 1).
    Dadurch kann der Motor gestartet und gestoppt werden, wobei der Timer die gesamte Motorlaufzeit protokolliert.
    Hinweis 1: Das „Enable Out“-Signal (ENO) am Timerbefehl dient zur Anzeige des Status des Befehls: Es wird aktiviert, wenn der Enable-Eingang (EN) aktiviert wird, und deaktiviert, wenn entweder der Enable-Eingang deaktiviert wird oder der Befehl einen Fehlerzustand erzeugt (wie durch die interne Programmierung des SPS-Herstellers bestimmt). Das ENO-Ausgangssignal dient in diesem speziellen Programm keinem nützlichen Zweck, ist jedoch verfügbar, falls andere Programmschritte den Status des Laufzeittimers „kennen“ müssen.
    Wenn wir dem Bediener die Möglichkeit geben möchten, den Gesamtlaufzeitwert manuell auf Null zurückzusetzen, könnten wir einen zusätzlichen Schalter fest mit der diskreten Eingangskarte der SPS verdrahten und dem Programm „Reset“-Kontakte wie folgt hinzufügen:

    Wenn der „Reset“-Schalter gedrückt wird, wird der Timer aktiviert (EN), aber der Zeiteingang (IN) wird deaktiviert, wodurch der Timer gezwungen wird, seinen aktuellen Zeitwert (CT) (nicht remanent) auf Null zurückzusetzen.
    Der andere wichtige Typ von SPS-Timerbefehlen ist der Ausschaltverzögerungstimer. Dieser Timerbefehl unterscheidet sich vom Einschaltverzögerungstyp dadurch, dass die Zeitfunktion beginnt, sobald der Befehl deaktiviert wird, und nicht, wenn er aktiviert wird.
    Eine Anwendung für einen Ausschaltverzögerungstimer ist eine Kühlerlüftermotorsteuerung für einen großen Industriemotor.
    In diesem System startet die SPS einen elektrischen Kühlerlüfter, sobald erkannt wird, dass sich der Motor dreht, und lässt diesen Lüfter nach dem Abschalten des Motors zwei Minuten lang laufen, um Restwärme abzuleiten:

    Wenn der Eingang (IN) zu dieser Timeranweisung aktiviert wird, wird der Ausgang (Q) sofort aktiviert (ohne jegliche Zeitverzögerung), um den Schütz des Kühlerlüftermotors einzuschalten.
    Dadurch wird der Motor gekühlt, sobald er sich zu drehen beginnt (wie vom Drehzahlschalter erkannt, der an den diskreten Eingang der SPS angeschlossen ist).
    Wenn der Motor aufhört zu drehen, kehrt der Drehzahlschalter in seine normalerweise offene Position zurück und deaktiviert das Eingangssignal des Timers, das die Zeitsequenz startet.
    Der Q-Ausgang bleibt aktiv, während der Timer von 0 Sekunden bis 120 Sekunden zählt.
    Sobald 120 Sekunden erreicht sind, wird der Ausgang deaktiviert (der Kühlerlüftermotor wird abgeschaltet) und der verstrichene Zeitwert bleibt bei 120 Sekunden, bis der Eingang erneut aktiviert wird. Zu diesem Zeitpunkt wird er wieder auf Null zurückgesetzt.
    Die folgenden Zeitdiagramme vergleichen Einschaltverzögerungs- und Ausschaltverzögerungstimer und stellen sie gegenüber:

    Während es üblich ist, Einschaltverzögerungs-SPS-Anweisungen sowohl in remanenter als auch in nicht remanenter Form in den Befehlssätzen fast aller SPS-Hersteller und -Modelle zu finden, ist es fast unbekannt, remanente Ausschaltverzögerungstimeranweisungen zu finden. Normalerweise sind Ausschaltverzögerungstimer nur nicht remanent (Hinweis 2).
    Hinweis 2: Die im Programmierstandard IEC 61131-3 angegebenen Aktivierungseingangssignale (EN) ermöglichen remanente Ausschaltverzögerungstimer (indem der Aktivierungseingang deaktiviert wird, während der „IN“-Eingang in einem inaktiven Zustand gehalten wird), aber bedenken Sie, dass die meisten SPS-Implementierungen von Timern keine separaten EN- und IN-Eingänge haben. Dies bedeutet (für die meisten SPS-Timeranweisungen), dass der einzige zum Aktivieren des Timers verfügbare Eingang der „IN“-Eingang ist. In diesem Fall ist es unmöglich, einen speichernden Ausschaltverzögerungstimer zu erstellen (da der Wert der abgelaufenen Zeit eines solchen Timers bei jeder erneuten Aktivierung des Eingangs sofort auf Null zurückgesetzt würde).

    caixiaofeng
    Wie wir bei Zählern und Zeitgebern gesehen haben, erzeugen einige SPS-Anweisungen andere digitale Werte als einfache Boolesche (Ein/Aus-)Signale.
    Zähler haben Register für den aktuellen Wert (CV) und Zeitgeber haben Register für die verstrichene Zeit (ET), die beide normalerweise ganzzahlige Werte sind.
    Viele andere SPS-Anweisungen sind darauf ausgelegt, nicht-Boolesche Werte wie diese zu empfangen und zu manipulieren, um nützliche Steuerfunktionen auszuführen.
    Der Standard IEC 61131-3 spezifiziert eine Vielzahl von Anweisungen zum Datenvergleich zum Vergleichen zweier nicht-Boolescher Werte und zum Erzeugen boolescher Ausgaben.
    Anweisungen zum Vergleichen von SPS-Daten
    Die grundlegenden Vergleichsoperationen „kleiner als“ (<), „größer als“ (>), „kleiner oder gleich“ (≤), „größer oder gleich“ (≥), „gleich“ (=) und „ungleich“ (6=) sind als Reihe von „Box“-Anweisungen im IEC-Standard zu finden:

    Der Q-Ausgang für jede Anweisungs-„Box“ wird aktiviert, wenn die ausgewertete Vergleichsfunktion „wahr“ ist und der Aktivierungseingang (EN) aktiv ist.
    Wenn der Aktivierungseingang aktiv bleibt, die Vergleichsfunktion jedoch falsch ist, wird der Q-Ausgang deaktiviert. Wenn der Aktivierungseingang deaktiviert wird, behält der Q-Ausgang seinen letzten Zustand bei.
    Eine praktische Anwendung für eine Vergleichsfunktion ist die sogenannte alternierende Motorsteuerung, bei der die Laufzeiten zweier redundanter Elektromotoren überwacht werden und die SPS bestimmt, welcher Motor als nächstes eingeschaltet wird, basierend darauf, welcher Motor am wenigsten gelaufen ist:

    .In diesem Programm verfolgen zwei remanente Einschaltverzögerungstimer die Gesamtlaufzeit jedes Elektromotors und speichern die Laufzeitwerte in zwei Registern im Speicher der SPS:
    Laufzeit Motor A und Laufzeit Motor B. Diese beiden ganzzahligen Werte werden zum Vergleich in das Anweisungsfeld „größer als“ eingegeben.
    Wenn Motor A länger gelaufen ist als Motor B, wird Motor B beim nächsten Drücken des „Start“-Schalters zum Starten freigegeben.
    Wenn Motor A kürzer oder gleich lange gelaufen ist wie Motor B (das Szenario wird durch die blau hervorgehobenen Statusanzeigen angezeigt), wird Motor A zum Starten freigegeben.
    Die beiden in Reihe geschalteten virtuellen Kontakte OUT Motor A und OUT Motor B sorgen dafür, dass der Vergleich der Motorlaufzeiten erst dann erfolgt, wenn beide Motoren gestoppt sind.
    Würde der Vergleich kontinuierlich erfolgen, könnte es passieren, dass beide Motoren starten, wenn jemand zufällig den Start-Taster drückt, während ein Motor bereits läuft.

    leigehong
    Das vielleicht wichtigste und doch schwer fassbarste Konzept, das man verstehen muss, wenn man lernt, SPS zu programmieren, ist die Beziehung zwischen dem elektrischen Status der E/A-Punkte der SPS und dem Status von Variablen und anderen „Elementen“ in ihrer Programmierung.
    Dies gilt insbesondere für die Kontaktplanprogrammierung (LD), bei der das Programm selbst einem elektrischen Diagramm ähnelt.
    Die Herstellung der mentalen Verbindung zwischen der „realen“ Welt der Schalter, Schütze und anderen elektrischen Geräte, die an die SPS angeschlossen sind, und der „imaginären“ Welt des SPS-Programms, das aus virtuellen Kontakten und Relais-„Spulen“ besteht, ist von größter Bedeutung.
    Die erste Grundregel, die man bei der Untersuchung eines SPS-Programms mit Kontaktplan im Hinterkopf behalten sollte, ist, dass jeder im Programm angezeigte virtuelle Kontakt aktiviert wird, wenn er in seinem jeweiligen Bit einen „1“-Zustand liest, und in Ruhe ist, wenn er in seinem jeweiligen Bit (im Speicher der SPS) einen „0“-Zustand liest.
    Wenn der Kontakt ein Schließer (NO) ist, öffnet er sich, wenn sein Bit 0 ist, und schließt sich, wenn sein Bit 1 ist. Wenn der Kontakt ein Öffner (NC) ist, schließt er sich, wenn sein Bit 0 ist, und öffnet sich, wenn sein Bit 1 ist.
    Ein 0-Bit-Zustand bewirkt, dass sich der Kontakt in seinem „normalen“ (Ruhe-)Zustand befindet, während ein 1-Bit-Zustand den Kontakt betätigt und ihn in seinen nicht normalen (betätigten) Zustand zwingt.
    Eine weitere Regel, die Sie bei der Untersuchung eines SPS-Programms mit Kontaktplan beachten sollten, ist, dass die Programmiersoftware eine Farbhervorhebung (Hinweis 1) bietet, um den virtuellen Status jedes Programmelements anzuzeigen: Ein farbiger Kontakt ist geschlossen, während ein nicht farbiger Kontakt geöffnet ist.
    Während das Vorhandensein oder Fehlen eines „Schrägstrich“-Symbols den normalen Status eines Kontakts kennzeichnet, zeigt seine von der SPS-Programmiersoftware angezeigte Live-Farbhervorhebung den „leitenden“ Status der Elemente in Echtzeit an.
    Hinweis 1: Es ist zu beachten, dass die Programmiersoftware in manchen Situationen die Kontakte nicht richtig einfärbt, insbesondere wenn sich ihr Status zu schnell ändert, als dass die Software-Kommunikationsverbindung mithalten könnte, und/oder wenn die Bits innerhalb eines Programmdurchlaufs mehrmals ihren Zustand ändern. Für einfache Programme und Situationen gilt diese Regel jedoch und ist eine große Hilfe für Programmieranfänger, die die Beziehung zwischen realen Bedingungen und Bedingungen in der „virtuellen“ Welt der SPS lernen.
    Missverständnisse der SPS-Kontaktplanlogik
    Die folgende Tabelle zeigt, wie die beiden Kontakttypen im Kontaktplanprogramm einer SPS auf Bitzustände reagieren, wobei die rote Farbe verwendet wird, um die virtuelle Leitfähigkeit jedes Kontakts anzuzeigen:

    Genauso wie die Kontakte eines Druckschalters durch einen hohen Druckzustand, die Kontakte eines Niveauschalters durch einen hohen Niveauzustand und die Kontakte eines Temperaturschalters durch einen hohen Temperaturzustand aktiviert werden, so wird der virtuelle Kontakt einer SPS durch einen hohen Bitzustand aktiviert (1). Im Zusammenhang mit jedem Schalter ist ein aktivierter Zustand das Gegenteil seines normalen (Ruhe-)Zustands.
    Die folgende vereinfachte Abbildung (die in diesem Diagramm gezeigte elektrische Verdrahtung ist unvollständig, der „Common“-Anschluss ist der Einfachheit halber nicht angeschlossen dargestellt.) zeigt eine kleine SPS, bei der zwei ihrer diskreten Eingangskanäle elektrisch aktiviert sind, wodurch diese beiden Bits den Status „1“ haben.
    Die farblich hervorgehobenen Kontakte in der Anzeige der Programmiereditor-Software zeigen eine Sammlung von Kontakten, die an diese Eingangsbits in verschiedenen Zuständen adressiert sind (farbig = geschlossen; ungefärbt = offen).
    Wie Sie sehen können, befindet sich jeder Kontakt, der an ein „gesetztes“ Bit (1) adressiert ist, in seinem aktivierten Zustand, während sich jeder Kontakt, der an ein „gelöschtes“ Bit (0) adressiert ist, in seinem normalen Zustand befindet:

    Denken Sie daran, dass ein farbiger Kontakt ein geschlossener Kontakt ist. Die farbig erscheinenden Kontakte sind entweder normalerweise geschlossene Kontakte mit „0“-Bit-Zuständen oder normalerweise offene Kontakte mit „1“-Bit-Zuständen.
    Es ist die Kombination aus Bitzustand und Kontakttyp (NO vs. NC), die bestimmt, ob der virtuelle Kontakt zu einem bestimmten Zeitpunkt offen (ungefärbt) oder geschlossen (gefärbt) ist.
    Entsprechend ist es eine Kombination aus farbiger Hervorhebung und virtuellem Kontakttyp, die den realen Aktivierungsstatus eines bestimmten SPS-Eingangs zu einem bestimmten Zeitpunkt anzeigt.
    Das Hauptproblem von Studenten/Ingenieuren beim Verstehen von SPS-Kontaktplanprogrammen besteht darin, dass sie zu stark vereinfachen und versuchen, reale Schalter, die mit der SPS verbunden sind, direkt mit ihren jeweiligen Kontaktanweisungen im SPS-Programm zu verknüpfen.
    Studenten/Ingenieure denken fälschlicherweise, dass der reale Schalter, der mit der SPS verbunden ist, und der jeweilige virtuelle Schalterkontakt im SPS-Programm ein und derselbe sind, obwohl dies überhaupt nicht der Fall ist.
    Vielmehr sendet der reale Schalter Strom an den SPS-Eingang, der wiederum den Zustand der in die SPS programmierten virtuellen Kontakte steuert.
    Insbesondere erlebe ich, dass Studenten/Ingenieure regelmäßig den folgenden Missverständnissen erliegen:
    Irrtümlicherweise annehmen, dass der Kontaktanweisungstyp (NO vs. NC) mit dem des zugehörigen realen Schalters übereinstimmen muss Irrtümlich annehmen, dass die farbliche Hervorhebung einer Kontaktanweisung dem elektrischen Status des zugehörigen realen SPS-Eingangs entspricht Irrtümlich annehmen, dass ein geschlossener realer Schalter zu einer geschlossenen Kontaktanweisung im Live-SPS-Programm führen muss Zur Verdeutlichung sind hier die grundlegenden Regeln, die man beim Interpretieren von Kontaktanweisungen in SPS-Programmen mit Kontaktplan beachten sollte:
    Jedes Eingangsbit im Speicher der SPS ist eine „1“, wenn sein Eingangskanal mit Strom versorgt wird, und eine „0“, wenn sein Eingangskanal nicht mit Strom versorgt wird Jeder im Programm angezeigte virtuelle Kontakt wird aktiviert, wenn er in seinem jeweiligen Bit einen „1“-Zustand liest, und ist in Ruhe, wenn er in seinem jeweiligen Bit einen „0“-Zustand liest Ein farbiger Kontakt ist geschlossen (leitet virtuellen Strom im SPS-Programm weiter), während ein nicht farbiger Kontakt geöffnet ist (blockiert virtuellen Strom im SPS-Programm) Beim Versuch, SPS-Programme mit Kontaktplan zu verstehen, kann die Bedeutung dieser Regeln nicht überbetont.
    Die Wahrheit ist, dass es eine Kausalkette – und keine direkte Äquivalenz – zwischen dem realen Schalter und dem Status des Kontaktbefehls gibt.
    Der reale Schalter steuert, ob der SPS-Eingangskanal mit Strom versorgt wird oder nicht, was wiederum steuert, ob das Bit des Eingangsregisters eine „1“ oder eine „0“ ist, was wiederum steuert, ob der Kontaktbefehl aktiviert oder in Ruhe ist.
    Virtuelle Kontakte im SPS-Programm werden also von ihren entsprechenden realen Schaltern gesteuert, anstatt einfach identisch mit ihren realen Gegenstücken zu sein, wie Laien gerne annehmen.
    Wenn wir diesen Regeln folgen, sehen wir, dass normalerweise offene (NO) Kontaktbefehle das nachahmen, was ihre realen Schalter tun, während normalerweise geschlossene (NC) Kontaktbefehle das Gegenteil ihrer realen Gegenstücke bewirken.
    Die farbliche Hervorhebung von Spulenbefehlen in einem SPS-Programm mit Kontaktplan folgt ähnlichen Regeln. Eine Spule ist „eingeschaltet“ (farbig), wenn alle Kontaktbefehle davor geschlossen (farbig) sind.
    Eine farbige Spule schreibt eine „1“ in ihr entsprechendes Bit im Speicher, während eine nicht farbige Spulenanweisung eine „0“ in ihr entsprechendes Bit im Speicher schreibt. Wenn diese Bits mit realen diskreten Ausgangskanälen auf der SPS verknüpft sind, steuern ihre Zustände die reale Aktivierung von Geräten, die elektrisch mit diesen Kanälen verbunden sind.
    Um diese grundlegenden Konzepte weiter zu verdeutlichen, werden wir den Betrieb eines einfachen SPS-Systems untersuchen, das eine Warnlampe aktiviert, wenn ein Prozessbehälter einem hohen Flüssigkeitsdruck ausgesetzt ist.
    Die Aufgabe der SPS besteht darin, eine Warnlampe zu aktivieren, wenn der Druck im Prozessbehälter jemals 270 PSI überschreitet, und diese Warnlampe aktiviert zu halten, selbst wenn der Druck unter den Auslösepunkt von 270 PSI fällt. Auf diese Weise werden die Bediener sowohl auf vergangene als auch auf aktuelle Überdruckereignisse im Prozessbehälter aufmerksam gemacht.
    120-Volt-Wechselstrom (L1 und L2) liefert elektrische Energie für den Betrieb der SPS sowie Signalpotential für die Eingangsschalter und Strom für die Warnlampe.
    Zwei Schalter sind mit dem Eingang dieser SPS verbunden: ein normalerweise offener Druckknopfschalter, der als Alarmrücksetzung fungiert (durch Drücken dieses Schalters wird die Alarmlampe „entriegelt“), und ein normalerweise offener Druckschalter, der als Sensorelement für hohen Prozessbehälterdruck fungiert:

    Der Rücksetzdruckknopf ist mit dem diskreten Eingang X1 der SPS verbunden, während der Druckschalter mit dem diskreten Eingang X4 verbunden ist. Die Warnlampe ist mit dem diskreten Ausgang Y5 verbunden.
    Rote Anzeige-LEDs neben jedem E/A-Anschluss zeigen optisch den elektrischen Status der E/A-Punkte an, während eine rot schattierte Hervorhebung den virtuellen Stromstatus (Anmerkung 2) der „Kontakte“ und „Spulen“ im Programm der SPS anzeigt, der auf dem Bildschirm eines PCs angezeigt wird, der über ein Programmierkabel mit der SPS verbunden ist.
    Wenn niemand den Rücksetzdruckknopf drückt, befindet sich dieser Schalter in seinem normalen Status, der bei einem „normalerweise offenen“ Schalter offen ist.
    Das Gleiche gilt für den Druckschalter: Wenn der Prozessdruck unter dem Auslösepunkt von 270 PSI liegt, befindet sich der Druckschalter ebenfalls in seinem Normalzustand, der bei einem „normalerweise offenen“ Schalter offen ist.
    Da keiner der Schalter momentan Strom leitet, werden weder die diskreten Eingänge X1 noch X4 aktiviert. Dies bedeutet, dass sich die „virtuellen“ Kontakte im SPS-Programm ebenfalls in ihrem eigenen Normalzustand befinden.
    Daher ist jeder virtuelle Kontakt, der als normalerweise offen gezeichnet ist, offen (leitet keinen virtuellen Strom weiter) und jeder virtuelle Kontakt, der als normalerweise geschlossen gezeichnet ist (ein diagonaler Schrägstrich durch das Kontaktsymbol), ist geschlossen.
    Aus diesem Grund sind die beiden normalerweise offenen virtuellen Kontakte X4 und Y5 nicht hervorgehoben, der normalerweise geschlossene virtuelle Kontakt X1 jedoch schon – die farbige Hervorhebung stellt die Fähigkeit dar, virtuellen Strom weiterzuleiten.
    Hinweis 2: Bei einem SPS-Programmkontakt stellt die Schattierung die virtuelle „Leitfähigkeit“ dar. Bei einer SPS-Programmspule stellt die Schattierung ein gesetztes (1) Bit dar.
    Wenn im Prozessbehälter ein hoher Druck (> 270 PSI) auftritt, wird der Druckschalter aktiviert und schließt seinen normalerweise offenen Kontakt. Dadurch wird der Eingang X4 auf der SPS aktiviert, der den virtuellen Kontakt X4 im Kontaktplanprogramm „schließt“.
    Dadurch wird virtuelle Energie an die virtuelle „Spule“ Y5 gesendet, die sich wiederum über den virtuellen Kontakt Y5 einklinkt (Hinweis 3) und auch den realen diskreten Ausgang Y5 aktiviert, um die Warnlampe zu aktivieren:

    Hinweis 3: Es ist erwähnenswert, dass es legitim ist, virtuelle Kontakte auf Ausgangsbits (z. B. Kontakt Y5) und nicht nur auf Eingangsbits zu verweisen.
    Ein „virtueller Kontakt“ in einem SPS-Programm ist nichts anderes als eine Anweisung an den Prozessor der SPS, den Status eines Bits im Speicher zu lesen. Dabei spielt es keine Rolle, ob dieses Bit einem physischen Eingangskanal, einem physischen Ausgangskanal oder einem abstrakten Bit im Speicher der SPS zugeordnet ist.
    Es wäre jedoch falsch, eine virtuelle Spule mit einem Eingangsbit zu verknüpfen, da Spulenanweisungen Bitwerte in den Speicher schreiben und Eingangsbits ausschließlich durch die Aktivierungszustände ihrer physischen Eingangskanäle gesteuert werden sollen.
    Falls der Prozessdruck nun unter 270 PSI fällt, kehrt der Druckschalter in seinen Normalzustand (offen) zurück und schaltet so den diskreten Eingang X4 auf der SPS ab.
    Aufgrund des Verriegelungskontakts Y5 im Programm der SPS bleibt der Ausgang Y5 jedoch eingeschaltet, um die Warnlampe in ihrem aktivierten Zustand zu halten:

    Daher führt der Y5-Kontakt eine Einschlussfunktion aus, um das Y5-Bit gesetzt (1) zu halten, selbst nachdem der Hochdruckzustand behoben ist.
    Dies ist genau dasselbe Konzept wie der „Einschluss“-Hilfskontakt in einem fest verdrahteten Motorstarterkreis, bei dem der elektromechanische Schütz sich selbst aktiviert hält, nachdem der „Start“-Druckknopfschalter losgelassen wurde.
    Die einzige Möglichkeit für einen menschlichen Bediener, die Warnlampe zurückzusetzen, besteht darin, den Druckknopf zu drücken.
    Dies hat zur Folge, dass Eingang X1 an der SPS aktiviert wird, wodurch der virtuelle Kontakt X1 (normalerweise geschlossen) im Programm geöffnet wird, wodurch die virtuelle Stromversorgung der virtuellen Spule Y5 unterbrochen wird, wodurch die Warnlampe ausgeschaltet und die virtuelle Stromversorgung im Programm entriegelt wird:


    leizuofa
    Obwohl es so aussieht, als ob jedes SPS-Modell seinen eigenen, eigenwilligen Standard für die Programmierung hat, gibt es einen internationalen Standard für die Steuerungsprogrammierung, an den sich die meisten SPS-Hersteller zumindest zu halten versuchen. Dies ist der Standard IEC 61131-3, der als Standard gelten wird.
    Man sollte sich damit trösten, dass trotz der Unterschiede in den Details der SPS-Programmierung von einem Hersteller zum anderen und von einem Modell zum anderen die Grundprinzipien weitgehend gleich sind.
    Zwischen verschiedenen allgemeinen Programmiersprachen (z. B. C/C++, BASIC, FORTRAN, Pascal, Java, Ada usw.) bestehen viel größere Unterschiede als zwischen den von verschiedenen SPS unterstützten Programmiersprachen, und diese Tatsache hindert Computerprogrammierer nicht daran, „mehrsprachig“ zu sein.
    Ich habe persönlich Programme für über ein halbes Dutzend verschiedener Hersteller von SPS (Allen-Bradley, Siemens, Square D, Koyo, Fanuc, Moore Products APACS und QUADLOG sowie Modicon) geschrieben und/oder analysiert, mit mehreren SPS-Modellen innerhalb der meisten dieser Marken, und ich kann Ihnen sagen, dass die Unterschiede in den Programmierkonventionen weitgehend unbedeutend sind.
    Nachdem man gelernt hat, wie man ein SPS-Modell programmiert, ist es ziemlich einfach, sich an die Programmierung anderer Marken und Modelle von SPS anzupassen.
    SPS-Programmiersprachen
    Die Norm IEC 61131-3 spezifiziert fünf verschiedene Formen von Programmiersprachen für Industriesteuerungen:
    Kontaktplan (LD) Strukturierter Text (ST) Anweisungsliste (IL) Funktionsblockdiagramm (FBD) Sequenzielles Funktionsdiagramm (SFC) Nicht alle speicherprogrammierbaren Steuerungen unterstützen alle fünf Sprachtypen, aber fast alle unterstützen den Kontaktplan (LD), auf den sich dieses Buch hauptsächlich konzentrieren wird.
    Die Programmiersprachen für viele Industriegeräte sind konstruktionsbedingt begrenzt.
    Ein Grund dafür ist die Einfachheit: Jede Programmiersprache, deren Struktur so einfach ist, dass sie von jemandem ohne formale Programmierkenntnisse verstanden werden kann, ist in ihren Fähigkeiten begrenzt.
    Ein weiterer Grund für Programmierbeschränkungen ist die Sicherheit: Je flexibler und unbegrenzter eine Programmiersprache ist, desto größer ist das Potenzial, beim Programmieren unbeabsichtigt komplizierte „Laufzeitfehler“ zu verursachen.
    Der ISA-Sicherheitsstandard Nr. 84 klassifiziert industrielle Programmiersprachen entweder als feste Programmiersprachen (FPL), Sprachen mit begrenzter Variabilität (LVL) oder Sprachen mit voller Variabilität (FVL).
    Sowohl die Programmierung mit Kontaktplan als auch mit Funktionsblockdiagrammen gilt als Sprache mit „begrenzter Variabilität“, während die Anweisungsliste (und traditionelle Computerprogrammiersprachen wie C/C++, FORTRAN, BASIC usw.) als Sprachen mit „voller Variabilität“ mit dem damit verbundenen Potenzial für komplexe Fehler gilt.

    caixiaofeng
    In diesem Artikel geht es um die Programmierung einer Zweihandsteuerung, die in der Pressenindustrie verwendet wird.
    Der Zweck dieses Programms ist die Sicherheit, um tödliche Unfälle zu verhindern. Unten sehen Sie ein Bild, wie die Presse aussieht und warum uns Sicherheit wichtig ist. Wie Sie sehen können, gibt es Druckknöpfe, mit denen die Presse gesteuert wird. Die Mittelplatte wird gegen die Oberfläche des Werkstücks gedrückt, wenn wir die Druckknöpfe drücken.
    Die beiden Druckknöpfe müssen gleichzeitig gedrückt werden, um die Presse zu bedienen, wie in der folgenden Animation gezeigt.

    Wenn der Bediener mit einer Hand den Knopf drückt und mit der anderen Hand die Platte gegen die Oberfläche drückt, kann er sich verletzen. Die starke Kraft beim Drücken einer Platte kann leicht die Hände einklemmen, wenn der Bediener versucht, Dinge in Eile zu manövrieren.
    Unten habe ich das Programm erklärt, das verwendet wird, um solche Vorfälle mithilfe des Siemens TIA Portals zu verhindern.
    Hier in der folgenden Abbildung ist eine Presse mit zwei Eingängen und einem Ausgang dargestellt. Eingänge sind mit dem digitalen Eingangsmodul (DI) der SPS verbunden und ein einzelner Ausgang ist mit dem digitalen Ausgangsmodul (DO) verbunden.
    Nachfolgend finden Sie eine Liste der für das Programm verwendeten Ein- und Ausgänge.
    Eingänge:
    Druckknopf (PB_1): I0.0 Druckknopf (PB_2): I0.2 Ausgänge:
    Druckmaschinenausgang: Q0.0 Zweihandsteuerungslogik

    Logikbeschreibung
    Netzwerk 1:
    Hier sind zwei Druckknöpfe PB_1 und PB_2 in Reihe geschaltet. Wenn beide Druckknöpfe gleichzeitig gedrückt werden, wird das Signal durch den NC-Kontakt des Timers T0 geleitet und aktiviert den Ausgang.
    Netzwerk 2:
    Wenn nun ein einzelner Druckknopf, entweder PB_1 oder PB_2, gedrückt wird, wird der Einschaltverzögerungstimer (S_ODT) des Timers T0 aktiviert, hier in unserem Fall nach 5 Sekunden.
    Hier wird der NC-Kontakt des Ausgangs der Presse auch nach dem Druckknopf verwendet, denn wenn der Ausgang eingeschaltet ist, kann der Timer nicht aktiviert werden.
    Der Ausgang der Maschine wird also nur aktiviert, wenn beide Knöpfe gleichzeitig gedrückt werden.

    xiangjinjiao
    Wenn Sie eine PLC-Logik entwerfen, müssen Sie auf die Namen achten, die Sie den Tags geben. Sie sollten für jeden Programmierer leicht verständlich und interpretierbar sein. Sie sollten weder zu lang noch zu kurz sein.
    Die Benennungskonvention ist wichtig, da falsches Tagging Programmierern bei der Fehlerbehebung Probleme bereiten kann. Außerdem wird durch die Vergabe langer Namen der Speicher der PLC belegt. Daher muss jeder Programmierer vor dem Schreiben eines PLC-Programms die richtigen Benennungskonventionen befolgen. In diesem Beitrag werden wir uns mit dem Konzept der Benennungskonventionen für PLC-Tags befassen.
    Benennungskonventionen für PLC-Tags

    Lassen Sie uns zunächst verstehen, welche große Rolle die Benennungskonvention für Tags bei der PLC-Programmierung spielt. Sie haben einen Motor mit seinem Laufbefehl und seiner Laufrückmeldung als PLC-IOs.
    Der Motor befindet sich im Gebläseraum und wird als Luftkompressor verwendet. Der Motor-Tag-Name im P&ID ist M-101. Für einen PLC-Programmierer ist es nun wichtig, einen Tag-Standort zu identifizieren. Es gibt also zwei Arten von Denkweisen, die normalerweise einen SPS-Programmierer definieren.
    Der erste versucht, so viele Informationen wie möglich in einem Tag-Namen zu geben; er kann also den Motorlaufbefehl als M101_Compressor_Run_Command bezeichnen. Der zweite versucht, den Namen als Q_M101_Comp zu vergeben.
    Die zweite Denkweise sieht sehr klar aus, da er kurze Namen vergibt und die Länge so gering wie möglich hält. Aus diesem Grund ist die Benennung eines SPS-Tags wichtig, da es den Programmierer davon entlastet, solche langen Tags in Situationen zu lesen, in denen eine dringende Fehlerbehebung erforderlich ist. (Es ist zu beachten, dass bei der Benennung von SPS-Tags außer dem Unterstrich (_) keine Sonderzeichen zulässig sind.)
    Ein SPS-Tag-Name sollte Informationen enthalten, die dem Programmierer helfen können, seine Bedeutung zu verstehen. Dies impliziert im Allgemeinen die folgenden Informationen:
    Datentyp (z. B. Boolesch, Ganzzahl), Datenfluss (z. B. Eingabe, Ausgabe), Bereich (z. B. lokal, global), Instrumenten- oder Gerätetyp (z. B. Motor, Ventil, Sensor), Prozessparameter (z. B. Druck, Durchfluss, Temperatur) und Standort des Geräts. Tag-Namensstile
    Es gibt verschiedene Stile gemäß IEC-Standards, die für eine korrekte Benennung befolgt werden müssen.
    Sehen wir uns einige der am häufigsten verwendeten an:
    Camel-Stil, Pascal-Stil, Snake-Stil, Präfix mit Datentyp-Stil Camel-Stil
    In diesem Stil gibt es keinen Unterstrich dazwischen. Dem gesamten Wort wird ein vollständiger Name gegeben, aber jedes Wort darin beginnt mit einem Großbuchstaben. Nehmen Sie beispielsweise das oben besprochene Beispiel.
    M101_Compressor_Run_Command wird als m101CompressorRunCommand geschrieben. Sie können jedes Wort an einem Großbuchstaben erkennen.
    Der erste Buchstabe ist ein obligatorischer Kleinbuchstabe. Dieser Stil sieht gut aus, wenn das Wort klein ist. Er verhindert die Verwendung von Unterstrichen und verringert den Speicherverbrauch.
    Pascal-Stil
    Er ähnelt dem Camel-Stil; der einzige Unterschied besteht darin, dass der erste Buchstabe ein obligatorischer Großbuchstabe ist.
    Unser Tag wird beispielsweise als M101CompressorRunCommand geschrieben.
    Snake-Stil
    Das Beispiel, das wir zuvor besprochen haben, ist der Snake-Stil. Hier wird jedes Wort durch einen Unterstrich getrennt.
    Präfix mit Datentyp-Stil
    Hier wird dem Tag der Datentyp des Tag-Namens vorangestellt. In unserem Fall war der Tag-Typ Boolean. Gemäß IEC-Standards wird einem Boolean-Tag normalerweise das Präfix „x“ zugewiesen.
    Unser Stil wird also als xM101CompressorRunCommand geschrieben. Dies hilft dem Programmierer zu erkennen, welcher Datentyp für diesen bestimmten Tag verwendet wird.
    Tipps zur Tag-Benennung bei der SPS-Programmierung
    Die erste und wichtigste Regel ist, dass die Länge eines Tags kurz sein sollte, aber nicht so kurz, dass niemand es verstehen kann. Wie besprochen, sollte die Länge geeignete Informationen in angemessener Länge enthalten. Lange Namen sollten strikt vermieden werden.
    Befolgen Sie die allgemeinen Tag-Benennungsstile, die besprochen wurden. Diese entsprechen den IEC-Standards und lassen die Logik ordentlich und sauber aussehen.
    Um Fehler bei der Tag-Erstellung zu reduzieren, verwenden Sie Excel-Dateien. Excel reduziert den Arbeitsaufwand enorm, da Duplizierung und Kopieren sehr einfach werden. In Excel-Dateien treten kaum Fehler auf.
    Es ist nicht immer notwendig, einen vollständigen Namen für ein Wort zu verwenden. Beispielsweise kann das Ventil als vlv und die Temperatur als temp geschrieben werden.
    Vermeiden Sie es, das Tag vollständig in Großbuchstaben zu schreiben. Das sieht umständlich und unleserlich aus.

    xiangjinjiao
    Ein kluger SPS-Programmierer hat mir einmal gesagt, dass das Erste, was jeder angehende Programmierer über die SPS, die er programmieren möchte, lernen sollte, ist, wie der digitale Speicher dieser SPS organisiert ist. Dies ist ein weiser Ratschlag für jeden Programmierer, insbesondere bei Systemen mit begrenztem Speicher und/oder bei denen E/A eine feste Verbindung zu bestimmten Speicherstellen des Systems haben.
    Nahezu jedes mikroprozessorbasierte Steuerungssystem wird mit einer veröffentlichten Speicherzuordnung geliefert, die die Organisation seines begrenzten Speichers zeigt: wie viel ist für bestimmte Funktionen verfügbar, welche Adressen sind mit welchen E/A-Punkten verknüpft, wie unterschiedliche Speicherstellen vom Programmierer referenziert werden sollen.
    Diskrete Eingangs- und Ausgangskanäle einer SPS entsprechen einzelnen Bits im Speicherarray der SPS. Ebenso entsprechen analoge Eingangs- und Ausgangskanäle einer SPS Mehrbitwörtern (zusammenhängenden Bitblöcken) im Speicher der SPS.
    Die Verbindung zwischen E/A-Punkten und Speicherorten ist bei den verschiedenen SPS-Herstellern oder sogar bei den verschiedenen SPS-Modellen desselben Herstellers keineswegs standardisiert. Dies erschwert das Verfassen eines allgemeinen Tutorials zur SPS-Adressierung, und daher ist mein ultimativer Rat, die technischen Referenzen für das SPS-System zu konsultieren, das Sie programmieren möchten.
    Die am häufigsten verwendete SPS-Marke ist Allen-Bradley (Rockwell), die zufällig eine einzigartige Form der E/A-Adressierung verwendet (Anmerkung 1), die Studenten oft verwirrend finden. Aus diesen beiden Gründen (Beliebtheit und Verwirrung) werde ich mich im Großteil dieses Abschnitts auf die Adressierungskonventionen von Allen-Bradley konzentrieren.
    Anmerkung 1: Die modernsten SPS von Allen-Bradley haben die E/A-Adressierung mit festem Standort fast vollständig abgeschafft und sich stattdessen für eine E/A-Adressierung auf Basis von Tag-Namen entschieden. Es gibt jedoch noch genügend ältere SPS-Systeme von Allen-Bradley in der Industrie, um eine Behandlung dieser Adressierungskonventionen zu rechtfertigen.
    SPS-Speicherplan
    Die folgende Tabelle zeigt einen Teil des Speicherplans für eine Allen-Bradley SLC 500 SPS

    Speicherplan, auch Datentabelle genannt. Dieser Plan zeigt die Adressierung von Speicherbereichen, die für vom Benutzer eingegebene Programme reserviert sind. Innerhalb des SLC 500-Prozessors gibt es noch andere Speicherbereiche, auf die der Techniker, der SPS-Programme schreibt, jedoch keinen Zugriff hat.
    Beachten Sie, dass Allen-Bradley das Wort „Datei“ anders verwendet als die PC-Sprache. Im SLC 500-Controller ist eine „Datei“ ein Block Direktzugriffsspeicher, der zum Speichern eines bestimmten Datentyps verwendet wird.
    Im Gegensatz dazu ist eine „Datei“ in einem PC eine zusammenhängende Sammlung von Datenbits mit gemeinsamer Bedeutung (z. B. eine Textverarbeitungsdatei oder eine Tabellenkalkulationsdatei), die normalerweise auf der Festplatte des Computers gespeichert sind.
    In jeder der „Dateien“ der Allen-Bradley-SPS befinden sich mehrere „Elemente“, wobei jedes Element aus einer Reihe von Bits (8, 16, 24 oder 32) besteht, die Daten darstellen.
    Elemente werden durch eine Nummer nach dem Doppelpunkt nach der Dateibezeichnung adressiert, und einzelne Bits innerhalb jedes Elements werden durch eine Nummer nach einem Schrägstrich adressiert. Beispielsweise würde das erste Bit (Bit 0) des zweiten Elements in Datei 3 (Binär) als B3:2/0 adressiert.
    In Allen-Bradley-SPS wie den Modellen SLC 500 und PLC-5 sind die Dateien 0, 1 und 2 ausschließlich für diskrete Ausgänge, diskrete Eingänge bzw. Statusbits reserviert.
    Daher sind die Buchstabenbezeichnungen O, I und S (Dateitypen) redundant zu den Zahlen 0, 1 und 2 (Dateinummern).
    Andere Dateitypen wie B (binär), T (Timer), C (Zähler) und andere haben ihre eigenen Standarddateinummern (3, 4 bzw. 5), können aber auch in einigen der benutzerdefinierten Dateinummern (10 und höher) verwendet werden.
    Beispielsweise ist Datei 7 in einem Allen-Bradley-Controller für Daten des Typs „Integer“ (N) reserviert, aber Integer-Daten können nach Ermessen des Benutzers auch in jeder Datei mit der Nummer 10 oder höher gespeichert werden.
    Daher erscheinen Dateinummern und Dateitypbuchstaben für andere Datentypen als Ausgabe (O), Eingabe (I) und Status (S) immer zusammen.
    Sie würden beispielsweise ein ganzzahliges Wort nicht als N:30 (ganzzahliges Wort 30 im Speicher der SPS) adressiert sehen, sondern als N7:30 (ganzzahliges Wort 30 in Datei 7 des Speichers der SPS), um es von anderen ganzzahligen Wörtern 30 zu unterscheiden, die in anderen Dateien des Speichers der SPS vorhanden sein können.
    Diese dateibasierte Adressierungsnotation bedarf einer weiteren Erklärung. Wenn eine Adresse in einem SPS-Programm erscheint, werden Sonderzeichen verwendet, um verschiedene Felder voneinander zu trennen (oder „abzugrenzen“).
    Das allgemeine Schema für Allen-Bradley SLC 500-SPS wird hier gezeigt:

    Nicht alle Dateitypen müssen einzelne Wörter und Bits unterscheiden. Ganzzahlige Dateien (N) bestehen beispielsweise aus einem 16-Bit-Wort für jedes Element. Beispielsweise wäre N7:5 das 16-Bit-Integer-Wort Nummer fünf, das in Datei sieben gespeichert ist.
    Ein diskreter Eingabedateityp (I) muss jedoch als einzelne Bits angesprochen werden, da sich jeder einzelne E/A-Punkt auf ein einzelnes Bit bezieht. Somit wäre I:3/7 das Bit Nummer sieben, das sich im Eingabeelement drei befindet.
    Das Schrägstrichsymbol ist erforderlich, wenn diskrete E/A-Bits angesprochen werden, da wir uns nicht auf alle sechzehn Bits in einem Wort beziehen möchten, wenn wir nur einen einzigen Eingangs- oder Ausgangspunkt auf der SPS meinen.
    Im Gegensatz dazu sind Ganzzahlen Sammlungen von jeweils 16 Bits in der Speicherzuordnung des SLC 500 und werden daher normalerweise als ganze Wörter und nicht Bit für Bit angesprochen.
    Bestimmte Dateitypen wie Timer sind komplexer. Jedes Timer-„Element“ besteht aus zwei verschiedenen 16-Bit-Wörtern (eines für den kumulierten Wert des Timers, das andere für den Zielwert des Timers) sowie aus mindestens drei Bits, die den Status des Timers angeben (ein „Aktiviert“-Bit, ein „Timing“-Bit und ein „Fertig“-Bit).
    Daher müssen wir sowohl das Dezimalkomma als auch den Schrägstrich als Trennzeichen verwenden, wenn wir uns auf Daten innerhalb eines Timers beziehen. Angenommen, wir haben in unserem SPS-Programm einen Timer mit der Adresse T4:2 deklariert, was Timer Nummer zwei in Timerdatei vier wäre.
    Wenn wir den aktuellen Wert dieses Timers adressieren möchten, würden wir dies als T4:2.ACC tun (das „Akkumulator“-Wort von Timer Nummer zwei in Datei vier). Das „Done“-Bit desselben Timers würde als T4:2/DN adressiert (das „Done“-Bit von Timer Nummer zwei in Datei vier)
    Ein Kennzeichen des Adressierungsschemas des SLC 500, das vielen älteren SPS-Systemen gemeinsam ist, ist, dass die Adressbezeichnungen für Eingangs- und Ausgangsbits explizit auf die physischen Standorte der E/A-Kanäle verweisen.
    Wenn beispielsweise eine 8-Kanal-Diskreteingangskarte in Steckplatz 4 einer Allen Bradley SLC 500 SPS eingesteckt wäre und Sie das zweite Bit (Bit 1 aus einem Bereich von 0 bis 7) angeben möchten, würden Sie es mit der folgenden Bezeichnung ansprechen: I:4/1.
    Um das siebte Bit (Bitnummer 6) auf einer in Steckplatz 3 eingesteckten Diskretausgangskarte anzusprechen, wäre die Bezeichnung O:3/6 erforderlich. In beiden Fällen sagt Ihnen die numerische Struktur dieser Bezeichnung genau, wo das reale Eingangssignal mit der SPS verbunden ist.
    Beispiel für SPS-Speicherzuordnung
    Um die Beziehung zwischen physischen E/A und Bits im Speicher der SPS zu veranschaulichen, betrachten Sie dieses Beispiel einer Allen-Bradley SLC 500 SPS, bei der einer ihrer diskreten Eingangskanäle aktiviert ist (der Schalter wird als „Start“-Schalter für einen Elektromotor verwendet):

    Wenn eine Eingangs- oder Ausgangskarte mehr als 16 Bits besitzt – wie im Fall der 32-Bit-diskreten Ausgangskarte, die in Steckplatz 3 des Beispiel-SLC 500-Racks gezeigt ist –, unterteilt das Adressierungsschema jedes Element weiter in Wörter und Bits (jedes „Wort“ ist 16 Bits lang).
    Somit wäre die Adresse für Bit Nummer 27 eines in Steckplatz 3 eingesteckten 32-Bit-Eingabemoduls I:3.1/11 (da Bit 27 Bit 11 von Wort 1 entspricht – Wort 0 adressiert die Bits 0 bis 15 und Wort 1 adressiert die Bits 16 bis 31):

    Eine Nahaufnahme einer 32-Bit-DC-Eingabekarte für ein Allen-Bradley SLC 500 PLC-System zeigt diese Mehrwortadressierung:

    Die ersten sechzehn Eingabepunkte auf dieser Karte (die linke LED-Gruppe mit den Nummern 0 bis 15) werden von I:X.0/0 bis I:X.0/15 adressiert, wobei „X“ sich auf die Steckplatznummer bezieht, in die die Karte eingesteckt ist. Die nächsten sechzehn Eingangspunkte (die rechte LED-Gruppe mit den Nummern 16 bis 31) werden mit I:X.1/0 bis I:X.1/15 adressiert.
    Ältere SPS-Systeme verweisen normalerweise auf jeden der E/A-Kanäle mit Bezeichnungen wie „I:1/3“ (oder Ähnlichem), die den tatsächlichen Standort des Eingangskanalanschlusses auf der SPS-Einheit angeben.
    Der Programmierstandard IEC 61131-3 bezeichnet diese kanalbasierte Adressierung von E/A-Datenpunkten als direkte Adressierung. Ein Synonym für direkte Adressierung ist absolute Adressierung.
    Die direkte Adressierung von E/A-Bits über ihre Karten-, Steckplatz- und/oder Anschlussbezeichnungen mag einfach und elegant erscheinen, wird jedoch bei großen SPS-Systemen und komplexen Programmen sehr umständlich.
    Jedes Mal, wenn ein Techniker oder Programmierer das Programm betrachtet, muss er jede dieser E/A-Beschriftungen in ein reales Gerät „übersetzen“ (z. B. „Eingang I:1/3 ist eigentlich der Start-Druckknopf für den Mischmotor des mittleren Tanks“), um die Funktion dieses Bits zu verstehen.
    Ein späterer Versuch, die Übersichtlichkeit der SPS-Programmierung zu verbessern, war das Konzept, Variablen im Speicher einer SPS mit beliebigen Namen statt mit festen Codes zu adressieren.
    Der Programmierstandard IEC 61131-3 bezeichnet dies als symbolische Adressierung im Gegensatz zur „direkten“ (kanalbasierten) Adressierung, wodurch Programmierer E/A-Kanäle beliebig auf eine Weise benennen können, die für das gesamte System sinnvoll ist.
    Um unser einfaches Beispiel des Motor-„Start“-Schalters zu verwenden: Der Programmierer kann nun den Eingang I:1/3 (ein Beispiel für eine direkte Adresse) innerhalb des Programms als „Motorstartschalter“ (ein Beispiel für eine symbolische Adresse) bezeichnen, wodurch die Lesbarkeit des SPS-Programms erheblich verbessert wird.
    Bei den ersten Implementierungen dieses Konzepts wurden direkte Adressen für E/A-Datenpunkte beibehalten, wobei symbolische Namen als Ergänzung zu den absoluten Adressen erschienen.
    Der moderne Trend bei der SPS-Adressierung besteht darin, die Verwendung direkter Adressen wie I:1/3 vollständig zu vermeiden, sodass sie nirgendwo im Programmiercode erscheinen.
    Die Allen-Bradley „Logix“-Reihe speicherprogrammierbarer Steuerungen ist zum Zeitpunkt des Schreibens dieses Artikels das prominenteste Beispiel für diese neue Konvention.
    Jedem E/A-Punkt, unabhängig von Typ oder physischem Standort, wird ein Tag-Name zugewiesen, der in der realen Welt sinnvoll ist, und diese Tag-Namen (oder Symbole, wie sie alternativ genannt werden) werden durch eine Datenbankdatei auf absolute E/A-Kanalstandorte referenziert.
    Eine wichtige Anforderung an Tag-Namen ist, dass sie keine Leerzeichen zwischen Wörtern enthalten (z. B. sollte ein Tag-Name anstelle von „Motorstartschalter“ Bindestriche oder Unterstriche als Abstandszeichen verwenden: „Motorstartschalter“), da Leerzeichen in Computerprogrammiersprachen im Allgemeinen als Trennzeichen (Trennzeichen zwischen verschiedenen Variablen) angesehen werden.
    Nachdem ich Allen-Bradleys Adressierungsnotation für SPS des Modells SLC 500 eingeführt habe, werde ich sie nun zugunsten der modernen Konvention der symbolischen Adressierung in den restlichen Artikeln aufgeben, um zu vermeiden, dass die Programmierbeispiele marken- oder modellspezifisch werden. Jeder Datenpunkt in meinen SPS-Programmen trägt seinen eigenen Tag-Namen und nicht eine direkte (kanalbasierte) Adressbezeichnung.

    leizuofa
    Im Gegensatz zu diskreten/digitalen (Ein/Aus) Schaltkreisen variieren analoge Signale über einen Spannungs- oder Strombereich. Wie würde sich die Verdrahtung ändern, wenn wir den Schalter durch einen Füllstandstransmitter ersetzen würden, wenn wir dasselbe Gefäß wie im Beispiel der digitalen Verdrahtung verwenden?
    Verdrahtungstechniken für analoge SPS-Signale
    Die folgende Abbildung zeigt dieselbe Leistungsschaltertafel, die jetzt jedoch eine Gleichstromversorgung versorgt.
    Die Stromversorgung könnte sich in einem eigenen Schrank oder im Rangierverteiler befinden. In jedem Fall wird der Gleichstrom im Rangierverteiler verteilt. Eine einzelne Sicherung könnte mehrere Schaltkreise versorgen, oder jeder Schaltkreis könnte abgesichert sein.

    Der Transmitter wird an seinem Pluspol mit +24 VDC versorgt. Das 4–20 mA-Stromsignal wird vom (-)-Anschluss des Transmitters zur SPS geleitet.
    Die Verkabelung ist verdrillt und geschirmt. Das Signalkabel ist mit der Transmitternummer nummeriert, und die Drähte im Inneren sind nummeriert, um Informationen zur Stromquelle bereitzustellen.
    Die Abschirmung wird im Rangierfeld abgeschlossen, wo alle Abschirmungen gesammelt und an einer Erdungsklemme angeschlossen werden, die vom Schrank isoliert ist. Hinweis: Es sollte darauf geachtet werden, dass die Abschirmung nur an einer Stelle geerdet wird.
    Abschirmungen, die an mehr als einer Stelle geerdet sind, können große Rauschspitzen in das Signal einspeisen. Dieser Zustand wird als Erdschleife bezeichnet und kann sehr schwer zu isolieren sein, da das Problem nur zeitweise auftritt.
    Eine „ruhige“ Erdung sollte verwendet werden, um alle Abschirmungen an einem Punkt zu erden. Eine ruhige Erdung ist entweder an eine dedizierte Erdungstriade oder an den Mittelabgriff eines Trenntransformators angeschlossen.
    Eine rauschende Erdung wäre eine, die physisch weit vom Transformator entfernt ist und Motoren, Lichter oder andere rauschende Gegenstände versorgt. Das ist der grundlegende analoge Zweidraht-Eingangsschaltkreis.
    Im Folgenden finden Sie einige spezifische Informationen zu den verschiedenen analogen Möglichkeiten:
    a. Schaltkreisschutz (Sicherung)
    Analoge Schaltkreise haben immer Niederspannung, normalerweise 24 VDC. Aus diesem Grund ist es nicht erforderlich, einzelne analoge Schaltkreise zum Schutz des Personals zu sichern. Außerdem verfügen die meisten analogen E/A-Module über integrierte Strombegrenzungsschaltkreise.
    Eine Sicherung ist zum Schutz der Module also im Allgemeinen nicht erforderlich. Wenn diese beiden Bedingungen erfüllt sind – und der Entwickler sollte dies beim Hersteller bestätigen –, kann auf eine punktweise Sicherung verzichtet werden, falls gewünscht.
    Wenn ein Entwickler Geld sparen möchte, indem er nicht jeden Punkt sichert, sollte er die Schaltungen in Schadensbegrenzungszonen gruppieren.
    Wenn es beispielsweise ein Pumpenpaar, eine Primär- und eine Ersatzschaltung gibt, sollten die Instrumente für beide in separaten Sicherungsgruppen angeordnet sein, um zu verhindern, dass eine einzige durchgebrannte Sicherung beide ausschaltet. Weitere Informationen finden Sie im Index unter „E/A-Partitionierung“.
    b. Störfestigkeit
    Analoge Schaltkreise sind anfällig für elektronisches Rauschen. Wenn beispielsweise ein analoges Kabel neben dem Hochspannungskabel eines Motors liegt, fungiert das analoge Signalkabel als Antenne und nimmt das magnetisch gekoppelte Rauschen auf, das vom Motor erzeugt wird.
    Es gibt noch andere Rauschquellen, wie z. B. die Hochfrequenzstrahlung (RF) eines Walkie-Talkies. Rauschen auf einem analogen Signalkabel kann zu Fehlern beim Ablesen des Signalwerts führen, was wiederum eine Vielzahl von Problemen im Steuerungssystem verursachen kann.
    Einige Möglichkeiten zur Rauschminderung sind:
    • Twisted-Pair-Kabel:
    Elektronisches Rauschen kann durch die Verwendung von Twisted-Pair-Kabeln stark reduziert werden. Die meisten Instrumente verwenden zwei Drähte zur Signalübertragung. Der Strom fließt in einem Draht zum Gerät und im anderen vom Gerät zurück.
    Wenn diese Drähte verdrillt sind, ist das induzierte Rauschen in jedem Draht nahezu gleich.
    Die Stärke des induzierten Stromflusses ist in jedem Leiter identisch, aber er fließt in entgegengesetzte Richtungen, wodurch der Großteil des Rauschens aufgehoben wird.
    • Abschirmung:
    Eine weitere Verbesserung der Rauschunterdrückung ist die Abschirmung, d. h. die Verwendung eines geerdeten Geflechts oder einer Folienabschirmung um die Leiter. Wie bereits erwähnt, sollte die Abschirmung nie an mehr als einer Stelle geerdet werden, um Erdschleifen zu vermeiden.
    Die meisten Gerätehersteller empfehlen, die Abschirmung am Feldgerät zu erden. Ein besserer Ort hierfür ist jedoch das Rangierfeld.
    Die Erdungen lassen sich leichter überprüfen und verwalten, wenn sie sich an einer Stelle befinden. Außerdem ist es möglich, an diesem Punkt eine gute Erdung sicherzustellen.
    • Leitung:
    Eine letzte Verbesserung der Rauschunterdrückung ist eine geerdete metallische Leitung. Dies ist selten erforderlich, außer bei Datenkommunikationskabeln und besonders kritischen Schaltkreisen.
    c. Widerstandstemperaturdetektor (RTD)
    Ein RTD besteht aus einem speziellen Stück Draht, dessen elektrischer Widerstand sich auf vorhersehbare Weise ändert, wenn der Draht unterschiedlichen Temperaturen ausgesetzt wird.
    Das Material der Wahl ist heute 100-Ohm-Platin, obwohl manchmal auch andere Arten wie 10-Ohm-Kupfer verwendet werden. Für den Platin-RTD gilt die Nennleistung für 100 Ohm bei 0ºC.
    Widerstandsänderungen mit der Temperatur sind sehr gering und verursachen Spannungsschwankungen im Millivoltbereich.
    RTDs sind an eine Wheatstone-Brückenschaltung angeschlossen, die auf den RTD abgestimmt ist. Diese Abstimmung erfolgt jedoch auf dem Prüfstand.
    Was ist mit der Feldumgebung? Wir haben bereits die Leitungsdämpfungsschwierigkeiten besprochen, die Millivoltsignalen innewohnen (Kapitel 4). Dieses Problem wird in der RTD-Schaltung durch die Verwendung von einem oder zwei Sensoreingängen überwunden.
    Diese Eingänge helfen, die Auswirkungen von Kupferverlusten aufgrund langer Leitungen und Temperaturschwankungen entlang dieser zu negieren und sind zusätzliche Drähte, die in das RTD-Kabel aufgenommen werden müssen, daher die Begriffe Dreidraht- und Vierdraht-RTDs.
    d. Thermoelement
    Wie wir besprochen haben, nutzt ein Thermoelement die elektromotorische Kraft (EMK), die durch Temperaturänderungen entsteht, die zwei ungleiche Metalle beeinflussen, die zusammen laminiert wurden.
    Diese EMF manifestiert sich als Millivolt-Signal (DC). Wenn bestimmte Kombinationen dieser ungleichen Metalle verbunden werden, ergibt sich eine vorhersagbare Kurve von Temperatur zu Spannung, wenn sich die Temperatur an der Verbindungsstelle ändert.
    Das Signal wird am offenen Ende der beiden Drähte gemessen und eine Millivolt-pro-Grad-Skala wird verwendet, um die Spannung in technische Einheiten umzurechnen.
    Ein Thermoelement ist also ein Zweidrahtgerät. Es ist anfällig für abgestrahltes und induziertes Rauschen und wird daher normalerweise in einem abgeschirmten Kabel untergebracht, wenn es über eine sehr lange Distanz verlängert wird. Das Thermoelementsignal ist auch anfällig für Verschlechterungen durch Leitungsverlust, daher ist es wünschenswert, die Kabellänge zu minimieren.
    Außerdem ist es wichtig, das richtige Verlängerungskabel zu verwenden. Ein Thermoelement wird normalerweise mit einer kurzen Pigtail-Verbindung geliefert, an die ein Verlängerungskabel angeschlossen werden muss. Wenn ein anderes Kabelmaterial, wie z. B. Kupfer, verwendet wird, um das Signal an die SPS zu verlängern, entsteht eine falsche „kalte Verbindung“, die eine umgekehrte elektromotorische Kraft verursacht, die das Signal teilweise aufhebt.
    Daher sollte das richtige Verlängerungskabel verwendet werden, oder es muss ein Gerät namens Kaltstellenkompensator oder Eispunktreferenz zwischen der Kupferverdrahtung und der Thermoelementverdrahtung installiert werden.
    Thermoelement-E/A-Module verfügen bereits über eine integrierte Kaltstellenkompensation, daher ist die Verwendung des richtigen Thermoelement-Verlängerungskabels erforderlich.
    Bestimmte Thermoelementtypen weisen unterschiedliche Temperatureigenschaften auf. Ein Thermoelement vom Typ J wird durch die Verbindung eines Eisendrahts mit einem Konstantandraht gebildet.
    Diese Konfiguration ergibt eine relativ lineare Kurve zwischen 0 und 750ºC.8 Ein Thermoelement vom Typ K besteht aus einem Nickel-Chrom-Draht, der mit einem Nickel-Aluminium-Draht verbunden ist, der manchmal auch Chromel/Alumel genannt wird.
    Das Thermoelement vom Typ K deckt einen nutzbaren Temperaturbereich von -200 bis 1250ºC ab. Andere Kombinationen ergeben andere Reaktionskurven.
    e. 0–10 Millivolt (mV) Analog
    Analogsignale wurden zuerst durch Spannungsmodulation erzeugt. Früher erzeugte ein Sender ein schwaches Signal, das erfasst und dann gefiltert und verstärkt werden musste, damit es zum Bewegen eines Stifts auf einem Schreiber oder einer Nadel auf einem Messgerät verwendet werden konnte. Die Achillesferse des Millivoltsignals ist seine Anfälligkeit für elektrisches Rauschen.
    Dieses Problem des Signal-Rausch-Verhältnisses wird mit der Kabellänge größer. Der Sender musste sich also in unmittelbarer Nähe des Anzeigegeräts oder Rekorders befinden.
    Heutzutage werden Millivoltsignale im Großen und Ganzen an Wandler weitergeleitet, die das kleine Signal in einen Strom oder in andere Medien (wie digitale Datenwerte) umwandeln, die weniger anfällig für Rauschen und Dezibelverluste (dB) sind, bevor sie die Nähe des Sensorelements verlassen. Einige Rekorder und Datenerfassungssysteme arbeiten jedoch immer noch mit dem Millivoltsignal.
    f. 4–20 Milliampere (mA) Analog
    Das Bestreben, die Leitungsdämpfungsmängel des Millivoltsignals zu überwinden, führte zur Entwicklung der 4–20 mA-Stromschleife.
    Aufgrund der stark verbesserten Leistung wurde diese Methode zur Übertragung analoger Signale schnell zum Industriestandard. Die meisten Feldinstrumente auf dem Markt haben ein Sensorelement (Sensor) und ein Übertragungselement.
    Der Sender ist auf den Sensor abgestimmt, der jede Art von Signal von frequenzmoduliertem Analogsignal bis zu Millivolt-Gleichstrom liefern kann.
    Unabhängig von der Signalform interpretiert der Sender es und wandelt es in einen Ausgangsstrom zwischen 4 und 20 mA um, der innerhalb dieses Bereichs in der Größe proportional zum Eingang ist. Der Prozess der Abstimmung des Ausgangs auf den Eingang wird als Skalierung bezeichnet.
    Somit wird der Sender zu einer sogenannten variablen Stromquelle. So wie eine Batterie als Spannungsquelle versucht, eine konstante Spannung aufrechtzuerhalten, unabhängig von der Menge der angelegten Last, versucht die Stromquelle, einen konstanten Strom (für ein gegebenes Eingangssignal) aufrechtzuerhalten, unabhängig von der Last.
    Da der Strom an allen Punkten eines Reihenschaltkreises gleich ist, wird das Problem der Kabellänge – wie bereits als Problem mit dem Millivoltsignal erwähnt – aufgehoben.
    Natürlich kann die Fähigkeit des Geräts, einen konstanten Strom durch einen Schaltkreis zu zwingen, überwunden werden, wenn genügend Last angelegt wird. Daher muss der Entwickler wissen, wie viel Energie die Stromquelle erzeugen kann.
    Im Allgemeinen können heutige Instrumente 20 mA bei einem Stromkreiswiderstand von 1000 Ohm aufrechterhalten. Da ein typisches Instrument nicht mehr als 250 Ohm Eingangswiderstand hat, ist es möglich, mehrere Instrumente von einer einzigen Stromquelle aus zu versorgen, ohne dass ein Isolator erforderlich ist.
    Beispielsweise sollte ein einzelner Sender in der Lage sein, sein Signal an eine SPS, einen Diagrammschreiber und einen Summierer zu einem Preis von 750 Ohm zuzüglich des Leitungswiderstands zu übermitteln. Dies sollte immer noch im Komfortbereich eines typischen Senders liegen.
    Hinweis: Es gibt immer noch Instrumente mit 600 Ohm-Bewertungen auf dem Markt, daher sollte der Entwickler immer prüfen, wann immer ein komplexer Stromkreis in Betracht gezogen wird.
    Um die dem Stromkreis zur Verfügung stehende Energie zu bestimmen, muss der Entwickler in der Lage sein, den Anbieter dieser Energie zu identifizieren. Diese Aufgabe ist manchmal nicht so einfach, wie sie erscheinen mag, und die Antwort auf die Frage hat große Auswirkungen auf die Verdrahtung des Stromkreises.
    Es gibt zwei Haupttypen analoger Stromkreise, wie aus der Sicht des Senders beschrieben. Transmitter mit zwei Drähten gelten als passive Geräte, die Strom aufnehmen, während Transmitter mit vier Drähten aktive Geräte sind, die Strom liefern.
    Die folgende Abbildung zeigt drei Temperaturtransmitter, die jeweils an unterschiedliche E/A-Punkte auf demselben SPS-Modul angeschlossen sind.
    Ein Transmitter wird direkt mit Strom versorgt (d. h. vier Drähte), während die anderen indirekt mit Strom versorgt werden (d. h. zwei Drähte). Jeder Transmitter ist an ein Steuergerät angeschlossen – in diesem Fall an einen SPS-Eingang.
    Aus Sicht der SPS sind alle 4–20 mA-Stromeingänge eigentlich Spannungseingänge. Widerstände, entweder vom Benutzer bereitgestellte externe, wie hier gezeigt, oder interne, werden verwendet, um den Strom in eine Spannung umzuwandeln.
    Die Computerpunkte selbst sind eigentlich hochohmige Voltmeter, die ihnen eine hervorragende Isolierung von den Feldgeräten bieten und die zusätzliche Belastung des Eingangskreises minimieren.
    Die E/A-Punkte auf der SPS werden mit interner Stromversorgung für jeden Punkt angezeigt, sodass das Modul die Spannungsquelle für die Schleife sein kann.

    Nachfolgend finden Sie eine detaillierte Erläuterung der Unterschiede zwischen Zweidraht- und Vierdrahtgeräten:
    1. Vierdrahtschaltung
    Wie unten zu sehen ist, ist ein Vierdrahtsender ein Sender, der die Energie liefert, um die Schleife mit Strom zu versorgen und das strommodulierte Signal zu erzeugen.
    Die meisten Füllstandssender sind beispielsweise Vierdrahtgeräte. Vierdrahtgeräte haben immer zusätzlich zu den Signalanschlüssen Stromanschlüsse. Doch nicht alle derartigen mit Strom versorgten Sender sind Vierdrahtgeräte.
    Wenn der Ausgang eines mit Strom versorgten Senders als passiv gekennzeichnet ist, kann das Gerät vom Standpunkt des Signalkreises aus als Zweidrahtgerät behandelt werden.
    Die meisten Aufzeichnungsgeräte werden extern mit Strom versorgt, sind aber im Stromkreis passiv. In diesen Fällen ist die externe Stromversorgung nur für die interne Elektronik des Geräts bestimmt.
    Der Signalkreis ist von dieser Stromquelle isoliert. Beachten Sie, dass der im unteren Stromkreis gezeigte Rekorder ein mit Strom versorgtes, passives Gerät ist.
    2. Zweidrahtschaltung
    Ein Zweidrahtgerät wird als schleifengespeist bezeichnet. Das heißt, das Gerät funktioniert, indem es die Energie absorbiert, die es zum Generieren des Signals aus der Stromschleife benötigt.
    Dies wird auch als „Stromsenke“ bezeichnet. Diese Nomenklatur kann etwas verwirrend sein, da ein stromsenkender Sender immer noch die Signalquelle für den Schaltkreis ist. Die Stromversorgung für die Stromschleife erfolgt woanders.
    Ein als Zweidrahtsender klassifizierter Sender muss in Bezug auf den Stromfluss normalerweise das erste Gerät im Schaltkreis sein.
    Mit anderen Worten muss der Pluspol des Senders direkt mit dem Pluspol der Spannungsquelle verbunden sein. Die Spannungsquelle ist normalerweise eine 24-VDC-Stromversorgung.
    (a) Zweidrahtstromkreise mit eigenständiger Stromversorgung
    In Bezug auf die obige Abbildung zeigt SPS-E/A-Punkt 2 einen Zweidrahtstromkreis mit einer externen Gleichstromversorgung.
    Beachten Sie, dass die Drähte (polaritätsmäßig) an der SPS gerollt werden müssen, damit die richtige Polarität über den E/A-Punkt vorhanden ist.
    Das liegt daran, dass der Stromfluss im Vergleich zum vorherigen Beispiel nun umgekehrt ist, da der Sender die erste Last in der Schleife werden muss und nicht die Energiequelle für die Schleife sein darf.
    (b) Zweidrahtschaltungen mit interner SPS-Stromversorgung
    Die meisten heutigen SPS-Systeme können den Schleifenstrom selbst erzeugen, indem sie einfach den Pluspol des Senders mit einem anderen Anschluss an der SPS verbinden.
    Der Minuspol des Senders wird dann mit der Plusseite des E/A-Punkts verbunden und die Minusseite des E/A-Punkts wird mit dem DC-Masseanschluss des SPS-Systems überbrückt.
    Dies ist im Beispiel E/A-Punkt 3 dargestellt. In diesem Beispiel wurde der Schleife ein Rekorder hinzugefügt.

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