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
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
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
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
Plik z chomika:
phill2k
Inne pliki z tego folderu:
S7-1200_cz.1.pdf
(350 KB)
S7-1200_cz.2.pdf
(928 KB)
S7-1200_cz.3.pdf
(952 KB)
S7-1200_cz.4.pdf
(12248 KB)
S7-1200_cz.5.pdf
(569 KB)
Inne foldery tego chomika:
Działanie sterowników S7-200 - Podstawy
Zgłoś jeśli
naruszono regulamin