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
Post powstał przy współpracy z firmą Stevia Automation Sp. z o. o.
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 zmiennych PLC
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ć.
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 !!!