Sprzętowa realizacja programu sterowania w strukturach FPGA
|
|
- Leszek Domagała
- 6 lat temu
- Przeglądów:
Transkrypt
1 Jan MOCHA, Dariusz KANIA Politechnika Śląska, Instytut Elektroniki Sprzętowa realizacja programu sterowania w strukturach FPGA Streszczenie. W artykule przedstawiono oryginalną metodę realizacji programów sterowania opisanych w języku schematów drabinkowych LD (ang. Ladder Diagram) w strukturach programowalnych. Istota przedstawionego w artykule rozwiązania tkwi w oryginalnym algorytmie wyszukiwania sekwencyjności i równoległości zdarzeń, które opisane są za pomocą tzw. grafu kolejności segmentów. Graf ten stanowi pomost pomiędzy opisem programu sterowania w postaci LD a opisem struktury w postaci języka opisu sprzętu. Abstract. The paper presents an original method of implementing control programs, represented in Ladder Diagram (LD) format, in Programmable Logic Devices. The essence of the solution proposed in the paper consists in an original algorithm of extracting events that have to be processed sequentially, or can be processed concurrently. For this purpose a Network Ordered Graph is used. The graph is a link between a control algorithm described in Ladder Diagram, and the same algorithm described in Hardware Description Language (HDL). (Hardware Implementation of a control program in FPGA structures). Słowa kluczowe: programowalne sterowniki logiczne, język diagramów stykowych, układy logiki programowalnej, sprzętowa realizacja programu sterowania, FPGA. Keywords: Programmable Logic Controller, Ladder Diagram, Programmable Logic Device, hardware control program realisation, FPGA. Wstęp Programowalne sterowniki logiczne (ang. PLC - -Programmable Logic Controller) zdominowały współczesne systemy automatycznego sterowania. Wykorzystywane są zarówno do realizacji prostych zadań, jak i bardzo skomplikowanych algorytmów sterownia, występujących powszechnie w rozbudowanych liniach przemysłowych [1]. Realizacja skomplikowanych algorytmów sterowania wymaga coraz większych mocy obliczeniowych. Istotne jest również skrócenie czasu obiegu pętli głównej programu (ang. scan cycle), co ma szczególne znaczenie w sytuacji obiektów, charakteryzujących się szybkimi zmianami sygnałów obiektowych. Współczesny sterownik przemysłowy jest specjalizowanym systemem komputerem, wykorzystującym najczęściej charakterystyczną dla tego typu rozwiązań architekturę bitowo-bajtową [2]. Charakterystyczną cechą takiego rozwiązania jest szeregowo-cykliczny sposób realizacji programu sterowania. W czasie jednego cyklu, zwanego również obiegiem pętli głównej, wykonywane są kolejno [3]: odczyt stanu wejść i zapamiętanie obrazu wejść w wydzielonym obszarze pamięci, zwanym obszarem odwzorowania wejść PII (ang. Process Image Input), wykonanie programu sterowania, przy czym stany wyjść wynikające z realizacji programu zapisywane są w wydzielonym obszarze pamięci, zwanym obszarem odwzorowania wyjść PIO (ang. Process Image Output), ustawienie wyjść zgodnie z zawartością danych w obszarze odwzorowania wyjść PIO, wykonanie szeregu procedur systemowych takich jak samotestowanie, obsługa sieci, itp. Standardowe języki opisu programów sterownia zostały szczegółowo zdefiniowane w normie IEC [3]. Do najpopularniejszych form opisu należy zaliczyć: język schematów drabinkowych LD (ang. Ladder Diagram), język listy rozkazów IL (ang. Instruction List) oraz język funkcjonalnych schematów blokowych FBD (ang. Function Block Diagram). Warto zauważyć, że mimo funkcjonalnej zgodności powyższych form opisu programów sterowania, czasami w narzędziach firmowych nie występuje możliwość pełnej, automatycznej dwukierunkowej konwersji programu. Niezależnie od użytej formy opisu programu sterowania, jego realizacja sprowadza się do sekwencyjnego wykonania ciągu rozkazów, charakterystycznej dla systemów mikroprocesorowych. Programowy, szeregowo-cykliczny sposób realizacji programu sterowania, ogranicza możliwość zastosowania klasycznych sterowników PLC do sterowania stosunkowo wolnymi procesami. Znane są prace, w których przedstawiono wykorzystanie struktur programowalnych do implementacji bitowo- -bajtowych architektur jednostki centralnej sterownika [2]. Istota implementacji oparta jest na dedykowanych procesorach bitowym oraz bajtowym, realizowanych za pomocą wirtualnych komponentów. Znaczącego przyspieszenia realizacji programu sterowania należy jednak poszukiwać idąc znacznie dalej. Okazuje się, że na obecnym etapie rozwoju struktur programowalnych istnieje możliwość w pełni sprzętowej realizacji programu sterowania. Pozwala to na rezygnację z klasycznej szeregowo-cyklicznej realizacji programu, zastępując ją realizacją sprzętowo-równoległą w strukturach programowalnych [4]. Celem artykułu jest przedstawienie oryginalnej metody sprzętowej realizacji programu sterowania w strukturach programowalnych. Istota pomysłu tkwi w zaproponowanej metodzie analizy programu sterowania opisanego w języku schematów drabinkowych, prowadzącej do wyodrębnienia elementów programu wykonywanych sekwencyjnie oraz równolegle. Opis relacji równoległości i sekwencyjności poszczególnych segmentów, uzyskiwany za pomocą zaproponowanego grafu kolejności, stwarza możliwość efektywnej sprzętowo-równoległej realizacji programu w strukturach programowalnych. Przegląd koncepcji sprzętowej realizacji programów sterowania Na rysunku 1a przedstawiono fragment przykładowego programu opisanego w postaci schematu drabinkowego (LD) oraz odpowiadający mu ciąg instrukcji w języku listy instrukcji (IL) (Rys. 1b). Segmenty programu można interpretować jako równania logiczne [1], które bezpośrednio mogą zostać zaimplementowane w układzie programowalnym i w konsekwencji mogą być zrealizowane sprzętowo (Rys. 1c) [4, 5]. Przerzutniki D służą do zapamiętania stanu zmiennych wyjściowych, umożliwiając ponadto wykorzystanie ich jako stany wejściowe w innych segmentach. Znane są możliwości bezpośredniej konwersji programu sterowania opisanego w postaci LD na sprzętową realizację w strukturze programowalnej, odpowiadającą strukturze z rysunku 1 [5]. Trudno oczekiwać od programistów sterowników PLC dogłębnej wiedzy z zakresu języków opisu sprzętu (VHDL, Verilog), co stanowi pewien problem w wykorzystaniu PRZEGLĄD ELEKTROTECHNICZNY, ISSN , R. 88 NR 12a/
2 przedstawionej powyżej koncepcji sprzętowej realizacji programu sterowania w strukturach programowalnych. Problem ten można jednak rozwiązać poprzez opracowanie narzędzia, które w sposób całkowicie niewidoczny dla programisty, dokona kompilacji programu sterowania do postaci pliku konfiguracyjnego układu programowalnego. Programista mógłby wtedy korzystać z dobrze znanych sobie języków oraz technik programowania, a narzędzie wspomagające proces syntezy wykonałoby konwersję języka opisu programu sterowania do opisu struktury sterownika (w postaci języka opisu sprzętu). Zachowanie behawioralnej zgodności sprzętowej realizacji programu sterowania z klasyczną szeregowocykliczną realizacją, wymaga zachowania, typowego dla sterowników klasycznych, cyklu. Najprostszym rozwiązaniem problemu jest zachowanie sekwencji realizacji kolejnych segmentów programu, co przedstawiono między innymi w pracy [6]. Zaproponowana tam metoda sprzętowej realizacji programu wykorzystuje rejestr z krążącą jedynką, którego wyjścia kolejno uaktywniają przerzutniki D skojarzone z funkcjami logicznymi odpowiadającymi poszczególnym segmentom. Ideę budowy architektury typu krążąca jedynka przedstawiono na rysunku 2a. Na rysunku 2b zamieszczono wykresy czasowe sygnałów zezwalających na wpis do przerzutników typu D, wyjaśniające istotę pracy układu z rysunku 2a, realizującego przykładowy program przedstawiony na rysunku 3. W architekturze typu krążąca jedynka czas wykonania programu T KJ jest wprost proporcjonalny do jego "długości" (liczby segmentów) i wyraża się zależnością (1). (1) T KJ = N seg t clk gdzie: T KJ czas wykonania programu w architekturze typu krążąca jedynka, N seg liczba segmentów realizowanego programu, t clk okres sygnału zegarowego. Rys.1. Przykład programu w języku LD (a) oraz IL (b) oraz odpowiadający mu układ realizujący program na drodze sprzętowej Całkowicie równoległy sposób sprzętowej realizacji programu opisanego w LD przedstawiono w pracy [5]. Prowadzi on jednak do innego wyniku realizacji programu sterowania niż wynik uzyskiwany w "klasycznym" sterowniku PLC. Podejście takie stwarza istotne ograniczenia w zaproponowaniu tej metody szerokiemu gronu programistów. Nasuwa się więc pytanie, jak zachować behawioralną zgodność klasycznej, programowej szeregowo-cyklicznej realizacji programu sterowania, z realizacją sprzętoworównoległą programu w strukturach programowalnych. Bez wątpienia, w programie sterowania można wyróżnić elementy, które muszą być wykonane sekwencyjnie oraz fragmenty, które można wykonywać równolegle. Szacuje się, że możliwość sprzętowej realizacji programu sterowania, w której wyodrębniono elementy wykonywane równolegle, stwarza szansę na przyspieszenia realizacji programu sterowania o 2-3 rzędy wielkości [4]. Nie wiadomo jednak jak zachowując behawioralną zgodność sprzętowej realizacji z klasyczną szeregowo-cykliczną realizacją programu, wyszukiwać fragmenty realizowane równolegle. Rys.2. Architektura typu krążąca jedynka" (a) oraz wykres czasowy obrazujący zasadę działania układu (b) 96 PRZEGLĄD ELEKTROTECHNICZNY, ISSN , R. 88 NR 12a/2012
3 Nie ulega wątpliwości, że realizacja pojedynczego segmentu w każdym takcie, ze względu na czas realizacji całego programu, jest nieefektywna. Efektywniejsze byłoby zrównoleglenie wykonania niektórych fragmentów programu, a więc realizacja kilku segmentów w jednym takcie. Koncepcję takiego rozwiązania można znaleźć w pracy [6], niestety bez podania szczegółowego algorytmu przypisania segmentów do kolejnych taktów. Konieczne jest zatem opracowanie algorytmu ustalającego sekwencję wykonywania segmentów, wynikającą z przepływu danych pomiędzy segmentami oraz metody wyszukiwania segmentów, które mogą być wykonane równolegle. W pracy [7] do wyznaczania przyporządkowania segmentów do kolejnych taktów realizacji zaproponowano algorytm bazujący na zdefiniowanych w pracy [8] grafach jednoczasowości (ang. simultaneity graph) oraz zależności (ang. dependency graph). Żadna z przytoczonych powyżej metod nie uwzględnia jednak kwestii implementacji programu sterowania w strukturach programowalnych, a w szczególności, istotnego ze względu na efektywność implementacji, aspektu kolejkowania [9, 10]. Podstawy teoretyczne behawioralnie zgodnej implementacji sprzętowej W programie sterowania istnieje możliwość wykorzystania zmiennych wyjściowych, jako zmiennych wejściowych w innych fragmentach programu. Przykład wykorzystania zmiennej wyjściowej segmentu jako zmiennej wejściowej w tym samym segmencie programu opisanego w LD pokazano na rysunku 1a (Network 1 oraz Network 2). Na rysunku 3 przedstawiono przykładowy program sterowania, w którym występują przypadki wykorzystania zmiennych wyjściowych segmentu jako zmiennych wejściowych w tych samych oraz innych segmentach programu. Rys.3.Przykładowy program sterowania opisany w języku LD Oznaczmy segmenty programu opisanego w LD jako S j, gdzie j = 1, 2,, N seg, zaś N seg liczbę wszystkich segmentów w programie. Program opisany w języku LD realizowany jest począwszy od segmentu S 1 aż do segmentu S Nseg, po czym realizacja programu ponownie rozpoczyna się od segmentu S 1. Z przyjętego sposobu oznaczania oraz numerowania segmentów wynika, że segment o numerze j (S j ) wykonany jest przed segmentem o numerze k (S k ) wtedy, gdy j < k. Segmenty, których zmienne wyjściowe zostały wykorzystane jako zmienne wejściowe w innych segmentach nazwijmy segmentami wejściowo-wyjściowo nierozłącznymi w przód lub w tył. Segmenty nazywamy segmentami we-wy nierozłącznymi w przód, jeżeli zmienna wyjściowa segmentu S j jest wykorzystana jako zmienna wejściowa w segmencie S k, takim, że j > k. Segmenty nazywamy segmentami we-wy nierozłącznymi w tył, jeżeli zmienna wyjściowa segmentu S j jest wykorzystana jako zmienna wejściowa w segmencie S k, takim że j < k. Przykładem segmentów we-wy nierozłącznych w przód względem zmiennej Q4.2 są segmenty S 4 oraz S 2, natomiast przykładem segmentów we-wy nierozłącznych w tył względem zmiennej Q4.2 segmenty S 4 i S 6 (Rys. 3). Występowanie w programie sterowania segmentów we-wy nierozłącznych uniemożliwia równoległą realizację wszystkich segmentów. Przykładowo, rozważmy wykorzystanie zmiennej wyjściowej Q4.2 (Network 4 na rysunku 3) jako zmiennej wejściowej w segmencie S 6 (Network 6) nierozłączność we-wyj w tył. W przypadku realizacji szeregowo-cyklicznej programu przez klasyczny sterownik PLC, zmienna wejściowa Q4.2 w segmencie S 6 będzie miała wartość będącą wynikiem wykonania segmentu S 4 w aktualnie realizowanym cyklu. W przypadku realizacji sprzętowej, wykonanie obu segmentów jednocześnie, spowoduje, że przy realizacji segmentu S 6 będzie wykorzystany stan zmiennej Q4.2 z poprzedniego cyklu. Podobna sytuacja występuje w przypadku realizacji segmentów we-wy nierozłącznych w przód, np. segmenty S 2 oraz S 4 względem zmiennej Q4.2. W klasycznej szeregowo-cyklicznej realizacji programu, zmienna wejściowej Q4.2 w segmencie S 2 będzie przyjmować wartość wynikającą z poprzedniego obiegu pętli głównej programu. Istotne jest zatem, w przypadku sprzętowej realizacji programu, wykonanie segmentu S 2 przed realizacją segmentu S 4 lub segmenty takie mogą zostać wykonane równoległe. Powyżej przedstawione rozważania, można podsumować stwierdzeniem, że od nierozłączności we-wy segmentów zależy czy segmenty te mogą zostać wykonane równolegle czy sekwencyjnie. W pracy [11] przedstawiono metodę wyszukiwania sekwencyjności oraz równoległości segmentów programu z wykorzystaniem dwóch zaproponowanych grafów: grafu następstw oraz grafu pierwszeństwa. Możliwe jest przeprowadzenie operacji kolejkowanie zaproponowanych grafów, przez co można wpływać na efektywność sprzętowej implementacji programu sterowania w zasobach układów logiki programowalnej. Wadą zaproponowanej w [11] metody jest komplikacja procesu kolejkowania wynikająca z konieczności korzystania z dwóch grafów. Graf kolejności jako forma pośrednia pomiędzy LD a sprzętową realizacją Zaproponowana w artykule metoda wyszukiwania, efektywnej pod względem czasowym, sprzętowej realizacji programu sterowania zostanie przedstawiona wychodząc od opisu programu sterowania w postaci schematów PRZEGLĄD ELEKTROTECHNICZNY, ISSN , R. 88 NR 12a/
4 drabinkowych LD. Ze względu na możliwość konwersji opisu programu do dowolnej innej formy [3], poniższe rozważania mają charakter jak najbardziej ogólny. W celu uproszczenia problemu, rozważane będą wyłącznie operacje bitowe, z pominięciem operacji, w których argumentami są słowa (operacje porównania, arytmetyczne, itp.). Dodatkowo założono, że w danym segmencie występuje przypisanie tylko do jednej zmiennej wyjściowej. Założenie takie nie wpływa na ogólność rozważań. Pozwala tylko na uproszczenie problemu i skoncentrowanie uwagi na najistotniejszych kwestiach. Wynikiem poszukiwań metody efektywnej konwersji programu sterowania do realizacji sprzętowej jest zaproponowany acykliczny graf skierowany, nazywany grafem kolejności wykonania segmentów, w skrócie grafem kolejności OG (ang. Ordered Graph). Cechą charakterystyczną grafu OG jest wprowadzenie, już na etapie jego tworzenia, wstępnego przyporządkowania wierzchołków grafu do kolejnych poziomów, odpowiadającym kolejnym taktom sprzętowej realizacji programu, które oznaczane są kolejno: T 1, T 2, T 3,...,T p, gdzie p liczba taktów sprzętowej realizacji programu. Zanim przedstawiony zostanie sposób tworzenia grafu kolejności OG należy zwrócić uwagę na fakt, że do każdego segmentu programu przypisana jest pojedyncza zmienna wyjściowa, stąd z wierzchołkami grafu nie musimy kojarzyć oznaczeń segmentów, lecz możemy bezpośrednio kojarzyć odpowiadające im zmienne wyjściowe segmentów. Graf kolejności OG jest acyklicznym grafem skierowanym tworzonym w następujący sposób: analiza programu sterowania prowadzona jest od pierwszego segmentu (S 1 ) aż do ostatniego (S Nseg ), jeżeli analizowany w danym kroku segment S j jest we-wy nierozłączne w tył względem segmentu S k przyporządkowanego do poziomu T n grafu, wtedy wierzchołek skojarzony z segmentem S j zostaje przyporządkowany do poziomu T n+1 grafu. Jeżeli wierzchołek skojarzony z segmentem S j występuje już w grafie oraz został przyporządkowany do poziomu T m takiego, że m n, konieczne jest jego przesunięcie do poziomu T n+1 wraz z wszystkimi powiązanymi z nim wierzchołkami z zachowaniem istniejących pomiędzy nimi zależności. Wierzchołki S j oraz S k zostają połączone ciągłą krawędzią skierowaną, której grot wskazuje na wierzchołek skojarzony z segmentem o wyższym numerze, jeżeli analizowany w danym kroku segment S j przyporządkowany do poziomu T n grafu jest we-wy nierozłączny w przód względem segmentu S k, wtedy wierzchołek skojarzony z segmentem S k również zostaje przyporządkowany do poziomu T n grafu. Jeżeli wierzchołek skojarzony z segmentem S k występuje już w grafie oraz został przyporządkowany do poziomu T m takiego, że m < n, konieczne jest jego przesunięcie do poziomu T n wraz z wszystkimi powiązanymi z nim wierzchołkami z zachowaniem istniejących pomiędzy nimi zależności. Wierzchołki S j oraz S k zostają połączone przerywaną krawędzią skierowaną, której grot wskazuje na wierzchołek skojarzony z segmentem o wyższym numerze, jeżeli analizowany w danym kroku segment S j, nie jest we-wy nierozłączny w stosunku do innych segmentów, to skojarzony z nim wierzchołek należy umieścić na poziomie T 1 tworzonego grafu OG. Kilka pierwszych kroków tworzenia grafu OG dla przykładowego programu z rysunku 3, przedstawiono na rysunku 4. Finalną postać grafu OG dla rozważanego przykładowego programu, którą otrzymuje się po N seg = 7 krokach, przedstawiono na rysunku 5. Rys.4. Kolejne kroki tworzenia grafu kolejności OG Graf kolejności OG jest grafem sekwencji, tzn. acyklicznym grafem skierowanym, którego wierzchołkom przypisane są operacje, zaś krawędzie opisują relacje pomiędzy nimi [10]. Postać grafu określa równoległość oraz sekwencyjność operacji skojarzonych z wierzchołkami. Niezwykle istotna jest kwestia tzw. kolejkowania grafu sekwencji, czyli wyznaczenie czasów rozpoczęcia poszczególnych zadań. Istotne jest to zarówno ze względu na problem dostępności zasobów, jak również ze względu na minimalizację czasu realizacji wszystkich zadań. Problem kolejkowania grafu sekwencyjnego przy założonych ograniczeniach czasowych oraz ograniczeniach zasobów jest problemem NP-trudnym. W literaturze można znaleźć szereg algorytmów kolejkowania [9, 10]. Najprostszym zagadnieniem jest problem kolejkowania zadań bez ograniczenia zasobów, który z powodzeniem można wykorzystać do poszukiwania, efektywnej pod względem czasu, sprzętowej realizacji programu sterowania w strukturach programowalnych. W tym przypadku można posłużyć się algorytmem tak szybko jak tylko można ASAP (ang. As Soon As Possible), w którym każda z operacji rozpoczyna się najwcześniej jak to tylko możliwe lub algorytmem tak późno jak tylko można ALAP (ang. As Late As Possible), w którym każda z operacji rozpoczyna 98 PRZEGLĄD ELEKTROTECHNICZNY, ISSN , R. 88 NR 12a/2012
5 się najpóźniej jak to tylko możliwe dla przyjętej zwłoki [10]. Terminem zwłoka określa się liczbę taktów niezbędną do realizacji wszystkich zadań określonych grafem sekwencji i oznacza się symbolem λ. Kolejność operacji określa się na podstawie zależności pomiędzy danymi, tzn. wykorzystaniem danych wyjściowych jednej operacji jako danych wejściowych innej operacji. Na rysunku 5 został przedstawiony graf kolejności OG z podziałem na kolejne takty będący wynikiem kolejkowania bez ograniczeń zasobów z wykorzystaniem algorytmu ALAP. Jako ograniczenie czasowe (zwłokę) przyjęto liczbę poziomów otrzymanego grafu OG (λ = 4). Jest to najmniejsza wartość zwłoki jaką można uzyskać w przypadku sprzętowej realizacji rozważanego programu. Warto zwrócić uwagę, że rodzaj krawędzi łączącej poszczególne wierzchołki ma istotny wpływ na proces kolejkowania. Para wierzchołków skojarzonych z segmentami (S j, S k ) połączona krawędzią ciągłą, po procesie kolejkowania może znaleźć się na poziomach T n oraz T m grafu OG, takich, że n < m. W przypadku krawędzi przerywanej musi być spełniony warunek n m. Zauważyć należy, że w architekturze tego typu w poszczególnych taktach realizacji wykonywanych jest więcej niż jeden segment programu. Jest to możliwe dzięki dogłębnej analizie programu, której celem było wyszukanie sekwencyjności oraz równoległości segmentów, co zostało zobrazowane za pomocą grafu kolejności OG. Zaproponowane sprzętowe rozwiązanie w istotny sposób (43%) ograniczana czas realizacji programu w stosunku do podstawowego rozwiązania przedstawionego na rysunku 3. W praktycznych przypadkach zysk wynikający z równoległego wykonania segmentów może być znacznie większy, gdyż przykład został dobrany w taki sposób, aby w możliwie najprostszy sposób pokazać istotę wyszukiwania sekwencyjności i równoległości. Rys.5. Graf kolejności OG po kolejkowaniu algorytmem ALAP Na rysunku 6 przedstawiono sprzętową implementację programu sterowania wykorzystującą zaproponowaną architekturę, określaną mianem zrównoleglona krążąca jedynka, która jest bezpośrednim odzwierciedleniem struktury grafu z rysunku 5. Realizacja sprzętowa programu zgodna z kolejkowaniem prowadzącym do wyniku przedstawionego na rysunku 5, zapewnia behawioralną zgodność realizacji sprzętowej z jego szeregowo-cykliczną realizacją klasyczną. Czas obiegu pętli programowej wynosi w tym przypadku 4 takty. W architekturze zrównoleglona krążąca jedynka czas wykonanie programu T ZKJ jest wprost związany z liczbą poziomów grafu OG uzyskaną po jego kolejkowaniu i wyraża się zależnością (2). (2) T ZKJ = T K t clk gdzie: T ZKJ czas wykonania programu w architekturze zrównoleglona krążąca jedynka, T K liczba poziomów wynikowego grafu OG po kolejkowaniu (zwłoka układu), t clk okres sygnału zegarowego. Analizując strukturę uzyskanego rozwiązania można zauważyć, że sposób uaktywnienia przerzutników (EN i =1) jest bezpośrednio skojarzony grafem z rysunku 5. W pierwszym takcie realizacji uaktywniany jest przerzutnik wytwarzający sygnały Q4.0, w kolejnym takcie przerzutniki wytwarzające sygnały Q4.1, Q4.2 oraz Q4.5. Rys.6. Realizacja rozważanego programu z wykorzystaniem architektury typu zrównoleglona krążąca jedynka dla kolejkowania z rysunku 5 Na uwagę zasługuje również fakt, że zaproponowana architektura typu zrównoleglona krążąca jedynka świetnie wpasowuje się w dostępne na rynku, popularne układy FPGA, które zawierają przerzutniki typu D z wejściem Enable i bloki kombinacyjne typu LUT. W przypadku długich segmentów zawierających szereg zmiennych wystąpi konieczność ich dekompozycji ze względu na niewielką liczbę wejść bloków LUT. Warto jednak zauważyć, że postać segmentów charakterystyczna dla opisu LD, odpowiada wyrażeniom logicznym łatwo dekomponowalnym [12, 13]. PRZEGLĄD ELEKTROTECHNICZNY, ISSN , R. 88 NR 12a/
6 Wyniki eksperymentów Czasy realizacji programu z rysunku 3 przez jednostki centralne: S7-224, S7-315 oraz S7-319 [14,15] sterowników PLC firmy Siemens, zostały przedstawione w tabeli 1. Zawarte w tabeli wyniki są jedynie czasami wykonania programu i nie uwzględniają czasu wykonania przez sterownik operacji systemowych. W kolumnach z nagłówkiem KJ oraz ZKJ zawarto odpowiednio czasy sprzętowo-równoległej realizacji przykładowego programu odpowiednio w architekturze typu krążąca jedynka oraz zrównoleglona krążąca jedynka. Wartości wyznaczono dla częstotliwości sygnału zegarowego równej 200MHz. Maksymalna częstotliwości pracy układu, wyznaczona przez narzędzie syntezy, wyniosła 480MHz. Tabela 1. Zestawienie czasów realizacji programu z rysunku 3 S7-224 S7-315 S7-319 KJ ZKJ 23,08 μs 2,91 μs 0,29 μs 0,035 μs 0,02 μs Z wyników zaprezentowanych w tabeli 1 wynika, że czas sprzętowej realizacji programu jest o 2-3 rzędy wielkości krótszy w porównaniu do jego realizacji w klasycznym sterowniku. W przypadku bardzo szybkiej jednostki centralnej S7-319, sprzętowa realizacja programu jest tylko dziesięciokrotnie szybsza. Obie zaprezentowane architektury zaimplementowano w układzie FPGA XC5VLX50T rodziny Virtex-5 firmy Xilinx [16]. Opis sprzętowej jednostki centralnej został przygotowany w języku VHDL, zaś do syntezy zostało wykorzystane firmowe środowisko ISE 12.3 [17]. Wykorzystanie zasobów układu FPGA przerzutników (FFs) oraz bloków LUT, zestawiono w tabeli 2. Tabela 2. Wykorzystanie zasobów układu programowalnego FPGA architektura LUTs FFs KJ 7 14 ZKJ 7 11 W obu przypadkach stwierdzono takie samo wykorzystanie bloków tablicowych LUT, użytych do realizacji części kombinacyjnej segmentów. W przypadku architektury typu zrównoleglona krążąca jedynka, w porównaniu do architektury typu krążąca jedynka spadła liczba wykorzystanych przerzutników, co wynika z użycia "mniejszego" 4-bitowego rejestru sterujący pracą układu. W przypadku sprzętowej realizacji bardziej rozbudowanych programów, należy spodziewać się większych różnic w wykorzystaniu zasobów układu FPGA przez obie architektury, wynikającej chociażby z możliwości współdzielenia bloków (zasobów). Podsumowanie Zaprezentowane w artykule rozwiązanie stanowi podstawy teoretyczne metody automatycznej konwersji programu sterowania opisanego w postaci LD do opisu układu realizowanego w postaci języka opisu sprzętu (VHDL, Verilog). Opis programu sterowania w językach opisu sprzętu, uwzględniający sekwencyjność i równoległość zdarzeń, niewątpliwie możliwy na podstawie struktury grafu kolejności segmentów, umożliwia efektywną pod względem czasu, sprzętową realizację układów sterowania w dowolnych strukturach FPGA. Przedstawiona metoda umożliwia wyszukiwanie sekwencyjności i równoległości segmentów, tzn. kolejkowanie operacji przy zadanych ograniczeniach czasowych i/lub ograniczeniach zasobów (np. przez przypisanie wag do wierzchołków [10]). Tego typu rozwinięcia mogą stanowić istotny element umożliwiający wykorzystanie proponowanej metodologii w zagadnieniach wykorzystujących dynamiczną, częściową rekonfigurację układów FPGA [4]. Zasoby sprzętowe produkowanych obecnie układów programowalnych stwarzają możliwość poszukiwania dostosowanego do potrzeb kolejkowania nie tylko zadań bitowych. Przykładowo można myśleć o kolejkowaniu z ograniczeniami w przypadku bardzo złożonych operacji arytmetycznych. Między innymi możliwe jest zwielokrotnienie złożonych bloków arytmetycznych w celu skrócenia czasu wykonywania operacji. Obecnie prowadzone są prace, których celem jest zastosowanie zaproponowanej metody do syntezy architektury sprzętowego sterownika wykorzystującego możliwość częściowej dynamicznej rekonfiguracji sterownika realizowanego w strukturach FPGA firmy Xilinx. Praca finansowana ze środków Ministerstwa Nauki i Szkolnictwa Wyższego (5391/B/T02/2010/38). LITERATURA [1] Bryan L. A., Bryan E. A., Programmable Controllers. Theory and Implementation, An Industrial Text Company Publication, Atlanta, USA (1997) [2] Chmiel M., Mocha J., Hrynkiewicz E., A FPGA-based bit-word PLC CPUs development platform, Proceedings of the 10th International IFAC Workshop on Programmable Devices and Embedded Systems, Pszczyna (2010), [3] Kasprzyk J., Programowanie sterowników przemysłowych, WNT, Warszawa, (2006) [4] Kania D., Wielokontekstowy sterownik programowalny przyszłości wykorzystujący układy programowalne psoc, Pomiary Automatyka Robotyka, (2006), nr 1, [5] Milik A., High Level Synthesis Reconfigurable Hardware Implementation of Programmable Logic Controller, Proceedings of IFAC Workshop on Programmable Devices and Embedded Systems, Brno (2006), [6] Ichikawa S., Akinaka M., Ikeda R., Yamamoto H., Converting PLC Instruction Sequence into Logic Circuit: A Preliminary study, IEEE International Symposium on Industrial Electronics, Montreal, Canada, vol. 4 (2006), [7] Du D., Liu Y., Guo X., Yamazaki K., Fujishima M., Study on LD- VHDL conversion for FPGA-based PLC implementation, The International Journal of Advanced Manufacturing Technology, (2009), no. 40, [8] Falcione A., Krogh B. H., Design Recovery for Relay Ladder Logic, First IEEE Conference on Control Application, Dayton, USA, vol. 2 (1992), [9] Bobda C., Introduction to Reconfigurable Computing. Springer, Dordrecht (2007) [10] de Micheli G., Synteza i optymalizacja układów cyfrowych, WNT, Warszawa (1998) [11] Mocha J., Kania D., Metoda sprzętowej realizacji program LD z wykorzystaniem układów FPGA, Pomiary Automatyka Kontrola (2012), nr 01, [12] Kania D., Decomposition-based synthesis and its application in PAL-oriented technology mapping, Proc. of 26-th Euromicro Conf., IEEE Comp. Society Press, Maastricht (2000), [13] Kania D., An Efficient Approach to Synthesis of Multi-Output Boolean Functions on PAL-based Devices, IEEE Proceedings - Computer and Digital Techniques, vol. 150 (2003), no. 3, [14] SIEMENS, S7-200 Programmable Controller System Manual, edition: 08/2008 [15] SIEMENS, S7-300 Instruction List, edition: 05/2010 [16] XILINX, Virtex-5 FPGA User Guide, UG 190 (v5.4), March 12 (2012) [17] XILINX, ISE 12.3 User Guide, documentation/dt_ise12-3_userguides.htm, dostęp: Autorzy: mgr inż. Jan Mocha, Politechnika Śląska, Instytut Elektroniki, ul. Akademicka 16, Gliwice, jmocha@polsl.pl; dr hab. inż. Dariusz Kania, prof. w Pol. Śl., Politechnika Śląska, Instytut Elektroniki, ul. Akademicka 16, Gliwice, dkania@polsl.pl. 100 PRZEGLĄD ELEKTROTECHNICZNY, ISSN , R. 88 NR 12a/2012
Opracował: Jan Front
Opracował: Jan Front Sterownik PLC PLC (Programowalny Sterownik Logiczny) (ang. Programmable Logic Controller) mikroprocesorowe urządzenie sterujące układami automatyki. PLC wykonuje w sposób cykliczny
Bardziej szczegółowoDwutaktowa realizacja sterowania bitowego
Michał KOBYLECKI, Dariusz KANIA Politechnika Śląska, Instytut Elektroniki (), Politechnika Śląska, Instytut Elektroniki () Dwutaktowa realizacja sterowania bitowego Streszczenie. W artykule przedstawiono
Bardziej szczegółowoSterowniki Programowalne (SP)
Sterowniki Programowalne (SP) Wybrane aspekty procesu tworzenia oprogramowania dla sterownika PLC Podstawy języka funkcjonalnych schematów blokowych (FBD) Politechnika Gdańska Wydział Elektrotechniki i
Bardziej szczegółowoJĘZYKI PROGRAMOWANIA STEROWNIKÓW
JĘZYKI PROGRAMOWANIA STEROWNIKÓW dr inż. Wiesław Madej Wstęp Języki programowania sterowników 15 h wykład 15 h dwiczenia Konsultacje: - pokój 325A - środa 11 14 - piątek 11-14 Literatura Tadeusz Legierski,
Bardziej szczegółowoSterowniki Programowalne (SP) Wykład 11
Sterowniki Programowalne (SP) Wykład 11 Podstawy metody sekwencyjnych schematów funkcjonalnych (SFC) SP 2016 WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA Kierunek: Automatyka
Bardziej szczegółowoSterowniki PLC. Elektrotechnika II stopień Ogólno akademicki. przedmiot kierunkowy. Obieralny. Polski. semestr 1
Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu E-E2T-09-s2 Nazwa modułu Sterowniki PLC Nazwa modułu w języku angielskim Programmable Logic
Bardziej szczegółowoE-E-A-1008-s6. Sterowniki PLC. Elektrotechnika I stopień Ogólno akademicki. kierunkowy (podstawowy / kierunkowy / inny HES)
Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu E-E-A-1008-s6 Nazwa modułu Sterowniki PLC Nazwa modułu w języku angielskim Programmable
Bardziej szczegółowoKatedra Systemów Cyfrowego Przetwarzania Sygnałów
Katedra Systemów Cyfrowego Przetwarzania Sygnałów Proponowana specjalnośd I stopnia (inżynierska) dr inż. Wiesław Madej Pok 325A Informatyka Specjalnośd: Programowanie Systemów Automatyki Programowanie
Bardziej szczegółowoProgramowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści
Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, 2017 Spis treści Przedmowa 11 ROZDZIAŁ 1 Wstęp 13 1.1. Rys historyczny 14 1.2. Norma IEC 61131 19 1.2.1. Cele i
Bardziej szczegółowoSterowniki programowalne Programmable Controllers. Energetyka I stopień Ogólnoakademicki. przedmiot kierunkowy
Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Sterowniki programowalne Programmable Controllers
Bardziej szczegółowoElektrotechnika I stopień Ogólno akademicki. kierunkowy (podstawowy / kierunkowy / inny HES)
Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Obowiązuje od roku akademickiego 2012/2013
Bardziej szczegółowoE-4EZA1-10-s7. Sterowniki PLC
Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu E-4EZA1-10-s7 Nazwa modułu Sterowniki PLC Nazwa modułu w języku angielskim Programmable
Bardziej szczegółowoŚRODOWISKO PC WORX JAKO WSPARCIE W NAUCE PROGRAMOWANIA STEROWNIKÓW PLC
Mgr inż. Szymon BORYS Wojskowa Akademia Techniczna DOI: 10.17814/mechanik.2015.7.213 ŚRODOWISKO PC WORX JAKO WSPARCIE W NAUCE PROGRAMOWANIA STEROWNIKÓW PLC Streszczenie: W artykule przedstawiono możliwość
Bardziej szczegółowoLiteratura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.
Literatura 1. D. Gajski, Principles of Digital Design, Prentice- Hall, 1997 2. C. Zieliński, Podstawy projektowania układów cyfrowych, PWN, Warszawa 2003 3. G. de Micheli, Synteza i optymalizacja układów
Bardziej szczegółowoPROGRAMOWALNE STEROWNIKI LOGICZNE
PROGRAMOWALNE STEROWNIKI LOGICZNE I. Wprowadzenie Klasyczna synteza kombinacyjnych i sekwencyjnych układów sterowania stosowana do automatyzacji dyskretnych procesów produkcyjnych polega na zaprojektowaniu
Bardziej szczegółowoOchrona własności intelektualnej projektów w układach FPGA poprzez szyfrowanie danych konfiguracyjnych
Ochrona własności intelektualnej projektów w układach FPGA poprzez szyfrowanie danych konfiguracyjnych (Na przykładzie projektowania układów sterujacych) Grzegorz Łabiak i Marek Węgrzyn Instytut Informatyki
Bardziej szczegółowoRealizacja bezpiecznego programowalnego sterownika logicznego z wykorzystaniem języków HDL
Realizacja bezpiecznego programowalnego sterownika logicznego z wykorzystaniem języków HDL Arkadiusz Bukowiec 1 Radosław Gąsiorek 2 Agnieszka Węgrzyn 3 Prezentowany referat przedstawia ogólną koncepcję
Bardziej szczegółowoSynteza logiczna układu realizującego zespół funkcji przełączających z użyciem bramek XOR w strukturach CPLD
BIULETYN WAT VOL. LVIII, NR 3, 29 Synteza logiczna układu realizującego zespół funkcji przełączających z użyciem bramek XOR w strukturach CPLD DARIUSZ KANIA 1, WALDEMAR GRABIEC 1 Politechnika Śląska, Wydział
Bardziej szczegółowoUKŁADY MIKROPROGRAMOWALNE
UKŁAD MIKROPROGRAMOWALNE Układy sterujące mogą pracować samodzielnie, jednakże w przypadku bardziej złożonych układów (zwanych zespołami funkcjonalnymi) układ sterujący jest tylko jednym z układów drugim
Bardziej szczegółowoPOLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych. Instytut Telekomunikacji Zakład Podstaw Telekomunikacji
POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji Kamil Krawczyk Metody optymalizacji soft-procesorów NIOS Opiekun naukowy: dr
Bardziej szczegółowoJęzyk opisu sprzętu VHDL
Język opisu sprzętu VHDL dr inż. Adam Klimowicz Seminarium dydaktyczne Katedra Mediów Cyfrowych i Grafiki Komputerowej Informacje ogólne Język opisu sprzętu VHDL Przedmiot obieralny dla studentów studiów
Bardziej szczegółowoPROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ W RAMACH EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO OPIS PRZEDMIOTU. Sieci i sterowniki przemysłowe
OPIS PRZEDMIOTU Nazwa przedmiotu Kod przedmiotu Sieci i sterowniki przemysłowe Wydział Instytut/Katedra Kierunek Specjalizacja/specjalność Wydział Matematyki, Fizyki i Techniki Instytut Mechaniki i Informatyki
Bardziej szczegółowoMetody optymalizacji soft-procesorów NIOS
POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji Kamil Krawczyk Metody optymalizacji soft-procesorów NIOS Warszawa, 27.01.2011
Bardziej szczegółowoSYNTEZA AUTOMATÓW SKOŃCZONYCH Z WYKORZYSTANIEM METOD KODOWANIA WIELOKROTNEGO
II Konferencja Naukowa KNWS'05 "Informatyka- sztuka czy rzemios o" 15-18 czerwca 2005, Z otniki Luba skie SNTEZA AUTOMATÓW SKOŃCZONCH Z WKORZSTANIEM METOD KODOWANIA WIELOKROTNEGO Arkadiusz Bukowiec Instytut
Bardziej szczegółowoProjektowanie. Projektowanie mikroprocesorów
WYKŁAD Projektowanie mikroprocesorów Projektowanie układ adów w cyfrowych - podsumowanie Algebra Boole a Bramki logiczne i przerzutniki Automat skończony System binarny i reprezentacja danych Synteza logiczna
Bardziej szczegółowoWielokontekstowy sterownik programowalny przyszłości wykorzystujący układy programowalne psoc
Wielokontekstowy sterownik programowalny przyszłości wykorzystujący układy programowalne psoc Dariusz Kania* Celem artykułu jest przedstawienie koncepcji działania wielokontekstowego sterownika przemysłowego
Bardziej szczegółowoAby w pełni przetestować układ o trzech wejściach IN_0, IN_1 i IN_2 chcemy wygenerować wszystkie możliwe kombinacje sygnałów wejściowych.
Generowanie sygnałów testowych VHDL Wariant współbieżny (bez procesu): sygnał
Bardziej szczegółowoPodstawy Automatyki. Wykład 13 - Wprowadzenie do układów sekwencyjnych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki
Wykład 13 - Wprowadzenie do układów sekwencyjnych. Instytut Automatyki i Robotyki Warszawa, 2016 Pojęcia podstawowe Posłużmy się ponownie przykładem układu sterującego pracą siłowników, wymuszającego realizację
Bardziej szczegółowoElektronika i techniki mikroprocesorowe
Elektronika i techniki mikroprocesorowe Technika cyfrowa ZłoŜone one układy cyfrowe Katedra Energoelektroniki, Napędu Elektrycznego i Robotyki Wydział Elektryczny, ul. Krzywoustego 2 PLAN WYKŁADU idea
Bardziej szczegółowoSterowniki Programowalne (SP)
Sterowniki Programowalne (SP) O normie IEC 61131 Politechnika Gdańska Wydział Elektrotechniki i Automatyki Kierunek: Automatyka i Robotyka Studia stacjonarne I stopnia: rok III, semestr V dr inż. Tomasz
Bardziej szczegółowoSystemy na Chipie. Robert Czerwiński
Systemy na Chipie Robert Czerwiński Cel kursu Celem kursu jest zapoznanie słuchaczy ze współczesnymi metodami projektowania cyfrowych układów specjalizowanych, ze szczególnym uwzględnieniem układów logiki
Bardziej szczegółowoElementy cyfrowe i układy logiczne
Elementy cyfrowe i układy logiczne Wykład 5 Legenda Procedura projektowania Podział układów VLSI 2 1 Procedura projektowania Specyfikacja Napisz, jeśli jeszcze nie istnieje, specyfikację układu. Opracowanie
Bardziej szczegółowo1 Wprowadzenie do algorytmiki
Teoretyczne podstawy informatyki - ćwiczenia: Prowadzący: dr inż. Dariusz W Brzeziński 1 Wprowadzenie do algorytmiki 1.1 Algorytm 1. Skończony, uporządkowany ciąg precyzyjnie i zrozumiale opisanych czynności
Bardziej szczegółowoMOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW
MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW Projektowanie urządzeń cyfrowych przy użyciu układów TTL polegało na opracowaniu algorytmu i odpowiednim doborze i zestawieniu układów realizujących różnorodne funkcje
Bardziej szczegółowoTechnika mikroprocesorowa
Technika mikroprocesorowa zajmuje się przetwarzaniem danych w oparciu o cyfrowe programowalne układy scalone. Systemy przetwarzające dane w oparciu o takie układy nazywane są systemami mikroprocesorowymi
Bardziej szczegółowoSFC zawiera zestaw kroków i tranzycji (przejść), które sprzęgają się wzajemnie przez połączenia
Norma IEC-61131-3 definiuje typy języków: graficzne: schematów drabinkowych LD, schematów blokowych FBD, tekstowe: lista instrukcji IL, tekst strukturalny ST, grafów: graf funkcji sekwencyjnych SFC, graf
Bardziej szczegółowoJęzyk programowania: Lista instrukcji (IL Instruction List)
Język programowania: Lista instrukcji (IL Instruction List) Wykład w ramach przedmiotu: Sterowniki programowalne Opracował dr inż. Jarosław Tarnawski 08.12.2009 Norma IEC 1131 Języki tekstowe Języki graficzne
Bardziej szczegółowoRegulator PID w sterownikach programowalnych GE Fanuc
Regulator PID w sterownikach programowalnych GE Fanuc Wykład w ramach przedmiotu: Sterowniki programowalne Opracował na podstawie dokumentacji GE Fanuc dr inż. Jarosław Tarnawski Cel wykładu Przypomnienie
Bardziej szczegółowo1.Wprowadzenie do projektowania układów sekwencyjnych synchronicznych
.Wprowadzenie do projektowania układów sekwencyjnych synchronicznych.. Przerzutniki synchroniczne Istota działania przerzutników synchronicznych polega na tym, że zmiana stanu wewnętrznego powinna nastąpić
Bardziej szczegółowoLICZNIKI PODZIAŁ I PARAMETRY
LICZNIKI PODZIAŁ I PARAMETRY Licznik jest układem służącym do zliczania impulsów zerojedynkowych oraz zapamiętywania ich liczby. Zależnie od liczby n przerzutników wchodzących w skład licznika pojemność
Bardziej szczegółowoKatedra Mikroelektroniki i Technik Informatycznych
Katedra Mikroelektroniki i Technik Informatycznych Bloki obieralne na kierunku Mechatronika rok akademicki 2013/2014 ul. Wólczańska 221/223, budynek B18 www.dmcs.p.lodz.pl Nowa siedziba Katedry 2005 2006
Bardziej szczegółowoMIKROPROCESOROWY STEROWNIK ZE SWOBODNĄ KONFIGURACJĄ WEJŚĆ I WYJŚĆ
Prace Naukowe Instytutu Maszyn, Napędów i Pomiarów Elektrycznych Nr 60 Politechniki Wrocławskiej Nr 60 Studia i Materiały Nr 27 2007 Krzysztof P. DYRCZ * Sterowniki swobodnie programowalne, PLC, sterowniki
Bardziej szczegółowoMETODY ZINTEGROWANEGO PROJEKTOWANIA SPRZĘTU I OPROGRAMOWANIA Z WYKORZYSTANIEM NOWOCZESNYCH UKŁADÓW PROGRAMOWALNYCH
METODY ZINTEGROWANEGO PROJEKTOWANIA SPRZĘTU I OPROGRAMOWANIA Z WYKORZYSTANIEM NOWOCZESNYCH UKŁADÓW PROGRAMOWALNYCH Arkadiusz Bukowiec mgr inż. Agnieszka Węgrzyn Instytut Informatyki i Elektroniki, Uniwersytet
Bardziej szczegółowoPolitechnika Gdańska. Gdańsk, 2016
Politechnika Gdańska Wydział Elektroniki, Telekomunikacji i Informatyki Katedra Systemów Geoinformatycznych Aplikacje Systemów Wbudowanych Programowalne Sterowniki Logiczne (PLC) Krzysztof Bikonis Gdańsk,
Bardziej szczegółowoZASTOSOWANIA UKŁADÓW FPGA W ALGORYTMACH WYLICZENIOWYCH APPLICATIONS OF FPGAS IN ENUMERATION ALGORITHMS
inż. Michał HALEŃSKI Wojskowy Instytut Techniczny Uzbrojenia ZASTOSOWANIA UKŁADÓW FPGA W ALGORYTMACH WYLICZENIOWYCH Streszczenie: W artykule przedstawiono budowę oraz zasadę działania układów FPGA oraz
Bardziej szczegółowoSynteza logiczna dla struktur CPLD typu PAL wykorzystująca elementy XOR
BIULETYN WAT VOL. LVI, NR 3, 2007 Synteza logiczna dla struktur CPLD typu PAL wykorzystująca elementy XOR DARIUSZ KANIA*, WALDEMAR GRABIEC *Politechnika Śląska, Wydział Automatyki, Elektroniki i Informatyki,
Bardziej szczegółowoBudowa i zasada działania komputera. dr Artur Bartoszewski
Budowa i zasada działania komputera 1 dr Artur Bartoszewski Jednostka arytmetyczno-logiczna 2 Pojęcie systemu mikroprocesorowego Układ cyfrowy: Układy cyfrowe służą do przetwarzania informacji. Do układu
Bardziej szczegółowoLista zadań nr 5. Ścieżka projektowa Realizacja każdego z zadań odbywać się będzie zgodnie z poniższą ścieżką projektową (rys.
Sterowanie procesami dyskretnymi laboratorium dr inż. Grzegorz Bazydło G.Bazydlo@iee.uz.zgora.pl, staff.uz.zgora.pl/gbazydlo Lista zadań nr 5 Zagadnienia stosowanie skończonych automatów stanów (ang. Finite
Bardziej szczegółowoPodstawy Informatyki Systemy sterowane przepływem argumentów
Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Komputer i jego architektura Taksonomia Flynna 2 Komputer i jego architektura Taksonomia Flynna Komputer Komputer
Bardziej szczegółowoAlgorytm. Krótka historia algorytmów
Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne
Bardziej szczegółowoPodstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...
Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...4 Podział układów logicznych...6 Cyfrowe układy funkcjonalne...8 Rejestry...8
Bardziej szczegółowoProgramowanie współbieżne Wykład 2. Iwona Kochańska
Programowanie współbieżne Wykład 2 Iwona Kochańska Miary skalowalności algorytmu równoległego Przyspieszenie Stały rozmiar danych N T(1) - czas obliczeń dla najlepszego algorytmu sekwencyjnego T(p) - czas
Bardziej szczegółowoDefinicja układu kombinacyjnego była stosunkowo prosta -tabela prawdy. Opis układu sekwencyjnego jest zadaniem bardziej złożonym.
3.4. GRF UTOMTU, TBELE PRZEJŚĆ / WYJŚĆ Definicja układu kombinacyjnego była stosunkowo prosta -tabela prawdy. Opis układu sekwencyjnego jest zadaniem bardziej złożonym. Proste przypadki: Opis słowny, np.:
Bardziej szczegółowoMODELOWANIE I PROGRAMOWANIE PRACY
Tadeusz MIKULCZYSKI 1, Daniel NOWAK 2, Rafał WICŁAWEK 3 Instytut Technologii Maszyn i Automatyzacji Politechniki Wrocławskiej, Wrocław 1. Streszczenie. Zaprezentowano metod Grafpol modelowania dyskretnych
Bardziej szczegółowoPodstawowe elementy układów cyfrowych układy sekwencyjne Rafał Walkowiak Wersja
Podstawowe elementy układów cyfrowych układy sekwencyjne Rafał Walkowiak Wersja 0.1 29.10.2013 Przypomnienie - podział układów cyfrowych Układy kombinacyjne pozbawione właściwości pamiętania stanów, realizujące
Bardziej szczegółowoTechnologie informacyjne - wykład 12 -
Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski
Bardziej szczegółowoPolitechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL Instrukcja pomocnicza do laboratorium z przedmiotu Synteza układów
Bardziej szczegółowoPROJEKTOWANIE UKŁADÓW MIKROPROGRAMOWANYCH Z WYKORZYSTANIEM WBUDOWANYCH BLOKÓW PAMIĘCI W MATRYCACH PROGRAMOWALNYCH
II Konferencja Naukowa KNWS'05 "Informatyka- sztuka czy rzemios o" 5-8 czerwca 005, Z otniki Luba skie PROJEKTOWANIE UKŁADÓW MIKROPROGRAMOWANYCH Z WYKORZYSTANIEM WBUDOWANYCH BLOKÓW PAMIĘCI W MATRYCACH
Bardziej szczegółowoSprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów
Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów przeznaczonych do wykonania w komputerze (ang. software).
Bardziej szczegółowoLaboratorium. Szyfrowanie algorytmami Vernam a oraz Vigenere a z wykorzystaniem systemu zaimplementowanego w układzie
Laboratorium Szyfrowanie algorytmami Vernam a oraz Vigenere a z wykorzystaniem systemu zaimplementowanego w układzie programowalnym FPGA. 1. Zasada działania algorytmów Algorytm Vernam a wykorzystuje funkcję
Bardziej szczegółowoTechnika mikroprocesorowa. Linia rozwojowa procesorów firmy Intel w latach
mikrokontrolery mikroprocesory Technika mikroprocesorowa Linia rozwojowa procesorów firmy Intel w latach 1970-2000 W krótkim pionierskim okresie firma Intel produkowała tylko mikroprocesory. W okresie
Bardziej szczegółowoMIĘDZYNARODOWA NORMA IEC 61131
Rozdział II MIĘDZYNARODOWA NORMA IEC 61131 2.1. Geneza powstania normy Przez lata rozwoju sterowników programowalnych producenci wprowadzali różne metody programowania sterowników PLC (Programmable Logic
Bardziej szczegółowoLaboratorium przedmiotu Technika Cyfrowa
Laboratorium przedmiotu Technika Cyfrowa ćw.3 i 4: Asynchroniczne i synchroniczne automaty sekwencyjne 1. Implementacja asynchronicznych i synchronicznych maszyn stanu w języku VERILOG: Maszyny stanu w
Bardziej szczegółowoProgramowalne Układy Logiczne. Wykład I dr inż. Paweł Russek
Programowalne Układy Logiczne Wykład I dr inż. Paweł Russek Literatura www.actel.com www.altera.com www.xilinx.com www.latticesemi.com Field Programmable Gate Arrays J.V. Oldfield, R.C. Dorf Field Programable
Bardziej szczegółowoPolitechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 7 (2h) Obsługa urządzenia peryferyjnego z użyciem pamięci w VHDL. Instrukcja do zajęć laboratoryjnych z przedmiotu
Bardziej szczegółowoSystemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych
Systemy wbudowane Wykład 11: Metody kosyntezy systemów wbudowanych Uproszczone metody kosyntezy Założenia: Jeden procesor o znanych parametrach Znane parametry akceleratora sprzętowego Vulcan Początkowo
Bardziej szczegółowoKonfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy
Ćwiczenie V LABORATORIUM MECHATRONIKI IEPiM Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy Zał.1 - Działanie i charakterystyka sterownika PLC
Bardziej szczegółowoZastosowanie sterownika PLC w modelowaniu i symulacji prostych układów automatyki
CHRZAN Marcin 1 WINIARSKI Mariusz 2 MAKOWSKI Marcin 3 NOWOCIEŃ Artur 4 Zastosowanie sterownika PLC w modelowaniu i symulacji prostych układów automatyki WSTĘP W artykule przedstawiono możliwości zastosowania
Bardziej szczegółowoBezpieczeństwo informacji oparte o kryptografię kwantową
WYŻSZA SZKOŁA BIZNESU W DĄBROWIE GÓRNICZEJ WYDZIAŁ ZARZĄDZANIA INFORMATYKI I NAUK SPOŁECZNYCH Instrukcja do laboratorium z przedmiotu: Bezpieczeństwo informacji oparte o kryptografię kwantową Instrukcja
Bardziej szczegółowoPolitechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 3 (4h) Konwersja i wyświetlania informacji binarnej w VHDL Instrukcja do zajęć laboratoryjnych z przedmiotu Synteza
Bardziej szczegółowoWykorzystanie układów FPGA w implementacji systemów bezpieczeństwa sieciowego typu Firewall
Grzegorz Sułkowski, Maciej Twardy, Kazimierz Wiatr Wykorzystanie układów FPGA w implementacji systemów bezpieczeństwa sieciowego typu Firewall Plan prezentacji 1. Architektura Firewall a załoŝenia 2. Punktu
Bardziej szczegółowokoniec punkt zatrzymania przepływów sterowania na diagramie czynności
Diagramy czynności opisują dynamikę systemu, graficzne przedstawienie uszeregowania działań obrazuje strumień wykonywanych czynności z ich pomocą modeluje się: - scenariusze przypadków użycia, - procesy
Bardziej szczegółowoOPTYMALIZACJA MODELI SYMULACYJNYCH ZAMODELOWANYCH W JĘZYKU VERILOG HDL Z WYKORZYSTANIEM INTERFEJSU PLI
OPTYMALIZACJA MODELI SYMULACYJNYCH ZAMODELOWANYCH W JĘZYKU VERILOG HDL Z WYKORZYSTANIEM INTERFEJSU PLI Arkadiusz Bukowiec Roman Drożdżyński mgr inż. Agnieszka Węgrzyn Instytut Informatyki i Elektroniki,
Bardziej szczegółowoArchitektura komputerów. Układy wejścia-wyjścia komputera
Architektura komputerów Układy wejścia-wyjścia komputera Wspópraca komputera z urządzeniami zewnętrznymi Integracja urządzeń w systemach: sprzętowa - interfejs programowa - protokół sterujący Interfejs
Bardziej szczegółowoSpis treści 1. Wstęp 2. Ćwiczenia laboratoryjne LPM
Spis treści 1. Wstęp... 9 2. Ćwiczenia laboratoryjne... 12 2.1. Środowisko projektowania Quartus II dla układów FPGA Altera... 12 2.1.1. Cel ćwiczenia... 12 2.1.2. Wprowadzenie... 12 2.1.3. Przebieg ćwiczenia...
Bardziej szczegółowoTranzystor JFET i MOSFET zas. działania
Tranzystor JFET i MOSFET zas. działania brak kanału v GS =v t (cutoff ) kanał otwarty brak kanału kanał otwarty kanał zamknięty w.2, p. kanał zamknięty Co było na ostatnim wykładzie? Układy cyfrowe Najczęściej
Bardziej szczegółowoMODELOWANIE I SYMULACJA Kościelisko, 19-23 czerwca 2006r. Oddział Warszawski PTETiS Wydział Elektryczny Politechniki Warszawskiej Polska Sekcja IEEE
ODELOWANIE I SYULACJA Kościelisko, 9-3 czerwca 006r. Oddział Warszawski PTETiS Wydział Elektryczny Politechniki Warszawskiej Polska Sekcja IEEE SYSTE DO KOPUTEROWEGO ODELOWANIA I SYULACJI UKŁADÓW DYNAICZNYCH
Bardziej szczegółowoĆw. 7: Układy sekwencyjne
Ćw. 7: Układy sekwencyjne Wstęp Celem ćwiczenia jest zapoznanie się z sekwencyjnymi, cyfrowymi blokami funkcjonalnymi. W ćwiczeniu w oparciu o poznane przerzutniki zbudowane zostaną następujące układy
Bardziej szczegółowoAUTOMATYZACJA PROCESÓW CIĄGŁYCH I WSADOWYCH
AUTOMATYZACJA PROCESÓW CIĄGŁYCH I WSADOWYCH kierunek Automatyka i Robotyka Studia II stopnia specjalności Automatyka Dr inż. Zbigniew Ogonowski Instytut Automatyki, Politechnika Śląska Plan wykładu pojęcia
Bardziej szczegółowoProgramowanie Układów Logicznych kod kursu: ETD6203 W dr inż. Daniel Kopiec. Pamięć w układach programowalnych
Programowanie Układów Logicznych kod kursu: ETD623 Pamięć w układach programowalnych W6 6.4.26 dr inż. Daniel Kopiec Plan wykładu Pamięć w układach programowalnych Zasada działania, podział pamięci Miara
Bardziej szczegółowo2014-05-05. Automatyka i Regulacja Automatyczna PRz 2013. Wprowadzenie. Wprowadzenie. Historia automatyki. dr inż. Tomasz Żabiński
Automatyka i Regulacja Automatyczna PRz 2013 Wprowadzenie dr inż. Tomasz Żabiński Lokalizacja: D102C Kontakt: tomz@przrzeszow.pl Sterowanie to celowe oddziaływanie (wpływanie) na przebieg procesów. [Kaczorek
Bardziej szczegółowoAlgorytmy sztucznej inteligencji
Algorytmy sztucznej inteligencji Dynamiczne sieci neuronowe 1 Zapis macierzowy sieci neuronowych Poniżej omówione zostaną części składowe sieci neuronowych i metoda ich zapisu za pomocą macierzy. Obliczenia
Bardziej szczegółowoArchitektura komputerów Wykład 2
Architektura komputerów Wykład 2 Jan Kazimirski 1 Elementy techniki cyfrowej 2 Plan wykładu Algebra Boole'a Podstawowe układy cyfrowe bramki Układy kombinacyjne Układy sekwencyjne 3 Algebra Boole'a Stosowana
Bardziej szczegółowoProjekt zespołowy. Część1: Projekt potokowej jednostki przetwarzającej przeznaczonej do realizacji algorytmu FFT. Rok akademicki 2008/2009
Projekt zespołowy Rok akademicki 2008/2009 Część1: Projekt potokowej jednostki przetwarzającej przeznaczonej do realizacji algorytmu FFT Kierunek studiów: Semestr: Grupa: Informatyka VII PKiSI 2 Wykonawca:
Bardziej szczegółowoEfekt kształcenia. Ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w zakresie algorytmów i ich złożoności obliczeniowej.
Efekty dla studiów pierwszego stopnia profil ogólnoakademicki na kierunku Informatyka w języku polskim i w języku angielskim (Computer Science) na Wydziale Matematyki i Nauk Informacyjnych, gdzie: * Odniesienie-
Bardziej szczegółowoWydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TS1C300 020
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TEHNIKA YFOWA 2 T1300 020 Ćwiczenie Nr 6 EALIZAJA FUNKJI EJETOWYH W TUKTUAH
Bardziej szczegółowoLista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014
Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014 Temat 1. Algebra Boole a i bramki 1). Podać przykład dowolnego prawa lub tożsamości, które jest spełnione w algebrze Boole
Bardziej szczegółowoPROTOTYPOWANIE UKŁADÓW ELEKTRONICZNYCH Programowalne układy logiczne FPGA Maciej Rosół, Katedra Automatyki AGH, e-mail: mr@ia.agh.edu.
DATA: Ćwiczenie nr 4 PROTOTYPOWANIE UKŁADÓW ELEKTRONICZNYCH Programowalne układy logiczne FPGA Maciej Rosół, Katedra Automatyki AGH, e-mail: mr@ia.agh.edu.pl 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie
Bardziej szczegółowoUKŁADY KOMBINACYJNE WPROWADZENIE. przerzutniki, bramki ze sprzężeniami zwrotnymi. Układ przełączający Y t. Q t stan wewnętrzny
UKŁADY KOMBINACYJNE PRz 2013 Wprowadzenie. Zadanie przykładowe I. Metoda Karnaugha. Schemat sprzętowy. Program w C. Program w ST. Program w LD. Program ST w środowisku TwinCAT PLC Control. Program LD PLC
Bardziej szczegółowoSystemy Czasu Rzeczywistego (SCR)
Systemy Czasu Rzeczywistego (SCR) Wykład 7: Sterowniki PLC SIEMENS S7-1200 - podstawowe informacje SKiTI2017 WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA Kierunek: Automatyka
Bardziej szczegółowoIstnieje wiele metod przekształcania algorytmów wprogram sterujący.
Metody programowania sterowników swobodnie programowalnych Wykład 9.3 Metody programowania sterowników swobodnie programowalnych Istnieje wiele metod przekształcania algorytmów wprogram sterujący. W1993
Bardziej szczegółowoBezpieczeństwo informacji oparte o kryptografię kwantową
WYŻSZA SZKOŁA BIZNESU W DĄBROWIE GÓRNICZEJ WYDZIAŁ ZARZĄDZANIA INFORMATYKI I NAUK SPOŁECZNYCH Instrukcja do laboratorium z przedmiotu: Bezpieczeństwo informacji oparte o kryptografię kwantową Instrukcja
Bardziej szczegółowoPolitechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA Instrukcja pomocnicza do laboratorium z przedmiotu Programowalne Struktury
Bardziej szczegółowoTworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1
Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1 Metodologia programowania równoległego Przykłady podziałów zadania na podzadania: Podział ze względu na funkcje (functional
Bardziej szczegółowoLEKCJA TEMAT: Zasada działania komputera.
LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem
Bardziej szczegółowoFunkcje: wejściowe, wyjściowe i logiczne. Konfigurowanie zabezpieczeń.
Funkcje: wejściowe, wyjściowe i logiczne. Konfigurowanie zabezpieczeń. 1. ZASADA DZIAŁANIA...2 2. FUNKCJE WEJŚCIOWE...5 3. FUNKCJE WYJŚCIOWE...6 4. FUNKCJE LOGICZNE...9 Zabezpieczenie : ZSN 5U od: v. 1.0
Bardziej szczegółowoKATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 204
Opracował: prof. dr hab. inż. Jan Kazimierczak KATEDA INFOMATYKI TECHNICZNEJ Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie 204 Temat: Hardware'owa implementacja automatu skończonego pełniącego
Bardziej szczegółowoElementy automatyki i miernictwa przemysłowego. Wprowadzenie. Wprowadzenie. Historia automatyki. dr inż.
Elementy automatyki i miernictwa przemysłowego PRz 2015 Wprowadzenie dr inż. Tomasz Żabiński Lokalizacja: D102C Kontakt: tomz@przrzeszow.pl Sterowanie to celowe oddziaływanie (wpływanie) na przebieg procesów.
Bardziej szczegółowoImplementacja Gigabitowego Ethernetu na układach FPGA dla eksperymentów fizycznych
Implementacja Gigabitowego Ethernetu na układach FPGA dla eksperymentów fizycznych Grzegorz Korcyl Plan 1. Systemy akwizycji danych 2. Używana elektronika 3. Układy FPGA 4. Programowanie FPGA 5. Implementacja
Bardziej szczegółowoProgramowanie sterowników PLC wprowadzenie
Programowanie sterowników PLC wprowadzenie Zakład Teorii Maszyn i Automatyki Katedra Podstaw Techniki Felin p.110 http://ztmia.ar.lublin.pl/sips waldemar.samociuk@up.lublin,pl Sterowniki programowalne
Bardziej szczegółowo