W artykule tym zapoznamy się z funkcjami umożliwiającymi realizację operacji inkrementacji (zwiększanie wartości zmiennej o 1) oraz dekrementacji (zmniejszanie wartości zmiennej o 1), które dostępne są w sterownikach PLC LG XGB. Sterowniki XGB oferują kilka typów funkcji umożliwiających realizację operacji inkrementacji i dekrementacji, które różnią się między sobą rodzajem danych na jakich operują. W dalszej części artykułu zapoznamy się z tymi funkcjami.
Przyjmijmy że dysponujemy zmienną "D" - wykonanie na niej operacji inkrementacji za pomocą funkcji INC lub DINC spowoduje zwiększenie jej wartości o 1. Dla funkcji INC zakres jaki może przyjmować zmienna "D" wynosi od -32.768 do 32.767 - wartości te wynikają z rozmiaru danych na jakim operuje funkcja INC - w jej przypadku jest to jedno słowo składające się z 16-bitów, przy czym jeden bit zostaje wykorzystany do zapisania informacji o znaku, w związku z czym do dyspozycji pozostaje 15 bitów, co daje możliwość zapisania maksymalnej wartości równej 215=32768. W przypadku funkcji DINC do dyspozycji mamy już zakres znacznie szerszy od - 2.147.483.648 do 2.147.483.647, który wynika z możliwości zapisu zmiennej w podwójnym słowie - 232, przy czym podobnie jak wcześniej jeden bit poświęcony jest na zapisanie informacji o znaku liczby.,
Przykładowy program funkcja INC:
Przykładowy program funkcja DINC:
Na powyższych przykładach widzimy, że w lini z funkcjami INC oraz DINC zastosowano styki reagujące wyłącznie na zbocze narastające sygnału wyzwalającego, ma to związek ze specyfiką funkcji, które w przypadku zastosowania styku innego rodzaju zwiększały by wartość komórki w każdym cyklu wykonania programu, w którym sygnał wyzwalający byłby aktywny.
Jak już wspominałem na początku artykułu różnica pomiędzy poszczególnymi funkcjami realizującymi operacje inkrementacji i dekrementacji dotyczy praktycznie jedynie rodzaju danych na jakim operują. W przypadku funkcji INC było to słowo (16-bitów), zaś w przypadku DINC podwójne słowo czyli 32-bity. Jeżeli zaś chodzi o funkcje INC4 to operuje ona na typie danych nazywanym NIBBLE (4-bity, 1/2 bajtu, 1/4 słowa). Mając do dyspozycji 4 bity jesteśmy w stanie zapisać liczby od 0 do 15 i jest to tym samym zakres na jakim operuje funkcja INC4. Funkcja INC8 działa na bajtach, które jak wiemy składają się z 8-bitów, na których można zapisać liczby z przedziału od 0 do 255.
Poniżej w przykładowych programach, wykorzystamy funkcję INC4P oraz INC8P, które wyeliminują konieczność stosowania styków reagujących na zbocze narastające.
Przykładowy program funkcja INC4P:
Przykładowy program funkcja INC4P:
Pozostało nam jeszcze zająć się funkcjami INCU oraz DINCU - operują one wyłącznie na liczbach naturalnych (bez znaku). Dla funkcji INCU zakres działania zawiera się w przedziale 0 .. 65.535 (216=65.536 - pojedyncze słowo), zaś dla funkcji DINCU jest to przedział 0 .. 4.294.967.295 (232=4.294.967.296 - podwójne słowo).
Przykładowy program funkcja INCU:
Przykładowy program funkcja DINCU:
Funkcje dekrementacji - DEC, DDEC, DEC4, DEC8 oraz DECU i DDECU, które obniżają wartość zmiennej o 1 stosuje się analogicznie do odpowiadających im funkcji inkrementacji, w związku z czym nie będę już rozwijał tego tematu. W przypadku jakichkolwiek pytań zapraszam na nasze forum, gdzie postaram się odpowiedzieć na każde pytanie dotyczące zamieszczonych na portalu artykułów.