Porównywanie wartości większe lub równe w PLC

Udostępnij
Porównywanie wartości większe lub równe w PLC

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”:

ParametryDeklaracjaTyp danychObszar pamięciOpis
WejścieBit strings, integers, floating-point numbers, character strings, timers, date and timeI, Q, M, D, L, P, lub stałaPierwsza wartość porównawcza
WejścieBit strings, integers, floating-point numbers, character strings, timers, date and timeI, Q, M, D, L, P, lub stałaDruga wartość do porównania

Przykład użycia instrukcji CMP

Poniższy przykład ilustruje, jak działa instrukcja CMP:

AD 4nXdn73Wydro2GgJnCHrTo3jNakU84aCwqa HxOAZQpkT0F2wES1UDCjQLwUWEnpyQ06lCtBgZHMC0yURVr9QvmqG2UQfkZFoVQfSh4X3918nHvD4OwJX3ZNK6M2fZezo7Bks1ZFD09Fh2Q1xFvlH

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.

Udostępnij
Polecany kurs!
Do 20.09.2022 rabat -15% na:

SIMATIC S7 w akcji

Zapisz się na newsletter!
Autor wpisów
Tomasz Gilewski

Witam, nazywam się Tomasz Gilewski. Jestem autorem książek o sterowniku S7-1200 oraz panelach HMI (czyli sprzęt firmy Siemens). Od kilkunastu lat zajmuję się programowaniem wyłącznie na sprzęcie oraz narzędziach inżynieryjnych firmy Siemens.

Zostaw komentarz

Wybierz walutę
Przewiń do góry

Wyszukaj na stronie