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

Share
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ęciDescription
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”.

Summary

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.

Share
Recommended course!
Until 20.09.2022 rebate -15% on:

SIMATIC S7 in action

Sign up for the newsletter!
Author of entries
Tomasz Gilewski

Hello, my name is Tomasz Gilewski. I am the author of books on the S7-1200 controller and HMI panels (i.e. Siemens hardware). I have been programming exclusively on Siemens hardware and engineering tools for several years.

Leave a Comment

Select currency
Scroll to Top

Search on