S7-1200_cz.5.pdf

(569 KB) Pobierz
Elektronika Praktyczna
automatyka i mechatronika
S7-1200: instrukcje
Dodatkowe materiały
na CD i FTP
Sterowniki S7-1200 to najnowsze w  ofercie irmy Siemens,
doskonale wyposażone PLC, przeznaczone do małych i  średnich
systemów automatyki. Projekty dla nich można przygotowywać za
pomocą pakietu TIA Portal (Totally Integrated Automation), który
wyposażono w  edytory języków LAD i  FBD. W  artykule pokazujemy
polecenia FBD obsługiwane przez S7-1200.
łączonego wejścia adres bit czy symboliczną
nazwę bitu. Kiedy wykonywana jest instruk-
cja danej ramki, wtedy na wejście ramki jest
podawany bieżący stan logiczny bitów i jeśli
wynik działania jest prawdziwy, to na wyj-
ściu pojawia się stan True (prawda).
Stosowany coraz częściej przy progra-
mowaniu PLC graiczny język FBD ( Function
Block Diagram ) jest przyjazny dla elektroni-
ków znających technikę cyfrową: zamiast nie
zawsze oczywistych symboli wykorzystywa-
nych w LAD, programiści posługują się funk-
torami logicznymi oraz parametryzowanymi
blokami funkcjonalnymi, których wygląd jest
bliski standardowym funktorom logicznym.
W  artykule przedstawiamy ekspreso-
wy przegląd podstawowych instrukcji FBD
obsługiwanych przez sterowniki S7-1200.
Warto zwrócić uwagę, że wygoda korzysta-
nia z zaawansowanych instrukcji FBD jest
nieporównywalnie większa niż w przypadku
LAD, który to język powstał w erze automa-
tyki „przekaźnikowej”.
Funkcja logiczna anD
Logika bitowa
Ramki AND, OR i XOR. W języku pro-
gramowania FBD są dostępne ramki operacji
logicznych AND (&), OR (>=1) i XOR (x),
w  których użytkownik może wyspecyiko-
wać wartości bitów wejściowych i wyjścio-
wych poszczególnych funkcji. Może również
wykonać połączenia z innymi ramkami lo-
gicznymi, co pozwala utworzyć własną logi-
kę kombinacyjną.
Wejścia i wyjście ramki można połączyć
z inną ramką logiczną lub podać dla niepo-
Funkcja logiczna or
Funkcja logiczna Xor
Inwerter logiczny NOT. Inwerter NOT
neguje wejściowy stan logiczny.
136
ELEKTRONIKA PRAKTYCZNA 5/2010
automatyka i mechatronika
programowania
677320899.055.png 677320899.066.png 677320899.077.png 677320899.088.png 677320899.001.png
S7-1200: instrukcje programowania
ramka anD z jednym wejściem
zanegowanym
Zerowanie r
Ustawianie i zerowanie pola bitowego
SET_BF i RESET_BF. Instrukcje ustawiania
i zerowania pola bitowego muszą zajmować
skrajne, prawe pozycje w gałęzi.
– Kiedy SET_BF jest aktywowany, wtedy
wartość 1 jest przypisywana „n” bitom,
począwszy od adresu OUT. Kiedy SET_
BF nie jest aktywowany, wtedy OUT nie
ulega zmianie.
– RESET_BF przypisuje wartość 0 „n” bi-
tom, począwszy od adresu OUT. Kiedy
RESET_BF nie jest aktywowany, wtedy
OUT nie ulega zmianie.
bitu w pamięci. Jeżeli te stany wskazują, że
nastąpiła interesująca nas zmiana na wej-
ściu, to jest sygnalizowane wykrycie zbocza
poprzez wpisanie na wyjście stanu TRUE.
W  przeciwnym wypadku stanem wyjścio-
wym jest FALSE.
ramka anD z zanegowanymi wejściem
i wyjściem
Ramka wyjściowa. W języku FBD stosu-
je się ramki sterujące („=” i „/=”), w których
użytkownik podaje adres bitu wyjściowego
ramki. Wejścia i  wyjścia ramki mogą być
łączone z innymi ramkami logicznymi lub
można podawać adresy bitów. Zależności
stanów logicznych są następujące:
Układy czasowe – timery
Instrukcje związane z układami czaso-
wymi są wykorzystywane do generowania
programowanych opóźnień:
– TP: Układ czasowy Pulse Timer generuje
impuls o ustalonym czasie trwania.
– TON: Układ czasowy ON-delay timer
ustawia stan swojego wyjścia Q na ON
(włączony) po upływie zadanego czasu
opóźnienia.
– TOF: Układ czasowy OFF-delay timer
kasuje stan swojego wyjścia Q na OFF
(wyłączony) po upływie zadanego czasu
opóźnienia.
– TONR: Układ czasowy ON-delay Reten-
tive timer ustawia stan swojego wyjścia
na ON (włączony) po upływie zadanego
czasu opóźnienia. Upływający czas jest
naliczany przez wiele okresów, aż do
chwili, gdy zliczany upływ czasu zosta-
nie wyzerowany za pomocą wejścia R.
– RT: Kasowanie układu czasowego po-
przez wyzerowanie danych timera
w  określonym egzemplarzu bloku da-
nych układu czasowego.
Każdy układ czasowy wykorzystuje do
pamiętania danych timera strukturę prze-
chowywaną w  bloku danych timera. Blok
danych jest przypisywany timerowi przez
użytkownika wtedy, kiedy instrukcja timera
jest umieszczana w edytorze.
Kiedy instrukcja dotycząca timera zosta-
je umieszczona w bloku funkcji, wtedy moż-
na wybrać opcję zwielokrotnienia egzempla-
rzy bloku danych. Nazwy struktur timerów
mogą być różne, z oddzielnymi strukturami
danych, ale dane timera są zawarte w jednym
bloku danych i nie są wymagane oddzielne
bloki danych dla każdego timera. W ten spo-
sób redukuje się czas przetwarzania i pamięć
niezbędną do obsługi timerów. Nie wystę-
puje żadna interakcja pomiędzy strukturami
danych timerów we współdzielonych wie-
lokrotnych egzemplarzach bloków danych.
Symbole timerów wraz z  krótkim opisem
umieszczono w  tab. 2 .
Parametr IN uruchamia i zatrzymuje ti-
mery:
– Zmiana stanu parametru IN z 0 na 1 uru-
chamia timery TP, TON i TONR.
– Zmiana stanu parametru IN z 1 na 0 uru-
chamia timer TOF.
Efekty zmiany stanu parametrów PT i IN:
– TP:
– Zmiana PT nie daje żadnego efektu
podczas pracy timera.
– Zmiana IN nie daje żadnego efektu
podczas pracy timera.
FBD: Set_BF
ramka sterująca
Zanegowana ramka sterująca
FBD: reSet_BF
Przerzutniki RS i SR. RS jest przerzut-
nikiem z  dominującym wejściem ustawia-
jącym. Jeżeli oba sygnały, ustawiający (S1)
i kasujący (R), przyjmują wartość TRUE, to
pod adres wyjściowy OUT zostanie wpisana
wartość 1.
SR jest przerzutnikiem z dominującym
wejściem kasującym. Jeżeli oba, sygnały
ustawiający (S1) i kasujący (R), przyjmują
wartość TRUE, to pod adres wyjściowy OUT
zastanie wpisana wartość 0.
Parametr OUT określa adres bitu, który
jest ustawiany lub kasowany. Opcjonalny
sygnał wyjściowy Q odtwarza stan bitu spod
adresu OUT.
ramka sterująca z zanegowanym
wyjściem
– Jeżeli w wyjściowej ramce sterującej stan
wejścia wynosi 1, to wartość bitu OUT
jest ustalana na 1.
– Jeżeli w wyjściowej ramce sterującej stan
wejścia wynosi 0, to wartość bitu OUT
jest ustalana na 0.
– Jeżeli w zanegowanej wyjściowej ramce
sterującej stan wejścia wynosi 1, to war-
tość bitu OUT jest ustalana na 0.
– Jeżeli w zanegowanej wyjściowej ramce
sterującej stan wejścia wynosi 0, to war-
tość bitu OUT jest ustalana na 1.
Instrukcje ustawiania i kasowania
S i R: Ustawianie ( Set ) i zerowanie ( Re-
set ) stanu bitu. Instrukcje zerowania i usta-
wiania stanu bitu można umieszczać w do-
wolnym miejscu sieci.
– Kiedy S ( Set ) jest aktywowany, wtedy war-
tość zmiennej pod adresem OUT przyjmu-
je stan wysoki (1). Kiedy S nie jest aktywo-
wany, wtedy OUT nie ulega zmianie.
– Kiedy R ( Reset ) jest aktywowany, wtedy
wartość danej pod adresem OUT przyj-
muje stan niski (0). Kiedy R nie jest akty-
wowany, wtedy OUT nie ulega zmianie.
FBD: rS
FBD: Sr
Instrukcje operacji na zboczach
narastających i opadających
Detekcja przejścia dodatniego i ujem-
nego. Instrukcje związane z detekcją zboczy
sygnałów wymieniono w  tab. 1 . Wszystkie
używają bitu pamięci (M_BIT) do pamięta-
nia poprzedniego stanu monitorowanego sy-
gnału wejściowego. Zbocze jest wykrywane
poprzez porównanie stanu wejścia ze stanem
ustawianie S
ELEKTRONIKA PRAKTYCZNA 5/2010
137
677320899.006.png 677320899.007.png 677320899.008.png 677320899.009.png 677320899.010.png 677320899.011.png 677320899.012.png 677320899.013.png 677320899.014.png 677320899.015.png 677320899.016.png 677320899.017.png 677320899.018.png 677320899.019.png 677320899.020.png 677320899.021.png 677320899.022.png 677320899.023.png 677320899.024.png 677320899.025.png 677320899.026.png 677320899.027.png 677320899.028.png 677320899.029.png 677320899.030.png 677320899.031.png
automatyka i mechatronika
– TON:
– Zmiana PT nie daje żadnego efektu
podczas pracy timera.
– Zmiana IN na FALSE podczas pracy
timera zeruje i zatrzymuje timer.
– TOF:
– Zmiana PT nie daje żadnego efektu
podczas pracy timera.
– Zmiana IN na TRUE podczas pracy ti-
mera zeruje i zatrzymuje timer.
– TONR:
– Zmiana PT nie ma żadnego efektu
podczas pracy timera, ale skutkuje
w czasie, gdy timer wznawia pracę.
– Zmiana IN na FALSE podczas pracy
timera zatrzymuje timer ale go nie ze-
ruje. Zmiana IN z powrotem na TRUE
powoduje, że timer rozpoczyna pracę
od zliczonej wartości czasu.
Przebiegi charakteryzujące pracę time-
rów pokazano na rys. 1 .
Tab. 1. Instrukcje zwią zane z detekcją zboczy sygnałów
Ramka P
Wyjściowy stan ramki ma wartość TRUE wtedy, gdy jest wykryta do-
datnia zmiana (wyłączony włączony) przypisanego bitu wejściowego.
Ramkę P można umieścić wyłącznie na początku gałęzi
Ramka N
Wyjściowy stan ramki ma wartość TRUE wtedy, gdy jest wykryta ujem-
na zmiana (włączony wyłączony) przypisanego bitu wejściowego.
Ramkę N można umieścić wyłącznie na początku gałęzi
Ramka P= Przypisany bit „OUT” przyjmuje wartość TRUE wtedy, gdy jest wykryta
dodatnia zmiana (wyłączony włączony) stanu wejściowego ramki lub
przypisanego bitu wejściowego, jeśli ramka jest umieszczona na począt-
ku gałęzi. Logiczny stan wejściowy zawsze przechodzi bez zmian przez
ramkę i pojawia się na wyjściu jako stan wyjścia. Ramkę P= można
umieścić w dowolnym miejscu gałęzi
Ramka N= Przypisany bit „OUT” przyjmuje wartość TRUE wtedy, gdy jest wykryta
ujemna zmiana (włączony wyłączony) stanu wejściowego ramki lub
przypisanego bitu wejściowego jeśli ramka jest umieszczona na począt-
ku gałęzi. Logiczny stan wejściowy zawsze przechodzi bez zmian przez
ramkę i pojawia się na wyjściu jako stan wyjścia. Ramkę N= można
umieścić w dowolnym miejscu gałęzi
P_TRIG
Stan zasilania lub stan logiczny na wyjściu Q przyjmuje wartość TRUE
wtedy, gdy jest wykryta dodatnia zmiana (wyłączony włączony)
stanu wejściowego CLK
Liczniki
Instrukcje dotyczące liczników są stoso-
wane do zliczania wewnętrznych zdarzeń
w programie i zewnętrznych zdarzeń procesu:
– CTU to licznik zliczający w górę,
– CTD to licznik zliczający w dół,
– CTUD to licznik zliczający w  górę
i w dół.
Każdy licznik wykorzystuje do pamięta-
nia danych strukturę przechowywaną w blo-
ku danych. Blok danych jest przypisywany
timerowi przez użytkownika wtedy, gdy in-
strukcja dotycząca licznika jest umieszczona
w edytorze. Te instrukcje korzystają z liczni-
ków programowych i ich maksymalna szyb-
kość zliczania jest ograniczona częstością
wykonywania OB, w których są umieszczone.
Kiedy instrukcja dotycząca licznika zo-
staje umieszczona w bloku funkcji, to można
wybrać opcję zwielokrotnienia egzemplarzy
bloku danych; nazwy struktur liczników
mogą być różne z oddzielnymi strukturami
danych, ale dane licznika są zawarte w jed-
nym bloku danych i są nie wymagane od-
dzielne bloki danych dla każdego licznika.
W ten sposób redukuje się czas przetwarza-
nia i pamięć niezbędną do obsługi liczników.
Nie występuje żadna interakcja pomiędzy
strukturami danych liczników we współ-
dzielonych wielokrotnych egzemplarzach
bloków danych. Symbole liczników umiesz-
czono w  tab. 3 .
Zakres zliczania zależy od wybranego
typu danych. Jeżeli zliczenia są liczbami cał-
kowitymi bez znaku, to w dół można zliczać
do zera, a w górę aż do granicy zakresu. Jeże-
li zliczenia są liczbami całkowitymi ze zna-
kiem, to w dół można zliczać aż do ujemnej
granicy liczby całkowitej, a w górę do dodat-
niej granicy liczby całkowitej.
CTU : Jeżeli wartość parametru CU zmie-
nia się z 0 na 1, to CTU zlicza w górę o 1.
Jeżeli wartość parametru CV ( current count
N_TRIG Stan zasilania lub stan logiczny na wyjściu Q przyjmuje wartość TRUE
wtedy, gdy jest wykryta ujemna zmiana (włączony wyłączony) stanu
wejściowego CLK (FBD). Instrukcja N_TRIG nie może być umieszczona
na początku lub końcu sieci. W przypadku FBD instrukcja N_TRIG może
się znajdować w dowolnym miejscu z wyjątkiem końca gałęzi
a)
b)
c)
rys. 1. Przebiegi charakteryzujące pracę timerów, a) ton: Przebieg czasowy on-delay,
b) toF: Przebieg czasowy oFF-delay, c) tonr: Przebieg czasowy on-delay retentive
138
ELEKTRONIKA PRAKTYCZNA 5/2010
677320899.032.png 677320899.033.png 677320899.034.png 677320899.035.png 677320899.036.png 677320899.037.png 677320899.038.png 677320899.039.png 677320899.040.png 677320899.041.png 677320899.042.png 677320899.043.png 677320899.044.png 677320899.045.png 677320899.046.png 677320899.047.png 677320899.048.png 677320899.049.png 677320899.050.png 677320899.051.png 677320899.052.png 677320899.053.png 677320899.054.png 677320899.056.png 677320899.057.png 677320899.058.png 677320899.059.png 677320899.060.png
S7-1200: instrukcje programowania
rys. 2. Przebieg czasowy licznika ctu zliczają-
cego liczby całkowite bez znaku (dla PV = 3)
liczby całkowite bez zna-
ku (dla PV = 3).
CTD : Jeżeli wartość
parametru CD zmienia
się z 0 na 1, to CTU zlicza
w dół o 1. Jeżeli wartość
parametru CV jest więk-
sza lub równa 0, to para-
metr wyjściowy licznika
Q = 1.
Jeżeli wartość para-
metru LOAD zmienia się
z 0 na 1, to war-
tość parametru PV
( preset count value
– ustalona wartość
zliczeń) jest wpisywana do licznika
jako nowa wartość CV.
Na rys. 2 przedstawiono prze-
bieg czasowy w przypadku licznika
CTD zliczającego liczby całkowite
bez znaku (dla PV = 3).
CTUD : CTUD zlicza o 1 w górę
lub w  dół przy każdej zmianie
z 0 na 1 na wejściach CU ( count
up – zliczanie w górę) lub CD ( count down
– zliczanie w dół). Jeżeli wartość parametru
CV ( current count value – bieżąca wartość
zliczeń) jest równa lub większa od wartości
parametru PV ( preset value – ustalona war-
tość), to parametr wyjściowy licznika QU =
1. Jeżeli wartość parametru CV jest mniejsza
lub równa 0, to parametr wyjściowy licznika
QD = 1.
rys. 4. Przebieg czasowy w przypadku licznika ctuD zlicza-
jącego liczby całkowite bez znaku (dla PV = 4)
rys. 3. Przebieg czasowy w przypadku licznika ctD
zliczającego liczby całkowite bez znaku (dla PV = 3)
Jeżeli wartość parametru LOAD zmienia
się z 0 na 1, to wartość parametru PV jest
wpisywana do licznika jako nowa wartość
CV. Jeżeli wartość parametru kasującego R
zmienia się z 0 na 1, to bieżąca wartość zli-
czeń zostaje skasowana do 0.
Na rys. 3 przedstawiono przebieg czaso-
wy w przypadku licznika CTUD zliczającego
liczby całkowite bez znaku (dla PV = 4).
tomasz Starak
value – bieżąca wartość zliczeń) jest większa
lub równa wartości parametru PV ( preset co-
unt value – ustalona wartość zliczeń), to pa-
rametr wyjściowy licznika Q = 1.
Jeżeli wartość parametru kasującego R
zmienia się z 0 na 1, to bieżąca wartość zli-
czeń zostaje skasowana do 0.
Na rys. 2 przedstawiono przebieg czaso-
wy w przypadku licznika CTU zliczającego
Tab. 3. Symbole liczników
Z rozwijanej listy
pod nazwą ramki
należy wybrać typ
zliczanych danych
Tab. 2. Symbole timer ów
Timery TP, TON, TOF mają takie same parametry wejściowe i wyjściowe
Użytkownik może
nadać własną
nazwę „Counter
Name” blokowi
danych licznika,
która opisuje, jaką
funkcję pełni licznik
w procesie
Timer TONR ma dodatkowo wejściowy parametr kasujący R. Użytkownik
może nadać własną nazwę „Timer Name” blokowi danych timera, która
opisuje, jaką funkcję pełni timer w procesie
R
E
K
L
A
M
A
ELEKTRONIKA PRAKTYCZNA 5/2010
139
677320899.061.png 677320899.062.png 677320899.063.png 677320899.064.png 677320899.065.png 677320899.067.png 677320899.068.png 677320899.069.png 677320899.070.png 677320899.071.png 677320899.072.png 677320899.073.png 677320899.074.png 677320899.075.png 677320899.076.png 677320899.078.png 677320899.079.png 677320899.080.png 677320899.081.png 677320899.082.png 677320899.083.png 677320899.084.png 677320899.085.png 677320899.086.png 677320899.087.png 677320899.089.png 677320899.090.png 677320899.091.png 677320899.092.png 677320899.093.png 677320899.094.png 677320899.095.png 677320899.096.png 677320899.097.png 677320899.098.png 677320899.002.png 677320899.003.png 677320899.004.png 677320899.005.png
Zgłoś jeśli naruszono regulamin