POLITECHNIKA POZNAŃSKA Programowanie sterowników B&R Instrukcja nr 1 Język drabinkowy LD Arkadiusz Kubacki 2015-10-01
1. Tworzenie nowego projektu w Automation Studio Po uruchomieniu programu Automation Studio wybieramy New Project, a następnie An empty project. Alternatywną metodą jest wybór z menu File -> New Project Po wybraniu nowego projektu ukaże się kreator konfiguracji. W pierwszym oknie wpisujemy nazwę projektu oraz ścieżkę, pod którą ma zostać on zapisany.
Po kliknięciu na zrobimy to ręcznie dlatego wybieramy opcję należy zdecydować jak chcemy zdefiniować sprzęt. W naszym wypadku I klikamy X20CP1382.. Kolejnym oknem jest wybór sterownika. W polu Search wpisujemy
Kreator kończymy przyciskiem. Po jego kliknięciu zobaczymy okno System Designer i obrazek naszego sterownika. Teraz należy dodać resztę potrzebnych elementów. W pierwszej kolejności dodamy moduł wejść i wyjść X20CM8281. Po prawej stronie okna znajduje się Toolbox.
W polu Search wpisujemy nazwę modułu, a następnie klikając na nazwę z listy przeciągamy moduł na zielone pole. 1.1. Stanowisko z panelem Osoby posiadające stanowisko z panelem w Toolboxie wpisują 6PPT30.0702-20B, a następnie przeciągają go do podświetlonego portu (jaśniejszy niebieski). 1.2. Stanowisko z silnikiem Osoby posiadające stanowisko z silnikiem w Toolboxie wpisują X20SM1436 i podobnie jak poprzednio przeciągają na zielone pole. Należy pamiętać, że kolejność modułów ma znaczenie i musi być identyczna jak w rzeczywistości.
Po dodaniu modułu otworzy się konfigurator silnika. W pierwszym oknie nic nie zmieniamy i klikamy. Język wybieramy wg predyspozycji i klikamy. Kolejne okno również pozostawiamy bez zmian i również w tym wypadku klikamy przycisk. Kreator kończymy przyciskiem. Wszystkie informacje dotyczące pominiętych ustawień zostaną przedstawione w późniejszym terminie na zajęciach dotyczących silników. 2. Ustawienie adresu IP sterownika w projekcie W pierwszej kolejności klikamy, a następnie prawym przyciskiem myszy na i wybieramy Configuration. W kolejnym kroku zmieniamy ustawienia jak na obrazku poniżej.
3. Połączenie się ze sterownikiem W pierwszym kroku wybieramy z paska menu Online opcję Settings. Następnie upewniamy się, że zaznaczona została ikonka. Z listy po prawej stronie wybieramy nasz sterownik i klikamy prawym klawiszem myszy, a następnie dodajemy go do połączeń. Dodane połączenie pojawiło się w oknie po lewej stronie. Zaznaczamy kwadracik Use in active config i ustawiamy Source INA node number na wartość powyżej 10. Poniżej przykład konfiguracji. Teraz wystarczy kliknąć prawym klawiszem myszy na połączenie i wybrać Po połączeniu się ze sterownikiem na dolnej belce statusu pojawi się RUN i adres, z którym się połączyliśmy.
4. Programowanie W pierwszym kroku należy dodać program. W jednym projekcie może występować wiele osobnych programów w różnych językach programowania. 4.1. Dodawanie programu w języku LD W pierwszym kroku kursorem wybieramy zakładkę przyciskiem myszy na nazwę projektu i wybieramy Add Object, a następnie klikamy prawym Po wybraniu tej opcji ukaże nam się okno wyboru obiektów. W tym oknie wybieramy Program -> New Program i klikamy przycisk.
W kolejnym oknie podajemy nazwę programu i ewentualny opis. Pozostałe ustawienia bez zmian i klikamy przycisk. W następnym oknie wybieramy język programowania. W tym wypadku będzie to program w języku Ladder Diagram. Po jego wybraniu widzimy, że dostępne jest wybór języka w sekcji Init program. Jest to program inicjalizujące zmienne i jest wykonywany tylko raz podczas rozruchu maszyny. Program Cyclic wykonywany cyklicznie dlatego też nie należy dodatkowo tworzyć pętli w samym programie jak ma miejsce to podczas programowania mikroprocesorów. Ostatnim jest program Exit, wykonuje się on podczas usuwania programu ze sterownika. W naszym wypadku odznaczamy program INIT i EXIT.
I klikamy przycisk. W ostatnim oknie zaznaczamy opcję Kończymy przyciskiem. W oknie projektu dodał się program o nazwie jakiej wcześniej wybraliśmy. Pojawiły się też pliki.var i.typ, w których znajdować się będą zmienne lokalne. 4.2. Pisanie programu w języku LD 4.2.1. Informacje ogólne na temat języka LD Język logiki drabinkowej (LD - Ladder Diagram) jest graficznym językiem programowania, który stworzono pierwotnie aby zastąpić programowanie logiki przekaźników. Logika drabinkowa jest językiem powszechnie używanym i uwzględnionym w normach IEC. Logika drabinkowa (LD) jest graficznym językiem programowania. W języku tym używa się symbolicznych przedstawień obwodów elektrycznych, które odpowiadają symbolom schematycznym przyjętym w tradycyjnych schematach obwodów. Symbolika i kreski (czyli linie) przyjęte w języku służą do programowania logiki. Logika drabinkowa odznacza się następującymi cechami:
Programowanie wizualne Schemat obwodów obrócony o 90 Prosty, przejrzysty sposób programowania Jednoznacznie zrozumiałe elementy języka Łatwy do diagnozowania Poniższe ilustracje przedstawiają podstawowe elementy logiki drabinkowej. Po lewej stronie znajduje się stała "prądowa" szyna zasilania w układzie pionowym. Po prawej znajduje się styk NO (normalnie rozwarty) (2), nad którym widać zmienną procesową (3) przechowująca w sterowniku wartość dla styku. Linie przepływu (4) przechodzą na prawo, łącząc się z innymi stykami lub cewkami. Logika drabinkowa składa się zasadniczo z dwóch części. Po lewej stronie znajduje się logika kierowana na wyjścia po prawej stronie. Elementy po prawej stronie nazywamy cewkami. Wartość cewki można przypisać np. do wyjścia cyfrowego. Obwody zawarte w programie logiki drabinkowej są wykonywane jeden po drugim w rosnącej kolejności ich numerów. Można wpływać na kolejność wykonywania programu za pomocą skoków przekierowujących do określonego miejsca. Obwód jest wykonywany w kolejności od lewej do prawej. Edytor uniemożliwia występowanie sprzężeń zwrotnych sygnału. Niemożliwy jest przepływ sygnałów w przeciwnym kierunku.
4.2.2. Symbole w języku LD 4.2.2.1. Styki W języku dostępne są styki mające różne funkcje. Można je dodawać po lewej stronie logiki drabinkowej i łączyć z innymi stykami. Nie można ich dodawać w prawej części edytora, ponieważ jest ona zastrzeżona dla cewek. Typ danych styków to "BOOL". Można je łączyć z wejściami i wyjściami cyfrowymi lub parametrami bloków funkcyjnych o tym samym typie danych. Wynik spójnika logicznego styków w sieci można przydzielić do jednej lub więcej cewek. Każdy styk przedstawiany jest nazwą zmiennej, zdefiniowaną w oknie deklaracji zmiennych. Połączenia między stykami zależą od wymaganej logiki sterowania. Styki można łączyć szeregowo lub równolegle, lub szeregowo-równolegle, aby zasilić cewkę. Rodzaj styku Styk NO (normalnie rozwarty) Symbol Styk NC (normalnie zwarty) Zbocze narastające Zbocze opadające Oba zbocza 4.2.2.2. Różnice w stykach Styk NO (normalnie rozwarty) Dopóki styk nie zostanie przesterowany, prąd nie płynie a stan logiczny to "FALSE". Po przesterowaniu styku jego stan fizyczny zmienia się w "ON", a wynik to "TRUE".
Styk NC (normalnie zwarty) Ten styk odwraca stan zmiennej. Jest używany, gdy sygnał wejściowy NIE MUSI występować, aby móc nastawiać wyjście. Stan wyjścia to "FALSE", gdy stan wejścia to "TRUE". Zbocze narastające Ten styk wykrywa zbocze narastające sygnału. Jeżeli wartość zmiennej zmieni się z "FALSE" w "TRUE", tj. pojawi się zbocze dodatnie, styk ten zwraca stan "TRUE" przez jeden cykl. Służy to nastawianiu lub zerowaniu warunków, a także do zliczania liczby zboczy dodatnich. Zbocze opadające Ten styk wykrywa zbocze opadające sygnału. Jeżeli wartość zmiennej zmieni się z "TRUE" w "FALSE", wynik będzie "TRUE" przez jeden cykl. Służy to np. do nastawiania lub zerowania wyjść bądź zliczania ilości zboczy ujemnych. Oba zbocza Ten styk może służyć do wykrywania zbocza dodatniego lub ujemnego w sygnale cyfrowym. Zachowanie się to odpowiada połączeniu równoległemu zbocza narastającego i opadającego.
4.2.2.3. Cewki Cewki są podstawowymi elementami logiki drabinkowej. Znajdują się one zawsze po prawej stronie logiki drabinkowej jako wyjście. Cewki można podłączać na prawo od styków lub do wyjść bloków funkcyjnych. Obwód musi mieć co najmniej jedną cewkę. Można także połączyć kilka cewek w układzie równoległym. Każda cewka może służyć jako wyjścia cyfrowe lub zmienne wewnętrzne, wykorzystywane później w programie jako wejście dla innego obwodu. Gdy program jest wykonywany, wszystkie styki są w sposób ciągły odpytywane. Jeżeli powstanie ścieżka logiczna, cewka ma stan "TRUE". Do cewek można przypisywać tylko zmienne boole'owskie. Rodzaj cewki Cewka Symbol Cewka negowana Cewka SET Cewka RESET Cewka przejścia dodatniego Cewka przejścia ujemnego Oba zbocza
4.2.2.4. Różnice w cewkach Cewka NO (normalnie rozwarta) Jeżeli sygnał ma wartość "TRUE", to cewka jest włączona. Cewka NC (normalnie zwarta) Jeżeli sygnał ma wartość "TRUE", to cewka jest wyłączona. W innych przypadkach jest włączona. Cewka SET Cewka ta nastawia zmienną na wartość "TRUE", gdy występuje sygnał. Stan ten utrzymuje się aż do wyzerowania zmiennej. Dlatego jest to cewka warunkowa. Cewka RESET Cewka ta nastawia zmienną na wartość "FALSE", gdy występuje sygnał z wartością "TRUE".
Cewka przejścia dodatniego Cewka ta nastawia zmienną na wartość "TRUE" na okres jednego cyklu, gdy występuje sygnał z wartością "TRUE". W każdym kolejnym cyklu z tym samym sygnałem na wejściu wartość Cewka przejścia ujemnego Cewka ta nastawia zmienną na wartość "TRUE" na okres jednego cyklu, gdy występuje sygnał z wartością "FALSE". W każdym kolejnym cyklu z tym samym sygnałem na wejściu, wartość wyjścia jest "FALSE". Oba zbocza Cewka łączy w sobie funkcje cewki przejścia dodatniego i ujemnego. 4.2.3. Prosty program w języku LD Klikamy dwukrotnie na program lewym przyciskiem myszy. Po otwarciu okna do pisania programu w języku drabinkowym dodamy prosty program zapalający diodę po przełączeniu przycisku. W tym celu dodamy Normaly Open Contact oraz Coil.
W taki sposób aby utworzyły linię. Po wybraniu Normaly Open Contact klikamy na początek linii i wpisujemy nazwę zmiennej. Może być ona dowolna w tym wypadku nazwano ją wejście. Po kliknięciu ENTER kreator zaproponuje rodzaj zmiennej. Należy się upewnić, że zgadza się nazwa i jej typ, w tym wypadku BOOL. W analogiczny sposób postępujemy z Coil. Nazwa zmiennej wyjscie. Ostatnim krokiem przed kompilacją i wgraniem programu do sterownika jest przypisanie wcześniej utworzonych zmiennych do wyjść i wejść w modułach sterownika. Przechodzimy do System Designera, klikamy prawym przyciskiem myszy na moduł X1 sterownika i wybieramy I/O Mapping.
Klikamy dwukrotnie na kolumnę Process Variable przy wybranym wejściu, w tym wypadku DigitalInput01. Klikamy na symbol kropek zmienną., wybieramy program z którego chcemy podłączyć zmienną i samą Po zatwierdzeniu przyciskiem w kolumnie Process Variable pojawi się ścieżka do zmiennej. Te same czynności powtarzamy dla modułu X3, wyjścia DigitalOutput01 i zmiennej wyjscie.
Ostatnim krokiem jest wgranie programu do sterownika. Do tego użyjemy przycisku Transfer W oknie Output wyświetlany jest przebieg kompilacji. Ostrzeżenia wyświetlane są na zielono, a błędy na czerwono. Dalej wystarczy potwierdzić wszystkie zmiany przyciskiem. 4.2.4. Podgląd zmiennych i działania programu Po przejściu do okna programu i wybraniu przycisku monitora możemy podglądać pracę programu online. Po prawej stronie otworzy nam się okienko Watch, do którego możemy dodawać zmienne albo przeciągając je do okienka albo klikając prawym przyciskiem myszy na pole Watcha i wybierając Insert Variable Klikając na wartość zmiennej wejscie w okienku Watch zmieńmy jej wartość na TRUE.
Zmienna wejscie przeszła w tryb Force. W tym momencie jest ona odłączona od sterownika i może być sterowana tylko z poziomu programu. Aby podłączyć ją z powrotem należy kliknąć prawym przyciskiem myszy w Watchu na zmienną i wybrać Force Off. 4.2.5. Zadanie dla studentów Student ma za zadanie napisać program, który zasymulują działanie bramek logicznych na sterowniku. Wszystkie bramki mają znajdować się w jednym programie. Wszystkie wejścia i wyjścia z bramek mają zostać podłączone do fizycznych wejść i wyjść sterownika. Poniżej podano wymagane bramki wraz z tabelami.