4 Sterowanie sortowaniem RSS 2013

background image

1

PRz – RSS – W4

STEROWANIE SORTOWANIEM


Wizualizacja. Drzewo projektu. Logika układu sterowania. Układ główny – sortowanie.
Ustawianie zastawek. Zliczanie elementów. Elementy obrazu. Przyciski. Kolory i
widoczność. Ruch dyskretny – zastawki. Ruch ciągły. Liczniki – wyświetlacze
alfanumeryczne. Sortowanie w ST.

Celem wykładu jest analiza funkcjonowania programu z zależnościami czasowymi, którego
kroki tworzą standardową sekwencję.


WIZUALIZACJA. DRZEWO PROJEKTU


1.

Układ sortowania elementów – WIZUALIZACJA

Obiekt laboratoryjny – sortownica białych i czarnych kulek (Bytronic Unit, GB)

Kulki znajdują się w pochyłym kanale u góry wspierając się na zastawce S4. Powinny
być skierowane do zasobnika lewego lub prawego, zależnie od koloru. Liczby kulek w
zasobnikach mają podawać liczniki (wyświetlacze alfanumeryczne).

Elementy sortownicy

– Czujnik koloru: biała, czarna
– Czujnik kulek:

spadła, brak

– Zastawki: S1, S2 – zawsze otwarte podczas sortowania

S3 – kierowanie kulki do zasobnika lewego lub prawego
S4 – podtrzymywanie

kulek,

chwilowe

otwarcie

w

celu

przepuszczenia jednej kulki.

background image

2

Uwaga. Czujniki zrealizowane są na fototranzystorach z przerzutnikami RS, które
„zatrzaskują” informację. Przygotowanie czujnika do następnego pomiaru wymaga
impulsu resetującego.

Przyciski operatorskie (DigiVis)

1. START 2. Zeruj liczniki

2.

Drzewo projektu


3.

Zadanie Sortowanie (10ms)

Sort1(FBD) – program główny realizujący sortowanie, inkrementację liczników

oraz generujący zmienną dla ruchu.

Ster(FBD) – ustawianie zastawek.

4.

Zadanie Emulacja (10ms) – symulator sortownicy

Randomizer(FBD) – pseudolosowy generator liczb boolowskich dla określenia koloru

kulki

Emul1(FBD)

– emulator sortownicy zawierający: 1) generator kulki w kanale

górnym, 2) czujniki koloru i kulek z przerzutnikami RS, 3) układ
określania koloru dla obrazu SYMULACJA

Displayer(FBD) – określenie koloru spadającej kulki.

5.

Obrazy

Sort(FGR)

– WIZUALIZACJA

VisEmula(FGR)

– SYMULACJA

Minimalny cykl odświeżania obrazu (200ms), aby opadanie kulek wyglądało z grubsza
jak ruch ciągły.
Zaznaczyć os1(VIS), menu kontekstowe, Header, wpisać 200ms.



background image

3

LOGIKA UKŁADU STEROWANIA


1.

Algorytm sortowania

Stan początkowy

– Otwarcie „na stałe” zastawek S1, S2 (0 – otwarte).
– Zamknięcie zastawki S4 (1 – zamknięte).

Sortowanie

1.

Impuls START – dwukrotne szybkie kliknięcie (0–1–0)

Impuls służy do resetowania przerzutników RS w czujnikach koloru CS (Color
Sensor) i kulek BS (Ball Sensor) za pomocą sygnału RES (sprzętowego). Przy pracy
cyklicznej jest on zastępowany impulsem sygnalizującym zakończenie operacji z
jedną kulką (pkt. 6). Powoduje to rozpoczęcie pracy z następną kulką.

2.

Oczekiwanie (700ms) na ustalenie się sygnału w czujniku koloru CS
„obserwującym” kulkę spoczywającą na zastawce S4.

3.

Zależnie od koloru CS, wygenerowanie sygnału do zastawki S3 otwierającej lub
zamykającej kanał do odpowiedniego zasobnika.

4.

Oczekiwanie (500ms), aż zastawka S3 przyjmie ustalone położenie.

5.

Chwilowe otwarcie zastawki S4 (70ms), aby tylko jedna kulka mogła spaść.
Następna kulka wesprze się na zastawce S4. Zbyt długie otwarcie spowoduje, że
spadną dwie kulki (lub więcej), a zbyt krótkie, że zastawka zakleszczy kulkę.

6.

Oczekiwanie (1s) na ustalenie się sygnału w czujniku BS wykrywającym przejście
kulki oraz zsunięcie się jej do zasobnika. Jeśli czujnik sygnalizuje, że kulka spadła,
to generowany jest implus analogiczny jak START (pkt. 1).

2.

Schemat ideowy

background image

4

UKŁAD GŁÓWNY – SORTOWANIE


1.

Czasomierz TON (timer on–delay)

Ustawianie sygnału z opóźnieniem

Blocks → Binary → Timer, switch–on delay (TON)

Parametryzacja


Impuls po zadanym czasie – przerzutnik RS z timerem TON objęte sprzężeniem
zwrotnym.

background image

5

2.

Uniwibrator MONO_F

Ustawienie sygnału na określony czas
Blocks > Binary > Monoflop (MONO_F)


3.

Układ główny – Sort1(FBD)

background image

6

Bloki i parametry

Nr Typ

Nazwa Parametry

2

Flipflop FF

ST1

RS-flipflop

3

Timer, switch on delay TON T0

Delay time: T#700ms; Scale end: T#2s; Trigger on + edge

6

Monoflop MONO_F

WAIT

Pulse duration: T#500ms; Scale end: T#2s; Trigger on + edge

7

Monoflop MONO_F

T1

Pulse duration: T#70ms; Scale end: T#2s; Trigger on – edge

8

Flipflop FF

ST2

RS-flipflop

9

Timer, switch on delay TON T2

Delay time: T#1s; Scale end: T#5s; Trigger on + edge

4.

Zmienne

Wejścia

START – uruchomienie (impuls 0–1–0)
CS

– kolor: biała, czarna

BS

– kulka: spadła, brak

Wyjścia

RES

resetowanie przerzutników w czujnikach CS, BS (i innych – impuls

początku cyklu)

R_S3, S_S3 – zamknięcie/otwarcie zastawki S3 (Reset/Set)
v_S4

– zastawka S4 w ruchu

R_S4

otwarcie zastawki S4

pom

zezwolenie na inkrementację licznika (zmienna pomocnicza – „była

kulka”).

5.

Uzupełnienie Sort1 o generację krótkiego impulsu startowego
















background image

7

USTAWIANIE ZASTAWEK


1.

Schemat ster (FBD)


2.

Przerzutniki RS na wyjściach sterujących zastawkami (typowe rozwiązanie)

S1, S2 otwarte „na stałe”:

R=1, S=0 (S1=0, S2=0)

S3 przełączany na zmianę: R=R_S3, S=S_S3 (priorytet R)

S4 otwierany na chwilę: R=R_S4, S=1

(normalnie zamknięte).


ZLICZANIE ELEMENTÓW


1.

Układ zliczający (c.d. Sort1)



background image

8

Liczniki CTUD
Blocks > Binary > Up/down counter (CTUD)

Zmienne
clr_count – zerowanie licznika (clear counter),
lbi, lcz

liczby białych i czarnych kulek – typ REAL (do wyświetlaczy

alfanumerycznych).

2.

Licznik CTUD

3.

Sygnał narastający (do wizualizacji ruchu)

Uniwibrator MONO_F – VIS_MONO
Pulse duration: T#1s500ms – czas narastania sygnału

Konwertery typów DI, RE – zamiana TIME na REAL

Blocks > Converter > Data type conversion > Data type to DINT (TO_DI)

lub Data type to REAL (TO_RE).

– Umieścić blok, wykonać połączenie.

Zaznaczyć blok, Edit > Change data type (lub menu kontekstowe), przyciskiem [<<]
lub [>>] ustawić typ wejścia DI na TIME (zatwierdzić OK); typ wejścia RE ustawić
na DINT (OK).

background image

9

Zmienne
req – zmienna boolowska sygnalizująca, że trwa narastanie (podstawowe wyjście

MONO_F),

vpos – zmienna typu REAL do animacji ruchu ciągłego.

ELEMENTY OBRAZU

1.

Tło obrazu VisEmula

Menu/Change

Background color – np. Cyan 15

2.

Makieta – dwa duże identyczne prostokąty

Biały prostokąt

lub Draw

Rectangle

Menu/Change

Line attributes

Rounded corners

Small – zaokrąglenia na

rogach

Czarny prostokąt – ma sprawiać wrażenie trójwymiarowości

Zaznaczyć biały prostokąt, menu

Duplicate

Menu/Change

Area Attributes

Foreground

Color selection

Black

Czarny prostokąt ma być pod spodem

Zaznaczyć czarny prostokąt
Menu/Edit

Overlap

Background

Prostokąty jako jeden element – grupowanie

Zaznaczyć obydwa prostokąty (z Shift–em lub obwieźć myszą)
Menu/Edit

Group

3.

Trasa zygzakowata

Jest to zgrupowany zestaw wielokątów i wycinków koła.

Draw

Polygon, Draw

Circle segment

Kolory: Area i Line (brzeg) – MediumBlue

background image

10

Powielanie wycinka koła: menu/Edit

Duplicate

Lustrzane odbicie zaznaczonego wycinka: menu/Edit

Mirror

Vertical – wokół

pionowej osi
Menu/Edit

Group

Uwagi. Trasę można również przygotować za pomocą zewnętrznego edytora jako
bitmapę i importować poprzez Draw

Bitmap

Import

Szukaj w: ...

Lustrzane odbicie można tworzyć dla dowolnego obiektu. Przerwanie trybu edycji
elementu w Toolboxie następuje przez Esc.

4.

Zasobniki i doprowadzenia

Pierwszy zasobnik – wielokąt

Draw

Polygon, kolory – j.w.

Drugi zasobnik

M/E

Duplicate, Mirror

Vertical

Kanały doprowadzające – wielokąty

Draw

Polygon, kolory – j.w.

Rozmieszczenie – połączenie trasy, zasobników i doprowadzeń.

5.

Uzwojenia elektromagnesów

Wielokąty lub dwa zgrupowane prostokąty z tekstami na wierzchu.

Draw

Polygon, M/E

Duplicate, Mirror

Vertical

Teksty: S1, ... , S4, rozmieścić elementy.

6.

Zastawki – wielokąty (lub dwa zgrupowane prostokąty)

Draw

Polygon, M/E

Duplicate, Mirror

Vertical, rozmieścić zastawki.

7.

Czujniki

Czujnik koloru – dwa zgrupowane prostokąty

Lewa część: Draw

Rectangle, M/E

Duplicate, przesunąć na prawą stronę.

Zaznaczyć obydwie części (Shift), M/E

Group.

Czujnik kulek

Zaznaczyć czujnik koloru, M/E

Duplicate, rozmieścić czujniki.

8.

Kulki

Draw

Elipse, M/E

Duplicate

Kolory:

przed czujnikiem koloru – biała (Grey93) lub czarna
poniżej czujnika koloru – jw.
przed zasobnikiem białych – biała
przed zasobnikiem czarnych – czarna (Grey18).

9.

Napis

New text: sortownica. Menu/Change

Text Attributes

background image

11

PRZYCISKI


1.

Ustawianie zmiennych

Animate

Button, Action

Write variable

Zmienna

Napisy

START

clr_count

START, START

Zeruj liczniki, Zerowanie włączone

Uwaga. Zmianie położenia przycisku towarzyszą zmiany koloru tła lub napisu, np. tło

Flash10 dla włączonego zerowania.

2.

Okna konfiguracyjne


KOLORY I WIDOCZNOŚĆ

1.

Kolory uzwojeń elektromagnesów

Zmienna określająca kolor: S1, …, S4

Wykonać animację koloru uzwojenia.

Napisy S1, …, S4 na wierzchu.

Okno Parameter danego uzwojenia (2 kl.)
Zakładka General
Klawisz Objects in foreground
Draw

Text (lub Toolbox)

Zaznaczyć miejsce napisu.
W pojawiającym się okienku Change Text wpisać S1, …, S4. Akceptacja – Ok.
Ew. skorygować położenie tekstu (zmiana fontu przez Text attributes).
Zaznaczyć napis (jeśli nie zaznaczony)
Edit

Return to object (powrót do zakładki General).

Napis mógłby być ew. napisany wcześniej i tylko zaznaczony po Objects in foreground.

background image

12

Uwaga. Dostęp do okien animacji uzyskuje się po 2–krotnym kliknięciu obiektu
(jak dotychczas) lub aktywacji Animate

Reedit i wyborze z pojawiającej się listy

animowanych obiektów tego, który jest potrzebny.

Domyślne nazwy nadawane obiektom przez Control Buildera, np. REC1, ELP2
itp., stają się mało przydatne przy większej liczbie animowanych obiektów. W
takiej sytuacji w oknie Parameter należy w polu Object name wpisać własną
nazwę, np. ELEKTR1, BALL3 itp., która bezpośrednio kojarzy się z obiektem.

2.

Widoczność i kolor kulek

Zmienne animujące kulki:

przed czujnikiem koloru: v_s4, CS (CS = 0 – biała, 1 – czarna)
poniżej czujnika koloru: v_s4, CS
przed zasobnikiem czarnych: BS, S3
przed zasobnikiem białych: BS, S3

Tabela kolorów

Kulka

(od góry)

Zmienne

Bit1, Bit2

Widoczność

Pierwsza

v_s4, CS

v_s4=0 – kolor jak CS
v_s4=1 – niewidoczna

CS = 0 – biała
CS = 1 – czarna

Druga

v_s4, CS

v_s4=1 – widoczna
v_s4=0 – niewidoczna

invisible – niewidoczna

Trzecia
(czarna)

BS, S3

BS=1, S3=0 – widoczna
inaczej – niewidoczna

Czwarta
(biała)

BS, S3

BS=1, S3=1 – widoczna
inaczej – niewidoczna

Uwaga. Wybór Original colors w tabeli kolorów oznacza, że wykorzysta się
pierwotne kolory wnętrza i obrzeża obiektu statycznego.

background image

13

Kolory (gdy kulki widoczne)

Kulka

Border

Fill

Biała

Black

Grey93

Czarna

Black

Gray18

Zielona

Grey68

Green

Uwaga. Kolory kulek można określić, gdy kulki są jeszcze obiektami statycznymi.
Natomiast widoczność należy do trybu animacji (Animate

Graphic symbol) i

może być określona dopiero po wybraniu rodzaju ruchu Movement of GS (No,
Discrete, Continuous
; zobacz dalej).


RUCH DYSKRETNY – ZASTAWKI

1.

Tryb animacji, ruch dyskretny

Animate/Toolbox

Graphic symbol

Movement of GS

Discrete

Wybór ruchu dyskretnego powoduje pojawienie się zakładki Positions w oknie
Parameter.

2.

Zmienna powodująca ruch zastawki

Okno Parameter, zakładka Bit allocation.

Bit1: nazwa zmiennej (F2) – w przypadku 4–ch położeń należy wypełnić Bit2, a w

przypadku 8–miu – Bit3.

Zastawka

Zmienna

– zmienna powodująca ruch i zmianę koloru (ew.).

S1, S2, S3

S1, S2, S3

S4

v_s4

Wyjaśnienie. Z głównego schematu Sort1(FBD) wynika, że zastawka S4 jest
otwierana tylko na 70 ms (MONO_F – T1). Ponieważ obserwacja tak szybkiego
ruchu nie byłaby możliwa, więc zamiast impulsu S4 (70 ms) do zmiany położenia
zastawki wykorzystano wcześniejszy dłuższy impuls v_s4 (500ms) z uniwibratora
MONO_F – WAIT. Podana na liście zmiennych nazwa v_s4 „ruch zastawki S4”
dotyczy wyłącznie wizualizacji, a nie sterowania. Na schemacie Sort1, zmienna
v_s4 reprezentuje faktycznie oczekiwanie na ustalenie się położenia zastawki S3.
Ze względu na szybki ruch zastawki S4 nie widać zmian koloru elektromagnesu,
który zależy od zmiennej S4.

background image

14

3.

Wskazanie zastawki i kolory

Zakładka Display
Wskazanie zastawki na obrazie graficznym poprzez pola Object name i uzależnienie
kolorów od zmiennej (jak dotychczas).

4.

Pozycje

Zakładka Positions
Zaznaczyć przycisk All Positions i na pojawiającym się obrazie graficznym kliknąć w
dwu miejscach, w których ma się znaleźć lewy górny róg obiektu (dla zmiennej o
wartości 0 lub 1).

Obserwacja położeń w zakładce Display dla bitów 0 i 1, a jeśli nie są one jeszcze w
pełni zadowalające, to ponowna „ręczna” korekta w zakładce Positions.

„Ręczna” korekta współrzędnych X, Y na czerwonych polach w pojawiającej się tabeli
położeń (discrete), aby ruch był ściśle pionowy, poziomy itp. (po wpisaniu wartości
przywrócić czerwony kolor zmienianego pola przez kliknięcie gdzieś w tabelce).

Uwaga. Przycisk Single Position służy do określenia pozycji aktualnie zaznaczonej

(górnej lub dolnej w tabeli discrete). Można go także wykorzystać do
korygowania.


RUCH CIĄGŁY

Ruch ciągły kulek jest generowany przez zmienną vpos (REAL) ustawianą przez uniwibrator
VIS_MONO. Zmienia się ona w przedziale 0.0...1500.0 (do 1500 ms przed przetworzeniem
przez DI i RE). O trwającym narastaniu vpos informuje zmienna req (BOOL). Na obrazie
VisEmula kulkami ruchomymi są tylko dwie kulki zsuwające się do zasobników (w prawo i w
lewo).

1.

Tryb animacji, ruch ciągły

Animate/Toolbox

Graphic symbol

Movement of GS

Continuous

Wybór ruchu ciągłego powoduje pojawienie się zakładek Process Value, Scale i
Positions w oknie Parameter.

background image

15

2.

Wskazanie kulki i widoczność

Zakładki Bit allocation i Display
Wskazanie kulki na obrazie graficznym poprzez pola Object name uzależniając
widoczność od zmiennych podanych poprzednio (zob. Kolory i widoczność).


3.

Zmienna powodująca ruch

Zakładka Process value
Display variable: vpos – zmienna (F2)
Wpisanie 0.0 zamiast ### w polu Display value (GED) powoduje, że po zatwierdzeniu
okna Parameter obiekt przyjmie pozycję odpowiadające vpos = 0.0. Wpisując inne
wartości zamiast 0.0 można dokonać weryfikacji kolejnych pozycji.

4.

Skalowanie

Zakładka Scale
Pole Scaling

Start: 0.0., End: 1500.0

Wartości te określają zakres zmiennej vpos, któremu odpowiadają skrajne pozycje
ruchomego obiektu.

5.

Skrajne pozycje

Zakładka Positions
Zaznaczyć przycisk Display i na pojawiającym się obrazie dwoma kliknięciami
wskazać skrajne pozycje lewego górnego rogu ruchomego obiektu. Różnica
współrzędnych tych pozycji pojawia się na czerwonych polach x, y w ramce continuous
(oś y jest skierowana ku dołowi). Ewentualnych korekt dokonuje się „ręcznie”.

6.

Kontrola położeń

W polu Display value (GED) zakładki Display wpisać 1500.0 i skontrolować położenie.
Ewentualna korekta w zakładce Positions.

background image

16


LICZNIKI – WYŚWIETLACZE ALFANUMERYCZNE


Liczniki kulek są wyświetlaczami alfanumerycznymi wskazującymi wartości zmiennych lbi,
lcz
(REAL) określanych przez liczniki CTUD (schemat Sort1).

1.

Definicja, rozmiar

Animate/Toolbox

Alphanumeric display

Rozmiar wyświetlacza – klik w miejscu lewego górnego i prawego dolnego rogu.

Pojawia się okno dialogowe Parameter.

W polu Object name można wpisać własną nazwę zamiast domyślnej, np. LIBI
(LIcznik BIałych).

2.

Wskazywana zmienna

Zakładka Process value

Display variable: lbi, lcz

– zmienna (F2)

Display value (GED): 0.0

– wartość pokazywana przez edytor graficzny (lub co

innego zamiast 0.0.)

3.

Ewentualna zmiana kolorów

Zakładka Bit allocation – tutaj nieużywana

background image

17

4.

Kolor i format

Zakładka Display

Kolor: cyfry – Foreground, tło – Background

Uwaga. Zaletą tła invisible jest to, że jego rozmiar może być mniejszy niż wymagany
przez wielkość cyfr. W przypadku tła widocznego kolizja jest sygnalizowana żółtymi
strzałkami. Rozmiar cyfr określa się poprzez menu/Edit

Text Attributes.

Format: Fixed_point 5

Jest to format służący do wyświetlania liczb całkowitych. Przeglądu formatów
dokonuje się zaznaczając pole Format i naciskając F2.

Modyfikacje

Text attributes: font, size, direction, fix point …


SORTOWANIE W ST

1.

Sekwencja podstawowa

Stany

oczekiwanie na impuls RES

– odmierzanie czasu przez timer T0 (700 ms)
Przy przechodzeniu do stanu 3 ustawienie wyjść R_S3 i S_S3.

– odmierzanie czasu przez generator impulsu WAIT (500 ms)
Wtedy wyjście v_s4 ustawione.

– odmierzanie czasu przez generator impulsu T1 (70 ms)
Wtedy wyjście R_S4 ustawione.

– odmierzanie czasu przez timer T2 (1s)
Przy powrocie do stanu 1 ustawienie wyjścia pom.

Graf sekwencji
T0:TON; WAIT:MONO_F; T1:MONO_F; T2:TON;

5

4

3

2

1

1

2

RES

T0_OUT

R_S3:=0
S_S3:=0
v_s4:=0
R_S4:=0
pom:=0

0,0
v_s4:=1
0,0

3

4

5

pom:=BS

0,0, 0
R_S4:=1
0

0,0,0
0,0

0,0,0
0,0

R_S3:=CS

S_S3:=NOT CS

NOT WAIT_OUT

WAIT

NOT T1_OUT

T2_OUT

0<=>FALSE

T0

T2

T1

background image

18

Programy w drzewie projektu


jezykST[ST]

– graf sekwencji

ster[FBD]

– przerzutniki wyjściowe (bez zmiany)

licznikiST[ST] – liczniki i zmienna narastająca

Wartość początkowa stan =1 (Variable list)

Kod ST






background image

19

2.

Liczniki i zmienna narastająca

FBD

ST



Wyszukiwarka

Podobne podstrony:
wykład 12 Urządzenia wyjściowe w komputerowych układach sterowania (2013)
PiD spoko, Elektrotechnika AGH, Semestr IV letni 2013-2014, Teoria Sterowania i Technika Regulacji,
dyskretne , Elektrotechnika AGH, Semestr IV letni 2013-2014, Teoria Sterowania i Technika Regulacji,
regulator cyfrowy sprawozdanie, Elektrotechnika AGH, Semestr IV letni 2013-2014, Teoria Sterowania i
PID, Elektrotechnika AGH, Semestr IV letni 2013-2014, Teoria Sterowania i Technika Regulacji, Teoria
Analiza podstawowych uk adów dyskretnych vel Hamas, Elektrotechnika AGH, Semestr IV letni 2013-2014,
swiatek, Elektrotechnika AGH, Semestr IV letni 2013-2014, Teoria Sterowania i Technika Regulacji, Te
identyfikacja, Elektrotechnika AGH, Semestr IV letni 2013-2014, Teoria Sterowania i Technika Regulac
DPS Zagadnienia na egzamin 2013, IŚ Tokarzewski 27.06.2016, II semestr magister, Dynamika i procesy
Serwomechanizm1, Elektrotechnika AGH, Semestr IV letni 2013-2014, Teoria Sterowania i Technika Regul
POTRAWKA11, Elektrotechnika AGH, Semestr IV letni 2013-2014, Teoria Sterowania i Technika Regulacji,
dps 2012 2013 t. 13, IŚ Tokarzewski 27.06.2016, II semestr magister, Dynamika i procesy sterowania
sdfz, Elektrotechnika AGH, Semestr IV letni 2013-2014, Teoria Sterowania i Technika Regulacji, Teori
wykład 11 Urządzenia wejściowe w komputerowych układach sterowania (2013)
Sprawko UAR, Elektrotechnika AGH, Semestr IV letni 2013-2014, Teoria Sterowania i Technika Regulacji
wykład 1 Automatyka, sterowanie (2013)
WYKŁAD 2 UKŁADY STEROWANIA AUTOMATYCZNEGO (2013)
my Dyskretne uk ady regulacji v.4, Elektrotechnika AGH, Semestr IV letni 2013-2014, Teoria Sterowani

więcej podobnych podstron