Instrukcje TIA Portal

Operacje logiczne na słowach
Binarne i Wybór

Manipuluj danymi w samym sercu rejestrów. Od bitowego maskowania binarnego po złożone multipleksowanie — zoptymalizuj przetwarzanie słów danych.

Czym są operacje logiczne na słowach w TIA Portal?

Operacje logiczne na słowach pozwalają na wykonywanie obliczeń boole'owskich na wszystkich bitach słowa (Word, DWord, LWord). Są one niezbędne do maskowania bitów, porównywania wzorców binarnych lub uproszczonego zarządzania zgrupowanymi sygnałami.

Ta sekcja zawiera również potężne funkcje wyboru, takie jak SEL i MUX, które pozwalają na dynamiczny wybór jednej wartości spośród wielu na podstawie warunku lub indeksu, a także narzędzia do kodowania (ENCO) i dekodowania (DECO) do zarządzania stanami.

Logika bitowa

Przetwarzanie boole'owskie na Word i DWord

AND / OR / XOR — Operacje binarne

AND

Co robi

Wykonuje operację logiczną (AND, OR, XOR) na każdym odpowiadającym bicie między dwoma lub więcej wejściami. Wynik jest podawany w słowie o tym samym rozmiarze.

Kiedy używać

Maskowanie specyficznych bitów (AND z maską), łączenie alarmów lub wykrywanie zmian stanu bit po bicie.

Porady Pro

AND jest idealny do 'wyłączania' bitów, OR do ich 'włączania'.

XOR jest idealny do porównywania dwóch słów i identyfikowania, które bity się różnią.

Możesz dodać dodatkowe wejścia do bloku, klikając żółtą ikonę.

INVERT — Dopełnienie jedynkowe

INV

Co robi

Odwraca stan każdego bitu w słowie wejściowym (0 staje się 1, 1 staje się 0).

Kiedy używać

Odwrócenie grupy sygnałów z czujników lub przygotowanie specyficznych obliczeń binarnych.

Porady Pro

Odpowiednik operatora NOT w klasycznym programowaniu, ale zastosowany do całego słowa.

Bardzo przydatne w komunikacji z urządzeniami zewnętrznymi o odwróconej logice.

Uważaj, aby nie pomylić tego z dopełnieniem dwójkowym (NEG).

Wybór i multipleksowanie

Dynamiczne kierowanie wartości

SEL — Wybór binarny

SEL

Co robi

Wybiera jedno z dwóch wejść (IN0 lub IN1) na podstawie stanu wejścia binarnego G (G=0 -> IN0, G=1 -> IN1).

Kiedy używać

Wybór między wartością zadaną ręcznie a automatyczną, lub przełączanie między dwoma progami temperatury.

Porady Pro

Graficzny odpowiednik operatora trójargumentowego (warunek ? a : b).

Bardziej kompaktowy niż blok IF lub dwie sieci transferu warunkowego.

Działa z prawie wszystkimi typami danych (Int, Real, Time...).

MUX / DEMUX — Multipleksery

MUX

Co robią

MUX wybiera jedno wejście spośród N na podstawie indeksu K. DEMUX kieruje wejście do jednego z N wyjść na podstawie indeksu K.

Kiedy używać

Zarządzanie recepturami (wybór przez indeks), dynamiczne wyświetlanie na HMI lub kierowanie danych do różnych stacji roboczych.

Porady Pro

Indeks K zaczyna się od 0. Jeśli K=0, wybierane jest IN0.

Użyj wejścia ELSE w MUX, aby zdefiniować wartość domyślną, jeśli indeks jest poza zakresem.

DEMUX jest bardzo potężny do dystrybucji pomiaru do różnych dzienników historii.

Kodowanie i Dekodowanie

Konwersja między indeksem a pozycją bitu

DECO — Dekodowanie

DECO

Co robi

Aktywuje bit, którego numer odpowiada wartości wejściowej. Wszystkie pozostałe bity słowa wyjściowego są ustawiane na 0.

Kiedy używać

Konwersja numeru kroku na sygnał binarny do sterowania specyficznym wyjściem.

Porady Pro

Jeśli wejście wynosi 3, bit 3 (czwarty) słowa wyjściowego będzie miał stan 1.

Pozwala na łatwe przejście z liczby całkowitej na maskę bitową.

Idealne do sterowania kolumnami sygnalizacyjnymi lub wskaźnikami stanu.

ENCO — Kodowanie

ENCO

Co robi

Zwraca numer najmniej znaczącego bitu (LSB), który jest w stanie 1 w słowie wejściowym.

Kiedy używać

Identyfikacja, który błąd pojawił się w słowie alarmowym, aby wyświetlić odpowiedni komunikat.

Porady Pro

Jeśli słowo wejściowe zawiera 2#0000_1000, ENCO zwraca 3.

Operacja odwrotna do DECO.

Bardzo przydatne do przekształcania sygnałów z dyskretnych czujników położenia na wartość numeryczną.

Przetwarzanie słowa vs Pojedynczy bit

Dlaczego warto pracować na całym słowie?

ScenariuszPodejście Word LogicZaleta
Wymuszenie 8 wyjść na 0MOVE 0 -> Word1 sieć vs 8 styków
Maskowanie bajtuAND 16#00FFChirurgiczna precyzja
Odwrócenie 16 sygnałówINVERTSzybkość wykonania
Wybór 1 wartości / 10MUXMaksymalna czytelność
Kierowanie pomiaruDEMUXElastyczna logika
Priorytet alarmuENCONatychmiastowa diagnostyka

Często Zadawane Pytania

Jaka jest różnica między MUX a tablicą (Array)?

MUX jest instrukcją zapisaną na sztywno w kodzie dla kilku wartości (często < 10). Dla setek wartości użyj tablicy z dynamicznym indeksowaniem [i] w SCL.

Czy można wykonać AND na typach REAL?

Nie, operacje logiczne bit po bicie (AND, OR, XOR) są dozwolone tylko na typach binarnych (Byte, Word, DWord, LWord).

Jak działa indeks DEMUX?

Wejście K definiuje, do którego wyjścia kopiowana jest wartość IN. Jeśli K=2, IN jest kopiowane do OUT2. Wszystkie pozostałe wyjścia pozostają przy swojej poprzedniej wartości lub 0 w zależności od konfiguracji.

Czy INVERT zmienia znak liczby?

Nie, INVERT odwraca bity. Aby zmienić znak (dopełnienie dwójkowe), użyj instrukcji NEG (Matematyka) lub pomnóż przez -1.

Zoptymalizuj swoją manipulację danymi

Potrzebujesz złożonego multipleksera lub specyficznej maski bitowej? T-IA Connect błyskawicznie wygeneruje Twoje bloki logiki słów.