S7-1200_cz.5.pdf
(
569 KB
)
Pobierz
automatyka i mechatronika
i mechatronika
S7-1200: instrukcje
programowania
Sterowniki S7-1200 to najnowsze w ofercie firmy 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.
Stosowany coraz częściej przy progra-
mowaniu PLC graficzny 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”.
Dodatkowe materiały
na CD i FTP
łą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).
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 wyspecyfiko-
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 anD
Funkcja logiczna or
Funkcja logiczna Xor
Inwerter logiczny NOT.
Inwerter NOT
neguje wejściowy stan logiczny.
ELEKTRONIKA PRAKTYCZNA 5/2010
136
S7-1200: instrukcje programowania
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 jednym wejściem
zanegowanym
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:
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.
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
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.
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.
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
yjściowy stan ramki ma wartoś
datnia zmiana (wyłączony
→
true wtedy, gdy jest wykryta do
-
→
→
→
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
→
→
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
ELEKTRONIKA PRAKTYCZNA 5/2010
138
S7-1200: instrukcje programowania
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-
rys. 2. Przebieg czasowy licznika ctu zliczają-
metru LOAD zmienia się
cego liczby całkowite bez znaku (dla PV = 3)
z 0 na 1, to war-
tość parametru PV
rys. 4. Przebieg czasowy w przypadku licznika ctuD zlicza-
(preset
count value
jącego liczby całkowite bez znaku (dla PV = 4)
– ustalona wartość
zliczeń) jest wpisywana do licznika
Jeżeli wartość parametru LOAD zmienia
jako nowa wartość CV.
się z 0 na 1, to wartość parametru PV jest
Na
rys. 2
przedstawiono prze-
wpisywana do licznika jako nowa wartość
bieg czasowy w przypadku licznika
CV. Jeżeli wartość parametru kasującego R
CTD zliczającego liczby całkowite
zmienia się z 0 na 1, to bieżąca wartość zli-
bez znaku (dla PV = 3).
czeń zostaje skasowana do 0.
CTUD:
CTUD zlicza o 1 w górę
Na
rys. 3
przedstawiono przebieg czaso-
rys. 3. Przebieg czasowy w przypadku licznika ctD
wy w przypadku licznika CTUD zliczającego
zliczającego liczby całkowite bez znaku (dla PV = 3)
lub w dół przy każdej zmianie
z 0 na 1 na wejściach CU (count
liczby całkowite bez znaku (dla PV = 4).
value
– bieżąca wartość zliczeń) jest większa
up
– zliczanie w górę) lub CD (count
down
tomasz Starak
lub równa wartości parametru PV (preset
co-
– zliczanie w dół). Jeżeli wartość parametru
tab. 3. Symbole liczników
unt value
– ustalona wartość zliczeń), to pa-
CV (current
count value
– bieżąca wartość
rametr wyjściowy licznika Q = 1.
zliczeń) jest równa lub większa od wartości
Z rozwijanej listy
Jeżeli wartość parametru kasującego R
parametru PV (preset
value
– ustalona war-
pod nazwą ramki
zmienia się z 0 na 1, to bieżąca wartość zli-
tość), to parametr wyjściowy licznika QU =
nale y wybra
typ
czeń zostaje skasowana do 0.
1. Jeżeli wartość parametru CV jest mniejsza
zliczanych danych
Na
rys. 2
przedstawiono przebieg czaso-
lub równa 0, to parametr wyjściowy licznika
wy w przypadku licznika CTU zliczającego
QD = 1.
tab. 2. Symbole timerów
ytkownik mo e
nada
własną
nazwę
counter
name
blokowi
danych licznika,
która opisuje, jaką
unkcję pełni licznik
w procesie
u
timery tP, ton, toF mają takie same parametry wejściowe i wyjściowe
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ą
unkcję pełni timer w procesie
R
E
K
L
A
M
A
ELEKTRONIKA PRAKTYCZNA 5/2010
139
Plik z chomika:
uniwel
Inne pliki z tego folderu:
2016.ZIP
(50997 KB)
2._KP300.pdf
(6840 KB)
DOC_AS_PL_STEP7_03.2010-DOB.pdf
(18657 KB)
acquisitine_mode_HMI - PLCs.pdf
(675 KB)
configurationexample_x7_v11d2d5_sinamicsv60_en.pdf
(1567 KB)
Inne foldery tego chomika:
Zgłoś jeśli
naruszono regulamin