Skip to main content

7

FUN 22 P BREAK PĘTLA BREAK FROM FOR iNEXT(BREAK) FUN22 P BREAK

image.png

 

●         Jeżeli „EN”=1 lub zmieni się z 0→1(instrukcja P), nastąpi zakończenie pętli programu FOR iNEXT

●         Program w pętli FOR-NEXT jest wykonywany N-krotnie (wartość N określana jest argumentem instrukcji FOR). W razie potrzeby zakończenia pętli w cyklu wcześniejszym niż N-ty, należy zastosować instrukcję BREAK

●         Instrukcja BREAK musi znajdować się wewnątrz pętli FOR-NEXT

 

image.png

 

Opis:

Operacja zliczania pętli wykorzystywana do realizowania pętli programu FOR-NEXT wyznaczana jest przez rejestr D10. Program w pętli FOR-NEXT, przeznaczony jest do wyszukiwania identycznych danych zapisanych w D100, jak dane w tabeli rejestrów rozpoczynającej się od R0. W przypadku znalezienia takich danych, pętla wyszukiwania zostanie zakończona, a wykonywanie programu będzie kontynuowane za instrukcją NEXT. Jeżeli dane nie zostaną znalezione, pętla zostanie zrealizowana N-krotnie (wartość N zapisana jest w D10) i dopiero wówczas, wykonywanie programu będzie kontynuowane za instrukcją NEXT

FUN 23 P DIV48 DZIELENIE 48-BITOWE FUN 23 P DIV48

image.png

 

 Opis

l  Jeżeli “EN”=1 lub zmieni się z 0→1 (instrukcja P), to nastąpi 48-bitowa operacja dzielenia. Dzielna i dzielnik tworzone są przez trzy kolejne rejestry, poczynając odpowiednio od Sa i Sb. Jeżeli wynikiem będzie zero, to wyjście 'D=0' zostanie ustawione na 1. Jeżeli dzielnik będzie zerem, to 'ERR' zostanie ustawiony na 1, a wynikowy rejestr pozostanie niezmieniony.

l  Wszystkie argumenty związane z tą funkcją są 48-bitowe, dlatego też Sa, Sb i D składają się z 3 kolejnych rejestrów. 

Przykład: dzielenie 48-bitowe

 

 W przykładzie tym, dzielna tworzona przez rejestry R2, R1, R0 zostanie podzielona przez dzielnik tworzony przez rejestry R5, R4, R3. Iloraz zostanie zapisany w rejestrze R8, R7 i R6

 

image.png

 

 

 

image.png


FUN 24 DP SUM

SUM  (Sumowanie danych )

FUN 24 DP SUM

image.png

 

 Opis

 

l Jeżeli “EN”=1 lub zmieni się z 0→1 (instrukcja P), to nastąpi dodanie kolejnych N jednostek rejestrów 16-bitowych lub 32-bitowych (instrukcja P) i zapisanie wyników w rejestrze opisanym literą D.

l Jeżeli wartość N jest równa 0 lub jest większa od 511, to operacja nie zostanie przeprowadzona.

l Port komunikacyjny 1~4 może być wykorzystywany jako interfejs komunikacyjny ASCII ogólnego zastosowania. Jeżeli metodą wykrywania błędów danych jest suma kontrolna, to instrukcja ta może być wykorzystana do wygenerowania sumy dla wysyłanych danych lub do sprawdzenia, czy otrzymane dane są błędne.

 

 Przykład 1 Kiedy M1 zmieni stan zWYŁ→WŁ, instrukcja wykona obliczenie sumydanych 16-bitowych

 

image.png

 

 Przykład 2 Kiedy M1 jest w stanieWŁ, następuje sumowanie danych 32-bitowych.

 

 

image.png


FUN 25 DP MEAN

ŚREDNIA (Obliczenie średniej)

FUN 25 DP MEAN

image.png

 Opis


 

l Jeżeli “EN”=1 lub zmieni się z 0→1 (instrukcja P), to nastąpi dodanie kolejnych N wartości numerycznych 16-bitowych lub 32-bitowych (instrukcja P) rozpoczynających się od S i podzielenie ich przez wartość N. Następnie, wartość średnia (zaokrąglona) zostanie zapisana w rejestrze opisanym literą D.

l Jeżeli wartosć N nie mieści się w zakresie od 2 do 256, stan błędu zakresu N "ERR" zostanie ustawiony na 1. W takim przypadku funkcja nie zostanie zrealizowana.

 

image.png


FUN 26 DP SQRT Pierwiastek kwadratowy FUN 26 DP SQRT

image.png

 

 

l Jeżeli “EN”=1 lub zmieni się z 0→1 (instrukcja P), to nastąpi obliczenie pierwiastka kwadratowego(z zaokrągleniem) z danych wymienionych w polu oznaczonym S i zapisanie wyniku w rejestrze D.

l Ponieważ wartość S pochodzi z zawartości rejestru, to jeżeli będzie ona ujemna, stan błędu zakresu S "ERR" zostanie ustawiony na 1. W takim przypadku operacja nie zostanie zrealizowana.

 

image.png


FUN 27 DP NEG

NEGACJA (obliczenie wartości ujemnej)

FUN 27 DP NEG

image.png

 

 Opis

l  Jeżeli “EN”=1 lub zmieni się z 0→1 (instrukcja P), to nastąpi zanegowanie (tzn. zostanie obliczona negacja z uzupełnieniem do dwóch) wartości w rejestrze oznaczonym literą D i ponowne zapisanie wyniku w tym rejestrze.

l  Jeżeli wartość rejestru D będzie ujemna, to operacja negacji sprawi, że wartość ta stanie się dodatnia.

 

 

image.png


FUN 28 DP ABS

WARTOŚĆ BEZWZGLĘDNA

(obliczenie wartości bezwzględnej)

FUN 28 DP ABS

image.png

 

 Opis

l  Jeżeli “EN”=1 lub zmieni się z 0→1 (instrukcja P), to nastąpi obliczenie wartości bezwzględnej zwartości rejestru oznaczonego literą D i ponowne zapisanie wyniku w tym rejestrze.

image.png


FUN 29 DP EXT ROZSZERZENIE ZNAKOWE FUN 29 DP EXT

image.png

 

 Opis

l  Jeżeli “EN”=1 lub zmieni się z 0→1 (instrukcja P), to instrukcja ta zrealizuje rozszerzenie znakowe wartości 16-bitowej oznaczonej literą D do wartości 32-bitowej i zapisze nową wartość w rejestrze 32-bitowym składającym się z dwóch kolejnych słów, D + 1 i D.

l  Instrukcja ta rozszerza wartość numeryczną rejestru 16-bitowego do odpowiedniej wartości numerycznej rejestru 32-bitowego (na przykład przekształca 33FFH na 000033FFH). Instrukcja wykorzystywana jest głównie w operacjach numerycznych (+,-,*,/,CMP......), w których można przyjąć 16 i 32-bitowe wartości numeryczne jako argumenty. Przed rozpoczęciem operacji, wszystkie argumenty powinny zostać ustawione na taką samą długość.

 

image.png


FUN 30 PID

OPERACJA PID OGÓLNEGO ZASTOSOWANIA

(Krótki opis)

FUN 30 PID

image.png

Opis

 

l  Funkcja PID (FUN 30) przeprowadza obliczenia oparte na wzorze PID na podstawie aktualnej wartości zmiennej procesowej (PV) wyznaczonej z zewnętrznego sygnału analogowego oraz nastaw (SP) procesu. Wynikiem obliczeń jest wyjściowy sygnał sterujący dla sterowanego procesu, który może zostać podany bezpośrednio do modułu analogowego lub innego interfejsu wyjściowego lub też pozostawiony do realizacji kolejnego procesu. Prawidłowe wykorzystanie sterowania PID w procesie umożliwia otrzymanie szybkiego i dokładnego wyniku PV podążającego za zmianą SP oraz uodparnia proces na zakłócenia.

l  Wzór PID w formie cyfrowej:

Mn =       [(D4005/Pb) x En] +   + Bias

Mn          : Wyjście sterujące w czasie ”n”

D4005  : Stała wzmocnienia; wartością domyślną jest 1000. Można ją ustawić w zakresie 1~5000.

Pb           : Pasmo proporcjonalne ( zakres : 2~5000, jednostka 0.1%. Kc (wzmocnienie) =1000/ Pb )

Ti            : Całkująca stała czasowa ( zakres : 0~9999 odpowiada 0.00~99.99 powtórzeniom/minutę )

Td           : Różniczkująca stała czasowa ( zakres : 0~9999 odpowiada 0.00~99.99 minutom )

PVn           : Wartość procesowa w czasie ”n”

PVn-1      : Wartość procesowa w czasie ”n-1”

En              :Błąd w czasie ”n” =nastawa ( SP) -wartość procesowa w czasie ”n” (PVn)

Ts               : Przedział czasowy obliczeń PID ( zakres: 1~3000, jednostka : 0.01 s )

Bias        : Offset wyjścia sterującego ( zakres: 0~16380 )

FUN 31 P CRC16

OBLICZANIE CRC16(CRC16)

FUN 31 P CRC16

image.png

 Opis

 

 

●          Jeżeli “EN”=1 lub zmieni się z 0→1 (instrukcja P), to instrukcja rozpocznie obliczanie CRC16 od młodszego bajtuS przez długość N. Wynik obliczeń zostanie zapisany w rejestrze D i D+1.

●          Wskaźnik wyjściowy "D=0" będzie włączony jeżeli wynik obliczeń będzie równy 0.

●          W przypadku nieprawidłowej długości, instrukcja nie przeprowadzi obliczeń i włączy się błąd na wyjściu "ERR".

●          Przy komunikacji z inteligentnym urządzeniem peryferyjnym w binarnym formacie danych, bardzo często wykorzystywana jest funkcja CRC16. Metoda ta wykorzystywana jest przez dobrze znany protokół komunikacyjny Modbus RTU.

●          CRC16 jest wartością kontrolną przesyłanej ramki danych.

●          Po przeprowadzeniu obliczeń CRC16 na podstawie danych otrzymanych w komunikacie oraz wartości kontrolnej, wynik musi wynosić 0. Oznacza to brak błędu w tej ramce wiadomości.

 

 

image.png


FUN 32 ADCNV

KONWERSJA WARTOŚCI WEJŚCIA ANALOGOWEGO 4~20MA(ADCNV)

FUN 32 ADCNV

image.png

 

 Opis

 

 

●          Jeżeli jednym z wejść analogowych jest 2~10mA/ 4~20mA/1~5V/2~10V, to sposobem do uzyskania odpowiedniej wartości dla tego sygnału jest analogowy moduł wejściowy. Zakres wejściowy modułu wynosi0~10mA/0~5V (Ustawienie przy 5V, polaryzacja unipolarna) lub 0~20mA/0~10V(Ustawienie przy 10V, polaryzacja unipolarna). W takim przypadku wystąpi przesunięcie wartości odczytu. Instrukcja ta stosowana jest w celu eliminacji przesunięcia i konwersji wartości odczytu na wartość w zakresie 0~4095(12-bitów) lub 0~16383(14-bitów).

●      Jeżeli "EN"=1, nastąpi konwersja rozpoczynająca się od S, na długości N. Wynik zostanie zapisany w rejestrze D.

●          Jeżeli "F/T"=0, wybrana zostanie 12-bitowa rozdzielczość analogowego modułuwejściowego. Jeżeli "F/T"=1, nastąpi przypisanie 14-bitowej rozdzielczości.

●          Instrukcja ta nie będzie działać w przypadku nieprawidłowej wartości N. 

●          Wartość odczytu na wejściu analogowym musi być w formacie -2048~2047 lub -8192~8191, aby konwersja była zgodna. W innym wypadku, jeżeli wartość odczytu będzie w formacie 0~4095 lub 0~16383, konwersja będzie niezgodna.

 

Przykład 

image.png

Opis: Przy włączonym M0 i wyłączonym M1, przeprowadzona zostanie 6-punktowa konwersja rozpoczynająca się od R3840, podczas której wyeliminowane zostanie przesunięcie wartości odczytu 4~20mA, a odpowiednia wartość 0~4095 zostanie zapisana w R500~R505.

image.png

 

Przy włączonych M0 i M1, przeprowadzona zostanie 6-punktowa konwersja rozpoczynająca się od R3840, podczas której wyeliminowane zostanie przesunięcie wartości odczytu 4~20mA, a odpowiednia wartość 0~16383 zostanie zapisana w R500~R505. 

image.png

 

FUN 33 P LCNV

Konwersja liniowa(LCNV)

FUN 33 P LCNV

image.png

 

 

●          W przypadku, gdy do pomiaru analogowego wykorzystywany jest analogowy moduł wejściowy, wartość odczytana na wejściu analogowym może być przy użyciu tej instrukcji przekonwertowana na zakres jednostek inżynierskich, w celu ich wyświetlenia lub przeprowadzenia operacji sterowania.

●          W przypadku kalibracji pomiarowej można zastosować konwersję liniową zmiennej, dzięki czemu zmierzona wartość z PLC może być skorygowana wartością z urządzenia pomiarowego.

●          Jeżeli „EN"=1 lub zmieni się z 0→1( instrukcja P), instrukcja przeprowadzi operację konwersji liniowej zgodną z wybranym trybem, gdzie S jest początkowym adresem danych źródłowych, Ts jest początkowym adresem tabeli parametrów konwersji, D jest początkowym adresem do zapisywania przekonwertowanych wyników, a L jest liczbą kolejno konwertowanych adresów źródłowych.

●          Istnieją dwa sposoby określania konwersji liniowej:

 

 Sposób 1: Metoda kalibracji dwupunktowej

 

 Wypełnij tabelę parametrów do konwersji wpisując dolną wartość pomiarową (VML), górną wartość pomiarową (VMH) oraz odpowiadające im wartości standardowe – dolną (VSL) i górną (VSH). Wynik po konwersji (Dn) wygenerowany zostanie z danych źródłowych (Sn) za pomocą poniższego równania:

 

image.png


Sposób 2: Mnożnik + metoda przesunięcia

Wypełnij tabelę parametrów do konwersji wpisując wartości mnożnika(A), dzielnika(B) i przesunięcia(C). Wynik po konwersji (Dn) wygenerowany zostanie z danych źródłowych (Sn) za pomocą poniższego równania:

 

                                                   image.png image.png

 

Opis trybu roboczego:

 

  1. Kiedy Md = 0, konwersja liniowa przeprowadzana jest sposobem 1 określania konwersji, a wszystkie dane źródłowe charakteryzują się tymi samymi parametrami do konwersji VML, VMH, VSL i VSH.

  2.  Kiedy Md = 1, konwersja liniowa przeprowadzana jest sposobem 1 określania konwersji, a dane źródłowe charakteryzują się niezależnymi parametrami do konwersji VML, VMH, VSL, VSH. W przypadku N danych źródłowych, tabela parametrów konwersji powinna zawierać N grup parametrów VML, VMH, VSL, VSH ,tj. N×4 rejestrów.

  3.  Kiedy Md = 2, konwersja liniowa przeprowadzana jest sposobem 2 określania konwersji, a wszystkie dane źródłowe charakteryzują się tymi samymi parametrami do konwersji A, B i C.

  4.  Kiedy Md = 3, konwersja liniowa przeprowadzana jest sposobem 2 określania konwersji, a dane źródłowe charakteryzują się niezależnymi parametrami do konwersji A, B, C. W przypadku N danych źródłowych, tabela parametrów do konwersji powinna zawierać N grup parametrów A, B, C, tj. N×3 rejestrów.

 

Przykład programu 1 : Konwersja liniowa w trybie 0

 

image.png

 

Opis:  

Kiedy M0=1, konwersja liniowa zostanie zrealizowana w trybie 0, gdzie R100 jest początkowym adresem danych źródłowych, R1000 jest początkowym adresem tabeli parametrów konwersji VML, VMH, VSL, VSH, liczba kolejno konwertowanych wartości wynosi 6, a przekonwertowane wyniki zapisywane będą w R2000~R2005

 

 

image.png

Przykład programu 2 : Konwersja liniowa w trybie 1

image.png

 

Opis: 

Kiedy M0=1, konwersja liniowa zostanie zrealizowana w trybie 1, gdzie R100 jest początkowym adresem danych źródłowych, R1000 jest początkowym adresem tabeli parametrów konwersji VML, VMH, VSL, VSH, liczba kolejno konwertowanych wartości wynosi 3, a przekonwertowane wyniki zapisywane będą w R2000~R2002.

 

image.png

 

Przykład programu 3 : Konwersja liniowa w trybie 2

image.png

 

Opis:

Kiedy M0=1, konwersja liniowa zostanie zrealizowana w trybie 2, gdzie R100 jest początkowym adresem danych źródłowych, R1000 jest początkowym adresem tabeli parametrów konwersji A, B, C, liczba kolejno konwertowanych wartości wynosi 6, a przekonwertowane wyniki zapisywane będą w R2000~R2005.

 

image.png

 

Przykład programu 4: Konwersja liniowa w trybie 3

image.png

Opis:

Kiedy M0=1, konwersja liniowa zostanie zrealizowana w trybie 3, gdzie R100 jest początkowym adresem danych źródłowych, R1000 jest początkowym adresem tabeli parametrów konwersji A, B, C, liczba kolejno konwertowanych wartości wynosi 4, a przekonwertowane wyniki zapisywane będą w R2000~R2003

image.png

 

FUN 34 P MLC

Multi-liniowa konwersja(MLC)

FUN 34 P MLC


image.png

 

 

●          W przypadku, gdy do pomiaru analogowego wykorzystywany jest analogowy moduł wejściowy, wartość odczytana na wejściu analogowym może być przy użyciu tej instrukcji przekonwertowana na zakres jednostek inżynierskich, w celu ich wyświetlenia lub przeprowadzenia operacji sterowania.

●          W przypadku kalibracji pomiarowej można zastosować multi-liniową konwersję zmiennej, dzięki czemu zmierzona wartość z PLC może być skorygowana wartością z urządzenia pomiarowego.

●          Jeżeli „EN"=1 lub zmieni się z 0→1 (instrukcja P), instrukcja przeprowadzi operację multi-liniowej konwersji, w sposób zależny od stanu wejścia X / Y, gdzie Rs jest początkowym adresem danych źródłowych, SI jest liczbą kolejno konwertowanych adresów źródłowych, Tx jest początkowym adresem tabeli wartości na osi rzędnych X, Ty jest początkowym adresem tabeli wartości na osi odciętych Y, TI określa rozmiar tabela X / Y, a D jest początkowym adresem do zapisywania wyników konwersji.

●          Jeżeli podczas wykonywania instrukcji stan wejścia X / Y = 0, nastąpi porównanie danych źródłowych z wpisami w tabeli Tx w celu odnalezienia odpowiedniej lokalizacji w tej tabeli (wpisy  w tabeli Tx muszą być uszeregowane od najmniejszej do największej), a następnie zostanie przeprowadzona konwersja liniowa zgodna ze zlokalizowaną częścią tabel Tx i Ty.
Jeżeli podczas wykonywania instrukcji stan wejścia X / Y = 1, nastąpi porównanie danych źródłowych z wpisami w tabeli Ty w celu odnalezienia odpowiedniej lokalizacji w tej tabeli (wpisy w tabeli Ty muszą być uszeregowane od najmniejszej do największej, lub odwrotnie), a następnie zostanie przeprowadzona konwersja liniowa zgodna ze zlokalizowaną części tabel Ty i Tx.    

●          W przypadku, gdy wartości danych źródłowych nie zawierają się w zakresie wartości wpisów w tabeli Tx (gdy X / Y = 0) lub Ty (gdy X / Y = 1), wyjście OVR=1.

●          W przypadku nieprawidłowej wartości SI lub TI, instrukcja nie zostanie zrealizowana.

 Wyrażenie:

Aby konwersja liniowa przebiegła prawidłowo, wpisy w tabeli wartości X (Tx) muszą być uporządkowane w kolejności od najmniejszej do największej (gdy X / Y = 0); wpisy w tabeli konwertowanych wartości Y (Ty) mogą być natomiast uporządkowane w kolejności od najmniejszej do największej lub odwrotnie (gdy X / Y = 1). Przy wykonaniu tej instrukcji, nastąpi wyszukanie odpowiedniego fragmentu, poprzez porównanie wpisów tabeli z danymi źródłowymi, a następnie przeprowadzona zostanie konwersja liniowa według następującego równania:

 

Vy = (Vx-Tx_n) × (Ty_n+1-Ty_n/Tx_n+1-Tx_n) + Ty_n jeżeli X/Y=0

Vx = (Vy-Ty_n) × (Tx_n+1-Tx_n/Ty_n+1-Ty_n) + Tx_n jeżeli X/Y=1

 

Schemat multi-liniowy konwersji:

 

image.png

 

Przykład 1:

image.png

 

opis:

 Kiedy M10=1 i M11=0, a R0 jest początkowym adresem danych do przekonwertowania, R99 jest liczbą kolejnych danych źródłowych do przekonwertowania, R1000 jest początkowym adresem tabeli wartości X (Tx), R2000 jest początkowym adresem tabeli wartości Y (Ty), R199 jest rozmiarem tabel Tx/Ty, dane źródłowe R0~R5 będą poddane konwersji liniowej według tabel Tx i Ty, a wyniki zostaną zapisane w D0~D5.

 

 

image.png

 

 

image.png

 

 Przykład 2

 

image.png

 

 opis:

 

 Kiedy M10=1 i M11=0, a R0 jest początkowym adresem danych do przekonwertowania, R99 jest liczbą kolejnych danych źródłowych do przekonwertowania, R1000 jest początkowym adresem tabeli wartości X (Tx), R2000 jest początkowym adresem tabeli wartości Y (Ty), R199 jest rozmiarem tabel Tx/Ty, dane źródłowe R0~R5 będą poddane konwersji liniowej według tabeli Tx i Ty, a wyniki zostaną zapisane w D0~D5. Jeżeli dane źródłowe ≦ 2000, wartość wynikowa wynosi 280; jeżeli dane źródłowe ≧ 8000, wartość wynikowa wynosi 970

 

 

image.png

 

 

image.png

 

Przykład 3 

image.png

 

Opis:

Kiedy M10=1 i M11=0, a R0 jest początkowym adresem danych do przekonwertowania, R99 jest liczbą kolejnych danych źródłowych do przekonwertowania, R1000 jest początkowym adresem tabeli wartości X (Tx), R2000 jest początkowym adresem tabeli wartości Y (Ty), R199 jest rozmiarem tabel Tx/Ty, dane źródłowe R0~R5 będą poddane konwersji liniowej według tabeli Tx i Ty, a wyniki zostaną zapisane w D0~D5. Jeżeli dane źródłowe ≦ -8000, wartość wynikowa wynosi -100; jeżeli dane źródłowe ≧ 8000, wartość wynikowa wynosi 2000

 

image.png

 

 

 

image.png

 

 opis:

Kiedy M10=1 i M11=0, a R0 jest początkowym adresem danych do przekonwertowania, R99 jest liczbą kolejnych danych źródłowych do przekonwertowania, R1000 jest początkowym adresem tabeli wartości X (Tx), R2000 jest początkowym adresem tabeli wartości Y (Ty), R199 jest rozmiarem tabel Tx/Ty, dane źródłowe R0~R5 będą poddane konwersji liniowej według tabeli Tx i Ty, a wyniki zostaną zapisane w D0~D5. Jeżeli dane źródłowe ≦ 3276, wartość wynikowa wynosi 0; jeżeli dane źródłowe ≧ 16000, wartość wynikowa wynosi 5000

 

 

image.png

FUN 35 D P XOR XOR FUN 35 D P XOR

image.png

 

 

l   Jeżeli „EN" = 1 lub zmieni się z 0 na 1 (instrukcja P), nastąpi realizacja operacji logicznej XOR na danych Sa i Sb. Zadaniem  tej operacji jest porównanie odpowiednich bitów Sa i Sb (B0~B15 lub B0~B31)  i jeżeli bity na tych samych pozycjach mają różne stany, wtedy bit na tej pozycji w rejestrze wyniku D ustawiany jest w stan 1, w przeciwnym wypadku w stan 0.

l  Po zakończeniu operacji, jeżeli wszystkie bity w rejestrze D będą miały stan 0, znacznik „D = 0” zostanie ustawiony w stan 1.

 

image.png


FUN 36 XNR XNOR FUN 36 XNR

image.png

 

 

l   Jeżeli „EN" = 1 lub zmieni się z 0 na 1 (instrukcja P), nastąpi realizacja operacji logicznej XNR na danych Sa i Sb. Zadaniem tej operacji jest porównanie odpowiednich bitów Sa i Sb (B0~B15 lub B0~B31) i jeżeli bity na tych samych pozycjach mają te same stany, wtedy bit na tej pozycji w rejestrze wyniku D ustawiany jest w stan 1, w przeciwnym wypadku w stan 0.

●       Po zakończeniu operacji, jeżeli wszystkie bity w rejestrze D będą miały stan  0, znacznik „D = 0”  zostanie ustawiony w stan 1.

 

image.png

 

FUN 37 D P ZNCMP

Komparator strefy (ZONE COMPARE)

FUN 37 D P ZNCMP

image.png

 

 

l   Jeżeli „EN" = 1 lub zmieni się z 0 na 1 (instrukcja P), nastąpi porównanie wartości S z górną wartością graniczną SU i dolną wartością graniczną SL. W przypadku, gdy wartość S będzie mieścić się pomiędzy górną i dolną wartością graniczną(SL ≦ S ≦ SU), wówczas znacznik „wewnątrz strefy” „INZ” zostanie ustawiony na 1. Jeżeli wartość S będzie wyższa niż górna wartość graniczna SU, znacznik przekroczenia górnej wartości granicznej „S > U” zostanie ustawiony na 1. Jeżeli wartość S będzie niższa niż dolna wartość graniczna SL, znacznik przekroczenia dolnej wartości granicznej „S < L” zostanie ustawiony na 1

l   Górna wartość graniczna SU powinna być większa niż dolna wartość graniczna SL. Jeżeli SU < SL, znacznik błędu wartości granicznej „ERR” zostanie ustawiony na 1, a instrukcja nie zostanie wykonana.

image.png

 

FUN 40 D P BITRD

ODCZYTAJ BIT (BIT READ)

FUN 40 D P BITRD

image.png

 

 

l   Jeżeli wejście sterujące „EN" = 1 lub zmieni się z 0 na 1 (instrukcja P), nastąpi odczytanie stanu N-tego bitu z rejestru danych S i przypisanie go stanowi wyjścia OTB.

l   Jeżeli wejście sterujące „EN" = 0, stan wyjścia OTB może: zachowywać stan poprzedniego wywołania ( jeżeli M1919=0 ) lub być ustawiane w stan niski ( jeżeli M1919=1 ).

l   Jeżeli argument jest 16-bitowy, prawidłowym zakresem dla N jest 0~15. Dla argumentu 32-bitowego (instrukcja D), prawidłowym zakresem dla N jest 0~31. Jeżeli N znajdzie się poza zakresem, to znacznik błędu wartości N („ERR”) zostanie ustawiony na 1, a instrukcja nie zostanie wykonana.

 

image.png

 

FUN 41 D P BITWR

ZAPISZ BIT (BIT WRITE)

FUN 41 D P BITWR

image.png

 

 

l  Jeżeli wejście sterujące „EN" = 1 lub zmieni się z 0 na 1 (instrukcja P), nastąpi ustawienie N-tego bitu w rejestrze D na stan bitu wejściowego (INB).

l  Jeżeli argument jest 16-bitowy, prawidłowym zakresem dla N jest 0~15. Dla argumentu 32-bitowego (instrukcja D), prawidłowym zakresem dla N jest 0~31. Jeżeli N znajdzie się poza zakresem, to znacznik błędu wartości N („ERR”) zostanie ustawiony na 1, a instrukcja nie zostanie wykonana.

 

image.png


FUN 42 D P BITMV

PRZENIEŚ BIT (BIT MOVE)

FUN 42 D P BITMV


image.png


 

l Jeżeli wejście sterujące „EN" = 1 lub zmieni się z 0 na 1 (instrukcja P), nastąpi przeniesienie stanu Ns-tego bitu z rejestru S na stan Nd-tego bitu w rejestrze D.

l Jeżeli argument jest 16-bitowy, prawidłowym zakresem dla N jest 0~15. Dla argumentu 32-bitowego (instrukcja D

image.png

), prawidłowym zakresem dla N jest 0~31. Jeżeli N znajdzie się poza zakresem, to znacznik błędu wartości N ( „ERR”) zostanie ustawiony na 1, a instrukcja nie zostanie wykonana.

FUN 43 D P NBMV

PRZENIEŚ PÓŁBAJT (NIBBLE MOVE)

FUN 43 D P NBMV

image.png

 

 

l Jeżeli wejście sterujące „EN" = 1 lub zmieni się z 0 na 1 (instrukcja P), nastąpi przeniesienie Ns-tego półbajtu z rejestru S na Nd-ty półbajt w rejestrze D. (Półbajt skalda się z 4 bitów. Rozpoczynając od najniższego bitu w rejestrze B0, każde kolejne 4 bity tworzą półbajt, czyli B0~B3 tworzą półbajt 0, B4~B7 tworzą półbajt 1, itd.)

l Jeżeli argument jest 16-bitowy, prawidłowym zakresem dla Ns i Nd jest 0~3. Dla argumentu 32-bitowego (instrukcja D), prawidłowym zakresem dla Ns i Nd jest 0~7. Jeżeli N znajdzie się poza zakresem, to znacznik błędu wartości N („ERR”) zostanie ustawiony na 1, a instrukcja nie zostanie wykonana.

 

 

 

image.png


FUN 44 D P BYMV

PRZENIEŚ BAJT (BYTE MOVE)

FUN 44 D P BYMV

image.png

 

 

l Jeżeli wejście sterujące „EN" = 1 lub zmieni się z 0 na 1 (instrukcja P), nastąpi przeniesienie Ns-tego bajtu z rejestru S na Nd-ty bajt w rejestrze D. (Bajt skalda się z 8 bitów. Rozpoczynając od najniższego bitu w rejestrze B0, każde kolejne 8 bitów tworzy bajt, czyli bity B0~B7 tworzą bajt 0, B8~B15 tworzą bajt 1, itd.)

l Jeżeli argument jest 16-bitowy, prawidłowym zakresem dla Ns i Nd jest 0~1. Dla argumentu 32-bitowego (instrukcja D), prawidłowym zakresem dla Ns i Nd jest 0~3. Jeżeli N znajdzie się poza zakresem, to znacznik błędu wartości N („ERR”) zostanie ustawiony na 1, a instrukcja nie zostanie wykonana.

 

 

image.png


FUN 45 D P XCHG

ZAMIEŃ (EXCHANGE)

FUN 45 D P XCHG

image.png


l Jeżeli wejście sterujące „EN" = 1 lub zmieni się z 0 na 1 (instrukcja P), nastąpi zamiana wartości rejestru Da z wartością rejestru Db w formacie 16 lub 32-bitowym (instrukcja D).