Skip to main content

6. Funkcje podstawowe

T Timer T

Symbol

image.png

image.png

 

 

●           Całkowita liczba timerów to 256 (T0~T255), z trzema podstawami czasu: 0,01s, 0,1s i 1s. Domyślne ilości oraz rozmieszczenie timerów o danej podstawie czasu, zostały przedstawione poniżej (zakresy te mogą być zmieniane za pomocą funkcji „Memory Allocation”, zgodnie z wymaganiami użytkownika):

T0~T49:timer 0,01s(zakres czasu 0,00~327,67s)。

T50~T199:timer 0,1s (zakres czasu 0,0~3276,7s)。

T200~T255:timer 1s (zakres czasu 0~32767s)。

●           Po wprowadzeniu numeru timera, oprogramowanie  narzędziowe automatycznie wyszuka odpowiadającą mu podstawę czasu, zgodnie z „Memory Allocation”. Czas timera = podstawa czasu x wartość zadana (PV). W przykładzie nr 1 poniżej, podstawa czasu timera T0 = 0,01s, a wartość zadana PV = 1000. W związku z tym, czas timera T0 = 0,01s x 1000 = 10,00s.

●           Jeżeli PV jest rejestrem, to czas timera = podstawa czasu x wartość w rejestrze. W takiej sytuacji użytkownik, aby zmienić czas timera, musi jedynie zmienić wartość w rejestrze (patrz przykład 2).

※         Maksymalnym błędem timera jest stała czasowa plus czas skanu programu. W celu zmniejszenia błędu odmierzania czasu, należy użyć timera o mniejszej podstawie czasu.

 

 Opis

 

 

●           Jeżeli wejście sterujące EN = 1, timer rozpocznie odmierzanie czasu (wartość bieżąca CV będzie narastać od 0). W chwili, w której wartość bieżąca odmierzonego czasu CV zrówna się z wartością zadaną PV, stan zmiennej Tn i wyjścia TUP (FO0) zmieni się na 1. Jak długo „EN” = 1, nawet jeżeli CV osiągnie lub przekroczy wartość PV, CV timera będzie narastać (gdy M1957 = 0) do chwili aż osiągnie maksymalną wartość graniczną (32767). Przez cały czas, kiedy CV >PV, wyjście TUP oraz stan zmiennej Tn pozostanie 1. Kiedy tylko „EN” = 0, wartość bieżąca timera CV zostaje natychmiast wyzerowana – stan zmiennej Tn i wyjścia TUP także zostają wyzerowane (patrz schemat poniżej).

●           Jeżeli wersja OS FBs-PLC jest wyższa niż V3.0, to marker M1957 może być ustawiony na 1, aby wartość CV nie zwiększała się po aktywacji TUP i zatrzymywała się na wartości PV. Domyślna wartość M1957 to 0. Kontrolując programowo stan markera M1957, można decydować indywidualnie dla każdego timera, o tym czy ma on kontynuować bądź zatrzymać odmierzanie czasu, w chwili gdy CV zrówna się z PV (patrz schemat poniżej).

 

Przykład 1 Stała wartość zadana

image.png

 

 

image.png

 

Przykład 2  Zmienne PV

 

Nastawa (PV) przedstawiona na przykładzie 1 jest stała wartością równą 1000. Wartość jest stała i nie może być zmieniona po zaprogramowaniu. W wielu przypadkach, nastawa czasu timerów wymaga zmiany podczas pracy PLC. Aby zmienić nastawę timera, użytkownik może zastosować rejestr jako argument PV (np. R lub WX, WY…), a następnie zmieniać nastawę poprzez zmianę wartosci w rejestrze. Jak pokazano na przykładzie, jeżeli R0 zostanie ustawiony na 100, to T stanie się timerem 10s. Analogicznie, jeżeli R0 = 200 to T stanie się timerem 20s.

image.png

 

 

image.png

 

 Uwaga: Jeżeli wartość zadana timera jest równa 0, to stan zmiennej timera i wyjścia TUP zmieni się na 1 (stan wejścia „EN” musi być 1) niezwłocznie po zakończeniu pierwszego skanu przez PLC, ponieważ warunek doliczenia do czasu zadanego będzie spełniony. Stan TUP pozostanie 1, do momentu aż stan wejścia „EN” zmieni się na 0

C

LICZNIK

(16-Bit: C0~C199,32-Bit: C200~C255)
C

Symbol

 

image.png

 

 

image.png

 

 

●           Całkowita liczba 16-bitowych liczników to 200 (C0~C199). Zakresem ich wartości zadanej (CV) jest: 0~32767. Liczniki C0~C139 są licznikami podtrzymywanymi, w których wartość CV zostanie utrzymana w momencie, gdy PLC zostanie ponownie włączone po zaniku zasilania, lub przełączone z trybu STOP w tryb RUN. W przypadku liczników niepodtrzymywanych, przy ponownym podaniu zasilania, lub przełączeniu sterownika z trybu STOP w tryb RUN, wartość CV zostanie wyzerowana.

●           Całkowita liczba 32-bitowych liczników to 56 (C200~C255). Zakresem ich wartości zadanej (CV) jest: 0~2147483647. Liczniki C200~C239 są to liczniki podtrzymywane, natomiast C240~C255 są licznikami niepodtrzymywanymi.

●           Powyższe to domyślne ustawienie podtrzymywalności adresów liczników. W razie konieczności zmiany ustawień, użytkownik może użyć funkcji „Memory Allocation”.

●           Aby zapewnić prawidłowe zliczanie, czas wystąpienia stanu na wejściu PLS, powinien być dłuższy niż 1 czas skanu programu.

●           Maksymalna częstotliwość zliczania realizowanego za pomocą tej funkcji wynosi do 20Hz. Dla zliczania sygnałów o większych częstotliwościach, zastosuj szybkie liczniki sprzętowe/software’owe.

 Opis

 

●           Jeżeli wejście „CLR” = 1, wszystkie stany: zmiennej Cn, wyjścia CUP i wartości bieżącej CV licznika, zostaną wyzerowane, a licznik przestanie zliczać.

●           Jeżeli wejście „CLR” = 0, to licznik będzie mógł zliczać. Licznik zliczy w górę (doda 1 do CV) za każdym razem kiedy stan na jego wejściu PLS zmieni się z 0 na 1. W chwili gdy wartość bieżąca licznika (CV) zrówna się lub będzie większa od jego wartości zadanej (PV), stan zmiennej Cn i wyjścia CUP zmieni się na 1. Nawet w przypadku, gdy bieżąca naliczona wartość jest równa lub większa niż wartość zadana, to wartość CV będzie narastać do momentu osiągnięcia granicy zakresu (32767 lub 2147483647). Stan zmiennej Cn i wyjścia CUP  zostaną wyzerowane w chwili gdy wartość CV<PV, lub w chwili wyzerowania licznika wejściem „CLR” = 1. (patrz schemat poniżej).

●           Jeżeli wersja OS FBs-PLC jest wyższa niż V3.0 (włącznie), to M1973 można ustawić na 1, aby wartość CV nie narastała po aktywacji wyjścia CUP i zatrzymała się na wartości PV. Domyślna wartość M1973 to 0. Kontrolując programowo stan markera M1973, można decydować indywidualnie dla każdego licznika, o tym, czy ma on kontynuować bądź zatrzymać zliczanie, w chwili gdy CV zrówna się z PV (patrz schemat poniżej).

 

Przykład 1 Licznik 16-bitowy o stałej wartości zadanej

image.png

 

 

image.png

 

 

 Przykład 2 32-bitowy licznik ze zmienną nastawą

 

Tak jak w przypadku timerów, jeżeli PV licznika zostanie zmieniona na rejestr (np. R, D, itp.), to licznik przyjmie wartość w rejestrze jako PV. Jedyne co użytkownik musi zrobić, aby zmienić wartość PV licznika podczas pracy PLC, to zmienić wartość w rejestrze. Poniżej przedstawiono przykład 32-bitowego licznika wykorzystującego rejestr danych R0 jako wartość PV (w istocie jest to 32-bitowa wartość PV tworzona przez R1 i R0)

 

 

image.png

 

 

image.png

 

Uwaga:

Jeżeli wartość zadana licznika jest równa 0 oraz stan na wejściu „CLR” = 0, to stan zmiennej Cn i wyjścia CUP zmieni się na 1 niezwłocznie po zakończeniu pierwszego skanu przez PLC, ponieważ warunek równości bądź większości wartości bieżącej w stosunku do zadanej, będzie spełniony. Stan 1 pozostanie niezmieniony, niezależnie od zmian wartości CV do momentu, aż stan na wejściu „CLR” zmieni się na 1.

SET D P SET (Ustaw zmienną dyskretną lub wszystkie bity rejestru na 1) SET D P

Symbol

 

image.png

 

 Opis

 

 

●    Jeżeli wejście sterujące „EN" =1 lub zmieni się z 0 → 1 ( instrukcja P), funkcja ustawi zmienną dyskretną (przykład 1) lub wszystkie bity rejestru (przykłady 2 i 3) na 1.

 

 Przykład 1 Ustawienie pojedynczej zmiennej dyskretnej

image.png

 

 

image.png

 

 Przykład 2  Ustaw 16-bitowy rejestr

image.png

 

image.png

 

 Przykład 3 Ustaw 32-bitowy rejestr

 

image.png

 

image.png

 

RST D P

RESET

(Resetuj zmienną dyskretną lub wszystkie bity rejestru)
RST D P

Symbol

 

image.png

 

 Opis

 

 

●    Jeżeli wejście sterujące „EN" =1 lub zmieni się z 0 → 1 (instrukcja P), funkcja zresetuje zmienną dyskretną (przykład 1) lub wszystkie bity rejestru (przykłady 2 i 3) na stan 0.

 

 Przykład 1 Resetowanie pojedynczej zmiennej dyskretnej

 

 Przykład 1 Patrz przykład nr 1, zastosowania funkcji SET

 

 

 

 Przykład 2 Resetuj 16-bitowy rejestr

image.png

 

 

 

image.png

 

 Przykład 3 Resetuj 32-bitowy rejestr

 

image.png

 

image.png


FUN 0 MC

POCZĄTEK PĘTLI KONTROLI MASTER

[MASTER CONTROL LOOP START]

FUN 0 MC

Symbol

image.png

 

 Opis

 

●            Istnieje 128 pętli MC (N=0~127). Każdej funkcji Master Control Start, MC N, musi odpowiadać funkcja Master Control End, MCE N, posiadająca ten sam numerem pętli co MC N. Funkcje te muszą być stosowane zawsze w parach i MCE N musi występować zawsze po MC N.

●            Jeżeli wejście funkcji Master Control Start „EN” = 1, to funkcja MC N nie zostanie wykonana, tak jakby w ogóle nie istniała w programie.

●            Jeżeli wejście funkcji Master Control Start „EN” = 0, to pętla sterowania Master jest aktywna. Obszar pomiędzy MC N i MCE N nazywa się aktywnym obszarem pętli sterowania Master. Wszystkie stany cewek wyjściowych lub timerów, znajdujących się wewnątrz aktywnej pętli sterowania Master, zostaną wyzerowane. Pozostałe funkcje, znajdujące się wewnątrz tej pętli, nie zostaną wykonane.

 Przykład

 

image.png

image.png

 

 

image.png

 Uwaga 1:

 Funkcje MC/MCE mogą być użyte jako zagnieżdżone lub przeplatane, tak jak pokazano po prawej.

 Uwaga 2:

•Jeżeli M1918=0, a stan wejścia master zmieni się z 0→1, i jeżeli w pętli sterowania master istnieją funkcje reagujące na zbocza, to funkcje te mają szansę być wykonane tylko jeden raz (kiedy pierwszy raz stan wejścia sterującego master zmieni się z 0→1). Po tym, niezależnie od tego ile razy stan wejścia sterującego master zmieni się z 0→1, funkcje reagujące na zbocza nie będą wykonywane ponownie
•Jeżeli M1918=1, a stan wejścia master zmieni się z 0→1, i jeżeli w pętli sterowania master istnieją funkcje reagujące na zbocza, to za każdym razem, gdy stan pętli sterowania master zmieni się z 0→1, funkcje reagujące na zbocza w pętli sterowania master będą realizowane przez cały czas, gdy tylko spełnione zostaną odpowiednie warunki ich wywołania

•Jeżeli w pętli sterowania master znajdują się funkcje liczników, ustawienie M1918 na 0 pozwoli na uniknięcie błędów zliczania

•W przypadku, gdy funkcje reagujące na zbocza, muszą działać w chwili zmian wejścia sterującego pętli master z 0→1, stan markera M1918 powinien być ustawiony na 1

FUN 1 MCE

KONIEC PĘTLI KONTROLI MASTER

[MASTER CONTROL LOOP END]

FUN 1 MCE

Symbol

image.png

 

 Opis

 

●           Każda funkcja MCE N musi odpowiadać danej funkcji Master Control Start. Muszą być one stosowane w parach i użytkownik powinien zawsze upewnić się, że instrukcja MCE N wprowadzona jest po instrukcji MC N. Po wykonaniu funkcji MC N, stany wszystkich cewek wyjściowych i timerów zostaną wyzerowane i żadne inne funkcje nie będą wykonywane. Realizacja programu będzie kontynuowana, po napotkaniu funkcji MCE o takim samym numerze N co MC N.

 

●           Funkcja MCE nie wymaga wejścia sterującego, ponieważ sama funkcja tworzy linię programu, z którą inne funkcje nie mogą się połączyć. Po wykonaniu funkcji MC, sterowanie master zostanie zakończone po osiągnięciu przez program funkcji MCE. W przypadku, gdy funkcja MC N nie była wykonana, to funkcja MCE nie robi niczego.

 

 Opis

●           Patrz przykład i opis funkcji MC.

 

FUN 2 SKP

POMIŃ - START

[SKIP START]

FUN 2 SKP

Symbol

image.png

 

Opis 

 

 

●           Istnieje 128 pętli SKP (N=0~127). Każdej funkcji pomiń start, SKP N, musi odpowiadać funkcja pomiń koniec, SKPE N, o tym samym numerze pętli N. Muszą być one stosowane w parach i użytkownik powinien zawsze upewnić się, że funkcja SKPE N występuje po funkcji SKP N.

 

●           Jeżeli „EN” = 0, to funkcja pomiń nie zostanie zrealizowana.

 

●           Jeżeli „EN” = 1, to zakres programu pomiędzy SKP N i SKPE N, nazywany też aktywnym obszarem pominięcia, zostanie pominięty, czyli wszystkie funkcje wewnątrz tego obszaru nie zostaną wykonane. W związku z tym, stany sygnałów dyskretnych i rejestrów w tym obszarze będą utrzymane.

 

Przykład 

 

 

image.png

 

 

image.png


FUN 3 SKPE

POMIŃ - KONIEC

[SKIP END]

FUN 3 SKPE

Symbol

image.png

 

 Opis

 

●           Każda funkcja SKPE N musi odpowiadać danej funkcji SKP N. Muszą być one stosowane w parach i użytkownik powinien zawsze upewnić się, że funkcja SKPE N występuje po funkcji SKP N.

 

●          Funkcja SKPE nie wymaga wejścia sterującego, ponieważ sama funkcja tworzy linię, z którą inne funkcje nie mogą się połączyć. Po wykonaniu funkcji SKP N, operacja pominięcia zostaje wykonana do momentu, gdy program napotka funkcję SKPE N. W przypadku, gdy funkcja SKP N nie była wykonana, to funkcja SKPE nie robi niczego.

 

 Przykład

 

Patrz przykład i opis funkcji SKP N.

 

Uwaga : Funkcje SKP/SKPE mogą być wykorzystane jako zagnieżdżone lub przeplatane. Zasady kodowania są identyczne jak w przypadku funkcji MC/MCE. Patrz rozdział opisujący funkcje MC/MCE.

FUN 4 DIFU

STAN NARASTAJĄCY [DIFFERENTIAL UP]

FUN 4 DIFU

Symbol

image.png

 

Opis

 

●           Funkcja DIFU wykorzystywana jest do wykrycia narastającego zbocza w węźle (wejściu sterującym „TGU"). Sygnał impulsowy, wywołany narastającą zmianą stanu wejścia „TGU", na czas jednego skanu programu, zapisywany jest w zmiennej dyskretnej wskazanej w D.

 

●           Funkcjonalność tej instrukcji można także osiągnąć przy użyciu styku TU.

 

Przykład

 

image.png

 

 

image.png

FUN 5 P DIFD

STAN OPADAJĄCY [DIFFERENTIAL DOWN]

FUN 5 P DIFD

Symbol

image.png

 

Opis

●           Funkcja DIFD wykorzystywana jest do wykrycia opadającego zbocza w węźle (wejściu sterującym „TGD"). Sygnał impulsowy, wywołany opadającą zmianą stanu wejścia „TGD", na czas jednego skanu programu, zapisywany jest w zmiennej dyskretnej wskazanej w D.

●           Funkcjonalność tej instrukcji można także osiągnąć za pomocą styku TD.

 Przykład Wyniki działania dwóch poniższych przykładów są identyczne

 

image.png

 

image.png


FUN 6 D P BSHF

BIT SHIFT

(Przesuwa dane rejestru 16- lub 32-bitowego w lewo lub w prawo o jeden bit)

FUN 6 D P BSHF

Symbol

 

image.png

 Opis

 

 

●           Jeżeli wejście „CLR” = 1, to dane rejestru D i wyjście OTB zostaną wyzerowane. Pozostałe sygnały wejściowe będą aktywne.

 

●           Jeżeli „CLR” = 0, to operacja przesunięcia jest możliwa. Jeżeli wejście sterujące „EN" = 1 lub zmieni się z 0 →1 ( instrukcja P), to dane w rejestrze zostaną przesunięte w prawo (L/R=0) lub w lewo (L/R=1) o jeden bit. Bit przesunięty na zewnątrz (MSB przy przesunięciu w lewo i LSB przy przesunięciu w prawo) będzie wyprowadzony na stan wyjścia OTB. Wolne miejsce po przesuniętym bicie (LSB przy przesunięciu w lewo i MSB przy przesunięciu w prawo) zostanie wypełnione stanem na wejściu „INB”.

 

Przykład Przesunięcie danych w 16-bitowym rejestrze

image.png

 

image.png


FUN 7 D P UDCTR

UP/DOWN COUNTER

(16- lub 32-bitowy, 2-kierunkowy licznik zliczający w górę i w dół)

FUN 7 D P UDCTR

Symbol

image.png

 Opis

●           Jeżeli wejście „CLR” = 1, to wartość bieżąca (CV) licznika zostanie wyzerowana, a licznik nie będzie mógł zliczać.

●           Jeżeli wejście „CLR” = 0, to zliczanie będzie możliwe. Cechą funkcji jest wykonywanie przy stanie narastającym (instrukcja P). Dlatego też, jeżeli stan na wejściu „PLS” zmieni się z 0→1 (zbocze narastające), to wartość CV zostanie zwiększona o 1 (jeżeli wejście U/D=1) lub zmniejszona o 1 (jeżeli wejście U/D=0).

●           Jeżeli CV=PV, to stan wyjścia CUP („doliczono”) zmieni się na 1. W przypadku większej ilości sygnałów na wejściu zliczającym, licznik będzie kontynuował zliczanie, co będzie skutkował tym, że CV≠PV. Spowoduje to, że stan wyjścia CUP zmieni się na 0. Oznacza to, że stan wyjścia „doliczono” będzie równy 1, tylko wtedy, gdy CV=PV. W innym przypadku będzie równy 0 (należy zwrócić uwagę na różnicę działania wyjściu CUP w tej funkcji i w zwyczajnym liczniku).

●           Górna granica wartości przy zliczaniu w górę to 32767 (dla wartości 16-bitowej) lub 2147483647 (dla wartości 32-bitowej). Jeżeli zostanie osiągnięta górna granica, to w przypadku odbioru kolejnego sygnału zliczania w górę, wartość zliczania zmieni się na –32768 lub -2147483648 (dolna granica zliczania w dół).

●           Dolna granica wartości przy zliczaniu w dół wynosi -32768 (dla wartości 16-bitowej) lub -2147483648 (dla wartości 32-bitowej). Jeżeli zostanie osiągnięta dolna granica, to w przypadku odbioru kolejnego sygnału zliczania w dół, wartość zliczania zmieni się na 32767 lub 2147483647 (górna granica zliczania w górę).           

●           Jeżeli wejście U/D będzie na sztywno ustawione na stan 1, to funkcja stanie się jednokierunkowym licznikiem zliczającym w górę. Jeżeli wejście U/D będzie na sztywno ustawione na stan 0, to funkcja stanie się jednokierunkowym  licznikiem zliczającym w dół.

 

image.png

 

 

image.png

 

 

Uwaga 1: Ponieważ operacja zliczania licznika UDCTR jest zaimplementowana jako skanowanie softwarowe, w przypadku gdy częstotliwość impulsów zliczanych jest większa od częstotliwości wykonywania skanów , może dochodzić do gubienia impulsów (generalnie, częstotliwość zliczanych impulsów nie powinna przekroczyć 20Hz, w zależności od wielkości programu). W takich przypadkach należy stosować szybkie liczniki sprzętowe.

Uwaga 2: Aby zapewnić prawidłowe zliczanie, czas występowania stanu wejścia zliczanego powinien być dłuższy niż 1 skan programu.

FUN 8 D P MOV

MOVE (Przeniesienie danych z S do D)

FUN 8 D P MOV

Symbol

image.png

 

 Opis

 

●           Przenieś (zapisz) wartość z S, do rejestru określonego przez D, gdy „EN" =1 lub zmieni się z 0 na 1 ( instrukcja P).

 

 

 Przykład

 

image.png

 

 

image.png


FUN 9 D P MOV/

MOVE INVERSE (Negacja bitów S i przeniesienie wyniku do D)

FUN 9 D P MOV/

Symbol

image.png

 

 Opis

 

 

●           Zaneguj bity S (zmień stany z 0 na 1 i z 1 na 0) i przenieś wyniki do rejestru określonego przez D, jeżeli „EN" =1 lub zmieni się z 0 na1 ( instrukcja P).

 

 Przykład Przeniesienie zanegowanych danych 16-bitowego rejestru do innego 16-bitowego rejestru

image.png

 

 

image.png


FUN 10 TOGG

TOGGLE SWITCH

(Zmienia stan wyjścia na przeciwny, przy narastającym zboczu na wejściu sterującym)
FUN 10 TOGG

Symbol

image.pngimage.png

 Opis

 

●          Zmienna dyskretna D, zmienia swój stan na przeciwny (z 1 na 0 i z 0 na 1), przy każdej zmianie stanu na wejściu „TGU" z 0 na 1 (zboczu narastającym).

 

 Przykład

 

image.png

 

 

image.png

 

FUN 11 D P (+)

DODAWANIE

[ADDITION]

(Sumuje dane określone w Sa i Sb, i zapisuje wynik w D)

FUN 11 D P (+)

Symbol

image.png

 

 Opis

 

 Funkcja sumuje dane określone w Sa i Sb i zapisuje wynik w rejestrze określonym przez D, w momencie gdy „EN" =1 lub zmieni się z 0 na 1 ( instrukcja P). Jeżeli wynik sumowania jest równy 0, wyjście D=0 ustawiane jest na 1. Jeżeli wystąpi operacja przeniesienia (wynik przekroczy 32767 lub 2147483647), wyjście CY ustawione zostaje na 1. Jeżeli wystąpi operacja pożyczania (dodawanie ujemnych wartości i suma mniejsza od -32768 lub -2147483648), wyjście BR ustawione zostaje na 1. Stany wszystkich wyjść funkcji są zachowane do momentu, aż funkcja zostanie ponownie wykonana i pojawi się nowy wynik.

 

Przykład Dodawanie 16-bitowe

image.png

 

 

image.png


FUN 12 D P (-)

ODEJMOWANIE

[SUBTRACTION]

(Odejmuje dane określone w Sa i Sb, i zapisuje wynik w D)

FUN 12 D P (-)

Symbol

image.png

 

 Opis

 

●          Funkcja odejmuje dane określone w Sa i Sb i zapisuje wynik w rejestrze określonym przez D, w momencie, gdy „EN" =1 lub zmieni się z 0 na 1 ( instrukcja P). Jeżeli wynikiem różnicy jest 0, wyjście D=0 ustawiane jest na 1. Jeżeli wystąpi operacja przeniesienia (odejmowanie ujemnej wartości od dodatniej i wynik przekroczy 32767 lub 2147483647), wyjście CY ustawiane jest na 1. Jeżeli wystąpi operacja pożyczania (odejmowanie dodatniego numeru od ujemnego i różnica mniejsza od -32768 lub -2147483648), wyjście BR ustawiane jest na 1. Stany wszystkich wyjść funkcji są zachowane do momentu, aż funkcja ta zostanie ponownie wykoana i pojawi się nowy wynik.

 

 Przykład Dodawanie 16-bitowe

 

image.png

 

 

image.png


FUN 13 D P (*)

MNOŻENIE

[MULTIPLICATION]

(Mnoży dane określone w Sa i Sb, i zapisuje wynik w D)

FUN 13 D P (*)

Symbol

image.png

 

 Opis

 

 

●           Funkcja mnoży dane określone w Sa i Sb, i zapisuje wynik w rejestrze określonym przez D, w momencie, gdy „EN" =1 lub zmieni się z 0 na 1 ( instrukcja P ). Jeżeli wynikiem mnożenia jest 0, wyjscie D=0 ustawiane jest na 1. Jeżeli wynikiem jest wartość ujemna, wyjście D<0 ustawiane jest na 1.

 Przykład 1 Mnożenie 16-bitowe

 

image.png

 

 

image.png

 

 Przykład 2 Mnożenie 32-bitowe

 

image.png

 

 

image.png


FUN 14 D P (/)

Dzielenie

[DIVISION]

(Dzieli dane określone w Sa i Sb, i zapisuje wynik w D)

FUN 14 D P (/)

Symbol

image.png

 

 Opis

 

●          Funkcja dzieli dane określone w Sa i Sb, i zapisuje wynik ilorazu całkowitego oraz resztę z dzielenia w rejestrach określonych w D, w momencie, gdy „EN" =1 lub zmieni się z 0 na 1 ( instrukcja P). Jeżeli wynikiem ilorazu jest 0, wyjście D=0 ustawiane jest na 1. Jeżeli dzielnik Sb=0, to wyjście ERR zostanie ustawione na 1 a funkcja nie zostanie wykonana.

 Przykład 1 Dzielenie 16-bitowe

image.png

 

image.png

 Przykład 2 Dzielenie 32-bitowe

 

image.png

 

 

 image.png