Você está na página 1de 19

PRz 2013

UKADY KOMBINACYJNE
Wprowadzenie. Zadanie przykadowe I. Metoda Karnaugha. Schemat sprztowy. Program
w C. Program w ST. Program w LD. Program ST w rodowisku TwinCAT PLC Control.
Program LD PLC Control. Niepoprawne pomiary. Zadanie przykadowe II.

WPROWADZENIE
1. Ukady przeczajce
Podzia
Ukady kombinacyjne (bez pamici)
Ukady przeczajce
Ukady sekwencyjne (z pamici)
Realizacje sprztowe
Ukady kombinacyjne
Ukady sekwencyjne

bramki bez sprze zwrotnych


przerzutniki, bramki ze sprzeniami zwrotnymi

Opis matematyczny

Xt

Ukad
przeczajcy

Yt

Ukady kombinacyjne Yt ( X t ) aktualny stan wyj zaley wycznie od


aktualnego stanu wej.

Qt 1 (Qt , X t )
Ukady sekwencyjne
Qt stan wewntrzny
Yt (Qt , X t )
Stan wyj zaley od wej i stanu wewntrznego (zalenego od poprzednich
wej pami: Yt = ((Qt-1, Xt-1), Xt)).
2. Metodologia projektowania ukadw kombinacyjnych

Sformuowanie tablicy wej/wyj


Utworzenie funkcji przeczajcej metod Karnaugha
Realizacja sprztowa bramki
Realizacja programowa (jzyki C, ST, ew. inne)
funkcja przeczajca wzr (podstawowa realizacja)
schemat bramkowy
funkcje AND, OR, NOT
tablica wej/wyj
indeksem do tablicy jest kombinacja we/wy
zestaw instrukcji if then else odpowiadajcy tablicy we/wy
Niepoprawne pomiary

-1-

3. Struktura programu w prostym sterowniku


Inicjalizacja

Odczyt wej

Obliczenia

Ustawienie wyj

Wizualizacja (ew.)

Oczekiwanie

Cykl wykonywania programu np. 10 ms, 0.1 s lub ponowne rozpoczcie zaraz po
poprzednim wykonaniu.
Wizualizacja LEDy, bargrafy, wywietlacz LCD.

ZADANIE PRZYKADOWE I
1. Sterowanie nagrzewaniem

c
G1
K

a, b, c: 0 temperatura poniej poziomu


1 temperatura powyej poziomu
lub mu rwna

G2

G1, G2 grzejniki

Zadanie:
a
b
c

t<a
t<b
t<c
t

G1
G1
-

G2 obydwa grzejniki wczone


G2
-

2. Tablica wej/wyj
c
0
0
0
1

b
0
0
1
1

a G1 G2
0 1
1
1 1
0
1 0
1
1 0
0

Inaczej tablica zerojedynkowa, tablica prawdy


Uwaga. Stany nie ujte w tablicy reprezentuj awarie
czujnikw pomiarowych (typowa reakcja na uszkodzenie
wyczy zasilanie).

-2-

METODA KARNAUGHA
1. Reguy tworzenia tablic Karnaugha
Chodzi o sformuowanie moliwie prostego wzoru, aby uatwi realizacj sprztow (w
realizacji programowej znaczenie minimalizacji jest mniejsze).
Wyjcia rozpatruje si oddzielnie.
Wsprzdne pl elementarnych opisane s refleksyjnym kodem Graya.
Puste pola uzupenia si znakami nieokrelonoci (-).
2. Tablice zadania
G1

G2

ba
c
0
1

ba
00 01 11 10
1 1 0 - 0 -

c
0
1

00 01 11 10
1 0 1 - 0 -

3. Reguy upraszczania czenie pl elementarnych

Wszystkie pola 1 musz by objte


Liczba pl czonych ze sob musi by potg 2 (1, 2, 4, 8, ).
Poczone pola musz tworzy prostokt lub kwadrat, im wikszy tym lepiej.
Pola - docza si do pl 1.
Pola mog zachodzi na siebie.
Grny i dolny wiersz uwaa si za ssiednie, jak rwnie lew i praw kolumn (ze
wzgldu na kod Graya).
G1

G2

ba
c
0
1

ba
00 01 11 10
1 1 0 - 0 -

c
0
1

00 01 11 10
1 0 1 - 0 -

4. Tworzenie wynikowych wzorw kolumny


Wypisa kolumny wej odpowiadajce zakrelonym obszarom.
Utworzy iloczyn z tych wej, ktre w wypisanych kolumnach maj niezmienione
wartoci (stale 0 lub 1), przy czym 1 odpowiada sygnaowi prostemu, a 0
zanegowanemu.
Wynikowy wzr jest sum wzorw powstaych z zaznaczonych obszarw.

-3-

c
0
0
1
1

G1
b
0
0
0
0

G2
c
0
1
0
1

a
0
1
0
1

b
0
0
1
1

a
0
0
0
0

c
0
0

b
1
1

a
1
0

c b

a
G2 a bc

b
G1 b

iloczyn

suma

Uwagi. Zaznaczenie zbyt maych obszarw w tablicy Karnaugha nie jest bdem, ale
wynikowy wzr si rozrasta (nie jest minimalny), bo iloczynw w kocowej sumie
przybywa. Zjawisko hazardu obecne w realizacjach sprztowych nie wystpuje w
realizacjach programowych, poniewa obliczenia s wykonywane w tym samym cyklu
(nie ma rnicy czasw propagacji bramek).

SCHEMAT SPRZTOWY
a

G1
G2

bc

Programowym odpowiednikiem schematw sprztowych jest graficzny jzyk FBD.

PROGRAM W C
1. Operatory logiczne
char typ zmiennych logicznych
! negacja, && iloczyn logiczny, || suma logiczna

2. if else tablica wej/wyj


-4-

Wersja powysza ujmuje take przypadek z niepoprawnymi pomiarami (G1=0, G2=0


zob. dalej).

PROGRAM W ST
Norma PNEN 611313: 2004(4). Sterowniki programowalne. Cz
programowania definiuje pi jzykw:
ST tekst strukturalny (Structured Text)
IL lista rozkazw (Instruction List)
LD schemat drabinkowy (Ladder Diagram)
FBD funkcjonalny schemat blokowy (Function Block Diagram)
SFC sekwencyjny schemat funkcjonalny (Sequential Function Chart)
Bdziemy stosowa pakiet TwinCAT sterownikw PLC/PAC firmy Beckhoff.
2. IFTHENELSE

1. Operatory logiczne

PROGRAM W LD
1. Elementy
zmienna wejciowa prosta argument
zmienna zanegowana

-5-

3:

Jzyki

zmienna wyjciowa rezultat


szczebel pusty wzr

2. Operacje logiczne
Suma

Iloczyn
c

c=a+b

c=ab

3. Program zadanie I

G1 b

G2 a bc

PROGRAM ST W RODOWISKU TWINCAT PLC CONTROL


1. Uruchomienie systemu

System > Start jeli system jest ju uruchomiony, to Start wyszarzone.

-6-

Odpowied Cancel na pytanie o rejestracj.

PLC Control

Pojawia si okno TwinCAT PLC Control z ostatnio uruchamianym projektem.

2. Nowy projekt

File > New

Typ systemu docelowego


Symulacja i prace domowe PC or CX (x86)
Laboratorium CX(ARM)

-7-

Jzyk programowania ST

Pojawia si puste okno edytora programu z Untitled jako nazw projektu. Grna cz
jest przeznaczona na deklaracje zmiennych i blokw funkcjonalnych, a dolna na
waciwy kod.

3. Kodowanie, kompilacja

Deklaracje i kod

Project > Build lub Rebuild all

-8-

Informacja o wyniku kompilacji w dolnej czci okna

Na warningi nie naley zwraca uwagi.

Zapis pliku
File > Save

Naley najpierw utworzy katalog na pliki projektu (ktrych moe by nawet


kilkanacie), tutaj katalog Sterowanie nagrzewaniem, i w nim zapisa plik z kodem
rdowym tutaj Nagrzewanie.pro (rozszerzenie dodawane automatycznie).

4. Symulacja

Online > Choose RunTime System

-9-

Local > RunTime 1 (Port 801) lokalny komputer PC

adowanie programu
Online > Login

Odpowied Tak na pytanie o zaadowanie programu.


Pocztkowe wartoci zmiennych.

Online > Run

- 10 -

5. Zapisywanie nowej wartoci

2 kl. zmienna
Pojawia si proponowana nowa warto.

Online > Write Values lub Ctrl+F7

6. Zakoczenie

Online > Logout

PROGRAM LD PLC CONTROL


1. Nowy projekt, typ POU, jzyk LD

File > New


PC or CX (x86)
Language LD

Okno edytora LD deklaracje w grnej czci (j.p.)


dolna cz przeznaczona na schemat; widoczny jeden szczebel
drabinki.
- 11 -

2. Tworzenie schematu LD

Wybr miejsca, menu kontekstowe (prawy klawisz myszy) > wybr elementu
schematu, np. Contact (negated).

Pojawia si styk zanegowany, bez nazwy zmiennej pytajniki ???

Nazwa zmiennej
Zaznaczy ??? > przycisk F2 > okno Input assistant > wybr zmiennej, np. b.

- 12 -

Peny schemat

Kompilacja Project > Build


Zapis pliku File > Save
Najpierw utworzono katalog Nagrzewanie LD na pliki projektu.

3. Symulacja

Online > Choose RunTime System > Local > RunTime 1 (Port 801)
adowanie Online > Login (pocztkowe wartoci zmiennych)
Uruchomienie Online > Run

- 13 -

4. Nowa warto zmiennej

2 kl. styk, np. a


Poowa styku zmienia kolor; proponowana nowa warto widoczna take w grnej
czci okna (deklaracje).

Ctrl + F7 lub Online > Write Values

NIEPOPRAWNE POMIARY
1. Tablica poprawnoci pomiarw
c
0
0
0
0
1
1
1
1

b
0
0
1
1
0
0
1
1

a
0
1
0
1
0
1
0
1

P
1
1
0
1
0
0
0
1

P = 1 pomiary poprawne
P = 0 pomiary niepoprawne

- 14 -

2. Tablica Karnaugha
ba
c
0
1

00 01 11 10
1 1 1 0
0 0 1 0

Uwaga. Teraz w tablicy Karnaugha dotyczcej


poprawnoci pomiarw nie ma pl - (nie ma
nieokrelonoci).

3. Wzr
+
P cb ab
4. Wymaganie technologiczne
W przypadku niepoprawnych pomiarw obydwie grzaki naley wyczy G1=G2=0.
5. Programowanie
C

ST

LD

P ab
P P bc

- 15 -

ZADANIE PRZYKADOWE II
1. Sterowanie nagrzewaniem
Wczanie grzejnikw:
rwnolegle G1, G2,
tylko G1,
tylko G2,
szeregowo G1, G2,
wyczone G1, G2,

gdy
t < ta
gdy ta t < tb
gdy tb t < tc
gdy tc t < td
gdy td t
zasilanie

w1

w1

w2

w2

G1

w3

G2

otwarty

w3

Poczenie powysze pozwala uzyska cztery stopnie mocy grzejnej przy dwch
grzejnikach.
2. Tablica wej/wyj
d

w1 w2 w3

- 16 -

3. Tablice Karnaugha i kolumny


w1
ba
dc

00 01 11 10
00 1 1 0 01 - 0 11 - 0 10 -

d
0
0
0
0
1
1
1
1

c
0
0
1
1
1
1
0
0

b
0
0
0
0
0
0
0
0

a
0
1
0
1
0
1
0
1

w1 b

w2
ba
dc

00 01 11 10
00 1 0 1 01 - 1 11 - 0 10 -

d
0
0
0
0
1
1
1
1

c
0
0
1
1
1
1
0
0

b
0
1
1
1
0
1
0
1

a
0
0
0
0
0
0
0
0

d
0
0
0
0
d

c
0
0
1
1

b
1
1
1
1
b

a
w3
ba
dc

00 01 11 10
00 0 0 0 01 - 1 11 - 0 10 -

d
0
0
0
0
d

c
1
1
1
1
c

b
0
0
1
1

a
0
1
1
0

4. Programowanie stan normalny


C
dodatkowe deklaracje

ST
- 17 -

w 3 cd

a
1
0
1
0

w 2 a bd

5. Niepoprawne pomiary
Tablica poprawnoci
ba
dc
00
01
11
10

00 01 11 10
1 1 1 0
0 0 1 0
0 0 1 0
0 0 0 0

Zmienna P

dcb

cba

dca

P dcb cba dca

Programowanie
C

ST

- 18 -

- 19 -

Você também pode gostar