Delta ISP SOFT - Czyli jak zaprogramować swój sterownik Delta
Zakup i dobór odpowiedniego sterownika PLC to dopiero połowa drogi. Kolejnym krokiem jest jego odpowiednie zaprogramowanie. Jak to zrobić? Jakim językiem się posłużyć?
Każdy z producentów, dostarcza dla klientów specjalistyczne oprogramowanie przeznaczone dla danego modelu bądź całej serii. Najpopularniejszym wśród osób zaczynających swoją przygodę w temacie programowania PLC jest język drabinkowy LD. Swoją popularność w środowisku początkujących zawdzięcza swojej prostocie oraz intuicyjności. Dla sterowników programowalnych dostarczanych przez firmę Delta jest to program Delta ISP SOFT.
Język drabinkowy LD. Początki.
LD to skrót od angielskiej nazwy Ladder Logic. W języku polskim znaczy to dosłownie logika drabinkowa. Jego nazwa wzięła się od specyficznej budowy programu. Przedstawiony graficznie, dosłownie przypomina drabinkę. Kolejne po sobie czynności programu nazywane są szczeblami, zaś połączenie ich w pionie dwoma szynami upodabnia je do belki łączącej szczeble drabiny. Dodatkowo w programie oznacza się również urządzenia końcowe.
W celu napisania swojego pierwszego programu należy zapoznać się z algebrą Boole'a pomoże to nam lepiej zrozumieć logikę działania i programowania w języku zrozumiałym dla procesora.
Stan wysoki – Nazywany tak, gdy na wejściu/wyjściu sygnał wynosi 1.
Stan niski – Nazywany tak, gdy na wejściu/wyjściu sygnał wynosi 0.
Poniższe symulacje działań logicznych, zostaną wykonane w programie DELTA ISP.
Zaprzeczenie NOT
Jest logicznym zaprzeczeniem sygnału podanego na wejściu. Jeżeli na wejściu sygnałem (P) jest 1, to na wyjściu (Q), otrzymamy 0. I odwrotnie, jeśli P jest równe 0, to Q wyniesie 1. W języku LD operacja NOT wykonuje się za pomocą styku normalnie zamkniętego.
Ilustracja 1: Negacja sygnału Wejściowego
Instrukcja AND (koniunkcja)
Operacja AND daje nam sygnał Q równy 1 tylko wtedy gdy na wejściach P1 oraz P2 jednocześnie sygnał będzie równy 1. W przeciwnym wypadku Q zawsze będzie równe 0.
Instrukcja NAND (negacja AND)
Operacja NAND to inaczej zaprzeczenie operacji AND. Oznacza to, że na wyjściu Q otrzymamy stan logiczny równy 0 tylko w sytuacji, gdy na obu wejściach P1 i P2 stanem logicznym będzie 1.
W języku drabinkowy bramkę NAND otrzymujemy przez równoległe połączenie dwóch styków normalnie zamkniętych, będących połączeniem NOT i AND.
Instrukcja OR
Jej działanie jest bardzo proste. Na wyjściu Q otrzymamy stan wysoki, gdy jeden z dwóch styków P1 lub P2 jest w stanie wysokim. W języku drabinkowym powstaje tak samo, jak operacja NAND tylko ze zmianą obydwóch styków normalnie zamkniętych na normalnie otwarte.
Operacja logiczna NOR
Jest to zaprzeczenie OR. Czyli na wyjściu Q będzie równe 0, tylko gdy oba styki normalnie zamknięte będą włączone. Ponieważ Negacja P1=1 i P2=1 da wynik P1=0 i P2=0. Zapis w języku LD jest szeregowym połączeniem dwóch styków normalnie zamkniętych połączonych szeregowo.
Poniżej podaję tabelę operacji logicznych:
OPERACJA NOT
P
Q
0
1
1
0
OPERACJA AND
P1
P2
Q
0
0
0
1
0
0
0
1
0
1
1
1
OPERACJA NAND
P1
P2
Q
0
0
1
1
0
1
0
1
1
1
1
0
OPERACJA OR
P1
P2
Q
0
0
0
1
0
1
0
1
1
1
1
1
OPERACJA NOR
P1
P2
Q
0
0
1
1
0
0
0
1
0
1
1
0
Obsługa programu:
Po włączeniu programu w lewym górnym rogu. Klikamy File>New>New. Po wykonanej czynności naszym oczom ukaże się takie oto okienko.
W miejscu Project Name wpisujemy nazwę naszego projektu.
Controler Type ustawiamy w zależności od modelu sterownika. Przykładowo, jeśli jest to sterownik z serii DVP, ustawiamy Controller Type na DVP. Jeśli będzie to inny model, np. z serii AS ustawiamy Controller Type na AS.
PLC Type – wartość ustawiamy odpowiednio do typu naszego sterownika. Przykładowo: Sterowniki DVP-ES3 Series będą ustawione na wartość PLC type: ES3. Modele serii Delta Electronics AS 200/AS 300 ustawimy na wartość AS300 itd.
Drive Patch- To nic innego jak ścieżka gdzie zostanie zapisany stworzony projekt.
Aby połączyć się z naszym sterownikiem i móc wgrać do niego program. Należy pierw z paska narzędzi wybrać Tools>Communication Settings.
Wybieramy sterownik, z którym chcemy uzyskać połączenie, reszta ustawień pozostaje bez zmian.
I tu pojawia się dodatkowa zaleta programu. Jeśli nie chcemy pracować na "żywym organizmie", ponieważ boimy się o nasz sterownik. Wykorzystujemy funkcję programu COMMGR umożliwiającego nie tylko komunikację z prawdziwym sterownikiem, ale pozwalającego też na dokonanie wirtualnej symulacji połączenia. Jest niezbędny, jeśli chcemy zacząć jakąkolwiek pracę w programie DELTA ISP SOFT.
Przedstawię teraz 2 przypadki. Pierwszym będzie konfiguracja wykorzystująca opcję symulacji. Tak więc otwieramy COMMGR.
Po otworzeniu programu klikamy Add. Pojawi nam się powyższe okno. Ustawiamy nazwę naszego sterownika Driver Name. Oraz Type, czyli typ. Na DVP Simulator (symulator połączeń DVP).
Device to wybór serii sterownika z którego korzystamy.
Ostatnią czynnością po zatwierdzeniu OK jest włączenie symulatora poprzez wciśniecie START.
Wracając do programu ISP. Kolejnym krokiem będzie, klikniecie prawym przyciskiem myszy na Programs>New. Znajduje się on w lewym oknie programu. Po chwili ujrzymy okno Create proggram. W opcjach wyboru Language wybieramy język Ladder diagram (LD). Jest on standardowo ustawiany przez sam program.
Jeśli wykonałeś poprawnie wszystkie powyższe czynności. Twoim oczom ukaże się projekt gotowy do programowania.
W celu krótkiego wprowadzenia w obsługę opiszę kilka funkcji programu DELTA ISP Soft. Pomagających podczas pierwszego kontaktu z programem.
Narzędzie służy do dodania nowego szczebla w programie. Poprzedzającego aktualny. Tą samą czynność, dodającą następny szczebel ale już po aktualnym wykonamy za pomocą
Ikona to nic innego jak przejście w tryb pracy z kursorem, wybieramy miejsce w którym chcemy dodać, bądź zmodyfikować dany fragment programu.
Chcąc dodać początkowy styk (np. marker) korzystamy z
Po dodaniu go do programu, nad symbolem pojawią się 3 pytajniki
Klikając na nie zmieniamy nazwę na M0. Program automatycznie potraktuje taką nazwę jako Marker.
Mając pierwszy styk, dodajemy sobie urządzenie wyjściowe. Tak samo jak z markerem, nadajemy mu nazwę Y0. Jeśli natomiast chcemy dodać więcej niż jedno urządzenie wyjściowe, dodajemy rozgałęzienie
Fragment programu będzie wyglądał następująco:
Za pomocą do naszego programu dodajemy funkcje logiczne. Przykładowo niech będzie to funkcja logiczna porównania zmiennej
Kolejnym narzędziem jest wykrywanie zbocza.
Zbocze jest to moment w którym program reaguje na zmianę stanu z niskiego na wysoki, bądź odwrotnie. Inaczej mówiąc wykrywa reakcję na daną czynność np. przełączenie kluczyka w stacyjce. Zbocze działa przez dokładnie 1 cykl pracy sterownika.
Ostatnim narzędziem, które opiszę, jest dodawanie różnych funkcji logicznych np. tajmera, porównania wartości itd.. Po kliknięciu na ikonę pojawi się poniższe okno wyboru. Zaznaczamy All Types. Na liście wyszukujemy potrzebnej instrukcji i dodajemy ją do programu.
Wiedząc już do czego służą powyżej opisane narzędzia, przejdźmy do zaprogramowania naszego pierwszego sterownika.
Pierwszy program
Niech naszym pierwszym programem. Będzie sterowanie oświetleniem. Załóżmy, że naszym celem będzie coś przypominającego pierwotnie sygnalizację świetlną. Ustawmy czas działania na 30 sekund. Przez pierwsze 10 sekund zapali nam się pierwsze światło, po kolejnych 10 następne a po kolejnych trzecie, ostatnie.
Klikając dwukrotnie na nasz "szczebel (Network 1)" pojawi się takie okno:
Tutaj wpisujemy, co chcemy dodać, bądź wybieramy z listy, klikając 3 kropki. Poniżej opiszę wszystko w kolejnych krokach, posługując się komendami. Jeśli używanie skrótów i komend jest dla ciebie nie zrozumiałe, skorzystaj z narzędzi opisanych wyżej.
Krok 1 – Wpisujemy polecenie "AND M0". Jego wykonanie sprawi dodanie do programu markera o adresie M0.
Uwaga: KOMENDY DODAWAĆ BEZ CUDZYSŁOWIA!
Krok 2 – Chcąc ustawić czas, skorzystamy z funkcji TMR. Wpisując "TMR t0 300"
Aby poznać więcej funkcji oraz sposób ich działania skorzystaj z opcji znajdującej się na górnym pasku zadań. HELP>PLC INSTRUCTION AND SPECIAL REGISTERS REFERENCES
Krok 3 – Korzystając ze skrótu klawiszowego "CTRL + SHIFT + I" dodajemy do naszego programu następny szczebel.
Krok 4 – Do nowego szczebla dodajemy ponownie Marker M0.
Krok 5 – Teraz musimy dodać warunek sprawdzający, czy czas od rozpoczęcia jest większy od 0 i drugi sprawdzający, czy jest mniejszy lub równy 100.
Dokonujemy teko za pomocą polecenia: "ld> t0 0" oraz "ld<=100"
Krok 6 – Dodajemy nasze urządzenie końcowe, czyli śwaitło1.
"out y0".
Krok 7 – dodajemy 3 szczebel z markerem M0.
Krok 8 – ustawiamy kolejny warunek "ld> t0 100" i drugi "ld<= t0 200". Będzie on sprawdzał, czy czas działania jest dłuższy od 100 i czy jest on mniejszy bądź równy 200. Jeśli tak zaświeci się światło 2.
Krok 9 – Dodajemy światło2 "out y1".
Krok 10 – Tworzymy ostatni szczebel również z markerem M0.
Krok 11 – Ponownie dodajemy warunek "ld> t0 200" oraz "ld<= t0 300". Jeśli czas działania będzie dłuższy od 200 i mniejszy bądź równy 300 to zaświeci się światło3.
Krok 12 – Dodajemy światło 3 "out y2"
Krok 13 – Teraz za pomocą przycisku lub skrótu "CTRL+F4". Przechodzimy w stan online.
Program powiadomi nas o tym, że nasz program nie został jeszcze skompilowany. Potwierdzamy, klikając OK. Następnie Zapyta nas, czy chcemy pobrać obecny program do sterownika PLC. Ponownie potwierdzamy tak.
Krok 14 – Będąc w trybie online, na razie nasz sterownik jest ustawiony na pozycji "STOP". Aby to zmienić, używamy przycisku lub skrótu "CTRL + F11". Po chwili otrzymamy potwierdzenie przejścia w stan RUN z zapytaniem, czy na pewno chcemy kontynuować. Dajemy OK.
Nasz program już działa. Teraz prawym przyciskiem myszy najeżdżamy na marker M0 i ustawiamy SET ON. Po zmianie stanu marker zaświeci się na zielono. Poniżej pokazuję, jak powinien wyglądać działający program.
Dla pewności umieszczam kilka dodatkowych screenów z podawania komend:
Wiemy już jak działa symulacja sterownika DeltaDVP. Przejdźmy więc do pracy z prawdziwym urządzaniem. Osobiście skorzystam z modelu DVP20SX2.
Ponownie otwieramy program COMMGR. Tym razem zmieniamy typ połączenia Type z DVPSimulator na RS232/422/485, lub inny w zależności od sposobu połączenia. Oraz ustawiamy z jakiego portu COM korzystamy. W moim przypadku jest to COM4. Klikamy w opcję Auto-detect. Node ID ustawiamy na 0.
Po wykryciu połączenia z sterownikiem pojawi się okienko potwierdzające odnalezienie komunikacji.
Zatwierdzamy OK i włączamy klikając START.
Mając już komunikację z sterownikiem. Włączamy program ISP DELTA Soft. Tworzymy nowy projekt. Controller Type ustawiamy na DVP, a PLC Type na SX2. Poniżej zamieszczam zdjęcie sterownika firmy DELTA ELECTRONICS DVP20SX2 którym się posłużę.
Po stworzeniu nowego projektu z górnego paska zadań wybieramy Tools>Communication Settings. Wybieramy nasz driver, ustawiamy Station Addrers na 0. Program tworzymy w taki sam sposób jak za pierwszym razem (wróć do listy kroków).
Mamy już gotowe oprogramowanie, musimy je wgrać do sterownika. W tym celu, przełączamy go fizycznie na pozycję STOP.
Następnie, używamy narzędzia DOWNLOAD TO PLC Zostaniemy poinformowani o tym, że program nie został wcześniej skompilowany.
Potwierdzamy klikając OK. Jeśli program nie zawiera błędów, to ujrzymy takie okno
Po skończonym transferze, przełączamy sterownik z powrotem na tryb RUN.
Teraz możemy, włączyć nasz program, przechodząc w tryb online, ustawiając marker M0 na wartość Set On. Diody: 0, 1, oraz 2 powinny się kolejno zapalać
Pozostałe języki programowania sterowników PLC
Oczywiście istnieją jeszcze inne języki programowania sterowników PLC
Język FBD – oparty o połączenia bramek logicznych typu AND OR NOT NAND itd. Odczytując z nich wartości logiczne oraz, bazując na blokach funkcyjnych takich samych jak w języku LD.
Język Strukturalny ST – jest językiem przypominającym nieco C++ czy PASCAL. Jest łatwiejszą wersją języka IL. Programując w tym języku, mamy możliwość, korzystania z gotowych już funkcji, struktur i instrukcji. Większość nazw komend została zaczerpnięta z języka angielskiego. Np. if... then... else... while... do... Znając języki programowania: C++, PASCAL, C#, java script, phyton i innych, w których występują takie same komendy, bądź podobne, bardzo szybko można się go nauczyć.
Język IL – trudny i skomplikowany, dla doświadczonych programistów. Język ten to lista instrukcji. Język niskiego poziomu. Przypomina programowanie w języku assemblera. Wykonuje operacje logiczne, funkcje timerów, przerzutników. Są to programy z szybkim czasem wykonania. Niestety samo zaprogramowanie ich jest czasochłonne i wymagające dużego doświadczenia i wiedzy.
Delta jako jeden z producentów sterowników PLC dostarcza nam całkiem przyjemne oprogramowanie. Proste i intuicyjne w obsłudze. Opcja programowania w języku LD to dobre rozwiązanie. Nie tylko dla doświadczonych programistów, ale również dla osób zaczynających swoją przygodę z programowaniem PLC. Idealnym rozwiązaniem jest możliwość symulacji w połączeniu z programem COMMGR. Osoba niedoświadczona nie musi bać się o uszkodzenie sprzętu poprzez nieodpowiednią konfigurację. Kolejnym plusem programu z pewnością jest też narzędzie Pomoc, zawierającego w sobie całą gammę operacji logicznych odpowiednio opisanych i objaśniających zasadę ich działania. Również wygląd graficzny samego programu jest dobrze przemyślany, ułatwiając w ten sposób użytkowanie, a wyświetlane komunikaty o błędach są jasne i klarowne.
Tags: ISP Soft, PLC Delta program
Comments