Typy danych

W poprzednim wpisie przedstawiłem Ci zmienne. Jak wiesz, każdej zmiennej podczas definicji trzeba nadać typ. Dzisiaj zajmiemy się podstawowymi typami, jakie występują w języku SCL. Znaczna większość z nich pokrywa się z typami występującymi w innych językach programowania.

Typy danych

W języku SCL występują dwa rodzaje typów zmiennych, proste oraz złożone. Teraz zajmiemy się typami prostymi. W skrócie można powiedzieć, że typy proste reprezentują wartości liczbowe, wartości logiczne oraz znaki.

Typ danych cechuje rozmiar (liczba bitów) oraz sposób reprezentacji.

W przypadku sterowników PLC wartości liczbowe są najczęściej reprezentowane w systemie:

binarnym – np. liczba 11 w systemie dzisiętnym będzie zapisane jako 2#00001011 w systemie binarnym. Zapis liczby w systemie binarnym trzeba poprzedzić znakami 2#,

dziesiętnym,

szesnastkowym – np. liczba 11 w systemie dzisiętnym będzie zapisane jako 16#B w systemie szesnastkowym. Zapis liczby w systemie szesnastkowym trzeba poprzedzić znakami 16#.

Typy proste

Typy proste reprezentujące wartość liczbową można podzielić na:

a) arytmetyczne całkowitoliczbowe

typ-danych-całkowityb) arytmetyczne zmiennoprzecinkowe

typ-danych-zmiennoprzecinkowychc) znakowe

typ-danych-znakowyd) inne

typ-danych-inne

Każdy wymieniony typ możesz wykorzystać podczas tworzenia zmiennej w bloku danych. Ostatnio tworzyłeś tagi typu Bool. Na podobnej zasadzie używasz innych typów.

Jako przykład utworzymy tag innego typu niż Bool. Tym razem zamiast odwoływać się do poszczególnych bitów w bajcie wyjściowym (adresie 0), zdefiniujemy tag typu Byte, aby przypisać nowy stan dla wszystkich wyjść za jednym razem.

W PLC tags tworzymy nową tablicę o nazwie Output, co przedstawia poniższy rysunek.

Output-tableUmieszczamy tag o nazwie Output typu Byte. W kolumnie Address należy wpisać adres QB0. Ponieważ będziemy odwoływać się do całego bajtu, więc w adresie pojawiła się litera B i następnie numer bajtu, czyli w naszym przypadku 0. Jak zapewne pamiętasz, adres fizyczny dla bajtu wyjść cyfrowych został ustawiony w konfiguracji sprzętowej sterownika. Domyślnie jest przydzielany bajt o adresie 0.

W bloku OB1 wykorzystamy utworzony tag o nazwie Output, do którego przypiszemy wartość 11 (czyli binarnie 2#00001011). Kod przedstawiono poniżej

OB1-kod

Jak widzisz, przypisanie wygląda w ten sam sposób, jak w przypadku przypisania do tegu typu Bool.

Pozostało tylko przeprowadzić kompilację całego projektu i zaprogramowanie wirtualnego sterownika.

Ostatni krok, to sprawdzenie aktualnej wartości tagu Output w symulatorze. Poniższy rysunek przedstawia utworzone tablice SIM_table.

sim-table

W tablicy Output_Byte widzisz, że tag Output wynosi aktualnie 11 (kolumna Monitor/Modify value). W kolumnie Bits jest przedstawiona binarna reprezentacja tej liczby. Po prawej stronie znajduje się najmniej znaczący bit (czyli w naszym przypadku to Q0.0). Kolejny bit (druga pozycja od prawej strony) to adres Q0.1.

W tablicy Output_Bit zostały przedstawione dokładnie wartości każdego z bitów odpowiadającym dostępnym wyjściom cyfrowym.

Zatem tylko wyjście o adresie Q0.2 jest w stanie niskim, co jest widoczne również w kolumnie Bits tablicy Output_Byte.

Jeżeli zastanawiasz się, dlaczego wyjście o adresie Q0.0 (MyOutput) jest w stanie, to już Ci mówie. W drugiej linii kodu znajdującego się w bloku OB1 następuje nadpisanie wartości, która została przypisana w pierwszej linii kodu już nową wartością.

//————-

Kurs-wideo-CZPP

Więcej w kursie wideo: Chcę zostać programistą PLC

Nagrania są dostępne w wersji online jak również na płytach DVD. Napisz mailem, jaką wersje wybierasz.

Podziel się tym wpisem na:
  • Facebook
  • Google Bookmarks
  • Twitter
  • Wykop

Komentarzy

  1. Michal.P.Gorny

    Dzień dobry.

    Świetnie, że taki kurs powstał. Trzymam kciuki. Powodzenia.

    ________________________________
    http://michalgorny.blogspot.com

    Powtórz

Pozostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>