background image

Programowanie Wybranych Sterowników Przemysłowych  Strona 1 z 3 

Laboratorium 3 

Biblioteka Shift +Rotate 

 

 

1.  Cel ćwiczenia 

 

Celem  ćwiczenia  jest  zapoznanie  się  z  instrukcjami  programu  TIA  Portal,  które  operują  na 

bitach. Za pomocą funkcji Shift + Rotate można przesuwać, obracać bity w dowolnym kierunku i o 

dowolną  wartość.  Są  to  podstawowe  operacje  służące  między  innymi  do  mnożenia  dwóch  liczb, 

obliczania sum kontrolnych CRC.

 

2.  Przebieg ćwiczenia 

 

 

Ćwiczenie jest podzielone na dwa etapy. W pierwszej części są opisane wszystkie elementy 

biblioteki  Shift  Rotate. W drugim  etapie są  przedstawione  przykładowe  układy  wykorzystujące  dane 

funkcje. 

 

2.1. Instrukcje z biblioteki Shift Rotate 

 

Wszystkie elementy biblioteki Shift Rotate są przedstawione na rysunku 1

.  

 

 

Shift right – przesuwanie danych w prawo 
Shift left – 
przesuwanie danych w lewo 
Rotate right – 
rotacja danych w prawo 
Rotate left – 
rotacja danych w lewo 

 

Rysunek 1 Elementy biblioteki Shift + Rotate 

 

Funkcje  przesuwania  (Shift  left,  Shift  right)  służą  do  przesuwania  bitów  danych  o  zadaną 

liczbę. Wszystkie dane, które wychodzą poza zakres typu danej zostają kasowane. W przesuwaniu w 

prawo  nowe  bity,  które  są  wprowadzane  mają  wartość  taką  samą  jak  bit  znaku  liczby.  Przy 

przesuwaniu  w  lewo  liczby  dochodzą  od  strony  najmłodszego  bitu  dodatkowe  zera.  Przykładowe 

przesunięcia liczby dodatniej są przedstawione na rysunku 2, oraz dla liczby ujemnej - rysunek 3. W 

sytuacji, gdy liczba przesunięć bitów wychodzi poza zakres danego typu dana zostaje wyzerowana. 

 

 

background image

Programowanie Wybranych Sterowników Przemysłowych  Strona 2 z 3 

Laboratorium 3 

Biblioteka Shift +Rotate 

 

 

 

 

 

Rysunek 2 Przesunięcie liczby 1234 o 2 miejsca w prawo 

 

 

 

Rysunek 3 Przesunięcie liczby -1234 o 2 miejsca w prawo 

Rotacje danych (Rotate left, Rotate right) działają bardzo podobnie do funkcji przesuwania. W 

rotacji dane, które wychodzą poza zakres typu zostają przepisane z najmłodszego bitu do najstarszego 

(w  przypadku  rotacji  w  prawo)  lub  przepisaniu  z  najstarszego  bitu  do  najmłodszego  (w  przypadku 

rotacji w lewo). Przykładowe rotacje liczby dodatniej są  przedstawione na rysunku 4, oraz dla liczby 

ujemnej  -  rysunek  5.  W  przypadku,  gdy  liczba  przesunięć  bitów  wychodzi  poza  zakres  danego  typu 

dana zostaje obrócona o wartość modulo danego typu zmiennej. 

 

Uwaga! 

Liczby ujemne są zapisywane z wykorzystaniem uzupełnienia do dwóch. Zapis ten polega na 

przepisaniu od prawej strony wszystkich bitów do logicznej 1 włącznie. Następne bity są negowane. 

Do konwersji reprezentacji systemu liczbowego zmiennych warto wykorzystać Watch Table

w którym mamy możliwość zmiany typu na bieżąco. 

 

 

 

 

 

Rysunek 4 Rotacja liczby 1234 o 2 miejsca w prawo 

 

background image

Programowanie Wybranych Sterowników Przemysłowych  Strona 3 z 3 

Laboratorium 3 

Biblioteka Shift +Rotate 

 

 

 

 

 

 

 

Rysunek 5 Rotacja liczby -1234 o 2 miejsca w prawo

 

Zadanie 1  

Należy  zapoznać się z wszystkimi elementami  Shift Rotate w pomocy programu TIA Portal 

(nazwa funkcji >> przycisk „F1”). Na czym polega różnica pomiędzy przesunięciem, a rotacją?

 

Zadanie 2  

Należy sprawdzić, czy wartości z rysunków 2-5 zostały prawidłowo wyliczone. Zapisz wyniki 

w postaci dziesiętnej. 

Zadanie 3 

 

Należy wykonać następujące operacje na liczbie odpowiadającej numerowi albumu studenta: 

a)  przesunięcie w prawo liczby o 2 znaki, 

b)  rotacja w lewo liczby o 3 znaki, 

c)  przesunięcie w lewo liczby o 4 znaki, 

d)  rotacja w prawo liczby o 6 znaków. 

Wynik zapisz w postaci dziesiętnej i  szesnastkowej. Następnie należy napisać w postaci  dwójkowej 

wyniki poszczególnych etapów zadania wraz z prezentacją zmienionych wartości. 

Zadanie 4 

Należy zrealizować tożsame zadania z punktu poprzedniego „Zadanie 3” jednak jako liczbę 

wykorzystać swój ujemny numer albumu.