S7-1200_cz.1.pdf

(350 KB) Pobierz
677322050 UNPDF
Przechowywanie danych, obszary pamięci i ich adresowanie
Przechowywanie danych,
obszary pamięci i ich
adresowanie
Dodatkowe materiały
na CD i FTP
W  artykule przedstawiamy wybrane możliwości sterowników z  serii
S7-1200 – doskonale wyposażonych następców niezwykle popularych
w  Polsce sterowników S7-200.
zakończeniu wykonywania tego bloku
kodu, CPU realokuje pamięć lokalną na
potrzeby innych bloków.
– odwołania, takie jak as I0.3 i Q1.7 reali-
zują dostęp do obrazu procesu. W celu
dostępu do i zycznego wejścia lub wyj-
ścia do odwołania należy dodać „:P” (na
przykład: I0.3:P, Q1.7:P, lub „Stop:P”).
Różne obszary pamięci mają swoje uni-
kalne adresy. Program użytkownika wyko-
rzystuje te adresy w celu uzyskania dostępu
do informacji przechowywanych w  tych
miejscach pamięci.
Aby uzyskać dostęp do pojedynczego
bitu w obszarze pamięci należy podać jego
adres, który składa się z identyi katora ob-
szaru pamięci, adresu bajtu i numeru bitu.
Przykład dostępu do bitu (zwanego również
adresowaniem byte.bit ) jest pokazany poni-
żej. W tym przykładzie po identyi katorze
Jednostka centralna sterowników S7-
1200 dysponuje kilkoma sposobami prze-
chowywania danych podczas wykonywania
programu użytkownika ( tab. 1 ):
– lokalizacje pamięci: CPU dzieli pamięć
na różne specjalizowane obszary – wej-
ścia (I), wyjścia (Q), pamięci bitowej (M),
bloków danych (DB) i pamięci lokalnej
lub chwilowej (L). Program użytkownika
ma dostęp (dla odczytu i zapisu) do da-
nych przechowywanych w tych obsza-
rach.
– bloki danych (DB): DB mogą być wyko-
rzystywane w  programie użytkownika
do przechowywania danych. Dane prze-
chowywane w DB nie są wymazywane,
gdy blok danych zostaje zamknięty, lub
gdy blok kodu skojarzony z tym blokiem
danych zostanie zakończony. Są dwie
kategorie DB: globalne DB: przechowują
dane, które mogą być wykorzystywane
przez inne wszystkie inne bloki; blok da-
nych instance DB: przechowują dane dla
określonych FB i ich struktura jest zgod-
na z parametrami używanymi przez FB.
– pamięć chwilowa: za każdym razem gdy
wywoływany jest blok kodu, system ope-
racyjny CPU alokuje chwilową (lokalną)
pamięć (L), która jest wykorzystywana
podczas wykonywania tego bloku. Po
ELEKTRONIKA PRAKTYCZNA 1/2010
117
AUTOMATYKA I MECHATRONIKA
S7-1200
677322050.011.png 677322050.012.png
AUTOMATYKA I MECHATRONIKA
Tab. 1.
Obszar pamięci
Opis
Wymuszony Trwały
obraz procesu – wejście
I_:P
(i zyczne wejście)
Skopiowany na początku cyklu programu stan wejść i zycznych
Tak
Nie
Bezpośredni odczyt wejściowych punktów i zycznych CPU, SB, SM Nie
Nie
Q
obraz procesu – wyjście
Q_:P
(i zyczne wyjście)
Stan skopiowany na początku cyklu programu do wyjść i zycznych Tak
Nie
Bezpośredni zapis do wyjściowych punktów i zycznych CPU, SB, SM Nie
Nie
M
pamięć bitowa
Pamięć sterująca i danych
Nie
Tak
L
pamięć chwilowa
Chwilowe dane dla bloku, lokalne dla tego bloku
Nie
Nie
DB
blok danych
Pamięć danych, jak również parametrów dla FB
Nie
Tak
obszaru pamięci i adresie bajtu (I = wejście
i 3 = bajt 3) podany jest, oddzielony kropką
(„.”), adres bitu (bit 4).
podając nazwę tagu jako parametr instrukcji.
Opcjonalnie, jako parametr można również
podać argument bezwzględny (pamięć, ob-
szar, rozmiar i przesunięcie). W przykładach
podanych w  kolejnych częściach przed-
stawiono w jaki sposób podawać argument
bezwzględny. Na początku argumentu bez-
względnego, program edytora automatycz-
nie dostawia znak %. W programie edytora
można przełączać aktualny widok na jeden
z trzech: symboliczny, bezwzględny i sym-
boliczny lub bezwzględny.
I (obszar wejściowy obrazu procesu) :
CPU próbkuje stan punktów wejściowych
peryferii (i zycznych) tuż przed wykona-
niem cyklicznego OB w każdym cyklu pro-
gramu. Użytkownik ma dostęp do bitów,
bajtów, słów i podwójnych słów należących
do obszaru wejściowego obrazu procesu. Do-
puszczalny jest zarówno zapis jak i odczyt
danych, ale zwykle dane z obszaru wejścio-
wego obrazu procesu są tylko odczytywane.
Dostęp poprzez I_:P jest również ogra-
niczony do takiej liczby wejść, która jest ob-
sługiwana przez pojedynczą CPU, SB lub SM
zaokrąglonej w górę do najbliższego pełnego
bajtu. Na przykład, jeżeli wejścia 2 DI/2 DQ
SB są tak skoni gurowane, że ich adresowanie
rozpoczyna się od I4.0, to te punkty wejścio-
we są dostępne jako I4.0:P i I4.1:P lub jako
IB4:P. Dostęp do I4.2:P ÷ I4.7:P nie jest od-
rzucany, ale nie ma żadnego sensu ponieważ
te punkty nie są używane. Dostęp do IW4:P
i ID4:P jest zabroniony ponieważ jest przekro-
czony bajt przesunięcia powiązany z tym SB.
Dostęp poprzez I_:P nie wpływa na war-
tości pamiętane w obszarze wejściowym ob-
razu procesu.
(1) Identyi kator ob-
szaru pamięci
(2) Adres bajtu: bajt
3 (trzeci bajt)
(3) Kropka rozdziela-
jąca adres bajtu od
numeru bitu
(4) położenie bitu
w bajcie (bit 4 z 8)
(5) Bajty obszaru
pamięci
(6) Bity wybranego
bajtu
bit
I[adres bajtu].
[adres bitu]:P
I0.1:P
bajt, słowo
lub podwójne
słowo
I[rozmiar][ad-
res startowego
bajtu]:P
IB4:P, IW5:P
lub ID12:P
Użytkownik może uzyskać dostęp do
danych zawartych w większości obszarów
pamięci (I, Q, M, DB i L) jako bajtów, słów
lub podwójnych słów stosując format „adre-
sowania bajtowego”. W celu uzyskania do-
stępu do bajtu, słowa lub podwójnego słowa
w pamięci, należy podać adres w podobny
sposób, jaki stosuje się do adresowania bi-
tów. Ten adres zawiera identyi kator obsza-
ru, oznaczenie rozmiaru danych i adres bajtu
początkowego bajtu, słowa lub podwójnego
słowa. Rozmiar oznacza się jako bajt (B), sło-
wo (W) lub podwójne słowo (DW) (przykła-
dowo: IB0, MW20, QD8).
W celu uzyskania bezpośredniego dostę-
pu do i zycznych wejść lub i zycznych wyjść,
do adresu lub tagu należy dołączyć „:P” (na
przykład: I0.3:P, Q1.7:P lub „Stop:P”).
Q (obszar wyjściowy obrazu procesu) :
CPU kopiuje wartości pamiętane w obszarze
wyjściowym obrazu procesu do i zycznych
punktów wyjściowych. Użytkownik ma do-
stęp do bitów, bajtów, słów i podwójnych
słów należących do obszaru wyjściowego
obrazu procesu. Dla obszaru wyjściowego
obrazu procesu dopuszczalny jest zarówno
zapis jak i odczyt danych.
bit
I[adres bajtu].
[adres bitu]
I0.1
bajt, słowo
lub podwójne
słowo
I[rozmiar][adres
startowego
bajtu]
IB4, IW5 lub
ID12
Dołączając do adresu „:P” można bez-
pośrednio odczytywać cyfrowe i analogowe
wejścia CPU, SB lub SM. Różnica w dostę-
pie przy wykorzystaniu adresowania I_:P za-
miast I polega na tym, że dane są pobierane
bezpośrednio z  odczytywanych punktów,
a nie z obszaru wejściowego obrazu procesu.
Ponieważ dane są odczytywane bezpośred-
nio ze swojego źródła, a nie z kopii utworzo-
nej podczas ostatniego uaktualniania obsza-
ru wejściowego obrazu procesu, więc dostęp
poprzez I_:P jest nazywany „bezpośrednim
odczytem”.
Ponieważ stan i zycznych punktów wej-
ściowych jest ustawiany bezpośrednio z urzą-
dzeń zainstalowanych na obiekcie i połączo-
nych z tymi punktami, więc zapis do tych
punktów jest zabroniony. Inaczej mówiąc
dostęp poprzez I_:P może być tylko odczy-
tem, w przeciwieństwie do dostępu poprzez
I, który obejmuje zarówno odczyt, jak i zapis.
bit
Q[adres ba-
jtu].[adres
bitu]
Q1.1
bajt, słowo
lub podwój-
ne słowo
Q[rozmiar]
[adres
startowego
bajtu]
QB5, QW10, QD40
Dostęp do danych w obszarach
pamięci CPU
Pakiet narzędziowy TIA umożliwia pro-
gramowanie symboliczne. Typowo, w  tagach
PLC, bloku danych lub blokach OB, FC lub
FB są tworzone tagi . Te tagi zawierają na-
zwę, typ danych, przesunięcie i komentarz.
Ponadto w bloku danych można wyspecyi -
kować wartość początkową. Te tagi można
wykorzystywać podczas programowania,
Dołączając do adresu „:P” można bezpo-
średnio zapisywać dane do cyfrowych i ana-
logowych wyjść CPU, SB lub SM. Różnica
w  dostępie przy wykorzystaniu adresowa-
nia Q_:P zamiast Q polega na tym, że dane,
oprócz wpisania do obszaru wyjściowego
obrazu procesu są również przesyłane bez-
pośrednio do adresowanych punktów (są za-
pisywane do dwóch miejsc). Ponieważ dane
są przesyłane bezpośrednio do punktów do-
celowych, które nie muszą czekać na kolejne
118
ELEKTRONIKA PRAKTYCZNA 1/2010
677322050.013.png 677322050.014.png
Przechowywanie danych, obszary pamięci i ich adresowanie
uaktualnienie obszaru wyjściowego obrazu
procesu, więc dostęp poprzez Q_:P jest nazy-
wany „bezpośrednim zapisem”.
Ponieważ wyjściowe punkty izyczne
bezpośrednio sterują urządzeniami zainsta-
lowanymi na obiekcie, które są do tych punk-
tów podłączone, więc odczyt tych punktów
jest zabroniony. Inaczej mówiąc dostęp po-
przez Q_:P może być tylko zapisem, w prze-
ciwieństwie do dostępu poprzez Q, który
obejmuje zarówno odczyt, jak i zapis.
Dostęp poprzez I_:P jest również ograni-
czony do takiej liczby wyjść, która jest obsłu-
giwana przez pojedynczą CPU, SB lub SM
zaokrąglonej w górę do najbliższego pełnego
bajtu. Na przykład, jeżeli wyjścia 2 DI/2 DQ SB
są tak skonigurowane, że ich adresowanie roz-
poczyna się od Q4.0, to te punkty wyjściowe są
dostępne jako Q4.0:P i Q4.1:P lub jako QB4:P.
Dostęp do Q4.2:P ÷ Q4.7:P nie jest odrzucany,
ale nie ma żadnego sensu ponieważ te punkty
nie są używane. Dostęp do QW4:P i QD4:P jest
zabroniony ponieważ jest przekroczony bajt
przesunięcia powiązany z tym SB.
Dostęp poprzez Q_:P wpływa zarówno na
stan wyjść izycznych, jak i na wartości pamię-
tane w obszarze wyjściowym obrazu procesu.
bit
M[adres
bajtu].[adres
bitu]
M26.7
DB (blok danych) : Pamięć DB stosuje się
do pamiętania różnych typów danych, włą-
czając w to pośredni status operacji lub inne
parametry sterujące dla FB i struktury danych
wymagane przez wiele instrukcji, takich jak
timery i liczniki. Użytkownik może określić,
czy blok danych będzie umożliwiał odczyt/
zapis, czy też będzie tylko do odczytu. Użyt-
kownik ma dostęp do bitów, bajtów, słów i po-
dwójnych słów należących do pamięci bloku
danych. Dla bloków danych typu czytaj/za-
pisz dopuszczalny jest zarówno zapis jak i od-
czyt danych. Dla bloków danych typu czytaj
dozwolony jest tylko odczyt danych.
bajt, słowo
lub podwójne
słowo
M[rozmiar][ad-
res startowego
bajtu]
MB20, MW30,
MD50
Temp (pamięć chwilowa) : CPU zapew-
nia pamięć chwilową (lokalną) dla każdej
z trzech grup priorytetów OB: 16 kB dla rozru-
chu i cyklu programu, włączając w to FB i FC;
4 kB dla zdarzeń przerwań standardowych,
włączając w to FB i FC i 4 kB dla zdarzeń
przerwań błędów, włączając w to FB i FC.
Pamięć Temp jest podobna do pamięci M
z jednym zasadniczym wyjątkiem: pamięć M
ma charakter globalny, a pamięć Temp jest
pamięcią lokalną:
Pamięć M: Dowolny OB, FC lub FB ma
dostęp do danych w pamięci M, co oznacza,
że dane są dostępne globalnie dla wszystkich
elementów programu użytkownika.
Pamięć Temp: Dostęp do danych w pa-
mięci Temp mają tylko te OB, FC lub FB, które
stworzyły lub zadeklarowały lokalizację pa-
mięci Temp. Lokalizacje pamięci Temp pozo-
stają lokalne i nie są współdzielone przez róż-
ne bloki kodu, nawet jeśli jeden blok kodu wy-
wołuje inny blok kodu. Na przykład: jeśli OB
wywołuje FC, to FC nie ma dostępu do pamięci
chwilowej należącej do wywołującego OB.
CPU alokuje pamięć chwilową wtedy,
kiedy jest ona potrzebna. CPU alokuje pamięć
chwilową dla bloku kodu w chwili, gdy blok
kodu jest uruchamiany (dla OB) lub jest wy-
woływany (dla FC lub FB). Alokacja pamięci
chwilowej dla bloku kodu może dotyczyć tej
samej lokalizacji pamięci Temp, która była
poprzednio używana przez inne OB, FC lub
FB. CPU nie inicjalizuje pamięci chwilowej
w momencie alokacji i w związku z tym mogą
się w niej znajdować jakieś wartości.
Dostęp do pamięci chwilowej jest możli-
wy wyłącznie za pomocą adresowania sym-
bolicznego.
bit
DB[numer
bloku danych].
DBX[adres
bajtu].[adres
bitu]
DB1.DBX2.3
bajt, słowo
lub podwójne
słowo
DB[numer
bloku danych].
DB
[rozmiar][ ad-
res startowego
bajtu]
DB1.DBB4,
DB10.DBW2,
DB20.DBD8
Adresowanie I/O w CPU
i modułów I/O
Użytkownik może zmienić domyślne
adresowanie wybierając na ekranie konigu-
racyjnym pole adresu i wpisując tam nowe
liczby. Wejściom i wyjściom cyfrowym przy-
pisuje się pełne bajty, niezależnie od tego,
czy moduł ma wszystkie punkty, czy nie.
Wejścia i wyjścia analogowe tworzą grupy po
dwa punkty (4 bajty). W podanym przykła-
dzie, użytkownik może zmienić adres DI16
z 8…9 na 2…3. Program asystuje użytkow-
nikowi i zmienia zakres adresów, które mają
niewłaściwy rozmiar lub wchodzą w konlikt
z innymi adresami.
bit
Q[adres bajtu].
[adres bitu]:P
Q1.1:P
bajt, słowo
lub podwójne
słowo
Q[rozmiar][ad-
res startowego
bajtu]:P
QB5:P,
QW10:P lub
QD40:P
M (obszar pamięci bitowej) : Obszaru
pamięci bitowej M używa się do sterowa-
nia zarówno przekaźników, jak i danych do
przechowywania pośredniego statusu opera-
cji lub innych informacji sterujących. Użyt-
kownik ma dostęp do bitów, bajtów, słów
i podwójnych słów należących do obszaru
pamięci bitowej. Dla pamięci M dopuszczal-
ny jest zarówno zapis jak i odczyt danych.
Andrzej Gawryluk
Opracowano na podstawie dokumentacji ir-
my Siemens.
Kiedy na ekranie koniguracyjnym
są dodawane CPU i moduły I/O, to
automatycznie są alokowane adresy
I oraz Q.
Wejściom CPU odpowiadają bity ad-
resowane od I0.0 do I0.7 i od I1.0
do I1.5 (łącznie 14 punktów).
Wyjściom CPU odpowiadają bity
adresowane od Q0.0 do Q0.7 i od
Q1.0 do Q1.1 (łącznie 10 punktów).
Wejściom analogowym CPU odpo-
wiadają słowa o adresach IW64
i IW66 (2 punkty analogowe, łącznie
4 bajty).
Wejścia DI16 są adresowane od I8.0
do I9.7.
AI4 / AO2 – wejścia to IW112,
IW114, IW116, IW118, a wyjścia to
QW112 i QW114
DI8 / D08 – zakres wejść jest od
I16.0 do I17.7, a wyjść od Q16.0
do Q17.7.
Na rysunku przedstawiono przykłado-
wy CPU 1214C z dwoma SM.
ELEKTRONIKA PRAKTYCZNA 1/2010
119
677322050.001.png 677322050.002.png 677322050.003.png 677322050.004.png 677322050.005.png 677322050.006.png 677322050.007.png 677322050.008.png 677322050.009.png 677322050.010.png
Zgłoś jeśli naruszono regulamin