Vergleichsanweisungen in der SPS werden verwendet, um Wertepaare zu testen und die logische Kontinuität einer Sprosse zu prüfen.
Vergleichsanweisungen sind daher selten, wenn überhaupt, die letzten Anweisungen auf einer Sprosse.
Arten von Vergleichsanweisungen
Nehmen wir beispielsweise an, dass eine LES-Anweisung mit zwei Werten präsentiert wird. Wenn der erste Wert kleiner als der zweite ist, ist die Vergleichsanweisung wahr.
Gleich-Anweisung (EQU)
Verwenden Sie die EQU-Anweisung, um zu testen, ob zwei Werte gleich sind. Wenn Quelle A und Quelle B gleich sind, ist die Anweisung logisch wahr. Wenn diese Werte nicht gleich sind, ist die Anweisung logisch falsch.
Quelle A muss eine Adresse sein.
Quelle B kann entweder eine Programmkonstante oder eine Adresse sein.
Werte werden in Zweierkomplementform gespeichert.
Ungleich-Befehl (NEQ)
Verwenden Sie den NEQ-Befehl, um zu testen, ob zwei Werte ungleich sind.
Wenn Quelle A und Quelle B ungleich sind, ist der Befehl logisch wahr.
Quelle A muss eine Adresse sein.
Quelle B kann entweder eine Programmkonstante oder eine Adresse sein.
Werte werden in Zweierkomplementform gespeichert.
Kleiner-als-Befehl (LES)
Verwenden Sie den LES-Befehl, um zu testen, ob ein Wert (Quelle A) kleiner als ein anderer (Quelle B) ist.
Wenn Quelle A kleiner als der Wert an Quelle B ist, ist der Befehl logisch wahr.
Quelle A muss eine Adresse sein.
Quelle B kann entweder eine Programmkonstante oder eine Adresse sein.
Werte werden in Zweierkomplementform gespeichert.
Kleiner-als-oder-gleich-Befehl (LEQ)
Verwenden Sie den LEQ-Befehl, um zu prüfen, ob ein Wert (Quelle A) kleiner oder gleich einem anderen (Quelle B) ist.
Wenn der Wert an Quelle A kleiner oder gleich dem Wert an Quelle B ist, ist der Befehl logisch wahr.
Quelle A muss eine Adresse sein.
Quelle B kann entweder eine Programmkonstante oder eine Adresse sein.
Werte werden in Zweierkomplementform gespeichert.
Größer-als-Befehl (GRT)
Verwenden Sie den GRT-Befehl, um zu prüfen, ob ein Wert (Quelle A) größer als ein anderer (Quelle B) ist.
Wenn der Wert an Quelle A größer als der Wert an Quelle B ist, ist der Befehl logisch wahr.
Größer-als-oder-gleich-Befehl (GEQ)
Verwenden Sie den GEQ-Befehl, um zu prüfen, ob ein Wert (Quelle A) größer oder gleich einem anderen (Quelle B) ist.
Wenn der Wert an Quelle A größer oder gleich dem Wert an Quelle B ist, ist die Anweisung logisch wahr.
Maskierter Vergleich auf Gleichheit (MEQ)
Verwenden Sie die MEQ-Anweisung, um Daten an einer Quelladresse mit Daten an einer Vergleichsadresse zu vergleichen.
Die Verwendung dieser Anweisung ermöglicht es, Teile der Daten durch ein separates Wort zu maskieren.
Quelle ist die Adresse des Werts, den Sie vergleichen möchten.
Maske ist die Adresse der Maske, durch die die Anweisung Daten verschiebt.
Die Maske kann ein hexadezimaler Wert sein.
Vergleich ist ein ganzzahliger Wert oder die Adresse der Referenz.
Wenn die 16 Datenbits an der Quelladresse gleich den 16 Datenbits an der Vergleichsadresse sind (abzüglich maskierter Bits), ist die Anweisung wahr.
Die Anweisung wird falsch, sobald sie eine Nichtübereinstimmung erkennt.
Grenzwerttest-Anweisung (LIM)
Verwenden Sie die LIM-Anweisung, um Werte innerhalb oder außerhalb eines angegebenen Bereichs zu testen, je nachdem, wie Sie die Grenzwerte festlegen.
Die Werte für Untergrenze, Test und Obergrenze können Wortadressen oder Konstanten sein, beschränkt auf die folgenden Kombinationen:
- Wenn der Testparameter eine Programmkonstante ist, müssen sowohl der Untergrenze- als auch der Obergrenze-Parameter Wortadressen sein.
- Wenn der Testparameter eine Wortadresse ist, können die Untergrenze- und Obergrenze-Parameter entweder eine Programmkonstante oder eine Wortadresse sein.
Wahr/Falsch-Status der LIM-Anweisung
Wenn die Untergrenze einen Wert hat, der gleich oder kleiner als die Obergrenze ist, ist die Anweisung wahr, wenn der Testwert zwischen den Grenzwerten liegt oder gleich einem der Grenzwerte ist.
Wenn die Untergrenze einen Wert hat, der größer als die Obergrenze ist, ist die Anweisung falsch, wenn der Testwert zwischen den Grenzwerten liegt.