przewodnik inst7a, Programowanie, Step7, STEP 7 MicroWin


ZESPÓŁ SZKÓŁ ELEKTRONICZNYCH - TECHNIKUM ELEKTRONICZNE

w Zielonej Górze

V eo - Pracownia układów mikroprocesorowych i mikrokomputerów

V sk - Pracownia systemów mikroprocesorowych

Przewodnik do ćwiczeń

Nr ćwiczenia - S7_7a

Temat ćwiczenia:

Aplikacje S7-200

Układy automatycznego sterowania

Przykład 1. Układ automatycznego sterowania pompą.

Dwa zbiorniki w hydroforni zasilane są pompą. Pompa może pracować przy trzech prędkościach obrotowych n1, n2, n3. Zbiorniki są opróżniane nierównomiernie, ale zawsze są z powrotem automatycznie napełniane za pomocą pompy. Trzy prędkości obrotowe pompy odpowiadają trzem wielkościom napełnienia:

1) jeżeli jeden tylko zbiornik nie jest pełny, lecz zapełnienie tego zbiornika przekracza połowę, to prędkość obrotowa wynosi n1;

2) jeżeli obydwa zbiorniki nie są pełne, lecz zapełnienie ich przekracza połowę, albo jeżeli jeden tylko zbiornik jest zapełniony mniej niż w połowie, to prędkość obrotowa wynosi n2;

3) jeżeli zapełnienie obydwu zbiorników spadło poniżej połowy, to prędkość obrotowa wynosi n3.

Gdy obydwa zbiorniki są pełne, to pompa oczywiście zostaje wyłączona, czyli prędkość obrotowa n = 0.

Wykonać syntezę układu automatycznego sterowania pompy i napisać program dla sterownika S7-200. Program uruchomić w sterowniku i przetestować jego działanie symulując możliwe stany pracy.

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic

Zasilanie pompą dwóch zbiorników.

Z warunków pracy układu wynika, że każdy z dwóch zbiorników może znajdować się w trzech stanach:

1)od stanu „pusty” do „zapełniony w połowie”, (h<1/2)

2)od stanu „zapełniony w połowie” do „pełny”, lecz „niepełny”, (1/2 <= h < 1)

3)w stanie „pełny”, ( h = 1 ).

Aby opisać te trzy stany każdy zbiornik musi posiadać dwa czujniki poziomu, kontrolujące środkowy i górny poziom wody (A, B, C, D). Po przekroczeniu określonego poziomu wody czujnik zmienia stan z 0 na 1 (zwiera swój styk).

zbiornik I

A

B

zbiornik II

C

D

h < ½

0

0

h < 1/2

0

0

1/2 <= h < 1

1

0

1/2 <= h < 1

1

0

h = 1

1

1

h = 1

1

1

Elementy A, B, C, D są elementami wejściowymi układu sterowania i będą podłączone do wejść sterownika I0.0, I0.1, I0.2, I0.3.

Elementami wyjściowymi układu będą trzy styczniki S1, S2, S3, z których każdy włącza silnik pompy do sieci w inny sposób, zapewniający uzyskanie jednej z trzech prędkości obrotowych.

Styczniki S1, S2, S3 będą podłączone do wyjść sterownika S7-200: Q0.0, Q0.1, Q0.2.

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic

Należy sporządzić tablicę zależności elementów wyjściowych S1, S2, S3 od elementów wejściowych A, B, C, D i zapisać funkcje logiczne F(S1), F(S2), F(S3).

0x08 graphic
lp

A

B

C

D

S1

S2

S3

CD

CD

1

0

0

0

0

0

0

1

AB

00

01

11

10

AB

00

01

11

10

2

0

0

0

1

00

0

Ψ

0

0

00

0

Ψ

1

1

3

0

0

1

0

0

1

0

01

Ψ

Ψ

Ψ

Ψ

01

Ψ

Ψ

Ψ

Ψ

0x08 graphic
4

0

0

1

1

0

1

0

11

0

Ψ

0

1

11

1

Ψ

0

0

5

0

1

0

0

10

0

Ψ

1

0

10

1

Ψ

0

1

6

0

1

0

1

S1

S2

7

0

1

1

0

8

0

1

1

1

CD

9

1

0

0

0

0

1

0

AB

00

01

11

10

10

1

0

0

1

00

1

Ψ

0

0

11

1

0

1

0

0

1

0

01

Ψ

Ψ

Ψ

Ψ

12

1

0

1

1

1

0

0

11

0

Ψ

0

0

13

1

1

0

0

0

1

0

10

0

Ψ

0

0

14

1

1

0

1

S3

15

1

1

1

0

1

0

0

16

1

1

1

1

0

0

0

0x08 graphic
0x08 graphic
F(S1) = AB0x08 graphic
0x08 graphic
D + BCD

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
F(S2) = AC +AC + BCD

0x08 graphic
0x08 graphic
0x08 graphic
F(S3) = AC

Otrzymane funkcje logiczne wprowadzić w edytorze Step 7-Micro/WIN. W tabeli symboli (symbol table) wprowadzić synonimy, adresy i komentarze.

NETWORK 1

LD I0.0

AN I0.1

A I0.3

LD I0.1

A I0.2

AN I0.3

OLD

= Q0.0

NETWORK 2

LD I0.0

AN I0.2

LD I0.2

LDN I0.0

LDN I0.1

AN I0.3

OLD

ALD

OLD

= Q0.1

NETWORK 3

LDN I0.0

AN I0.2

= Q0.2

NETWORK 4

MEND

Przykład 2. Kontrola częstotliwości.

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
Należy kontrolować określoną dolną granicę częstotliwości na wejściu I0.0. Przy zbyt małej częstotliwości powinna zostać załączona sygnalizacja (wyjście Q0.0). Sygnalizacja jest kasowana przyciskiem kwitującym podłączonym do wejścia I0.1.

0x08 graphic
0x08 graphic

Czas między kolejnymi zboczami narastającymi na wejściu I0.0 jest mierzony i zapisywany w sekundach w pamięci w VW6. Sygnalizacja „częstotliwość za mała” powinna załączać się dla

t >= 30 s.

Rozwiązanie.

Merker M0.0 jest zerowany a następnie ustawiany przy każdym zboczu narastającym na I0.0. Człon czasowy T37 odmierza czas od ustawienia M0.0 do jego wyzerowania. (M0.0 jest zerowany na czas jednego cyklu programu).

0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

NETWORK 1

LD SM0.1

R T37, 1 //zerowanie T37 w pierwszym cyklu

R M0.0, 1 // -"- M0.0 -"-

NETWORK 2

LD I0.0

EU

R M0.0, 1 //zerowanie merkera M0.0

NETWORK 3

LD M0.0

TON T37, +300 //odmierzanie czasu t

NETWORK 4

LD T37

S Q0.0, 1 //załączenie Q0.0 gdy t=30s

NETWORK 5

LD I0.1

EU

R Q0.0, 1 //kwitowanie sygnalizacji

NETWORK 6

LD I0.0

EU

S M0.0, 1 //ustawianie merkera M0.1

NETWORK 7

LD SM0.0

MOVW T37, VW2 //przesłanie słowa T37 do VW2

DIV +10, VD0 //dzielenie przez 10 (zamiana na sekundy)

NETWORK 8

MEND

Przykład 3. Kontrola zakresu.

Stany wejść I0.0 - I0.7 stanowią bajt wejściowy (IB0), traktowany jako dana. Wartość IB0 ma leżeć wewnątrz zakresu 50<= IB0 <=100. Wyjście Q0.0 miga szybko (znacznik specjalny SM0.5), gdy wartość IB0 jest większa niż 100. Miga ono wolno (znacznik specjalny SM0.4), gdy wartość IB0 jest mniejsza niż 50. Gdy wartość ta znajduje się wewnątrz podanego zakresu wyjście Q0.0 ma światło ciągłe.

Gdy IB0>= 200 do pamięci (VD8) przesłany zostaje komunikat „WMAX”.

NETWORK 1 //porównanie pierwsze

LDB<= 50, IB0

= M0.0

NETWORK 2 //porównanie drugie

LDB>= 100, IB0

= M0.1

NETWORK 3 //połączenie wyników

LD M0.0

A M0.1

LD SM0.4

AN M0.0

OLD

LD SM0.5

AN M0.1

OLD

= Q0.0

NETWORK 4

LD SM0.0 //w pierwszym cyklu

MOVD +0, VD8 //zerowanie VD8

NETWORK 5

LDB<= 200, IB0 //przekroczenie wartości maksymalnej

MOVD 'WMAX', VD8 //przesłanie komunikatu "WMAX" do pamięci, do VD8

NETWORK 6

MEND

Przykład 4. Opóźnione wyłączanie.

Wyjście Q0.0 zostaje załączone po załączeniu I0.0. Po wyłączeniu I0.0 Q0.0 pozostaje w stanie 1 dopóki nie upłynie czas Tn. Jeżeli wejście zostało wyłączone, a następnie załączone przed upływem czasu Tn, to wyjście Q0.0 pozostaje włączone. Timer startuje od początku przy każdej zmianie z 1 na 0 na wejściu I0.0.

Symbol elementu „opóźnione wyłączanie” stosowany na schematach:

0x08 graphic

0x08 graphic
Diagram czasowy:

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic

NETWORK 1

LD I0.0

ED //zbocze opadające na I0.0

S M0.1, 1 //ustawienie M0.1

NETWORK 2

LD M0.1

TON T37, +300 //timer T37 odmierza opóźnienie 30s

NETWORK 3

LD I0.0 //zbocze narastające na I0.0

EU

O T37 //minęło 30 s

R M0.1, 1 //kasowanie M0.1

NETWORK 4

LD I0.0

O M0.1

= Q0.0 //ustawienie wyjścia Q0.0

NETWORK 5

MEND

Przykład 5. Automatyczne sterowanie drzwiami.

Drzwi są otwierane automatycznie, gdy ktoś podchodzi. Pozostają otwarte dopóki ktoś znajduje się w przejściu. Jeżeli nie ma nikogo w przejściu, po krótkim czasie drzwi zamykają się samoczynnie.

Wejścia:

- detektory ruchu :

  • B1 „na zewnątrz”

  • B2 „wewnątrz”

- wyłączniki krańcowe:

  • W1 „zamknięte”

  • W2 „otwarte”.

Wyjścia:

-styczniki (uruchamiają silnik przesuwający drzwi):

  • K1 „otwieranie”

  • K2 „zamykanie”

Lista przydziału adresów do wejść i wyjść:

Adres

Symbol

komentarz

I0.1

I0.2

I0.3

I0.4

Q0.1

Q0.2

B1

B2

W1

W2

K1

K2

n.o.

n.o.

n.z.

n.z.

Schemat funkcjonalny:

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic

Znacznik M0.0 (opóźnione wyłączanie) załącza się gdy I0.1+I0.2=1. Gdy obydwa detektory nie wykrywają ruchu przez 10s M0.0 wyłącza się. Program dla M0.0 - jak w przykładzie 4.

NETWORK 1

LD I0.1 //detektor ruchu

O I0.2 //detektor ruchu

= M0.2

NETWORK 2

LD M0.2

ED //zanik ruchu

S M0.1, 1

NETWORK 3

LD M0.1

TON T37, +300 //odmierzanie opóźnienia

NETWORK 4

LD M0.2

EU

O T37

R M0.1, 1

NETWORK 5

LD M0.2

O M0.1

= M0.0 //sygnał „otwieranie”

NETWORK 6

LD M0.0

AN Q0.2 //wyjście „zamykanie” nie działa

A I0.4 //wyłącznik krańcowy "otwarte" (n.z. - gdy drzwi są otwarte I0.4=0)

= Q0.1 //załącz wyjście „otwieranie”

NETWORK 7

LDN M0.0

AN Q0.1 //wyjście „otwieranie” nie działa

A I0.3 //wyłącznik krańcowy "zamknięte" (n.z. - gdy drzwi są zamknięte I0.3=0)

= Q0.2 //załącz wyjście „zamykanie”

NETWORK 8

MEND

1/11

D

C

B

A

I

II

BV

C

D

A

SIMATIC S7-200

1M 0.0 0.1 0.2 0.3 2M 0.4 0.5 0.6 0.7 M L+

INPUTS

Zasilanie 24 V DC dla czujników

N L1

OUTPUTS

S3

S2

S1

1L 0.0 0.1 0.2 2L 0.3 0.4 0.5

ZASILANIE

t

częstotliwość za mała (Q0.0)

częstotliwość (I0.0)

t

kwitowanie (I0.1) i((Ii(I0.1)(I0.1)

I0.0

M0.0

I0.0

t

Q

M0.1

Q0.0

I0.0

t=Tn

t

t=Tn

I0.3

I0.4

I0.1

I0.2

>

10s

Q0.2

1

&

Q0.1

1

&

1

Q0.2

Q0.1

M0.0



Wyszukiwarka

Podobne podstrony:
przewodnik inst2, Programowanie, Step7, STEP 7 MicroWin
przewodnik inst4, Programowanie, Step7, STEP 7 MicroWin
przewodnik inst3, Programowanie, Step7, STEP 7 MicroWin
przewodnik inst1, Programowanie, Step7, STEP 7 MicroWin
przewodnik inst5, Programowanie, Step7, STEP 7 MicroWin
przewodnik inst6a, Programowanie, Step7, STEP 7 MicroWin
13 14 Przewodnik po programie podstaw dydaktykiid 14580
przewodnik po programie 2012 polski 01 10 12
13 14 Przewodnik po programie podstaw dydaktykiid 14580
JavaScript i jQuery Kompletny przewodnik dla programistow interaktywnych aplikacji internetowych w V
ASP NET Web Forms Kompletny przewodnik dla programistow interaktywnych aplikacji internetowych w Vis
Edycja zdjęć w praktyce, cz III krótki przewodnik po programach
Raspberry Pi Przewodnik dla programistow Pythona
ASP NET Web Forms Kompletny przewodnik dla programistow interaktywnych aplikacji internetowych w Vis
JavaScript i jQuery Kompletny przewodnik dla programistow interaktywnych aplikacji internetowych w V
ASP NET Web Forms Kompletny przewodnik dla programistow interaktywnych aplikacji internetowych w Vis
Raspberry Pi Przewodnik dla programistow Pythona rasppy
Raspberry Pi Przewodnik dla programistow Pythona 2
JavaScript i jQuery Kompletny przewodnik dla programistow interaktywnych aplikacji internetowych w V

więcej podobnych podstron