Wstęp do PLC. Sławomir Mamica

Podobne dokumenty
Podstawy Elektroniki i Elektrotechniki. Sławomir Mamica

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści

Architektura systemów komputerowych

CoDeSys 3 programowanie w języku drabinkowym LD

Opracował: Jan Front

Pierwsze kroki z easy Soft CoDeSys Eaton Corporation. All rights reserved.

Cyfrowe układy sekwencyjne. 5 grudnia 2013 Wojciech Kucewicz 2

JĘZYKI PROGRAMOWANIA STEROWNIKÓW

Elementy oprogramowania sterowników. Instrukcje podstawowe, funkcje logiczne, układy czasowe i liczenia, znaczniki

Sterowniki Programowalne (SP)

Standardowe bloki funkcjonalne

PROGRAMOWALNE STEROWNIKI LOGICZNE

Automatyzacja i robotyzacja procesów produkcyjnych

Kurs STARTER S5. Spis treści. Dzień 1. III Budowa wewnętrzna, działanie i obsługa sterownika (wersja 0504)

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Programowanie sterowników PLC wprowadzenie

Tworzenie prostego programu w językach ST i LD

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014

Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5.

Podstawy układów mikroelektronicznych

1. Podstawowe wiadomości Możliwości sprzętowe Połączenia elektryczne Elementy funkcjonalne programów...

Cyfrowe Elementy Automatyki. Bramki logiczne, przerzutniki, liczniki, sterowanie wyświetlaczem

Architektura komputerów Wykład 2

Politechnika Gdańska. Gdańsk, 2016

PRZERZUTNIKI: 1. Należą do grupy bloków sekwencyjnych, 2. podstawowe układy pamiętające

Sterowniki Programowalne (SP) Wykład 11

Kurs Zaawansowany S7. Spis treści. Dzień 1

Podstawy programowania w środowisku Totally Integration Automation Portal

LEKCJA. TEMAT: Funktory logiczne.

Opis szybkiego uruchomienia programu APBSoft

Krótkie przypomnienie

" Sterowniki programowalne f.1/1

UKŁADY CYFROWE. Układ kombinacyjny

Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy

Spis treści. Dzień 1. I Rozpoczęcie pracy ze sterownikiem (wersja 1707) II Bloki danych (wersja 1707) ZAAWANSOWANY TIA DLA S7-300/400

Układy kombinacyjne 1

Podstawy programowania w środowisku Step 7

CoDeSys 3 programowanie w języku FBD

1.1. Wymogi bezpieczeństwa Pomoc techniczna TIA Portal V13 instalacja i konfiguracja pakietu...18

ĆWICZENIE 7. Wprowadzenie do funkcji specjalnych sterownika LOGO!

Język FBD w systemie Concept

Cyfrowe układy scalone c.d. funkcje

Istnieje wiele metod przekształcania algorytmów wprogram sterujący.

Funkcje: wejściowe, wyjściowe i logiczne. Konfigurowanie zabezpieczeń.

Kurs SIMATIC S7-300/400 i TIA Portal - Zaawansowany. Spis treści. Dzień 1

f we DZIELNIKI I PODZIELNIKI CZĘSTOTLIWOŚCI Dzielnik częstotliwości: układ dający impuls na wyjściu co P impulsów na wejściu

Ćwiczenie 4: Eksploatacja systemu kontroli dostępu jednego Przejścia REGIONALNE CENTRUM EDUKACJI ZAWODOWEJ W BIŁGORAJU

Podstawy programowania sterowników SIMATIC S w języku LAD / Tomasz Gilewski. Legionowo, cop Spis treści

Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści

dwójkę liczącą Licznikiem Podział liczników:

UKŁADY KOMBINACYJNE WPROWADZENIE. przerzutniki, bramki ze sprzężeniami zwrotnymi. Układ przełączający Y t. Q t stan wewnętrzny

Funkcje logiczne X = A B AND. K.M.Gawrylczyk /55

Programowanie sterowników B&R

Ćw. 7: Układy sekwencyjne

Inwerter logiczny. Ilustracja 1: Układ do symulacji inwertera (Inverter.sch)

Podstawy programowania PLC w języku drabinkowym - ćwiczenie 5

Konfiguracja i programowanie PLC Siemens SIMATIC S7 i panelu tekstowego w układzie sterowania napędami elektrycznymi. Przebieg ćwiczenia

Bramki logiczne Podstawowe składniki wszystkich układów logicznych

Sterownik Visilogic V260

Przerzutniki RS i JK-MS lab. 04 Układy sekwencyjne cz. 1

Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy. Przebieg ćwiczenia

Kurs SIMATIC S7-300/400 i TIA Portal - Podstawowy. Spis treści. Dzień 1. I System SIEMENS SIMATIC S7 - wprowadzenie (wersja 1503)

Podstawy elektroniki cyfrowej dla Inżynierii Nanostruktur. Piotr Fita

Kurs Podstawowy S7. Spis treści. Dzień 1

Programowanie w językach asemblera i C

Proste układy sekwencyjne

PODSTAWY TEORII UKŁADÓW CYFROWYCH

Sterowniki programowalne

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Instrukcja podstawowego uruchomienia sterownika PLC LSIS serii XGB XBC-DR20SU

LICZNIKI PODZIAŁ I PARAMETRY

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

Automatyka. Treść wykładów: Multiplekser. Układ kombinacyjny. Demultiplekser. Koder

Asynchroniczne statyczne układy sekwencyjne

Część 3. Układy sekwencyjne. Układy sekwencyjne i układy iteracyjne - grafy stanów TCiM Wydział EAIiIB Katedra EiASPE 1

Funkcje: wejściowe, wyjściowe i logiczne. Konfigurowanie zabezpieczeń.

Funkcje: wejściowe, wyjściowe i logiczne. Konfigurowanie zabezpieczeń.

Projekt prostego układu sekwencyjnego Ćwiczenia Audytoryjne Podstawy Automatyki i Automatyzacji

Podstawy elektroniki cz. 2 Wykład 2

PROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ W RAMACH EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO OPIS PRZEDMIOTU. Sieci i sterowniki przemysłowe

Przerzutnik (z ang. flip-flop) jest to podstawowy element pamiętający każdego układu

Przerzutnik ma pewną liczbę wejść i z reguły dwa wyjścia.

Działanie i charakterystyka sterownika GE FANUC VersaMaxNano

PLC1: Programowanie sterowników logicznych SIEMENS SIMATIC S7-300/400 - kurs podstawowy

AHDL - Język opisu projektu. Podstawowe struktury języka. Komentarz rozpoczyna znak i kończy znak %. SUBDESIGN

Zadania do wykładu 1, Zapisz liczby binarne w kodzie dziesiętnym: ( ) 2 =( ) 10, ( ) 2 =( ) 10, (101001, 10110) 2 =( ) 10

SFC zawiera zestaw kroków i tranzycji (przejść), które sprzęgają się wzajemnie przez połączenia

INSTYTUT OBRABIAREK I TECHNOLOGII BUDOWY MASZYN POLITECHNIKI ŁÓDZKIEJ

Sterowniki programowalne. System GE Fanuc serii Zasady działania systemu (część I)

Plan wykładu. Architektura systemów komputerowych. Cezary Bolek

AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE. Wydział Informatyki, Elektroniki i Telekomunikacji LABORATORIUM.

Podstawowe elementy układów cyfrowych układy sekwencyjne Rafał Walkowiak Wersja

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA

INSTRUKCJA OBSŁUGI. Przekaźnik czasowy ETM ELEKTROTECH Dzierżoniów. 1. Zastosowanie

1. SFC W PAKIECIE ISAGRAF 2. EDYCJA PROGRAMU W JĘZYKU SFC. ISaGRAF WERSJE 3.4 LUB 3.5 1

Funkcje: wejściowe, wyjściowe i logiczne. Konfigurowanie zabezpieczeń.

Sterownik nagrzewnic elektrycznych HE module

Sterowniki PLC. Sterowniki PLC. Wprowadzenie nazewnictwo. Historia. Dlaczego sterowniki PLC stały się tak popularne?

Sterowniki Programowalne (SP)

Transkrypt:

Wstęp do PLC Sławomir Mamica Spis treści: 1. Ogólnie o PLCach 2. Programowanie w LD 3. Funkcje i bloki 4. Obsługa programu CoDeSys 5. Przykładowe zadania Literatura: Jerzy Kasprzyk, Programowanie sterowników przemysłowych, (WNT, 2006)

Ogólnie o PLCach

PLC Programmable Logic Controller (Programowalny Sterownik Logiczny) Uniwersalne urządzenie mikroprocesorowe przeznaczone do sterowania pracą maszyny lub urządzenia technologicznego

Budowa sterownika

Dane użytkownika Pamięć przeznaczona na dane użytkownika dzieli się na obszary: dane wejściowe, zawierające obraz wejść sterownika, wg normy IEC 61131-3 oznaczane przez %I lub %IX, dane wyjściowe, zawierające obraz wyjść sterownika, wg normy IEC 61131-3 oznaczane przez %Q lub %QX, dane pomocnicze, dane zadeklarowane w programie użytkownika, ale nie przypisane do wejść ani wyjść.

Moduły wejść-wyjść Pośredniczą w wymianie danych z otoczeniem. Dzielą się na dwa typy: cyfrowe (Digital Input, Digital Output), analogowe (Analog Input, Analog Output). Wszystkie sygnały trafiające do CPU muszą mieć postać cyfrową sygnał wejściowy analogowy jest dekodowany (A/C) (podobnie sygnał wyjściowy C/A).

Podłączenie predefiniowanych zmiennych wejściowych cyfrowych (IX, X = 1, 2, ), analogowych (IX_Analog) oraz wyjściowy cyfrowych (QX) do elementów sterujących (przyciski, potencjometry) oraz sterowanych (diody).

Podstawowe zadanie sterownika Generowanie sygnałów sterujących w odpowiedzi na zmiany sygnałów wejściowych, zgodnie z przyjętym algorytmem sterowania lub regulacji. Zadanie to realizowane jest poprzez cykliczny odczyt stanu sygnałów wejściowych sterownika, realizację programu użytkownika oraz aktualizację sygnałów wyjściowych sterownika. Pojedynczy cykl pracy sterownika zwany jest cyklem programowym (ang. Program Sweep).

Cykl programowy Pojedynczy cykl pracy sterownika. Realizowany w zewnętrznej, bezwarunkowej pętli typu WHILE. Podzielony na fazy. Odpowiednio krótki (aby zapewnić pracę w czasie rzeczywistym). Możliwość ustawienia czasu trwania cyklu na stałą wartość (Constant Sweep). Zależnie od trybu pracy sterownika niektóre fazy mogą nie występować lub podlegać ograniczeniom.

Fazy cyklu programowego Kolejna faza zaczyna się dopiero po zakończeniu poprzedniej! Porządkowanie cyklu (Housekeeping). Czytanie stanów wejść (Data Input). Wykonanie programu użytkownika (Program Execution). Aktualizacja stanów wyjść (Data Output). Obsługa urządzeń zewnętrznych (Service External Devices). Wykonanie funkcji diagnostycznych (Diagnostics).

Programowanie w LD

Programowanie PLC Schemat drabinkowy (Ladder diagram, LD) Należy do grupy języków graficznych Powstał jako odpowiednik stykowych obwodów przekaźnikowych, w którym oprócz symboli styków, cewek i połączeń między nimi, dopuszcza się także użycie funkcji (np. arytmetycznych, logicznych, porównań, relacji) oraz bloków funkcjonalnych (np. przerzutniki, czasomierze, liczniki). Język IL (Instruction List - Lista rozkazów), będący odpowiednikiem asemblera, którego zbiór instrukcji obejmuje operacje logiczno-arytmetyczne, operacje relacji, jak również funkcje przerzutników, czasomierzy, liczników itp. Programowanie w IL nie jest wymagane na egzaminie

Styki i cewki w LD Klucz (przycisk) Cewka zwierny X rozwierny X Q1 Q2 Odpowiedniki w LD: X X Q1 Q2 Odpowiedniki w IL: LD X LDN X ST Q1 STN Q2 (zmienna do CR) (z CR do zmiennej)

Funkcje logiczne w LD Szczebelek drabiny funkcja logiczna Przycisk argument funkcji Wartość funkcji cewka Jeśli szczebelek przewodzi, to wartość funkcji przez niego realizowanej wynosi 1. Zawsze 1 Funkcja logiczna Wartość funkcji

Bramki logiczne w LD AND: a b Q NAND: a b Q OR: a Q NOR: a Q b b XOR: a b Q XNOR: a b Q a b a b

Przerzutniki Przerzutnik (ang. flip-flop) jest to układ sekwencyjny, którego sygnał na wyjściu może zależeć od stanu na jego wejściu lub od jego stanu wewnętrznego. Istnieją trzy rodzaje przerzutników bistabilne, monostabilne oraz astabilne. W układach cyfrowych najczęściej stosowane są przerzutniki bistabilne mogące być stosowane jako układy pamiętające. Grupa połączonych ze sobą przerzutników bistabilnych może tworzyć tzw. rejestr.

Przerzutnik typu RS Przerzutnik asynchroniczny (choć jest też wersja synchroniczna) Wejście Set Wejście Reset Q Q Wyjścia Działanie: Set ustawia (przypisuje 1) wyjście Q Reset zeruje wyjście Q

Przerzutnik typu RS / SR RS R - priorytetowy SR S - priorytetowy Funkcja przełączająca Q = ( Q + S) R Funkcja przełączająca Q = QR + S Algebra kluczy : Algebra kluczy : Q R Q Q R Q S S

Cewki S i R Cewka S (Set) ustawiająca W odpowiedzi na 1 ustawia zmienną (ale nie może zmiennej wyzerować!) S Cewka R (Reset) zerująca W odpowiedzi na 1 zeruje zmienną (ale nie może zmiennej ustawić!) R

Przerzutniki raz jeszcze RS Przycisk S - ustawia Przycisk R - zeruje S R Q S Q R SR Przycisk R - zeruje Przycisk S - ustawia R S Q R Q S

Funkcje i bloki

Funkcje a bloki funkcyjne Podstawowa różnica między funkcją a blokiem funkcyjnym: wywołanie funkcji z tymi samymi argumentami (parametrami wejściowymi) zawsze daje tę samą wartość na wyjściu (wartość funkcji), wywołanie bloku funkcyjnego z tymi samymi parametrami wejściowymi nie musi prowadzić do tych samych wartości wyjściowych. Przyczyna: zmienne wewnętrzne bloku funkcyjnego są pamiętane pomiędzy kolejnymi wywołaniami przechowując informację o jego stanie wewnętrznym ( element dynamiczny ), zmienne wewnętrzne funkcji nie są pamiętane ( element statyczny ).

Bloki funkcyjne Egzemplarz (ukonkretnienie, instancja, ang. instance) bloku funkcyjnego zmienna typu będącego blokiem funkcyjnym. Posiada unikalną nazwę oraz własną realizację struktury danych. (Podobnie do obiektu określonej klasy w językach programowania wyższego poziomu.) Dzięki temu wartości zmiennych wewnętrznych i wyjściowych są przechowywane pomiędzy kolejnymi wywołaniami (w kolejnych cyklach programowych). Zwraca wartości poprzez zmienne wyjściowe może ich być więcej niż jedna. Nazwa egzemplarza może być użyta na wejściu funkcji lub innego bloku funkcyjnego.

Bloki funkcyjne Deklaracja bloku funkcyjnego (a w zasadzie typu będącego blokiem funkcyjnym): Słowo kluczowe Nazwa (typu) Deklaracje zmiennych: Wejściowych Wyjściowych Wewnętrznych

Bloki funkcyjne Użycie bloku funkcyjnego w LD (dwa egzemplarze) Typ bloku Nazwa egzemplarza Poszczególne egzemplarze deklarowane tak jak inne zmienne w jednostce wywołującej

Bloki funkcyjne Zmienne wejściowe i wyjściowe w egzemplarzu występują w takiej samej kolejności jak w deklaracji Deklaracja bloku Realizacja bloku Sposób komunikacji z blokiem funkcyjnym zmienne wewnętrzne są niewidoczne

Bloki funkcyjne Przypisanie zmiennych uwaga na typ Deklaracja bloku Deklaracje zmiennych w jednostce wywołującej Realizacja bloku

Bloki funkcyjne Deklaracja bloku Pierwsza zmienna na liście zmiennych wejściowych oraz wyjściowych BOOL pogrzebna do zawieszenia drabince bloku na Jeśli inna błąd przypisania Realizacja bloku

Bloki funkcyjne Przypisanie zmiennych zakres deklaracji zmiennych Zmienna zadeklarowana w jednostce wywoływanej Zmienna zadeklarowana w jednostce wywołującej Każda z nazw zmiennych jest unikalna w swojej jednostce POU więc nie ma konfliktu (to nie dotyczy nazw typów, np. nazwy typu bloku funkcyjnego) Wyjątek 2: egzemplarz jako zmienna globalna

Funkcje Funkcja nie posiada zmiennych wyjściowych. Zwraca wartość (tylko jedną) poprzez nazwę funkcji, więc w ciele funkcji trzeba jej nazwie przypisać wynik. Nie posiada egzemplarzy wartości zmiennych wewnętrznych nie są przechowywane pomiędzy kolejnymi wywołaniami. Zmienne lokalne funkcji nie są pamiętane, nawet gdyby je zadeklarować jako RETAIN (bateryjne podtrzymanie zmiennych). Podobnie jak dla bloków funkcyjnych, zmienne wejściowe w wywołaniu pojawiają się w takiej kolejności jak w deklaracji. Pierwsza zmienna wejściowa powinna być typu BOOL (do zawieszenia funkcji na drabince).

Funkcje Deklaracja funkcji Słowo kluczowe Nazwa funkcji Deklaracje zmiennych: Wejściowych Typ zwracanej wartości Wewnętrznych Brak zmiennych wyjściowych Przykładowe przypisanie wyniku do nazwy funkcji

Funkcje Użycie funkcji w LD (dwa razy) Brak egzemplarzy na liście zmiennych jednostki wywołującej. Nazwa funkcji przypisana do zmiennej Brak możliwości kontynuowania szczebelka po użyciu funkcji.

Bloki z wejściem EN W drabinkach funkcje są wywoływane w postaci bloków z wejściem EN. Aby funkcja została wywołana na EN musi pojawić się 1. Co daje możliwości warunkowego wywołania funkcji. (Nie tylko funkcje można obudować blokiem z EN.)

Obsługa programu CoDeSys

Moeller CoDeSys Demo (free): http://www.moeller.pl/desktopdefault.aspx?pageid=813

W wersji DEMO

Typ POU + język funkcjonalny, funkcyjny Diagram drabinkowy

Okno robocze

Wstawianie elementów programu Wstaw przycisk (szeregowo) Wstaw cewkę Wstaw przycisk równolegle do zaznaczonego fragmentu Neguj cewkę lub przycisk Przełącz cewkę na: setującą / resetującą / zwykłą

Wstawianie elementów programu Z menu Wstaw (Insert) oraz Dodatki (Extras) lub menu kontekstowego: Wstaw szczebelek (przed lub za zaznaczonym) Neguj cewkę lub przycisk Wstaw przycisk (szeregowo) Wstaw przycisk równolegle do zaznaczonego fragmentu Wstaw cewkę Wstaw blok funkcyjny Przełącz cewkę na: setującą / resetującą / zwykłą

Deklarowanie zmiennych Po wpisaniu nazwy zmiennej (z wyjątkiem predefiniowanych) pojawia się okienko deklaracji zmiennych: Klasa: wejściowe, wyjściowe, wewnętrzne Nazwa zmiennej Typ zmiennej

Simulation mode On logowanie do wirtualnego sterownika (brak wymiany informacji ze sprzętem) (konieczność wymuszenia stanu zmiennych dwuklik + F7) Off logowanie do rzeczywistego sterownika (musi być fizycznie podłączony) (odczyt ze sterownika nadrzędny nad odczytem z wizualizacji - por. dalej)

Uruchomienie programu 1. Logowanie

Uruchomienie programu 2. Ładowanie programu jeśli nie ma błędów!!! Możliwe błędy: Komunikacji (np.: brak podłączonego PLC, źle skonfigurowane połączenie, uszkodzony kabel) Programu (np.: błędy w deklaracjach zmiennych, błędy składniowe)

Uruchomienie programu 3. Start (Run) Czarny - aktywny Szary - nieaktywny Zalogowany Program uruchomiony Wymuszone wartości Tryb symulacji ON

Program w akcji Podgląd aktualnych wartości zmiennych Niebieski = 1

Ponowna edycja po wylogowaniu

Wizualizacja

Nowy zestaw ikon Obszar roboczy tu budujemy wizualizację

(Dwuklik na elemencie) Wizualizacja

Wizualizacja

Wizualizacja

Wizualizacja

Wizualizacja

Bloki funkcyjne listy zmiennych

Przykładowe zadania

Przykłady 1. Sumator liczb czterobitowych Proszę napisać program (LD) dodający dwie liczby czterobitowe (binarne). 2. Sterowanie drzwiami w tramwaju (wersja prymitywna) Proszę napisać program (LD) sterujący drzwiami w tramwaju. Tramwaj ma dwoje drzwi otwieranych na żądanie pasażera. (Osobne przyciski, z których każdy otwiera tylko jedne drzwi. Przyciski z zatrzaskiem żądanie otwarcia drzwi jest zapamiętywane.) Drzwi mogą być otwarte o ile motorniczy na to zezwoli. Włączenie blokady otwarcia drzwi jest równoznaczne z ich zamknięciem. 3. Sterowanie z histerezą (grzałka, wersja z ogranicznikami) Proszę napisać program (LD) sterujący pracą grzałki w pewnym procesie technologicznym. Układ posiada włącznik główny (przycisk) oraz dwa wejścia, na których sygnał oznacza osiągnięcie określonego poziomu temperatury: dolnego i górnego (1 na wejściu oznacza, iż temperatura jest co najmniej na danym poziomie, a 0, że jest niższa). Zadaniem sterownika jest utrzymanie temperatury pomiędzy tymi dwoma poziomami.

Uwaga, spoiler!

Podpowiedź 2. Sterowanie drzwiami w tramwaju (wersja prymitywna) Proszę napisać program (LD) sterujący drzwiami w tramwaju. Tramwaj ma dwoje drzwi otwieranych na żądanie pasażera. (Osobne przyciski, z których każdy otwiera tylko jedne drzwi. Przyciski z zatrzaskiem żądanie otwarcia drzwi jest zapamiętywane.) Drzwi mogą być otwarte o ile motorniczy na to zezwoli. Włączenie blokady otwarcia drzwi jest równoznaczne z ich zamknięciem. Najprostsze układy z pamięcią to przerzutniki. Zatrzask to inna nazwa przerzutnika. Co jest sygnałem do wyzerowania żądania otwarcia drzwi? Jeśli blokada ma również zamykać otwarte drzwi, to działa jak Reset w RS. Kluczowa jest tu właściwa kolejność cewek S i R! Tabela prawdy? We własnym zakresie :)

Realizacja w LD 2. Sterowanie drzwiami w tramwaju (wersja prymitywna) (dla drzwi 1) Przycisk pasażera Sygnałżądania otwarcia drzwi Sygnał otwierający drzwi Blokada Dlaczego po wykonaniu szczebelka nr 2 drzwi nie zaczynają się otwierać? Jeśli naciśnięty P1 to zatrzaśnij żądanie otwarcia drzwi Jeśli ustawione żądanie to ustaw sygnał otwierający drzwi Jeśli ustawiona blokada to resetuj sygnał otwierający drzwi Jeśli drzwi się otwierają to resetuj żądanie otwarcia drzwi

Podpowiedź 3. Sterowanie z histerezą (grzałka, wersja z ogranicznikami) Proszę napisać program (LD) sterujący pracą grzałki w pewnym procesie technologicznym. Układ posiada włącznik główny (przycisk) oraz dwa wejścia, na których sygnał oznacza osiągnięcie określonego poziomu temperatury: dolnego i górnego (1 na wejściu oznacza, iż temperatura jest co najmniej na danym poziomie, a 0, że jest niższa). Zadaniem sterownika jest utrzymanie temperatury pomiędzy tymi dwoma poziomami. Czyżby znowu zatrzask? Tabela prawdy znowu się przyda

Rozwiązanie 3. Sterowanie z histerezą (grzałka, wersja z ogranicznikami) Zadaniem sterownika jest utrzymanie temperatury pomiędzy dwoma poziomami. High Low Q 0 0 1 0 1 0 1? X za zimno (temp. niższa niż Low) zostaw jak było (pamiętaj Q, zatrzask) błąd 1 1 0 za ciepło (temp. wyższa niż High) Czyli: High = Reset, /Low = Set + sytuacja niedopuszczalna Oczywiście, jeśli mamy błąd, to grzałkę dobrze jest wyłączyć. Czyli RS + błąd

Rozwiązanie 3. Sterowanie z histerezą (grzałka, wersja z ogranicznikami) RS błąd

Wizualizacja 3. Sterowanie z histerezą (grzałka, wersja z ogranicznikami) Ustawiamy kolor dla 1 (Alarm) Do zmiany koloru przypisujemy zmienną (jeśli nie jest zmienną predefiniowaną to poprzedzić nazwą bloku!) Podobnie dla pozostałych tylko Grzałka i Błąd nie powinny ustawiać zmiennych! A dzięki temu klik na prostokącie przełącza wartość zmiennej

Wizualizacja w akcji 3. Sterowanie z histerezą (grzałka, wersja z ogranicznikami)

1. Sumator liczb czterobitowych Podpowiedź 1 Proszę napisać program (LD) dodający dwie liczby czterobitowe (binarne). Zorganizować dodawanie dla dwóch bitów (można w bloku funkcyjnym). Tabela prawdy może być użytecznym narzędziem.

1. Sumator liczb czterobitowych Podpowiedź 2 Proszę napisać program (LD) dodający dwie liczby czterobitowe (binarne). W systemie dwójkowym mamy tylko dwie cyfry: 0 i 1. Dodawanie jest przemienne i łączne.

1. Sumator liczb czterobitowych Podpowiedź 3 Proszę napisać program (LD) dodający dwie liczby czterobitowe (binarne). Dodajemy trzy bity (uwzględniając bit przeniesienia z poprzedniej pozycji). Nie ma znaczenia ich źródło. Otrzymujemy wynik (Q) i przeniesienie (P).

1. Sumator liczb czterobitowych Tabele prawdy dla Q i P. Funkcja przełączająca dla Q i P. Redukcja funkcji przełączających. Rozwiązanie A 0 0 0 B 0 0 1 C 0 1 0 P 0 0 0 Q 0 1 1 P = ABC + ABC + ABC + Postać zredukowana: P = BC + AC + AB ABC 0 1 1 1 0 1 1 1 0 0 1 0 1 0 0 1 1 1 0 0 Q = ABC + ABC + ABC + Postać zredukowana: ABC 1 1 1 1 1 Q = A B C XOR

Realizacja w LD 1. Sumator liczb czterobitowych (na razie jednobitowych) Q = ( A B) C = ( A B) C + ( A B)C P = BC + AC + AB

Realizacja w LD 1. Sumator liczb czterobitowych (połączyć kaskadowo sumatory jednobitowe ) Ax, Bx bity dodawanych liczb (od najmłodszych) Qx bity wyniku P przeniesienie (wystarczy jeden bit) Na pierwszym stopniu nie ma przeniesienia, więc można go uprościć (dodawanie dwóch bitów, a nie trzech).

Realizacja w LD 1. Sumator liczb czterobitowych (połączyć kaskadowo sumatory jednobitowe )

Realizacja w LD (2) 1. Sumator liczb czterobitowych (połączyć kaskadowo sumatory jednobitowe jako bloki funkcyjne) Deklaracje zmiennych wejściowych i wyjściowych!!!

I to by było na tyle