Wprowadzenie do porównywania wartości PLC
W programowaniu PLC, porównywanie wartości jest kluczowym elementem, który pozwala na podejmowanie decyzji w oparciu o różne warunki. Jedną z popularnych metod tworzenia logiki sterownika PLC jest programowanie w LAD, czyli graficznym języku drabinkowym. Ten sposób jest szczególnie przyjazny dla inżynierów z doświadczeniem w elektryce i automatyce. W tym artykule omówimy, jak działa instrukcja CMP w systemach Siemens oraz jak wykorzystać warunki logiczne w PLC.
Instrukcja CMP Siemens
Opis instrukcji CMP >=
Instrukcja “Greater or equal” (CMP >=) służy do określenia, czy pierwsza wartość porównawcza () jest większa lub równa drugiej wartości porównawczej (). Obie wartości muszą być tego samego typu danych.
Jeśli warunek porównania jest spełniony, instrukcja zwraca wynik operacji logicznej (RLO) “1”. W przeciwnym razie, zwraca RLO “0”. RLO instrukcji jest logicznie łączone z RLO całego rzędu w następujący sposób:
- Przez AND, gdy instrukcja porównawcza jest połączona szeregowo.
- Przez OR, gdy instrukcja porównawcza jest połączona równolegle.
Wartości porównawcze należy określić w odpowiednich miejscach w instrukcji.
Porównywanie ciągów znaków
Podczas porównywania ciągów znaków, poszczególne znaki są porównywane na podstawie ich kodów (np. ‘a’ jest większe niż ‘A’). Porównanie odbywa się od lewej do prawej, a pierwszy różniący się znak decyduje o wyniku porównania. Jeśli lewa część dłuższego ciągu jest identyczna z krótszym, dłuższy ciąg jest uznawany za większy.
Przykłady porównania ciągów
| RLO instrukcji | ||
| ‘BB’ | ‘AA’ | 1 |
| ‘AAA’ | ‘AA’ | 1 |
| ‘Hello World’ | ‘Hello World’ | 1 |
| ‘Hello World’ | ‘HelloWorld’ | 0 |
| ‘AA’ | ‘aa’ | 0 |
| ‘AAA’ | ‘a’ | 0 |
Porównywanie czasów, dat i godzin
Podczas porównywania wartości czasowych, RLO instrukcji wynosi “1”, jeśli punkt czasowy w jest większy (nowszy) lub równy punktowi czasowemu w .
Nie wszystkie czasy mogą być bezpośrednio porównywane, na przykład S5TIME. W takim przypadku są one implicitnie konwertowane na inny czas, aby mogły być porównane, na przykład do TIME.
Parametry instrukcji CMP
Poniższa tabela przedstawia parametry instrukcji “Greater or equal”:
| Parametry | Deklaracja | Typ danych | Obszar pamięci | Opis |
| Wejście | Bit strings, integers, floating-point numbers, character strings, timers, date and time | I, Q, M, D, L, P, lub stała | Pierwsza wartość porównawcza | |
| Wejście | Bit strings, integers, floating-point numbers, character strings, timers, date and time | I, Q, M, D, L, P, lub stała | Druga wartość do porównania |
Przykład użycia instrukcji CMP
Poniższy przykład ilustruje, jak działa instrukcja CMP:
Wyjście “TagOut” jest ustawiane, gdy spełnione są następujące warunki:
- Operandy “TagIn_1” i “TagIn_2” mają stan sygnału “1”.
- Warunek instrukcji porównawczej jest spełniony, jeśli “Tag_Value1” >= “Tag_Value2”.
Podsumowanie
Porównywanie wartości w PLC, w tym instrukcja CMP Siemens, jest kluczowym elementem programowania, który pozwala na efektywne zarządzanie warunkami logicznymi. Zrozumienie, jak działają te instrukcje, jest niezbędne dla każdego programisty PLC.