E-AUTOMATYKA

www.plcs.net.pl

  • Zwiększ rozmiar czcionki
  • Domyślny  rozmiar czcionki
  • Zmniejsz rozmiar czcionki
Home Programowanie PLC Kurs PLC Typy danych w sterownikach PLC

Typy danych w sterownikach PLC

Email
Ocena użytkowników: / 8
SłabyŚwietny 

W tym rozdziale opiszemy typy i zakresy danych występujących w programach . Z rozdziałem tym warto dokładnie się zapoznać , gdyż informacje tu zawarte są niezbędne przy pisaniu programów na sterowniki PLC na każdym etapie zaawansowania. 

 

Typy danych

W naszym przypadku danymi są wszystkie informacje przychodzące do sterownika „I” ( wejścia cyfrowe, analogowe itd. ), wychodzące ze sterownika „Q” (wyjścia cyfrowe .... itd. ) oraz wewnętrzne sterownika „M” ( zmienne czyli markery ) .

Podstawową jednostką „miary” jest bit może on przyjmować tylko dwie wartości – 0 lub 1 kolejne jednostki składają się z odpowiedniej ilości bitów. jak w tabeli poniżej

 

oznaczenie

typ danej

ilość bitów

zakres wartości

opis

BOOL

Boolean

1

0-1

Zmienne tego typu mogą przyjmować tylko dwie wartości czyli "0" lub "1" .

BYTE

ciąg 8 bitów

8

nie posiada wartości numerycznej

 

WORD

ciąg 16 bitów

16

nie posiada wartości numerycznej

 

DWORD

ciąg 32 bitów

32

nie posiada wartości numerycznej

 

LWORD

ciąg 64 bitów

64

nie posiada wartości numerycznej

 

Typy zmiennych o wartości wyrażonej w systemie dziesiętnym , są to liczby całkowite ( integer ), których wartość wyliczana jest ze stanu odpowiednich bitów (konwersja z zapisu dwójkowego na zapis dziesiętny)

SINT

short integer

8

-128 : 127

"Krótka" liczba całkowita .

INT

integer

16

-32 768 : 32 767

Liczba całkowita .

DINT

double integer

32

-231 : (231-1)

"Podwójna" liczba całkowita .

LINT

long integer

64

-263 : (263-1)

"Długa" liczba całkowita .

USINT

unsigned Short integer

8

0 : 255

"Krótka" liczba całkowita nieznakowana ( przyjmuje tylko wartości dodatnie).

UINT

unsigned integer

16

0 : 65535

Liczba całkowita nieznakowana ( przyjmuje tylko wartości dodatnie).

UDINT

unsigned double integer

32

0 : (232-1)

" Podwójna "liczba całkowita nieznakowana ( przyjmuje tylko wartości dodatnie).

ULINT

unsigned long integer

64

0 : (264-1)

" długa "liczba całkowita nieznakowana ( przyjmuje tylko wartości dodatnie).

 

STRING

 

-

-

Dowolne znaki czyli litery i cyfry , jednak cyfry będą traktowane jako znak a nie określona wartość .

TIME

czas

-

 

typ danej występujący w timerach format zapisu T#XdXhXmXsXms gdzie X to określona wartość i kolejno d- dni, h-godziny,m-minuty, s-sekundy, ms- milisekundy

Pamięć sterownika

Pamięć w sterowniku PLC podzielona jest na dwa główne obszary :

– Obszar pamięci programu , tutaj przechowywany jest kod wprowadzonego programu

– Obszar pamięci danych w której , przechowywane są wszystkie dane wykorzystywane przez sterownik , a dokładniej przez wprowadzony program

Sposób oznaczania i adresowania komórek pamięci przedstawia diagram poniżej :

 

 

Poniżej tabela przedstawiająca strukturę pamięci w której przechowywane są dane.

 

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

M0.0

M0.1

M0.2

M0.3

M0.4

M0.5

M0.6

M0.7

M1.0

M1.1

M1.2

M1.3

M1.4

M1.5

M1.6

M1.7

MB 0

MB 1

MW0

M4.0

M4.1

M4.2

M4.3

M4.4

M4.5

M4.6

M4.7

M5.0

M5.1

M5.2

M5.3

M5.4

M5.5

M5.6

M5.7

MB 4

MB 5

MW4

Jak widać w tabeli powyżej, i należy o tym zawsze pamiętać, marker nr 0 typu WORD ( MW0 ) składa się z bajtów 0 i 1 (MB0 i MB1) te z kolei z bitów 0.0 do 0.7 i 1.0 do 1.7 . , analogicznie następne MW2 , MW4 itd.

Adresując komórkę typu WORD jako adres podajemy numer „młodszego” bajta .

Wpisanie konkretnej wartości liczbowej w kodzie dziesiętnym np. 50 :

 

 

powoduje odpowiednie ustawienie bitów w bajcie MB0.0 w tym przypadku jest to:

 

wartość danej = 50

MB 0.0 = 50 ( usint )

M0.0

M0.1

M0.2

M0.3

M0.4

M0.5

M0.6

M0.7

0

1

0

0

1

1

0

0

wynikające z konwersji wartości dziesiętnej na dwójkową .

Warto zwrócić uwagę na sposób numeracji bitów , ale także zmiennych typu BYTE , WORD , która rozpoczyna się od 0. Czyli bit pierwszy w kolejności (najmłodszy) będzie miał oznaczenie np M0.0 a nie jak wydawałoby się w sposób naturalny M 0.1.Dotyczy to również pozostałych typów zmiennych.

Często popełnianym przez początkujących programistów błędem jest wpisanie wartości w bajta np. jak wyżej a potem wykorzystanie w programie bitu wchodzącego w skład tego samego bajta co powoduje zmianę jego wartości i to w sposób znaczący.

Na przykład ustawienie „1” w markerze M0.0 spowoduje zmianę wartości MB0 z 50 na 51 jednak już zmiana na „1” w markerze M0.7 zmieni wartość w MB0 na 178. Sterownik wszystkie dane zachowuje w kodzie dwójkowym i tylko w zależności od zadeklarowanego typu markera odpowiednio je przedstawia. Szerzej zajmiemy się tym zagadnieniem w rozdziale o operacjach na bitach.

Kolejną rzeczą na którą należy zwracać szczególną uwagę jest zakres wartości jakie mogą przyjmować zmienne . Jako , że każda zmienna ma określoną wartość maksymalną zdarzyć się może "przekręcenie " wartości . Na przykład dodanie 1 do zmiennej typu USINT ( 0 : 255) kiedy posiada już wartość równą 255 spowoduje ustawienie w tej zmiennej wartości 0 a nie 256

 



Język

Polish Afrikaans Albanian Arabic Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Finnish French Georgian German Greek Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Maltese Norwegian Persian Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swedish Turkish Ukrainian Vietnamese Yiddish

Wyszukiwanie Produktów

Polecamy w Sklepie

270,00 zł
( 332,10 zł z VAT )


647,47 zł 550,35 zł
( 676,93 zł z VAT )
 Oszczedzasz: 15.00%
Darmowa przesyłka