Z tej prezentacji dowiesz się:
- czym są bity, bajty, słowa i podwójne słowa
- w jaki sposób odwoływać się do zakresów zmiennych
- w jaki sposób zbudowana jest pamięć PLC
Po co mi to?
Zrozumienie zakresów zmiennych jest kluczowe dla każdego studenta informatyki z wielu powodów:
1. Zarządzanie pamięcią: Zrozumienie zakresu zmiennych pozwala programistom na lepsze zarządzanie pamięcią. Na przykład, jeśli programista wie, że pewne dane nigdy nie przekroczą określonej wartości, może zdecydować się na użycie typu zmiennej, który zajmuje mniej pamięci. Dzięki temu programy działają efektywniej.
2. Unikanie błędów: Wiedza na temat zakresów zmiennych pomaga programistom unikać błędów. Na przykład, jeśli wartość przekracza zakres zmiennej, może to prowadzić do nieoczekiwanych wyników, które są trudne do zdiagnozowania. Korzystając z markerów (czemu dedykowany jest ten rozdział) musisz nieustanie mieć świadomość, gdzie w pamięci zaczyna i kończy się dana zmienna, bo inaczej dwa (lub więcej) kolejnych tagów może na siebie nachodzić i przyjmować losowe wartości.
3. Poprawność wyników: Rozumienie tego zagadnienia jest kluczowe do zapewnienia poprawności wyników. Jeżeli zmienna jest używana do przechowywania wyniku obliczeń, musi mieć wystarczająco duży zakres, aby pomieścić ten wynik. W przeciwnym razie wynik może zostać przycięty lub zniekształcony, co prowadzi do błędów.
4. Bezpieczeństwo aplikacji: Przekroczenie zakresu zmiennej może prowadzić do poważnych problemów z bezpieczeństwem. Ataki typu buffer overflow, gdzie atakujący próbuje wprowadzić więcej danych, niż może pomieścić bufor, są jednym z przykładów, gdzie niezrozumienie zakresu zmiennej może prowadzić do poważnych problemów.
Podsumowując, znajomość zakresów zmiennych to kluczowy aspekt programowania, który pomaga w tworzeniu efektywnych, poprawnych i bezpiecznych programów.
Standardowe zakresy
Bit – „b” – z ang. oznacza kawałek, odrobinę – jako że jest najmniejszy oznaczamy go małą literą b.
Bajt – z ang. Byte – oznaczamy go dużą literą „B”, ponieważ składa się z 8 bitów*.
Słowo – z ang. Word – dlatego litera „W”, składa się z 2 Bajtów, a tym samym 16 bitów.
Podwójne słowo – z ang. Double word – litera „D”, nazwa jest intuicyjna, bo składa się z = 2W = 4B = 32b
*W 1956 w komputerach IBM „Stretch” bajt miał 4 bity (16 różnych liczb zapisu), ale podczas produkcji zmniejszono tą liczbę do 3 bitów (8 liczb). Dopiero w 1964 wraz z komputerami IBM System/360 zaczęto kojarzyć bajt z 8 bitami.
Bity wchodzą w skład bajtów, mówiąc inaczej, każdy bajt zbudowany jest z 8 bitów, jest zbiorem 8 bitów – i niczego więcej. Adresując komórkę pamięci „M0.” – wskazujemy, że chcemy się odwołać do komórki pamięci – bitu – leżącego w bajcie o numerze 0. Bity w bajcie numerowane są od 7 do 0.


Wewnątrz MW0 znajduje się MB0 oraz MB1, z kolei w MD0 znajduje MW0 i MW2,
a tym są tam 4 bajty z których zbudowane są te dwa słowa.
Z powyższej ilustracji jasno wynika, że niektóre adresy mogą na siebie nachodzić, co stanowi olbrzymie zagrożenie. Jeżeli wyślesz (np. poprzez kolumnę Modify w Watch Table) liczbę 111 do MD2 to zmodyfikujesz także wartości w wszystkich adresach, które mają z MD2 część wspólną lub z których jest ta zmienna zbudowana, to jest: MB2, MB3, MB4, MB5, a także MW1, MW2, MW3, MW4, MW5 oraz MD0, MD1, MD3, MD4 i MD5.
Kolejny wolny adres
Cała sztuka prawidłowego zarządzania pamięcią sterownika polega na świadomym wybieraniu wolnych adresów, które nie nadpisują się z pozostałymi. Poniższa ilustracja stanowi graficzną interpretację takiego prawidłowego zarządzania pamięcią.

W jaki sposób sobie radzić, gdy nie mamy tego wszystkiego rozrysowanego?

Wiedz, że istnieje kilka alternatyw dla markerów, które pod pewnymi względami są nawet od nich wygodniejsze. Jednak, że bloki DB, i interfejsy funkcji nie mieszczą się w podstawie programowej, dlatego o nich nie będziemy mówić.
Powyższy post to fragment z najnowszej wersji darmowego Podręcznika Programowania Sterowników PLC – „5xP PLC 1200”, który możesz pobrać z strony
5xP PLC 1200

WESPRZYJ FUNDACJE CALM EDU
SZKOLENIA DLA SZKÓŁ
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.
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)
Idea która nam przyświeca:
Głównym celem edukacji nie jest zdobycie wiedzy, a dopiero praktyczne jest wykorzystanie do zmieniania świata na lepsze, dlatego w ramach działań fundacji CALM edu chcemy nauczyć wszystkich ludzi o młodych umysłach (niezależnie od wieku) matematyki, fizyki, programowania, nowoczesnych technologii …. Wszystkiego tego co posłuży nam do budowania lepszego jutra.
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 !!!