AutomAtykA i mechAtronikA
AutomAtykA i mechAtronikA
S7-1200
Instrukcje skalowania
i normalizacji, sterujące
wykonywaniem programu,
oraz służące do przesuwania
i obrotu danych
W EP5/2010 przedstawiliśmy pierwszą część opisu instrukcji Instrukcje skalowania
i normalizacji
obsługiwanych przez sterowniki S7-1200, w EP6/2010 zajęliśmy
SCALE_X skaluje znormalizowany pa-
się przybliżeniem instrukcji umożliwiających wykonywanie stało- rametr VALUE (0.0 <= VALUE <= 1.0) do
typu danej i zakresu wartości wyspecyfiko-
i zmiennoprzecinkowych operacji arytmetycznych. W tym artykule
wanych przez parametry MIN i MAX
skupiamy się na prezentacji i omówieniu instrukcji służących do
OUT = VALUE (MAX MIN) + MIN
NORM_X normalizuje parametr VALUE
skalowania, normalizacji, sterowania przebiegu programu, a także
wewnątrz zakresu wartości wyspecyfikowa-
instrukcji służących do przesuwania i obrotu.
nych przez parametry MIN i MAX.
elektronikaB2B.pl
144 ELEKTRONIKA PRAKTYCZNA 7/2010
S7-1200 przegląd instrukcji
LAD FBD
OUT = (VALUE MIN)/(MAX MIN), " W wyniku liniowej operacji skalowania
gdzie (0.0 <= OUT <= 1.0) otrzymane wartości OUT mogą być mniej-
sze niż parametr MIN lub większe niż pa-
rametr MAX, ale zgodne z zakresem warto-
LAD FBD
ści danych typu ustalonego dla OUT. W ta-
kich przypadkach po wykonaniu operacji
SCALE_X ustawiany jest ENO = TRUE.
" Możliwe jest, że przeskalowane liczby
nie zawierają się w dopuszczalnym za-
kresie danych typu ustalonego dla OUT.
W takich przypadkach wartość parame-
tru OUT przyjmuje wartość pośrednią Nazwy etykiet nadaje się poprzez bez-
równą najmniej znaczącej części rzeczy- pośrednie wpisywanie nazwy w instrukcji
wistej liczby skalowanej przed wykona- LABEL. Nazwę etykiety dla instrukcji JMP
niem końcowej konwersji na daną typu i JMPN wybiera się spośród dostępnych
OUT. Wówczas po wykonaniu operacji nazw używając ikony pomocy dla parame-
SCALE_X ustawiany jest ENO = FALSE. trów. Można również bezpośrednio wpisać
Parametr Typ danych Opis
Parametr VALUE dla NORM_X powinien nazwę etykiety do instrukcji JMP lub JMPN.
MIN SINT, INT, DINT, Minimalna
być ograniczone do zakresu (MIN <= VA- Instrukcję RET stosuje się do zakończenia
USINT, UINT, wartość
LUE <= MAX). wykonywania bieżącego bloku.
UDINT, REAL wejściowa
Jeżeli parametr VALUE jest mniejszy
zakresu
niż MIN lub większy niż MAX, to operacja
LAD FBD
VALUE SCALE_X: REAL Wartość
wejściowa do liniowego skalowania może w wyniku dać
NORM_X: SINT, skalowania
znormalizowaną wartość OUT, która jest
INT, DINT, lub normali-
mniejsza od 0.0 lub większa od 1.0. W takim
USINT, UINT, zacji
przypadku po wykonaniu operacji SCALE_X
UDINT, REAL
Typ
ustawiany jest ENO = TRUE.
Parametr Opis
MAX SINT, INT, DINT, Maksymal-
danych
USINT, UINT, na wartość
Parametr Return_value
UDINT, REAL wejściowa
Kody warunkowe
instrukcji RET jest w blo-
zakresu
Return_ ku wywoływanym przy-
BOOL
OUT SCALE_X: SINT, Przeskalo-
Value pisywany parametrowi
STATUS
INT, DINT, wana lub
Warunek Wynik OUT
wyjściowemu ENO ramki
ENO
USINT, UINT, znormalizo-
wywołującej blok.
UDINT, REAL wana wartość 1 Brak błędu Ważny wynik
wyjściowa
Wynik pośred-
NORM_X: REAL
ni: najmniej
Opcjonalną instrukcję RET wykorzystuje
znacząca część
Wynik wykracza się do zakończenia wykonywania bieżącego
rzeczywistej licz-
poza ważny zakres
Parametr VALUE dla SCALE_X powinien bloku. Zakończenie wykonywania bieżące-
0 by skalowanej
dla danych typu
być ograniczony do zakresu (0.0 <= VALUE przed wykona- go bloku nastąpi w tym miejscu i instrukcje
OUT
niem końcowej
<= 1.0). znajdujące się za instrukcją RET nie będą
konwersji na
Jeżeli parametr VALUE jest mniejszy od wykonywane wtedy i tylko wtedy jeżeli na
daną typu OUT.
0.0 lub większy od 1.0, to: wejściu cewki RET znajduje się zasilanie
SCALE_X: naj-
(LAD) lub na wejściu ramki RET jest stan
mniej znacząca
Parametry MAX część liczby TRUE (FBD). Jeżeli bieżącym blokiem jest
0
<= MIN rzeczywistej
OB., to parametr Return_Value jest igno-
VALUE wypełnia
rowany. Jeżeli bieżącym blokiem jest FC lub
przestrzeń OUT.
FB, to wartość parametru Return_Value jest
VALUE jest
Parametr VALUE =
zwracana do procedury wywołującej jako
0 wpisywany do
ąINF lub ąNAN
OUT. wartość ENO ramki wywołującej.
Użytkownik nie ma obowiązku wpisy-
Instrukcje skoków i etykiety wania instrukcji RET jako ostatniej instrukcji
Instrukcje sterujące wykonaniem pro- bloku; jest to wykonywane automatycznie.
gramu są wykorzystywane do warunkowego W pojedynczym bloku może występować
wykonywania ciągu operacji: wiele instrukcji RET.
JMP: Jeżeli do cewki JMP dochodzi zasi- Wejście EN ramki FC bloku kodu MAIN
lanie (LAD) lub na wejściu ramki jest wartość musi mieć wartość TRUE aby nastąpiło roz-
TRUE (FBD), to program jest kontynuowany poczęcie wykonywania FC.
od pierwszej instrukcji po wyspecyfikowanej Po wykonaniu FC, w którym zasilanie na
etykiecie. wejściu instrukcji RET ma wartość TRUE,
JMPN: Jeżeli do cewki JMP nie dochodzi na wyjściu ENO ramki FC kodu bloku MAIN
zasilanie (LAD) lub na wejściu ramki jest pojawi się wartość wyspecyfikowana przez
wartość FALSE (FBD), to program jest konty- instrukcję RET w FC.
nuowany od pierwszej instrukcji po wyspe-
cyfikowanej etykiecie. Instrukcje AND, OR i XOR
Label: Docelowa etykieta dla instrukcji AND: logiczna operacja AND dla danych
skoku JMP i JMPN. typu BYTE, WORD i DWORD
ELEKTRONIKA PRAKTYCZNA 7/2010 145
AutomAtykA i mechAtronikA
Parametr Typ danych Opis
OR: logiczna operacja OR dla danych Kody warunkowe dla ENCO
ENCO: ciąg
typu BYTE, WORD i DWORD
ENCO: BYTE, bitów do zako-
XOR: logiczna operacja XOR dla danych
STATUS ENO Warunek Wynik (OUT)
IN WORD, DWORD dowania
typu BYTE, WORD i DWORD
DECO: UINT DECO: wartość 1 Brak błędu Ważny wynik
do dekodowania
IN jest OUT ustawiony
0
ENCO: wartość zerem na zero
LAD FBD
ENCO: INT zakodowana
OUT DECO: BYTE, DECO: ciąg
Instrukcje wyboru (SEL)
WORD, DWORD bitów zdekodo-
i multipleksowania (MUX)
wany
SEL, w zależności od wartości parametru
Instrukcja ENCO dokonuje konwersji G, przypisuje jedną z dwóch wartości wej-
parametru IN na liczbę dwójkową odpowia- ściowych parametrowi OUT.
Parametr Typ danych Opis
dającą ciągowi bitów znajdujących się na MUX, w zależności od wartości parame-
BYTE, WORD, Wejścia lo-
IN1, IN2
najmniej znaczącej pozycji w IN i zapisuje tru K, przypisuje jedną z wielu wartości wej-
DWORD giczne
wynik jako parametr OUT. Jeżeli parametr IN ściowych parametrowi OUT. Jeżeli parametr
BYTE, WORD, Wyjście lo-
OUT
DWORD giczne jest równy 0000 0001 albo 0000 0000, to do K wykracza poza dozwolony zakres, to pa-
OUT jest wpisywane 0. Jeśli parametr IN ma rametrowi OUT jest przypisywana wartość
Podczas wyboru typu danych jest usta- wartość 0000 0000 to ENO przyjmuje war- parametru ELSE.
wiany taki sam typ danych parametrów IN1, tość FALSE.
IN2 i OUT. Odpowiadające sobie bity IN1 Instrukcja DECO dekoduje liczbę dwój-
LAD FBD
i IN2 są argumentami operacji logicznej, któ- kową z parametru IN poprzez ustawianie
rej wynik jest wpisywany do OUT. Po zakoń- bitów znajdujących się na odpowiadających
czeniu wykonywania powyższych instrukcji, pozycjach OUT na 1 (wszystkie pozostałe
ENO ma zawsze wartość TRUE. bity są ustawione na 0). Po zakończeniu wy-
konywania instrukcji, ENO ma zawsze war-
Instrukcja inwersji tość TRUE.
Instrukcja INV jest stosowana do wyzna- Wybór typu danej parametru OUT in-
czenia dwójkowego uzupełnienia do jedno- strukcji DECO spośród BYTE, WORD lub
ści parametru IN. Uzupełnienie do jedności DWORD ogranicza użyteczny zakres pa-
jest wykonywane poprzez inwersję każdego rametru IN. Jeżeli wartość parametru IN
bitu parametru IN (zamianę każdego 0 na 1 przekracza użyteczny zakres, to wykony-
i 1 na 0). Po zakończeniu wykonywania in- wana jest pokazana poniżej operacja modu-
strukcji, ENO ma zawsze wartość TRUE. lo pozwalająca wydobyć najmniej znaczące
bity. Parametry dla SEL
Zakres parametru IN instrukcji DECO:
LAD FBD
3 bity (wartość 0 7) IN są wykorzysty-
Para-
Typ danych Opis
metr
wane do ustalenia 1 pozycji bitu w bajcie
OUT. Prze-
łącznik
4 bity (wartość 0 15) IN są wykorzysty-
selekto-
wane do ustalenia 1 pozycji bitu w słowie
ra:
Para-
G BOOL
OUT.
Typ danych Opis
FALSE
metr
dla IN0
5 bitów (wartość 0 31) IN jest wykorzy-
SINT, INT, DINT, USINT, Element
TRUE dla
stywanych do ustalenia 1 pozycji bitu w po-
IN UINT, UDINT, BYTE, podlegający
IN1
dwójnym słowie OUT.
WORD, DWORD inwersji
SINT, INT, DINT, USINT,
SINT, INT, DINT, USINT,
IN0, UINT, UDINT, REAL, BYTE,
Wyjście po
Wejścia
OUT UINT, UDINT, BYTE,
Wartość OUT IN1 WORD, DWORD, TIME,
inwersji
WORD, DWORD
instrukcji DECO CHAR
Wartość IN instrukcji
(dekodowanie
SINT, INT, DINT, USINT,
DECO
pojedynczej pozycji
UINT, UDINT, REAL, BYTE,
Instrukcje enkodowania
OUT Wyjście
bitu)
WORD, DWORD, TIME,
i dekodowania
Typ OUT: BYTE (8 CHAR
Polecenie ENCO koduje ciąg bitów na
bitów)
liczbę dwójkową. Parametry dla MUX
Min. IN 0 00000001
Polecenie DECO dekoduje liczbę dwójko-
Maks. IN 7 10000000
wą na ciąg bitów.
Para-
Typ danych Opis
metr
Typ OUT: WORD (16
Wartość
bitów)
LAD FBD
selektora:
Min. IN 0 0000000000000001
0 dla
Maks. IN 15 1000000000000000
K UINT IN0
1 dla
IN1
Typ OUT: DWORD
&
(32 bity)
SINT, INT, DINT, USINT,
00000000000000000
IN0,
Min. IN 0
UINT, UDINT, REAL, BYTE,
000000000000001
IN1, Wejścia
WORD, DWORD, TIME,
&
10000000000000000
CHAR
Maks. IN 31
000000000000000
146 ELEKTRONIKA PRAKTYCZNA 7/2010
S7-1200 przegląd instrukcji
Wartość
SHR: przesunięcie wzoru bitów w prawo. metru IN. Wynik jest przypisywany do para-
wejścio-
SINT, INT, DINT, USINT, SHL: przesunięcie wzoru bitów w lewo. metru OUT. Parametr N określa o ile pozycji
wa dla
UINT, UDINT, REAL, BYTE,
bitów ma nastąpić obrót.
ELSE podsta-
WORD, DWORD, TIME,
wienia Instrukcja ROR powoduje obrót wzoru
LAD FBD
CHAR
(opcjonal-
bitów w prawo.
nie)
Instrukcja ROL powoduje obrót wzoru
SINT, INT, DINT, USINT,
bitów w lewo.
UINT, UDINT, REAL, BYTE,
OUT Wyjście
WORD, DWORD, TIME,
CHAR
LAD FBD
Para-
Typ danych Opis
Zmienne wejściowe i zmienna wyjścio-
metr
wa muszą być tego samego typu danych.
BYTE, WORD, Wzór bitów do
IN
Instrukcja SEL zawsze wybiera pomię- DWORD przesunięcia
dzy dwoma wartościami wejściowymi. Liczba pozycji
N UINT bitów do przesu-
Instrukcja MUX wybrana po raz pierw-
Parametr Typ danych Opis
nięcia
szy w edytorze programu ma dwa parametry
BYTE, WORD, Wzór bitów
Wzór bitów po
IN
wejściowe IN, ale można ja rozszerzyć doda- BYTE, WORD,
DWORD do obrotu
OUT operacji przesu-
DWORD
jąc więcej parametrów IN.
nięcia
Liczba pozycji
Do dodawania i usuwania parametrów
N UINT bitów do
obrotu
wejściowych instrukcji MUX służy następu- Dla N = 0 nie jest wykonywane przesunię-
Wzór bitów
jąca metoda: cie i do OUT jest przypisywana wartość IN.
BYTE, WORD,
OUT po operacji
W celu dodania wejścia należy kliknąć Na pozycje opróżnione podczas przesu-
DWORD
obrotu
prawym klawiszem myszy na końcówkę wej- wania są wpisywane zera.
ściową jednego z istniejących parametrów IN Jeżeli liczba pozycji do przesunięcia (N)
i wybrać komendę insert input . przekracza liczbę bitów wartości docelowej Dla N = 0 nie jest wykonywany obrót
W celu usunięcia wejścia należy kliknąć (8 dla BYTE, 16 dla WORD i 32 dla DWORD), i do OUT jest przypisywana wartość IN.
prawym klawiszem myszy na końcówkę wej- to oryginalna wartość zniknie i zostanie za- Podczas obrotu bity wysuwane z jednej
ściową jednego z istniejących parametrów IN stąpiona przez zera (do OUT zostaną wpisa- strony trafiają na pozycje opróżniane z dru-
(jeżeli jest więcej wejść niż oryginalne dwa) ne same zera). giej strony parametru docelowego; zatem ża-
i wybrać komendę Delete . Dla operacji przesuwania, ENO ma za- den oryginalny bit nie jest tracony.
wsze wartość TRUE. Jeżeli liczba pozycji do przesunięcia (N)
Kody warunkowe przekracza liczbę bitów wartości docelowej
Po zakończeniu wykonywania instrukcji (8 dla BYTE, 16 dla WORD i 32 dla DWORD),
Przykład operacji SHL dla danych typu
WORD: podczas przesuwania z lewej strony
SEL, ENO ma zawsze wartość TRUE. to obrót jest nadal wykonywany.
są wpisywane zera
Dla operacji obrotu, ENO ma zawsze
1110 1110
wartość TRUE.
STATUS
0010 Wartość OUT przed pierw- 0010
ENO Warunek Wynik (OUT) IN
1010 szym przesunięciem 1010
(MUX)
1101 1101 Przykład operacji ROR dla danych typu
1 Brak błędu Ważny wynik
WORD: podczas obrotu bity wysuwane
1100
z prawej strony trafiają na pozycje opróż-
Bez parametru
Po pierwszym przesunięciu 0101
niane z lewej strony
ELSE:
w lewo 0101
OUT nie ulega
1010 0100 0100
K jest większe
zmianie
0000 Wartość OUT przed 0000
lub równe licz- 1000
IN
0
0000 pierwszym obrotem 0000
bie parametrów Po drugim przesunięciu 1010
Z parametrem
0001 0001
IN w lewo 1011
ELSE:
0100 1010
OUT przyjmuje
Po pierwszym obrocie 0000
0001
wartość ELSE
w prawo 0000
Po trzecim przesunięciu 0101
0000
w lewo 0110
Instrukcje przesunięcia
1000 0101
Instrukcja przesunięcia (shift) jest stoso-
Po drugim obrocie 0000
wana do wzoru bitów parametru IN. Wynik w prawo 0000
0000
jest przypisany parametrowi OUT. Parametr Instrukcje obrotu
N określa o ile pozycji bitów ma nastąpić Instrukcje obrotu są stosowane do cy-
przesunięcie. klicznego przesuwania wzoru bitów para- tomasz Starak
R E K L A M A
automatykaB2B.pl
ELEKTRONIKA PRAKTYCZNA 7/2010 147
Wyszukiwarka
Podobne podstrony:
S7 1200 cz 3S7 1200 cz 1S7 1200 cz 6S7 1200 cz 5Działanie sterowników S7 200 podstawy cz 4Działanie sterowników S7 200 podstawy cz 2Działanie sterowników S7 200 podstawy cz 1Działanie sterowników S7 200 podstawy cz 3S7 Z 12 080210Z CZ A rozwiazanieS7 Z 14 080210Z CZ B rozwiazanieS7 Z 13 080210Z CZ B zadanieRozgrzewka po kwadracie – cz 2sprzęt wędkarski cz 1Escherichia coli charakterystyka i wykrywanie w zywności Cz IDeszczowa piosenka [cz 1]więcej podobnych podstron