strona 4-1 Podręcznik podstawowych instrukcji programowych
4 Instrukcje obsługi danych
Niniejszy rozdział zawiera ogólne informacje dotyczące instrukcji obsługi danych, oraz wyjaśnia w jaki sposób funkcjonują one w konkretnej aplikacji.
Dla każdej z instrukcji obsługi danych podane zostały:
stosowane symbole instrukcji
sposób funkcjonowania instrukcji
Dodatkowo, ostatnia cześć niniejszego rozdziału zawiera przykład zastosowań podanych instrukcji obsługi danych, w sterowaniu maszyny do nawiercania warstw papieru.
Instrukcje obsługi danych (tabela na styku stron 4-1 i 4-2)
Instrukcja |
Funkcjonowanie |
Strona |
Symbol Nazwa |
|
|
TOD Przekształcenie na kod |
Przekształca liczbę całkowitą znajdującą się w źródle na format BCD i przechowuje ją w miejscu przeznaczenia |
4-3 |
FRD Przekształcenie z kodu |
Przekształca wartość w formacie BCD znajdującą się w źródle na liczbę całkowitą i przechowuje ją w miejscu przeznaczenia |
4-6 |
DEG Zamiana radianów na |
Przekształca wartość (w radianach) znajdującą się w źródle na stopnie i przechowuje ją w miejscu przeznaczenia |
4-10 |
DEG Zamiana stopni na |
Przekształca wartość (w stopniach) znajdującą się w źródle na radiany i przechowuje ją w miejscu przeznaczenia |
4-11 |
DCD Przekształcenie systemu |
Przekształca wartość w systemie czwórkowym (0 -15) na odpowiedni bit w systemie 16-bitowego miejsca przeznaczenia |
4-12 |
ENC Przekształcenie |
Przekształca wartość żródła 16-bitowego na wartośc w systemie czwórkowym. Sprawdza najniższy i najwyższy bit w źródle i poszukuje bitu pierwszego do nastawy. Odpowiednie położenie bitu wyraża liczbą stałą i wpisuje ja do miejsca przeznaczenia |
4-13 |
COP Kopiuj plik,wypełnij plik |
Instrukcja COP kopiuje dane z pliku źródłowego do pliku przeznaczenia. Instrukcja FLL ładuje wartość źródła do each position w pliku przeznaczenia |
4-14 |
MOV Przesuń |
Przesuwa wartość źródła do miejsca przeznaczenia |
4-19 |
MVM Przesuń z maskowaniem |
Przesuwa dane z miejsca źródła do wybranej części miejsca przeznaczenia |
4-20 |
AND Koniunkcja |
Realizuje operację iloczynu logicznego na poziomie bitowym |
4-22 |
OR Alternatywa |
Realizuje operację sumy logicznej na poziomie bitowym |
4-23 |
XOR Alternatywa wykluczająca |
Realizuje operację sumy logicznej modulo na poziomie bitowym |
4-24 |
NOT Negacja |
Realizuje operację negacji logicznej |
4-25 |
NEG Zmiana znaku |
Zamienia znak wartości żródła i przechowuje ją w miejscu przeznaczenia |
4-26 |
FFL Ładuj FIFO |
FFL załadowuje słowo do stosu FIFO przy każdej kolejnej zmianie stanu "fałsz" na "prawda". FFU zdejmuje słowo ze stosu FIFO przy kolejnej zmianie stanu "fałsz" na "prawda". Pierwsze słowo załadowywane jest pierwszym słowem zdejmowanym |
4-29 |
LFL Ładuj LIFO LFU Zdejmij z LIFO |
LFL załadowuje słowo do stosu LIFO przy każdej kolejnej zmianie stanu "fałsz" na "prawda". FFU zdejmuje słowo ze stosu LIFO przy kolejnej zmianie stanu "fałsz" na "prawda". Ostatnie słowo załadowywane jest pierwszym słowem zdejmowanym |
4-30 |
c.d.strony 4-2 Podręcznik podstawowych instrukcji programowych
Ogólna charakterystyka instrukcji obsługi danych
Instrukcje obsługi danych służą do przetwarzania informacji, manipulowania danymi w sterowniku oraz do wykonywania operacji logicznych.
W niniejszym rozdziale znaleźć można ogólną charakterystykę każdej z grup instrukcji. Zanim użytkownik przystąpi do zapoznania się z poszczególnymi instrukcjami w każdej z tych grup powinien zapoznać się z ich ogólną charakterystyką. Charakterystyka ta dotyczy:
Instrukcji przesyłania danych i operacji logicznych
Instrukcji FIFO i LIFO
strona 4-3 Podręcznik podstawowych instrukcji programowych
Przekształcenie na kod BCD (TOD)
Ma zastosowanie do ML 1000,Sterowników Fixed,
SLC 5/01,5/02,5/03,5/04,5/05
Instrukcja wyjścia dla sterowników Fixed i procesorów SLC 5/01
Instrukcja wyjścia dla procesorów SLC 5/02 i wyższych oraz sterowników MicroLogix 1000
Instrukcja ta służy do przetwarzania 16-bitowych liczb całkowitych na wartości w kodzie BCD.
Dla sterowników Fixed i procesorów SLC 5/01 miejscem przeznaczenia może być tylko rejestr matematyczny.
Dla procesorów SLC 5/02 i wyższych a także dla sterowników MicroLogix 1000 parametrem miejsca przeznaczenia może być adres słowa lub dowolnego pliku danych, mogą to być także rejestry matematyczne S:13 i S:14.
Jeżeli wprowadzana liczba całkowita ma znak ujemny do przetwarzania zostanie zastosowana jej wartość bezwzględna.
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
Bit przeniesienia (C) |
zawsze zerowanie |
Bit przeładowania (V) |
ustawienie gdy wynik przetworzenia do kodu BCD jest większy od 9999.Przeładowanie powoduje powstanie błędu drugorzędnego. |
Bit zerowania (Z) |
ustawienie gdy wartość w miejscu przeznaczenia jest zerem. |
Bit znakowania (S) |
ustawienie gdy wartość w miejscu przeznaczenia jest liczba ujemną , |
Zmiany w rejestrach matematycznych, S:13 i S:14
Zawierają one 5-cyfrowy wynik przetworzenia na kod BCD. Wynik ten jest traktowany jako przeładowanie.
strona 4 - 4 Podręcznik podstawowych instrukcji programowych
Przykład 1
Ma zastosowanie do procesorów
SLC 5/02,5/03,5/04,5/05
Liczba całkowita 9760 przechowywana w N7:3 przetwarzana jest do kodu BCD i jej równoważnik w tym kodzie przechowywany jest w N10:0.Maksymalna możliwa wartość w kodzie BCD wynosi 9999.
TOD
Do BCD
Źródło N7:3
9760
M.Przeznacz. N10:0 Wartość w miejscu przeznaczenia
9760 wyświetlana jest w formacie BCD
9 7 6 0 N7:3 Decymalnie 0010 0110 0010 0000
9 7 6 0 N10:0 4-cyfrowy BCD 1001 0111 0110 0000
Przykład 2
Ma zastosowanie do procesorów
SLC 5/02,5/03,5/04,5/05
Liczba całkowita 32760 przechowywana w N7:3 przetwarzana jest na kod BCD.Pięcio-cyfrowa liczba w tym kodzie przechowywana jest w rejestrze matematycznym.Ostatnie 4 cyfry tej liczby w kodzie BCD zostają przesunięte do słowa wyjścia O:2,pozostała zaś cyfra przesunięta jest z maską do słowa wyjścia O:3.
Gdy w instrukcji TOD wykorzystuje się rejestr matematyczny jako parametr miejsca przeznaczenia maksymalna wartość liczby w kodzie BCD wynosi 32767.Wobec tego że wartość ta przekracza dopuszczalną dla kodu BCD wartość 9999,ustawiany jest bit przeładowania, co powoduje także ustawienie bitu błędu drugorzędnego w S:5/0.
Program drabinkowy może jednak odblokować S:5/0 przed momentem zakończenia skanu programu przez co zapobiega się powstaniu błędu 0020, tak jak to wykonano w niniejszym przykładzie.
strona 4 -5 Podręcznik podstawowych instrukcji programowych
3 2 7 6 0 N7:3 Decymalnie
0 0 0 3 2 7 6 0 S:13&S:14 5-cyfrowy BCD
15 0 15 0
S:14 S:13
Przykład te dotyczy wartości bezwzględnej wyjścia w granicach (0-32767)
przechowywanej w N7:3 jako 5 cyfrowa liczba w kodzie BCD na wyjściu (slot 2 i 3)
TOD
PRZETWORZENIE DO BCD
Źródło N7:3
32760 S:13 i S:14
M.przeznacz. S:13 są wyświetlane
00032760 w formacie BCD
Bit Przeładowania
Bit kodu błędu
drugorzędnego
MOV
Przesuń Źródło S:13
10080
M.przeznacz. O:00 0010 0111 0110 0000 10080
MVM
Przesuń Z MASKĄ Źródło S:14
3
Maska 000F
M.przeznacz. O:3.0 0000 0000 0000 0011 3
strona 4 -6 Podręcznik podstawowych instrukcji programowych
Przekształcenie z kodu BCD (FRD)
Ma zastosowanie do ML 1000,Sterowników Fixed,
SLC 5/01,5/02,5/03,5/04,5/05
Instrukcja wyjścia dla sterowników Fixed i procesorów SLC 5/01
Instrukcja wyjścia dla procesorów SLC 5/02 i wyższych oraz sterowników MicroLogix 1000
Instrukcja ta służy do przetwarzania wartości w kodzie BCD na liczby całkowite.
Dla sterowników Fixed i procesorów SLC 5/01 źródłem może być tylko rejestr matematyczny.
Dla procesorów SLC 5/02 i wyższych a także dla sterowników MicroLogix 1000 źródłem może być adres słowa w dowolnym pliku danych, może to być także rejestr matematyczny S:13 .
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
Bit przeniesienia (C) |
zawsze zerowanie |
Bit przeładowania (V) |
ustawienie gdy wartość źródła nie jest wyrażona w kodzie BCD lub wartość ta jest większa od 32.767.Przeładowanie powoduje powstanie błędu drugorzędnego. |
Bit zerowania (Z) |
ustawienie gdy wartość w miejscu przeznaczenia jest zerem. |
Bit znakowania (S) |
zawsze zerowanie |
Uwaga:
Zaleca się aby dane uzyskane ze wszystkich urządzeń wejścia BCD były zawsze filtrowane przez program drabinkowy zanim nastąpi realizacja instrukcji FRD. Najmniejsze różnica w opóźnieniu filtrowania wejścia w transmisji point-to-point może spowodować przeładowanie instrukcji FRD z tego powodu że występuje wówczas przetwarzanie wartości nie wyrażonych w kodzie BCD.
strona 4 -7 Podręcznik podstawowych instrukcji programowych
EQU FRD
Równe PRZEKSZTAŁCENIE Z BCD
Źródło A N7:1 Źródło I:0.0
0 0
Źródło B I:0.0 M.przeznacz. N7:2
0 0
MOV
Przesuń
Źródło I:0.0
0
M.przeznacz. N7:1
0
W powyższym przykładzie ,dwa obwody spowodowały ze procesor sprawdził że wartośc I:0.0 pozostaje niezmieniona przez dwa kolejne skany programowe, zanim nastąpiła realizacja instrukcji FRD. Zapobiega to możliwości przetwarzania wartości nie wyrażonych w kodzie BCD w trakcie zmian wartości na wejściu.
Uwaga:
Aby możliwe było przetwarzanie wartości większych od 9999 źródło musi znajdować się w rejestrze matematycznym S:13.Błąd drugorzędny powinien zostać wyzerowany aby zapobiec poważniejszym błędom.
Zmiany w rejestrach matematycznych, S:13 i S:14
Są one wykorzystywane jako źródło. Przetwarzana jest cała wartość znajdująca się w rejestrze.
Przykład 1
Ma zastosowanie do procesorów ML1000
SLC 5/02,5/03,5/04,5/05
Wartośc w kodzie BCD przechowywana w N7:3 jest przetwarzana i przechowywana jest w N10:0.Maksymalna możliwa wartość źródła w kodzie BCD wynosi 9999.
FRD
PRZETWÓRZ Z BCD
Źródło N7:3
9760
M.Przeznacz. N10:0 Wartość w miejscu przeznaczenia
9760 wyświetlana jest w formacie BCD
9 7 6 0 N7:3 4-cyfrowy BCD 1001 0111 0110 0000
9 7 6 0 N10:0 Decymalnie 0010 0110 0010 0000
strona 4 -8 Podręcznik podstawowych instrukcji programowych
Przykład 2
Ma zastosowanie do ML 1000,Sterowników Fixed,
SLC 5/01,5/02,5/03,5/04,5/05
FRD
PRzETWÓRZ Z BCD
Źródło S:13 S:13 i S:14 wyświetlane są
00032760 formacie BCD
M.przeznaczenia N7:0
32760
0000 0000 0000 0011 0000 0111 0110 0000
S:14 S:13 5-cyfrowa wartość
w kodzie BCD
15 0 15 0
0 0 0 3 2 7 6 0
3 2 7 6 0 N7:0 Decymalnie 0111 1111 1111 1000
Liczba całkowita w kodzie BCD powinna być przetworzona przed jej wykorzystaniem w programie drabinkowym. Jeżeli przetworzenie nie będzie wykonane, procesor traktuje ta wartość jak liczbę całkowitą
a jej wartość może zostać utracona.
Uwaga:
Jeżeli rejestr matematyczny (S:13 i S:14) wykorzystywany jest jako źródło dla instrukcji FRD a wartość w kodzie BCD wyraża się liczbą 4-cyfrową,przed wykonaniem instrukcji należy wykasować słowo S:14.Jeżeli warunek ten nie będzie spełniony to wartość umieszczona w tym słowie (której źródłem jest inna instrukcja znajdująca się gdzieś w programie) spowoduje że w słowie przeznaczenia umieszczona zostanie niewłaściwa liczba dziesiętna.
strona 4 -9 Podręcznik podstawowych instrukcji programowych
Wykasowanie zawartości słowa S:14 przed wykonaniem instrukcji FRD przedstawiono poniżej:
MOV
PRZESUŃ
Źródło N7:2
4660 0001 0010 0011 0100
M.przeznacz. S:13
4660
CLR
WYKASUJ
M.przeznacz. S:14
0
FRD
PRZETWÓRZ Z BCD S:13 i S:14 są wyświetlane
Źródło S:13 w formacie BCD
00001234
M.przeznacz. N7:0
1234 0000 0100 1101 0010
Gdy ustawione są warunki wejścia (1) wartość w kodzie BCD (na przykład, przetworzona z 4-cyfrowej skali pokrętła wyłącznika) przesuwana jest ze słowa N7:2 do rejestru matematycznego. Słowo S:14 zostaje wówczas
wykasowane aby mieć pewność że niepożądane dane nie są wykorzystywane przy realizacji instrukcji FRD.
strona 4 -10 Podręcznik podstawowych instrukcji programowych
Zamiana radianów na stopnie (DEG)
Ma zastosowanie do SLC 5/03,5/04,5/05
Instrukcja wyjścia
Instrukcja ta służy do przeliczania radianów (wartość źródła) na stopnie i przechowywania wyniku w miejscu przeznaczenia. U podstaw instrukcji leży formuła:
Źródło X 180/Π
gdzie Π = 3,141592
Instrukcję tą stosować można w odniesieniu do procesorów SLC 5/03 (OS 302),SLC 5/04 (OS401) i SLC 5/05
Parametry wprowadzane
Źródło zawierać może liczbę całkowitą lub zmiennoprzecinkową
Miejsce przeznaczenia może być adresem słowa w którym przechowywane są dane
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
Bit przeniesienia (C) |
zawsze zerowanie |
Bit przeładowania (V) |
ustawienie gdy występuje przeładowanie lub wykryte zostało samodzielne wejście, w innych przypadkach zerowanie |
Bit zerowania (Z) |
ustawienie gdy wynik jest zerem, w innych przypadkach zerowanie |
Bit znakowania (S) |
ustawienie gdy wynik jest liczbą ujemną, w innych przypadkach zerowanie |
strona 4 -11 Podręcznik podstawowych instrukcji programowych
Zamiana stopni na radiany (RAD)
Ma zastosowanie do SLC 5/03,5/04,5/05
Instrukcja wyjścia
Instrukcja ta służy do przeliczania stopni (wartość źródła) na radiany i przechowywania wyniku w miejscu przeznaczenia. U podstaw instrukcji leży formuła:
Źródło X 180/Π
gdzie Π = 3,141592
Instrukcję tą stosować można w odniesieniu do procesorów SLC 5/03 (OS 302),SLC 5/04 (OS401) i SLC 5/05
Parametry wprowadzane
Źródło zawierać może liczbę całkowitą lub zmiennoprzecinkową
Miejsce przeznaczenia może być adresem słowa w którym przechowywane są dane
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
Bit przeniesienia (C) |
zawsze zerowanie |
Bit przeładowania (V) |
ustawienie gdy występuje przeładowanie lub wykryte zostało samodzielne wejście, w innych przypadkach zerowanie |
Bit zerowania (Z) |
ustawienie gdy wynik jest zerem, w innych przypadkach zerowanie |
Bit znakowania (S) |
ustawienie gdy wynik jest liczbą ujemną, w innych przypadkach zerowanie |
strona 4 -12 Podręcznik podstawowych instrukcji programowych
Dekoduj z czwórkowego na szesnastkowy (DCD)
Ma zastosowanie do ML 1000,Sterowników Fixed,
SLC 5/01,5/02,5/03,5/04,5/05
Instrukcja wyjścia
Instrukcja ta powoduje w trakcie jej wykonywania ustawienie jednego bitu w słowie przeznaczenia. Określony bit jest ustawiany na 1 w zależności od wartości pierwszych czterech bitów w słowie źródła. Działanie to pokazuje poniższa tablica.
Instrukcję ta stosuje się do danych jednoczesnych które występują w trakcie pracy np.przełaczników obrotowych, klawiatur i przełączania banków( pamięcią podzieloną na segmenty).
Źródło Miejsce przeznaczenia
Bit 15-04 03 02 01 00 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
x 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
x 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
x 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
x 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
x 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
x 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
x 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
x 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
x 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
x 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
x 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
x 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
x 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
x 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
x 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Parametry wprowadzane
Źródłem jest adres który zawiera informację bit dekodowania. Tylko pierwsze cztery bity (0-3) mają zastosowanie w instrukcji DCD. Pozostałe bity mogą być wykorzystywane w szczególnych przypadkach przy innych aplikacjach. Wybór jednego bitu w słowie przeznaczenia wymaga zmiany wartości czterech pierwszych
bitów w słowie źródła.
Miejscem przeznaczenia jest adres słowa w którym przechowywane są dane.
Aktualizacja arytmetycznych bitów statusowych
Aktualizacja nie zachodzi
strona 4 -13 Podręcznik podstawowych instrukcji programowych
Koduj liczbę szesnastkową na czwórkową (ENC) Ma zastosowanie do ML 1000
Instrukcja wyjścia
Źródło Miejsce przeznaczenia
Bit 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 15-04 03 02 01 00
x x x x x x x x x x x x x x 1 x 0 0 0 0
x x x x x x x x x x x x x 1 0 x 0 0 0 1
x x x x x x x x x x x x 1 0 0 x 0 0 1 0
x x x x x x x x x x x 1 0 0 0 x 0 0 1 1
x x x x x x x x x x 1 0 0 0 0 x 0 1 0 0
x x x x x x x x x 1 0 0 0 0 0 x 0 1 0 1
x x x x x x x x 1 0 0 0 0 0 0 x 0 1 1 0
x x x x x x x 1 0 0 0 0 0 0 0 x 0 1 1 1
x x x x x x 1 0 0 0 0 0 0 0 0 x 1 0 0 0
x x x x x 1 0 0 0 0 0 0 0 0 0 x 1 0 0 1
x x x x 1 0 0 0 0 0 0 0 0 0 0 x 1 0 1 1
x x x 1 0 0 0 0 0 0 0 0 0 0 0 x 1 1 0 0
x x 1 0 0 0 0 0 0 0 0 0 0 0 0 x 1 1 0 1
x 1 0 0 0 0 0 0 0 0 0 0 0 0 0 x 1 1 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x 1 1 1 1
Parametry wprowadzane
Żródło jest adresem słowa które ma zostać kodowane. W słowie tym przez cały czas tylko jeden bit powinien
być ustawiony na 1.Gdyby nastawiona była większa liczba bitów w źródle, bity przeznaczenia są ustawiane na podstawie najmniej znaczącego bitu. Jeżeli w źródle występują zera ,wszystkie bitu przeznaczenia są zerowane.
Miejsce przeznaczenia jest adresem zawierającym informacje przewidzianą do kodowania. Bity 4-15 miejsca przeznaczenia za zerowane przy pomocy instrukcji ENC.
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
Bit przeniesienia (C) |
zawsze zerowanie |
Bit przeładowania (V) |
ustawienie gdy w źródle znajduje się więcej niż jeden ustawiony bit,w pozostałych przypadkach zerowanie |
Bit zerowania (Z) |
ustawienie gdy wynik jest zerem |
Bit znakowania (S) |
zawsze zerowanie |
strona 4 -14 Podręcznik podstawowych instrukcji programowych
Kopiuj plik (COP)
Wypełnij plik (FFL)
Ma zastosowanie do ML 1000,Sterowników Fixed,
SLC 5/01,5/02,5/03,5/04,5/05
Instrukcje wyjścia
Rodzaj pliku przeznaczenia uzależniony jest od ilości słów które przekazuje instrukcja. Przykładowo, jeżeli plikiem przeznaczenia jest plik licznika, a plikiem źródła jest plik liczb całkowitych ,przy przekazywaniu każdego elementu do pliku licznika wykorzystywane są trzy słowa liczb całkowitych.
Po wykonaniu instrukcji COP lub FLL rejestr indeksowy S:24 jest zerowany.
Zastosowanie instrukcji COP
Instrukcja ta kopiuje bloki danych z jednego miejsca w drugie. Nie stosują się do niej bity statusowe. Jeżeli zachodzi potrzeba użycia aktywnego bitu należy równolegle zaprogramować instrukcję OTE wykorzystując bit wewnętrzny jako adres wyjścia. Poniższy rysunek wyjaśnia jak dane w pliku instrukcji są przekazywane do miejsca przeznaczenia.
Źródło Miejsce przeznaczenia
Z pliku do pliku
Parametry wprowadzane
Przy programowaniu niniejszej instrukcji wprowadza się następujące parametry:
Źródłem jest adres pliku który zamierzamy skopiować.W adresie należy użyć symbolu identyfikacji plików (#).Gdy wykorzystujemy procesory SLC 5/03 (OS301 lub wyższe),SLC 5/04 (OS401),lub SLC 5/05 możemy operować liczbami zmienno przecinkowymi i danymi łańcuchowymi.
Miejscem przeznaczenia jest adres początkowy pod którym instrukcja przechowuje koie.Konieczne jest stosowanie w adresie symbolu identyfikacji plików(#).Gdy wykorzystujemy procesory SLC 5/03 (OS301 lub wyższe),SLC 5/04 (OS401),lub SLC 5/05 możemy operować liczbami zmienno przecinkowymi i danymi łańcuchowymi.
strona 4 -15 Podręcznik podstawowych instrukcji programowych
Długość jest numerem kolejnym elementu który zamierzamy skopiować
Dla procesorów SLC ,gdy plikiem przeznaczenia jest plik zwierający 3 słów na każdy element, można określić długość maksymalną równą 42.Jeżeli plikiem przeznaczenie jest plik zawierający 1 słowo na element, jako maksymalna długość przyjąć można 128 słów.
Dla sterowników MicroLogix 1000 odpowiednie dane podano w poniższej tabeli:
Jeżeli plikiem przeznaczenia jest |
Wówczas maksymalna długość w przypadku: |
|
|
Sterowników dyskretnych |
Sterowników analogowych |
Plik wyjścia |
1 |
5 |
Plik wejścia |
2 |
8 |
Plik statusowy |
33 |
- |
Plik bitowy |
32 |
- |
Plik zegara |
40 |
- |
Plik licznika |
32 |
- |
Plik sterowania |
16 |
- |
Plik liczb całkowitych |
105 |
- |
Uwaga:
Maksymalną długość podać można gdy źródło jest tego samego rodzaju.
Wszystkie pliki kopiowane z pliku źródłowego do pliku przeznaczenia za każdym razem gdy uruchamiana jest instrukcja. Elementy kopiowane są w kolejności rosnącej.
Jeżeli plikiem przeznaczenie jest plik zegara, licznika lub sterowania, należy się upewnić że słowa źródła dotyczące słów statusowych miejsca przeznaczenia zawierają zera.
Należy też się upewnić że adres początkowy oraz długość bloku danych przewidzianego do skopiowania zostały podane prawidłowo. Instrukcja nie powoduje wczytania danych poza granicami pliku (takiego jak między plikami B16 i N17) w miejscu przeznaczenia. Gdy następuje próba wczytania danych poza granicami pliku, pojawia się sygnał błędu.
Można dokonywać przesunięcia pliku podając adres elementu lub większej liczby elementów źródła przekraczając wartość adresu w miejscu przeznaczenia w obrębie tego samego pliku. Spowoduje to przesunięcie danych na adres niższego elementu.
strona 4 -16 Podręcznik podstawowych instrukcji programowych
Zastosowanie instrukcji FLL
Instrukcja ta załadowuje elementy pliku wraz z albo stałą programową lub też wartością stanowiącą element adresu . Nie stosują się do niej bity statusowe. Poniższy rysunek wyjaśnia jak dane w pliku instrukcji są przekazywane do miejsca przeznaczenia.
Źródło Miejsce przeznaczenia
Ze słowa do pliku
Parametry wprowadzane
Przy programowaniu niniejszej instrukcji wprowadza się następujące parametry:
Źródłem jest stała programowa lub element adresu.Symbolu identyfikacji plików (#) w adresie elementu nie jest wymagany..Gdy wykorzystujemy procesory SLC 5/03 (OS301 lub wyższe),SLC 5/04 (OS401),lub SLC 5/05 możemy operować liczbami zmienno przecinkowymi i danymi łańcuchowymi.
Miejscem przeznaczenia jest adres początkowy który zamierzamy wypełnić.Konieczne jest stosowanie w adresie symbolu identyfikacji plików(#).Gdy wykorzystujemy procesory SLC 5/03 (OS301 lub wyższe),SLC 5/04 (OS401),lub SLC 5/05 możemy operować liczbami zmienno przecinkowymi i danymi łańcuchowymi
strona 4 -17 Podręcznik podstawowych instrukcji programowych
Długość jest numerem kolejnym elementu pliku który zamierzamy wypełnić
Dla procesorów SLC ,gdy plikiem przeznaczenia jest plik zawierający 3 słów na każdy element, można określić długość maksymalną równą 42.Jeżeli plikiem przeznaczenie jest plik zawierający 1 słowo na element, jako maksymalna długość przyjąć można 128 słów.
Dla sterowników MicroLogix 1000 odpowiednie dane podano w poniższej tabeli:
Jeżeli plikiem przeznaczenia jest |
Wówczas maksymalna długość w przypadku: |
|
|
Sterowników dyskretnych |
Sterowników analogowych |
Plik wyjścia |
1 |
5 |
Plik wejścia |
2 |
8 |
Plik statusowy |
33 |
- |
Plik bitowy |
32 |
- |
Plik zegara |
40 |
- |
Plik licznika |
32 |
- |
Plik sterowania |
16 |
- |
Plik liczb całkowitych |
105 |
- |
Wszystkie pliki wypełniane są z pliku źródłowego (zazwyczaj stała wartością) do miejsca przeznaczenia za każdym razem gdy skan obwodu odpowiada wartości logicznej "prawda". Elementy kopiowane są w kolejności rosnącej.
Instrukcja nie powoduje wczytania danych poza granicami pliku (takiego jak między plikami B16 i N17) w miejscu przeznaczenia. Gdy następuje próba wczytania danych poza granicami pliku, sygnalizowany jest błąd.
strona 4 -18 Podręcznik podstawowych instrukcji programowych
Charakterystyka instrukcji przesunięć i instrukcji logicznych
Na charakterystykę instrukcji przesunięć i operacji logicznych składają się następujące ogólne zagadnienia:
Parametry wprowadzane
Źródłem jest adres wartości na której dokonuje się operacji przesunięcia lub operacji logicznych. Źródłem może być adres słowa lub stała programowa, jeżeli nie istnieją inne zalecenia. Jeżeli instrukcja posiada dwa źródła argumentów nie mogą w nich występować jednocześnie stałe programowe.
Gdy wykorzystujemy procesory SLC 5/03 (OS301 lub wyższe),SLC 5/04, lub SLC 5/05 możemy operować liczbami zmienno przecinkowymi i danymi łańcuchowymi
Miejscem przeznaczenia jest adres pod którym znajdzie się rezultat przesunięcie lub operacji logicznych. Musi ono być adresem słowa.
Wykorzystanie adresów indeksowanych
Parametry instrukcji mogą posiadać adresy indeksowane słów dla parametrów instrukcji które określają adresy słów. Szczegóły adresowania indeksowego omówiono 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, aktualizowane są arytmetyczne bity statusowe w pliku statusowym:
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.
Zmiany w rejestrach matematycznych S:13 i S:14
Instrukcje przesunięć i operacji logicznych nie wpływają na rejestry matematyczne.
strona 4 -19 Podręcznik podstawowych instrukcji programowych
Przesuń (MOV)
Ma zastosowanie do ML 1000,Sterowników Fixed,
SLC 5/01,5/02,5/03,5/04,5/05
Instrukcja wyjścia
Niniejsza instrukcja wyjścia przesuwa wartość źródła do miejsca przeznaczenia. Tak długo jak warunki obwodu odpowiednie będą dla stanu "prawda", instrukcja powodować będzie przesunięcie danych przy każdym skanie programu.
Parametry wprowadzane
Przy programowaniu niniejszej instrukcji wprowadzane są następujące parametry:
Źródłem jest adres lub stała dla danych które mamy zamiar przesunac
Miejscem przeznaczenia jest adresem pod który dane zostają przesunięte
Uwaga dla użytkownika:
Jeżeli mamy zamiar przesunąć jedno słowo danych bez zmian znaczników rejestrów matematycznych, należy zastosować instrukcję Kopiuj (COP) o długości 1 słowa zamiast instrukcji MOV.
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
S:0/0 Bit przeniesienia (C) |
zawsze zerowanie |
S:0/1 Bit przeładowania (V) |
zawsze zerowanie |
S:0/2 Bit zerowania (Z) |
ustawienie gdy wynik jest zerem |
S:0/3 Bit znakowania (S) |
Ustawienie gdy wynik ma znak ujemny (ustawiany jest najbardziej znaczący bit),w innych przypadkach zerowanie |
strona 4 -20 Podręcznik podstawowych instrukcji programowych
Przesuń z maską (MVM)
Ma zastosowanie do ML 1000,Sterowników Fixed,
SLC 5/01,5/02,5/03,5/04,5/05
Instrukcja wyjścia
Instrukcja MVM jest instrukcją przesunięcia danych ze źródła do miejsca przeznaczenia i umożliwia dla części danych z miejsca przeznaczenia ich maskowanie oddzielnym słowem. Tak długo jak warunki obwodu odpowiednie będą dla stanu "prawda", instrukcja powodować będzie przesunięcie danych przy każdym skanie programu.
Parametry wprowadzane
Przy programowaniu niniejszej instrukcji wprowadzane są następujące parametry:
Źródłem jest adresem danych które mamy zamiar przesunąć
Maską jest adres maski przez którą instrukcja przesuwa dane, maska może być wartością heksadecymalną (stała)
Miejscem przeznaczenia jest adresem pod który dane zostają przesunięte
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
S:0/0 Bit przeniesienia (C) |
zawsze zerowanie |
S:0/1 Bit przeładowania (V) |
zawsze zerowanie |
S:0/2 Bit zerowania (Z) |
ustawienie gdy wynik jest zerem, w innych przypadkach zerowanie |
S:0/3 Bit znakowania (S) |
Ustawienie gdy wynik ma znak ujemny,w innych przypadkach zerowanie |
strona 4 -21 Podręcznik podstawowych instrukcji programowych
Działanie instrukcji
Jeżeli warunki obwodu są odpowiednie dla stanu "prawda", dane pod adresem źródła przesuwane są przez maskę do miejsca przeznaczenia.. Przedstawiono to na poniższym rysunku:
MVM
PRZESUŃ Z MASKĄ
Źródło B3:0
Maska F0F0
M.przeznacz. B3:2
B3:2 przed przesunięciem
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
źródło B3:0
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Maska F0F0
1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0
B3:2 po przesunięciu
0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1
Dane maskowane bitami zerowanymi w masce, dane przesuwane przez ustawienie bitów maski na 1.
Bity maski mogą być ustawione na/przez stałą wartość, można je również zmieniać przez przydzielenie maski stałego adresu.
Uwaga:
Bity w miejscu przeznaczenia które odpowiadają zerom nie mogą być modyfikowane.
strona 4 -22 Podręcznik podstawowych instrukcji programowych
Koniunkcja (AND)
Ma zastosowanie do ML 1000,Sterowników Fixed,
SLC 5/01,5/02,5/03,5/04,5/05
Instrukcja wyjścia
Instrukcja ta realizuje bit po bicie operację sumy logicznej AND. Operacja ta wykonywana jest na wartości źródła A i wartości źródła B. Wynik przechowywany jest w miejscu przeznaczenia.
Tabela wartości logicznych
Miejsce przeznaczenia = A AND B |
||
A |
B |
Miejsc.przeznaczenia |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
Źródłem A i B może być albo adres albo też wartość stała, jednak oba źródła nie mogą być równocześnie wartością stałą. Miejsce przeznaczenia musi być adresem słowa.
Uwaga dla użytkownika:
Gdy wprowadzana jest wartość stała, należy stosować symbol & do zmiany jej podstawy liczenia. Przykładowo, zamiast wprowadzania -1 jako wartości stałej, wprowadzić można &1111111111111111 lub &HFFFF.
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
S:0/0 Bit przeniesienia (C) |
zawsze zerowanie |
S:0/1 Bit przeładowania (V) |
zawsze zerowanie |
S:0/2 Bit zerowania (Z) |
ustawienie gdy wynik jest zerem, w innych przypadkach zerowanie |
S:0/3 Bit znakowania (S) |
ustawienie gdy ustawiony jest najbardziej znaczący bit,w innych przypadkach zerowanie |
strona 4 -23 Podręcznik podstawowych instrukcji programowych
Alternatywa (OR)
Ma zastosowanie do ML 1000,Sterowników Fixed,
SLC 5/01,5/02,5/03,5/04,5/05
Instrukcja wyjścia
Instrukcja ta realizuje bit po bicie operację iloczynu logicznego OR. Operacja ta wykonywana jest na wartości źródła A i wartości źródła B. Wynik przechowywany jest w miejscu przeznaczenia.
Tabela wartości logicznych
Miejsce przeznaczenia = A OR B |
||
A |
B |
Miejsc.przeznaczenia |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
Źródłem A i B może być albo adres albo też wartość stała, jednak oba źródła nie mogą być równocześnie wartością stałą. Miejsce przeznaczenia musi być adresem słowa.
Uwaga dla użytkownika:
Gdy wprowadzana jest wartość stała, należy stosować symbol & do zmiany jej podstawy liczenia. Przykładowo, zamiast wprowadzania -1 jako wartości stałej, wprowadzić można &1111111111111111 lub &HFFFF.
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
S:0/0 Bit przeniesienia (C) |
zawsze zerowanie |
S:0/1 Bit przeładowania (V) |
zawsze zerowanie |
S:0/2 Bit zerowania (Z) |
ustawienie gdy wynik jest zerem, w innych przypadkach zerowanie |
S:0/3 Bit znakowania (S) |
ustawienie gdy wynik jest wartościa ujemną (ustawiony jest najbardziej znaczący bit) ,w innych przypadkach zerowanie |
strona 4 -24 Podręcznik podstawowych instrukcji programowych
Alternatywa wykluczająca (XOR)
Ma zastosowanie do ML 1000,Sterowników Fixed,
SLC 5/01,5/02,5/03,5/04,5/05
Instrukcja wyjścia
Instrukcja ta realizuje bit po bicie operację iloczynu logicznego XOR. Operacja ta wykonywana jest na wartości źródła A i wartości źródła B. Wynik przechowywany jest w miejscu przeznaczenia.
Tabela wartości logicznych
Miejsce przeznaczenia = A XOR B |
||
A |
B |
Miejsc.przeznaczenia |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
Źródłem A i B może być albo adres albo też wartość stała, jednak oba źródła nie mogą być równocześnie wartością stałą. Miejsce przeznaczenia musi być adresem słowa.
Uwaga dla użytkownika:
Gdy wprowadzana jest wartość stała, należy stosować symbol & do zmiany jej podstawy liczenia. Przykładowo, zamiast wprowadzania -1 jako wartości stałej, wprowadzić można &1111111111111111 lub &HFFFF.
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
S:0/0 Bit przeniesienia (C) |
zawsze zerowanie |
S:0/1 Bit przeładowania (V) |
zawsze zerowanie |
S:0/2 Bit zerowania (Z) |
ustawienie gdy wynik jest zerem, w innych przypadkach zerowanie |
S:0/3 Bit znakowania (S) |
ustawienie gdy wynik jest wartością ujemną (ustawiony jest najbardziej znaczący bit) ,w innych przypadkach zerowanie |
strona 4 -25 Podręcznik podstawowych instrukcji programowych
Negacja (NOT)
Ma zastosowanie do ML 1000,Sterowników Fixed,
SLC 5/01,5/02,5/03,5/04,5/05
Instrukcja wyjścia
Instrukcja ta realizuje bit po bicie operację negacji NOT. Operacja ta wykonywana jest na wartości źródła. Wynik ( jego dopełnienie w A) przechowywany jest w miejscu przeznaczenia.
Tabela wartości logicznych
Miejsce przeznaczenia = NOT A |
|
A |
Miejsc.przeznaczenia |
0 |
1 |
1 |
0 |
Źródłem i miejscem przeznaczenie muszą być adresy słowa.
Uwaga dla użytkownika:
Gdy wprowadzana jest wartość stała, należy stosować symbol & do zmiany jej podstawy liczenia. Przykładowo, zamiast wprowadzania -1 jako wartości stałej, wprowadzić można &1111111111111111 lub &HFFFF.
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
S:0/0 Bit przeniesienia (C) |
zawsze zerowanie |
S:0/1 Bit przeładowania (V) |
zawsze zerowanie |
S:0/2 Bit zerowania (Z) |
ustawienie gdy wynik jest zerem, w innych przypadkach zerowanie |
S:0/3 Bit znakowania (S) |
ustawienie gdy wynik jest wartością ujemną (ustawiony jest najbardziej znaczący bit) ,w innych przypadkach zerowanie |
strona 4 -26 Podręcznik podstawowych instrukcji programowych
Negacja (NEG)
Ma zastosowanie do ML 1000,Sterowników Fixed,
SLC 5/01,5/02,5/03,5/04,5/05
Instrukcja wyjścia
Instrukcji NEG używa się w celu zmiany znaku wartości źródła i umieszczenia wyniku w miejscu przeznaczenia.
Miejsce przeznaczenia zawiera kod uzupełnieniowy(dwójkowy) źródła. Przykładowo, jeżeli źródło ma
wartość 5, miejsce przeznaczenia będzie miało wartość -5.
Źródło i miejsce przeznaczenia muszą być adresami słów.
Aktualizacja arytmetycznych bitów statusowych
Na tym bicie: |
Procesor wykonuje: |
S:0/0 Bit przeniesienia (C) |
Kasuje przy 0 lub przeładowaniu |
S:0/1 Bit przeładowania (V) |
Ustawienie gdy nastąpiło przeładowanie, w innych przypadkach zerowanie. Przeładowanie następuje gdy źródło ma wartość -32.768.Przy przeładowaniu pojawia się również sygnał błędu drugorzędnego. W miejscu przeznaczenia umieszczona jest wartość 32.767.Jeżeli bit S:2/14 jest ustawiony, wówczas w miejscu przeznaczenia pozostawiony jest obcięty nadmiar bez znaku. Dla liczb zmiennoprzecinkowych, nadmiar z przeładowania pozostaje w miejscu przeznaczenia. |
S:0/2 Bit zerowania (Z) |
ustawienie gdy wynik jest zerem, w innych przypadkach zerowanie |
S:0/3 Bit znakowania (S) |
ustawienie gdy wynik jest wartością ujemną, w innych przypadkach zerowanie |
strona 4 -27 Podręcznik podstawowych instrukcji programowych
Ogólna charakterystyka instrukcji FIFO i LIFO
Instrukcja FIFO załadowuje słowa do pliku i pobiera je w tej samej kolejności jak zostały one wprowadzane. Pierwsze słowo wprowadzone jest pierwszym słowem wyprowadzonym.
Instrukcja LIFO załadowuje słowa do pliku i pobiera je w odwrotnej kolejności jak zostały one wprowadzane. Ostatnie słowo wprowadzone jest pierwszym słowem wyprowadzonym.
Parametry wprowadzone
W trakcie programowania niniejszej instrukcji wprowadzane są następujące parametry:
Źródłem jest adres słowa lub wartość stała (-32.768 do +32.767) która staje się kolejna wartością w stosie.
Miejscem przeznaczenia jest adres słowa w którym przechowywana jest wartość która wyprowadzana jest ze stosu.
Niniejsza instrukcja |
Pobiera wartości |
FFU z FIFO |
Pierwsze słowo |
LFU z LIFO |
Ostatnie słowo wprowadzone |
FIFO/LIFO są adresami stosu. Musza one być adresami słów w pliku bitowym, wejścia, wyjścia i pliku liczb całkowitych. W instrukcji FIFO należy używać tych samych adresów dla przynależnych instrukcji
FFL i FFU, w instrukcji LIFO należy używać tych samych adresów dla przynależnych instrukcji
LFL i LFU.
Długość odpowiada maksymalnej ilości słów w stosie. Dla procesorów SLC ilość ta wynosi 128 słów, dla sterowników MicroLogix 1000 - 105 słów. Adresowanie długości odbywa się przez mnemoniczny symbol (LEN).
Pozycja jest to miejsce następne w kolejności do tego które zostało użyte przez instrukcje do załadowania danych w stosie. Wartość ta zmienia się w po każdym załadowaniu lub pobraniu danych .
Adresowanie pozycji odbywa się przez mnemoniczny symbol (POS).
Sterowanie jest adresem pliku sterowania. W tym elemencie przechowywane są bity statusowe, długości i lokalizacji. Adresów tych nie należy używać w żadnej innej instrukcji.
strona 4 -28 Podręcznik podstawowych instrukcji programowych
Bity statusowe adresowane są w ramach struktury przez symbol mnemoniczny. Zasada ta dotyczy:
Bit pustego stosu EM (bit 12) ustawiany przez procesor w celu zaznaczenia że stos jest pusty
Bit wykonania DN (bit 13) ustawiane przez procesor w celu zaznaczenia że stos jest pełny. Zapobiega to dalszemu Łączę wyrazy szacunku ładowaniu do stosu.
Bit aktywności EU (bit 14) instrukcji FFU/LFU jest ustawiany gdy następuje zmiana warunków obwodu z "fałszu " na "prawdę" obwodu (rung) FFU/LFU i zerowany gdy następuje zmiana warunków z "prawdy" na "fałsz".
Bit aktywności EN (bit 15) instrukcji FFU/LFU jest ustawiany gdy następuje zmiana warunków obwodu z "fałszu " na "prawdę" obwodu (rung) FFL/LFL i zerowany gdy następuje zmiana warunków z "prawdy" na "fałsz".
Zmiany w rejestrze indeksowania S:24
Wartość zawarta w S:24 jest nadpisywana wartością położenia gdy następuje zmiana warunków obwodu (rung) FFL/FFU i LFL/LFU. Dla FFL/LFL wartość położenia określana jest na początku instrukcji w S:24. Dla FFU/LFU wartość położenia jest określana na zakończenie instrukcji w S:24.
Gdy następuje ustawienie bitu DN ,zmiana warunków obwodu z "fałszu" na "prawdę" nie zmienia wartości położenia i wartości rejestru indeksowania. Gdy ustawiony zostaje bit EM zmiana warunków obwodu FFL/LFL z "fałszu" na "prawdę" również nie zmienia wartości położenia i wartości rejestru indeksowania.
strona 4 -29 Podręcznik podstawowych instrukcji programowych
Ładuj stos FIFO(FFL),zdejmij ze stosu FIFO(FFU)
Ma zastosowanie do ML 1000,Sterowników SLC 5/02,5/03,5/04,5/05
Instrukcja wyjścia
Instrukcje FFL i FFU stosuje się parami. Instrukcja FFL załadowuje słowa do pliku założonego przez użytkownika jako stos FIFO. Instrukcja FFU pobiera słowa ze stosu FIFO, w tej samej kolejności w jakiej były one wprowadzane.
Parametry jakie są stosowane przy programowaniu pary instrukcji FFL-FFU podano poniżej:
FFL
ŁADUJ STOS EN M.przeznaczenia Położenie
Źródło N7:10 DN N7:11 N7:12 0
FIFO #N7:12 EM Instrukcja FFU N7:13 1
Sterowanie R6:0 pobiera dane N7:14 2
Długość 34 ze stosu #N7:12 3
Położenie 9 i pozycji 0,N7:12 4
5
FFU 6 do dyspozycji
ZDEJMIJ ZE STOSU EU 7 stosu FIFO jest
FIFO #N7:12 DN Źródło 8 34 słów,od
M.przeznacz. N7:11 EM N7:10 9 N7:12 do N7:45
Sterowanie R6:0 Instrukcja FFL
Długość 34 ładuje dane do
Położenie 9 stosu #N7:12
w najbliższym
dostępnym położeniu
(w tym przypadku 9) N7:45 33
Działanie instrukcji FFL: Gdy warunki obwodu (rung) zmienią się z "fałszu" na "prawdę",ustawiany jest bit wykonania(EN) instrukcji FFL. Pozwala to na załadowanie wartości źródła N7:10 do stosu w położenie 9.Wartość położenia wówczas wzrasta.
Instrukcja FFL załadowuje element przy każdej zmianie warunków obwodu (rung) z "fałszu" na "prawdę" do momentu w którym stos zostaje napełniony (załadowane 34 elementy).Procesor ustawia wówczas bit wykonania (DN) co zapobiega dalszemu ładowaniu stosu.
Działanie instrukcji FFU: Gdy warunki obwodu (rung) zmienią się z "fałszu" na "prawdę",ustawiany jest bit wykonania(EU) instrukcji FFU. Pozwala to na pobieranie zawartości elementu stosu w położeniu 0 do miejscza przeznaczenia N7:11.Wszystkie dane stosu są przesuwane o jeden w kierunku zerowym a element o najwyższym numerze kolejnym jest zerowany (osiąga położenie zerowe).Wartość położenia wówczas obniża się.
Instrukcja FFL pobiera element przy każdej zmianie warunków obwodu (rung) z "fałszu" na "prawdę" do momentu w którym stos zostaje opróżniony. Procesor ustawia wówczas bit pustego stosu (EM).
strona 4 -30 Podręcznik podstawowych instrukcji programowych
Ładuj stos LIFO (LFL),zdejmij ze stosu LIFO (LFU)
Ma zastosowanie do ML 1000,Sterowników SLC 5/02,5/03,5/04,5/05
Instrukcja wyjścia
Instrukcje LFL i LFU stosuje się parami. Instrukcja LFL załadowuje słowa do pliku założonego przez użytkownika jako stos LIFO. Instrukcja LFU pobiera słowa ze stosu LIFO, w odwrotnej kolejności w jakiej były one wprowadzane.
Parametry jakie są stosowane przy programowaniu pary instrukcji LFL-LFU podano poniżej:
LFL
ŁADUJ STOS EN M.przeznaczenia Położenie
Źródło N7:10 DN N7:11 N7:12 0
LIFO #N7:12 EM Instrukcja LFU N7:13 1
Sterowanie R6:0 pobiera dane N7:14 2
Długość 34 ze stosu #N7:12 3
Położenie 9 i pozycji 8 4
5
LFU 6 do dyspozycji
ZDEJMIJ ZE STOSU EU 7 stosu LIFO jest
LIFO #N7:12 DN Źródło 8 34 słów,od
M.przeznacz. N7:11 EM N7:10 9 N7:12 do N7:45
Sterowanie R6:0 Instrukcja LFL
Długość 34 ładuje dane do
Położenie 9 stosu #N7:12
w najbliższym
dostępnym położeniu
(w tym przypadku 9) N7:45 33
Działanie instrukcji LFL: Gdy warunki obwodu (rung) zmienią się z "fałszu" na "prawdę",ustawiany jest bit wykonania(EN) instrukcji LFL. Pozwala to na załadowanie wartości źródła N7:10 do stosu w położenie 9.Wartość położenia wówczas wzrasta.
Instrukcja LFL załadowuje element przy każdej zmianie warunków obwodu (rung) z "fałszu" na "prawdę" do momentu w którym stos zostaje napełniony (załadowane 34 elementy).Procesor ustawia wówczas bit wykonania (DN) co zapobiega dalszemu ładowaniu stosu.
Działanie instrukcji LFU: Gdy warunki obwodu (rung) zmienią się z "fałszu" na "prawdę", ustawiany jest bit wykonania(EU) instrukcji FFU. Pozwala to na pobieranie zawartości ostatniego elementu załadowanego do stosu (z poprzedniego położenia pomniejszonego o 1 ) i umieszczenia go w miejscu przeznaczenia N7:11.Wartość położenia wówczas obniża się.
Instrukcja FFL pobiera element przy każdej zmianie warunków obwodu (rung) z "fałszu" na "prawdę" do momentu w którym stos zostaje opróżniony. Procesor ustawia wówczas bit pustego stosu (EM).
strona 4 -31 Podręcznik podstawowych instrukcji programowych
Instrukcje obsługi danych w zastosowaniu do urządzenia do nawiercania warstw papieru.
Przykłady zastosowań.
Rozdział ten prezentuje obwody programu drabinkowego wykorzystujące instrukcje obsługi danych 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.
Nawiązanie do Pliku Nr 7
Obwód (rung) 7:3
Obwód ten ma za zadanie przesunąć pojedynczą liczbę w kodzie BCD (sygnał z pokrętła ręcznego) do wewnętrznego rejestru liczb całkowitych. Jest to niezbędne do prawidłowego dostosowania czterech sygnałów wejścia BCD zanim nastąpi wykonanie instrukcji FRD (kod BCD do liczb całkowitych).Pokrętło ręczne jest wykorzystywane do ustawiania grubości warstwy papieru która ma być nawiercona. Przyrosty grubości odpowiadają 1/4" ,pełny zakres zmian wynosi 1/4" - 2,25".
Bit w BCD Bit w FRD
I:1.0 N7:14
11 0
Bit 1 w BCD Bit 1 w FRD
I:1.0 N7:14
12 1
Bit 2 w BCD Bit 2 w FRD
I:1.0 N7:14
13 2
Bit 3 w BCD Bit 3 w FRD
I:1.0 N7:14
14 3
Obwód (rung) 7:4
Obwód ten przetwarza wartości z pokrętła ręcznego z kodu BCD na liczby całkowite. Operacja ta jest wykonywana ze względu na to że procesor działa na liczbach całkowitych. Obwód ten również kontroluje (debounce) sygnał z pokrętła po to aby przetwarzanie zachodziło wyłącznie w odniesieniu do prawidłowych wartości dla kodu BCD. Wartości nieprawidłowe mogą być generowane przy poruszaniu pokrętła przez operatora, w wyniku opóźnień w działaniu filtra na wejściu w odniesieniu do poszczególnych 4 obwodów wejścia przenoszących kod BCD.
Bit pierwszego Wartość wejścia BCD Wartość (debounced)
przejścia poprzedniego skanu w kodzie BCD
S:1 +EQU +FRD
RÓWNE przekształcenie z bcd
Źródło A N7:13 Źródło N7:14
0 0000
0000
Źródło B N7:14 M.przeznacz.N7:12
0 1
Bit Bit
przeładowania błędu
rej.matem. w rej.matem.
S:0 S:5
(U)
1 0
wartość wejścia w BCD
z aktualnego skanu
+MOV
PRZESUŃ
Źródło N7:14
0
M.przeznacz.N7:13
0
Obwód (rung) 7:5
Niniejszy obwód zapewnia uniknięcie nastawienia grubości warstwy na 0.Gdyby do tego doszło, uwzględnienie żywotności wiertła mogłoby być nieskuteczne, co powodować może by złą jakość otworu wykonywanego tępym wiertłem. Z tego powodu minimalna grubość zastosowana do wyliczenia żywotności wiertła wynosi 1/4".
Wartość (debounced) Wartość (debounced)
w kodzie BCD w kodzie BCD
+EQU +MOV
RÓWNE PRZESUŃ
Źródło A N7:12 Źródło 1
1
Źródło B 0 M.przeznacz. N7:12
1