Jeden z najczęściej używanych bloczków, ponieważ jest to chyba najbardziej wszechstronny z bloczków.
Z folderu MOVE na poziomie podstawowym (a takiego dotyczy ten podręcznik) powinieneś zainteresować się tylko jednym bloczkiem – „MOVE”.
Bloczek MOVE jak sama nazwa wskazuje….
Co słownik bab.la ma na ten temat
move {czas.} PL przenieść ruszyć poruszyć ruszać przesunąć skłonić przesiąść się zmienić miejsce przestawić się przetransportować przesiadać się przestawiać się przemieszczać się przestawić wodzić
(transfer of residence, company) przeprowadzka (feminine)the move took a day przeprowadzka trwała jeden dzieńthe firm’s move out of town wyprowadzka firmy z miastaour friends helped with the move przyjaciele pomogli nam w przeprowadzce ….
… służy do przesuwania (przesyłania i kopiowania) wartości wpisanej z ręki lub skopiowanej z wskazanego zakresu do podpiętego pod wyjście OUT1 adresu. Tylko tyle i aż tyle.
Co można za jego pomocą przesłać? Całkiem sporo. Poniżej pełna lista. (kliknij aby powiększyć)
Przetestujmy bloczek MOVE w praktyce
Wpisz w tablicy podglądu adres MW50 i odpal nasz symulator, aby przetestować poniższy program.
Network 1
Kopiowanie bezwarunkowe (przy każdym cyklu) cyfry „123” do MW50.
Network 2
Kopiowanie warunkowe (tylko gdy „ON” = 1 )
zawartości z IW2* do MW50.
*Co to za adres IW2 i co w nim jest zapisane?
„I” oznacza, że chodzi o wejścia, „W” że o 16 bitów, „2” że zaczynajcie się na bajcie o numerze 2. Co tam jest? To już zależy od tego co jest fizycznie wpięte pod tymi adresami i czy na poszczególnych wejściach jest napięcie (domyślnie 0). Bo każde wejście to inna potęga liczby „2” o czym pisałem w wcześniejszej lekcji.
MOVE i co dalej?
Bloczek MOVE w TIA Portal został rozbudowany o dodatkowe wyjścia. Po kliknięciu na słoneczko, możesz dodawać kolejne adresy, na które jednocześnie zostanie przesłana ta sama wartość. Dawniej (w Step7) trzeba było dla każdego adresu w LAD dodawać kolejny bloczek MOVE.
Zmiana formatu wyświetlania zmiennych
2# system binarny
16# szesnastkowy
liczba wpisana z ręki – DEC
Można to jednak zmienić (dla tagu, całego networku, lub nawet całego bloku) klikając prawym przyciskiem myszki.
Rozbieżność rozmiarów zmiennych
Podczas próby przesłania większej zmiennej do mniejsze, przesyłana będzie młodsza część, a resztę odcina.
To dlatego, ponieważ w przypadku wysyłania małych dodatnich liczb wartość zostanie przesłana prawidło, bo starsze bajty mogą być nieużywane (są na nich zera)
Podczas przesłania mniejszej
zmiennej do większej, ciąg bitów zostanie przesłany, a pozostałe bajty (starsze) zapełnione zerami, dzięki czemu wartość dodatnich zmiennych zostanie przesłana prawidłowo.
Jeżeli jednak będziesz wysyłać liczby ujemne, to wszystko się może posypać. bo bit odpowiedzialny za znak będzie nie na swoim miejscu (najbardziej na lewo).
Trzeba uważać przesyłając liczby do komórek o innym rozmiarze, bo to się zwyczajnie może nie udać. O zakresach zmiennych pisałem TUTAJ.
Używając MOVE UWAŻAJ NA…
To ważne więc warto powtórzyć:
Jeżeli wysyłasz zmienne tego samego rozmiaru i typu, nie musisz się niczym przejmować, ale…
Jeżeli wysyłasz MB1 do MD104, wypełnisz tylko jeden z 4 bajtów (MB107), a reszta zostanie dopełniona zerami. Wartość z MB1 zostanie prawidłowo wklejona do MD104, chyba że… W MB1 znajduje się liczba ujemna (tak jak na wcześniejszym obrazku ).
Przesyłając liczbę ujemną pomiędzy zmiennymi o różnych rozmiarach (np. z MB1 do MD104), musisz zastosować blok konwersji (ale o tym na kolejnej lekcji). Dlaczego? Upraszczać rzeczy – bit znaku będzie wklejony w złym miejscu i nie będzie interpretowany jako minus, ale jako pewna potęga liczby 2.(widać to w tabeli)
Kopiując wartość z MD100 do MB110, musisz być świadomy, że pierwszy adres jest 4 razy większy od drugiego, a więc nie zmieszczą się w nich te same wartości. System wycina (a tak naprawdę kopiuje) najmniej istotny bajt z MD100, czyli MB103, i wkleja go do MB110 – co widać na powyższej ilustracji. Jeżeli masz szczęście i przesyłasz liczbę z zakresu od 0 do 255 dla USInt albo od 0 do 127 (Sint), wszystko przebiegnie sprawnie. Chyba że w MD100 masz liczbę ujemną, ale to już wiesz…
Powrót do spisu treści szkolenia dla uczniów techników i studentów
Fundacja CALM edu dzieli się swoją wiedzą w całkowicie darmowy sposób i jest finansowana z środków prywatnych jej założyciela. Jeżeli jednak chcesz dołożyć swoją cegiełkę do rozwoju naszej fundacji i pomóc nam w przygotowaniu kolejnych darmowych ogólnodostępnych materiałów skorzystaj z komercyjnych szkoleń firmy CALM group, z których pośrednio przychód pozwala pokryć fundacyjne wydatki lub przekaż nam darowiznę na platformie Patronite (wkrótce)
Jeżeli jesteś przedstawicielem szkoły zainteresowanym przygotowaniem swoich nauczycieli do wyzwań edukacji 4.0 lub uczniów do egzaminów zawodowych, pójściem na studia czy przyszłą pracą z wykorzystaniem nowoczesnych technologi to zapraszamy do kontaktu. Lista komercyjnych szkoleń dostępna pod tym linkiem.
Na tej stronie dowiesz się wszystkiego na temat naszych działań.
Podoba Ci się to co robimy i chciałbyś dołączyć do zespołu aby dzielić się swoja widzą i doświadczeniami ? Skontaktuj się z nami !!!