S7-1200_cz.6.pdf

(847 KB) Pobierz
Elektronika Praktyczna
AutomAtykA i mechAtronikA
S7-1200
Dodatkowe materiały
na CD i FTP
Instrukcje programowania
– arytmetyka stało-
i zmiennoprzecinkowa
W  EP 5/2010 przedstawiliśmy pierwszą część opisu instrukcji
programowania sterowników S7-1200. W  tej części skupiamy
się na instrukcjach umożliwiających wykonywanie stało-
i  zmiennoprzecinkowych operacji arytmetycznych.
Dodatkowe materiały na cD i FtP:
ftp://ep.com.pl , user: 17933 , pass: 5047v06p
metycznych IN1, IN2 i OUT muszą być tego
samego typu.
Sterowniki S7-1200 to najnowsze w ofer-
cie irmy Siemens, doskonale wyposażone
PLC, przeznaczone dla małych i średnich sys-
temów automatyki. Projekty dla nich można
przygotowywać za pomocą pakietu TIA Portal
( Totally Integrated Automation ), który wypo-
sażono w edytory języków LAD i FBD. W ar-
tykule przedstawiamy ekspresowy przegląd
instrukcji arytmetycznych obsługiwanych
przez sterowniki S7-1200. Warto zwrócić
uwagę, że wygoda korzystania z zaawansowa-
nych instrukcji FBD jest nieporównywalnie
większa niż w przypadku LAD, który to język
powstał w erze automatyki „przekaźnikowej”.
Instrukcje dodawania,
odejmowania, mnożenia
i dzielenia
Ramki z  instrukcjami arytmetycznymi
są stosowane do programowania podstawo-
wych operacji arytmetycznych:
• ADD: Dodawanie (IN1 + IN2 = OUT)
• SUB: Odejmowanie (IN1 – IN2 = OUT)
• MUL: Mnożenie (IN1 · IN2 = OUT)
• DIV: Dzielenie (IN1 / IN2 = OUT)
Operacja dzielenia liczb całkowitych
powoduje obcinanie ułamkowej części ilo-
razu tak, by wynik był liczbą całkowitą.
Parametry podstawowych instrukcji aryt-
LAD
FBD
Parametr Typ danych Opis
IN1, IN2
SINT, INT, DINT,
USINT, UINT, UDINT,
REAL, Constant
Wejścia
operacji aryt-
metycznej
OUT
SINT, INT, DINT,
USINT, UINT, UDINT,
REAL
Wyjście
operacji aryt-
metycznej
146
ELEKTRONIKA PRAKTYCZNA 6/2010
677320859.051.png 677320859.062.png 677320859.073.png 677320859.082.png 677320859.001.png 677320859.002.png 677320859.003.png 677320859.004.png 677320859.005.png 677320859.006.png
S7-1200
DEC (dekrementacja): wartość parame-
tru IN/OUT – 1 = wartość parametru IN/
OUT
Instrukcja obliczania wartości
bezwzględnej ABS
Instrukcja ABS jest stosowana do wy-
znaczenia wartości bezwzględnej wejściowej
liczby całkowitej lub rzeczywistej ze zna-
kiem IN, a wynik jest zachowywany jako pa-
rametr OUT. Parametry IN i OUT muszą być
tego samego typu.
LAD
FBD
Parametr Typ danych Opis
IN
SINT, INT,
DINT, REAL
Wejście operacji
arytmetycznej
OUT
SINT, INT,
DINT, REAL
Wejście operacji
arytmetycznej
Kiedy instrukcja arytmetyczna jest uak-
tywniona (EN = 1), wtedy na wartościach
wejściowych (IN1 i  IN2) jest wykonywana
określona operacja arytmetyczna, a jej wynik
jest zapisywany pod adres pamięci określony
w parametrze wyjściowym (OUT). Po pomyśl-
nym zakończeniu operacji, instrukcja ustawia
ENO = 1.
LAD
FBD
Kody warunkowe
STATUS ENO
Opis
1
Brak błędu
Para-
metr
Typ danych Opis
0
Wartość wyniku jest poza do-
zwolonym zakresem dla danej
wybranego typu. Przykład dla
SINT: ABS(-128) daje w wy-
niku wartość +128, która
przekracza maksymalny zakres
dla tego typu danej.
Instrukcja MOD
Instrukcja MOD (modulo) jest stoso-
wana w celu wykonania operacji arytme-
tycznej IN1 modulo IN2. Ta operacja jest
określona równaniem IN1 MOD IN2 =
IN1 – (IN1 / IN2) * IN2 = parametr OUT.
Parametry IN1, IN2 i OUT muszą być tego
samego typu.
IN
SINT, INT, DINT,
REAL, Constant
Wejście operacji
arytmetycznej
SINT, INT, DINT,
REAL
Wyjście operacji
arytmetycznej
OUT
Instrukcje inkrementacji
i dekrementacji
Instrukcje INC i DEC są stosowane do:
• Inkrementacji wartości liczby całkowitej
ze znakiem lub bez znaku.
• Dekrementacji wartości liczby całkowitej
ze znakiem lub bez znaku.
Instrukcje MIN i MAX
Instrukcje MIN (minimum) i MAX (mak-
simum) są stosowane zgodnie z następują-
cym opisem:
• MIN porównuje wartości dwóch para-
metrów IN1 i IN2, i minimalną (mniej-
szą) zapisuje jako wartość parametru
OUT.
• MAX porównuje wartości dwóch para-
metrów IN1 i IN2, i maksymalną (więk-
szą) zapisuje jako wartość parametru
OUT.
Parametry IN1, IN2 i OUT muszą być
tego samego typu.
LAD
FBD
LAD
FBD
Parametr Typ danych Opis
IN1, IN2
INT, INT, DINT,
USINT, UINT,
UDINT, Constant
Wejścia ope-
racji modulo
LAD
FBD
OUT
INT, INT, DINT,
USINT, UINT,
UDINT
Wyjście ope-
racji modulo
Parametr Typ danych Opis
Instrukcja NEG
Instrukcja NEG (negacja) jest stosowana
do zmiany arytmetycznego znaku wartości
parametru IN; wynik jest zapamiętywany
jako parametr OUT. Parametry IN i OUT mu-
szą być tego samego typu.
IN/OUT
SINT, INT,
DINT, USINT,
UINT, UDINT
Wejście i wyjście
operacji arytme-
tycznej
INC (inkrementacja): wartość parametru
IN/OUT + 1 = wartość parametru IN/OUT
ELEKTRONIKA PRAKTYCZNA 6/2010
147
677320859.007.png 677320859.008.png 677320859.009.png 677320859.010.png 677320859.011.png 677320859.012.png 677320859.013.png 677320859.014.png 677320859.015.png 677320859.016.png 677320859.017.png 677320859.018.png 677320859.019.png 677320859.020.png 677320859.021.png 677320859.022.png 677320859.023.png 677320859.024.png 677320859.025.png 677320859.026.png 677320859.027.png 677320859.028.png 677320859.029.png 677320859.030.png 677320859.031.png 677320859.032.png 677320859.033.png 677320859.034.png 677320859.035.png 677320859.036.png 677320859.037.png 677320859.038.png 677320859.039.png 677320859.040.png 677320859.041.png 677320859.042.png 677320859.043.png 677320859.044.png 677320859.045.png 677320859.046.png 677320859.047.png 677320859.048.png
AutomAtykA i mechAtronikA
Parametr Typ danych Opis
Parametr Typ danych Opis
• COS: cosinus (cos(IN radianów) = OUT)
• TAN: tangens (tan(IN radianów) = OUT)
• ASIN: arcus sinus (arcsine(IN) = OUT
radianów), gdzie sin(OUT radianów) =
IN
• ACOS: arcus cosinus (arccos(IN) = OUT
radianów), gdzie cos(OUT radianów) =
IN
• ATAN: arcus tangens (arctan(IN) = OUT
radianów), gdzie tan(OUT radianów) =
IN
• FRAC: ułamek (część ułamkowa liczby
zmiennoprzecinkowej IN = OUT)
• EXPT: funkcja wykładnicza o dowolnej
podstawie (IN1 IN2 = OUT)
tomasz Starak
IN1, IN2
SINT, INT, DINT, USINT,
UINT, UDINT, REAL,
Constant
Wejścia
operacji
arytmetycz-
nej
MIN, IN
i MAX
SINT, INT, DINT,
USINT, UINT, UDINT,
REAL,
Constant
Wejścia
operacji aryt-
metycznej
OUT
SINT, INT, DINT, USINT,
UINT, UDINT, REAL
Wejście
operacji
arytmetycz-
nej
OUT
SINT, INT, DINT,
USINT, UINT, UDINT,
REAL
Wejście
operacji aryt-
metycznej
Kody warunkowe
Instrukcja LIMIT
Instrukcja LIMIT służy do sprawdzania,
czy wartość parametru IN zawiera się we-
wnątrz zakresu określonego parametrami
MIN I MAX. Jeżeli wartość IN wykracza poza
ten zakres, to OUT pozostaje obcięta na war-
tości MIN lub MAX.
Jeżeli wartość IN zawiera się w wyspe-
cyikowanym zakresie, to ta wartość IN jest
zapamiętywana jako parametr OUT.
Jeżeli wartość IN wykracza poza wyspe-
cyikowany zakres, to parametr OUT przyj-
muje wartość parametru MIN (jeżeli wartość
IN jest mniejsza od wartości MIN) lub war-
tość parametru MAX (jeżeli wartość IN jest
większa od wartości MAX).
Parametry MIN, IN, MAX i OUT muszą
być tego samego typu.
STATUS ENO
Opis
1
Brak błędu
0
REAL: jeżeli jedna lub
więcej wartości spośród
MIN, IN i MAX nie jest
liczbą (NAN), to zwracany
jest NAN
0
Jeżeli MIN jest większa od
MAX, to parametrowi OUT
jest nadawana wartość IN
LAD
FBD
Instrukcje arytmetyczne
zmiennoprzecinkowe
Instrukcje zmiennoprzecinkowe stosuje
się podczas programowania operacji aryt-
metycznych wykorzystujących dane typu
REAL:
• SQR: podnoszenie do kwadratu (IN 2 =
OUT)
• SQRT: pierwiastek kwadratowy (√IN =
OUT)
• LN: logarytm naturalny (LN(IN) = OUT)
• EXP: funkcja wykładnicza o  pod-
stawie e (e IN = OUT), gdzie e =
2,71828182845904523536
• SIN: sinus (sin(IN radianów) = OUT)
LAD
FBD
Parametr Typ danych Opis
IN, IN2 REAL, Constant Wejścia
Wejście
funkcji
EXPT
OUT REAL Wyjście
SINT, INT, DINT, USINT,
UINT, UDINT, REAL,
Constant
R
E
K
L
A
M
A
148
ELEKTRONIKA PRAKTYCZNA 6/2010
IN2
677320859.049.png 677320859.050.png 677320859.052.png 677320859.053.png 677320859.054.png 677320859.055.png 677320859.056.png 677320859.057.png 677320859.058.png 677320859.059.png 677320859.060.png 677320859.061.png 677320859.063.png 677320859.064.png 677320859.065.png 677320859.066.png 677320859.067.png 677320859.068.png 677320859.069.png 677320859.070.png 677320859.071.png 677320859.072.png 677320859.074.png 677320859.075.png 677320859.076.png 677320859.077.png 677320859.078.png 677320859.079.png 677320859.080.png 677320859.081.png
Zgłoś jeśli naruszono regulamin