Programowanie sterowników PLC Omrona
Słowo wstępu !!!
Napisanie tego rozdziału nie było łatwe z kilku powodów. Po pierwsze najpierw trzeba się czegoś nauczyć a to mi skutecznie utrudniał niejaki Carlos (sami wiecie który) Rumuński dyrektor(Włoch ale mówimy na niego Rumun) firmy sami wiecie jakiej :P. Za sprawą głównie tego debila udało mi się tylko kilka razy przemycić laptopa do pracy i protestować złożony z odzysku sterownik PLC. W ciągu kilku dni hakowania (w stresie aby nie dać się złapać Rumunowi) powstał między innymi projekt Farelka (ponieważ temperatura na hali spadała nawet do -4 stopni trzeba było wykombinować urządzenie grzewcze coby włączało się odpowiednio wcześniej i uczyniło bardziej znośnymi warunki pracy na warsztacie :P)
Opis sterownika i dodatkowego osprzętu
Sterownik, jaki udało mi się skompletować na warsztacie, składał się z: zasilacza, jednostki centralnej, (zawierała zintegrowane 16 wejść) CQM1H CPU-51 oraz modułu wyjść przekaźnikowych. Dodatkowo do wyświetlania aktualnej godziny oraz do ustawiania czasu załączenia farelki posłużył prosty pulpit operatorski NT2S-SF122B-EV2 .
- Dodatkowy osprzęt potrzebny aby zacząć zabawę ze sterownikiem
- Kable do programowania sterownika - ponieważ CQM1H CPU-51 zawiera port rs232 kabel do programowania można wykonać samemu według schematu poniżej :
- Kabel do programowania pulpitu operatorskiego - manual stronka 173
- Kabel do połączenia pulpitu ze sterownikiem - manual stronka 172
- Program Cx-One (Programowanie sterownika)
- Program NTXS (Programowanie pulpitu operatorskiego)
- Przelotka usb-rs232 (jeśli nie posiadasz w laptopie łącza szeregowego)
Galeria poniżej pokazuje inne sposoby połączenia się ze sterownikiem jakie udało mi się wykonać:
Trochę teorii
Co mnie bardzo zaskoczyło przy poznawaniu sterowników omrona to to, że działają one bardzo podobnie do już mi znanych sterowników LG. Instrukcje nazywają się wprawdzie inaczej ale zasada działania pozostaje zbliżona (nie sprawia problemów znalezienie omronowskich odpowiedników instrukcji znanych mi ze sterowników LG). Zaznaczyć chciałem że te sterowniki omrona mają (albo mi się tak wydaje gdyż nie posiadam dostatecznej wiedzy) znaczne więcej wad
- Niedociągnięcia w sterownikach omrona:
- Wspólna przestrzeń adresowa dla liczników i timerów (czyli używasz T0 nie możesz skorzystać z C0)
- Stała podstawa Czasu dla Timera - W sterownikach LG można było sobie przypisać z jaką podstawą czasu ma działać Timer. następnie ten timer wykorzystać do czego się komu podoba. Omrony mają inaczej! Tutaj są specjalne instrukcje dla szybkich Timerów i ich zastosowanie jest ograniczone
- Nie mogłem również znaleźć managera, który by mi pokazał jakie adresy mam wykorzystane w programie a jakie do dyspozycji. W sterownikach master-K mimo że wydają się prostsze jest to bardzo ładnie rozwiązane.
Poniższy screen przedstawia podstawowy program Prawo-Lewo dla sterownika omron. Program ten posłuży w dalszej części kursu do zademonstrowania wizualizacji z wykorzystaniem środowiska INTOUCH.
Adresy 12.0, 12.1 oraz 12.2 potraktujemy jako markery, które będziemy nadpisywać w dalszej części kursu przy pomocy oprogramowania SCADA lub pulpitu HMI. Wspomniałem już, że część instrukcji spotykanych w sterownikach LG mamy również w omronie. Na zdjęciu poniżej przedstawię jak wygląda przykładowy program napisany metodą zmiennych sterujących dla sterownika omrona.
Ten kod może wydawać się troszkę bezsensu:). Dla tych, którym się nie chce analizować wyjaśniam, że jest to program typu Start-Stop (z wykorzystaniem tylko jednego przycisku). Aby przejść do następnego cyklu programu należy przytrzymać przycisk na czas ustawiony na timerach. Ostatni wers w programie to sposób jak w jednej linii umieścić dwa sygnały wyzwalające to samo wyjście. Działanie tego fragmentu kodu można wytłumaczyć na zasadzie algebry Boole, która brzmi A+B = nie(nieA*nieB) (Również ta metoda jest o wiele lepiej dopracowana w sterownikach LG, Ponieważ operator negacji mogę sobie wprowadzić w dowolnym miejscu nie istnieje tam widoczny tutaj symbol "zanegowanej cewki").
Prosta wizualizacja DDE-Serwery
Aby móc ze swojego laptopa sterować sterownikiem PLC najprostszym rozwiązaniem jest znalezienie aplikacji (serwera), który dane ze sterownika udostępni nam w postaci prostego protokołu ogólnie znanego. Mój wybór padł na DDE. Dla sterowników omrona znalazłem dwa DDE-Serwery. Jeden jest dostarczony razem z pakietem Cx-one v1.0 nazywa się po prostu DDE-manager, a drugi to DaSerwer firmy wonderware "DASOMHL". Przewaga tego drugiego ujawnia się już na etapie konfiguracji gdzie możemy ustawić czas odświeżania zmiennej w znacznie szerszym zakresie. Minimalny czas odświeżania dla DDE Managera wynosił 1s co nie zawsze bywa zadowalające. Warto jeszcze wiedzieć, że adresowanie DDE (bo tego protokołu użyję w przykładach) opiera się na trzech parametrach 1 nazwa aplikacji, 2 nazwa tematu, 3 nazwa zmiennej. Poniższa tabelka wyjaśni jak mają się te pola dla dwóch wymienionych przezemnie DDE-SERWERÓW
| DaSerwer | DDE MANAGER | |
| Nazwa Aplikacji | dasomhl | cdmdde |
| Nazwa Tematu | ustawiany w DASerwer tu "plc" | ścieżka do pliku z projektem "c:\omron\t1.cdm" |
| Nazwa zmiennej | mamy 3 zmienne ustawiane "prawo","lewo","stop" |
mamy 3 zmienne ustawiane "/prawo","/lewo","/stop" |
O konfiguracji DDE Managera można poczytać w tym dokumencie. Ja zaś z mojej strony dołączę zdjęcia ekranu. Ponieważ strona ma być bardziej o sterownikach a mniej o wizualizacji. Skupię się bardziej na konfiguracji parametrów do komunikacji ze sterownikiem.
Ustawienie DDE-MANAGERA
Ustawienie DaSerwera
W serwerze dde firmy wonderware adresy fizyczne piszemy troszkę w innej notacji niż dla DDE managera, a mianowicie nie wolno nam zapomnieć o przedrostku IR a adres monitorowanego bitu podajemy po znaku":"(ostatnie zdjęcie w galerii)
Prosta wizualizacja - Aplikacja INTOUCH
Gdy mamy już poprawnie skonfigurowany DDE serwer możemy zacząć tworzyć prosty pulpit operatorski w środowisku intuch. Pulpit ten będzie się składał z 3 przycisków prawo, stop, lewo. dla każdego z tych przycisków będzie przypisana odpowiednia zmienna DDE którą udostępni nam DDE-SERWER. W sieci jest wiele materiałów odnośnie podstaw środowiska intuch więc na ten temat nie będę się rozpisywał. Wyjaśnię tylko, że przyciski tworzymy przy pomocy wizarda(ikonka z kapelusikiem czarodzieja) w polu TAG wpisujemy dowolną nazwę (będzie to zmienna wewnętrzna intucha) następnie edytujemy typ zmiennej na IO-Discrete.
Pole ITEM to nazwa naszej zmiennej, natomiast w okienku "akces name" Definiujemy dwa pozostałe parametry brakujące do prawidłowego zaadresowania zmiennej DDE (nazwa aplikacji i nazwa tematu)