Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Sterowniki programowalne Systemy SCADA Programowanie w systemach SCADA Języki programowania sterowników PLC Sebastian Plamowski.

Podobne prezentacje


Prezentacja na temat: "Sterowniki programowalne Systemy SCADA Programowanie w systemach SCADA Języki programowania sterowników PLC Sebastian Plamowski."— Zapis prezentacji:

1 Sterowniki programowalne Systemy SCADA Programowanie w systemach SCADA Języki programowania sterowników PLC Sebastian Plamowski

2 Informacje ogólne - prowadzący
dr inż. Sebastian Plamowski (wykład, laboratorium) mgr inż. Patryk Chaber (wykład, laboratorium) mgr inż. Andrzej Wojtulewicz (wykład) Kamil Czerwiński (laboratorium)

3 Plan na najbliższy miesiąc
15.03 – wykład wprowadzający/ języki dr inż. Sebastian Plamowski 22.03 – wolne 29.03 – wykład L1 mgr inż. Patryk Chaber 05.04 – wykład L2 mgr inż. Andrzej Wojtulewicz 12.04 – wykład L2 mgr inż. Patryk Chaber Laboratorium 05.04 – L1 19.04 – L2 10.05 –22.05 L3 24.05 – L4 (L3 i L4 jest w CS402 traktowane jako jedno lab)

4 Struktura Informatyczna przedsiębiorstwa
MRP Material Requirements Planning MRPII Manufacturing Resource Planning ERP Enterprise Resource Planning ERPII (eERP) Enterprise Resource Planning CIM Computer Integrated Manufacturing CAD Computer Aided Design CAM Computer Aided Manufacturing MES Manufacturing Execution System SCM Supply Chain Management DRP Distribution Resource Planning CIM Computer Integrated Manufacturing MES Warehouse Management systems

5 Miejsce systemów SCADA
SCADA (Supervisory Control And Data Acquisition) DCS (Distributed Control system)

6 Co to jest system SCADA

7 Funkcje systemów SCADA
komunikację z aparaturą sterującą i stacjami operatorskimi, przetwarzanie zmiennych procesowych, oddziaływanie na proces (sterowanie, regulacja), kontrolę procesu i sygnalizację alarmów, raportowanie i archiwizacje danych, wizualizację graficzną przebiegu procesu na schematach, wykresach, itp., konfigurowanie struktur algorytmicznych i obrazów synoptycznych, wymianę danych z innymi systemami poprzez sieci FAN, LAN, WAN itd. Inne: optymalizacja procesów, diagnostyka stanu urządzeń Symulacja (prognozowanie, testy dla operatorów)

8 Użytkownicy systemów DCS i SCADA
Operatorzy procesu (praca zmianowa 24h) Kierownicy zmiany Inżynierowie systemowi Administratorzy

9 Programowanie w systemach SCADA
Programowanie HMI na poziomie stacji operatorskich Programowanie skryptów/programów na poziomie stacji operatorskiej Programowanie komputerów przemysłowych/sterowników PLC

10 Programowanie w systemach SCADA
Programowanie na poziomie stacji operatorskich Programowanie grafik operator HMI (DCS i SCADA) Kolorystyka Standardy Nawigacja Typy stacyjek Potwierdzanie alarmów Usability – zasady projektów GUI i reklamy Wykorzystano:

11 Programowanie HMI - środowisko

12 Przykładowa grafika

13 Programowanie HMI – usability (Złota Proporcja)
Złota Pro­por­cja może być opisana w ten sposób, że sto­sunek miedzy ele­men­tami danego ksz­ tałtu jak np. wysokość i sze­rokość musi wynosić w przy­bliże­niu Jeśli Złota Pro­por­cja jest dobrze użyta w pro­jek­cie, bardzo pomaga w jego pozy­ty­wnym odbiorze.

14 Programowanie HMI – usability (Zasada podziału na trzy)
Zasada ta mówi, ze oglą­da­jący w więk­szości przy­pad­ków będzie oglą­dał te punkty na kom­pozy­cji, miejscu których przeci­nają się linie. Dodatkowo dobrze jest umieszczać bardziej wartoś­ciowe ele­menty pro­jektu równo z tymi liniami.

15 Programowanie HMI – usability (Prawo Hicka)
Prawo Hicka i niekorzystny paradoks wyboru. Czyli kiedy mniej produktów, oznacza więcej zysków. Prawo Hicka mówi o tym, że każdy wybór, który musi zostać wyko­nany, zwięk­ sza jego czas. Oznacza to, że czym więcej użytkownik musi dokonać wyborów tym trud­niejsze jest skorzys­tanie z „oferty” Im więcej wyborów musi dokonać odbiorca, tym mniej skuteczna będzie Twoja oferta. Tak naprawdę to prawo mówi o potrze­bie pros­toty. Klasy­czny case study prawa Hicka przed­stawia sklep z warzy­wami, który wys­tawił dar­mowy dżem do próbowa­nia przez klien­tów. W jed­nym przykładzie mają oni więcej niż 40 do spróbowa­nia i wyboru, a w drugim tylko kilka. Zaobserwowano, że klienci kupili więcej dżemów, jeśli prezen­towane były tylko cztery rodzaje zami­ast 40 i więcej. Więk­szość klien­tów decy­dowała się w ogóle na brak zakupu, jeśli miała do wyboru tak ogromną ilość.

16 Programowanie HMI – usability (Prawo Fittsa)
Prawo Fittsa można opisać w ten sposób: „Czas potrzebny do dojś­cia do celu jest funkcją wielkości celu i odległości do niego” Prawo to również dzi­ała w drugą stronę. Dokładniej mówiąc, pewne ele­menty interfejsu powinny być trud­niejsze do kliknię­cia. Przykła­dem jest przy­cisk lub odnośnik anu­lowa­nia akcji. Dlat­ego możemy często zauważyć w różnych aplikacjach duży przy­cisk zapisa­nia, a mały anu­lowa­nia.

17 Programowanie HMI – usability (Prawo bliskości)
Prawo bliskości jest często niedostrze­gane, nawet przez doświad­c­zonych pro­jek­ tan­tów. Prawo to stwierdza, że ele­menty, które są w jakiś sposób ze sobą pow­ iązane, przed­staw­iane są w jakiejś relacji i umieszczane blisko siebie. Brzmi to bardzo prosto i wydaje się być oczy­wiste, ale często bywa pomi­jane. Prawo to oznacza, że musisz być bardzo świadomy, jak wiele przestrzeni jest między ele­men­tami danego pro­jektu. Jeżeli w pro­jek­cie masz zbyt wiele ele­men­tów, które są blisko siebie, odbiorca stwierdzi, że jest to zro­bione celowo i że te ele­menty są ze sobą pow­iązane. Na przykład przy­cisk wyszuki­wa­nia, który jest za blisko przy­cisku zapisy­wa­nia czy anu­lowa­nia spowoduje przy­puszcze­nie, że przy­ciski zapisu i anu­lowa­nia są pow­ iązane z samym wyszuki­waniem. Warto więc zad­bać o odpowied­nią odległość między takimi ele­men­tami w pro­jek­cie. W bliskim sąsiedztwie stara­jmy się umieszczać takie elementy, które są ze sobą powiązane.

18 Programowanie HMI – usability (Komunikaty zwrotne)
Komu­nikaty zwrotne są tech­niką, opanowaną przez pro­jek­tan­tów prze­mysłowych od wielu dekad. Komu­nikaty zwrotne przekazują użytkown­ikowi infor­ma­cje o tym, że coś się stało, się dzieje lub się stanie. Komu­nikacja z użytkown­ikiem jest czymś fun­da­men­tal­ny.

19 Programowanie HMI – usability (Brzytwa Ockhama)
Brzytwa Ockhama. Najprostsze rozwiązanie jest zawsze najlepsze. „Wszys­tko powinno być tak proste, jak to tylko możliwe, ale nie prost­sze.” - Albert Einstein Przeładowanie plansz powoduje że stają się nieczytelne i trudne do utrzymania Pro­jekty proste są ele­ganckie, wysub­limowane i o wiele bardziej efek­ty­wne niż skom­p­likowane udeko­rowane styl­iza­cje.

20 High Performance HMI – nowy trend

21 Example: Condensate screen

22 Example: Heaters with valves

23 Main sequence

24 High Performance HMI

25 P&ID (Piping and instrumentation diagram/drawing) schematy stanowiły podstawę grafik

26 Programowanie skryptów/programów na poziomie stacji operatorskich w SCADA
W SCADA dopuszcza się w pewnych przypadkach programowanie skryptów, które mają na celu odciążenie obliczeń wykonywanych na PLC. Proste okienka do wpisania formuł matematycznych – operacje w ramach jednego punktu wyjściowego. Wyzwalane na zdarzenie (wartość punktu) lub czasowo Skrypty obliczeniowe pisane w językach skryptowych często o własnej składni lub BASIC/PASCAL/C. Większość operacji matematycznych, tablice, instrukcje IF, FOR, WHILE. Dostęp odczyt/zapis do punktów. Wyzwalane na zdarzenie (wartość punktu) lub czasowo. Skrypty wywoływane z HMI, pozwalające na programowanie ekstra funkcjonalności (głównie graficznej). Programowanie w większości języków wysokiego poziomu, np. ostatnia wersja MAPS pozwala na programowanie w #C

27 Programowanie komputerów przemysłowych/sterowników PLC
Norma IEC „Programmable Controllers" standaryzująca sposoby programowania składa się z pięciu części: Informacje ogólne (General Information), Sprzęt i wymagania testowe (Equipment and Test Requirements), Języki programowania (Programing Languages), Wytyczne użytkownika (User Guidelines), Wymiana informacji (Messaging Service).

28 Norma IEC 61131-3 – języki programowania
Część trzecia normy IEC dotyczy języków programowania i stanowi jej najważniejszą część. Przede wszystkim dzięki niej ujednolicono koncepcję pro­gramowania PLC tak, aby w oparciu o wprowadzone zasady, użytkownik był w stanie programować bez większych trudności różne systemy PLC (CoDeSys software). IEC definiuje pojęcia podstawowe, zasady ogólne, model programowy i model komunikacyjny (wymiana danych między elementami oprogramowania) oraz podstawowe typy struktury danych. Określono w niej dwie grup języków programowania: Języki tekstowe i graficzne.

29 Język tekstowy IL (Instruction List)
Język listy instrukcji IL (Instruction List), będący odpowiednikiem języka typu asembler, którego zbiór instrukcji obejmuje operacje logiczne, arytmetyczne, operacje relacji, jak również funkcje przerzutników, czasomierzy, liczników itp. Język listy instrukcji jest językiem niskiego poziomu i ma składnię podobną do języków typu asembler. Program w tym przypadku składa się z sekwencji rozkazów, z których każdy kolejny zaczyna się w nowej linii. Każda instrukcja składa się z operatora, który określa działanie do wykonania oraz operandu, czyli stałej lub zmiennej. Przykładami operatorów są: LD, który ładuje operand, JMP, który wykonuje skok do etykiety o nazwie określonej operandem, CAL, który wywołuje blok funkcyjny o nazwie takiej jak operand tej instrukcji oraz RET realizujący powrót z wywołanego wcześniej bloku lub funkcji. Dostępne są też operatory arytmetyczne (ADD, SUB, MUL, DIV), porównania (GT, GE, EQ, NE, LE, LT) oraz logiczne (AND, OR, XOR, NOT). Podstawą działania języka IL jest Akumulator (A) – jest to rejestr w pamięci, który jest wykorzystywany do: wczytywania do niego wartości z komórek pamięci PLC, wykonywania operacji matematycznych, przechowywania tymczasowych wyników, kopiowania stanu akumulatora do wybranych komórek pamięci.

30 Język tekstowy IL – przykładowy kod

31 Język IL instrukcje Allen Bradley

32 Zalety język tekstowego IL instrukcje
Duże podobieństwo do języka maszynowego Znajoma forma dla programistów asemblera Duża zwartość programów Kontrola typów wynikająca z konieczności korzystania z akumulatora Łatwa implementacja kompilatora

33 Wady język tekstowego IL instrukcje
Trudna czytelność programu (w stosunku do innych języków) Korzystanie z pośrednictwa akumulatora i stosu akumulatora nie jest intuicyjne Dostosowanie użytkownika do maszyny, a nie maszyny do użytkownika Nauka tego rodzaju programowania jest trudniejsza niż języka drabinkowego

34 Język tekstowy ST (Structured Text)
ST, drugi język typu tekstowego. Jego składnia jest podobna do składni na przykład języków C lub Pascal. Podstawowymi elementami są wyrażenia oraz instrukcje (polecenia), m.in. przypisania (:=), wyboru (IF, CASE), pętle (FOR - gdy liczba powtórzeń jest znana, WHILE oraz REPEAT - gdy liczba iteracji jest nieokreślona). Wyrażenia dostarczają wartości odpowiadające określonemu typowi danych. Składają się one z operatorów i operandów. Operandem może być zmienna, stała, funkcja lub inne wyrażenie. Język strukturalny ST (Structured Text) przeznaczony jest głównie do opisu złożonych wyrażeń, których nie można zrealizować w językach graficznych (lub jest to bardzo utrudnione).

35 Jezyk ST – przykładowy kod
W wypadku języka tekstu strukturalnego w jednej linii można zamieścić kilka instrukcji, a każda z nich powinna być zakończona średnikiem. W języku ST można implementować złożone prawa regulacji, co nie jest możliwe w żadnym innym języku!

36 Język tekstowy ST - operatory

37 Język tekstowy ST – typy danych
W języku ST można użyć następujących typów danych: BOOL (boolean or discrete) BYTE (8-bit string) INT (16-bit integer) UINT (16-bit unsigned integer) WORD (16-bit string) DINT (32-bit integer) REAL (32-bit floating-point value) DWORD (32-bit string) LREAL (64-bit floating-point value) Również mogą być używane struktury i tablice zmiennych

38 Jezyk tekstowy - zalety
Możliwość implementacji złożonych algorytmów w zasadzie nie możliwych do implementacji w innych językach. Powszechne zrozumienie wśród młodszej kadry inżynieryjnej

39 Język graficzny LD (Ladder Diagram)
Język schematów drabinkowych LD (Ladder Diagram), podobny do stykowych obwodów przekaźnikowych, w którym dopuszcza się użycie także funkcji: arytmetycznych, logicznych, porównań i relacji jak również bloków funkcyjnych: przerzutników, czasomierzy, liczników, regulatora PID czy bloków programowych.

40 Język graficzny LD – podstawowe symbole
Styk przekaźnika normalnie otwarty Styk przekaźnika normalnie zamknięty Przekaźnik normalnie otwarty Przekaźnik normalnie zamkniety

41 Język graficzny LD – organizacja programu
Program wykonywany jest sekwencyjnie od lewej do prawej z góry na dół ( wyjątkiem są instrukcje skoku)

42 Język graficzny FBD (Functional Block Diagram)
Język schematów blokowych FBD (Function Block Diagram), będący odpowiednikiem schematów przepływu sygnału dla obwodów logicznych przedstawionych w formie połączonych bramek logicznych oraz bloków funkcyjnych takich jak w języku LD.

43 Język graficzny FBD (Functional Block Diagram)
FBD (Function Block Diagram) jest językiem graficznym. Realizacja programu w tym języku jest oparta na przepływie sygnału. Wykorzystuje on gotowe bloki funkcyjne lub procedury przygotowane przez producenta w postaci bibliotek. Funkcje widziane są w edytorze programu jako prostokąty z opisanymi zmiennymi wejściowymi i wyjściowymi. Tworzenie aplikacji w tym języku polega na wyborze odpowiedniego bloku funkcyjnego i umieszczeniu w odpowiednim miejscu na schemacie i połączeniu z innymi blokami. Program napisany w FBD może składać się z pojedynczego schematu blokowego lub grupy schematów blokowych wykonywanych zgodnie z określoną sekwencją Bloki mogą być połączone jawnie lub niejawnie (poprzez zmienne), mogą występować pętle.

44 Język graficzny FBD (Functional Block Diagram)

45 Język graficzny FBD (Functional Block Diagram)

46 Język SFC (Sequential Function Chart)
Ponadto w normie IEC przedstawiono sposób tworzenia struktury we­wnętrznej programu w postaci grafu sekwencji SFC (Sequential Function Chart), który pozwala na opisywanie zadań sterowania sekwencyjnego za pomo­cą grafów zawierających etapy (kroki) i warunki przejścia (tranzycji) miedzy tymi etapami. Grafy SFC mogą być wykorzystane przy programowaniu sterow­nika w jednym ze zdefiniowanych w normie języków w celu otrzymania odpowiedniej struktury programu użytkownika.

47 Język SFC (Sequential Function Chart)
SFC (Sequential Function Chart) pozwala na opisywanie zadań sterowania sekwencyjnego za pomo­cą grafów zawierających etapy (kroki) i warunki przejścia (tranzycji) miedzy tymi etapami. Grafy SFC mogą być wykorzystane przy programowaniu sterow­nika w jednym ze zdefiniowanych w normie języków w celu otrzymania odpowiedniej struktury programu użytkownika. SFC raczej jest rozumiany nie jako osobny język programowania, a jako sposób organizacji programów, napisanych w innych językach; tak, według sformułowania Polskiego Komitetu Normalizacyjnego, SFC to "zbiór elementów graficznych i równoważnych im elementów tekstowych ... zdefiniowany w celu utworzenia wewnętrznej organizacji programów i bloków funkcyjnych sterownika programowalnego"

48 Język SFC (Sequential Function Chart)
Naturalnym zastosowaniem SFC jest oprogramowanie sekwencji rozruchu lub zatrzymania urządzenia, instalacji. Rozruch instalacji wymaga spełnienia pewnych warunków w określonym czasie, naturalnym jest wykorzystanie sposobu programowania, które pozwala w sposób bezpośredni przenieść wymagania na kod.

49 Wybór właściwego języka
Mając do dyspozycji kilka różnych języków programowania, przed wyborem konkretnego z nich należałoby odpowiedzieć sobie na kilka kluczowych pytań. Oczywiście naszą naturalną tendencją jest pozostawanie przy tym, który znamy. Jednak zawsze warto wziąć pod uwagę umieszczoną poniżej listę cech całej piątki: łatwość nadzoru przez użytkownika końcowego: SFC (Sequential Functional Chart), powszechność i akceptacja języka: LD (Ladder Diagram), znajomość i akceptacja w Europie: LD lub ST (Structured Text), prędkość wykonywania przez PLC: IL lub ST, aplikacje wykorzystujące głównie cyfrowe We/Wy oraz prosta regulacja ciągła: LD lub FBD (Functional Block Diagram), łatwość dokonywania zmian w kodzie: LD, łatwość i umiejętność obsługi przez młodych inżynierów: ST, łatwość w implementacji skomplikowanych operacji matematycznych, pętli: ST, aplikacje, które cechują powtarzające się operacje lub procesy wymagające łączenia i jednoczesności operacji: SFC. Należy tez mieć na uwadze ze poszczególne modele sterowników PLC  można programować np tylko niektórymi z podanych języków.


Pobierz ppt "Sterowniki programowalne Systemy SCADA Programowanie w systemach SCADA Języki programowania sterowników PLC Sebastian Plamowski."

Podobne prezentacje


Reklamy Google