Wszystkie, Pytania AIR ARS inż


  1. Zadania i metody automatycznej regulacji.

Zadania automatycznej regulacji.

Na wstępie przedstawię prosty układ regulacji automatycznej. Pod tym pojęciem należy rozumieć połączenie obiektu z regulatorem, tak jak przedstawia rys.1.

z(t)

0x08 graphic
x0(t) e(t) u(t) x(t)

Regulator Obiekt

-

Rys.1. Ogólny schemat blokowy układu regulacji.

Taki zestaw, w którym sygnał wyjściowy x(t) jest podawany na wejście regulatora, nazywa się układem regulacji lub dokładniej układem zamkniętym sterowania, czyli układem ze sprzężeniem zwrotnym

Sens stosowania regulacji wynika z obecności zakłóceń. Sygnał sterujący oddziałuje na obiekt tak, aby został osiągnięty jak najmniejszy uchyb e(t) tzn. aby x(t) był możliwie najbliższy x0(t). Uchyb regulacji e(t) = x0(t) - x(t) stanowi więc elementarną miarę spełnienia podstawowego zadania. W idealnym układzie regulacji uchyb powinien być równy zeru (cecha definicyjna układu regulacji). Istotne jest przy tym, aby dążenie do zlikwidowania uchybu miało miejsce nawet przy niewielkiej informacji początkowej o obiekcie, ewentualnych zmianach własności obiektu czy zakłóceniach.

Zadania układu regulacji można podzielić w zależności od relacji wiążących sygnały x(t) i e(t) z jednej strony, z sygnałami x0(t) i z(t) z drugiej strony.

Cel układu regulacji określa w zasadzie sygnał wartości zadanej x0(t) - stąd podział układów regulacji ze względu na postać sygnału x0(t) jest następujący:

Inny podział układów regulacji wynika z zadań regulacji i przedstawia się następująco:

Są także układy inne, realizujące inaczej postawione zadania, nazywa się je regulatorami specjalnymi.

Metody automatycznej regulacji.

Stosowane metody automatycznej regulacji różnią się ze względu na postać charakterystyk statycznych elementów występujących w układach automatyki. Dzielimy je na:

UKŁADY LINIOWE:

Układy automatyki i ich elementy są układami dynamicznymi. Równania układów dynamicznych opisujące ich funkcjonowanie wynikają z ogólnych praw fizyki. Wykorzystanie tych praw prowadzi najczęściej do równań różniczkowych zwyczajnych. Najbardziej ogólnym prawem dla układów o różnorodnej naturze jest zasada Hamiltona, z której wynikają równania Lagrange'a.

Równanie różniczkowe liniowe o stałych parametrach, zapisywane w postaci ogólnej opisujące dynamikę stacjonarnego układu liniowego z jednym sygnałem wejściowym u(t) i jednym sygnałem wyjściowym y(t) nazywa się równaniem wyjścia - wejścia takiego układu. Uzyskuje się je z zasady równowagi dynamicznej odnoszącej się do rozpatrywanego układu.

Transformata Laplace'a przyporządkowuje funkcji czasu f(t) funkcję zmiennej zespolonej F(s).

Funkcja operatorowa G(s)=Y(s)/U(s), nazywana transmitancją operatorową obiektu liniowego, jest to stosunek transformaty Laplace'a sygnału wyjściowego (odpowiedzi) do transformaty Laplace'a sygnału wejściowego (wymuszenia) przy zerowych warunkach początkowych.

Wielkość zespoloną G(jw)=Y(jw)/U(jw) określoną poprzez stosunek sinusoidalnego sygnału wyjściowego zapisanego w postaci zespolonej przy zerowych warunkach początkowych, nazywa się transmitancją widmową rozpatrywanego obiektu.

G(jw)= Re[G(jw)] + j Im[G(jw)]

Właściwości dynamiczne układu regulacji automatycznej wynikają z przebiegu charakterystyk czasowych i częstotliwościowych układu.

Podstawowymi charakterystykami czasowymi liniowych układów regulacji automatycznej są:

- odpowiedź na wymuszenie w postaci impulsu Diraca (odpowiedź impulsowa)

- odpowiedź na wymuszenie typu skok jednostkowy (odpowiedź skokowa)

G(jω) = |G(jω)|e (ω) = P(ω)+j Q(ω),

P(ω)=Re{ G(jω)}, Q(ω)= Im{ G(jω)}

|G(jω)| = 0x01 graphic
, 0x01 graphic

Wykres transmitancji widmowej G(jω) we współrzędnych prostokątnych (P(ω),Q(ω)) lub biegunowych (|G(jω)|,ϕ(ω)) przy zmianie pulsacji ω od 0 do ∞ nazywa się charakterystyką amplitudowo-fazową układu. Jest to jedna z wielu form charakterystyk częstotliwościowych układu.

Innym rodzajem charakterystyki częstotliwościowej jest para charakterystyk logarytmicznych: amplitudowa (modułu) i fazowa (argumentu).

Charakterystyka amplitudowo-fazowa układu otwartego nazywana jest wykresem Nyquista

Logarytmiczne charakterystyki amplitudowa i fazowa układu otwartego nazywane są wykresami Bodego

Jeżeli równanie wejścia-wyjścia liniowego stacjonarnego obiektu o jednym wejściu u(t) i jednym wyjściu y(t) jest równaniem różniczkowym n-tego rzędu. To można je zastąpić układem n równań różniczkowych liniowych I rzędu.

x1(t), x2(t), … , xn-1(t), xn(t) - zmienne stanu, gdzie:

x1(t)=y(t)

x2(t)= x1'(t)

Xn(t)= xn-1'(t)

Układy równań - równania stanu

Przestrzeń w której współrzędnymi są zmienne stanu, nazywa się przestrzenią stanu. Liczba zmiennych stanu jest równa rzędowi równania wejścia-wyjścia.

y(t)=x1(t) - równanie wyjścia obiektu

Równania stanu i równanie wyjścia zapisujemy w postaci wektorowo - macierzowej.

Ze względu na właściwości dynamiczne rozróżnia się cztery rodzaje regulatorów liniowych

- proporcjonalne (typu P)

- proporcjonalno - całkujące (typu PI)

- proporcjonalno - różniczkujące (typu PD)

- proporcjonalno - całkująco - różniczkujące (typu PID)

Metody doboru nastaw regulatorów PID:

- regulator rozmyty

Na regulację rozmytą składają się trzy następujące procesy:

Dyskretne równanie wejścia - wyjścia ma postać równania różnicowego

Jest to dyskretna transformata Laplace'a - przyporządkowuje funkcji dyskretnej (ciągowi próbek) u(nTp) funkcję zespoloną U(z).

Dyskretne równanie dynamiki liniowego obiektu o jednym wejściu u(t) i jednym wyjściu y(t) jest równaniem różnicowym k-tego rzędu o stałym współczynnikach.

Po transformacji Z stosunek transformaty Y(z) odpowiedzi y(nTp) obiektu liniowego do transformaty U(z) wymuszenia u(nTp) przy zerowych warunkach początkowych nazywa się transmitancją dyskretną obiektu G(z)=Y(z)/U(z).

Dyskretne równanie wejścia-wyjścia stacjonarnego obiektu liniowego, będące równaniem różnicowym k-tego rzędu po przekształceniu do odpowiedniej postaci.

W celu znalezienia związku zachodzącego między dyskretnymi równaniami stanu, dyskretnym równaniem wyjścia i transmitancją dyskretną przekształcamy otrzymane równania w równania operatorowe i dla zerowych warunków początkowych otrzymujemy dyskretne równanie stanu

zX(z)=AX(z)+bU(z)

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

NIELINIOWE UKŁADY REGULACJI

(nieliniowe układy regulacji nie były omawiane na zajęciach - wystarczy jak będziemy wiedzieć, że istnieją i wymienić jakie są)

  1. Sterowanie procesami - zadanie, metody, algorytmy

Sterowanie procesami- zadania, metody, algorytmy

Dość szerokie pojęcie, można w nim zawrzeć bardzo szeroką gamę problemów, w których szukane jest optimum dla pewnej funkcji. Główny podział na procesy:

-ciągłe, nieskończona liczba możliwych stanów

-dyskretne -skończona ściśle określona liczba możliwych stanów

Procesy ->

ciągłe:

  1. Zadania, metody i algorytmy robotyki.

W PDF

  1. Urządzenia obiektowe automatyki

W automatyce potrzeba jest oddziaływania na proces technologiczny. Dlatego stosuje się

regulacje, która ma na to wpływ. Proces tech. Jest charakteryzowany przebiegiem wartości

chwilowych określonych jako wielkości wyjściowe. Muszą one być obserwowane, czyli mierzalne

bezpośrednio lub pośrednio. Wielkości wyjściowe procesu zależą od oddziaływań zewnętrznych

oraz jego właściwości fizycznych.

Wielkości oddziaływające z zewnątrz na proces mogą być sterujące lub zakłócające.

Zakłócenia są niezależne i w obiektach regulacji nie spotyka się układów z pomiarem zakłóceń.

W zamkniętym układzie regulacji jest uzależnienie wielkości wyjściowych obiektu od wielkości

sterujących. Aby w pełni oddziaływać na obiekt musimy znać jego związek matematyczny

pomiędzy wejściem a wyjściem. Znajomość modelu matematycznego potrzebna nam jest do

prawidłowej regulacji tym obiektem. W tym celu znajomość informacji o stanie parametrów

procesu (obiektu) jest konieczna aby w miarę możliwości sterować tym obiektem.

Do uzyskiwania pomiarów z procesu służą nam urządzania pomiarowe. Ich zadaniem jest

zapewnienie żądanej dokładności oraz przetworzenie sygnałów na postać dogodną do dalszej

obróbki i przysłania na odległość. Do uzyskania informacji służy czujnik. Czujnik to element

pomiarowy wrażliwy na interesujący nas parametr procesu. Przetwarza wielkość fizyczną na inna

wielkość dogodną do pomiaru. Tor pomiarowy składa się jeszcze z przetwornika, który przetwarza

sygnał na sygnał o zunifikowanym zakresie zmienności (np. 4mA - 20mA).

Podział czujników:

• wyjście elektryczne, podział

◦ czynne - zmienia wielkość mierzoną na napięcie, prąd lub ładunek np. termopara.

◦ bierne - zmiana wielkości mierzonej na zmianę parametru obwodu elektrycznego R,L,C.

Np. termometr oporowy

• wyjście nieelektrycznym - przetwarają wielkości fizyczne na siłę lub przesunięcie np.

Manometr

Urządzenie tworzące tor pomiarowy mogą stanowić układ pomiarowy:

• otwarty - wszystkie elementy połączone szeregowo, nie jest odporny na zakłócenia

• zamknięty - ogranicza lub nawet całkowicie kompensuje uchyb zakłócenia

Właściwości statyczne określa zależność między sygnałem wejściowym a sygnałem

wyjściowym w stanie ustalonym. Pożądane jest aby ch-ka przetwarzania była liniowa w całym

zakresie użytkowania. Nieliniowości wynikają z zasady działania czujnika.

Właściwości dynamiczne elementów przetwarzających określa się za pomocą ch-k

czasowych lub częstotliwościowych. Charakterystka czasowa przedstawia odpowiedź elementu

przetwarzającego na wymuszenie skokowe. W tej ch-ce wyróżniamy parametry:

• Tu - czas ustalania, przedział od chwili podania wymuszenia do chwili kiedy uzyska

odchylenie 5% od wartości ustalonej.

• T0,5 czas połówkowy - przedział czasu od chwili podania wymuszenia do chwili kiedy

sygnał uzyska połowe wartości ustalonej.

• Przeregulowanie k- stosunek maks wartości oscylacyjnej do wartości ustalonej

W układach pomiarowych sygnał z czujników może być zbyt niski/ mały do dalszego

przetwarzania. W tym celu stosuje się wzmacniacze pomiarowe, które wzmacniają sygnał.

Teraz same nudy bo rożnego rodzaju czujniki, nie wgłębiam się w zasadę działania.

1. Pomiar temperatury:

1. dylatacyjne

• szklane termometry

◦ rtęciowy, zmiana objętości pod wpływem temperatury

• mechaniczne, wykorzystują zjawisko rozszerzalności ciepła metali, mają dużą

bezwładność, błąd 2-3%wyróżniamy

◦ bimetaliczne - dwa metale o różnej rozszerzalności cieplnej

◦ wydłużeniowe - złożeone z dwóch elementów np. pręt i rura wsadzona w

pręt, pod wpływem ciepła pręt wychodzi.

2. Manometryczne - przetwarzanie temperatury na ciśnienie

• cieczowe - wyk. Objętościową rozszerzalność cieczy. Ciecz wypełniające

manometr, kapilarę i naczynko termomentryczne zwiększając swoją objętość

pod wpływem temp. zwiększa cięsnienie i rozprężanie rurki

manometrycznej. Źródłem błedów jest nieuwzględnienie zmian temperatury

otoczenia.

• Gazowe - zbliżone do cieczowych, zbiornik wypełnia się azotem.

• Parowe - wypełnione cieczami o dużej lotności.

3. Oporowe - wyk. Zależność oporności metali półprzewodników oraz innych metali

• metalowe - wzrost oporności ze wzrostem temperatury

• termistory - półprzewodnikowe rezystory odznaczające się tym, że

rezystancja silnie zmienia się w miarę wzrostu temperatury.

◦ NTC - o ujemnej temperaturowym wsp. rezystancji

◦ PTC - o dodatnim temperatorowym wsp. rezystancji

◦ CTR - o skokowej zmianie rezystancji

• ceramiczne - podobne do termistorów PTC , są jednak bardziej czułe,

wytrzymałe na wielokrotne zmiany temperatury i mają stabilniejsze charakterystyki.

4. Termoelektryczne

• termoelementy - czujnik temp. który działanie związane jest ze zjawiskiem

termoelektrycznym. Zjawisko to polega na powstaniu w zamkniętym

obwodzie złożonym z dwóch różnych metali siły elektromotorycznej.

5. Optyczne

• pirometry - polega na emitowaniu promieniowania cieplnego. Pomiar tego

promieniowania jest wykorzystywany w pirometrach do określenia

temperatury ciała.

2. Do pomiaru przepływu - wielkości mierzone w przemyśle przetwórczym i innym do

określenia natężenia przepływu materiału.

1. Wykorzystujące różnice ciśnień lokalnych

• przepływomierze zwężkowe - lokalne przewężenie rurociągu powoduje lokalny

wzrost prędkości przepływu i spadek ciśnienia. Różnica ciśnien pomiędzy zwężką

jest proporcjonalna do ilości płynu przepływającego przez rurociąg.

• Rurki pitota - mierzymy lokalną prędkość płynu.

• Przepływomierz oporowy - płyn opływa ciało w nim zanurzone. Ciśnienie jakie

powstaje powoduje działanie siły, która jest proporcjonalna do przepływu.

3. Czujniki położenia i przesunięcia - pomiar ten jest potrzebny do pomiarów w układach

mechanicznych jak obrabiarki, roboty przemysłowe czy zautomatyzowane linie wytwórcze

detali mechanicznych.

1. Wyjście ciągłe

◦ czujniki potencjometryczne

◦ czujniki indukcyjnościowe - przekształcenie sił na przesunięcie mechaniczne i

wykorzystaniu tego przesunięcia do zmiany indukcyjności elementów

obwodu elektrycznego.

◦ Czujniki transformatorowe

◦ resolwer - przetwornik kąta obrotu

◦ induktosyn - podobna do resolwera

◦ pojemnościowe - podobne do potencjometrycznych, zmiana odległości od

okładzin.

2. Dyskretne - zaleta taka, że może współpracować z urządzeniem cyfrowym, bez

potrzeby użycia przetworników A/C. Druga zaleto to uzyskanie dużej dokładności pomiaru.

◦ tarcze kodowe - pomiar kątów

◦ linijka kodowa - pomiar przesunięć liniowych

4. Czujniki siły - pomiar siły za pomocą dowolnego elementu sprężystego i zastosowania

czujnika położenia lub przesunięcia.

◦ Tensometryczne- oporowe - tensometr - zależność wygięcia od siły

◦ piezoelektryczne - polega na występowaniu na przeciwległych ściankach

niektórych kryształów ładunków elektrycznych o przeciwnym znaku pod

wpływem siły ściskającej ściany kryształu

◦ piezomagnetyczne -

2. Pomiar ciśnienia -

a) cieczowe - pomiar na zasadzie hydrostatyki, np. różnicowy (potocznie u-rurka)

b) hydrauliczne - opierają się na prawie Pascala

c) sprężyste - sprężyste odkształcenie czujnika pod wpływem działającego ciśnienia

d) elektryczne - zmianie własności elektrycznych czujnika pod wpływem ciśnienia

Do wskazywania wartości chwilowych montuje się różnego rodzaju wskaźniki i rejestratory.

Mierniki możemy zamontować bezpośrednio na obiekcie w miejscu gdzie występuje wielkość

mierzona lub w pobliżu pulpitu operatora procesu. Dzielą się na analogowe i cyfrowe.

Do sterowania obiektem służy regulator. Regulator może być analogowy o działaniu

ciągłym, o działaniu nieciągłym oraz system mikroprocesorowy.

Wszystkie charakteryzują się tym, że obwody wejściowe są przystosowane bądź do

bezpośredniej współpracy z określonym czujnikiem pomiarowym bądź dowolnym urządzeniem

operującym standardami pośredniczącymi. Algorytm sterowania zawiera zwykle działanie PID lub

PI z możliwością doboru wartości nastaw regulatora. Wyjście regulatora przystosowane do

bezpośredniej współpracy z określonym zespołem wykonawczym.

(nad strukturą, obwodami wejściowymi, układami, równaniami, nie wnikam regulatora nie

wnikam) W analogowym elektrycznym ciągłym sygnał wyjściowy ma charakter analogowy.

W analogowym elektrycznym nieciągłym sygnał wyjściowy może przyjmować tylko

wybrane wartości. W regulatorze dwupołożeniowym jest to wartość minimalna i maksymalna. W

trójpołożeniowym maksymalna dodatnia, maksymalna ujemna i wartość zerowa. \

Sterowniki mikroprocesorowe, dzielimy jako sekwencyjne gdzie mogą pełnić rolę załączania

i wyłączania elementów wykonawczych, oraz do stabilizacji wartości z jednego z mierzalnych

parametrów procesu na poziomie wartości zadanej. Dzielimy na:

• PLC

• mikroprocesorowy regulatory PID

Teraz o elementach wykonawczych:

Zadaniem elementu wykonawczego jest przetworzenie sygnału przychodzącego z

urządzenia generującego algorytm sterowania na odpowiedni dopływ energii do obiektu.

Wyróżniamy kilka urzadzen wykonawczych:

• hydrauliczne - pracują w ośrodkach gdzie jest zagrożenie wybuchem

• pneumatyczne - pracują w ośrodkach gdzie jest zagrożenie wybuchem

• elektryczne

Wielkość jaka dopływa do zespołu wykonawczego może być sygnałem ciągłym lub

impulsowym. Zakres sygnałow ciągłych dla prądu (4 -20) a dla impulsowych +10V -10V.

W elektrycznych:

Ogólnie nazywamy to serwomotorem, inaczje jest to silnik elektryczny który

napędza element nastawczy. Musi mieć duży moment obrotowy i dobre właściwości dynamiczne.

Dzielimy:

• silniki komutatorowe obcowzbudne - osobne obwody zasilania uzwojenia wirnika i

stojana. Może być sterowany napięciem wirnika lub stojana

• silniki prądu przemiennego - w automatyce stosuje się indukcyjne i synchroniczne.

Indukcyjny to taki o wirującym polu magnetycznym stojana. W synchronicznych

moement napędowy powstaje w wyniku oddziaływania wirującego pola

megnetycznego stojana na magnes trwały wirnika.

• Asynchroniczne silniki trójfazowe - ma na stojanie trzy uzwojenia fazowe,

uzwojenia zasilane są napięciami zmiennymi. W wyniku wirującego pola

magnetycznego w uzwojeniach wirnika indukują się prądy. Oddziaływanie pola

wirującego z indukowanymi prądami daje moment napędowy.

• Asynchroniczne silniki dwufazowe - najczęściej stosowany w automatyce, zasilana

są dwoma napięciami zmiennymi.

• Silniki jednofazowe -

• silniki skokowe/krokowe

Układ automatycznej regulacje składa się z:

-obiektu regulacji,

-urządzeń pomiarowych

-regulatora,

-urządzeń wykonawczych

Urządzenia pomiarowe

Urządzenie pomiarowe jest elementem układu regulacji automatycznej służącym do przetwarzania wielkości regulowanej na sygnał dogodny do wprowadzania do regulatora. Urządzenie pomiarowe składa się zwykle z czujnika i przetwornika.

Czujnik przetwarza aktualną wartość wielkości regulowanej y na sygnał pośredni y'.

Sygnał ten często nie nadaje się do bezpośredniego wprowadzenia do regulatora. W urządzeniu pomiarowym stosuje się przetwornik, zmieniający sygnał y' na inny sygnał y'' dogodny do wprowadzenia do regulatora.

Regulator

Regulator jest elementem układu regulacji automatycznej o określonych właściwościach dynamicznych, wytwarzającym sygnał nastawiający. Regulator jest urządzeniem składającym się z członu porównującego, przedstawionego na schemacie za pomocą węzła sumacyjnego oraz z członu korekcyjnego, wytwarzającego pożądany sygnał nastawiający. Oba te elementy stanowią konstrukcyjną całość.

Urządzenie wykonawcze

Urządzenie wykonawcze jest elementem układu regulacji automatycznej sterującym obiektem zgodnie z oddziaływaniem sygnału wytworzonego w regulatorze.

Sygnał ten wymaga zazwyczaj wzmocnienia mocy, potrzebnej do wysterowania elementu napędowego, który uruchamia element nastawczy. Urządzenie wykonawcze składa się zwykle ze wzmacniacza mocy, elementu napędowego oraz elementu nastawczego.

Do budowy elementów i urządzeń automatyki stosuje się najróżrodniejsze części konstrukcyjne. Wynika stąd podział elementów automatyki na: -elektryczne i elektroniczne

-mechaniczne

-pneumatyczne

-hydrauliczne

-mieszane

Klasyfikacja ta jest ściśle związana z rozróżnieniem urządzeń pracujących bez energii pomocniczej - przeważnie czysto mechanicznych oraz urządzeń z energią pomocniczą, w których nośnikami energii mogą być:

- prąd elektryczny (w urządzeniach elektrycznych i elektronicznych)

- olej pod ciśnieniem (w urządzeniach hydraulicznych)

- sprężone powietrze (w urządzeniach pneumatycznych) oraz

- wymienione dwa lub trzy nośniki jednocześnie (w urządzeniach mieszanych)

Ze względu na sposób działania rozróżniamy:

- elementy automatyki o działaniu ciągłym, których sygnały występują stale i mogą przybierać każdą wartość (od najmniejszej do największej) znajdującą się w normalnym obszarze ich zmienności,

- elementy automatyki o działaniu dyskretnym, których sygnały mogą przyjmować tylko niektóre, wybrane wartości lub występować tylko w niektórych, wybranych chwilach czasu.

Urządzenie pomiarowe w układzie jest z jednej strony połączone z obiektem regulacji, a z drugiej strony z regulatorem. Porównanie wartości wielkości regulowanej (mierzonej) z jej wartością zadaną odbywa się z reguły za urządzeniem pomiarowym. Od urządzenia pomiarowego żąda się wysokiej jakości przetwarzania. Sygnał wyjściowy z urządzenia pomiarowego powinien być dopasowany do technicznego rozwiązania regulatora, ściślej do jego układu wejściowego i porównującego.

Zmniejszenie różnorodności tych urządzeń uzyskuje się w wyniku zastosowania przetwarzania dwustopniowego przez wyodrębnienie czujnika i przetwornika. Na wyjściu urządzenia pomiarowego uzyskuje się zmniejszenie rodzajów i poziomów sygnału wyjściowego.

Czujnik pomiarowy powinien charakteryzować się małym poborem mocy, aby pomiar nie zakłócał przebiegu procesu kontrolowanego. Dąży się do ujednolicenia sygnałów w układach automatyki. Sygnały te nazywa się sygnałami standardowymi. Wprowadzenie sygnałów standardowych ułatwia połączenie ze sobą poszczególnych elementów układu oraz znacznie zmniejsza różnorodność potrzebnych elementów.

Sygnały wyjściowe czujników pomiarowych nie zawsze są sygnałami standardowymi. Wówczas zachodzi konieczność stosowania dodatkowych elementów tzw. Przetworników pomiarowych. Przeznaczone są one do zmiany sygnałów z czujników w odpowiednie sygnały standardowe.

Przetworniki stosowane są w automatyce jako elementy:

- pomiarowe,

- porównawcze,

- przeliczające,

- zadające

- elementy zdalnego sterowania

Ze względu na przeznaczenie rozróżniamy przetworniki:

a) pomiarowe,

b) przeliczające

c) rodzaju sygnału

Ad. b)

Przetworniki przeliczające wykorzystuje się do sumowania, mnożenia, dzielenia i wykonywania innych operacji matematycznych.

Ad. c)

Do przetworników rodzaju sygnału zaliczamy przetworniki analogowo - cyfrowe i cyfrowo - analogowe

Przetworniki posiadają różnorodne rozwiązania zależne od zasady działania, budowy i warunków pracy, przy czym można je ogólnie podzielić na: nieelektryczne i elektryczne. Klasyfikacja ta wynika z rodzaju energii działającej na przetwornik. Wśród szeroko stosowanych w automatyce przetworników elektrycznych wyodrębnia się:

- przetworniki czynne w których przy przetwarzaniu wielkości nieelektrycznych powstaje siła elektromotoryczna

- przetworniki bierne, które przetwarzają zmiany mierzonych wielkości nieelektrycznych (np. przesunięć) na zmiany parametrów elektrycznych (np. rezystancji)

  1. Metody numeryczne w obliczeniach inżynierskich

PDF

  1. Cyfrowe przetwarzanie obrazów i sygnałów

Sygnał cyfrowy - sygnał którego wartość oraz wartości dziedziny są dyskretne.

CYFROWE PRZETWARZANIE SYGNAŁÓW

Dziedzina nauki i techniki zajmująca się sygnałami w postaci cyfrowej i metodami przetwarzania takich sygnałów. Pierwszym etapem cyfrowego przetwarzania sygnałów jest zazwyczaj konwersja sygnału z postaci analogowej na cyfrową za pomocą przetwornika analogowo-cyfrowego.

Próbkowanie (dyskretyzacja, kwantowanie w czasie) - proces tworzenia sygnału dyskretnego, reprezentującego sygnał ciągły za pomocą ciągu wartości nazywanych próbkami. w ustalonych odstępach czasu (impulsowanie) mierzona jest wartość chwilowa sygnału i na jej podstawie tworzone są tzw. próbki. Aby spróbkowany sygnał z postaci cyfrowej dało się przekształcić bez straty informacji z powrotem do postaci analogowej, musi być spełnione twierdzenie Kotielnikowa-Shannona o próbkowaniu. Mówi ono, że częstotliwość próbkowania nie może być mniejsza niż podwojona szerokość pasma sygnału. Jeśli ten warunek nie jest spełniony, wówczas występuje zjawisko aliasingu.

Częstotliwość próbkowania, wyrażana w Hz, oznacza ilość próbek sygnału przypadających na jedną sekundę.

Cyfrowe przetwarzanie sygnałów realizuje się w dwóch dziedzinach. Są to:

- Dziedzina czasu i przestrzeni (Analiza sygnałów i układów w funkcji zmiennej t - czasu)

Do najpowszechniejszych operacji przetwarzania sygnałów w dziedzinie czasu i przestrzeni należy obróbka sygnału wejściowego w celu poprawienia jego własności. Odbywa się to w procesie nazywanym filtracją. Filtracja są to operacje na zbiorze próbek wejściowych sąsiadujących z bieżącą próbką. Czasami wykorzystuje się pewien zbiór poprzednich próbek.

Najpopularniejsze podziały filtrów:

Najpopularniejsze filtry: Czebyszewa, Butterwortha, Gaussa, Bessela

- Dziedzina częstotliwości (Analiza sygnałów w dziedzinie częstotliwości - f )

Sygnały przekształcane są z dziedziny czasu do dziedziny częstotliwości za pomocą transformacji Fouriera, najczęściej stosuje się FFT (szybka transformacja Fouriera),

CYFROWE PRZETWARZANIE OBRAZÓW

Reprezentacja obrazów w postaci cyfrowej za pomocą siatki pikseli.

Popularną operacją na cyfrowych obrazie jest jego filtracja. Jest ona operacją matematyczną na pikselach obrazu źródłowego w wyniku której uzyskiwany jest nowy, przekształcony obraz. Dla wyznaczenia nowej wartości piksela obrazu docelowego potrzebna jest informacja z wielu pikseli obrazu źródłowego.

Filtracja stosowana jest przeważnie jako metoda wydobycia z oryginalnego obrazu szeregu informacji w celu ich dalszej obróbki. Informacjami takimi mogą być: położenie krawędzi, pozycje rogów obiektów, itp. Innym zastosowaniem filtracji jest usuwanie szumów (filtr medianowy i inne) lub rozmycie obrazu (filtry uśredniające, Gaussa). Filtrację można przeprowadzać zarówno w dziedzinie przestrzennej jak i częstotliwościowej.

Filtry dolnoprzepustowe

Odcinanie(usuwanie) elementów obrazu o wysokiej częstotliwości(szczegółów) i przepuszczaniu elementów o niskiej częstotliwości(ogólnych kształtów, bez szczegółów). Ponieważ większość szumów występujących w obrazach zawiera się w wysokich częstotliwościach, filtry te przeważnie wykorzystuje się właśnie do eliminacji zakłóceń.

Filtry górnoprzepustowe

tłumią one niskoczęstotliwościowe elementy obrazu, wzmacniają natomiast elementy o wysokich częstotliwościach (szczegóły). Wynikiem działania tego typu filtrów jest podkreślenie, uwypuklenie elementów obrazu o dużej częstotliwości poprzez zwiększenie ich jasności, koloru, itp. Dla obrazu jako całości efektem jest zazwyczaj zwiększenie kontrastu poprzez podkreślenie ostrych krawędzi obiektów.

Transformacja obrazu punktowa/lokalna/globalna.

Progowanie, negatyw, kwantyzacja (zmniejszenie liczby kolorów bez większej zmiany jakości)

Aliasing - nieodwracalne zniekształcenie obrazu, objawia się obecnością w sygnale składowych o błędnych częstotliwościach

  1. Zastosowanie techniki mikroprocesorowej

Technika cyfrowa zwana popularnie też techniką mikroprocesorową i sygnałów jest nauką zajmującą się analizą budowy, właściwości i działania układów elektronicznych, które powodują wytwarzanie lub modulację sygnałów cyfrowych. Ta interdyscyplinarna nauka zrodziła się z połączenia dziedzin nauk elektronicznych takich jak teoria sygnałów, układy logiczne, kodowanie itp. Badanie układów cyfrowych (bramek itp.) odbywa się poprzez utworzenie jak najwierniej odwzorowujących je modeli matematycznych i schematów zastępczych urządzeń, których poszczególne elementy opisane są odpowiednimi wartościami i stanami.

Krótka historia

Technika mikroprocesorowa sięga roku 1946, kiedy to w Stanach Zjednoczonych powstał pierwszy komputer o nazwie ENIAC. Był to niezwykle wielki i ciężki sprzęt (30t i 18 tyś. lamp elektronowych). Następnym przełomem w dziedzinie techniki mikroprocesorowej było wynalezienie tranzystora (1947, Bell Laboratories). Dzięki temu wynalazkowi można było opracować pierwsze układy scalone (Texas Instruments), takie jak układy logiczne TTL, które są stosowane jak i produkowane do dzisiaj. Dzięki zastosowaniu w/w układów komputery stały się dużo szybsze a ich gabaryty zmniejszyły się znacząco. Zatem komputery mogły stać się popularniejsze oraz zastosowane jako narzędzie do skomplikowanych oraz żmudnych obliczeń jak i mogły posłużyć w dziedzinie sterowania. Kolejnym krokiem milowym było opracowanie nowej technologii produkcji układów scalonym jakim była technologia CMOS (1963). Dzięki tej technologii można było zawrzeć większą ilość tranzystorów w jednym układzie scalonym, gdyż, w przeciwieństwie do technologii TTL, przełączanie tranzystora nie powodowało wydzielania relatywnie dużej mocy. O początku współczesnej techniki mikroprocesorowej możemy powiedzieć w 1971, gdy powstał pierwszy mikroprocesor (oznaczony 4004). Następnie powstały procesory 8-bitowe (1976), które zostały zastosowane w systemach sterowania maszyn i procesów przemysłowych.

Technika mikroprocesorowa dziś

Głównymi „produktami” techniki mikroprocesorowej są mikroprocesory i mikrokontrolery.

Mikroprocesor to układ scalony, w którym zintegrowana jest kompletna jednostka centralna komputera, która komunikuje się z otoczeniem za pomocą szyn: danych, adresowych i sterujących. Do szyn przyłączamy pamięć i układy peryferyjne. Zastosowanie mikroprocesorów ukierunkowane jest w stronę techniki obliczeniowej. W dzisiejszych czasach wszyscy mamy do czynienia z mikroprocesorami. Obecne znaleźć je możemy m.in. w komputerach osobistych (PC), ponieważ mikroprocesory zapewniają dużą moc obliczeniową, czyli szybkość przetwarzania danych jest duża.

Mikrokontroler jest to układ scalony, w którym możemy znaleźć wszystkie elementy kompletnego komputera takie jak pamięć, jednostkę centralną jak i układy wejścia-wyjścia. Zastosowanie mikrokontrolery znajdują w układach sterowania. W większości tego typu układów możemy określić moc obliczeniową jednostki centralnej potrzebną do wykonania zadań. Niekoniecznie obowiązuje przy tym zasada, że im więcej mocy obliczeniowej tym lepiej. Dobrym przykładem takiego zastosowania mikrokontrolera jest obsługa klawiatury. Naszym zadaniem, które komputer musi wykonać jest rozpoznanie, który przycisk klawiatury został naciśnięty przez użytkownika klawiatury. Moc obliczeniową jaką potrzebujemy jest maksymalna prędkość naciskania przycisków przez użytkownika jakim będzie człowiek. Z doświadczeń wynika, że sprawdzanie stanu klawiatury powinno odbywać się z częstotliwością 10 razy na sekundę. Zastosowania mikroprocesora wykonującego to zadanie szybciej mija się z celem, ponieważ nie spowoduje to lepszego wykonania zadania. Ponieważ klawiatura jest urządzeniem do np. zadania odpowiednich poleceń czy parametrów, gdyż stanowi element większej maszyny, ważne jest aby zamiast dużej mocy obliczeniowej umieszczono w strukturze układy scalonego dodatkowych układów wejścia-wyjścia, aby nie potrzeba było stosować dodatkowych układów pośredniczących między klawiaturą, a jednostką centralną urządzenia. Dzięki zastosowaniu mikrokontrolera minimalizujemy liczbę układów niezbędnych do realizacja podobnych do w/w zadań.

Dzięki szybkiemu rozwojowi mikrokontrolerów oraz ulepszaniu technologii produkcji, mikrokontrolery są wykorzystywane w przemyśle militarnym jak i kosmicznym, np. współczesne mikrokontrolery mogą pracować w zakresie temperatur: -55oC do 125oC.

Mikrokontrolery najczęściej klasyfikuje się ze względu na szerokość szyny danych (4, 8, 16, 32 bitów).

Mikrokontrolery 4-bitowe ze względu na specyfikę są szeroko stosowane w sprzęcie gospodarstwa domowego. Programowane są w procesie produkcji mikrokontrolera i nie istnieje możliwości zmiany programu przez użytkownika. Dzięki temu koszty produkcji są znacznie obniżone przy produkcji mikrokontrolerów w dużych ilościach.

Dzięki szybkiemu rozwojowi mikrokontrolerów oraz ulepszaniu technologii produkcji, mikrokontrolery są wykorzystywane w przemyśle militarnym, np. współczesne mikrokontrolery mogą pracować w zakresie temperatur: -55oC do 125oC.

Mikrokontrolery z rodziny 8016x są jednymi z najlepszych mikrokontrolerów 16-bitowych. Są predestynowane do zastosowania w przemysłowych systemach sterownia takich jak Sterowniki PLC (programowalne sterowniki przemysłowe) (np. układ 80C167). Oprócz w/w układy te znajdują zastosowania w telekomunikacji (układ 80C165).

Zastosowaniem mikrokontrolerów z rodziny MPC8xx/82xx są zastosowania telekomunikacyjne takie jak integracja sieci komputerowych i telekomunikacyjnych, upowszechnienie Internetu i sieci szerokopasmowych. Mikrokontrolery tej rodziny są uznawane za standardowe rozwiązanie w niektórych dziedzinach systemów komunikacyjnych np. sieci dostępowe (ang. access networks).

W dużym stopniu mikrokontrolery znajdują zastosowanie w Układach EAZ (Elektroenergetycznej Automatyki Zabezpieczeniowej). Dzięki prowadzeniu techniki mikroprocesorowej układy EAZ są tańsze, łatwo programowalne, szybsze, są urządzeniami uniwersalnymi, posiadają funkcję rejestracji zakłóceń i błędów oraz komunikacją z centrum nadzoru. Coraz większą popularnością cieszą się mikroprocesorowe układy sterowania i nadzoru.

Podsumowanie

Zastosowanie techniki mikroprocesorowej jest nieoceniona i wszechobecna. Nie ma chyba dziedziny życia, w której nie wykorzystywane były mikroprocesory, mikrokontrolery, lub systemy czasu rzeczywistego.

Zastosowanie mikroprocesorów (pokrótce):

Komputery - programowane przez użytkownika

- mikrokomputery osobiste (ZX Spectrum 2.5Hz -> Pentium 2.5 GHz)

- systemy o dużej wydajności (fraktale, dynamika płynów, grafika komputerowa, przewidywanie pogody)

Systemy wbudowane - bez możliwości programowania przez użytkownika końcowego

- sprzęt komputerowy (klawiatura, mysz, drukarki igłowe, drukarki laserowe, sterowniki dyskowe, graficzne, sieciowe...)

- sprzęt laboratoryjny (multimetry, oscyloskopy, generatory, analizatory...)

- telekomunikacja (aparaty abonenckie, centrale, telefaksy, modemy, poczta głosowa, systemy przywoławcze, telefonia bezprzewodowa i komórkowa)

- sprzęt powszechnego użytku (audio, video, aparaty fotograficzne, pralki, kuchenki...)

- motoryzacja, sterowniki przemysłowe, instalacje wojskowe i kosmiczne (duży poziom zakłóceń, duży zakres temperatur, podwyższona niezawodność)

Mikrokontrolery są wykorzystywane najczęściej w 2 dziedzinach jakimi są aparatura kontrolno-pomiarowa oraz sterowniki przemysłowe.

  1. Systemy operacyjne - przegląd, struktury i zadania

System operacyjny (ang. skrót OS Operating System) - oprogramowanie zarządzające sprzętem komputerowym, tworzące środowisko do uruchamiania i kontroli zadań użytkownika.W celu uruchamiania i kontroli zadań użytkownika system operacyjny zajmuje się:planowaniem oraz przydziałem czasu procesora poszczególnym zadaniom,kontrolą i przydziałem pamięci operacyjnej dla uruchomionych zadań,dostarcza mechanizmy do synchronizacji zadań i komunikacji pomiędzy zadaniami,obsługuje sprzęt oraz zapewnienia równolegle wykonywanym zadaniom jednolity, wolny od interferencji dostęp do sprzętu.Dodatkowe przykładowe zadania, którymi może ale nie musi zajmować się system operacyjny to:ustalanie połączeń sieciowych, zarządzanie plikami.Wiele systemów operacyjnych posiada środowiska graficzne ułatwiające komunikacje maszyny z użytkownikiem.

System operacyjny jako interfejs pomiędzy maszyną a człowiekiem

Aby można było mówić, że system operacyjny tworzy środowisko niezbędne do uruchamiania i kontroli zadań musi on udostępniać interfejs pozwalający na wykonanie pewnych operacji. Przykładowo musi dostarczać metody pozwalające na uruchomienie lub zatrzymanie wskazanego zadania. Zazwyczaj system operacyjny udostępnia w tym celu zestaw funkcji zwanych API (Application Programming Interface) lub wywołań systemowych. Programista aplikacyjny może skorzystać z tych funkcji w celu uzyskania żądanego efektu, przykładowo odczytu danych z pliku dyskowego (o ile system operacyjny posiada system plików).Jakąkolwiek czynność na sprzęcie chcą wykonać zadania użytkownika, korzystają zawsze z interfejsu systemu. Ma to tę zaletę, że o szczegółach obsługi sprzętu jest poinformowany tylko i wyłącznie system operacyjny a same zadania nie muszą znać specyfiki obsługi urządzeń. Ułatwia to zadanie programistom aplikacyjnym oraz rozwiązuje potencjalne problemy.Innym rodzajem interfejsu jest interfejs użytkownika. Dzięki niemu możliwa jest bezpośrednia interakcja użytkownika z komputerem, choćby tak trywialna jak bezpieczne wyłączenie maszyny. Należy przy tym zwrócić uwagę, że o ile interfejs programowy (API lub wywołania systemowe) jest elementem koniecznym to interfejs użytkownika jest elementem opcjonalnym.

Przyjęto podział na trzy główne elementy budowy systemu operacyjnego:

- jądro systemu wykonujące i kontrolujące ww. zadania.

- powłoka - specjalny program komunikujący użytkownika z systemem operacyjnym,

- system plików - sposób zapisu struktury danych na nośniku.

Jądro składa się z następujących elementów funkcjonalnych:

- planisty czasu procesora, ustalającego które zadanie i jak długo będzie wykonywane,

- przełącznika zadań, odpowiedzialnego za przełączanie pomiędzy uruchomionymi zadaniami,

Dodatkowo:

- modułu zapewniającego synchronizacje i komunikację pomiędzy zadaniami,

- modułu obsługi przerwań i zarządzania urządzeniami,

- modułu obsługi pamięci, zapewniającego przydział i ochronę pamięci.

- innych zależnie od funkcji i przeznaczenia systemu.

Zarządzanie zasobami

W przypadku środowiska wielozadaniowego, w którym wiele zadań wykonywanych jest w tym samym czasie, może dość do interferencji procesów. Aby zapobiec temu niekorzystnemu zjawisku organizuje się dostęp do sprzętu, plików, pamięci itp. poprzez ustanowienie zasobów systemowych. W takim przypadku zadania (procesy) użytkownika nie sięgają samodzielnie do sprzętu lub pliku ale używają systemu operacyjnego jako strażnika zarządcy zasobów. Dzięki takiej organizacji dostępu do zasobów, zadania "mają wrażenie", że każde z nich pracuje na własnym komputerze. O realny porządek dostępu do rzeczywistego urządzenia, pamięci lub pliku dba system operacyjny.

Główne zadania systemu operacyjnego podczas zarządzania zasobami systemu komputerowego:

- tworzenie deskryptora zasobu,

- usuwanie deskryptora zasobu,

- realizacja żądania przydziału,

- zwolnienie i odzyskiwanie zasobu.

Zarządzanie zasobami systemu komputerowego:

- przydział zasobów,

- synchronizacja dostępu do zasobów (zapobieganie interferencji),

- ochrona i autoryzacja dostępu do zasobów,

- odzyskiwanie zasobów,

- rozliczanie - gromadzenie danych o wykorzystaniu zasobów.

Zarządzanie procesem - proces to program w stanie uruchomionym, każdy proces wymaga przydziału pewnych zasobów, włączając w to czas procesora, pamięć, pliki oraz urządzenia wejścia/wyjścia, aby w pełni wykonać swoje zadanie. System operacyjny jest odpowiedzialny w fazie zarządzania procesami za:

- tworzenie i usuwanie procesu,

- wstrzymywanie i przywracanie procesu,

- zapewnienie mechanizmów pozwalających na synchronizację procesów oraz komunikację między procesami.

Zarządzanie pamięcią operacyjną - pamięć to duża tablica słów lub bajtów, każda z własnym adresem, pamięć jest szybko dostępna i dzielona jest pomiędzy procesor oraz urządzenia wejścia/wyjścia. Pamięć główna jest ulotnym miejscem przechowywania danych, traci swoją zawartość w czasie awarii systemu. System operacyjny jest odpowiedzialny w fazie zarządzania pamięcią za:

- utrzymywanie informacji która część pamięci jest aktualnie używana i przez kogo,

- decydowania który proces powinien zostać wczytany do pamięci jeżeli pamięć jest wolna,

- przydzielanie i zwalnianie pamięci.

Zarządzanie plikami - plik jest zbiorem informacji zdefiniowanym przez twórcę pliku. Zazwyczaj, pliki reprezentują programy (źródła programów lub pliki wykonywalne) oraz dane. System operacyjny jest odpowiedzialny w fazie zarządzania plikami za:

- tworzenie i kasowanie plików,

- tworzenie i kasowanie katalogów,

- wsparcie dla użytkowników końcowych przy operacjach na plikach,

- mapowanie plików na nośniku danych,

- tworzenie kopii plików.

Zarządzanie wejściem/wyjściem - system wejścia/wyjścia składa się z: systemu buforowania, interfejsu urządzeń głównych, sterowników (kontrolerów) dla specyficznych urządzeń.

Zarządzenie nośnikami danych - pamięć główna jest ulotna i często za mała aby obsłużyć wszystkie programy i dane, dlatego stosuje się nośniki danych (najczęściej dysk twardy) do powiększania tej pamięci tak zwanej pamięć drugiego rzędu, na napędach tych mapuje się pamięć główną. System operacyjny jest odpowiedzialny w fazie zarządzania nośnikami danych za:

- zarządzanie wolną pamięcią,

- alokacją zapisu,

- planowaniem dysku.

Podział systemów operacyjnych.

Najszerszym ale najbardziej podstawowym kryterium podziału systemów operacyjnych jest podział na:

- system operacyjny czasu rzeczywistego (RTOS)

- systemy operacyjne czasowo niedeterministyczne

Podział ten odnosi się do najbardziej podstawowej funkcjonalności systemu operacyjnego jakim jest planowanie i przydział czasu procesora poszczególnym zadaniom.

Ze względu na sposób realizacji przełączania zadań systemy operacyjne można podzielić na:

- systemy z wywłaszczaniem zadań

- systemy bez wywłaszczania.

Inny rodzaj podziału to podział na:

- otwarte systemy operacyjne

- wbudowane systemy operacyjne.

Systemy otwarte można uruchomić na dowolnej maszynie wskazanego rodzaju np. PC i w określonym stopniu modyfikować. Systemy wbudowane jak sama nazwa wskazuje są zaszyte (wbudowane) wewnątrz urządzeń użytkowych, maszyn pojazdów itp. Aby uzyskać wysoką niezawodność pracy minimalizuje się w takich przypadkach możliwość dokonywania zmian w konfiguracji systemu operacyjnego.

Pod względem środowiska użytego do implementacji systemu można wprowadzić podział na:

- programowe

- sprzętowe.

  1. Zasady projektowania algorytmów

1.                  Definicja algorytmu

Algorytm jest ciągiem kroków obliczeniowych prowadzących do przekształcenia danych wejściowych w wyjściowe, dane wyjściowe zwane są wynikiem działania algorytmu.

2.                  Czym jest złożoność obliczeniowa

Ilość zasobów niezbędnych do wykonania algorytmu można rozumieć jako jego złożoność. W zależności od rozważanego zasobu mówimy o złożoności czasowej czy też pamięciowej. Oczywiście w większości wypadków ilość potrzebnych zasobów będzie się różnić w zależności od danych wejściowych z zakresu danego zagadnienia.

3.                  Podział algorytmów ze względu na złożoność obliczeniową

·                     Algorytmy wielomianowe - algorytmy, których funkcja złożoności obliczeniowej f(n) jest rzędu O(p(n)), gdzie p(n) jest pewnym wielomianem zależnym od rozmiaru problemu n, np. O(n), (algorytmy efektywne obliczeniowo).

·                     Algorytmy wykładnicze (ponadwielomianowe) - algorytmy, których funkcji złożoności obliczeniowej f(n) nie da się ograniczyć żadnym wielomianem p(n), np. O(n!) (algorytmy nieefektywne obliczeniowo).

4.                  Klasy złożoności algorytmów

·                     Klasa P - zawiera wszystkie problemy, dla których skonstruowano wielomianowe algorytmy optymalne.

·                     Klasa NP - zawiera wszystkie problemy, dla których skonstruowano wykładnicze algorytmy optymalne.

·                     NP-trudne - podklasa NP problemów wielomianowo ekwiwalentnych, dla których (najprawdopodobniej) nie można skonstruować algorytmów wielomianowych.

·                     Silnie NP-trudne - podklasa problemów NP-trudnych, których nie można rozwiązać optymalnie w czasie pseudowielomianowym.

5.                   Zasady projektowania algorytmów

Dokładne określenie przynależności danego problemu do klasy złożoności pozwala stworzyć najodpowiedniejsze algorytmy jego rozwiązania. Rodzaje algorytmów (metod) optymalnych:

·                     Wielomianowe algorytmy dokładne (dedykowane) - tylko dla problemów z klasy P.

·                     Programowanie dynamiczne - głównie dla problemów NP-trudnych w zwykłym sensie (tzn. nie silnie NP-trudnych).

·                     Metoda podziału i ograniczeń - głównie dla problemów (silnie) NP-trudnych.

Rodzaje algorytmów (metod) przybliżonych:

·                     Algorytmy konstrukcyjne i zachłanne - głównie dla problemów NP-trudnych.

·                      Algorytmy typu popraw - głównie dla problemów (silnie) NP-trudnych.

6.                  Metoda dziel i zwyciężaj

W metodzie ”dziel i zwyciężaj” problem dzielony jest na kilka mniejszych podproblemów podobnych do początkowego problemu, problemy te rozwiązywane są rekurencyjnie, a następnie rozwiązania wszystkich podproblemów są łączone w celu utworzenia rozwiązania całego problemu. W podejściu ”dziel i zwyciężaj” każdy poziom rekursji składa się z następujących trzech etapów:

·                     Dziel: Dzielimy problem na podproblemy.

·                     Zwyciężaj: Rozwiązujemy podproblemy rekurencyjnie, chyba że s¡ą one małego rozmiaru i już nie wymagają zastosowania reukursji - używamy wtedy bezpośrednich metod.

·                     Połącz: Łączymy rozwiązania podproblemów, aby otrzymać rozwiązanie całego problemu.

Przykładowe algorytmy: sortowanie przez scalanie, sortowanie szybkie (quicksort), wyszukiwanie binarne, szybka transformacja Fouriera.

7.                  Metoda transformuj i zwyciężaj.

Algorytmy bazujące na tej metodzie składają się z dwóch głównych kroków:

·                     krok transformacji: instancja problemu jest modyfikowana do postaci odpowiedniejszej do rozwiązywania,

·                     krok zwyciężania: przetransformowany problem jest rozwiązywany znaną metodą.

Głównymi sposobami transformacji są:

·                     uproszczenie instancji (transformacja do prostrzej instancji tego samego problemu),

·                     zmiana sposobu reprezentacji (transformacja tej samej instancji to innej reprezentacji),

·                     redukcja problemu (transformacja do instancji innego problemu, który jesteśmy

w stanie rozwiązać).

Uproszczenie instancji może być wykonane następującymi sposobami:

·            sortowanie wstępne (ang. presorting) - posortowane dane upraszczajaą m.in. zadanie szukania zadanego elementu, zadanie sprawdzenia czy wśród danych znajdują się duplikaty, wyznaczanie dominanty zbioru danych.

·            eliminacja Gaussa - przekształcenie macierzy współczynników w macierz trójkątną pozwala na zmniejszenie złożoności obliczeniowej do O(n3). Zmiana sposobu reprezentacji jest wykorzystywana podczas przekształcenia tablicy do binarnego drzewa poszukiwań: pozwala to na zredukowanie złożoności obliczeniowej wyszukiwania elementu doO(n3).

·            Podobnym przekształceniem jest kopcowanie - redukcja problemu wykorzystywana jest np. w sytuacji gdy interesujący nas problem transformujemy do problemu poszukiwania najkrótszej ścierżki w grafie, a następnie do rozwi¡zania tego problemu stosujemy znane algorytmy (Djikstry, Bellmana- Forda).  

8.                  Algorytm siłowy

Jest to najprostsza strategia projektowania algorytmów, często bazująca na przeglądzie zupełnym lub wprost na twierdzeniach i definicjach opisujących problem. Jest też najprostrza w zastosowaniu, lecz pociąga to za sobą niska wydajność (często nie pozwalając na rozwiązanie problemu w rozsądnym czasie).

9.                  Programowanie dynamiczne

Stosując programowanie dynamiczne, podobnie jak przy korzystaniu z metody ”dziel i zwyciężaj”, rozwiązujemy problemy przez odpowiednie złożenie rozwiązać podproblemów. Programowanie dynamiczne można stosowa¢ wtedy, kiedy podproblemy nie są niezależne, tzn. kiedy podproblemy mogą zawierać te same podpodproblemy. Wtedy algorytm typu ”dziel i zwyciężaj” wykonuje więcej pracy niż to w istocie konieczne, wielokrotnie bowiem rozwiązuje ten sam podproblem. W algorytmie opartym na programowaniu dynamicznym rozwiązuje się każdy podproblem tylko raz, po czym zapamiętuje się wynik w odpowiedniej tabeli, unikając w ten sposób wielokrotnych obliczeń dla tego samego podproblemu.

Programowanie dynamiczne jest zwykle stosowane do problemów optymalizacyjnych. W tego typu zagadnieniach możliwych jest wiele różnych rozwiązań. Z każdym rozwiązaniem jest związana pewna liczba (koszt). Rozwiązanie optymalne to takie, które ma optymalny (minimalny lub maksymalny) koszt. Może być wiele rozwiązań optymalnych, wszystkie o tym samym optymalnym koszcie.

Proces projektowania algorytmu opartego na programowaniu dynamicznym można podzielić na cztery etapy:

·                     scharakteryzowanie struktury optymalnego rozwiązania,

·                     rekurencyjne zdefiniowanie kosztu optymalnego rozwiązania,

·                     obliczanie optymalnego kosztu metodą wstępującą (czyli rozpoczynaj¡c od najmniejszych podproblemów, rozwiązywać coraz większe, wykorzystując rozwiązania mniejszych),

·                     konstruowanie optymalnego rozwiązania na podstawie wyników wcześniejszych obliczeń.

Etapy 1-4 stanowi¡ trzon rozwiązywania problemu za pomocą programowania dynamicznego. Jeśli interesuje nas tylko koszt rozwiązania optymalnego, to etap 3 można pominąć. Jeśli mimo wszystko wykonujemy etap 4, to często wygodnie jest zapamiętywać dodatkowe informacje w etapie 3, co niejednokrotnie znacznie ułatwia zrekonstruowanie optymalnego rozwiązania. Przykładowym algorytmem jest mnożenie ciągu macierzy.

  1. Sieci komputerowe - przegląd, struktury i zastosowania.

Sieć komputerowa - grupa komputerów lub innych urządzeń połączonych ze sobą w celu wymiany danych lub współdzielenia różnych zasobów

Będziemy rozważać głównie kategorie sieci:

I. Ze względu na oddalenie od siebie komputerów jednej sieci:

1. 1m PAN(private area network) sieć prywatna.

2. 10m-1kmLAN (Local Area Networks) - sieci lokalne. np. komputery z kilku sąsiadujących budynków łączone są siecią LAN.

np przemyslowe

3.ok 10km MAN (Metropolitan Area Networks) - sieci miejskie.

np: Wrocławskie Centrum Sieciowo-Superkomputerowe (WCSS)

4.100km-1000km WAN (Wide Area Networks) - sieci rozległe.

*Sieć WAN działa w warstwie fizycznej oraz warstwie łącza danych modelu odniesienia OSI. Łączy ona ze sobą sieci lokalne, które są zazwyczaj rozproszone na dużych obszarach geograficznych.

5.10 000km Internet().

II. Architektura Sieci:

1. Topologię magistrali wyróżnia to, że wszystkie komputery w sieci połączone są ze sobą za pomocą pojedynczego kabla. Kabel nosi nazwę magistrali. Długość sieci w tej topologii nie powinna przekroczyć odległości 185 m . Wszystkie urządzenia przyłączone do sieci słuchają transmisji przesyłanych magistralą i odbierają pakiety do nich zaadresowane.

* Brak jakichkolwiek urządzeń zewnętrznych , sprawia, że magistrale sieci lokalnych są proste i niedrogie.

-Jest to również przyczyną ograniczeń dotyczących odległości, funkcjonalności i skalowalności sieci.

zastosowania:

- w domach i małych biurach.

2.Topologia pierścienia

Każda przyłączona do sieci stacja robocza ma w ramach takiej topologii dwa połączenia: po jednym ze swoich najbliższych sąsiadów. Połączenie takie musi tworzyć fizyczną pętlę, czyli pierścień. Dane przesyłane są wokół pierścienia w jednym kierunku. Każda stacja robocza pobiera i odpowiada na pakiety do niej zaadresowane, a także przesyłając dalej pozostałe pakiety do następnej stacji roboczej wchodzącej w skład sieci.

-Ujemna strona tego rozwiązania polegała na tym, że uszkodzenie jednej stacji roboczej najczęściej unieruchamiało całą sieć pierścieniową.

3. Topologia gwiazdy jest obecnie najszerzej stosowanym typem. Wykorzystuje ona w celach komunikacyjnych centralną stację bazową tak zwaną punktem dostępowym. Punkt dostępowy (Acces Point - AP, koncentrator (HUB).) kieruje informację do poszczególnych komputerów w sieci. Sieci budowane w tej technologii są bardzo wydajne i łatwe w rozbudowie.

Topologie gwiazdy stały się dominującym we współczesnych sieciach LAN rodzajem topologii. Są one elastyczne, skalowalne i stosunkowo tanie.

zastosowanie

- w przemyśle domach biurach firmach

0x01 graphic
.

III. Technologie przesyłowe w sieci:

1. Łącza rozgłoszeniowe, broadcast.-

zastosowanie: Sieci komórkowe.

2.Łącza wieloadresowe, multicast -

zastosowanie:

Ze względu na oszczędność łącza tam gdzie rozmiary komunikatów są największe, czyli w :

transmisjach telekonferencyjnych, przesyłaniu sygnału radiowego i telewizyjnego.

3.Łącza jednoadresowe, Point to point, unicast -

zastosowanie:

Point to Point Tunneling Protocol (w skrócie PPTP) stosowany do tworzenia wirtualnych sieci prywatnych. np Hamachi.

IV. Topologia logiczna

1. Topologia rozgłaszania - polega na tym, że host wysyła dane do wszystkich hostów podłączonych do medium. Kolejność korzystania z medium wg reguły kto pierwszy wyśle, pierwszy zostanie obsłużony(ang. first come, first serve). Przykładem są tutaj sieci Ethernet.

*.Ethernet - technologia, w której zawarte są standardy wykorzystywane w budowie głównie lokalnych sieci komputerowych.

2. Topologia przekazywania tokenu(żetonu) - polega na kontrolowaniu dostępu do sieci poprzez przekazywanie elektronicznego tokenu. Host, który w danym momencie posiada token może skorzystać z sieci. W przypadku gdy nie ma zadań przekazuje token kolejnemu hostowi i cykl się powtarza.

* IEEE 802.5 - Token ring

* IEEE 802.6 - Sieci metropolitalne (MAN)

* FDDI

2.1. TOKEN RING

Token ring - metoda tworzenia sieci LAN opracowana przez firmę IBM w latach 70., dziś wypierana przez technologię Ethernetu.

Szybkość przesyłania informacji w sieciach Token Ring wynosi 4 lub 16 Mb/s.

Topologia fizyczna: gwiazda

Topologia logiczna: token passing

0x01 graphic

Wykorzystuje technikę przekazywania tzw."żetonu" (ang. token passing). Stacja, która ma wiadomość do nadania, czeka na wolny żeton. Kiedy go otrzyma, zmienia go na żeton zajęty i wysyła go do sieci, a zaraz za nim blok danych.

Zastosowanie systemu sterowania dostępem do nośnika za pomocą przekazywania żetonu zapobiega wzajemnemu zakłócaniu się przesyłanych wiadomości i gwarantuje, że w danej chwili tylko jedna stacja może nadawać dane.

2.2. FDDI

(ang. Fiber Distributed Data Interface) to standard transmisji danych, jest oparty na technologii światłowodowej.

Transfer w tych sieciach wynosi 100 Mb/s. Sieć ta zbudowana jest z dwóch pierścieni - pierścień pierwotny i pierścień zapasowy (wtórny).

Transmisja prowadzona jest z użyciem jednego pierścienia. modyfikacje protokołu pozwalające na używanie dwóch pierścieni lecz są rzadko stosowane z powodu dwukrotnego spadku przepustowości po uszkodzeniu pierścienia i rekonfiguracji sieci.

W sieci takiej stacje robocze podłączone są do dwóch pierścieni. Zaletą takiej sieci jest to, że mimo uszkodzenia pierścienia sieć jest nadal sprawna i można przesyłać dane.

zastosowanie

Sieci FDDI stosuje się przede wszystkim w sieciach szkieletowych lub kampusowych, ponieważ dzięki nim można podłączyć wiele urządzeń na dużym obszarze.

MODELE ODNIESIENIA OSI (Open System Interconnections):

0x08 graphic

Warstwa aplikacji (usługi, np. http)

Warstwa prezentacji (składnia i semantyka przesłań informacji - typy dokumentów)

Warstwa sesji (sesja, logowanie, sterowanie dialogiem, zarządzanie żetonem, synchronizacja)

Warstwa transportowa (przesył danych, podział na pakiety, dwupunktowy kanał wolny od błędów, ustalanie typów przesłań)

Warstwa sieciowa (przekazywanie pakietów do odbiorcy, reakcja na bieżące obciążenia w sieci, zatory w sieci, wybór trasy, przeadresowanie)

Warstwa łącza danych (ramki danych, sekwencyjna transmisja danych, ramka potwierdzenia, sterowanie przepływem ramek, obsługa błędów, rozstrzyganie konfliktów w dostępie do nośnika)

Warstwa fizyczna (napięcie, czas impulsu, kierunki przesłań, typ styku, przyporządkowanie pinów)

  1. Metody rozwiązywania zadań optymalizacji

Podstawowy schemat myślenia gdy natrafiamy na problem optymalizacji przebiega mniej więcej w ten sposób: Sformułowanie problemu -> utworzenie funkcji celu -> dodanie ograniczeń -> klasyfikacja zadania.

Istnieje wiele współczesnych metod optymalizacji, a dla różnych zadań jest wymyślane coraz więcej wyspecjalizowanych algorytmów. Chciałbym jednak się skupić na bardziej ogólnych strategiach projektowania algorytmów które potem są wykorzystywane do stworzenia algorytmów które rozwiązują konkretne przykłady.

Istnieje dużo dziedzin w których jest wykorzystywana optymalizacja:

  1. Sieciowe Systemy Operacyjne

System operacyjny to środowisko umożliwiające użytkownikowi korzystanie z funkcjonalności warstwy sprzętowej. Sieciowy system operacyjny (network operating system) udostępnia środowisko, w którym użytkownicy świadomi liczby maszyn mają dostęp do ich zasobów.

Sieciowy system operacyjny zazwyczaj jest implementowany jako szczególna wersja systemu operacyjnego, który będzie wyposażony w narzędzia do realizacji różnych zadań poprzez Internet, ze szczególnym naciskiem na pełnienie funkcji serwera. Poprzez te narzędzia decyduje o charakterze sieci i zakresie pełnionych usług. Zarządza urządzeniami, usługami i danymi, koordynuje prace sieci i efektywnie gospodaruje zasobami. Przykładowe systemy operacyjne to MS Windows NT / 2000, Linux, Unix, Mac OS, Novell Network. Mogą to być zwykłe SO rozbudowane o dodatkowe funkcjonalności(Linux), bądź też systemy projektowane z myślą o zastosowaniach sieciowych i pod nie optymalizowane(Novell). Komputery zorganizowane w sieci porozumiewają się najczęściej przy pomocy protokołów TCP/IP(Internet), IPX/SPX(Novell) lub NetBEUI(Win).

Ze względu na specyfikę SSO muszą być wielodostępowe i wielozadaniowe, a co się z tym wiąże muszą zapewniać obsługę wielu procesorów, a także często klastrów. Głównym trendem w rozwoju SSO są sieci ekstranetowe(kilka sieci intranetowych połączonych przez Internet, z wykluczeniem dostępu z zewnątrz daje ekstranet). Połączenia są realizowane w oparciu o schemat klient - serwer. SSO muszą także zapewniać takie usługi oraz funkcjonalności jak:

W ramach kursu z SSO, Sieciowy System Operacyjny omówiono na przykładzie systemu Unix, z położeniem szczególnego nacisku na współbieżność.

Współbieżność w wykonywaniu można zaimplementować na poziomie procesu przy użyciu funkcji fork() lub też na poziomie wątku z wykorzystaniem biblioteki pthread standardu Posix. Współbieżność realizowana jest poprzez podzielenie pomiędzy procesy/wątki czasu pracy procesora. Procesy/wątki mogą komunikować się poprzez sygnały, strumienie pipe i FIFO, kolejki komunikatów i pamięć współdzieloną. Ich synchronizacja oraz sterowanie dostępem do danych może przebiegać z wykorzystaniem semaforów bądź muteksów wraz ze zmiennymi warunkowymi.

Komunikacja sieciowa w systemie UNIX odbywa się za pomocą gniazd sieciowych. Gniazda są traktowane przez system jak deskryptor otwartego pliku. Można z niego czytać funkcją read(), można do niego pisać poprzez write(), zamknąć je za pomocą close(), a także wykonać operacje możliwe tylko na deskryptorach będących gniazdkami. Gniazdko istnieje w określonej domenie adresowej:

Gniazdka dzieli się także ze względu na typ gniazdka:

Gniazdka sieciowe tworzy się z wykorzystaniem funkcji socket(). Tak utworzonym gniazdkom nadaje się nazwę poprzez użycie funkcji bind(). Nadanie nazwy jest konieczne w przypadku serwerów połączeniowych i bezpołączeniowych oraz w przypadku transmisji bezpołączeniowej zarówno po stronie serwera jak i klienta.

Porty poniżej 1024 są portami zarezerwowanymi i taki numer może przypisać gniazdku funkcja bind() wywołana wyłącznie przez użytkownika z euid==0(root)[EffectiveUserID]. Porty powyżej 5000 są zarezerwowane na usługi serwerów uruchamianych przez użytkowników, bez nadanych praw root.

  1. Techniki Wspomagania Decyzji

Każdego dnia człowiek staje przed różnorakimi problemami decyzyjnymi i na każdym kroku musi dokonywać wyborów. Potrzeba podejmowania jak najbardziej optymalnych decyzji przyczyniała się do poszukiwania metod mogących uprosić ten proces. Decydent przy podejmowaniu decyzji w pierwszej kolejności musi określić cel, a w drugiej wszystkie możliwości jakimi dysponuje. Często też pojawia się konieczność dokonania wyboru wielokryterialnego, gdzie liczy się dla nas większa ilość czynników. Wszystko to doprowadziło do tego, że zaczęło powstawać coraz więcej technologii wspomagania decyzji.

Bardzo często by podjąć decyzję będziemy zmuszeni do stworzenia odpowiedniego modelu matematycznego danego problemu. Warto tutaj zaznaczyć, że jednym z podstawowych narzędzi wspomagających podejmowanie decyzji będzie związana z matematyką statystyka i rachunek prawdopodobieństwa. Gromadząc w odpowiedni sposób dane, możemy w przyszłości wykorzystać je do określenia prawdopodobieństwa zajścia pewnych zdarzeń. Nie zawsze dysponujemy pełną wiedzą pozwalającą na wybór najbardziej optymalnego wyjścia i musimy działać w warunkach niepewności. Statystyka wraz z rachunkiem prawdopodobieństwa pozwala nam określić, z pewną dozą błędu, jakie będą skutki podjęcia przez nas danej decyzji.

Kolejny dział matematyki ściśle związany z podejmowaniem decyzji to teoria gier. Badania przeprowadzane podczas analizowania gier hazardowych dostarczyły wielu informacji na temat tego jak postępować w sytuacji konfliktu interesów. Ograniczone zasoby powodują, że musimy dysponować strategią bardziej optymalną od innych uczestników gry, by zmaksymalizować swoje zyski. Ciekawym przypadkiem gry jest gra o sumie zerowej, gdzie każdy punkt użyteczności zdobyty przez jednego gracza oznacza utratę tego punktu przez innego. Jako jedną ze strategii w tego typu rozgrywce teoria gier oferuję metodę min max polegającą na tym, że musimy planować jak największą ilość ruchów w przód zakładając, że pierwszy z graczy będzie próbował zmaksymalizować swoje szanse na zwycięstwo w każdym kroku, a drugi będzie minimalizował szanse tego pierwszego. Klasycznym przykładem zastosowanie tej metody w informatyce są komputerowe szachy.

Ciekawą technologią wspomagającą podejmowanie decyzji jest sztuczna sieć neuronowa. Sztuczna sieć neuronowa powstała w oparciu o działanie ludzkiego mózgu i procesu nauczania się człowieka. Nie w każdym przypadku sztywne algorytmy pozwalają nam dokładnie rozpoznać problem i podać odpowiednie rozwiązanie, często potrzebne są bardziej elastyczne rozwiązania. Sieć neuronowa analizując przeróżne przypadki ,„uczy się” w jaki sposób reagować na dane sytuacje. Różnorodność budowy sieci oraz algorytmów jej nauczania pozwala na wiele jej zastosowań Połączenie elastyczności myślenia ludzkiego mózgu wraz z mocą obliczeniową komputerów pozwala osiągnąć dużo więcej. Przykładem użycia sieci neuronowej może być podejmowanie decyzji kupna/sprzedaży akcji na podstawie przeprowadzonej przez sieć analizy rynku. Sieć neuronową bardzo często stosuje się również do rozpoznawania obrazów i podejmowaniu decyzji jak należy je sklasyfikować.

Ostatnią z technologii o jakiej opowiem jest system ekspercki (inaczej system z bazą wiedzy). Wyobraźmy sobie sytuację, w której wiedza najlepszych specjalistów z danej dziedziny zmagazynowana została w jednym miejscu i może zostać wykorzystana w celu wspomagania podjęcia decyzji. Tak właśnie działają systemy ekspertowe. Informatycy pisząc taką aplikację współpracują ze specjalistami przenosząc ich wiedzę do specjalnej bazy wiedzy. Zapisywana jest ona w formie faktów i reguł wnioskowania. System ekspercki po otrzymaniu pewnych danych ma w założeniu wskazać nam decyzję jaką podjąłby w takie sytuacji ekspert (lub grupa ekspertów)

  1. Dokumenty Elektroniczne

Dokument elektroniczny (inaczej dokument cyfrowy) - w informatyce dokument w postaci pliku tekstowego, graficznego, muzycznego, filmowego lub mieszanego będącego wynikiem pracy z danym programem komputerowym, dający się zapisać, a następnie odczytać. Posiada cechy dokumentu, czyli potwierdza prawdziwość zaistnienia danego wydarzenia, okoliczności, zjawiska oraz cechy pliku. Może być więc dowodem w procedurach prawnych.

Od pojęcia dokument cyfrowy należy wyraźnie odróżnić dokument podpisany cyfrowo. Dokumentem cyfrowym zawierającym podpis cyfrowy jest np. certyfikat cyfrowy.

Dokument elektroniczny od jego tradycyjnego odpowiednika wyróżnia:

Rezultatem tych cech jest rozmycie pojęć takich jak oryginał, kopia, autentyczność i wartość dowodowa.

Dokument elektroniczny posiada trzy główne elementy:

- zawartość; może nią być: tekst, tabele, obrazy, dźwięk, link;

- logiczną strukturę dokumentu, która może być zawarta w dokumencie lub bazie danych, lub wygenerowana na zewnątrz; logiczna struktura może być różna od struktury fizycznej dokumentu;

- kontekst: zawiera metadane techniczne - w jaki sposób będzie reprezentowany; dane zawarte w dokumencie elektronicznym mogą być w dwóch typach: bazy danych i dokument tekstowy (wizualny lub dźwiękowy).

Dokument elektroniczny to taki, który zawiera nie tylko informacje takie, które można wygenerować na papierze, ale przede wszystkim te informacje (metadane), które nie są uchwytne w tradycyjny sposób, a zauważalne tylko przez maszyny cyfrowe.

Podział ze względu na metody dostępu:

Bezpieczeństwo przesyłanych przez sieć dokumentów elektronicznych polega na spełnieniu poniższych wymagań:

Do szyfrowania dokumentów elektronicznych można wykorzystać następujące algorytmy:

Podpis cyfrowy - dokumenty cyfrowe muszą być podpisywane w sposób wykluczający fałszerstwo. Przesłanie dokumentu podpisanego cyfrowo wiąże się ze spełnieniem następujących wymagań:

Wzór dokumentu elektronicznego wymagany przez polskie urzędy:

1. Plik XML opisujący wzór (opis wzoru zawiera podstawowe informacje na jego temat i jest tworzony na podstawie reguł opublikowanych na stronie MSWiA).

2. Plik XSD, czyli tak zwanej „schemy XML”. W pliku tym określone są struktury dokumentu elektronicznego. Jeżeli wzór dotyczy np. wniosku o wpis do rejestru ewidencji działalności gospodarczej, to w „schemie XML” zawarte będą informacje na temat dopuszczalnej struktury dokumentu.

3. Plik XSL, czyli tak zwany „styl” lub „wizualizacja”. Plik XSL służy do wygenerowania wizualnej wersji dokumentu, czyli do wyświetlenia danych zawartych w tagach w postaci zbliżonej do wersji papierowej.

Decyzja o wyborze XML, jako formatu dla wszelkich nowotworzonych dokumentów zawęziła pole manewru w wyborze formatu podpisu elektronicznego. XMLDSIG to było i jest jedyne standardowe rozwiązanie w tym zakresie. Najważniejsze cechy podpisu XMLDSIG to:

♦ możliwość tworzenie podpisów w oddzielnym pliku (plik podpisywany nie jest modyfikowany w trakcie tworzenia podpisu)

♦ możliwość objęcia jednym podpisem wielu plików jednocześnie (w xml-owym węźle w którym zawarta jest informacja dotycząca podpisu można umieścić kilka odwołań wskazujących na pliki, albo węzły które są objęte podpisem).

  1. Enkapsulacja, dziedziczenie, polimorfizm w programowaniu obiektowym

Enkapsulacja, dziedziczenie i polimorfizm są obok abstrakcji podstawowymi założeniami, czyli paradygmatami

programowania obiektowego.

Enkapsulacja, inaczej hermetyzacja jest to ukrywanie implementacji. Zapewnia, że obiekt nie może zmieniać stanu wewnętrznego innych obiektów w nieoczekiwany sposób. Tylko wewnętrzne metody obiektu są uprawnione do zmiany jego stanu. Każdy typ obiektu prezentuje innym obiektom swój interfejs, który określa dopuszczalne metody współpracy. Pewne języki osłabiają to założenie, dopuszczając pewien poziom bezpośredniego (kontrolowanego) dostępu do wnętrza obiektu. Ograniczają w ten sposób poziom abstrakcji. Przykładowo, w niektórych kompilatorach języka C++ istnieje możliwość tymczasowego wyłączenia mechanizmu enkapsulacji; otwiera to dostęp do wszystkich pól i metod prywatnych, ułatwiając programistom pracę nad pośrednimi etapami tworzenia kodu i znajdowaniem błędów.

Hermetyzacja uodparnia tworzony model na błędy polegające np. na błędnym przypisywaniu wartości oraz

umożliwia wykonanie czynności pomocniczych (jak np. pobranie z konta 10% wypłacanej kwoty jako prowizji)

lub obsługę sytuacji wyjątkowej (np. brak wymaganych środków).

Dzięki stosowaniu hermetyzacji można budować modele rzeczywistości jako struktury składające z

mniejszych modułów, z których każdy ma pewne określone dane i określone metody wpływania na ich stan i

sprawdzania go. Na przykład w tworzeniu modelu samochodu można użyć modułu silnika, który ma określony

szereg danych wewnętrznych (np. opisujących jego stan w trakcie pracy) i metod wewnętrznych (np. pobranie

paliwa, wywołanie reakcji, ruch wirnika). Wszystko to jednak jest nieistotne dla użytkownika (a nawet nie powinno być dostępne), który ma możliwość użycia tylko zapłonu i wyłączenia silnika.

Z pełną hermetyzacją mamy do czynienia wtedy, gdy dostęp do wszystkich pól w klasie jest możliwy tylko i

wyłącznie poprzez metody, lub inaczej mówiąc gdy wszystkie pola w klasie znajdują się w sekcji prywatnej (lub

chronionej).

----------------------------------------------------------------------------------------------------------------------

Polimorfizm (z gr. wielopostaciowość) - mechanizmy pozwalające programiście używać

wartości, zmiennych i podprogramów na kilka różnych sposobów[1]. Inaczej mówiąc jest to możliwość

wyabstrahowania wyrażeń od konkretnych typów.

Referencje i kolekcje obiektów mogą dotyczyć obiektów różnego typu, a wywołanie metody dla referencji

spowoduje zachowanie odpowiednie dla pełnego typu obiektu wywoływanego. Jeśli dzieje się to w czasie działania programu, to nazywa się to późnym wiązaniem lub wiązaniem dynamicznym. Niektóre języki udostępniają bardziej taktyczne(w trakcie kompilacji)rozwiązania polimorfizmu - na przykład szablony i przeciążanie operatorów w C++.

Przykładowo podczas implementacji stosu nie jest bardzo istotne jakiego typu wartości będą na nim

przechowywane. Można napisać ogólne algorytmy obsługujące stos i ewentualne ukonkretnienie pozostawić

systemowi. Mechanizmy umożliwiające takie udogodnienia nazywane są właśnie polimorfizmem.

Przeciążanie (lub przeładowywanie, ang. overload) pozwala nazwać tak samo kilka podprogramów operujących na różnych danych i następnie obsługiwać te dane w jednolity sposób. Np. inaczej dodawane są liczby całkowite, a inaczej zmiennopozycyjne ale wygodnie obie te operacje nazywać po prostu dodawaniem i oznaczać symbolem "+". W językach bez przeciążania operatory te muszą się różnić. Przeciążane mogą być np. operatory, funkcje, metody, procedury. W niektórych językach niektóre operatory lub funkcje są przeciążone, ale programista nie może ich dodatkowo dociążać lub przeciążać własnych.

Wybór konkretnego podprogramu następuje w miejscu wywołania na podstawie jego nazwy oraz statycznych

typów argumentów, a czasami również na podstawie typu oczekiwanej wartości zwracanej (np. w Adzie). Jest to więc polimorfizm statyczny.

----------------------------------------------------------------------------------------------------------------------

Dziedziczenie to w programowaniu obiektowym operacja polegająca na stworzeniu nowej klasy na bazie klasy już istniejącej.

Dziedziczenie porządkuje i wspomaga polimorfizm i enkapsulację dzięki umożliwieniu definiowania i tworzenia

specjalizowanych obiektów na podstawie bardziej ogólnych. Dla obiektów specjalizowanych nie trzeba

redefiniować całej funkcjonalności, lecz tylko tę, której nie ma obiekt ogólniejszy. W typowym przypadku powstają grupy obiektów zwane klasami, oraz grupy klas zwane drzewami. Odzwierciedlają one wspólne cechy obiektów.

  1. Komputerowo Zintegrowane Wytwarzanie

CIM (ang. Computer Integrated Manufacturing, pol. komputerowo zintegrowane wytwarzanie) zastosowanie komputerów w procesach produkcyjnych przedsiębiorstw.

Spadek cen komputerów spowodował że producenci coraz częściej stosują techniki informatyczne do sterowania produkcją we wszystkich fazach procesu produkcyjnego.

Sam system komputerowego zintegrowanego wytwarzania dzieli się na 5 technik:

Jeśli chodzi o samo nazewnictwo tych technik mamy tutaj pewne prawidłowości: Pierwsze dwie litery tworzą skrót od Computer Aided czyli komputerowo wspomagane natomiast trzecia litera skrótu oznacza funkcję oprogramowania:

Aby możliwe było przetwarzanie danych między wcześniej wymienionymi podsystemami tworzy się współpracę komputerów na zasadzie zwykłej sieci komputerowej, która łączy w przedsiębiorstwie poszczególnych użytkowników.

Dzięki zastosowaniu wspólnej bazy danych przedsiębiorstwa oraz modeli zarządzania i wspomagania, firma jest w stanie elastycznie reagować na wszelkie zmiany zachodzące na rynku. Jednocześnie też ułatwione jest wprowadzanie unowocześnień aktualnej bazy firmy a także innych udoskonaleń. Jedną z możliwych struktur w tym przypadku jest zastosowanie dużego centralnego komputera, który jest odpowiedzialny za przetwarzanie danych. Inną z możliwości jest zastosowanie systemu wieloprocesowego, czyli jeden centralny komputer składający się z wielu modułów procesowych.

Dzięki zastosowaniu tego systemu wszystkie dane posiadają standardowy format co usprawnia proces zarządzania nimi.

Powiązania podsystemów zintegrowanego wytwarzania można zaobserwować we wszystkich fazach powstawania produktu. Na początku czyli w fazie koncepcyjnej produktu, konstruktor wprowadza do CAD istotne cechy produktu. W tym samym czasie na konstrukcję wyrobu mają również wpływ problemy ujawnione w fazie projektowania procesów technologicznych obróbki i montażu z zastosowaniem CAP. Na poziomie CAM programy sterujące maszynami technologicznymi odbierają informacje z CAP, przy czym mogą też stanowić dla nich źródło informacji. Wszystko zakończone jest fazą w której produkt poddawany jest kontroli jakościowej przez narzędzia programowe typu CAQ.

Po co to wszystko ?

Ma to przede wszystkim:

Krótko mówiąc, cały proces pozwala na ciągłe udoskonalanie technologii, polepszenie jakości produktu i w końcu poprawę wyników ekonomicznych przedsiębiorstwa.

Warto też powiedzieć o tym, że CIM nie jest gotowym produktem, rozwiązaniem dla firmy, lecz długoterminową strategią działania i z powodu wysokich kosztów infrastruktury informatycznej przedsiębiorstwa i konieczności przeszkolenia pracowników obsługujących konkretne komórki, wprowadzenie CIM powinno przebiegać etapami.

Systemy te są szczególnie opłacalne dla przedsiębiorstw produkujących wyroby masowe, skomplikowane technologiczne, a także w przypadku powtórnego zamówienia na dany produkt.

  1. Planowanie czynności i rozdział zasobów.

Sformułowanie problemu:

Dany jest zbiór zadań oraz zbiór zasobów służących do wykonania tych zadań.

Należy wykonać wszystkie zadania z podanego zbioru w taki sposób, aby ekstremalizowane było określone kryterium jakości.

Przykłady zadań

- procesy montażu / obróbki detali w przemyśle maszynowym

- czynności inwestycyjne w budownictwie

- obsługa zgłoszenia

- przejazd odcinkiem drogi

- obliczenia komputerowe

Przykłady zasobów

- maszyny różnego typu

- siła robocza

- energia

- paliwo

- nakłady finansowe

- surowce

- systemy produkcyjne

- kanały obsługi

Maszyny

Maszyny to szczególny rodzaj zasobów:

- stanowią typ zasobów niezbędny dla wszystkich zadań

- każde zadanie może być wykonywane w danej chwili przez co najwyżej jedną maszynę

Ograniczeń tych nie muszą spełniać pozostałe zasoby.

Zadania

Zadanie składa się z mniejszych jednostek, tzw. operacji (w szczególności zadanie może składać się z jednej operacji).

Zadanie Jj = {O1j, O2j, ..., Okj}

Zbiór zadań J = {J1, J2, ..., Jn}

Charakterystyka zadań - parametry

oj - liczba operacji w zadaniu

pij - czas wykonywania operacji Oij (i-tej operacji zadania Jj )

rj - moment gotowości do wykonania

dj - pożądany czas zakończenia zadania (due date)

_
dj - termin krytyczny zakończenia zadania (deadline)

skj - czas przezbrojenia pomiędzy zadaniem Jk a Jj

wj - waga (priorytet)

Charakterystyka zadań

Zadania ze względu na możliwość przerywania dzieli się na:

- zadania niepodzielne (nieprzerywalne), czyli takie, których wykonywanie nie może być przerywane

- zadana podzielne (przerywalne), jeżeli przerywanie wykonywania zadania jest dopuszczalne

Charakterystyka zbioru zadań

Cały zbiór zadań J scharakteryzowany jest poprzez liczbę tych zadań n.

W zbiorze zadań mogą być określone ograniczenia kolejnościowe - rozróżniane są pod tym kątem dwa rodzaje zbiorów zadań:

- zadania niezależne, pomiędzy którymi nie występują relacje częściowego porządku

- zadania zależne, gdy występuje przynajmniej jedna taka relacja

Charakterystyka zasobów

Zasoby klasyfikowane są pod wieloma względami.

Przede wszystkim dzieli się je na:

- dyskretne, czyli podzielne w sposób nieciągły (np. maszyny w systemie produkcyjnym, siła robocza)

- podzielne w sposób ciągły (np. paliwo, energia)

Można też wyróżnić zasoby:

- przywłaszczalne (jeżeli możliwe jest odebranie konkretnej jednostki takiego zasobu operacji aktualnie wykonywanej i przydzielenie jej gdzie indziej)

- nieprzywłaszczalne

Wyróżnia się trzy podstawowe kategorie:

- zasoby odnawialne (ograniczona jest liczba jednostek zasobu dostępnych w danej chwili), np. procesor, maszyna, robot, siła robocza

- zasoby nieodnawialne (ograniczona jest globalna ilość całkowitego zużycia zasobu), np. surowce, nakłady finansowe, energia

- zasoby podwójnie ograniczone (ograniczona jest dostępność w danej chwili i zużycie łączne), np. rozdział mocy z ograniczeniem zużycia całkowitego

Charakterystyka zasobów - parametry

Każdy zasób scharakteryzowany jest poprzez następujące parametry:

- dostępność (czasowe przedziały dostępności)

- ilość

- koszt

- dopuszczalne obciążenie jednostki zasobu (najczęściej przyjmuje się, że liczba operacji/zadań, które mogą być jednocześnie wykonywane przy użyciu tej jednostki jest równa jedności)

Charakterystyka zbioru zasobów

Cały zbiór zasobów jest określony poprzez podanie:

- rodzajów elementów (jednostek zasobu)

- ogólnej liczby jednostek zasobu każdego rodzaju

Charakterystyka maszyn

Ze względu na spełniane funkcje maszyny dzieli się na:

- równoległe (uniwersalne) - spełniające te same funkcje

- dedykowane (wyspecjalizowane) - różniące się spełnianymi funkcjami

Istnieją trzy rodzaje maszyn równoległych:

- identyczne - każda z maszyn pracuje z taką samą prędkością

- jednorodne - maszyny różnią się prędkością, ale ich prędkość jest stała i nie zależy od wykonywanego zadania

- dowolne (niezależne) - czas wykonywania poszczególnych zadań na maszynach jest różny

W przypadku maszyn dedykowanych rozróżniane są następujące systemy obsługi zadań:

- przepływowy (flow-shop)

- ogólny / gniazdowy (job-shop)

- otwarty (open-shop)

System przepływowy

W systemie przepływowym każde zadanie musi przejść przez wszystkie maszyny w ściśle określonym porządku (każde zadanie składa się zatem z m operacji).

Przykład:

p1 = (2,2,4), p2 = (3,1,1), p3 = (2,3,2)

0x08 graphic

System gniazdowy

W systemie gniazdowym (ogólnym) kolejność maszyn mających wykonać operacje jest różna, ale ściśle określona dla każdego zadania (zadania mogą mieć różną ilość operacji).

Przykład:

v1 = (2,1), v2 = (1,3,2), v3 = (1,2,3)

p1 = (3,1), p2 = (1,3,3), p3 = (4,2,2)

0x08 graphic

System otwarty

W systemie otwartym wytworzenie każdego wyrobu wymaga operacji na wszystkich maszynach, ale kolejność ich wykonywania jest dowolna i nieustalona.

Uszeregowanie

Rozwiązaniem problemu szeregowania zadań jest uszeregowanie, czyli ustalona kolejność wykonywania operacji na poszczególnych maszynach. Natomiast zbudowanie harmonogramu to wyznaczenie momentów, w których rozpoczyna się realizacja tych operacji.

W problemach, w których rozpatrywane są zasoby dodatkowe, należy również określić ich przydział.

Najczęściej spotykane kryteria:

Cmax - czas zakończenia wykonania wszyst kich zadań (długość uszeregowania)

Lmax - maksymalna nieterminowość

Tmax - maksymalne opóźnienie

cmax - maksymalny koszt wykonania zadania

ΣwjCj - suma ważonych czasów zakończenia wykonania zadań

ΣwjTj - suma ważonych opóźnień

Σcj - całkowity koszt wykonania zadań

Flowshop - algorytm CDS, NEH, symulowane wyżarzanie

Jobshop - algorytm Johnsona

  1. Metody przybliżone rozwiązywania zadań optymalizacji dyskretnej.

W celu uniknięcia niedogodności związanych z otrzymywaniem rozwiązania dokładnego (optymalnego) problemu optymalizacyjnego, próbuje się wyznaczyć jego rozwiązanie przybliżone. Metody heurystyczne (przybliżone) charakteryzują się dużym stopniem przystosowania do problemu,

który rozwiązują oraz do kryterium, które maja minimalizować. Często jednak metoda przybliżona doskonale sprawdzająca się w rozwiązywaniu jednego problemu, nie sprawdza się w innym. Wynika to w dużej mierze ze specjalizacji algorytmów heurystycznych - parametry ich działania musza być doskonale dostrojone. Pewnym wyjściem jest tu zastosowanie mechanizmu automatycznego strojenia Innym rozwiązaniem jest zastosowanie równoległych algorytmów przybliżonych.

Heurystyka nie gwarantuje znalezienia rozwiązania optymalnego, chociaż „dobra” metoda heurystyczna generuje w krótkim czasie rozwiązania niewiele różniące się od optymalnego, a wiec w pełni zadawalające z praktycznego punktu widzenia.

Głównym zadaniem heurystyki jest usprawnienie algorytmu rozwiązywania danego problemu. Najważniejsze znaczenie ma eliminowanie z dalszych rozważań części niesprawdzonych jeszcze dokładnie obiektów, które nie rokują wyznaczenia dobrego rozwiązania. Od jakości stosowanej heurystyki zależy złożoność algorytmu rozwiązania problemu.

Metody przybliżone

Metoda przybliżona wyznacza pewne rozwiązanie bliskie rozwiązaniu dokładnemu. Metod przybliżonych jest zdecydowanie więcej niż dokładnych, zwykle są one problemowo-zorientowane. Zasadniczo, jakość metody przybliżonej jest oceniania z dwóch punktów widzenia: złożoność obliczeniowa algorytmu oraz dokładność przybliżenia. Dalsza charakterystyka bierze pod uwagę, między innymi, gwarancje zbieżności do rozwiązania optymalnego, szybkość tej zbieżności. Jakość wszystkich wymienionych ocen zależy od metody, problemu oraz konkretnych danych liczbowych podanych do algorytmu.

W ostatnich latach nastąpił burzliwy rozwój metod przybliżonych o dobrych i bardzo dobrych własnościach numerycznych potwierdzonych eksperymentalnie. Znaczna część tych metod czerpie swoje inspiracje z Natury i ma związek z dziedziną Sztucznej Inteligencji oraz Uczenia Maszynowym.

Algorytmy poszukiwań lokalnych

W konstrukcji wielu algorytmów przybliżonych stosowana jest metoda iteracyjnego polepszania bieżącego rozwiązania poprzez lokalne przeszukiwanie. Rozpoczyna się ona od pewnego rozwiązania początkowego (startowego). Następnie generuje się jego otoczenie (sąsiedztwo) oraz wyznacza najlepsze rozwiązanie z tego otoczenia, które przyjmuje się za rozwiązanie startowe w kolejnej iteracji. Otoczenie jest zbiorem wszystkich permutacji możliwych do wygenerowania z permutacji za pomocą pojedynczego ruchu. Sposób określania otoczenia jest jednym z podstawowych elementów algorytmu.

Najczęściej stosowane są trzy rodzaje otoczeń:

otoczenie zawiera n-1 permutacji

otoczenie zawiera n(n-1)/2 permutacji

Przeszukiwanie tabu

Metoda tabu jest modyfikacją metody lokalnych poszukiwań. Dopuszcza się możliwość zwiększania wartości funkcji celu (przy wyznaczaniu nowego rozwiązania generującego otoczenie), aby w ten sposób zwiększyć szanse na osiągniecie minimum globalnego. Takie ruchy „w górę” należy jednak kontrolować, ponieważ w przeciwnym razie po osiągnięciu minimum lokalnego nastąpiłby szybki do niego powrót. W celu uniknięcia „zapętlenia”, skierowania poszukiwań w obiecujące regiony przestrzeni oraz umożliwienie wyjścia z ekstremum lokalnego wprowadza się tzw. mechanizm zabronień. Wykonując ruchy zapamiętuje się rozwiązania, atrybuty rozwiązań lub ruchów na tzw. liście tabu. Generując otoczenie nie rozpatrujemy rozwiązań znajdujących się na tej liście chyba, ze spełniają warunki, przy których ograniczenia tabu można pominąć. Podstawowymi elementami metody tabu search są :

rozwiązania za pomocą pewnej klasy ruchów,

wykonał z góry określoną liczbę iteracji, (b) w kolejnych iteracjach nie uzyskano poprawy wartości funkcji kryterialnej, (c) aktualne otoczenie jest zbiorem pustym.

Symulowane wyżarzanie

Metoda symulowanego wyżarzania, ze względu na prostotę implementacji

oraz uniwersalność, jest z powodzeniem stosowana do rozwiązywania wielu

problemów optymalizacyjnych, jej podstawowe idee pochodzą z termodynamiki. Posiada

ona pewne analogie z procesem wyżarzania (chłodzenia) ciała stałego, stad w jej opisie używa się pojęć z tej właśnie dziedziny. Cechą charakterystyczną metody jest stopniowe obniżanie parametru kontrolnego zwanego temperaturą. Konstrukcja algorytmu opartego na metodzie symulowanego wyżarzania wymaga określenia następujących elementów:

(za rozwiązania startowe w następnej iteracji) elementy otoczenia,

od parametru kontrolnego zwanego temperatura (zwykle zależnego od numeru iteracji algorytmu).

Parametr kontrolny (temperatura) zmienia się zazwyczaj co ustalona liczbę iteracji algorytmu według jednego ze schematów chłodzenia. Podstawowe schematy :

Przy implementacji algorytmu należy tak ustalić jego parametry, aby po wykonaniu pewnej liczby iteracji prawdopodobieństwo akceptacji rozwiązań znacznie różniących się od najlepszego do tej pory wyznaczonego malało, przez co szybko dochodzimy do pewnego minimum lokalnego. Po jego osiągnięciu przywraca się początkowe wartości parametrom (zwiększając prawdopodobieństwo akceptacji „gorszych” rozwiązań) umożliwiając w ten sposób znaczne oddalenie się od bieżącego minimum.

Algorytmy ewolucyjne

Określenia „algorytmy ewolucyjne” oraz „algorytmy genetyczne” obejmują grupę metod obliczeniowych, których wspólną cechą jest korzystanie, przy rozwiązywaniu danego problemu, z mechanizmu opartego na zjawisku naturalnej ewolucji gatunków. Są one bezpośrednią adaptacja tego zjawiska, stad w ich opisie używa się pojęć z genetyki W metodach tych, na wyróżnionych podzbiorach zbioru rozwiązań dopuszczalnych (populacji osobników), wykonywane są cyklicznie trzy podstawowe operacje:

osobników najlepiej przystosowanych (najbardziej obiecujących) zwanych rodzicami, na bazie których zostanie utworzone następne pokolenie,

w celu zapobiegnięcia stagnacji w procesie poszukiwań.

Selekcja i krzyżowanie są najmocniejszymi operatorami na zbiorze osobników.

Dzięki nim cały proces ten ma charakter ewolucyjny i prowadzi do wygenerowania podzbioru zawierającego „najbardziej obiecujące” rozwiązania.

Działanie algorytmu zaczyna się od wygenerowania populacji o stałej liczebności. W kolejnej iteracji tworzona jest generacja w następujący sposób: z bieżącej populacji wybierana jest pewna ilość najlepszych osobników, z nich przez mechanizm krzyżowania generuje się nowych osobników (potomstwo). Na części z nich dokonuje się mutacji aby zróżnicować populacje. Tak wygenerowane potomstwo zastępuje najgorszych osobników w bieżącej populacji tworząc nową generację. Algorytm kończy działania po wygenerowaniu liczby osobników z góry ustalonej.

  1. Zarządzanie projektem

Wprowadzenie

Projekt pozwala osiągnąć założony cel niezależnie od branży przedsiębiorstwa, które je stosuje. Liczba oraz wielkość realizowanych projektów pozwala w pewnym stopniu określić jego aktywność. Wynikiem projektu jest osiągnięcie nowego produktu, usługi lub też polepszenie już istniejącego, który zgodny jest z założonymi celami oraz satysfakcjonuje zarówno odbiorcę, jak i zespół, który go realizował.

Projekty mogą mieć różnorodny charakter i być związane z różnymi obszarami działalności organizacji, zawsze jednak posiadają stałe cechy bądź właściwości:

- każdy projekt ma określony i konkretny cel, którego osiągnięcie kończy realizację projektu,

- projekt ma określone ramy czasowe, a jednym z kryteriów oceny powodzenia projektu jest fakt, czy zakończył

się on w wyznaczonym terminie,

- projekt korzysta z zasobów takich jak ludzie, pieniądze, maszyny, materiały itp.,

- każdy projekt składa się ze współzależnych, ale wydzielonych etapów zwanych zadaniami; każda część projektu jest powiązana z innymi i np. opóźnienie albo przekroczenie budżetu jednego zadania z reguły wpływa

na następne, a tym samym na cały harmonogram oraz całkowite koszty projektu.

1. Zarządzanie projektami

1.1. Planowanie projektu i zarządzanie nim

Zarządzanie projektem oznacza:

- kierowanie nim od powstania pomysłu do ostatecznego zakończenia,

- dostosowanie go do rzeczywistości,

- zarządzanie środkami i ludźmi w trakcie różnych faz projektu, począwszy od planowania aż do zakończenia

przedsięwzięcia.

Bardzo często zarządzanie projektem zostaje wyodrębnione jedynie na etapie planowania, co nie zawsze zapewnia osiągnięcie oczekiwanego efektu i nie przeciwdziała wymykaniu się realizacji projektów spod kontroli. Aby temu zapobiec konieczne jest stworzenie narzędzi obejmujących całość niezbędnych działań koncepcyjnych, planistycznych, wykonawczych, kontrolnych, itd., oparcie ich na mniej lub bardziej sformalizowanych zasadach i procedurach oraz zorganizowanie w jeden spójny ciąg zadań przebiegających w odpowiednich dla konkretnych warunków ramach organizacyjnych.

W trakcie prac nad planowaniem projektu, w fazie wstępnej, warto prześledzić cykl życia projektu i przewidzieć

natężenie prac w poszczególnych procesach.

W trakcie wszystkich prac nad projektem należy starannie realizować kolejne etapy. Popełnienie jednego błędu

na początku projektu może mieć znaczący wpływ na kolejne działania. W celu wyeliminowania najprostszych

błędów należy kierować się podstawowymi zasadami, takimi jak obiektywność oraz zarządzanie sytuacyjne.

W zarządzaniu projektem wyróżnia się podstawowe składowe:

- rozpoczęcie,

- planowanie,

- realizacja,

- zakończenie projektu,

oraz dodatkowo w trakcie trwania całego projektu - kontrola.

Etapy te tworzą „cykl życia projektu”. Wprowadzenie tego podziału nie tylko umożliwia określenie początku i końca projektu w rozumieniu zadaniowym, lecz również wyznacza przedział czasu na jego realizację oraz kolejność i stopień angażowania niezbędnego potencjału. W praktyce oznacza to uzyskanie rozkładu nakładów materialnych i finansowych na realizację przedsięwzięcia w czasie. Pomaga to w określeniu zakresu i rodzaju zadań, jakie powinny być wykonywane na danym etapie, oraz wskazaniu wykonawców, osób odpowiedzialnych oraz źródeł finansowania projektu.

Inicjalizacja projektu - rozpoczyna się na etapie genezy i analizy pomysłu od dokładnej definicji celów, jakie

zamierza się osiągnąć dzięki realizacji projektu. Cele powinny być określone w sposób jak najbardziej prosty,

jasny do zrozumienia i jednoznaczny. Czasami wskazane jest opracowanie drzewa celów z wydzieleniem celu

nadrzędnego, wiodącego oraz celów posiłkowych i zadaniowych, które pozwolą cel wiodący osiągnąć. Często zdarza się, że cele sformułowane są w sposób pozwalający na ich zbyt szeroką interpretację. Można tego uniknąć, definiując jasno, co nie wchodzi w zakres podejmowanych zadań. W ten sposób już na wstępie można uniknąć wielu dalszych nieporozumień. Na tym etapie powołuje się również grupę ludzi odpowiedzialnych za wszystkie etapy projektu.

Grupę taką ogólnie nazywa się zespołem projektowym. Zazwyczaj grupa taka otrzymuje bądź wybiera sama swojego kierownika - menadżera projektu. Osoba ta będzie reprezentowała cały projekt oraz wszystkich podległych mu pracowników przed zleceniodawcą.

Planowanie - prawidłowe zaplanowanie całego procesu inwestycyjnego jest czynnością bardzo ważną, mającą

bezpośredni wpływ na osiągnięcie sukcesu w realizacji danego przedsięwzięcia. Polega na weryfikacji metod

działania, pozyskiwaniu zasobów oraz określeniu sposobu wdrażania całego projektu.

Realizacja tego etapu oznacza koncentrację na planowaniu przebiegu prac projektowych. Stworzenie dobrego

planu projektu realizuje się zasadniczo w kilku etapach. Na wstępie powinno się jasno określić listę zadań, które

pozwolą zrealizować nasz cel (tzw. To Do List). Następnie należy określić wzajemne powiązania pomiędzy poszczególnymi zadaniami oraz ustalić ich kolejność zgodnie z ustalonym procesem, czas trwania czynności oraz terminy ich rozpoczęcia i zakończenia.

Kolejnym etapem jest powiązanie zadań z zasobami. Każda organizacja dysponuje pewnymi zasobami, które w określony sposób alokowane są na potrzeby projektu. Zasoby dzieli się na pracowników, materiały i sprzęt. Materiały zużywane są w miarę postępu prac przy realizacji projektu i stąd zachodzi konieczność monitorowania wielkości ich zapasów w stosunku do potrzeb. Pozostałe zasoby służą projektowi przez cały czas trwania (często występują w ograniczonych ilościach, co sprawia, że konieczny jest ich racjonalny podział między realizowane zadania przy uwzględnieniu priorytetów).

Ostatnią kwestią dotyczącą zasobów w projekcie są koszty ich użycia. Pozwala to wyznaczyć realny koszt zasobów w zależności od stopnia ich wykorzystania. Koszt użycia zasobu może się zmieniać, jeżeli praca odbywać się będzie w nadgodzinach lub w przypadku zmian cen, rabatów czy okresowych wahań stawek.

Podsumowując, plan projektu powinien określać m.in. takie elementy jak:

- cel główny projektu, cele szczegółowe i wynikające z nich zadania,

- powołanie zespołu projektowego oraz kierownika projektu,

- harmonogram prac z określonymi terminami rozpoczęcia i zakończenia projektu, listę czynności wraz z ich

powiązaniami, czasami trwania, terminami rozpoczęcia oraz zasobami,

- zbilansowane zapotrzebowanie na zasoby,

- rozdział zadań na wykonawców,

- preliminarz finansowy projektu, czyli określenie ilości niezbędnych środków pieniężnych na jego realizację

w poszczególnych fazach,

- zasady kontroli i rozliczania,

- postać, w jakiej ma zostać przekazany projekt, i zasady odbioru całości prac oraz zadań cząstkowych.

Realizacja - oznacza wdrażanie działań zgodnych z planem przebiegu projektu. Ważną rolę odgrywa tutaj kierownik (menedżer) projektu, do którego należą czynności koordynacyjne, przygotowywanie raportów i sprawozdań, bieżąca kontrola postępu prac i wykorzystania zasobów oraz eliminowanie skutków zakłóceń wywołujących odchylenia pomiędzy zaplanowanym a rzeczywistym przebiegiem projektu. Zasadnicze znaczenie dla efektywnego przebiegu realizacji projektu ma właśnie wdrożenie przez niego właściwej organizacji pracy zespołu, którym kieruje. Należy pamiętać, że projekt „żyje”, dlatego istotnym elementem jest jego stałe monitorowanie pozwalające, w przypadku występujących odstępstw od projektu, na bieżące wprowadzanie korekt. W trakcie pracy z każdym projektem występuje ryzyko zmiany jego i jego otoczenia, wywołane bieżącymi trudnościami i błędami. Menadżer powinien na bieżąco obserwować i korygować powstałe opóźnienia w projekcie, a także ustalać ich przyczyny w celu wyeliminowania ich w przyszłości, a powstałe opóźnienia wprowadzać do zaktualizowanego harmonogramu.

Zamknięcie projektu - obejmuje czynności związane z:

- przygotowaniem raportu końcowego zestawiającego wyniki projektu,

- opracowaniem bilansu lub raportu finansowego,

- zebraniem recenzji i opinii na temat przebiegu projektu,

- przekazaniem wyników projektu zleceniodawcom,

- uporządkowaniem dokumentacji przebiegu projektu oraz jej zarchiwizowaniem,

- rozwiązaniem zespołu projektowego.

1.2. Czynniki decydujące o powodzeniu i porażce projektu

Najczęściej brane są pod uwagę dwa podstawowe kryteria oceny powodzenia projektu. Wymagają one od projektu, aby był on zrealizowany:

- w wyznaczonym terminie,

- w ramach zaplanowanego budżetu.

Są też jednak dodatkowe mierniki sukcesu, które należy uwzględnić. W dużej mierze ich ocena jest uzależniona

od odpowiedzi na następujące pytania:

- czy spełnione zostały wszystkie cele projektu? (zakres),

- czy organ zlecający wykonanie projektu (np. inwestor) jest zadowolony z końcowego efektu? (jakość),

- czy nie wystąpiły straty w zespole pracowników? (kadra),

- czy ilość wykorzystanych materiałów do realizacji przedsięwzięcia nie przekroczyła zaplanowanych ilości?

(zasoby).

Niestety, większość osób koncentruje się przede wszystkim na dwóch pierwszych kryteriach, tzn. czasie i budżecie, zaniedbując pozostałe. O ile w krótkim okresie takie podejście najczęściej nie spowoduje niekorzystnych konsekwencji, o tyle długoterminowy efekt takiego postępowania może być o wiele bardziej szkodliwy.

Najważniejsze czynniki decydujące o powodzeniu projektu to:

- jasne, przedyskutowane i zaakceptowane cele i wymagania projektu,

- stałe uczestnictwo w projekcie inwestora, projektanta i zespołu realizującego przedsięwzięcie,

- realny, planowany czas i koszt wykonania projektu,

- nieustanna kontrola zmian i jakości.

Czynniki, które najczęściej przyczyniają się do porażki projektu to:

- źle zaplanowana i przygotowana realizacja poszczególnych zadań,

- lekceważenie i opóźnianie rozwiązania bieżących problemów,

- wprowadzanie częstych, nieistotnych zmian w harmonogramie i/lub projekcie,

- brak kontaktu z pracownikami i bagatelizowanie ich potrzeb,

- brak komunikacji pomiędzy uczestnikami projektu,

- nieprzemyślane wprowadzanie nowych metod zarządzania projektem,

- brak realistycznej oceny postępów prac.

Poświęcenie odpowiedniej uwagi i czasu na monitorowanie powyższych czynników ma kluczowe znaczenie dla

przebiegu realizacji całego procesu inwestycyjnego, a w konsekwencji osiągnięcia zaplanowanego celu.

  1. Projektowanie Systemów Sterowania

Sterowanie (regulacja) polega na takim oddziaływaniu na obiekt sterowania, za pomocą sygnałów wejściowych, aby jego sygnały wyjściowe osiągnęły pożądaną wartość. Z reguły jeśli oddziaływanie na obiekt jest niepożądane lub nieplanowane to zjawisko to nazywamy zakłóceniem (w takim przypadku można zastosować sterowanie odporne). Sterowanie może odbywać się w układzie otwartym lub zamkniętym.

Sterowanie w układzie otwartym (ręczne lub automatyczne) polega na takim nastawieniu wielkości wejściowej, aby znając charakterystykę obiektu i przewidując możliwość działania nań zakłóceń, otrzymać na wyjściu pożądaną wartość. Najczęstszym przedmiotem uwagi w teorii sterowania są zachowania układów dynamicznych w czasie. Pożądaną wartość wyjścia układu nazywamy wartością zadaną. Kiedy od jednego lub więcej wyjść układu wymagamy specyficznego zachowania się w czasie, regulator próbuje manipulować wejściem układu tak, aby jego wyjście zachowywało się w pożądany sposób. Jako przykład posłuży nam sterowanie samochodem, przy czym zależy nam na utrzymaniu stałej jego prędkości. W tym przypadku układem jest samochód, wielkością wyjściową układu - prędkość, wielkością wejściową - przesunięcie pedału gazu, a wartością zadaną - pożądana prędkość. Najprostszym sposobem na rozwiązanie takiego zadania jest zablokowanie pedału gazu w ustalonej pozycji. Rozwiązanie takie ma jednak podstawową wadę - dobrze sprawdzać się będzie tylko na płaskim terenie. Podczas jazdy pod górę samochód zwolni, a podczas zjeżdżania z góry przyśpieszy. Taki rodzaj sterowania nazywamy sterowaniem w otwartej pętli (ang. open-loop), ponieważ w układzie nie ma połączenia między wyjściem a wejściem układu. Podstawową wadą takiego rodzaju sterowania jest wpływ dynamiki układu na wartość wyjściową.

Sterowanie w układzie zamkniętym (ręczne lub automatyczne) różni się od sterowania w układzie otwartym tym, że człowiek lub regulator otrzymują dodatkowo poprzez sprzężenie zwrotne informacje o stanie wielkości wyjściowej. Informacja ta (odczytana z miernika lub podana w postaci np. napięcia do regulatora) jest używana do korygowania nastaw wielkości wejściowej. Aby uniknąć problemów występujących przy sterowaniu w otwartej pętli, teoria sterowania korzysta z idei sprzężenia zwrotnego (ang. feedback). Wyjście układu y jest porównywane z wartością zadaną r, a różnica tych wielkości, zwana uchybem e jest podana na wejście regulatora C. Dzięki temu regulator posiada informację o aktualnym błędzie sterowania i może tak zmieniać wartość wejściową u obiektu P, aby zmniejszyć uchyb do zera. Co za tym idzie, wielkość wyjściowa układu jest stale utrzymywana możliwie blisko wartości zadanej. Wadą takiego rozwiązania jest konieczność pojawienia się zakłóceń na wyjściu Y by zostały zauważone, następnie skompensowane przez regulator C. W przypadku mierzalnych sygnałów zakłóceń lepsze efekty daje sterowanie w otwartej pętli (ang. feedforward) od zakłóceń wraz z zamkniętą pętlą od wartości sterowanej. Taki rodzaj sterowania to sterowaniem z zamkniętą ujemną pętlą sprzężenia zwrotnego, która ma właściwości stabilizujące i linearyzujące.

Ze względu na zachowanie się układów dynamicznych w układach regulacji automatycznej najistotniejsze są właściwości sterowalności i obserwowalności.

Definicja 1. Układ nazywamy sterowalnym, jeżeli istnieje ograniczone przedziałami ciągłe sterowanie u(t) przeprowadzające ten układ z dowolnego stanu początkowego x(t0) do dowolnego stanu końcowego x(tk) w chwili t = tk, w skończonym czasie, 0 6 tk − t0 6 ∞ .

Definicja 2. Układ nazywamy obserwowalnym, jeżeli przy dowolnym sterowaniu u(t) istnieje skończona chwila tk, po której, na podstawie sygnałów (wektorowych) u(t) i y(t) w przedziale czasu od t0 do tk, można wyznaczyć stan układu x(t0) w dowolnej chwili początkowej t0 .

Definicja 3. Układ nazywamy osiągalnym, jeżeli dla dowolnego stanu docelowego xf istnieje skończona chwila tf > 0 oraz sterowanie u(t) w przedziale [0,tf ] takie, że gdy x(0) = 0, wówczas x(tf )= xf .

Dane właściwości mają zasadnicze znaczenie w teorii sterowania. Jeżeli stwierdzimy, ˙ ze system jest sterowalny, oznacza to, iż można skutecznie doprowadzić go w skończonym czasie do dowolnego stanu zadanego; sensowne jest wówczas projektowanie układu sterowania. Jeśli natomiast system jest obserwowalny, to na podstawie obserwacji jego sygnału wejściowego i wyjścia w skończonym czasie, można ustalić jego stan początkowy, co z kolei decyduje o jego identyfikowalności.

Podstawową właściwością, jaką powinien spełniać każdy system automatyki jest stabilność. Intuicyjne pojęcie stabilności mówi, że gdy podamy na wejście systemu dowolny sygnał ograniczony, wówczas na jego wyjściu y(t) otrzymamy również sygnał ograniczony (definicja według Laplace'a). Do badania stabilności stosuje się twierdzenia: Hurwitza, Rutha, Michaiłowa, Nyquista.

System automatycznej regulacji zawiera obiekt i regulator. Sygnał wyjściowy obiektu powinien być równy przychodzącemu z zewnątrz sygnałowi wartości zadanej. Spełnienie tego zadania ma umożliwić regulator, który reaguje na sygnał uchybu regulacji. O ile transmitancja obiektu jest zadana, o tyle transmitancja regulatora podlega wyborowi. Od regulatora żądamy, aby zapewnił:

Występują różne rodzaje regulatorów: P, PI PD, PID. Regulator PID jest najlepszy pod względem szybkości, co zapewnia część różniczkująca D. Jeśli chodzi o własności asymptotyczne, to można ją postawić na równi z regulacją I oraz PI. Dla czasu istotnie większego od zera wyższość regulacji PID nad PI może zaniknąć.

Jednym z najbardziej newralgicznych stanów w pracy układu jest tzw. stan przejściowy, występujący w chwili uruchomienia systemu. Jest on obserwowany najczęściej jako duża wartość sygnału błędu w chwili t =0, a liczony następująco εp , lim t→0

Ponieważ może to być stan niebezpieczny dla obiektu regulacji , więc szczególnie w tym momencie ważny jest algorytm regulacji. W celu ochrony układu przed zniszczeniem stosuje się różne techniki, takie jak np. „powolne” zmiany wartości zadanej, ograniczenie akcji różniczkujących regulatora, różniczkowanie sygnału wyjściowego, a nie uchybu itp. Parametry regulatorów muszą być tak dobrane, aby zapewnić szybką i bezpieczną pracę całego układu od chwili t =0, aż do jego osiągnięcia stanu ustalonego, gdy zanikną w nim procesy przejściowe. Właściwy dobór nastaw regulatorów P, PI i PID, czyli parametrów kp, Ti i Td zapewni stabilną pracę (bez przeregulowań) każdego z układów regulacji automatycznej, a przede wszystkim odpowiednią jakość regulacji, którą będziemy oceniać na podstawie wybranych kryteriów jakości. Wybór kryteriów jakości regulacji jest dostosowany do potrzeb zachowania systemu. W literaturze istnieją algorytmy doboru nastaw regulatorów według Zieglera Nicholsa. Są to opracowane doświadczalnie, sugerowane ustawienia wielkości wzmocnienia kp, czasu całkowania Ti oraz czasu różniczkowania Td na podstawie zdejmowanych charakterystyk funkcji przejścia (transfer function) obiektu. Zauważyli, że odpowiedz skokowa większości układów sterowania ma kształt podobny do litery S. Krzywa ta może być otrzymana z danych eksperymentalnych lub symulacji dynamicznej obiektu. W drugiej metodzie kryterium strojenia opiera się na ocenie układu znajdującego się na granicy stabilności.

Oprócz liniowych układów automatyki z czasem ciągłym istnieją również te z czasem dyskretnym. Pojęcie stabilności układu z czasem dyskretnym odpowiada definicji stabilności układu z czasem ciągłym. Badanie stabilności opiera się na określeniu położenia biegunów transmitancji systemu dyskretnego. System jest stabilny, jeżeli wszystkie pierwiastki jego transmitancji leżą we wnętrzu okręgu jednostkowego. Istnieją także kryteria stabilności przeznaczone specjalnie dla systemów z czasem dyskretnym np. Kryterium Jury'ego.

0x01 graphic

0x01 graphic



Wyszukiwarka

Podobne podstrony:
13. Techniki wspomagania decyzji II, pytania egzamin inżynierski AiR ARS
1. Zadania i metody automatycznej regulacji, pytania egzamin inżynierski AiR ARS
2. Sterowanie procesami - zadania, pytania egzamin inżynierski AiR ARS
14. Dokumenty elektroniczne, pytania egzamin inżynierski AiR ARS
18. Metody przybliżone rozwiązywania zadań optymalizacji dyskretnej I, pytania egzamin inżynierski A
16. Komputerowo zintegrowane wytwarzanie, pytania egzamin inżynierski AiR ARS
9. Zasady projektowania algorytmów, pytania egzamin inżynierski AiR ARS
18. Metody przybliżone rozwiązywania zadań optymalizacji dyskretnej II, pytania egzamin inżynierski
MAS wszystkie pytania testowe 2007
,pytania na obronę inż,Zasada projektowania cyklonów
,pytania na obronę inż,Cele i sposoby unieszkodliwiania osadów ściekowych
wszystkie pytania
wszystkie pytania z platformy WORD
Biochemia wszystkie pytania
,pytania na obronę inż,przekladnie mechaniczne
Kol 1 popr1 z ETMiMD AiR wiecz inz sem5 2010 11
wszystkie pytania CIGA, Studia GWSH, Sem V
POLITYKA SPOŁECZNA WSZYSTKIE PYTANIA!

więcej podobnych podstron