strona 3-1 Podręcznik podstawowych instrukcji programowych
3 Instrukcje matematyczne
Niniejszy rozdział zawiera informacje dotyczące podstawowych instrukcji matematycznych, oraz wyjaśnienia w jaki sposób funkcjonują one w konkretnej aplikacji.
Dla każdej z instrukcji matematycznych podane zostały:
stosowane symbole instrukcji
sposób wykorzystania instrukcji
Dodatkowo, ostatnia część niniejszego rozdziału, zawiera przykład zastosowań podanych instrukcji matematycznych w sterowaniu maszyny do nawiercania warstw papieru.
Instrukcje matematyczne
obejmuje także cześć strony 3-2 (od SCL)
Instrukcja |
Funkcjonowanie |
Strona |
Symbol Nazwa |
|
|
ADD Dodawanie |
Dodaje zawartość źródła A do zawartości źródła B |
3-6 |
SUB Odejmowanie |
Odejmuje zawartość źródła A od zawartości źródła B |
3-6 |
MUL Mnożenie |
Mnoży zawartość źródła A przez zawartość źródła B |
3-10 |
DIV Dzielenie |
Dzieli zawartość źródła A przez zawartość źródła B |
3-11 |
DDV Dzielenie liczby 32 bit |
Dzieli zawartość rejestru matematycznego przez zawartość źródła i przechowuje wynik w miejscu przeznaczenia oraz w rejestrze matematycznym |
3-12 |
CLR Zerowanie |
Ustawia wszystkie bity w słowie na 0 |
3-13 |
SQR Pierwiastek kwadratowy |
Oblicza pierwiastek kwadratowy z zawartości źródła |
3-13 |
SCP Skalowanie z |
Wyznacza odpowiednio skalowane wyjście, które umożliwia liniową zależność wejścia ze skalowanym wyjściem |
3-14 |
SCL Skalowanie danych |
Przemnaża zawartość źródła przez określoną wielkość, dodaje do drugiej wielkości i przechowuje wynik w miejscu przeznaczenia |
3-17 |
ABS Wartość bezwzględna |
Oblicza wartość bezwzględną z zawartości źródła i przekazuje ja do miejsca przeznaczenia |
3-24 |
CPT Przeliczenie |
Wykonuje obliczenia według formuły i przechowuje wynik w miejscu przeznaczenia |
3-25 |
SWP Zamiana |
Zamienia najwyższy i najniższy bajt w określonej liczbie słów w pliku bitowym, liczb całkowitych, ASCII lub pliku ciągu znaków |
3-27 |
ASN Arcus sinus |
Oblicza wartość arcus sinus z liczby i przechowuje wynik (w radianach) w miejscu przeznaczenia |
3-28 |
ACS Arcus cosinus |
Oblicza wartość arcus cosinus z liczby i przechowuje wynik (w radianach) w miejscu przeznaczenia |
3-28 |
ACS Arcus tangens |
Oblicza wartość arcus tangens z liczby |
3-29 |
COS Cosinus |
Oblicza wartość cosinus z liczby i przechowuje ją w miejscu przeznaczenia |
3-29 |
LN Logarytm naturalny |
Oblicza wartość logarytmu naturalnego z zawartości źródła i przechowuje ją w miejscu przeznaczenia |
3-30 |
LOG Logarytm dziesiętny |
Oblicza wartość logarytmu dziesiętnego z zawartości źródła i przechowuje ją w miejscu przeznaczenia |
3-30 |
SIN Sinus |
Oblicza wartość sinus z liczby i przechowuje wynik w miejscu przeznaczenia |
3-31 |
TAN Tangens |
Oblicza wartość tangens z liczby i przechowuje wynik w miejscu przeznaczenia |
3-31 |
XPY Funkcja potęgowa |
Podnosi wartość do potęgi i przechowuje wynik w miejscu przeznaczenia |
3-32 |
strona 3-3 Podręcznik podstawowych instrukcji programowych
Uwagi na temat instrukcji matematycznych
Większość instrukcji pobiera dwie wartości wejściowe, wykonuje określone funkcje obliczeniowe i wyprowadza wynik do określonego miejsca pamięci.
Przykładowo, zarówno instrukcja ADD jak i SUB pobierają do dwie wartości wejściowe, dodają je lub odejmują a następnie umieszczają wynik w miejscu przeznaczenia Jeżeli wartość ta przekracza wartość dopuszczalną, nastawiany jest bit przeładowania (nadmiaru) dodatniego lub ujemnego.
W celu lepszego zrozumienia funkcjonowania instrukcji matematycznych zaleca się zapoznanie z Ogólną Charakterystyką Instrukcji którą przedstawia następny rozdział
Charakterystyka Instrukcji Matematycznych
Charakterystyka odnosi się do wszystkich instrukcji.
Parametry wprowadzane
Źródłem jest adres/adresy wartości na których wykonywane są operacje matematyczne, logiczne i operacje przesunięć. Źródło może być adresem słowa lub stałych programowych. W instrukcji która wykorzystuje argumenty z dwu źródeł nie mogą występować jako argumenty dwie wartości stałe jednocześnie.
Miejsce przeznaczenia jest adresem pod który kierowany jest wynik operacji. Liczby stałe ze znakiem są przechowywane w kodzie uzupełnień do 2 (dotyczy to zarówno parametrów źródła jak i miejsca przeznaczenia.
Gdy wykorzystywany będzie procesor SLC 5/03 (OS301 lub wyższy), SLC 5/04, lub SLC 5/05 dopuszczalne jest stosowanie wartości zmiennoprzecinkowych i łańcuchowych (określonych tak na poziomie słowa).Dodatkowe dane na temat sposobów adresowania znajdują się w Aneksie E.
Wykorzystanie adresów indeksowanych
Parametry instrukcji mogą posiadać adresy indeksowane słów (za wyjątkiem procesorów Fixed i SLC 5/01). Szczegóły adresowania indeksowego omówiono w Aneksie F.
strona 3-4 Podręcznik podstawowych instrukcji programowych
Wykorzystanie adresowania pośredniego
Do adresowania na poziomie słów i bitów wykorzystywać można także adresowanie pośrednie w instrukcjach które używają adresów słów i w przypadkach, gdy instrukcje te stosowane są w procesorach SLC 5/03
(OS 302),SLC 5/04 (OS 401),lub SLC 5/05.Szczegóły tego typu adresowania znajdują się w Aneksie C.
Aktualizacja bitów statusowych arytmetycznych
Arytmetyczne bity statusowe znajdują się w Słowie 0, bity 0-3 w pliku statusowym sterownika. Po zrealizowaniu instrukcji, arytmetyczne bity statusowe w pliku statusowym są aktualizowane:
Na tym bicie: |
Sterownik wykonuje: |
S:0/0 Bit przenoszenia (C) |
ustawienia gdy bit ten jest generowany, w innym przypadku zerowanie |
S:0/1 Bit przeładowania (V) |
wskazuje ze wynik obliczeń nie jest dostosowany do założonego miejsca przeznaczenia |
S:0/2 Bit zera (Z) |
wskazuje wartość zerową po realizacji instrukcji przeliczenia, przemieszczenia lub sprawdzania logicznego |
S:0/3 Bit znaku (S) |
Wskazuje wartość ujemną (tj. mniejszą od 0) po realizacji instrukcji przeliczenia, przemieszczenia lub sprawdzania logicznego |
Bit (pułapki) przeładowania S:5/0
Bit błędu drugorzędnego (S:5/0) ustawiany jest po stwierdzeniu przeładowania lub operacji dzielenia przez zero. Jeżeli ten bit został ustawiony jako skutek działania instrukcji END lub TND (instrukcja tymczasowego zakończenia) lub instrukcji REF (instrukcja odświeżania wejść/wyjść) nadawany jest kod 0020 jak dla błędu zasadniczego.
W przypadku gdy występuje przeładowanie lub dzielenie przez zero, można uniknąć błędu procesora przez zastosowanie w konkretnej aplikacji instrukcji OTU zaadresowanej na S:5/0.Obwód musi wówczas znajdować się w stanie pomiędzy punktem przeładowania i stanami wynikającymi z instrukcji END, TND, lub REF.
strona 3-5 Podręcznik podstawowych instrukcji programowych
Zmiany w rejestrach matematycznych S:13 i S:14
Słowo statusowe S:13 zawiera najmniej znaczące słowo 32-bitowej wartości instrukcji MUL i DDV. Zawiera ono resztę z dzielenia instrukcji DIV i DDV. Zawiera też pierwsze cztery cyfry w kodzie BCD które konwertowane będą z kodu BCD do instrukcji FRD, lub z kodu BCD do instrukcji TOD.
Słowo statusowe S:14 zawiera najbardziej znaczące słowo 32-bitowej wartości instrukcji MUL i DDV. Zawiera ono nie zaokrąglony iloraz instrukcji DIV i DDV. Zawiera ono również najbardziej znaczącą cyfrę (cyfra 5) instrukcji TOD i FRD.
Zastosowanie pliku liczb zmiennoprzecinkowych (F8:)
Ten typ pliku jest wykorzystywany w przypadku zastosowania procesorów SLC 5/03 (OS301 lub wyższego), SLC 5/04 i SLC 5/05.Element ten składa się z 2 słów i jest adresowalny tylko na poziomie elementu.
Przydzielanie adresu dla liczb zmiennoprzecinkowych odbywa się następująco:
Format |
Opis oznaczenia |
||
Ff:e |
F |
Plik zmiennoprzecinkowy |
|
|
f |
Numer pliku. Liczba 8 jest wartością domyślną dla numeru pliku. Jeżeli potrzebna jest dodatkowa przestrzeń adresowa dla numeru pliku można przyjąć wartości od 9 do 255 |
|
|
: |
Separator elementu |
|
|
e |
Numer elementu |
Przyjmuje wartości od 0 do 255. Odpowiada on 2 słowom. Nie może przekroczyć liczby 32 bitowej |
Przykłady:
F10:36 Element 36, plik zmiennoprzecinkowy 10 ( plik 10 przyjęty został jako
|
strona 3-6 Podręcznik podstawowych instrukcji programowych
Instrukcja dodawania (ADD)
Ma zastosowanie do ML 1000,Sterowników Fixed,
SLC 5/01,5/02,5/03/5/04,5/05
Instrukcja wyjścia
Instrukcje dodawania (ADD) stosowana jest w celu dodania wartości jednego źródła (A) do wartości drugiego źródła (B) i umieszczania wyniku w miejscu przeznaczenia.
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
Bit przeniesienia (C) |
ustawienie jeżeli przeniesienie ma miejsce, jeżeli nie to następuje zerowanie. Liczby zmiennoprzecinkowe są zerowane. |
Bit przeładowania (V) |
ustawienie jeżeli stwierdzone zostało przeładowanie w miejscu przeznaczenia, jeżeli nie to następuje zerowanie. Przy przeładowaniu ustawiany jest znacznik błędu drugorzędnego. Dla liczb zmiennoprzecinkowych wartość przeładowania jest umieszczana w miejscu przeznaczenia. Dla liczb całkowitych wartość w przedziale |
Bit zerowania (Z) |
ustawienia jeżeli wynik jest równy zeru, w innych przypadkach zerowanie |
Bit znakowania (S) |
ustawienia jeżeli wynik jest ujemny, w innych przypadkach zerowanie |
Instrukcja odejmowania (SUB)
Ma zastosowanie do ML 1000,Sterowników Fixed,
SLC 5/01,5/02,5/03/5/04,5/05
Instrukcja wyjścia
Instrukcje odejmowania (SUB) stosowana jest w celu odjęcia wartości jednego źródła (B) od wartości drugiego źródła (A) i umieszczania wyniku w miejscu przeznaczenia.
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
Bit przeniesienia (C) |
ustawienia jeżeli ma miejsce przeniesienie zanegowane (pożyczka), jeżeli nie to następuje zerowanie. Liczby zmiennoprzecinkowe są zerowane. |
Bit przeładowania (V) |
ustawienia jeżeli stwierdzone zostało przeładowanie ujemne w miejscu przeznaczenia, jeżeli nie to następuje zerowanie. Przy przeładowaniu ujemnym ustawiany jest znacznik błędu drugorzędnego. Dla liczb zmiennoprzecinkowych wartość przeładowana jest umieszczana w miejscu przeznaczenia. Dla liczb całkowitych wartość w przedziale -32.768 do +32.767 jest również umieszczana w miejscu przeznaczenia. |
Bit zerowania (Z) |
ustawienia jeżeli wynik jest równy zeru, w innych przypadkach zerowanie |
Bit znakowania (S) |
ustawienia jeżeli wynik jest ujemny, w innych przypadkach zerowanie |
strona 3-7 Podręcznik podstawowych instrukcji programowych
Dodawanie i odejmowanie liczb 32-bitowych
Ma zastosowanie do ML 1000,
SLC 5/02,5/03/5/04,5/05
W ramach instrukcji matematycznych istnieje opcja dodawania i odejmowania liczb 16-bitowych lub liczb całkowitych 32-bitowych ze znakiem. Opcja ta wspomagana jest przez bit statusowy S:2/14 (bit przeładowania matematycznego)
Bit przeładowania matematycznego S:2/14
Bit ten powinien być ustawiony gdy mamy zamiar wykonywać dodawanie i odejmowanie liczb 32-bitowych.Po ustawieniu bitu S:2/14 ,gdy niemożliwe jest umieszczenie wyniku instrukcji ADD, SUB, MUL, DIV lub NEG w miejscu przeznaczenia (ze względu na przeładowanie dodatnie lub ujemne) następuje:
ustawienie bitu przeładowania S:0/1
ustawienie bitu (pułapki) przeładowania S:5/0
pod adresem miejsca przeznaczenia znajdzie się ostatnie 16 najmniej znaczących bitów wyniku , okrojonego i bez znaku
Uwaga:
Dla instrukcji MUL, DIV, i innych instrukcji liczb całkowitych i zmiennoprzecinkowych z miejscem przeznaczenia dla liczb całkowitych, po ustawieniu bitu S:2/14 zmiana stanu następuje natychmiastowo.
Gdy bit S:2/14 jest zerowany (przy parametrach domyślnych), oraz gdy niemożliwe jest umieszczenie wyniku instrukcji ADD, SUB, MUL, DIV lub NEG w miejscu przeznaczenia (ze względu na przeładowanie dodatnie lub ujemne) następuje:
ustawienie bitu przeładowania S:0/1
ustawienie bitu (pułapki) przeładowania S:5/0
pod adresem miejsca przeznaczenia znajdzie się 32.767 dla wartości dodatnich wyniku lub -32.768 dla wartości ujemnych
Uwaga:
Dodatkowo, w przypadku instrukcji ADD, SUB, i NEG procesory SLC 5/03 i wyższe potwierdzają tylko status bitu S:2/14 na końcu skanu programu.
Należy zauważyć że status bitu S:2/14 nie ma wpływu na realizację instrukcji DDV. Nie ma on też wpływu na zawartość rejestrów matematycznych przy realizacji instrukcji MUL i DIV.
Uwaga:
Procesory SLC 5/03 i wyższe sprawdzają tylko status tego bitu zanim nie nastąpi przejście do trybu RUN i zakończenie skanu. Aby możliwa była jego identyfikacja przed przejściem do trybu RUN należy wykorzystać funkcje monitorowania (Data Monitor).
strona 3-8 Podręcznik podstawowych instrukcji programowych
Przykład dodawania liczb 32-bitowych
Poniższy przykład podaje jak liczba całkowita 16-bitowa ze znakiem dodawana jest do liczby 32-bitowej.Pamiętać przy tym należy że aby możliwe było dodawanie liczb 32-bitowych niezbędne jest ustawienie bitu S:2/14.
Pamiętać też należy że wartość najbardziej znaczących 16-bitów wchodzących w skład liczby 32-bitowej jest podnoszona o 1 gdy bit S:0/0 jest ustawiony, lub pomniejszana o 1, gdy liczba dodawana (B3:1) jest liczbą ujemną.
Dla uniknięcia zasadniczego błędu procesora na końcu skanu, należy odblokować bit (pułapki) przeładowania S:5/0 jak to pokazano poniżej.
strona 3-9 Podręcznik podstawowych instrukcji programowych
Dodawanie liczby 16-bitowej do liczby 32-bitowej B3:3, B3:2 |
||||
Dodawanie |
W systemie dwójkowym |
W systemie |
W systemie |
|
Składn.1 |
B3:3 B3:2 |
0000 0000 0000 0011 0001 1001 0100 0000 |
0003 1940 |
203.072 |
Suma |
B3:3 B3:2 |
0000 0000 0000 0011 0110 1110 1110 1000 |
0003 6EE8 |
225.000 |
Programator wyświetla tylko 16-bitowe liczby dziesiętne. Liczby te są 32-bitowymi liczbami całkowitymi
pochodzącymi z przetworzenia liczb w systemie dwójkowym lub szesnastkowym. Przykładowo liczba
0000 1940 w systemie szesnastkowym odpowiada 164 x3 + 163 x 1 + 162 x 9 + 161 x 4 + 160 x 0 = 203.072
tłumaczenie treści bloków na schemacie
ADD DODAJ Gdy obwód ma warunki dla
ADD "prawdy"w pojedynczym
Źródło A B3:1 skanie,B3:1 jest dodawane
0101010110101000 do B3:2.Wynik jest
przechowywany w B3:2
Źródło B B3:2
0001100101000000
M.Przeznaczenia B3:2
0001100101000000
ADD Dodaj Gdy następuje przesunięcie
ADD (ustawiony S:0/00)
Źródło A 1 jest dodawane do B3:3
Źródło B B3:3
000000000000011
M.Przeznaczenia B3:3
0000000000000011
SUB Odejmij Jeżeli B3:1 jest liczbą ujemną (ustawiony B3/31)
ADD 1 jest odejmowane od B3:3 Źródło A
000000000000011 Źródło B 1
M.Przeznaczenia B3:3
0000000000000011
Bit (pułapki)przeładowania
S:5/0 jest odblokowany w celu zapobieżenia pojawieniu
się błędu zasadniczego na zakończenie skanu
Uwaga praktyczna:
W powyższym obwodzie można stosować instrukcje DDV i instrukcję licznika w celu wyznaczenia średniej wartości B3:1.
strona 3-10 Podręcznik podstawowych instrukcji programowych
Instrukcja mnożenia (MUL)
Ma zastosowanie do ML 1000,Sterowników Fixed,
SLC 5/01,5/02,5/03/5/04,5/05
Instrukcja wyjścia
Instrukcje mnożenia (MUL) stosowana jest w celu przemnożenia wartości jednego źródła (A) przez wartość drugiego źródła (B) i umieszczania wyniku w miejscu przeznaczenia.
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
Bit przeniesienia (C) |
zawsze zerowanie |
Bit przeładowania (V) |
ustawienia jeżeli stwierdzone zostało przeładowanie w miejscu przeznaczenia, jeżeli nie to następuje zerowanie ,ustawiany jest też znacznik błędu drugorzędnego. Wartości liczb całkowitych w przedziale -32.768 do +32.767 są również umieszczane w miejscu przeznaczenia. |
Bit zerowania (Z) |
ustawienia jeżeli wynik jest równy zeru, w innych przypadkach zerowanie |
Bit znakowania (S) |
ustawienia jeżeli wynik jest ujemny, w innych przypadkach zerowanie |
Zmiany w rejestrach matematycznych S:13 i S:14
Liczby całkowite - Rejestry zawierają 32-bitowa liczbę całkowita która jest wynikiem operacji mnożenia. Dotyczy to również sytuacji gdy następuje przeładowanie.
Liczby zmiennoprzecinkowe - Rejestry matematyczne nie ulegają zmianie.
strona 3-11 Podręcznik podstawowych instrukcji programowych
Instrukcja dzielenia (DIV)
Ma zastosowanie do ML 1000,Sterowników Fixed,
SLC 5/01,5/02,5/03/5/04,5/05
Instrukcja wyjścia
Instrukcje dzielenia (DIV) stosowana jest w celu podzielenia wartości jednego źródła (A) przez wartość drugiego źródła (B).Zaokrąglony iloraz umieszczany jest w miejscu przeznaczenia. Jeżeli reszta wynosi 0,5 lub więcej w miejscu przeznaczenia następuje zaokrąglanie w górę. Iloraz nie zaokrąglony jest przechowywany w najbardziej znaczącym słowie rejestru matematycznego. Reszta jest przechowywana w najmniej znaczącym słowie tego rejestru.
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
Bit przeniesienia (C) |
zawsze zerowanie |
Bit przeładowania (V) |
ustawienia jeżeli stwierdzone zostało dzielenie przez zero lub przeładowanie w miejscu przeznaczenia, jeżeli nie to następuje zerowanie ,ustawiany jest też znacznik błędu drugorzędnego. Liczba +32.767 jest również umieszczana w miejscu przeznaczenia. |
Bit zerowania (Z) |
ustawienia jeżeli wynik jest równy zeru, brak zdefiniowania przy stwierdzeniu przeładowania |
Bit znakowania (S) |
ustawienia jeżeli wynik jest ujemny, w innych przypadkach zerowanie, brak zdefiniowania przy stwierdzeniu przeładowania |
Zmiany w rejestrach matematycznych S:13 i S:14
Liczby całkowite - Nie zaokrąglony iloraz przechowywany jest w najbardziej znaczącym słowie. Reszta przechowywana jest w najmniej znaczącym słowie
Liczby zmiennoprzecinkowe - Rejestry matematyczne nie ulegają zmianie.
Przykład:
Reszta z dzielenia 11/2 jest równa 0,5 więc iloraz jest zaokrąglany do 6 i przechowywany w miejscu przeznaczenia. Nie zaokrąglony iloraz który wynosi 5 przechowywany jest w słowie S:14, a reszta która wynosi 1, przechowywana jest w słowie S:13.
DIV
Źródło A N7:0 gdzie: N7:0 = 11
11 N7:1 = 2
Źródło B N7:1 N7:2 = 6
2 wynik:S:14 = 5
M.przeznacz.N7:2 wynik:S:14 = 5
6 S:13 = 1
strona 3-12 Podręcznik podstawowych instrukcji programowych
Instrukcja podwójnego dzielenia (DDV)
Ma zastosowanie do ML 1000,Sterowników Fixed,
SLC 5/01,5/02,5/03/5/04,5/05
Instrukcja wyjścia
Wartość 32-bitowego rejestru matematycznego dzielona jest przez wartość 16-bitowego źródła. Zaokrąglony iloraz umieszczany jest w miejscu przeznaczenia. Jeżeli reszta wynosi 0,5 lub więcej w miejscu przeznaczenia, następuje zaokrąglanie w górę.
Instrukcja ta zazwyczaj następuje po instrukcji MUL, w wyniku której otrzymuje się wynik 32-bitowy.
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
Bit przeniesienia (C) |
zawsze zerowanie |
Bit przeładowania (V) |
ustawienia jeżeli stwierdzone zostało dzielenie przez zero, lub wynik jest większy od 32.767 lub mniejszy od -32.768, jeżeli nie to następuje zerowanie. Przy przeładowaniu ustawiany jest też znacznik błędu drugorzędnego. Liczba +32.767 jest również umieszczana w miejscu przeznaczenia. |
Bit zerowania (Z) |
ustawienia jeżeli wynik jest równy zeru, w innych przypadkach zerowanie |
Bit znakowania (S) |
ustawienia jeżeli wynik jest ujemny, w innych przypadkach zerowanie, brak zdefiniowania przy stwierdzeniu przeładowania |
Zmiany w rejestrach matematycznych S:13 i S:14
Początkowo zawierają one dzielna operacji DDV. Po zrealizowaniu instrukcji nie zaokrąglony iloraz umieszczany jest w najbardziej znaczącym słowie rejestru matematycznego. Reszta umieszczana jest w najmniej znaczącym słowie rejestru matematycznego.
strona 3-13 Podręcznik podstawowych instrukcji programowych
Instrukcja zerowania (CLR)
Ma zastosowanie do ML 1000,Sterowników Fixed,
SLC 5/01,5/02,5/03/5/04,5/05
Instrukcja wyjścia
Instrukcji CLR używa się w celu ustawienia wartości w miejscu przeznaczenia na 0.
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
Bit przeniesienia (C) |
zawsze zerowanie |
Bit przeładowania (V) |
zawsze zerowanie |
Bit zerowania (Z) |
zawsze ustawienie |
Bit znakowania (S) |
zawsze zerowanie |
Instrukcja pierwiastka kwadratowego (SQR)
Ma zastosowanie do ML 1000 SLC 5/02,5/03/5/04,5/05
Instrukcja wyjścia
Gdy instrukcja ta osiąga stan odpowiadający "prawdzie", obliczany jest pierwiastek kwadratowy z wartości bezwzględnej znajdującej się w źródle, a zaokrąglony wynik umieszczany w miejscu przeznaczenia.
Instrukcja ta przelicza również pierwiastek kwadratowy z liczby ujemnej bez przeładowań lub sygnałów błędów.
W przypadkach w których wartość źródła może być liczba ujemną , użyć można instrukcji porównania po to aby dokonać oceny czy miejsce przeznaczenia może być nieodpowiednie.
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
Bit przeniesienia (C) |
Zachowuje liczbę całkowitą. Dla zmiennoprzecinkowej zawsze zerowanie |
Bit przeładowania (V) |
zawsze zerowanie |
Bit zerowania (Z) |
ustawienie gdy wartość w miejscu przeznaczenia jest zerem |
Bit znakowania (S) |
zawsze zerowanie |
strona 3-14 Podręcznik podstawowych instrukcji programowych
Skalowanie z parametrami (SCP)
Ma zastosowanie do SLC 5/03/,5/04,5/05
Instrukcja wyjścia
Instrukcji SCP używa się w celu uzyskania takiej wartości na wyjściu, która zapewnia liniową zależność pomiędzy wartością wejścia i wartościami skalowanymi. Instrukcja ta odnosi się zarówno do liczb całkowitych jak i zmiennoprzecinkowych. Można ja stosować przy wykorzystaniu procesorów SLC 5/03 (OS302),SLC 5/04 (OS401) i procesorów SLC 5/05.
Do przetwarzania danych analogowych na dane które można wyrazić w określonych jednostkach używa się następującej formuły:
y = mx + b
Gdzie:
y = wyjście
m = nachylenie (wyjście skalowane max - wyjście skalowane min)/(wejście max - wejście min)
x = wartość wejściowa
b = wyrównanie (rzędna y) = wyjście skalowane min -(wejście min. x nachylenie)
Uwaga:
Wejście min., wejście max., wyjście skalowane min. i wyjście skalowane max. są pojęciami używanymi do zdefiniowania nachylenia i wartości rzędnej. Wartość wejściowa może przyjąć wartości leżące poza przyjętym wstępnie zakresem i nie jest tu wymagane operowanie uporządkowanymi danymi. Przykładowo, skalowana wartość wyjścia nie musi znajdować się pomiędzy przyjętym min. i max. wartości skalowanych.
Parametry wprowadzane
Przy programowaniu stosuje się następujące pojęcia:
Wartość wejściowa może być adresem słowa lub adresem danych zmiennoprzecinkowych
Wartość min.wejścia i wartość max.wejścia sa to wartości określające zakres parametrów które mogą wystąpić jako dane wejściowe. Wartością może być adres słowa, stała liczba całkowita, liczba zmiennoprzecinkowa lub stała zmiennoprzecinkowa.
Wartość skalowana wyjścia min. i wartość skalowana wyjścia max są to wartości określające zakres parametrów które mogą wystąpić jako dane wejściowe. Wartością może być adres słowa, stała liczba całkowita, liczba zmiennoprzecinkowa lub stała zmiennoprzecinkowa.
Wyjście skalowane może być adresem słowa, lub liczba zmiennoprzecinkową.
strona 3-15 Podręcznik podstawowych instrukcji programowych
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
Bit przeniesienia (C) |
zawsze zerowanie |
Bit przeładowania (V) |
ustawienie gdy powstaje przeładowanie lub znaleziono samodzielne wejście |
Bit zerowania (Z) |
ustawienie gdy wartość w miejscu przeznaczenia jest zerem, w przeciwnym wypadku zerowanie |
Bit znakowania (S) |
ustawienie gdy wartość w miejscu przeznaczenia jest liczba ujemną , |
Przykłady zastosowań
Przykład 1
Przykład 1 dotyczy zastosowania kombinowanego modułu wejścia/wyjścia (1746-NIO4I) który znajduje się w
1 gnieździe (slot) kasety. Przetwornik ciśnienia podłączony jest do wejścia 0 i zachodzi potrzeba odczytu mierzonej wartości w jednostkach fizycznych. Zakres pomiarowy przetwornika wynosi 0 - 1000 psi
(1 psi=0,07 at) , przetwornik wysyła sygnał do modułu analogowego 0-10V.Zakres sygnału 0-10 V moduł analogowy przetwarza na zakres numeryczny 0- 32.767..Do skalowania tej wielkości używa się oprogramowania obwodu jednostkowego (rung) i otrzymuje wartość w granicach 0-1000 w N7:20 (nadal w oparciu o sygnał z przetwornika ciśnienia do modułu analogowego)
SCP
SKALOWANIE Z PARAMETRAMI
Wejście: I:1.0
0
Wejście min. 0
Wejście max. 32.767
Wyjście skalowane min. 0
Wyjście skalowane max.1000
Wyjście skalowane N7:20
0
strona 3-16 Podręcznik podstawowych instrukcji programowych
Przykład 2
Przykład 1 dotyczy zastosowania kombinowanego modułu wejścia/wyjścia (1746-NIO4I) który znajduje się w
1 gnieździe (slot) kasety. Mamy zamiar sterować zaworem regulacyjnym o charakterystyce liniowej który podłączony jest do wyjścia 0.Zawór reaguje na sygnał 4-20mV dla otwarcia w granicach 0-100%.(Zakładamy dodatkowo że zastosowane zostało oprogramowanie które przelicza wielkość otwarcia zaworu w procentach i otrzymane wartości wahaja się w przedziale 0-100 w N7:21). .Zakres sygnału 4-20mV moduł analogowy przetwarza na zakres numeryczny 6242- 31.208. Do skalowania tej wielkości używa się oprogramowania obwodu jednostkowego (rung) i otrzymuje wartość w granicach 0-100 w N7:21 (nadal w oparciu o sygnał do zaworu regulacyjnego, proporcjonalnego w granicach 4-20 mV).
SCP
SKALOWANIE Z PARAMETRAMI
Wejście: N7:21
0
Wejście min. 0
Wejście max. 100
Wyjście skalowane min. 6242
Wyjście skalowane max. 31.208
Wyjście skalowane O:1.0
0
strona 3-17 Podręcznik podstawowych instrukcji programowych
Instrukcja skalowania (SCL)
Ma zastosowanie do ML 1000 SLC 5/02,5/03/5/04,5/05
Instrukcja wyjścia
Gdy warunki dla niniejszej instrukcji odpowiadają stanowi "prawda" wartość znajdująca się w źródle mnożona jest przez określony współczynnik. Zaokrąglony wynik jest dodawany do wartości dopełnienia i przechowywany jest w miejscu przeznaczenia.
Przykład:
SCL
SKALOWANIE
Źródło N7:0 W tym przykładzie zawartość źródła 100 jest przemnażane 100 przez 25000 a następnie dzielona przez 10000,po czym do Współczynnik [1/10000] 25000 wyniku dodawane jest 127.Wynik końcowy 377 jest Wartość dopełnienia 127 przechowywany w miejscu przeznaczenia
Miejsce przeznaczenia N7:1
377
Uwaga:
Jeżeli kiedykolwiek w pliku miejsca przeznaczenia nastąpi przeładowanie dodatnie lub ujemne, pojawia się błąd drugorzędny w słowie statusowym S:5/0 który musi być skasowany przez program. Musi to nastąpić przed zakończeniem bieżącego skanu programu ,aby zapobiec pojawieniu się kodu 0020 błędu zasadniczego. Instrukcja ta umożliwia przeładowanie zanim dodana będzie wartość uzupełniająca.
Należy zwrócić uwagą na to że termin współczynnik jest czasem nazywany pochyleniem. Wartość tego współczynnika może wahać się w granicach -3.2768 do 3.2767 (-32768/1000 do 32767/10000)
Parametry wprowadzane
Wartości poniżej podanych parametrów znajdują się pomiędzy -32768 do 32767
Wartość źródła może być adresem słowa lub liczbą stałą
Współczynnik (lub nachylenie) jest wartością dodatnią lub ujemną dzielona następnie przez 10000.
Może być adresem słowa lub liczbą stałą
Wartość dopełniająca (offset) może być adresem słowa lub liczbą stałą.
strona 3-18 Podręcznik podstawowych instrukcji programowych
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
Bit przeniesienia (C) |
zostaje zachowany |
Bit przeładowania (V) |
zostaje ustawiony gdy stwierdzono przeładowanie, w innym przypadku zerowanie. Przy przeładowaniu ustawiony jest bit drugorzędnego błędu S:5/0 , a w miejscu przeznaczenia umieszczana jest liczba pomiędzy |
Bit zerowania (Z) |
ustawienie gdy wartość w miejscu przeznaczenia jest zerem |
Bit znakowania (S) |
ustawienie gdy wartość w miejscu przeznaczenia jest ujemną, w innym przypadku zerowanie |
Jeżeli wynik mnożenia zawartości źródła przez współczynnik (nachylenie),podzielony następnie przez 10000 jest większy niż 32767,instrukcja SLC umieszczając wynik w miejscu przeznaczenie, wykazywać będzie przeładowanie, wykazując przy tym błąd o kodzie 0020 (błąd drugorzędny).Działanie takie będzie miało miejsce niezależnie od aktualnej wartości dopełnienia.
1 Przykład Zastosowań - Przetwarzanie analogowego sygnału wejścia 4-20 mA parametrów
procesowych do modułu regulatora PID
tłumaczenia objaśnień do wykresu - od góry i w prawo
Wartość skalowana max.
Wartość skalowana (wyjścia)
Wartość skalowana min.
Wejście min. Wejście max.
Wartość wejścia
strona 3-19 Podręcznik podstawowych instrukcji programowych
Przeliczenia zależności liniowej
Dla przedstawienia liniowej zależności między wartością wejścia i skalowana wartością wyjścia wykorzystujemy równanie:
Wartość skalowana = (wartość wejścia x współczynnik (nachylenie)) + wartość dopełniająca
Współczynnik (nachylenie) =
(Wartość skalowana max - Wartość skalowana max) / (Wartość wejścia max. - Wartość wejścia min.)
(16.383 - 0) / (16.384 - 3277) = 1,249 (lub 12.490/10000)
Wartość dopełniająca = Wartość skalowana min. - (wartość wejścia x współczynnik (nachylenie))
0 - (3277 x 1,249) = - 4093
2 Przykład zastosowań - Skalowanie wartości wejścia analogowego do wartości wyjścia analogowego
tłumaczenia objaśnień do wykresu - od góry i w prawo
Wartość skalowana max.
Wartość skalowana (wyjścia)
Wartość skalowana min.
Wejście min. Wejście max.
Wartość wejścia
strona 3-20 Podręcznik podstawowych instrukcji programowych
Przeliczenia zależności liniowej
Do przeliczenia skalowanych jednostek użyjemy następującego równania:
Wartość skalowana = (wartość wejścia x współczynnik (nachylenie)) + wartość dopełniająca
Współczynnik (nachylenie) =
(Wartość skalowana max - Wartość skalowana max) / (Wartość wejścia max. - Wartość wejścia min.)
(32.764 - 0) / (16.384 - 3277) = 2,4997 (lub 24.997/10000)
Wartość dopełniająca = Wartość skalowana min. - (wartość wejścia x współczynnik (nachylenie))
0 - (3277 x 2,4997) = - 8192
Powyższe wartość dopełniająca i współczynnik (nachylenie) są poprawne z punktu widzenia instrukcji SCL. Jeżeli jednak wartość wejścia przekracza 13.107 następuje przeładowanie. Przykładowo:
17 mA = 13.926 x 2,4997 = 32.810 ( wartość powodująca przeładowanie)
34.810 -8192 = 26.618
Należy zauważyć że przeładowanie nastąpiło mimo że końcowy wynik nie powoduje przeładowania. Ma to miejsce dlatego że przeładowanie pojawia się w trakcie przeliczenia współczynnika (nachylenia).
W celu uniknięcia przeładowania, zaleca się zmianę ustawienia występującej tu zależności liniowej w stosunku do wartości wejściowych i zmniejszeniu tych wartości.
Poniższy wykres przedstawia taką zmienioną zależność liniową.
Wartość wejściowa min. równa 3.277 odejmowana jest od wartości wejściowej max. równej 16.384 co daje w wyniku wartość 13.107.
strona 3-21 Podręcznik podstawowych instrukcji programowych
tłumaczenia objaśnień do wykresu - od góry i w prawo
Wartość skalowana max.
Wartość skalowana (wyjścia)
Wartość skalowana min.
Wejście min. Wejście max.
Wartość wejścia
Przeliczenia zależności liniowej
Do przeliczenia skalowanych jednostek użyjemy następującego równania:
Wartość skalowana = (wartość wejścia x współczynnik (nachylenie)) + wartość dopełniająca
Współczynnik (nachylenie) =
(Wartość skalowana max - Wartość skalowana max) / (Wartość wejścia max. - Wartość wejścia min.)
(32.764 - 0) / (13.107 - 0) = 2,4997 (lub 24.997/10000)
Wartość dopełniająca = Wartość skalowana min. - (wartość wejścia x współczynnik (nachylenie))
0 - (0 x 2,4997) = 0
strona 3-22 Podręcznik podstawowych instrukcji programowych
W niniejszym przykładzie instrukcja SCL zastosowana została w programie drabinkowym następująco:
Zmiana zależności liniowej:
SUB
Odejmowanie Wejście analogowe
Źródło A I:1.0
Źródło B 3277
M.przeznacz. N7:0
Przeskalowanie zależności wartości analogowej
SCL
SKALOWANIE
Źródło N7:0
Współczynnik
(1/10000) 24997
W.dopełniająca 0
M.przeznacz. O:2.0 Wyjście analogowe
strona 3-23 Podręcznik podstawowych instrukcji programowych
3 Przykład zastosowań - przetwarzanie wejścia napięciowego na procenty (MicroLogix)
W niniejszym przykładzie następuje przetwarzanie sygnału wejścia analogowego ze sterownika
MicroLogix 1000 i skalowanie pierwotnych danych wejścia na zakres procentowy 0-100%.
Zakres zmian wejścia wynosi 0 do 10V co odpowiada zakresowi 0 do 31.207 impulsów licznika.
Zakres po przeskalowaniu 0 do 100%.
Wartość skalowana max.
Wartość skalowana (wyjścia)
w %
Wartość skalowana min.
Wejście min. Wejście max.
Wartość wejścia
Przeliczenia zależności liniowej
Do przeliczenia skalowanych jednostek użyjemy następującego równania:
Wartość skalowana = (wartość wejścia x współczynnik (nachylenie)) + wartość dopełniająca
Współczynnik (nachylenie) =
(Wartość skalowana max - Wartość skalowana max) / (Wartość wejścia max. - Wartość wejścia min.)
= (100 - 0) / (31.207 - 0)
= 0,00320 (lub 320/10000)
Wartość dopełniająca = Wartość skalowana min. - (wartość wejścia x współczynnik (nachylenie))
0 - (0 x 0,00320) = 0
strona 3-24 Podręcznik podstawowych instrukcji programowych
Wartość bezwzględna (ABS)
Ma zastosowanie do SLC 5/03/5/04,5/05
Instrukcja wyjscia
Instrukcja ABS używana jest do przeliczania wartości bezwzględnej zawartości źródła i przekazuje wynik do miejsca przeznaczenia. Instrukcja dotyczy zarówno liczb całkowitych jak i zmiennoprzecinkowych.
Jej zastosowanie ogranicza się do procesorów SLC 5/03 (OS302),SLC 5/04 (OS401),oraz SLC 5/05.
Wprowadzone pojęcia
Przy programowaniu zastosowano następujące pojęcia:
Wartością źródła może być adres słowa, stała liczba całkowita, dane zmiennoprzecinkowe lub stała liczba zmiennoprzecinkowa.
Miejsce przeznaczenia może być tylko adresem słowa, lub liczba zmiennoprzecinkową.
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
Bit przeniesienia (C) |
zawsze zerowanie |
Bit przeładowania (V) |
zawsze zerowanie gdy chodzi o liczbę zmiennoprzecinkową,ustawienie gdy wejście wynosi -32.768 (wartość stała) |
Bit zerowania (Z) |
ustawienie gdy wartość w miejscu przeznaczenia jest zerem, w przeciwnym wypadku zerowanie |
Bit znakowania (S) |
zawsze zerowanie |
strona 3-25 Podręcznik podstawowych instrukcji programowych
Przeliczenie (CPT)
Ma zastosowanie do SLC 5/03/5/04,5/05
Instrukcja wyjścia
Instrukcja CPT wykonuje działania tj. kopiowanie, działania arytmetyczne, logiczne i przetwarzania. Zdefiniowanie zamierzonej operacji następuje w module Wyrażenie a wynik przekazywany jest do miejsca przeznaczenia. Instrukcja CPT wykorzystuje do swego działania różne funkcje i jedną lub więcej wartości do następujących działań:
przetwarzanie jednego formatu liczby w drugi
manipulowanie liczbami
przeliczanie funkcji trygonometrycznych
Zastosowanie tej instrukcji ogranicza się do procesorów SLC 5/03 (OS302),SLC 5/04 (OS401),oraz SLC 5/05.
W ramach modułu Wyrażenie mogą być wykorzystywane następujące instrukcje:
+, - ,*, | ,(DIV), SQR, (NEG), NOT, XOR, OR, AND, TOD, FRD, LN, TAN, ABS, DEG, RAD, SIN, COS, ATN, ASN, ACS, LOG, oraz **(XPY).
Uwaga:
Czas wykonania instrukcji CPT jest dłuższy niż ten który jest niezbędny dla pojedynczych instrukcji matematycznych, a także używa ona więcej słów instrukcji.
Wprowadzone pojęcia
Wprowadzone pojęcia
Przy programowaniu tej instrukcji zastosowano następujące pojęcia:
Miejsce przeznaczenia może być adresem słowa, lub adresem liczby zmiennoprzecinkowej.
Wyrażeniem jest zero lub więcej linii, z 28 znakami w linii z maksymalną liczba znaków 255
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
Bit przeniesienia (C) |
zostaje ustawiony zgodnie z wynikiem ostatniej instrukcji w Wyrażeniu |
Bit przeładowania (V) |
zostaje ustawiony zawsze gdy występuje przeładowanie, w trakcie wykonywania instrukcji |
Bit zerowania (Z) |
zostaje ustawiony zgodnie z wynikiem ostatniej instrukcji w Wyrażeniu |
Bit znakowania (S) |
zostaje ustawiony zgodnie z wynikiem ostatniej instrukcji w Wyrażeniu |
Powyższe bity są zerowane na początku funkcjonowania instrukcji CPT. Specjalne sposoby postępowania przy definiowaniu bitów statusowych dla liczb zmiennoprzecinkowych określone są w S:34/2.
strona 3-26 Podręcznik podstawowych instrukcji programowych
Przykład zastosowania
Przykład dotyczy realizacji przeliczeń formuły wynikającej z twierdzenia Pitagorasa na długość przeciwprostokątnej, przy znanych przyprostokątnych. Zastosowano równanie:
c2 = a2 + b2
gdzie c =
a2 + b2
N10:0 =
(N7:1)2 + (N7:2)2
Obwód 2:0 wykorzystuje standardowe instrukcje matematyczne do wykonania obliczeń wg formuły Pitagorasa:
Obwód 2:0 wykorzystuje do tego samego celu instrukcję CPT
Obwód 2:0 XPY
X DO POTĘGI Y
Źródło A N7:1
3
Źródło B 2
Miejs.przeznacz. N7:3
0
XPY
X DO POTĘGI Y
Źródło A N7:2
4 Źródło B 2
Miejs.przeznacz. N7:4
0
ADD
Dodaj
Źródło A N7:3 0 Źródło B N7:4
0
Miejs.przeznacz. N7:5
0
SQR
PIERWIASTEK KW.
Źródło N7:5
0
Miejs.przeznacz. N7: 0
0
Obwód 2:1 CPT
PRZELICZENIE
Miejs.przeznacz. N10:0
Wyrażenie
SQR ( (N7:1 **2)+(N7:2**2))
Obwód 2:2
KONIEC
strona 3-27 Podręcznik podstawowych instrukcji programowych
Zamiana (SWP)
Ma zastosowanie do SLC 5/03/5/04,5/05
Instrukcja wyjscia
Niniejsza instrukcja służy do zamiany najniższego i najwyższego bajtu w określonej ilości słów w pliku bitowym,liczb całkowitych,ASCII lub pliku ciągu znaków. Jej zastosowanie ogranicza się do procesorów SLC 5/03 (OS302),SLC 5/04 (OS401),oraz SLC 5/05.
Wprowadzone pojęcia
Przy programowaniu zastosowano następujące pojęcia:
Wartością źródła może być tylko ineksowany adres słowa
Długość odnosi się do liczby słów w których następuje zamiana bajtów, niezależnie od rodzaju pliku.
Adres ograniczony jest do stałych liczb całkowitych. Dla plików bitowych, liczb całkowitych, ASCII długość może się wahać w przedziale 1 - 128.Dla pliku ciągu znaków długość waha się wgranicach 1 do 41.Należy zauważyć że niniejsza instrukcja może być stosowana tylko do pojedynczego łańcucha znaków i ni może wykroczyć poza jego granice.
Poniższy przykład ilustruje sposób funkcjonowania instrukcji SWP.
SWP
Zamiana
Źródło #ST10:1.1
Długość 13
Przed zamianą:
ST10:1 = abcdefghijklmnoprqstuvwxyz
Po zamianie:
ST10:1 = badcfehgjilknmporqtsvuxwzy
strona 3-28 Podręcznik podstawowych instrukcji programowych
Arcus Sinus (ASN)
Ma zastosowanie do SLC 5/03/5/04,5/05
Instrukcja wyjścia
Instrukcja ASN służy do wykonania obliczenia wartości arcus sinus z liczby (wartość źródła wyrażona w radianach) i umieszczenia wyniku (w radianach) w miejscu przeznaczenia. Wartość źródła musi być większa lub równa -1 i mniejsza lub równa +1.Wartość miejsca przeznaczenia jest zawsze wieksza lub równa -π/2 lub mniejsza lub równa π/2,gdzie π = 3,141592. Jej zastosowanie ogranicza się do procesorów SLC 5/03 (OS302),SLC 5/04 (OS401),oraz SLC 5/05.
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
Bit przeniesienia (C) |
zawsze zerowanie |
Bit przeładowania (V) |
ustawienie gdy powstaje przeładowanie lub znaleziono samodzielne wejście, w przeciwnym wypadku zerowanie |
Bit zerowania (Z) |
ustawienie gdy wynik jest zerem, w przeciwnym wypadku zerowanie |
Bit znakowania (S) |
ustawienie gdy wartość w miejscu przeznaczenia jest liczba ujemną , |
Arcus Cosinus (ASC)
Ma zastosowanie do SLC 5/03/5/04,5/05
Instrukcja wyjścia
Instrukcja ASN służy do wykonania obliczenia wartości arcus cosinus z liczby (wartość źródła wyrażona w radianach) i umieszczenia wyniku (w radianach) w miejscu przeznaczenia. Wartość źródła musi być większa lub równa -1 i mniejsza lub równa +1.Wartość miejsca przeznaczenia jest zawsze większa lub równa 0 lub mniejsza lub równa π,gdzie π = 3,141592. Jej zastosowanie ogranicza się do procesorów SLC 5/03 (OS302),SLC 5/04 (OS401),oraz SLC 5/05.
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
Bit przeniesienia (C) |
zawsze zerowanie |
Bit przeładowania (V) |
ustawienie gdy powstaje przeładowanie lub znaleziono samodzielne wejście, w przeciwnym wypadku zerowanie |
Bit zerowania (Z) |
ustawienie gdy wartość w miejscu przeznaczenia jest zerem, w przeciwnym wypadku zerowanie |
Bit znakowania (S) |
zawsze zerowanie |
strona 3-29 Podręcznik podstawowych instrukcji programowych
Arcus Tangens (ATN)
Ma zastosowanie do SLC 5/03/5/04,5/05
Instrukcja wyjścia
Instrukcja ATN służy do wykonania obliczenia wartości arcus tangens z liczby (wartość źródła) i umieszczenia wyniku (w radianach) w miejscu przeznaczenia..Wynik w miejscu przeznaczenia jest zawsze wiekszy lub równy -π/2 lub mniejszy lub równy π/2,gdzie π = 3,141592. Jej zastosowanie ogranicza się do procesorów SLC 5/03 (OS302),SLC 5/04 (OS401),oraz SLC 5/05.
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
Bit przeniesienia (C) |
zawsze zerowanie |
Bit przeładowania (V) |
ustawienie gdy powstaje przeładowanie lub znaleziono samodzielne wejście, w przeciwnym wypadku zerowanie |
Bit zerowania (Z) |
ustawienie gdy wynik jest zerem, w przeciwnym wypadku zerowanie |
Bit znakowania (S) |
ustawienie gdy wartość w miejscu przeznaczenia jest liczba ujemną , |
Cosinus (COS)
Ma zastosowanie do SLC 5/03/5/04,5/05
Instrukcja wyjścia
Instrukcja COS służy do wykonania obliczenia wartości cosinus z liczby (wartość źródła wyrażona w radianach) i umieszczenia wyniku w miejscu przeznaczenia. jest większa od -π Wartość źródła musi być większa lub równa -205887,4 i mniejsza lub równa 205887,4 . Największą dokładność obliczeń osiąga się gdy wartość źródła zawsze większa lub równa -1lub mniejsza lub równa 1.Jej zastosowanie ogranicza się do procesorów SLC 5/03 (OS302),SLC 5/04 (OS401),oraz SLC 5/05.
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
Bit przeniesienia (C) |
zawsze zerowanie |
Bit przeładowania (V) |
ustawienie gdy powstaje przeładowanie lub znaleziono samodzielne wejście, w przeciwnym wypadku zerowanie |
Bit zerowania (Z) |
ustawienie gdy wartość w miejscu przeznaczenia jest zerem, w przeciwnym wypadku zerowanie |
Bit znakowania (S) |
ustawienie gdy wartość w miejscu przeznaczenia jest ujemna, w przeciwnym wypadku zerowanie |
strona 3-30 Podręcznik podstawowych instrukcji programowych
Logarytm naturalny (LN)
Ma zastosowanie do SLC 5/03/5/04,5/05
Instrukcja wyjścia
Instrukcja LN służy do wykonania obliczenia wartości logarytmu naturalnego z liczby zawartej w źródle i umieszczenia wyniku w miejscu przeznaczenia. Wartość źródła musi być większa niż 0.Wartość w miejscu przeznaczenia jest zawsze większa lub równa -87,33654 lub mniejsza lub równa 88,72284. Jej zastosowanie ogranicza się do procesorów SLC 5/03 (OS302),SLC 5/04 (OS401),oraz SLC 5/05.
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
Bit przeniesienia (C) |
zawsze zerowanie |
Bit przeładowania (V) |
ustawienie gdy powstaje przeładowanie lub znaleziono samodzielne wejście, w przeciwnym wypadku zerowanie |
Bit zerowania (Z) |
ustawienie gdy wynik jest zerem, w przeciwnym wypadku zerowanie |
Bit znakowania (S) |
ustawienie gdy wartość w miejscu przeznaczenia jest liczba ujemną , |
Logarytm dziesiętny (LOG)
Ma zastosowanie do SLC 5/03/5/04,5/05
Instrukcja wyjścia
Instrukcja LOG służy do wykonania obliczenia wartości logarytmu dziesiętnego z liczby zawartej w źródle i umieszczenia wyniku w miejscu przeznaczenia. Wartość źródła musi być większa niż 0.Wartość w miejscu przeznaczenia jest zawsze większa lub równa -37,92978 lub mniejsza lub równa 38,53184. Jej zastosowanie ogranicza się do procesorów SLC 5/03 (OS302),SLC 5/04 (OS401),oraz SLC 5/05.
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
Bit przeniesienia (C) |
zawsze zerowanie |
Bit przeładowania (V) |
ustawienie gdy powstaje przeładowanie lub znaleziono samodzielne wejście, w przeciwnym wypadku zerowanie |
Bit zerowania (Z) |
ustawienie gdy wynik jest zerem, w przeciwnym wypadku zerowanie |
Bit znakowania (S) |
ustawienie gdy wartość w miejscu przeznaczenia jest liczba ujemną , |
strona 3-31 Podręcznik podstawowych instrukcji programowych
Sinus (SIN)
Ma zastosowanie do SLC 5/03/5/04,5/05
Instrukcja wyjścia
Instrukcja SIN służy do wykonania obliczenia wartości sinus z liczby (wartość źródła wyrażona w radianach) i umieszczenia wyniku w miejscu przeznaczenia. Wartość źródła musi być większa lub równa -205887,4 i mniejsza lub równa -2π +205887,4. Największą dokładność obliczeń osiąga się gdy wartość źródła zawsze większa lub równa -2π lub mniejsza lub równa-2π gdzie π = 3,141592Wartość miejsca przeznaczenia jest zawsze większa lub równa -1 lub mniejsza lub równa 1,. Jej zastosowanie ogranicza się do procesorów SLC 5/03 (OS302),SLC 5/04 (OS401),oraz SLC 5/05.
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
Bit przeniesienia (C) |
zawsze zerowanie |
Bit przeładowania (V) |
ustawienie gdy powstaje przeładowanie lub znaleziono samodzielne wejście, w przeciwnym wypadku zerowanie |
Bit zerowania (Z) |
ustawienie gdy wynik jest zerem, w przeciwnym wypadku zerowanie |
Bit znakowania (S) |
ustawienie gdy wartość w miejscu przeznaczenia jest liczba ujemną , |
Tangens (TAN)
Ma zastosowanie do SLC 5/03/5/04,5/05
Instrukcja wyjścia
Instrukcja TAN służy do wykonania obliczenia wartości tangens z liczby (wartość źródła w radianach) i umieszczenia wyniku w miejscu przeznaczenia.Wartość źródła musi być większa lub równa -102943,7 i mniejsza lub równa 102943,7.Największą dokładność obliczeń osiąga się gdy wartość źródła jest większa od -2π lub mniejsza od 2π gdzie π = 3,141592.Wartość miejsca przeznaczenia jest albo liczbą rzeczywistą albo nieskończonością. Jej zastosowanie ogranicza się do procesorów SLC 5/03 (OS302),SLC 5/04 (OS401),oraz SLC 5/05.
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
Bit przeniesienia (C) |
zawsze zerowanie |
Bit przeładowania (V) |
ustawienie gdy powstaje przeładowanie lub znaleziono samodzielne wejście, w przeciwnym wypadku zerowanie |
Bit zerowania (Z) |
ustawienie gdy wynik jest zerem, w przeciwnym wypadku zerowanie |
Bit znakowania (S) |
ustawienie gdy wartość w miejscu przeznaczenia jest liczba ujemną , |
strona 3-32 Podręcznik podstawowych instrukcji programowych
Podnoszenie do potęgi (XPY)
Ma zastosowanie do SLC 5/03/5/04,5/05
Instrukcja wyjścia
Instrukcja XPY służy do podnoszenia wartości zawartej w źródle A do potęgi zawartej w źródle B i umieszczenia wyniku w miejscu przeznaczenia. Jeżeli wartość źródła A jest ujemna, wykładnik w źródle B musi być liczbą całkowitą. Jeżeli tak nie jest ustawiany jest bit przeładowania a do obliczeń przyjmowana jest wartość bezwzględna. Jej zastosowanie ogranicza się do procesorów SLC 5/03 (OS302),SLC 5/04 (OS401),oraz SLC 5/05.
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
Bit przeniesienia (C) |
zawsze zerowanie |
Bit przeładowania (V) |
ustawienie gdy powstaje przeładowanie lub znaleziono samodzielne wejście, w przeciwnym wypadku zerowanie |
Bit zerowania (Z) |
ustawienie gdy wynik jest zerem, w przeciwnym wypadku zerowanie |
Bit znakowania (S) |
ustawienie gdy wartość w miejscu przeznaczenia jest liczba ujemną , |
strona 3-33 Podręcznik podstawowych instrukcji programowych
Instrukcje matematyczne w zastosowaniu do przykładu urządzenia do nawiercania warstw papieru
Rozdział ten prezentuje obwody programu drabinkowego wykorzystujące instrukcje matematyczne. Obwody te są częścią programu sterującego działaniem urządzenia do nawiercania warstw papieru, opisanego w Aneksie H.
Nawiązać należy do podprogramu w pliku 7 obwodów prezentowanych w Rozdziale 1.
Uzupełnienie Pliku 7
Obwód 7:1
Obwód ten zeruje określona liczbę przyrostów 1/4" i ich tysięcznych w momencie gdy zaczyna być zasilany wyłącznik "zmiana kierunku głowicy".
Zerowanie to powinno wystąpić po każdej zmianie bitu związanego z wierceniem.
Wyłącznik tysięczne przyrostów 1/4"
zmiany
kierunku
głowicy
I:1.0 +CLR
Zerowanie
M.przeznacz. N7:11
0
Przyrosty 1/4"
+CLR
ZEROWANIE
M.przeznacz. N7:10
0
Obwód 7:6
Zapamiętać bieżącą liczbę przewierconych calowych warstw papieru wynikających z aktualnego ustawienia bitu wiercenia. Przy każdym wierceniu
należy dodawać wielkość przyrostu (w odcinkach 1/4")do nagromadzanej wartości(w tych samych jednostkach)Instrukcja OSR staje się tu niezbędna ponieważ instrukcja ADD wykonywana jest każdorazowo gdy warunki odpowiadają stanowi "prawda",a głowica zetknie się z wyłącznikiem krańcowym GŁĘBOKOŚĆ WIERCENIA w czasie dłuższym niż czas jednego skanu programu. Liczba całkowita N7:12 jest wartością przetwarzaną na liczby całkowite z przełacznika tarczowego BCD na wejściach I:3/11 I:3/14.
Wyłącznik krańcowy Instrukcja OSR ADD
głębokości wiercenia dla stopnia zużycia Dodawanie
Źródło A N7:12
1
Źródło B N7:10
0
M.przeznacz. N7:10
0
strona 3-34 Podręcznik podstawowych instrukcji programowych
Obwód 7:7
Gdy ilość przyrostów 1/4" przekracza 1000,należy wyznaczyć liczbę przekraczającą i przechować ja w N7:20,nastepnie dodać 1 do całkowitej liczby przyrostów tysięcznych części 1/4" ,oraz zainicjować odczyt wartości nagromadzonej powyżej 1000.
Przyrosty 1/4"
+GRQ +SUB
Większa lub równa Odejmij
Źródło A N7:10 Źródło A N7:10
0 0
Źródło B 1000 Źródło B 1000
M.przeznacz.N7:20
0
Tysięczne 1/4"
+ADD
Dodaj
Źródło A 1
Źródło B N7:11
0
M.przeznacz.N:711
0
Przyrosty 1/4"
+ MOV
Przesuń
Źródło N7:20
0
M.przeznacz.N7:10
0
KONIEC