Skip to main content

7 - część 2

FUN 110 D P QUEUE

KOLEJKA (QUEUE)

FUN 110 D P QUEUE

image.png

 

 

l Kolejka jest także rodzajem tabeli. Różni się od zwykłej tabeli tym, że zakres numerów rejestrów w kolejce wynosi od 1 do L, a nie od 0 do L-1. Innymi słowy, wartości QU1~QUL odnoszą się odpowiednio do wskaźników Pr = 1 do L, a Pr = 0 oznacza, że kolejka jest pusta.

l Kolejka jest instrukcją typu FIFO, tj. dane, które pierwsze wejdą do kolejki będą pierwszymi danymi, które z niej wyjdą. Kolejka składa się z L kolejnych 16- lub 32-bitowych rejestrów (instrukcja P) rozpoczynając od rejestru QU, jak pokazano na poniższym schemacie:

image.png

 

l Jeżeli wejście sterujące „EN" = 1 lub zmieni się z 0 na 1 (instrukcja P), to stan wejścia „I/O” określa czy dane IW wejdą do kolejki (kiedy „I/O” = 1) czy wyjdą z niej i zostaną przeniesione do OW (kiedy „I/O” = 0). Jak pokazano na schemacie powyżej, wartości IW będą zawsze zapisywane w pierwszym rejestrze (QU1) w kolejce. Po wprowadzeniu wartość do kolejki, wskaźnik Pr zostanie automatycznie zwiększona o 1, aby wskazywał zawsze daną, która jako pierwsza weszła do kolejki. Po wyjściu z kolejki wartości wskazanej przez Pr, zostaje ona przeniesiona bezpośrednio do OW. Wartość Pr zostaje wtedy zmniejszona o 1, aby wskaźnik wskazywał na najstarszą z wartości, które pozostały w kolejce.

l Jeżeli żadne wartości nie weszły jeszcze do kolejki lub wszystkie dane wyszły z kolejki (Pr = 0), to stan znacznika pustej kolejki EPT, zostanie ustawiony na 1. Wówczas, nawet w przypadku kolejnej operacji wyjścia danych, instrukcja ta nie zostanie wykonana. W przypadku, gdy dane będą wprowadzane do kolejki, ale nigdy nie będą z niej wyprowadzane, kolejka po pewnym czasie stanie się pełna (wskaźnik Pr wskaże pozycję QUL), a stan znacznika pełnej kolejki FUL, zostanie ustawiony na 1. Wówczas, nawet w przypadku kolejnej operacji wejścia danych, instrukcja ta nie zostanie wykonana. Wskaźnik w tej funkcji wykorzystywany jest podczas wprowadzania danych do kolejki, w celu wskazania danej, która weszła do niej najwcześniej. Inne fragmenty programu, nie powinny zmieniać wartości wskaźnika, gdyż funkcja ta może się wykonać nieprawidłowo. W przypadku aplikacji wymagającej ustawienia wartości Pr, dopuszczalny zakres dla tej wartości wynosi od 0 do L (0 oznacza pustą kolejkę, natomiast wartości od 1 do L oznaczają odpowiednio od QU1 do QUL). Jeżeli zakres ten zostanie przekroczony, stan wyjścia błędu wskaźnika „ERR” zostanie ustawiony na 1, a funkcja nie zostanie wykonana.

 

image.png

 

 

image.png

 

 

FUN 111 D P STACK

STOS (STACK)

FUN 111 D P STACK

image.png

 

 

l Tak jak w przypadku kolejki, stos także jest rodzajem tabeli. Charakter wskaźnika jest dokładnie taki sam jak w przypadku kolejki, tzn. Pr = 1 do L, co odnosi się odpowiednio do ST1 do STL, a Pr = 0 oznacza, że stos jest pusty.

l Stos jest odwrotnością kolejki i jest instrukcją typu LIFO. Oznacza to, że wartość, która została wprowadzona do stosu jako ostatnia, opuści stos jako pierwsza. Stos składa się z L kolejnych 16- lub 32-bitowych rejestrów (instrukcja D ) rozpoczynając od ST, jak pokazano na poniższym schemacie:

 

image.png

 

 

l Jeżeli wejście sterujące „EN" = 1 lub zmieni się z 0 na 1 (instrukcja P), to stan wejścia „I/O” określa czy wartość IW zostanie wprowadzona do stosu (kiedy „I/O” = 1) czy też wartość w stosie, wskazana przez wartość wskaźnika Pr (czyli dane wprowadzone do stosu najpóźniej) zostanie z niego pobrana i  przeniesiona do OW (kiedy „I/O” = 0). Dane wprowadzane są na zasadzie stosu, dlatego też przed wprowadzeniem danych, wartość wskaźnika Pr zostanie zwiększona o 1 w celu wskazania szczytu stosu. Dane wskazane przez wskaźnik Pr (czyli dane wprowadzone do stosu najpóźniej), które opuszczają stos zostaną przeniesione do OW, po czym wartość Pr zmniejszy się o 1. Wskaźnik Pr będzie zawsze wskazywał daną, która została wprowadzona do stosu jako ostatnia.

l Jeżeli żadne dane nie weszły jeszcze do stosu lub wszystkie dane opuściły stos (Pr = 0), to stan wyjścia pustego stosu „EPT” zostanie ustawiony na 1. Wówczas, nawet w przypadku kolejnej operacji wyjścia danych, instrukcja ta nie zostanie wykonana. W przypadku, gdy większa ilość danych będzie wprowadzana, niż wyprowadzana ze stosu, to stos po pewnym czasie stanie się pełny (wskaźnik Pr wskaże pozycję STL), a stan wyjścia pełnego stosu „FUL”, zostanie ustawiony na 1. Wówczas, nawet w przypadku kolejnych operacji wprowadzania danych, funkcja nie zostanie wykonana. Wskaźnik stosu, identycznie jak wskaźnik kolejki, nie powinien być zmieniany przez inne funkcje. W przypadku aplikacji wymagającej ustawienia wartości Pr, dopuszczalny zakres dla tej wartości wynosi od 0 do L (0 oznacza pusty stos, natomiast wartości od 1 do L oznaczają odpowiednio od ST1 do STL). Jeżeli zakres ten zostanie przekroczony, stan wyjścia błędu wskaźnika „ERR” zostanie ustawiony na 1, a funkcja nie zostanie wykonana.

image.png

 

 

image.png


FUN 112 D P BKCMP

PORÓWNANIE BLOKOWE

(BLOCK COMPARE(DRUM))

FUN 112 D P BKCMP

image.png

 

l Jeżeli wejście sterujące „EN" = 1 lub zmieni się z 0 na 1 (instrukcja P), zostanie zrealizowane porównanie wartości Rs, z kolejnymi dolnymi i górnymi granicami, tworzonymi przez L kolejnych par 16- lub 32-bitowych (modyfikator D) rejestrów, rozpoczynających się od Ts (każda sąsiadująca para 2 rejestrów od T0 tworzy górną i dolną granicę). Jeżeli wartość Rs mieści się w danym zakresie, pomiędzy górną a dolną granicą, to stan odpowiedniego bitu w D zostanie ustawiony na 1, w przeciwnym wypadku, stan ten zostanie ustawiony na 0.

l Kiedy M1975=0, to w sytuacji, gdy istnieje para, w której górna wartość graniczna jest mniejsza niż dolna wartość graniczna, stan wyjścia błędu „ERR” zostanie ustawiony na 1, a wynikiem porównania dla tej pary będzie stan 0.

l Kiedy M1975=1, to nie istnieją powyższe ograniczenia w relacji pomiędzy górną a dolną granicą. Taki przypadek można stosować w elektronicznych przełącznikach bębnowych z obrotem 360°.

 

image.png

 

 

l Aktualnie, funkcja ta jest przełącznikiem bębnowym, która może być wykorzystana w procedurach obsługi przerwań sprzętowych, gdzie w połączeniu z instrukcją natychmiastowego odświeżania wejść/wyjść (IMDIO), może służyć jako precyzyjny przełącznik elektroniczny.

image.png


l Program na schemacie powyżej wykorzystuje enkoder obrotowy lub inny detektor kąta obrotu (podłączony bezpośrednio do mechanizmu obrotowego), w celu stworzenia odpowiednika mechanicznego bębna (patrz mechanizm ograniczony przerywaną linia na schemacie poniżej). Poprzez regulację górnych i dolnych wartości granicznych, użytkownik może dowolnie zmieniać zakres aktywacji wyjść, dla danego kąta obrotu. Nie jest to możliwe do wykonania przy użyciu tradycyjnego mechanizmu bębnowego.

Mechanizm bębnowy imitowany przez powyższy program

 

image.png

 

image.png


FUN 113 D P SORT

SORTOWANIE WARTOŚCI (DATA SORTING)

FUN 113 D P SORT

image.png

 

●         Jeżeli wejście sterujące „EN" = 1 lub zmieni się z 0 na 1 (instrukcja P), funkcja posortuje wartości w rejestrach S w porządku rosnącym (jeżeli A/D = 1) lub malejącym (jeżeli A/D = 0) i zapisze wynik sortowania w rejestrach począwszy od D.

●        Dopuszczalny zakres długości danych dla operacji sortowania L, wynosi od 2 do 127. W przypadku innej długości, wyjście „ERR” zostanie ustawiony na 1, a operacja sortowania nie zostanie przeprowadzona.

 

image.png

 

 

image.png

 

FUN 114 D P Z-WR

ZAPIS DO STREFY (ZONE WRITE)

FUN 114 D P Z-WR

image.png


●         Jeżeli wejście sterujące „EN" = 1 lub zmieni się z 0 na 1 (instrukcja P), funkcja przeprowadzi operację ustalenia wartości w strefie zmiennych, zgodnie ze stanem wejścia 1/0. Wskazana strefa rejestrów lub bitów zostanie wyzerowana (gdy „1/0” = 0) lub ustawiona na 1 (gdy „1/0” = 1).

 

 

image.png

 

W powyższym przykładzie, gdy X0=1, rejestry R0~R9 zostaną wyzerowane.

 

image.png

 

 W powyższym przykładzie, gdy X0=1, bity M5~M11 zostaną wyzerowane.

Operacje na macierzach

Nr fun Mnemonik Funkcjonalność Nr fun Mnemonik Funkcjonalność
120 MAND AND macierzy 126 MBRD Odczytaj bit z macierzy
121 MOR OR macierzy 127 MBWR Wpisz bit do macierzy
122 MXOR XOR macierzy 128 MBSHF Przesuń bity macierzy
123 MXNR XNOR macierzy 129 MBROT Obróć bity w macierzy
124 MINV Zaneguj macierz 130 MBCNT Zlicz stany bitów w macierzy
125 MCMP Porównaj macierze


●         Macierz składa się z dwóch lub więcej kolejnych rejestrów 16-bitowych. Liczba rejestrów w macierzy nazywa się długością macierzy (L). Jedna macierz zawiera łącznie L×16 bitów (punktów) i to właśnie bit jest podstawową jednostką dla każdej operacji.

●         Funkcje macierzowe traktują bity macierzy 16×L jako zestaw kolejnych punktów (oznaczonych od M0 do M16L-1). Niezależnie od tego czy macierz składa się z rejestrów czy nie, przedmiotem operacji jest bit a nie  wartością numeryczna.

●         Funkcje macierzowe wykorzystywane są głównie do przetwarzania stanów dyskretnych, takich jak: wpisywanie, kopiowanie, porównywanie, wyszukiwanie, itp. pomiędzy pojedynczym stanem a macierzą lub pomiędzy macierzami. Funkcje te są wygodne w zastosowaniu dla pewnych, szczególnych rodzajów aplikacji.

●         Większość funkcji macierzowych, wykorzystuje 16-bitowy rejestr wskaźnika, w celu określenia danego punktu w macierzy. Rejestr ten nazywany jest wskaźnikiem macierzy (Pr). Jego poprawnym zakresem jest 0 do 16L-1, który odnosi się odpowiednio do bitów M0 do M16L-1 w macierzy.

●         Wśród operacji macierzowych, znajdują się takie operacje jak: przesuń w prawo/lewo i obróć w prawo/lewo. Przesunięcie w kierunku starszego bitu, nazywamy kierunkiem w lewo, natomiast przesunięcie w kierunku młodszego bitu, nazywamy kierunkiem w prawo (patrz schemat poniżej).

image.png

FUN 120 P MAND

AND MACIERZY (MATRIX AND)

FUN 120 P MAND

image.png

 

 

 

Jeżeli wejście sterujące „EN" = 1 lub zmieni się z 0 na 1 (instrukcja P), funkcja zrealizuje operacje logicznego AND (jeżeli stan 2 bitów będzie 1, wynikiem będzie 1; w innym wypadku wynikiem będzie 0) pomiędzy bitami dwóch macierzy źródłowych Ma i Mb o długości L. Wynik zostanie zapisany w bitach macierzy docelowej Md, która ma tą samą długością (operacja AND realizowana jest pomiędzy bitami o tych samych pozycjach). Na przykład, jeżeli Ma0 = 0, Mb0 = 1, to Md0 = 0; jeżeli Ma1 = 1, Mb1 = 1, to Md1 = 1; itd., aż do wykonania operacji AND na bitach Ma16L-1 i Mb16L-1.

image.png

image.png

W programie po lewej, jeżeli stan X0 zmieni się z 0→1, na bitach macierzy: Ma, stworzonej z rejestrów od R0 do R4 i macierzy Mb, stworzonej z rejestrów od R10 do R14, wykonana zostanie operacja logicznego AND. Wyniki zostaną zapisane na bitach macierzy Md ,stworzonej z rejestrów od R20 do R24. Wyniki przedstawione są na schemacie poniżej.

 

image.png


FUN 121 P MOR

OR MACIERZY (MATRIX OR)

FUN 121 P MOR

image.png

 

 

Jeżeli wejście sterujące „EN" = 1 lub zmieni się z 0 na 1 (instrukcja P), funkcja zrealizuje operacje logicznego OR (jeżeli stan któregokolwiek z 2 bitów będzie 1, wynikiem będzie 1; gdy stan obu z nich będzie 0, wynikiem będzie 0) pomiędzy bitami dwóch macierzy źródłowych Ma i Mb o długości L. Wynik zostanie zapisany w bitach macierzy docelowej Md, która ma tą samą długość (operacja OR realizowana jest pomiędzy bitami o tych samych pozycjach). Na przykład, jeżeli Ma0 = 0, Mb0 = 1, to Md0 = 1; jeżeli Ma1 = 0, Mb1 = 0, to Md1 = 0; itd., aż do wykonania operacji OR na bitach Ma16L-1 i Mb16L-1.

image.png

image.png

W programie po lewej, jeżeli stan X0 zmieni się z 0→1, na bitach macierzy: Ma, stworzonej z rejestrów od R0 do R4 i macierzy Mb, stworzonej z rejestrów od R10 do R14, wykonana zostanie operacja logicznego OR. Wyniki zostaną zapisane na bitach macierzy Md ,stworzonej z rejestrów od R10 do R14. W tym przykładzie, macierz docelowa Md i macierz źródłowa Mb, są tą samą macierzą, zatem macierz Mb zostanie nadpisana wynikami operacji OR. Wyniki przedstawione są na schemacie poniżej

 

image.png


FUN 122 P MXOR

XOR MACIERZY (MATRIX EXCLUSIVE OR(XOR))

FUN 122 P MXOR

image.png

 

 

Jeżeli wejście sterujące „EN" = 1 lub zmieni się z 0 na 1 (instrukcja P), funkcja zrealizuje operacje logicznego XOR (jeżeli stan 2 bitów będzie różny, wynikiem będzie 1; w innym wypadku wynikiem będzie 0) pomiędzy bitami dwóch macierzy źródłowych Ma i Mb o długości L. Wynik zostanie zapisany w bitach macierzy docelowej Md, która ma tą samą długość L. Na przykład, w przypadku realizacji operacji XOR na bitach o tych samych numerach, jeżeli Ma0 = 0, Mb0 = 1, to Md0 = 1; jeżeli Ma1 = 1, Mb1 = 1, to Md1 = 0; itd., aż do wykonania operacji XOR na bitach Ma16L-1 i Mb16L-1

image.png

image.png

W programie po lewej, jeżeli stan X0 zmieni się z 0→1, na bitach macierzy: Ma, stworzonej z rejestrów od R0 do R4 i macierzy Mb, stworzonej z rejestrów od R10 do R14, wykonana zostanie operacja logicznego XOR. Wyniki zostaną zapisane na bitach macierzy Md ,stworzonej z rejestrów od R20 do R24. Wyniki przedstawione są na schemacie poniżej

 

image.png


FUN 123 P MXNR

XNOR MACIERZY

(MATRIX EXCLUSIVE NOR(XNR))

FUN 123 P MXNR

image.png

 

Jeżeli wejście sterujące „EN" = 1 lub zmieni się z 0 na 1 (instrukcja P), funkcja zrealizuje operacje logicznego XNOR (jeżeli status 2 bitów będzie identyczny, wynikiem będzie 1; w innym wypadku wynikiem będzie 0) pomiędzy bitami dwóch macierzy źródłowych Ma i Mb o długości L. Wynik zostanie zapisany w bitach macierzy docelowej Md, która ma tą samą długość L (operacja XNOR realizowana jest pomiędzy bitami o tych samych pozycjach). Na przykład, jeżeli Ma0 = 0, Mb0 = 1, to Md0 = 0; jeżeli Ma1 = 0, Mb1 = 0, to Md1 = 1; itd., aż do wykonania operacji XNOR na bitach Ma16L-1 i Mb16L-1

image.png

image.png

Jeżeli „EN" = 1 lub zmieni się z 0 na 1 (instrukcja P na bitach macierzy: Ma, stworzonej z rejestrów od R0 do R4 i macierzy Mb, stworzonej z rejestrów od R10 do R14, wykonana zostanie operacja logicznego XNOR.. Wyniki zostaną zapisane na bitach macierzy Md ,stworzonej z rejestrów od R10 do R14. Wyniki przedstawione są na schemacie poniżej.

 

image.png

FUN 124 P MINV

ZANEGUJ MACIERZ (MATRIX INVERSE)

FUN 124 P MINV

image.png

 

Jeżeli wejście sterujące „EN" = 1 lub zmieni się z 0 na 1 (instrukcja P), to sstan wszystkich bitów macierzy Ms, o długości L, zostanie zanegowany (wszystkie bity o stanie 1, zostaną zmienione na 0, natomiast bity o stanie 0, zostaną zmienione na 1). Wynik zostanie zapisany na bitach macierzy docelowej Md.

image.png

image.png

W programie po lewej, jeżeli stan X0 zmieni się z 0→1, bity macierzy stworzonej z rejestrów od R0 do R4, zostaną zanegowane (ponieważ w przykładzie, macierze Ms i Md są tą samą macierzą). Wyniki przedstawione są na schemacie poniżej.

 

image.png


FUN 125 P MCMP

PORÓWNAJ MACIERZE (MATRIX COMPARE)

FUN 125 P MCMP

image.png

 

 

Jeżeli wejście sterujące „EN" = 1 lub zmieni się z 0 na 1 (instrukcja P), to rozpoczynając od pierwszej pary bitów (Ma0 i Mb0) w macierzach Ma i Mb (kiedy „FHD” = 1 lub Pr = 16L-1) lub rozpoczynając od kolejnej pary bitów (Mapr + 1 i Mbpr + 1) wskazanej przez wskaźnik Pr (kiedy „FHD” = 0 i Pr < L-1), funkcja porówna i wyszuka pary bitów o różnych wartościach (kiedy D/S = 1) lub identycznych wartościach (kiedy D/S = 0). Po znalezieniu pary bitów, wskaźnik Pr wskaże numer bitu w macierzy, który spełnił warunek wyszukiwania. Stan wyjścia „FND” zmieni się na 1. Po przeszukaniu ostatniej pary bitów w macierzy (Ma16L-1, Mb16L-1), wykonywanie funkcji zostanie zakończone, niezależnie od tego, czy para bitów spełniająca warunek została odnaleziona, czy nie. Wtedy stan wyjścia „END” zmieni się na 1, a wartość Pr zostanie ustawiona na 16L-1. Przy kolejnym wywołaniu tej funkcji, wartość Pr automatycznie powróci do początkowego punktu macierzy (Pr = 0) w celu rozpoczęcia wyszukiwania od początku.

Zakresem wskaźnika jest 0 do 16L-1. Wartość wskaźnika Pr nie powinna być zmieniana przez inne funkcje, gdyż może to wpływać na wynik wyszukiwania. Jeżeli wartość Pr przekroczy dopuszczalny zakres, to stan wyjścia „ERR” zmieni się na 1, a instrukcja nie zostanie wykonana

image.png

image.png

W programie po lewej, status wejścia „FHD” = 0. Dlatego też, rozpoczynając od pozycji większej o 1 od wartości wskaźnika (oznaczonej *), funkcja przeprowadzi wyszukiwanie bitów o różnych stanach (ponieważ D/S = 1). Poniżej przedstawione są wyniki po trzykrotnej zmianie X0 z 0→1.

 

 

image.png


FUN 126 P MBRD

ODCZYTAJ BIT Z MACIERZY

(MATRIX BIT READ)

FUN 126 P MBRD

image.png

 

 

Jeżeli wejście sterujące „EN" = 1 lub zmieni się z 0 na 1 (instrukcja P), stan bitu Mspr w macierzy Ms, wskazywanego przez wskaźnik Pr, zostanie odczytany i pojawi się na wyjściu „OTB”. Przed odczytem, instrukcja sprawdzi stan wejścia zerowania wskaźnika „CLR”. Jeżeli stan CLR = 1, to wartość wskaźnika Pr zostanie wyzerowana, przed wykonaniem operacji odczytu. Po dokonaniu odczytu, sprawdzony zostanie stan wejścia „INC” i jeżeli INC = 1, wartość wskaźnika Pr zostanie zwiększona o 1. W przypadku, kiedy wartość wskaźnika osiągnie maksimum (16L-1), wyjście END zostanie ustawione w stan wysoki. Wejście CLR może działać niezależnie od pozostałych wejść.

Prawidłowym zakresem wartości wskaźnika jest 0 do 16L-1. Jeżeli wartość wskaźnika wykroczy poza zakres, stan wyjścia „ERR” zmieni się na 1, a funkcja nie zostanie wykonana.

image.png

image.png

W programie po lewej, wejście INC = 1. Dlatego też, po każdym odczycie, wartość wskaźnika będzie zwiększana o 1. Dzięki temu, każdy bit macierzy Ms może być kolejno odczytywany (patrz schemat poniżej). Poniżej przedstawione są wyniki po trzykrotnej zmianie X0 z 0→1

 

image.png

 

FUN 127 P MBWR

WPISZ BIT DO MACIERZY (MATRIX BIT WRITE)

FUN 127 P MBWR

image.png

Jeżeli wejście sterujące „EN" = 1 lub zmieni się z 0 na 1 (instrukcja P), to stan bitu „INB” zostanie zapisany w bicie Mdpr  w macierzy Md, wskazywanym przez wartość wskaźnik Pr. Przed wpisaniem funkcja sprawdzi status wejścia zerownia wskaźnika „CLR”. Jeżeli stan „CLR” = 1, wartość wskaźnika Pr zostanie wyzerowana. Dopiero wówczas nastąpi wpis. Po wykonaniu wpisu, wartość Pr zostanie ponownie sprawdzona i jeżeli osiągnie 16L-1 (ostatni bit), to stan wyjścia END zmieni się na 1. Jeżeli wartość wskaźnika Pr będzie mniejsza od 16L-1, a stan wejścia „INC” = 1, to wartość wskaźnika zostanie zwiększona o 1. Wejście sterujące zerowaniem wskaźnika „CLR” może działać niezależnie od pozostałych wejść.

Prawidłowym zakresem wartości wskaźnika jest 0 do 16L-1. Jeżeli wartość wskaźnika wykroczy poza zakres, stan wyjścia „ERR” zmieni się na 1, a funkcja nie zostanie wykonana

image.png

image.png

W programie po lewej, wartość wskaźnika będzie zwiększana po każdym wykonaniu funkcji (ponieważ „INC” = 1). Zgodnie z poniższym schematem, kiedy X0 zmieni się z 0→1, stan wejścia INB (X1) zostanie wpisany do pozycji Mdpr (Md78), a wartość wskaźnika Pr zostanie zwiększona o 1 (zmieni się na 79). W tym wypadku, mimo, że Pr będzie wskazywać na ostatni bit, stan bitu Md79 nie był modyfikowany w tym wywołaniu. Dlatego też, stanem wyjścia „END” jest wciąż 0. Stan ten zmieni się na 1, po kolejnej próbie zapisu stanu w Md79

 

image.png

FUN 128 P MBSHF

PRZESUŃ BITY MACIERZY

(MATRIX BIT SHIFT)

FUN 128 P MBSHF

image.png

 

 

Jeżeli wejście sterujące „EN" = 1 lub zmieni się z 0 na 1 (instrukcja P), wszystkie bity macierz Ms zostaną przesunięte o jedną pozycję w lewo (kiedy L/R = 1) lub w prawo (kiedy L/R = 0). Wolne miejsce (przy przesunięciu w lewo będzie to M0, a w prawo będzie to M16L-1), uzupełnione zostanie stanem wejścia „INB”. Stan bitu wysuniętego z macierzy (w przypadku przesunięcia w lewo - M16L-1, a w prawo - M0), pojawi się na wyjściu „OTB”. Następnie, wynikowa macierz, zostanie zapisana w macierzy docelowej Md

image.png

Przedstawiony program jest przykładem, gdzie macierze Ms i Md są tymi samymi macierzami. Kiedy X0 zmieni się z 0→1, bity macierzy Ms, zostaną przesunięta w lewo (ponieważ L/R = 1) o 1 bit a wynik przesunięcia zostanie zapisany w Md. Wynik przedstawiony jest po prawej stronie na schemacie poniżej.

image.png

image.png

 

image.png


FUN 129 P MBROT

OBRÓĆ BITY W MACIERZY

(MATRIX BIT ROTATE)

FUN 129 P MBROT

image.png

 

l  Jeżeli wejście sterujące „EN" = 1 lub zmieni się z 0 na 1 (instrukcja P), to macierz Ms zostanie obrócona o jeden bit w lewo (kiedy L/R = 1) lub w prawo (kiedy L/R = 0). Wolne miejsce (przy obrocie w lewo będzie to M0, a w prawo będzie to M16L-1), wypełnione zostanie stanem wyprowadzanego bitu (w przypadku obrotu w lewo - M16L-1, a w prawo - M0). Następnie, wynikowa macierz, zostanie zapisana w macierzy docelowej Md. Wyprowadzony bit wykorzystywany jest nie tylko do wypełnienia wolnego miejsca, ale jest również wystawiany na wyjściu „OTB”.

 

 

image.png

 

image.pngimage.png

 

 Przedstawiony program jest przykładem, gdzie macierze Ms i Md są tymi samymi macierzami. Kiedy X0 zmieni się z 0→1, macierz Ms zostanie obrócona w prawo (ponieważ L/R = 0) o 1 bit i zapisana ponownie w Ms (ponieważ w tym przykładzie macierze Ms i Md są tymi samymi macierzami). Wynik przedstawiony jest po prawej stronie na schemacie poniżej

image.png

 

FUN 130 P MBCNT

ZLICZ SATNY BITÓW W MACIERZY

(MATRIX BIT STATUS COUNT)

FUN 130 P MBCNT

image.png

 

l  Jeżeli wejście sterujące „EN" = 1 lub zmieni się z 0 na 1 (instrukcja P), to spośród 16L bitów w macierzy Ms, funkcja zliczy całkowitą ilość bitów o stanie 1 (kiedy wejście „1/0” = 1) lub o stanie 0 (kiedy wejście „1/0” = 0). Wyniki zliczenia zostanie zapisany w rejestrze określonym adresem D. W przypadku, gdy wynik zliczania będzie równy 0, stan wyjścia „D = 0” zmieni się na 1.

 

image.png

 

 

image.png

 

 

FUN 139 HSPWM

SZYBKIE WYJŚCIE Z MODULACJĄ SZERKOŚCI IMPULSU

(HIGH SPEED PULSE WIDTH MODULATION OUTPUT)

FUN 139 HSPWM

image.png

 

Opis 

 

l  Rozdzielczość (RS) i częstotliwość wyjściowa (Pn) muszą być takie same dla wyjść 0 (Y0) i (1) Y2. Oznacza to, że zarówno wyjście 0, jak wyjście 1 muszą mieć tą samą częstotliwość i rozdzielczość jej zadawania. Mogą mieć jedynie różne szerokości impulsu. Tasama zasada dotyczy wyjść 2 (Y4) i 3 (Y6).

l  Jeżeli wejście sterujące „EN” = 1, na wskazane w PW wyjście, zostaną wysłane impulsy PWM. Częstotliwość wyjściowa obliczana jest według następujących wzorów:

1. image.png przy RS=0, tj rozdzielczości 1/100

2. image.pngprzy RS=1, tj rozdzielczości 1/1000

Przykład 1 : Jeżeli Pn ( Nastawa częstotliwości wyjściowej ) = 50 i Rs = 0( 1/100 ), wtedy

 

             image.png =3614.117‧‧‧       ≒3.6kHz

 T(Okres)=image.png ≒277us

Przy Rs = 1/100, jeżeli OR (Nastawa szerokości impulsu wyjściowego) = 1, to T0 ≒ 2.7us; jeżeli OR (Nastawa szerokości impulsu wyjściowego) = 50, to To ≒ 140us.

 

Przebieg wyjściowy :

(1).Pn (Częstotliwość wyjściowa) = 50, Rs = 0 (1/100), OR (Szerokość impulsu wyjściowego) = 1 :

image.png

 

      (2).Pn (Częstotliwość wyjściowa) = 50, Rs = 0 ( 1/100 ), OR (Szerokość impulsu wyjściowego) = 50 :

 

 

image.png

Przykład 2 : Jeżeli Pn (Nastawa częstotliwości wyjściowej) = 200 i Rs = 1(1/1000), wtedy 

 

image.png= 91.7 Hz

 

 T(Okres)=image.png≒10.9mS

 

Przy Rs = 1/1000, jeżeli OR (Nastawa szerokości impulsu wyjściowego) = 10, to T0 ≒ 2.7us; jeżeli OR (Nastawa szerokości impulsu wyjściowego) = 800, to To ≒ 8.72us.

Przebieg wyjściowy:

(1).Pn (Częstotliwość wyjściowa) = 200, Rs = 1 (1/1000), OR (Szerokość impulsu wyjściowego) = 10 :

 

 

image.png

 

(2).Pn (Częstotliwość wyjściowa) = 200, Rs = 1 (1/1000), OR (Szerokość impulsu wyjściowego) = 800 :

 

 

image.png

 

 

 

FUN140 HSPSO

SZYBKIE WYJŚCIE IMPULSOWE

(HIGH SPEED PULSE OUTPUT)

(Skrócony opis funkcji)

FUN140 HSPSO

image.png

 

 Opisy funkcji

 

l  Program pozycjonujący NC instrukcji HSPSO (FUN140) jest programem opisywanym i edytowanym tekstowo. Pojedynczy program pozycjonujący podzielona jest na kroki (zawierające częstotliwość wyjściową, dystans i warunki wysyłania impulsów). Dla jednej funkcji FUN140, można zaprogramować maksymalnie 250 kroków pozycjonowania. Każdy krok programu pozycjonowania wymaga 9 rejestrów. Szczegóły zastosowania opisane są w rozdziale 11 „Pozycjonowanie NC w sterownikach PLC serii FBs”.

l  Plusem zapisywania programu pozycjonującego w rejestrach, jest to, że w aplikacjach stosujących interfejs MMI (man machine interface), możliwa jest modyfikacja programu z poziomu MMI. Kiedy wymagana jest zmiana programu pozycjonującego, może być ona łatwo wykonana, przez wysłanie komendy wpisu wartości do ciągu rejestrów .

l  Funkcja ta nie realizuje interpolacji liniowej w pozycjonowaniu NC.

l  Jeżeli wejście sterujące „EN” = 1, a wartość Ps0~3 nie jest kontrolowana przez żadną inną funkcję FUN140 (stan odpowiednio: Ps0=M1992, Ps1=M1993, Ps2=M1994 i Ps3=M1995 jest WŁ), funkcja wykona kolejny krok programu pozycjonującego (po dojściu do ostatniego kroku, nastąpi ponowny restart od pierwszego kroku); Jeżeli Ps0~3 kontrolowane są inną funkcją FUN140 (stan odpowiednio: Ps0=M1992, Ps1=M1993, Ps2=M1994 i Ps3=M1995 jest WYŁ), to funkcja wstrzyma realizację programu, do chwili zwolnienia wyjścia przez inne funkcje FUN140.

l Jeżeli „EN” =0 wysyłanie impulsów zostanie natychmiast zatrzymane.

l Jeżeli „PAU”=1 a „EN”=1 wysyłanie impulsów zostanie wstrzymane. Jeżeli „PAU” =0, a „EN”=1, nastąpi kontynuacja niezakończonej operacji wysyłania impulsów.

l Jeżeli „ABT”=1, nastąpi natychmiastowe zatrzymanie wysyłania impulsu. (Kiedy następnym razem stan „EN” zmieni się na 1, program pozycjonujący będzie realizowany od pierwszego kroku.)

l Podczas wysyłania impulsów pozycjonujących, stan na wyjściu „ACT” jest WŁ.

l W przypadku błędu w realizacji instrukcji, stan na wyjściu „ERR” zmieni się na WŁ. (Kod błędu zapisywany jest w rejestrze kodów błędów).

l Po wykonaniu wszystkich kroków programu pozycjonującego, status na wyjściu „DN” zmieni się na WŁ.

***  Aby funkcja HSPSO mogła być wykorzystywana, tryb pracy wyjścia impulsowego musi zostać skonfigurowany (w przypadku braku ustawień, Y0~Y7 będą traktowane jako normalne wyjścia) na jeden z poniższych trybów.

Tryb U/D: Y0 (Y2, Y4, Y6), jako impuls w górę.

Y1 (Y3, Y5, Y7), jako impuls w dół.

Tryb PLS/DIR: Y0 (Y2, Y4, Y6), jako wyjście impulsowe.

Y1 (Y3, Y5, Y7), jako kierunek.

Tryb A/B: Y0 (Y2, Y4, Y6), jako impuls fazy A.

          Y1 (Y3, Y5, Y7), jako impuls fazy B.

h   Polaryzację wyjścia impulsowego można ustawić jako normalnie WŁ lub normalnie WYŁ.

h         Tryb roboczy wyjścia impulsowego może być konfigurowany za pomocą programu WINPROLADDER na stronie ustawień „Output setup”.

FUN 141 MPARA

USTAW PARAMETRY POZYCJONOWANIA NC

NC POSITIONING PARAMETER VALUE SETTING

(skrócony opis funkcji)

FUN 141 MPARA

image.png

 Opis funkcji

h Użycie tej funkcji w programie nie jest konieczne. W przypadku, gdy domyślne wartości parametrów są zgodne z wymaganiami użytkownika, wywołanie tej funkcji nie będzie potrzebne. Jednakże jeżeli zaistnieje potrzeba dynamicznej zmiany parametrów, zmianę taką można zrealizować za pomocą funkcji MPARA.

h Funkcja ta współgra z funkcjami FUN140 lub FUN147, przy realizacji pozycjonowania NC.

h Funkcja ta zostanie wykonana, niezależnie od tego czy wejście „EN” = 0 czy 1.

h W przypadku wystąpienia błędów w wartościach parametrów zapisanych w rejestrach SR, stan na wyjściu „ERR” zmieni się na WŁ. (Kod błędu zapisywany jest w rejestrze kodów błędów).

h Szczegółowe informacje dotyczące funkcji i jej użytkowania, znajdują się w rozdziale 11 „Pozycjonowanie NC w sterownikach PLC serii FBs”.

FUN 142 P PSOFF

ZATRZYMAJ SZYBKIE WYJŚCIE IMPULSOWE

(STOP THE HSPSO PULSE OUTPUT)

(Skrócony opis funkcji)

FUN 142 P PSOFF

l   Jeżeli wejście sterujące „EN” =1 lub zmieni się z 0→1 (instrukc), funkcja ta, spowoduje zatrzymanie wysyłania impulsów pozycjonujących, na wyznaczonym wyjściu HSPSO (szybkim wyjściu impulsowym).

l   W aplikacjach, w których poszukiwany jest mechaniczny punkt bazowania, funkcja ta może być wykorzystana do natychmiastowego zatrzymania wysyłania impulsów pozycjonujących, dzięki czemu, punkt bazowania będzie zawsze ten sam.  

l   Szczegółowe informacje dotyczące funkcji i jej użytkowania, znajdują się w rozdziale 11 „Pozycjonowanie NC w sterownikach PLC serii FBs”.

FUN 143 P PSCNV

KONWERSJA ILOŚCI IMPULSÓW NA JEDNOSTKI MECHANICZNE

CONVERT THE CURRENT PULSE VALUE TO DISPLAY VALUE

(Skrócony opis funkcji)

FUN 143 P PSCNV

image.png

 

 Opis funkcji

 

 

l   Jeżeli wejście sterujące „EN” =1 lub zmieni się z 0→1 (instrukcja P), funkcja przekonwertuje aktualną pozycję w impulsach (PS), na odpowiadającą jej wartość w jednostkach mechanicznych (np.: mm, stopnie, cale lub PS), w celu umożliwienia wyświetlania aktualnej pozycji w tych jednostkach.

l   Warunkiem uzyskania prawidłowych wyników konwersji, jest wcześniejsze wywołanie funkcji FUN141, z ustawieniem odpowiednich parametrów.

l   Szczegółowe informacje dotyczące funkcji i jej użytkowania, znajdują się w rozdziale 11 „Pozycjonowanie NC w sterownikach PLC serii FBs”.

FUN 145 P EN

ZAŁĄCZ PRZERWANIE SPRZĘTOWE

(ENABLE CONTROL OF THE INTERRUPT AND PERIPHERAL)

FUN 145 P EN

image.png

 

l  Jeżeli wejście sterujące „EN” = 1 lub zmieni się z 0→1 (instrukcja P), funkcja załączy przyjmowanie przerwania sprzętowego od źródła wskazanego etykietą przerwania.

l  Poniżej znajduje się lista etykiet identyfikujących przerwania sprzętowe, które można załączyć tą funkcją: (Szczegóły w rozdziale 9.3)

 

image.png

 

l  W wielu aplikacjach, nie jest konieczne aby przerwanie sprzętowe od danego źródła, było przyjmowane w każdej chwili. Dzięki funkcją FUN146 (DIS) i FUN145 (EN), można decydować o tym, kiedy dane przerwanie będzie przyjmowane (aktywne).

 Przykład programu

image.png

 

FUN 146 P DIS

WYŁĄCZ PRZERWANIE SPRZĘTOWE

(DISABLE CONTROL OF THE INTERRUPT AND PERIPHERAL)

FUN 146 P DIS

image.png

 

 

l  Jeżeli wejście sterujące „EN” = 1 lub zmieni się z 0→1 (instrukcja P), funkcja wyłączy przyjmowanie przerwania sprzętowego od źródła wskazanego etykietą przerwania.

l  Poniżej znajduje się lista etykiet identyfikujących przerwania sprzętowe, które można wyłączyć tą funkcją: (Szczegóły w rozdziale 9.3):

 

 

image.png

l  W wielu aplikacjach, nie jest konieczne aby przerwanie sprzętowe od danego źródła, było przyjmowane w każdej chwili. Dzięki funkcją FUN146 (DIS) i FUN145 (EN), można decydować o tym, kiedy dane przerwanie będzie przyjmowane (aktywne).

 Przykład programu

 

image.png

 

FUN 147 MHSPO

WIELOOSIOWE SZYBKIE WYJŚCIE IMPULSOWE

(Multi-Axis High Speed Pulse Output)

FUN 147 MHSPO

image.png

 

 Opis funkcji

 

 

1. Funkcja FUN147 (MHSPO) wykorzystywana jest do obsługi interpolacji liniowej przy wieloosiowym sterowaniu ruchem. Składa się ona z programu sterowania ruchem napisanego i edytowanego tekstowo. Każdą pozycję określa się jako krok (zawierający częstotliwość wyjściową, dystans i warunki wysyłania impulsów). Każdy krok pozycjonowania zapisany jest przy pomocy 15tu rejestrów.

2. Funkcja FUN147 (MHSPO) może obsługiwać do 4 osi w celu realizacji liniowej interpolacji lub 2 grupy po 2 osie (np.: Gp0 = Osie Ps0 i Ps1 ; Gp1 = Osie Ps2 i Ps3)

3. Plusem zapisywania programu pozycjonującego w rejestrach, jest to, że w aplikacjach stosujących interfejs MMI (man machine interface), możliwa jest modyfikacja programu z poziomu MMI. Kiedy wymagana jest zmiana programu pozycjonującego, może być ona łatwo wykonana, przez wysłanie komendy wpisu wartości do ciągu rejestrów.

4. Jeżeli wejście sterujące „EN”=1, a żadne inne funkcje FUN147/FUN140 do pozycjonowania Ps0~3 są nieaktywne (stan odpowieni: Ps0=M1992, Ps1=M1993, Ps2=M1994 i Ps3=M1995 będzie WŁ), funkcja wykona kolejny krok programu pozycjonującego (po dojściu do ostatniego kroku, nastąpi ponowny restart od pierwszego kroku); jeżeli Ps0~3 kontrolowane będą przez którąś z innych funkcji FUN147/FUN140 (stan odpowiedni: Ps0=M1992, Ps1=M1993, Ps2=M1994 i Ps3=M1995 będzie WYŁ), to funkcja wstrzyma realizację programu, do chwili zwolnienia wyjść przez inne funkcje.

5. Jeżeli „EN” =0 wysyłanie impulsów zostanie natychmiast zatrzymane.

6. Jeżeli „PAU”=1, a stan „EN” był poprzednio 1, nastąpi wstrzymanie wysyłania impulsów. Jeżeli „PAU”=0, a stanem „EN” nadal będzie 1, niezakończonej operacji wysyłania impulsów.

7. Jeżeli „ABT”=1, nastąpi natychmiastowe przerwanie wysyłania impulsów. Kiedy następnym razem stan „EN” zmieni się na 1, program pozycjonujący będzie realizowany od pierwszego kroku.

8. Podczas wysyłania impulsów pozycjonujących, stan na wyjściu „ACT” jest WŁ.

9. W przypadku zaistnienia błędu realizacji instrukcji, wskaźnik „ERR” będzie WŁ.
(Kod błędu zapisywany jest w rejestrze kodów błędów.)

10. Po wykonaniu wszystkich kroków programu pozycjonującego, status na wyjściu „DN” zmieni się na WŁ.

       11. Więcej szczegółów w rozdziale 11 „Pozycjonowanie NC w sterownikach PLC serii FBs”

 

FUN 148 MPG

POZYCJONOWANIE MANUALNYM ZADAJNIKIEM IMPULSOWYM

(MANUAL PULSE GENERATOR FOR POSITIONING)

FUN 148 MPG

image.png

 

●        Funkcja powinna być wywoływana wewnątrz procedury obsługi przerwania sprzętowego 50MSI, zgłaszanego w stałych odstępach czasu, co 50ms lub poprzez zastosowanie szybkiego timera 0,1ms do wygenerowania sekwencji przerwań w stałym odstępie czasu równym 50 ms. Funkcja sprawdza, ile impulsów na wejściu szybkiego licznika pojawiło się w ciągu ostatnich 50ms, następnie na podstawie wartości mnożnika (Mr+0 i Mr+1), oblicza ile impulsów należy wysłać na wskazane wyjście, w kolejnym okresie 50ms. Impulsy te są wysyłane z częstotliwością (Fo).

Wartość częstotliwości wyjściowej (Fo) musi być wystarczająca, oraz przyspieszenie/opóźnienie (parametr 4 i parametr 8 funkcji FUN141) muszą być na tyle duże, aby w przypadku dużych mnożników (rzędu 100, 200), umożliwić wysłanie na wyjście impulsujące, wszystkich wyliczonych impulsów, w dostępnym przedziale czasowym 50ms.   

●        Jeżeli „EN”=1, funkcja będzie próbkować liczbę impulsów pojawiającą się na wskazanym szybkim liczniku, w każdym przedziale czasowym. Zaden impuls nie jest wysyłany, jeżeli żaden impuls nie przyszedł. Jeżeli natomiast impulsy wejściowe zostaną wykryte, nastąpi obliczenie ilości impulsów potrzebnych do wysłania, na podstawie wartości mnożnika (Mr+0 i Mr+1). Funkcja wyśle wówczas tą liczbę impulsów z szybkością (Fo), w danym przedziale czasowym.

Ilość impulsów wyjściowych = (Ilość impulsów wejściowych × Fa) / Fb

●        Funkcja jest realizowana sprzętowo. Dlatego też, nie zostanie ona wykonana w przypadku, gdy sprzęt jest zajęty.

●        W trakcie wysyłania impulsów, wyjście ACT=1; w przeciwnym wypadku ACT=0.

●        Więcej szczegółów w rozdziale 11 „Pozycjonowanie NC w sterownikach PLC serii FBs”.

 

 

image.png


FUN 150 M-BUS

MODBUS MASTER

(CZYNI ZE STEROWNIKA MASTERA W PROTOKOLE MODBUS NA PORTACH 1~4)

FUN 150 M-BUS

image.png

 

 Opis

 

 

1.      Funkcja FUN150 (M-BUS) czyni ze sterownika master’a w protokole ModBus na portach 1~4. Dzięki temu można w łatwy sposób nawiązać komunikację z inteligentnymi urządzeniami peryferyjnymi, wspierającymi protokół ModBus ASCII lub RTU.

2.      PLC master, może nawiązać komunikację z 247 stacjami slave, za pośrednictwem interfejsu RS-485.

3.      Jedynie sterownik PLC master, wymaga zastosowania tej funkcji.

4.      Funkcja wykorzystuje metodę kodowania programowego lub metodę uzupełniania tabeli, do określenia przepływu danych, czyli wskazania jaki rodzaj danych pozyskać, z której stacji slave, aby zapisać je w zmiennych sterownika master lub jaki typ danych zapisać ze sterownika master, w odpowiedniej stacji slave. Do zdefiniowania pojedynczej operacji odczytu/zapisu (pakietu), wykorzystywane jest 7 rejestrów.

5.      Jeżeli „EN”=1 zmieni się z 0→1, a stan wejść „PAU” i „ABT” będzie 0, oraz Port 1/2/3/4 nie będzie wykorzystywany przez żadną inną funkcję komunikacyjną [tj. odpowiednio: M1960 (Port1) / M1962 (Port2) / M1936 (Port3) / M1938 (Port4) = 1], funkcja rozpocznie natychmiastowe wysyłanie pakietu ModBus na port 1/2/3/4 i ustawi odpowiedni stan: M1960/M1962/M1936/M1938 na 0 (co oznacza, że dany port jest zajęty). Jeżeli Port 1/2/3/4 był zajęty (M1960/M1962/M1936/M1938 = 0), to funkcja ta przejdzie w stan oczekiwania i pozostanie w nim dopóki inne funkcje komunikacyjne nie zakończą transakcji lub zatrzymają/anulują operację (M1960/M1962/M1936/M1938 =1). Wtedy funkcja ustawi stan odpowiednio: M1960/M1962/M1936/M1938 na 0 (zajmie port) i natychmiast przejdzie do transakcji danych.

6.      Jeżeli podczas realizacji transakcji, stan wejścia „ABT” zmieni się na 1, funkcja natychmiast przerwie transakcję i zwolni używany przez nią port (M1960/M1962/M1936/M1938 = 1). Po kolejnym wywołaniu, funkcja rozpocznie transakcję danych od pierwszego pakietu.

7.      „A/R”=0, określa protokół ModBus RTU; „A/R”=1, określa protokół ModBus ASCII

8.      Podczas transakcji danych, stan na wyjściu „ACT” będzie WŁ.

9.      Jeżeli po zakończeniu transakcji pakietu danych, wystąpi błąd, stany na wyjściach „DN” i „ERR” będą WŁ.

10.   Jeżeli po zakończeniu transmisji pakietu danych, nie wystąpi błąd, stan na wyjściu „DN” będzie WŁ.

FUN 160 D P RWFR

ODCZYT/ZAPIS DO PLIKU REJESTRÓW

(READ/WRITE FILE REGISTER)

FUN 160 D P RWFR

image.png

 

 Opis

 

 

●  Jeżeli wejście sterujące „EN"=1 lub zmieni się z 0→1( instrukcja P ), funkcja zrealizuje operację odczytu („R/W”=1) lub zapisu („R/W”=0) rejestru plików. Podczas odczytu, zawartość rejestrów plików o adresie początkowym określonym przez Sb i wskaźnik zapisu Pr, zostanie wpisana na zawartości rejestrów danych począwszy od Sa. Podczas zapisu, zawartość rejestrów danych począwszy od Sa zostanie wpisana na zawartości rejestrów o adresie początkowym określonym przez Sa i wskaźnik zapisu Pr. L jest wielkością operacji lub rozmiarem rekordu. Dostęp do pliku rejestrów, bazuje na koncepcji rekordu. Na przykład, dla Sa=R0, Sb=F0, L=10, idea zapisu/odczytu wyglądałaby następująco:

image.png

 

 

●         Jest to jedyna funkcja, za pomocą której można uzyskać dostęp do rejestru plików, z poziomu programu drabinkowego.

●         Jeżeli stan na wejściu „INC”=1, po wykonaniu funkcji, wartość wskaźnika zapisu zostanie zwiększona o 1.

●         W przypadku nieprawidłowej wielkości zapisu (L=0 lub > 511) lub gdy przekroczony zostanie zakres rejestru danych (F0~F8191), funkcja ta nie zostanie wykonana.

image.png

 

 

image.png

 

FUN 161 P WR-MP

Zapis rekordu danych do MEMORY_PACK

(Write Data Record into the MEMORY_PACK)

FUN 161 P WR-MP

image.png

 

 

●         Głównym zadaniem MEMORY_PACK serii FBs, jest długoterminowe przechowywanie zapisanego programu drabinkowego użytkownika. Poza tym, MEMORY_PACK może pracować w formie przenośnej, do zapisu i wczytywania parametrów roboczych maszyny, za pomocą funkcji FUN161/FUN162.
Jeżeli wejście sterujące „EN” zmieni się z 0→1, funkcja zrealizuje zapis danych, gdzie S jest początkowym adresem danych źródłowych, BK jest numerem bloku w MEMORY_PACK do zapisu danych, Os stanowi przesunięcie w bloku, Pr jest wskaźnikiem odpowiedniego obszaru danych, a L określa wielkość zapisu. Dostęp do MEMORY_PACK, bazuje na koncepcji rekordu. Schemat działania przedstawiony został poniżej:

image.png

 

●         Jeżeli wejście „INC”=1, po wykonaniu zapisu, wartość wskaźnika zostanie zwiększona o 1 – będzie on wskazywał na następny rekord.

 

●         Jeżeli wartość L będzie równa 0 lub większa od 128, albo wskazywany obszar danych będzie poza zakresem, stan na wyjściu „ERR” będzie równy 1, a operacja zapisu nie zostanie wykonana.

●         Do zapisu danych i weryfikacji, wymaganych jest kilka skanów PLC. W trakcie realizacji funkcji, stan wyjścia „ACT” będzie równy 1. W przypadku zakończenia realizacji oraz weryfikacji bez błędów, stan na wyjściu „DN” będzie równy 1. Jeżeli pojawią się błędy, stan wyjścia „ERR” będzie równy 1.
MEMORY_PACK można skonfigurować do zapisu programu drabinkowego użytkownika, parametrów roboczych maszyny lub obydwu. Program drabinkowy może być zapisany tylko w bloku 0, natomiast parametry robocze maszyny mogą być zapisane w bloku 0 lub 1. Całkowita pojemność każdego bloku wykosi 32k słów.

 

 Przykładowy program: Zapisy o różnych długościach do bloku nr 1 w MEMORY_PACK

image.png

 

 

image.png

 

FUN 162 P RD-MP

Odczyt rekordu danych z MEMORY_PACK

(Read Data Record from the MEMORY_PACK)

FUN 162 P RD-MP

image.png

 

 

●         Jeżeli w MEMORY_PACK zapisane zostały dane, przy pomocy funkcji FUN161, to mogą być one odczytane za pomocą funkcji FUN162. Dzięki temu można skrócić czas strojenia maszyny.

●         Jeżeli wejście sterujące „EN”=1 lub zmieni się z 0→1(instrukcja P ), funkcja wykona odczyt danych, gdzie BK jest numerem bloku w MEMORY_PACK, z którego następuje odczyt, Os stanowi przesunięcie we wskazanym bloku, Pr jest wskaźnikiem odpowiedniego obszaru danych, L określa wielkość odczytu, a D jest początkowym adresem zapisu odczytanych wartości. Dostęp do MEMORY_PACK, bazuje na koncepcji rekordu .

 

Schemat działania przedstawiony został poniżej:

image.png

 

 

●         Jeżeli wejście „INC”=1, po wykonaniu odczytu, wartość wskaźnika zostanie zwiększona o 1 – będzie on wskazywał na następny rekord.

 

●         Jeżeli wartość L będzie równa 0 lub większa od 128, albo wskazywany obszar danych będzie poza zakresem, to stan na wyjściu „ERR” będzie równy 1, a operacja odczytu nie zostanie wykonana.

●         Jeżeli MEMORY_PACK będzie pusty lub format danych będzie nieprawidłowy, a użytkownik wykorzystał FUN162 do odczytu danych, to stan wyjścia „ERR” będzie równy 1.

 

Przykład programu : Odczyt o różnych długościach z bloku nr 1 w MEMORY_PACK

 

※ Ważne jest, aby dane w MEMORY_PACK miały prawidłowy format. W przeciwnym wypadku, funkcje z poniższego przykładu, nie zostaną wykonane prawidłowo

image.png

 

 

 

image.png

FUN 170 D =

KOMPARATOR RÓWNOŚCI

(Sprawdzenie czy Sa jest równe Sb)

(EQUAL TO COMPARE)

FUN 170 D =

image.png

 

 

●          Jeżeli „EN”=1, funkcja porówna Sa i Sb. Jeżeli Sa = Sb, to stan na wyjściu będzie równy 1; w przeciwnym wypadku 0.

 

Przykład 1 

 

 

image.png

Opis: Jeżeli R0=R2, R4=R6 i M0=1, to status na wyjściu Y0 będzie równy 1; w przeciwnym wypadku 0 jeżeli R0=R2, R8=R10 i M1=1, to status na wyjściu Y1 będzie równy 1; w przeciwnym wypadku 0

 

 Przykład 2

 

image.png

 

Opis: Jeżeli DR600=DR602 lub DR604>DR606, następnie DR608<DR610 i DR616≧DR618, lub DR612≠DR614 i DR620≦DR622, lub M200=1 i M201=1, a następnie M100=1, to status na wyjściu Y10 będzie równy 1; w przeciwnym wypadku 0.

FUN 171 D >

KOMPARATOR WIĘKSZOŚCI

(Sprawdzenie czy Sa jest większe od Sb)

(GREATER THAN COMPARE)

FUN 171 D >

image.png

 

●          Jeżeli „EN”=1, funkcja porówna Sa i Sb. Jeżeli Sa > Sb, stan na wyjściu będzie równy 1; w przeciwnym wypadku 0

Przykład 1 

image.png

 Opis: Jeżeli M10=1, R20 > R22 lub M11=1, to status na wyjściu Y2 będzie równy 1; w przeciwnym wypadku 0.

Przykład 2

image.png

 

Opis: Jeżeli DR600=DR602 lub DR604>DR606, następnie DR608<DR610 i DR616≧DR618, lub DR612≠DR614 i DR620≦DR622, lub M200=1 i M201=1, a następnie M100=1, to status na wyjściu Y10 będzie równy 1; w przeciwnym wypadku 0.

 

FUN 172 D <

KOMPARATOR MNIEJSZOŚCI

(Sprawdzenie czy Sa jest niejsze od Sb)

(LESS THAN COMPARE)

FUN 172 D <

image.png

 

 

●          Jeżeli „EN”=1, instrukcja porówna Sa i Sb. Jeżeli Sa < Sb, stan na wyjściu będzie równy 1; w przeciwnym wypadku 0

 

 Przykład 1

image.png

 

 Opis: Jeżeli M10=1, R20 < R22 lub M11=1, to status na wyjściu Y2 będzie równy 1; w przeciwnym wypadku 0

 

Przykład 2

image.png

 

 

Opis: Jeżeli DR600=DR602 lub DR604>DR606, następnie DR608<DR610 i DR616≧DR618, lub DR612≠DR614 i DR620≦DR622, lub M200=1 i M201=1, a następnie M100=1, to status na wyjściu Y10 będzie równy 1; w przeciwnym wypadku 0.

 

FUN 173 D <>

KOMPARATOR NIERÓWNOŚCI

(Sprawdzenie czy Sa jest różne od Sb)

(NOT EQUAL TO COMPARE

FUN 173 D <>

image.png


●          Jeżeli „EN”=1, instrukcja porówna Sa i Sb. Jeżeli Sa ≠Sb, stan na wyjściu będzie równy 1; w przeciwnym wypadku 0

 

Przykład 1 

 

image.png

 

 Opis: Jeżeli M10=1, R20 ≠R22 lub M11=1, to status na wyjściu Y2 będzie równy 1; w przeciwnym wypadku 0

 

Przykład 2 

image.png

Opis: Jeżeli DR600=DR602 lub DR604>DR606, następnie DR608<DR610 i DR616≧DR618, lub DR612≠DR614 i DR620≦DR622, lub M200=1 i M201=1, a następnie M100=1, to status na wyjściu Y10 będzie równy 1; w przeciwnym wypadku 0

 

FUN 174 D >=

KOMPARATOR WIĘKSZOŚCI LUB RÓWNOŚCI

(Sprawdzenie czy Sa jest większe lub równe Sb)

(GREATER THAN OR EQUAL TO COMPARE)

FUN 174 D >=

image.png

●          Jeżeli „EN”=1, instrukcja porówna Sa i Sb. Jeżeli Sa ≧Sb, stan na wyjściu będzie równy 1; w przeciwnym wypadku 0

 Przykład 1

image.png

 

 Opis: Jeżeli M10=1, R20 ≧R22 lub M11=1, to status na wyjściu Y2 będzie równy 1; w przeciwnym wypadku 0

Przykład 2

 

image.png

Opis: Jeżeli DR600=DR602 lub DR604>DR606, następnie DR608<DR610 i DR616≧DR618, lub DR612≠DR614 i DR620≦DR622, lub M200=1 i M201=1, a następnie M100=1, to status na wyjściu Y10 będzie równy 1; w przeciwnym wypadku 0

FUN 175 D =<

KOMPARATOR MNIEJSZOŚCI LUB RÓWNOŚCI

(Sprawdzenie czy Sa jest mniejsze lub równe Sb)

(LESS THAN OR EQUAL TO COMPARE)

FUN 175 D =<

image.png

 

●          Jeżeli „EN”=1, instrukcja porówna Sa i Sb. Jeżeli Sa ≦Sb, stan na wyjściu będzie równy 1; w przeciwnym wypadku 0

 Przykład 1

image.png

 

Opis: Jeżeli M10=1, R20 ≦R22 lub M11=1, to status na wyjściu Y2 będzie równy 1; w przeciwnym wypadku 0

Przykład 2

image.png

 Opis: Jeżeli DR600=DR602 lub DR604>DR606, następnie DR608<DR610 i DR616≧DR618, lub DR612≠DR614 i DR620≦DR622, lub M200=1 i M201=1, a następnie M100=1, to status na wyjściu Y10 będzie równy 1; w przeciwnym wypadku 0.

FUN 190 STAT

ODCZYTAJ STAN SYSTEMU

(READ SYSTEM STATUS)

FUN 190 STAT

image.png

 

●        Jeżeli wejście sterujące „EN”=1, funkcja zostanie wykonana, i jeżeli Gp = 0, co oznacza żądanie uzyskania informacji o podłączonych do sterownika modułach rozszerzeń We / Wy, liczba podłączonych modułów rozszerzeń we / wy zostanie zapisana w rejestrze D, natomiast do rejestrów D+1~D+N zapisane zostaną kody poszczególnych rozszerzeń, w kolejności ich występowania w systemie. Użycie grup Gp=1~3 jest zarezerwowane na przyszłość.

image.png

Przykład: W pewnym, systemie zainstalowane są dwa moduły rozszerzeń we/wy FBs-2DA + FBs-6AD

 

image.png

 

Opis: Jeżeli M500 = 1, funkcja zostanie wykonana. W rejestrze D200 zostanie zapisana całkowita liczba modułów rozszerzeń we/wy, jakie zostały wykryte przez jednostkę główną, w rejestrze D201 zostanie zapisany kod pierwszego modułu rozszerzeń (17=FBs-2DA), natomiast w rejestrze D202 zostanie zapisany kod drugiego modułu rozszerzeń we / wy (16=FBs-6AD). 

FUN 200 D P I àF

KONWERSJA FORMATU CAŁKOWITEGO NA ZMIENNOPRZECINKOWY

(CONVERSION OF INTEGER TO FLOATING POINT NUMBER)

FUN 200 D P I àF

image.png

 

opis

l  Format wartości zmiennoprzecinkowych, stosowany w sterownikach PLC Fatek, jest zgodny z normą IEEE-754. Szczegóły dotyczące formatu znajdują się w rozdziale 5.3 (Systemy liczbowe) … strona 5 – 9.

l  Jeżeli wejście sterujące „EN” = 1 lub zmieni się z 0 na 1 (instrukcja P), nastąpi konwersja wartości S, zapisanej w formacie całkowitym, na wartość zapisaną w formacie zmiennoprzecinkowym. Wynik konwersji zapisany zostanie w 32-bitowym rejestrze D~D+1.

 

 

image.png


FUN 201 D P FàI

KONWERSJA FORMATU ZMIENNOPRZECINKOWEGO NA CAŁKOWITY

(CONVERSION OF FLOATING POINT NUMBER TO INTEGER)

FUN 201 D P FàI

image.png

 

opis 

 

l  Format wartości zmiennoprzecinkowych, stosowany w sterownikach PLC Fatek, jest zgodny z normą IEEE-754. Szczegóły dotyczące formatu znajdują się w rozdziale 5.3 (Systemy liczbowe) … strona 5 – 9.

l  Jeżeli wejście sterujące „EN” = 1 lub zmieni się z 0 na 1 (instrukcja P), nastąpi konwersja 32-bitowej wartości S~S+1, zapisanej w formacie zmiennoprzecinkowym, na wartość zapisaną w formacie całkowitym. Wynik konwersji zapisany zostanie rejestrze D.

l 
Jeżeli wartość wyniku konwersji, przekroczy zakres zmiennej D, funkcja nie zostanie wykonana a stan wyjścia błędu „ERR” zmieni się na 1, natomiast wartość w rejestrze D pozostanie niezmieniona.

 

 

image.png


FUN 202 P FADD

DODAWANIE LICZB ZMIENNOPRZECINKOWYCH

(FLOATING POINT NUMBER ADDITION)

FUN 202 P FADD

image.png

 

 Opis

 

l  Format wartości zmiennoprzecinkowych, stosowany w sterownikach PLC Fatek, jest zgodny z normą IEEE-754. Szczegóły dotyczące formatu znajdują się w rozdziale 5.3 (Systemy liczbowe) … strona 5 – 9.

l  Jeżeli wejście sterujące „EN” = 1 lub zmieni się z 0 na 1 (instrukcja P), funkcja zrealizuje operację dodawania danych określonych w Sa i Sb i zapisze wyniki w rejestrze D. W przypadku, gdy wynik przekroczy dopuszczalny zakres wartości w jakim wyrażona może być liczba zmiennoprzecinkowa (±3.4*1038), stan wyjścia błędu ERR zmieni się na 1, a zawartość rejestru D pozostanie niezmieniona.

image.png


FUN 203 P FSUB

ODEJMOWANIE LICZB ZMIENNOPRZECINKOWYCH   (FLOATING POINT NUMBER SUBTRACTION)

FUN 203 P FSUB

image.pngOpis

l  Format wartości zmiennoprzecinkowych, stosowany w sterownikach PLC Fatek, jest zgodny z normą IEEE-754. Szczegóły dotyczące formatu znajdują się w rozdziale 5.3 (Systemy liczbowe) … strona 5 – 9.

l  Jeżeli wejście sterujące „EN” = 1 lub zmieni się z 0 na 1 (instrukcja P), funkcja zrealizuje operację odejmowania danych określonych w Sa i Sb i zapisze wyniki w rejestrze D. W przypadku, gdy wynik przekroczy dopuszczalny zakres wartości w jakim wyrażona może być liczba zmiennoprzecinkowa (±3.4*1038), stan wyjścia błędu ERR zmieni się na 1, a zawartość rejestru D pozostanie niezmieniona.

 

 

image.png


FUN 204 P FMUL

MNOŻENIE LICZB ZMIENNOPRZECINKOWYCH

(FLOATING POINT NUMBER MULTIPLICATION)

FUN 204 P FMUL

image.png

 Opis

 

l  Format wartości zmiennoprzecinkowych, stosowany w sterownikach PLC Fatek, jest zgodny z normą IEEE-754. Szczegóły dotyczące formatu znajdują się w rozdziale 5.3 (Systemy liczbowe) … strona 5 – 9.

l  Jeżeli „EN” = 1 lub zmieni się z 0 na 1 (instrukcja P), funkcja zrealizuje operację mnożenia danych określonych w Sa i Sb i zapisze wyniki w rejestrze D. W przypadku, gdy wynik przekroczy dopuszczalny zakres wartości w jakim wyrażona może być liczba zmiennoprzecinkowa (±3.4*1038), stan wyjścia błędu ERR zmieni się na 1, a zawartość rejestru D pozostanie niezmieniona.

 

image.png


FUN 205 P FDIV

DZIELENIE LICZB ZMIENNOPRZECINKOWYCH

(FLOATING POINT NUMBER DIVISION)

FUN 205 P FDIV

image.png

 

 Opis

 

 

l  Format wartości zmiennoprzecinkowych, stosowany w sterownikach PLC Fatek, jest zgodny z normą IEEE-754. Szczegóły dotyczące formatu znajdują się w rozdziale 5.3 (Systemy liczbowe) … strona 5 – 9.

l  Jeżeli „EN” = 1 lub zmieni się z 0 na 1 (instrukcja P), funkcja zrealizuje operację dzielenia danych określonych w Sa i Sb i zapisze wyniki w rejestrze D. W przypadku, gdy wynik przekroczy dopuszczalny zakres wartości w jakim wyrażona może być liczba zmiennoprzecinkowa (±3.4*1038), stan wyjścia błędu ERR zmieni się na 1, a zawartość rejestru D pozostanie niezmieniona.

 

 

image.png

 

FUN 206 P FCMP

KOMPARATOR LICZB ZMIENNOPRZECINKOWYCH

(FLOATING POINT NUMBER COMPARE)

FUN 206 P FCMP

image.png

 

 Opis

l  Format wartości zmiennoprzecinkowych, stosowany w sterownikach PLC Fatek, jest zgodny z normą IEEE-754. Szczegóły dotyczące formatu znajdują się w rozdziale 5.3 (Systemy liczbowe) … strona 5 – 9.

l  Jeżeli wejście sterujące „EN” = 1 lub zmieni się z 0 na 1 (instrukcja P), funkcja porówna wartości w Sa i Sb. Jeżeli wartość Sa będą tożsama z wartością Sb, satn wyjścia FO0 zostanie ustawiony na 1. Jeżeli Sa>Sb, to stan wyjścia FO1 zostanie ustawiony na 1. Jeżeli Sa<Sb, to stan wyjści FO2 zostanie ustawiony na 1

 

image.png

 

l  W przykładzie powyżej, zakłada się, że w DR0 zapisana jest wartość 200.1 a w DR2 200.2. Następnie wartości te są porównywane za pomocą instrukcji FCMP. Stany FO0 i FO1 ustawione są na 0, a FO2 (a<b) ustawiony jest na 1, ponieważ a<b.

l  Aby uzyskać złożony wynik, taki jak:. ≧、≦, < > itp., należy najpierw wysłać wyniki =, < i > do markerów, a następnie powiązać wyniki z markerów warunkiem logicznym.

FUN 207 P FZCP

ZMIENNOPRZECINKOWY KOMPARATOR STREFY   

(FLOATING POINT NUMBER ZONE COMPARE)
FUN 207 P FZCP

image.png

 Opis

 

 

l  Format wartości zmiennoprzecinkowych, stosowany w sterownikach PLC Fatek, jest zgodny z normą IEEE-754. Szczegóły dotyczące formatu znajdują się w rozdziale 5.3 (Systemy liczbowe) … strona 5 – 9.

l  Jeżeli wejście sterujące „EN” = 1 lub zmieni się z 0 na 1 (instrukcja P), funkcja porówna zawartość rejestru S z górną wartością graniczną SU i dolną wartością graniczną SL. Jeżeli zawartość S mieści się pomiędzy górną i dolną wartością graniczną (SL<S<SU), to stan wyjścia „INZ” zostanie ustawiony na 1. Jeżeli wartość S będzie wyższa od górnej wartości granicznej SU, to stan wyjścia „S>U” zostanie ustawiony na 1. Jeżeli wartość S będzie niższa od dolnej wartości granicznej SL, to stan wyjścia „S<L” zostanie ustawiony na 1.

l   Górna wartość graniczna SU, powinna być większa od dolnej wartości granicznej SL. Jeżeli SU<SL, to stan wyjścia „ERR” zostanie ustawiony na 1, a funkcja nie zostanie wykonana.

 

image.png

image.png

FUN 208 P FSQR

PIERWIATSEK KWADRATOWY Z LICZBY ZMIENNOPRZECINKOWEJ

(FLOATING POINT NUMBER SQUARE ROOT)

FUN 208 P FSQR

image.png

 Opis

 

l  Format wartości zmiennoprzecinkowych, stosowany w sterownikach PLC Fatek, jest zgodny z normą IEEE-754. Szczegóły dotyczące formatu znajdują się w rozdziale 5.3 (Systemy liczbowe) … strona 5 – 9.

l Jeżeli wejście sterujące „EN” = 1 lub zmieni się z 0 na 1 (instrukcja P), funkcja wyciągnie pierwiastek kwadratowy z wartości stałej wpisanej w polu S lub wartości pobranej z rejestrów S~S+1 i zapisze wynik w rejestrze określonym przez D~D+1.

l Jeżeli wartość S będzie ujemna, to stan wyjścia „ERR” zostanie ustawiony na 1, a funkcja nie zostanie wykonana.

image.png


FUN 209 D FSIN

SINUS 

(SIN TRIGONOMETRIC INSTRUCTION)
FUN 209 D FSIN

image.png

Opis 

 

l  Format wartości zmiennoprzecinkowych, stosowany w sterownikach PLC Fatek, jest zgodny z normą IEEE-754. Szczegóły dotyczące formatu znajdują się w rozdziale 5.3 (Systemy liczbowe) … strona 5 – 9.

l Jeżeli wejście sterujące „EN” = 1 lub zmieni się z 0 na 1 (instrukcja P), funkcja obliczy wartość sinusa z kąta, zapisanego w formacie całkowitym, określonego przez rejestr S i zapisze wynik w formcie zmiennoprzecinkowym w rejestrze D~D+1. Dopuszczalny zakres kąta wynosi od -18000 do +18000 (wyrażonego w formacie całkowitym z dokładnością 0.01 stopnia).

l Jeżeli wartość S będzie poza dopuszczalnym zakresem, stan wyjścia błędu „ERR” zostanie ustawiony na 1, a funkcja nie zostanie wykonana.

 

 

image.png


FUN 210 P FCOS

COSINUS

(COS TRIGONOMETRIC INSTRUCTION)
FUN 210 P FCOS

image.png

Opis 

 

l    Format wartości zmiennoprzecinkowych, stosowany w sterownikach PLC Fatek, jest zgodny z normą IEEE-754. Szczegóły dotyczące formatu znajdują się w rozdziale 5.3 (Systemy liczbowe) … strona 5 – 9.

l Jeżeli wejście sterujące „EN” = 1 lub zmieni się z 0 na 1 (instrukcja P), funkcja obliczy wartość cosinusa z kąta, zapisanego w formacie całkowitym, określonego przez rejestr S i zapisze wynik w formcie zmiennoprzecinkowym w rejestrze D~D+1. Dopuszczalny zakres kąta wynosi od -18000 do +18000 (wyrażonego w formacie całkowitym z dokładnością 0.01 stopnia).

l Jeżeli wartość S będzie poza dopuszczalnym zakresem, stan wyjścia błędu „ERR” zostanie ustawiony na 1, a funkcja nie zostanie wykonana.

 

 

image.png


FUN 211 P FTAN

TANGENS  

(TAN TRIGONOMETRIC INSTRUCTION)
FUN 211 P FTAN

image.png

Opis


 

l  Format wartości zmiennoprzecinkowych, stosowany w sterownikach PLC Fatek, jest zgodny z normą IEEE-754. Szczegóły dotyczące formatu znajdują się w rozdziale 5.3 (Systemy liczbowe) … strona 5 – 9.

l Jeżeli wejście sterujące „EN” = 1 lub zmieni się z 0 na 1 (instrukcja P), funkcja obliczy wartość tangensa z kąta, zapisanego w formacie całkowitym, określonego przez rejestr S i zapisze wynik w formcie zmiennoprzecinkowym w rejestrze D~D+1. Dopuszczalny zakres kąta wynosi od -18000 do +18000 (wyrażonego w formacie całkowitym z dokładnością 0.01 stopnia).

l Jeżeli wartość S będzie poza dopuszczalnym zakresem, stan wyjścia błędu „ERR” zostanie ustawiony na 1, a funkcja nie zostanie wykonana.

image.png

FUN 212 P FNEG

ZMIANA ZNAKU LICZBY ZMIENNOPRZECINKOWEJ

(CHANGE SIGN OF THE FLOATING POINT NUMBER)
FUN 212 P FNEG

image.png

Opis 

 

l  Format wartości zmiennoprzecinkowych, stosowany w sterownikach PLC Fatek, jest zgodny z normą IEEE-754. Szczegóły dotyczące formatu znajdują się w rozdziale 5.3 (Systemy liczbowe) … strona 5 – 9.

l  Jeżeli wejście sterujące „EN” = 1 lub zmieni się z 0 na 1 (instrukcja P), funkcja zmieni znak liczby zmeinnoprzecinkowej określonej przez rejestr D.

 

 Przykład programowania

 

image.png


FUN 213 P FABS

WARTOŚĆ ABSOLUTNA LICZBY ZMIENNOPRZECINKOWEJ  

(FLOATING POINT NUMBER ABSOLUTE VALUE)
FUN 213 P FABS

Opis

l  Format wartości zmiennoprzecinkowych, stosowany w sterownikach PLC Fatek, jest zgodny z normą IEEE-754. Szczegóły dotyczące formatu znajdują się w rozdziale 5.3 (Systemy liczbowe) … strona 5 – 9.

l  Jeżeli wejście sterujące „EN” = 1 lub zmieni się z 0 na 1 (instrukcja P), instrukcja obliczy wartość bezwzględną liczby zmeinnoprzecinkowej określonej przez rejestr D i zapisze obliczoną wartość ponownie w rejstrze D.

 

 Przykład programowania

image.png


FUN 214 P FLN

LOGARYTM NATURALNY LICZBY ZMIENNOPRZECINKOWEJ

(FLOATING POINT NAPIERIAN LOGARITHM, logex or ln(x))

FUN 214 P FLN

image.png

 

Opis

 

l  Format wartości zmiennoprzecinkowych, stosowany w sterownikach PLC Fatek, jest zgodny z normą IEEE-754.

l Jeżeli wejście sterujące „EN” = 1 lub zmieni się z 0 na 1 (instrukcja P), funkcja obliczy logarytm naturalny wartości stałej wpisanej w polu S lub wartości znajdującej się rejestrze S~S+1, oraz zapisze wynik w rejestrze D~D+1.

l Jeżeli wartość S będzie ujemna lub równa 0, albo wynik logarytmu będzie wykraczać poza dopuszczalny zakres, stan wyjścia błędu „ERR” zostanie ustawiony na 1, a wartość D~D+1 nie zostanie zaktualizowana.

l Funkcje operujące na liczbach zmiennoprzecinkowych, nie mogą być wywoływane wewnątrz procedur obsługi przerwań sprzętowych.

 

 Przykład

 

image.png


FUN 215 P FEXP

ZMIENNOPRZECINKOWA POTĘGA LICZY EULERA

(FLOATING POINT NATURE POWER FUNCTION, ex)
FUN 215 P FEXP

image.png

 Opis

l  Format wartości zmiennoprzecinkowych, stosowany w sterownikach PLC Fatek, jest zgodny z normą IEEE-754.

l Jeżeli wejście sterujące „EN” = 1 lub zmieni się z 0 na 1 (instrukcja P), funkcja obliczy wartość potęgi dla wartości stałej wpisanej w polu S, lub wartości znajdującej się rejestrze S~S+1, oraz zapisze wynik w rejestrze D~D+1

l Jeżeli wartość S lub wynik potęgi będzie wykraczać poza dopuszczalny zakres, stan wyjścia błędu „ERR” zostanie ustawiony na 1, a wartość D~D+1 nie zostanie zaktualizowana

l Funkcje operujące na liczbach zmiennoprzecinkowych, nie mogą być wywoływane wewnątrz procedur obsługi przerwań sprzętowych.

 

 Przykład

 

 

image.png

 

image.png


FUN 216 P FLOG

LOGARYTM LICZBY ZMIENNOPRZECINKOWEJ

 (FLOATING POINT LOGARITHM, log10x or log(x))
FUN 216 P FLOG

image.png

 

Opis 

 

l  Format wartości zmiennoprzecinkowych, stosowany w sterownikach PLC Fatek, jest zgodny z normą IEEE-754.

l Jeżeli wejście sterujące „EN” = 1 lub zmieni się z 0 na 1 (instrukcja P), funkcja obliczy logarytm dla wartości stałej wpisanej w polu S, lub wartości znajdującej się rejestrze S~S+1, oraz zapisze wynik w rejestrze D~D+1

l Jeżeli wartość S będzie ujemna lub równa 0, albo wynik logarytmu będzie wykraczać poza dopuszczalny zakres, to status znacznika „ERR” zostanie ustawiony na 1, a wartość D~D+1 nie zostanie zaktualizowana.

l Funkcje operujące na liczbach zmiennoprzecinkowych, nie mogą być wywoływane wewnątrz procedur obsługi przerwań sprzętowych.

Przykład 

image.png

 

 

image.png

FUN 217 P FPOW

X DO POTĘGI Y NA LICZBACH ZMMIENNOPRZECINKOWYCH

(FLOATING POINT POWER FUNCTION, xy)
FUN 217 P FPOW

image.png

 

Opis

l  Format wartości zmiennoprzecinkowych, stosowany w sterownikach PLC Fatek, jest zgodny z normą IEEE-754.

l Jeżeli wejście sterujące „EN” = 1 lub zmieni się z 0 na 1 (instrukcja P), funkcja obliczy wartość potęgi, gdzie wykładnikiem jest wartości w rejestrze Sy, podstawą potęgi jest wartości w rejestrze Sx, a wynik zostanie zapisany w rejestrze D~D+1

l Gdy wynik znajdzie się poza zakresem, stan wyjścia błędu „ERR” zostanie ustawiony na 1, a wartość D~D+1 nie zostanie zaktualizowana.

l Funkcje operujące na liczbach zmiennoprzecinkowych, nie mogą być wywoływane wewnątrz procedur obsługi przerwań sprzętowych.

 Przykład

image.png

 

 

image.png

 

 

FUN 218 P FASIN

ARCUS SINUS LICZBY ZMIENNOPRZECINKOWEJ

 (FLOATING POINT ARC SINE FUNCTION, sin-1)
FUN 218 P FASIN