Darmowy zarys kursu CODESYS
- Lekcja #1: Czym jest? Dlaczego powinieneś go znać?! – PART 1
- Lekcja #2: Jak zainstalować Codesys? – PART 2
- Lekcja #3: Napisz swój pierwszy program w Codesys: Structured Text – Part #3
- Lekcja #4: Jak stworzyć wizualizację Codesys w aplikacji? – Part #4
- Lekcja #5: Wprowadzenie do zmiennych w CODESYS – Part #5
- Lekcja #6: Struktury danych w CODESYS: Praktyczne zastosowanie tablic i struktur – Part #6
- Lekcja #7: Zaawansowane typy danych. Wyliczenia i zmienne lokalne vs. globalne – Part #7
- Lekcja #8: Operatory – Wprowadzenie i praktyczne zastosowania – Part #8
- Lekcja #9: Kontrola przepływu programu: IF, CASE i pętle – Part #9
W programowaniu PLC operatory odgrywają kluczową rolę w wykonywaniu obliczeń, warunków logicznych i manipulacji danymi. CODESYS oferuje różnorodne operatory, które pozwalają programistom efektywnie kontrolować procesy automatyzacji. Ta sekcja omawia różne typy operatorów, ich składnię oraz zastosowania w rzeczywistych aplikacjach.
Wprowadzenie do operatorów
Operatory w CODESYS służą do wykonywania operacji arytmetycznych, ocen logicznych i porównań wartości. Te operatory mogą być używane zarówno w językach graficznych (Ladder Logic – LAD), jak i tekstowych (Structured Text – ST).
Jedną z podstawowych różnic między Ladder Logic (LAD) a Structured Text (ST) jest kierunek wykonania. W LAD wykonanie odbywa się od lewej do prawej, przypominając obwód elektryczny, podczas gdy w ST operacje są zapisywane w sposób sekwencyjny, zgodnie ze standardową logiką programowania.
Operator przypisania (:=)
Zrozumienie operatora przypisania w języku ST
Operator przypisania (:=) służy do przypisywania wartości lub wyniku operacji do zmiennej.
Przykład 1: Przypisywanie wartości
W tym przypadku wartość xButton jest przypisywana do xLampStart. Gdy xButton jest TRUE, xLampStart również będzie TRUE.
Porównanie: LAD vs. ST
W LAD ta sama logika jest implementowana przy użyciu normalnie otwartego styku (xButton) podłączonego do cewki (xLampStart).
- Otwórz LADDER_PRG i dodaj nową sieć.
- Wstaw normalnie otwarty styk (xButton).
- Dodaj cewkę (xLampStart).
W ST ta logika jest wyrażona w sposób zwięzły w jednej linii:
Używanie operatora przypisania z operacjami logicznymi
Operator przypisania może również działać z wyrażeniami logicznymi, takimi jak negacja (NOT).
Przykład 2: Użycie operatora NOT
Tutaj xLampStop będzie TRUE, gdy xLampStart jest FALSE, zapewniając odpowiednią kontrolę nad stanem lampy.
W LAD ta sama logika wymagałaby wstawienia normalnie zamkniętego styku (xLampStart), a następnie cewki (xLampStop).
Operacje przesunięcia i przypisania
W LAD operacje arytmetyczne wymagają instrukcji MOVE do przeniesienia obliczonych wartości.
Przykład 3: Operacja MOVE w LAD
- Wstaw funkcję MOVE.
- W polu źródłowym wpisz 10 + 20.
- Przypisz wynik do iVar.
W ST ta sama operacja jest wyrażona w jednej linii:
To podejście sprawia, iż ST jest bardziej czytelny i wydajny w obsłudze złożonych obliczeń.
Kolejne kroki
Ta sekcja omówiła operator przypisania i jego porównanie między LAD a ST. W następnej sekcji przyjrzymy się operatorom arytmetycznym, ich funkcjom oraz praktycznym zastosowaniom w programowaniu automatyki.
Operatory arytmetyczne w CODESYS: Zastosowanie i najlepsze praktyki
Operatory arytmetyczne odgrywają kluczową rolę w programowaniu PLC, umożliwiając programistom wykonywanie obliczeń matematycznych w procesach automatyzacji. Zrozumienie poprawnego użycia tych operatorów zapewnia dokładne obliczenia oraz wydajne wykonywanie programu.
Podstawowe operatory arytmetyczne w CODESYS
Podstawowe operatory arytmetyczne w CODESYS obejmują:
- Dodawanie (+) – Dodaje dwie liczby.
- Odejmowanie (-) – Odejmuje jedną liczbę od drugiej.
- Mnożenie (*) – Mnoży dwie liczby.
- Dzielenie (/) – Dzieli jedną liczbę przez drugą.
- Potęgowanie (XPT) – Podnosi liczbę do potęgi.
Wykonywanie obliczeń arytmetycznych
Zacznijmy od prostego działania dodawania.
W tym przykładzie iVar przechowuje wynik działania 10 + 25, czyli 35.
Wykonywanie programu
Aby przetestować program w symulatorze PLC:
- Zaloguj się do symulatora (ALT + F8).
- Uruchom wykonanie PLC (F5).
- Obserwuj wynik wyjściowy.
Używanie operatora odejmowania (-)
Tutaj iVar przechowuje wartość 17 jako wynik odejmowania.
Ważna uwaga: jeżeli ta sama zmienna jest używana w wielu operacjach, ostatnia wykonana operacja określa jej ostateczną wartość.
Obsługa dzielenia (/) i konwersja typów
Jednym z najczęstszych błędów podczas używania operatora dzielenia (/) jest nieuwzględnienie typów zmiennych.
Przykład 1: Dzielenie liczb całkowitych
Ponieważ iResult jest liczbą całkowitą, część ułamkowa zostaje utracona, a przechowywany wynik będzie 1 zamiast 1.666.
Przykład 2: Dzielenie zmiennoprzecinkowe
Aby uzyskać dokładny wynik, należy użyć zmiennej zmiennoprzecinkowej (REAL):
Teraz rResult przechowuje wartość 1.666, zachowując precyzję dziesiętną.
Używanie mnożenia (*)
Ta operacja mnoży wartość iResult przez 10.
Używanie potęgowania (XPT)
Operator EXPT umożliwia podnoszenie liczb do potęgi.
W tym przypadku lrResult przechowuje wartość 8, ponieważ 2 podniesione do potęgi 3 daje 8.
Znajdowanie pomocy w CODESYS
Aby uzyskać więcej informacji na temat operatorów, programiści mogą:
- Uzyskać dostęp do CODESYS Online Help, aby znaleźć przykłady i wyjaśnienia.
- Najechać kursorem na operator i nacisnąć F1.
Operatory logiczne w CODESYS: Implementacja i zastosowania
Operatory logiczne w CODESYS odgrywają kluczową rolę w algebrze Boole’a, umożliwiając programistom tworzenie logiki warunkowej do sterowania procesami automatyzacji. Te operatory oceniają warunki i zwracają wartość TRUE (1) lub FALSE (0), co jest podstawą procesów decyzyjnych w programowaniu PLC.
Podstawowe operatory logiczne w CODESYS
Podstawowe operatory logiczne obejmują:
- AND (AND) – Zwraca TRUE, jeżeli oba warunki są prawdziwe.
- OR (OR) – Zwraca TRUE, jeżeli przynajmniej jeden warunek jest prawdziwy.
- NOT (NOT) – Odwraca wartość logiczną.
- Exclusive OR (XOR) – Zwraca TRUE, jeżeli dokładnie jeden z warunków jest prawdziwy.
Operatory logiczne mogą być stosowane do zmiennych logicznych (Boolean), operacji bitowych oraz warunków logicznych.
Używanie operatora AND
Operator AND wymaga, aby oba warunki wejściowe były TRUE, aby wynik był TRUE.
Przykład: Operator AND w CODESYS
Tutaj xLamp1 włącza się tylko wtedy, gdy oba przyciski xButton1 i xButton2 są naciśnięte.
Testowanie w symulatorze CODESYS
- Zaloguj się do symulatora PLC.
- Ustaw xButton1 na TRUE → Lampa pozostaje wyłączona.
- Ustaw xButton2 na TRUE → Lampa teraz włącza się.
Tabela prawdy dla operacji AND:
Używanie operatora OR
Operator OR wymaga, aby przynajmniej jeden warunek był TRUE, aby wynik był TRUE.
Przykład: Operator OR w CODESYS
Teraz xLamp2 włącza się, jeżeli którykolwiek z przycisków xButton1 lub xButton2 jest naciśnięty.
Tabela prawdy dla operacji OR:
Używanie operatora NOT
Operator NOT odwraca wartość logiczną, zmieniając TRUE na FALSE i odwrotnie.
Przykład: Operator NOT w CODESYS
Jeśli xButton1 jest FALSE, xLamp3 będzie TRUE.
Tabela prawdy dla operacji NOT:
Używanie operatora XOR (Exclusive OR)
Operator XOR zwraca TRUE tylko wtedy, gdy jeden warunek jest TRUE, a drugi FALSE.
Przykład: Operator XOR w CODESYS
Jeśli tylko jeden z przycisków jest naciśnięty, lampa się włącza.
Tabela prawdy dla operacji XOR:
Łączenie operatorów logicznych
Operatory logiczne mogą być łączone, aby tworzyć bardziej zaawansowane warunki. Na przykład:
Oznacza to, iż xLamp5 włączy się, jeśli:
- Zarówno xButton1, jak i xButton2 będą TRUE, LUB
- xButton3 będzie FALSE.
Operatory w CODESYS: Operatory logiczne i porównania
Operatory logiczne i porównania w CODESYS są niezbędne do procesów podejmowania decyzji w programowaniu PLC. Umożliwiają programistom ocenę warunków, kontrolowanie przepływu programu oraz porównywanie wartości, co sprawia, iż systemy automatyzacji stają się bardziej wydajne i elastyczne.
Operatory logiczne w CODESYS
Operatory logiczne oceniają wyrażenia logiczne i zwracają wartość TRUE lub FALSE. Podstawowe operatory logiczne obejmują:
- AND (AND) – Zwraca TRUE, jeżeli oba warunki są TRUE.
- OR (OR) – Zwraca TRUE, jeżeli przynajmniej jeden warunek jest TRUE.
- NOT (NOT) – Odwraca wartość logiczną.
- Exclusive OR (XOR) – Zwraca TRUE, jeżeli dokładnie jeden z warunków jest TRUE.
Przykład: Łączenie operatorów logicznych
Oznacza to, iż xLamp5 włączy się, jeśli:
- Zarówno xButton1, jak i xButton2 będą TRUE, LUB
- xButton3 będzie FALSE
Operatory porównania w CODESYS
Operatory porównania pozwalają na ocenę warunków numerycznych i są powszechnie używane w logice sterowania.
Podstawowe operatory porównania
Przykład: Używanie operatorów porównania w CODESYS
Testowanie operatorów porównania w symulatorze PLC
- Zaloguj się do symulatora PLC.
- Zmień wartości iA i iB.
- Obserwuj, jak zmienia się xResult w zależności od porównania.
Priorytet operatorów w CODESYS
Podczas pisania wyrażeń, priorytet operatorów określa kolejność ich wykonania. Stosowane są następujące zasady:
- Nawiasy () – Przetwarzane jako pierwsze.
- Potęgowanie XPT – Kolejność po nawiasach.
- Negacja (NOT) – Oceniana przed operacjami arytmetycznymi.
- Mnożenie (*), Dzielenie (/) – Wyższy priorytet niż dodawanie i odejmowanie.
- Dodawanie (+), Odejmowanie (-) – Przetwarzane następnie.
- Operatory porównania (>, <, =, <>) – Oceniane przed operatorami logicznymi.
- Logika AND (AND) – Oceniana przed OR.
- Logika OR (OR) – Najniższy priorytet.
Przykład: Ocena priorytetu operatorów
- iA + iB jest obliczane jako pierwsze.
- Wynik jest porównywany z 15.
- Stosowana jest negacja NOT xButton1.
- Operacja AND jest przetwarzana jako ostatnia.
Zadanie praktyczne: Program sterowania wentylatorem
Aby utrwalić zrozumienie operatorów, stwórz program sterowania wentylatorem, wykorzystując operatory porównania i logiczne.
Wymagania:
- Wejścia:
- xStartButton: Włącza wentylator.
- rTemperature: Odczytuje temperaturę otoczenia.
- xStopButton: Wyłącza wentyl
- Wyjścia:
- xVentilator: Aktywuje się, gdy spełnione są warunki.
Rozwiązanie:
Oczekiwane zachowanie:
- Wentylator włącza się, gdy:
- Przycisk startowy jest naciśnięty AND temperatura przekracza 25°C.
- LUB, jeżeli przycisk stopu nie jest naciśnięty (NOT).
- Wentylator wyłącza się, jeżeli warunki nie są spełnione.
Testowanie programu:
- Uruchom symulator CODESYS.
- Dostosuj wartości rTemperature.
- Naciśnij i zwolnij xStartButton oraz xStopButton.
- Obserwuj, kiedy wentylator zostaje aktywowany.
Wnioski
Operatory w CODESYS zapewniają potężne narzędzie do sterowania systemami automatyzacji. Ten przewodnik obejmował:
- Operatory logiczne (AND, OR, NOT, XOR) i ich zastosowania.
- Operatory porównania (>, <, =, <>) do oceny warunków.
- Priorytet operatorów i jego znaczenie w ocenie wyrażeń.
- Zadanie praktyczne w rzeczywistym programowaniu do ćwiczenia operatorów logicznych i porównania.
Opanowanie tych operatorów pozwala tworzyć solidne i inteligentne systemy sterowania w CODESYS. W przyszłych projektach skuteczne łączenie tych operatorów będzie najważniejsze dla optymalizacji logiki automatyzacji.
Darmowy zarys kursu CODESYS
- Lekcja #1: Czym jest? Dlaczego powinieneś go znać?! – PART 1
- Lekcja #2: Jak zainstalować Codesys? – PART 2
- Lekcja #3: Napisz swój pierwszy program w Codesys: Structured Text – Part #3
- Lekcja #4: Jak stworzyć wizualizację Codesys w aplikacji? – Part #4
- Lekcja #5: Wprowadzenie do zmiennych w CODESYS – Part #5
- Lekcja #6: Struktury danych w CODESYS: Praktyczne zastosowanie tablic i struktur – Part #6
- Lekcja #7: Zaawansowane typy danych. Wyliczenia i zmienne lokalne vs. globalne – Part #7
- Lekcja #8: Operatory – Wprowadzenie i praktyczne zastosowania – Part #8
- Lekcja #9: Kontrola przepływu programu: IF, CASE i pętle – Part #9