1 Instrukcje zaleĹĽne od bitu stanu, operacje na akumulatorzeid 8536 ppt

background image

Data:

01/09/98

Plik Nr: Pro2_1d.1

SIMATIC S7

Siemens AG 1997. All rights reserved.

Wiedza o procesie automatyzacji

Dane dla ośrodków

informacyjnych i szkoleniowych

Instrukcje zależne od bitu stanu, operacje na

akumulatorze, arytmetyka zmiennoprzecinkowa

i parametry złożone

background image

Data:

01/09/98

Plik Nr: Pro2_1d.2

SIMATIC S7

Siemens AG 1997. All rights reserved.

Wiedza o procesie automatyzacji

Dane dla ośrodków

informacyjnych i szkoleniowych

Słowo stanu

Znaczenie bitów w słowie stanu (STW)

Przykłady w STL:

A OV

Test znacznika przepełnienia

A OS

Test przepełn. kumulowan.

A UO

Niedozwolona operacja

A BR

Test znacznika BR

Test znaczników wyniku (CC0, CC1)

A ==0 Wynik równy 0

A >0

Wynik większy od 0

A <>0 Wynik różny od 0

A =<0 Wynik mniejszy lub równy 0

itd.

(lub O xx, AN xx, ON xx,X xx, XN xx)

Bit

Symbol

Znaczenie

0

/FC

Pierwsze zapytanie

1

RLO

Wynik połączenia

2

STA

Stan

3

OR

Lub

4

OS

Przepełn. kumulow.

5

OV

Przepełnienie

6

CC0

Znacznik wyniku

7

CC1

Znacznik wyniku

8

BR

Wynik binarny

9...15

nie wy-

--

korzystane

NEUA_T1D

LAD

SFC

OV

M 4.0

S

S

OV

M 4.0

background image

Data:

01/09/98

Plik Nr: Pro2_1d.3

SIMATIC S7

Siemens AG 1997. All rights reserved.

Wiedza o procesie automatyzacji

Dane dla ośrodków

informacyjnych i szkoleniowych

Skoki zależne od bitu stanu

JO etykieta

1)

Skocz jeśli bit "OV" w słowie stanu = 1

JOS etykieta

1)

Skocz jeśli bit "OS" w słowie stanu = 1

JZ etykieta

1)

Skocz jeśli w słowie stanu bit CC1" = 0 a bit "CC0"

= 0

(Wynik = 0)

JN etykieta

1)

Skocz jeśli w słowie stanu bit "CC1" różny od bitu

"CC0"

(Wynik <> 0)

JP etykieta

1)

Skocz jeśli w słowie stanu bit "CC1" = 1 a bit "CC0"

= 0

(Wynik > 0)

JM etykieta

1)

Skocz jeśli w słowie stanu bit "CC1" = 0 a bit "CC0"

= 1

(Wynik < 0)

JPZ etykieta

1)

Połączenie skoków JZ i JP

(Wynik >= 0)

JMZ etykieta

1)

Połączenie skoków JM i JZ

(Wynik <= 0)

JUO etykieta

1)

Skocz jeśli liczba rzeczywista jest niewłaściwa lub

wykonana została próba dzielenia przez zero

1) etykieta może składać się z 4 znaków alfanumerycznych

NEUA_T4D

background image

Data:

01/09/98

Plik Nr: Pro2_1d.4

SIMATIC S7

Siemens AG 1997. All rights reserved.

Wiedza o procesie automatyzacji

Dane dla ośrodków

informacyjnych i szkoleniowych

Dodatkowe instrukcje skoków

Instrukcja

Znaczenie

JCI M001

Skocz jeśli BR = "1"

JCIN M002

Skocz jeśli BR = "0"

Rozdzielacz skoków

L Recipe no..

//Załaduj receptę

JL OVER

//Rozdzielacz skoków z 3 pozycjami

JU Rec0

//Skok do recepty 0 (zawartość akumulatora = 0)

JU Rec1

//Skok do recepty 1 (zawartość akumulatora = 1)

JU Rec2

//Skok do recepty 2 (zawartość akumulatora = 2)

//Skok przy złym numerze recepty >2 lub <0

OVER: JU ERR

...

Rec0: L DBW 4

...

NEUA_T4D

background image

Data:

01/09/98

Plik Nr: Pro2_1d.5

SIMATIC S7

Siemens AG 1997. All rights reserved.

Wiedza o procesie automatyzacji

Dane dla ośrodków

informacyjnych i szkoleniowych

Instrukcje tworzenia pętli

Aktualizacja licznika pętli

Część kodu
do wielokrotnego
wykonania

Dekrementacja licznika pętli

Licznik pętli
<>0 ?

Tak

Nie

Dalej

L +4

// załaduj licznik pętli

NEXT: T MW10

// początek pętli

.

// kod

.

// kod

.

// kod

.

// kod

.

// kod

L MW10

// ponowne załaduj licznik pętli

Loop NEXT

// licznik pętli -1 i skok do
// etykiety NEXT jeśli akumulator
// ACCU1 większy od 0

W tym przykładzie sekwencja programu
między etykietą NEXT i instrukcją Loop
NEXT wykonana zostanie czterokrotnie.

Instrukcja LOOP

background image

Data:

01/09/98

Plik Nr: Pro2_1d.6

SIMATIC S7

Siemens AG 1997. All rights reserved.

Wiedza o procesie automatyzacji

Dane dla ośrodków

informacyjnych i szkoleniowych

BE

Koniec bloku (zakończenie bloku)

BEC

Warunkowe zakończenie bloku (zależne od RLO)

(RET)

przy wyświetlaniu LAD

przy wyświetlaniu SFC

BEU

Bezwarunkowe zakończenie bloku

(w obrębie jednego bloku)

Polecenia zakończenia bloku

NEUA_T4D

RET

background image

Data:

01/09/98

Plik Nr: Pro2_1d.7

SIMATIC S7

Siemens AG 1997. All rights reserved.

Wiedza o procesie automatyzacji

Dane dla ośrodków

informacyjnych i szkoleniowych

Proszę wykonać ćwiczenia
od 1.1 do 1.3

Ćwiczenia: Skoki zależne od bitu stanu, lista

skoków

background image

Data:

01/09/98

Plik Nr: Pro2_1d.8

SIMATIC S7

Siemens AG 1997. All rights reserved.

Wiedza o procesie automatyzacji

Dane dla ośrodków

informacyjnych i szkoleniowych

Liczba rzeczywista/zmiennoprzecinkowa w

SIMATIC S7

Zbiór wartości:

-3,402 823 E+38 do -1,175 495E-38

oraz +/-0

i

+1,175 495E-38 do +3,402 823E+38, przy czym E+38 = 10

+38

Wprowadzanie na programatorze:

np. 3.14 lub -5000.24

Reprezentacja liczby zmiennoprzecinkowej w podwójnym słowie (format wewnętrzny):

31

VZ

23

Wykładnik „e”

0

Mantysa „f”

(8 bitów)

(23 bity)

VZ równe 0 lub 1 // „e” równe 1 .. 254 // „f” równe 0 .. (2

-1

+2

-2

+... 2

-23

)

VZ = 0 oznacza liczbę dodatnią, VZ = 1 oznacza liczbę ujemną

Liczba zmiennoprzecinkowa obliczana jest według następującego wzoru:

Liczba = VZ * 2

(e-127)

* (1.f ), przy czym 0<e<255 i f=bit22*1/2

1

+bit20*1/2

2

+.....

i 1.f = 1 + f

7 6 5 4 3 2 1 0

22

1 0przyporządkowanie bitów

21

20

2

-1

2

-2

2

-22

2

-23

Format wprowadzania/wyprowadzania

NEUA_T4D

background image

Data:

01/09/98

Plik Nr: Pro2_1d.9

SIMATIC S7

Siemens AG 1997. All rights reserved.

Wiedza o procesie automatyzacji

Dane dla ośrodków

informacyjnych i szkoleniowych

Rozszerzone rodzaje obliczeń

zmiennoprzecinkowych

Funkcje trygonometryczne

SIN

COS

TAN

ASIN

ACOS

ATAN

Funkcje logarytmiczne

LN

EXP

Kwadrat, pierwiastek kwadratowy

SQR

SQRT

Następujące instrukcje wykonywane są niezależnie od bitu RLO.

NEUA_T4D

Kąt

background image

Data:

01/09/98

Plik Nr: Pro2_1d.10

SIMATIC S7

Siemens AG 1997. All rights reserved.

Wiedza o procesie automatyzacji

Dane dla ośrodków

informacyjnych i szkoleniowych

Funkcje trygonometryczne

SIN

Oblicz sinus kąta w radianach umieszczonego w akumulatorze ACCU1 i zapisz

wynik w ACCU1.

COS

Oblicz cosinus kąta w radianach umieszczonego w akumulatorze ACCU1 i

zapisz wynik w ACCU1.

TAN

Oblicz tangens kąta w radianach umieszczonego w akumulatorze ACCU1 i

zapisz wynik w ACCU1.

Wartości kątowe w formacie zmiennoprzecinkowym (0...) należy umieścić w ACCU1.

Wyniki funkcji również w formacie zmiennoprzecinkowym (-1.0 ...+1.0) umieszczane są

w ACCU1. Słowo stanu jest modyfikowane.

ASIN

Oblicz arcussinus wartości umieszczonej w akumulatorze ACCU1 i zapisz

wynik w radianach w ACCU1. ( -1.0 <= wartość wejściowa <= +1.0)

ACOS

Oblicz arcuscosinus wartości umieszczonej w akumulatorze ACCU1 i zapisz

wynik w radianach w ACCU1. ( -1.0 <= wartość wejściowa <= +1.0)

ATAN

Oblicz arcustangens wartości umieszczonej w akumulatorze ACCU1 i zapisz

wynik w radianach w ACCU1.

Argumenty funkcji w formacie zmiennoprzecinkowym należy umieścić w ACCU1.

Wyniki funkcji również w formacie zmiennoprzecinkowym (- 2 ..) umieszczane są

w ACCU1. Słowo stanu jest modyfikowane.

NEUA_T4D

background image

Data:

01/09/98

Plik Nr: Pro2_1d.11

SIMATIC S7

Siemens AG 1997. All rights reserved.

Wiedza o procesie automatyzacji

Dane dla ośrodków

informacyjnych i szkoleniowych

Funkcje logarytmiczne

LN

// Oblicz logarytm naturalny (o podstawie e) z liczby zmiennoprzecinkowej

// umieszczonej w akumulatorze ACCU1 i zapisz wynik w ACCU1.

EXP

// Oblicz liczbę o podstawie e i wykładniku umieszczonym w ACCU1

// i zapisz wynik w ACCU1.

// Wykładnik i wynik są liczbami zmiennoprzecinkowymi.

NEUA_T4D

background image

Data:

01/09/98

Plik Nr: Pro2_1d.12

SIMATIC S7

Siemens AG 1997. All rights reserved.

Wiedza o procesie automatyzacji

Dane dla ośrodków

informacyjnych i szkoleniowych

Kwadrat i pierwiastek kwadratowy

SQR

Przemnóż liczbę w akumulatorze ACCU1 przez nią samą.

Wynik zapisz w ACCU1. Argument i wynik są liczbami

zmiennoprzecinkowymi.

SQRT

Oblicz pierwiastek kwadratowy z liczby w ACCU1. Wynik zapisz

do ACCU1. Argument i wynik są liczbami zmiennoprzecinkowymi.

Przykład:

L MD 6

// Załaduj wartość MD 6 (wartość 4.0)

SQR

T MD 10

// Zapisz wynik do MD 10 (wartość 16.0)

Przykład:

L MD 20

// Załaduj wartość MD 20 (wartość 16.0)

SQRT

T MD 30

// Zapisz wynik do MD 30 (wartość 4.0)

NEUA_T4D

background image

Data:

01/09/98

Plik Nr: Pro2_1d.13

SIMATIC S7

Siemens AG 1997. All rights reserved.

Wiedza o procesie automatyzacji

Dane dla ośrodków

informacyjnych i szkoleniowych

Dodatkowe operacje na akumulatorze

Instrukcje dotyczące różnych akumulatorów

POP

PUSH

TAK

ENT

LEAVE

Instrukcje dotyczące tylko akumulatora ACCU1

TAW

TAD

INC

DEC

RLDA, RRDA

Następujące instrukcje wykonywane są niezależnie od bitu RLO.

NEUA_T4D

background image

Data:

01/09/98

Plik Nr: Pro2_1d.14

SIMATIC S7

Siemens AG 1997. All rights reserved.

Wiedza o procesie automatyzacji

Dane dla ośrodków

informacyjnych i szkoleniowych

Operacje dotyczące różnych akumulatorów

PUSH

Skopiuj zawartość ACCU1 do ACCU2 (ACCU1 pozostanie niezmieniony);

w procesorze S7 z 4 akumulatorami skopiuj wcześniej zawartość ACCU3

do ACCU4 i zawartość ACCU2 do ACCU3.

POP

Skopiuj zawartość ACCU2 do ACCU1 (ACCU2 pozostanie w procesorze

dwu-akumulatorowym niezmieniony);

w procesorze S7 z 4 akumulatorami skopiuj również zawartość ACCU3 do

ACCU2 i zawartość ACCU4 do ACCU3.

ENT

Skopiuj zawartość ACCU3 do ACCU4 i zawartość ACCU2 do ACCU3.

ACCU1 i ACCU2 pozostaną niezmienione. Instrukcja ta dostępna jest

tylko w procesorach z 4 akumulatorami.

LEAVE Skopiuj zawartość ACCU3 do ACCU2 i zawartość ACCU4 do ACCU3.

ACCU1 i ACCU4 pozostaną niezmienione. Instrukcja ta dostępna jest

tylko w procesorach z 4 akumulatorami.

TAK

Zamień zawartość akumulatora ACCU1 z akumulatorem ACCU2

NEUA_T4D

Dodatkowo w S7-400 ( z 4 akumulatorami):

background image

Data:

01/09/98

Plik Nr: Pro2_1d.15

SIMATIC S7

Siemens AG 1997. All rights reserved.

Wiedza o procesie automatyzacji

Dane dla ośrodków

informacyjnych i szkoleniowych

Operacje dotyczące tylko akumulatora ACCU1

TAD

Wymień zawartość ACCU1-L-L z zawartością ACCU1-H-H, oraz

zawartość ACCU1-L-H z zawartością ACCU1-H-L. Rejestr ACCU2

pozostanie niezmieniony. Słowo stanu pozostanie niezmienione.

TAW

Wymień zawartość ACCU1-L-L z zawartością ACCU1-L-H.

ACCU1-H oraz ACCU2 pozostaną niezmienione. Słowo stanu

pozostanie niezmienione.

INC

Powiększ zawartość ACCU1-L-L o 1 (0<= wartość <=255).

ACCU1-L-H, ACCU1-H i ACCU2 pozostaną niezmienione.

Słowo stanu pozostanie niezmienione.

DEC

Pomniejsz zawartość ACCU1-L-L o 1 (0<= wartość <=255).

ACCU1-L-H, ACCU1-H i ACCU2 pozostaną niezmienione.

Słowo stanu pozostanie niezmienione.

RLDA, RRDA

Przesuń (32-bitową) zawartość rejestru ACCU1 o 1 bit odpowiednio

w lewo lub w prawo. Najbardziej/najmniej znaczący bit ACCU1

kopiowany jest do znacznika CC1 w słowie stanu, a do

najmniej/najbardziej znaczącego bitu w ACCU1 wpisywana jest

poprzednia wartość tego znacznika. Znaczniki CC0 i OV w słowie

stanu zostaną skasowane.

NEUA_T4D

background image

Data:

01/09/98

Plik Nr: Pro2_1d.16

SIMATIC S7

Siemens AG 1997. All rights reserved.

Wiedza o procesie automatyzacji

Dane dla ośrodków

informacyjnych i szkoleniowych

Tworzenie dopełnienia

INVI

=

Uzupełnienie do jeden słowa

INVD

=

Uzupełnienie do jeden podwójnego

słowa

NEGI

=

Uzupełnienie do dwóch słowa

(przemnożenie liczby całkowitej przez

-1)

NEGD =

Uzupełnienie do dwóch podwójnego

słowa

(przemnożenie liczby całkowitej przez

-1)

NEGR

=

Zmiana znaku liczby rzeczywistej

0 1 1 0 1 0 1 1 0 1 1 0 1 0 1 1

1 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0

INVI

1

1

0

0

Bit 15

Bit 0

ACCU1

ACCU1

przed

po

NEUA_T4D

Bit 16

background image

Data:

01/09/98

Plik Nr: Pro2_1d.17

SIMATIC S7

Siemens AG 1997. All rights reserved.

Wiedza o procesie automatyzacji

Dane dla ośrodków

informacyjnych i szkoleniowych

Proszę wykonać ćwiczenia
od 1.4 do 1.6

Ćwiczenia: Funkcje akumulatora

background image

Data:

01/09/98

Plik Nr: Pro2_1d.18

SIMATIC S7

Siemens AG 1997. All rights reserved.

Wiedza o procesie automatyzacji

Dane dla ośrodków

informacyjnych i szkoleniowych

Złożone parametry bloków

W części deklaracyjnej bloków programowych parametrom bloków mogą zostać

przypisane:
elementarne typy danych,

złożone typy danych,

oraz typy parametralne.

Do złożonych typów danych należą:

Struktura,
Tablica,
DATE_AND_TIME,
STRING[n]
Uniwersalny typ danych UDT

Do typów parametralnych należą:

POINTER i ANY
Timer i Counter
BLOCK_FB i BLOCK_FC
BLOCK_DB i BLOCK_SDB

background image

Data:

01/09/98

Plik Nr: Pro2_1d.19

SIMATIC S7

Siemens AG 1997. All rights reserved.

Wiedza o procesie automatyzacji

Dane dla ośrodków

informacyjnych i szkoleniowych

Struktura i tablica

Wykorzystanie struktur i tablic

PRGA_T6D

background image

Data:

01/09/98

Plik Nr: Pro2_1d.20

SIMATIC S7

Siemens AG 1997. All rights reserved.

Wiedza o procesie automatyzacji

Dane dla ośrodków

informacyjnych i szkoleniowych

Przekazywanie struktur

Symboliczne nazewnictwo parametrów

Bez nazw symbolicznych

Wywołanie bloków z parametrami bloku typu STRUKTUR (struktura)

Przykład: Parametry wejściowe zostały zdefiniowane jako struktury o nazwie "motor"

PRGA_T6D

tak nie podawane

background image

Data:

01/09/98

Plik Nr: Pro2_1d.21

SIMATIC S7

Siemens AG 1997. All rights reserved.

Wiedza o procesie automatyzacji

Dane dla ośrodków

informacyjnych i szkoleniowych

Przekazywanie tablic

Wywołanie bloków ze złożonymi parametrami bloku typu FIELD (tablica)

Przykład: Parametry wejściowe zostały zdefiniowane jako tablice o nazwie "Material"

Symboliczne nazewnictwo parametrów

Bez nazw symbolicznych

PRGA_T6D

tak nie podawane

background image

Data:

01/09/98

Plik Nr: Pro2_1d.22

SIMATIC S7

Siemens AG 1997. All rights reserved.

Wiedza o procesie automatyzacji

Dane dla ośrodków

informacyjnych i szkoleniowych

DATE_AND_TIME

Typ DATE_AND_TIME Długość : 8 bajtów Format: DT#rok-miesiąc-dzień-h:min:s.ms

lub

DT

Przykład:

DT#96-06-04-11:30:01.923

Dane typu DT zapisywane są w formacie BCD:

Bajt

Zawartość

Zakres

0

Dziesięciolecie + rok

1990...2089

Bez podawania stulecia

1

Miesiąc

01...12

2

Dzień

1...31

3

Godzina

0...23

4

Minuta

0...59

5

Sekunda

0...59

6

MSD milisekund

00....99

MSD = Bardziej znacząca część

7(Bit4..7)

LSD milisekund

0...9

LSD = Mniej znacząca część

7(Bit0..3)

Dzień tygodnia

1...7 (1=niedziela)

Reprezentacja bajtów 6 i 7

Bajt 6

Bajt 7

MSD

MSD

LSD

dzień tygodnia

milisekundy

PRGA_T6D

background image

Data:

01/09/98

Plik Nr: Pro2_1d.23

SIMATIC S7

Siemens AG 1997. All rights reserved.

Wiedza o procesie automatyzacji

Dane dla ośrodków

informacyjnych i szkoleniowych

STRING[n]

Typ STRING [n]

maks. długość ciągu znaków wynosi n znaków (typu CHAR)

Typ STRING

maks. długość ciągu znaków wynosi 254 znaki (typu CHAR)

Typ String wykorzystywany jest do definicji ciągów znaków elementarnego typu CHAR.

Definicja:

Nazwa_zmiennej:STRING[n] := 'Ciag znakow';

Przykład:

Opis:STRING[20] := 'Pozycja napełniania'

Bajt 0

Bajt 1

Bajt 2

Bajt 3

Bajt 4

....

Bajt n+2

Maksymalna

długość - licz.

całkowita (20)

Bieżąca

długość - licz.

całkowita (19)

Wartość

ASCII P

Wartość

ASCII o

Wartość

ASCII z

--

1.Znak 2.Znak 3.Znak ......

background image

Data:

01/09/98

Plik Nr: Pro2_1d.24

SIMATIC S7

Siemens AG 1997. All rights reserved.

Wiedza o procesie automatyzacji

Dane dla ośrodków

informacyjnych i szkoleniowych

POINTER i ANY

Parametry te wykorzystywane są przez bloki systemowe.

PRGA_T6D

(bezwzględnie)

(symbolicznie)

background image

Data:

01/09/98

Plik Nr: Pro2_1d.25

SIMATIC S7

Siemens AG 1997. All rights reserved.

Wiedza o procesie automatyzacji

Dane dla ośrodków

informacyjnych i szkoleniowych

Proszę wykonać ćwiczenie 1.7

Ćwiczenia: Wykorzystanie złożonych

parametrów bloków

background image

Data:

01/09/98

Plik Nr: Pro2_1d.26

SIMATIC S7

Siemens AG 1997. All rights reserved.

Wiedza o procesie automatyzacji

Dane dla ośrodków

informacyjnych i szkoleniowych

Załącznik: Typ danych ANY

Bajt 0 16#10 w S7

Typ danej
(zob. tabela)

Bajt 1

Bajt 2 Współczynnik powtórzenia typu

Bajt 3

Bajt 4 Numer DB lub 0

Bajt 5

Bajt 6 Pamięć Pointer

(zakres)

0 0 0 0 _ 0 b b b
Adres pointer

Bajt 7

Bajt 8

b b b b _ b b b b _ b b b b _ b x x x

Kontynuacja adresu pointer

Bajt 9

Tabela typów danych ( format B#16# ) :

01 = BOOL, 02 = BYTE, 03 = CHAR, 04 = WORD, 05 = INT, 06 = DWORD, 07 = DINT,
08 = REAL, 09 = DATE, 0A = TOD, 0B = TIME, 0C = S5TIME, 0E = DT,
13 = STRING, 17 = BLOCK_FB, 18 = BLOCK_FC, 19 = BLOCK_DB,
1A = BLOCK_SDB, 1C = COUNTER, 1D = TIMER


Document Outline


Wyszukiwarka

Podobne podstrony:
07 operacje na danychid 7063 ppt
14 operacje na slowachid 15497 ppt
Operacje na rekordach i przetwarzanie plików Instrukcja laboratoryjna
4 Operacje na Plikach ppt
4 operacje na zmiennych I
34 Pliki Operacje na plikach w Pascalu
Instrukcja BHP dla obsługi elektronarzędzi, BHP NA BUDOWIE
Ocena stanu srodowiska na podstawie szaty roslinnej wyklad II
Od Vicki wplyw dyspraksji na nauke i procesy myslowe 2008
późniak koszałka,bazy?nych, Podstawowe operacje na?zach?nych
27 I Bukraba Rylska, Migracje zarobkowe, od obieżyświata do ludzi na huśtawce
Kryteria laboratoryjne rozpoznawania cukrzycy są niezależne od wieku i opierają się na zaleceniach W
Frontex, Frontex (Europejska Agencja Zarządzania Współpracą Operacyjną na Zewnętrznych Granicach Pań
Operacje na macierzach id 33628 Nieznany
Instrukcja BHP dla montera urządzeń i aparatury na wysokości
Na czym polega przechodzenie od szczegółu do ogółu2, Na czym polega przechodzenie od szczegółu do og
5 TurboPascal Operacje na tekstach

więcej podobnych podstron