Programowanie sterowników PLC (master-k) firmy LGIS
Objaśnienia na wstępie
P _ _ - Poprzez literę P oznaczamy fizyczne wejścia oraz wyjścia sterownika. I tak, jeśli w pierwszym slocie szyny bazowej umieścimy 16 bitwy moduł wejściowy a w drugim slocie 16 bitowy moduł wyjściowy, to oznaczenia od P00 do P0F traktujemy jako wejścia sterownika, a oznaczenia od P10 do P1F to 16 wyjść PLC-ka
M _ _ - Poprzez Literę M oznaczamy marker bitową komórkę pamięci, może też oznaczać całe słowo. Zapis M017 może oznaczać 7 (w zasadzie licząc od zera to 8)bit w słowie M01
D _ _ - Poprzez to oznaczenie rozumiemy 16 bitowy rejestr danych - nie da się adresować bitowo jak w przypadku markera M
Czytelność programu i ułatwienie korekty błędów
Dobrym zwyczajem Poprawiającym czytelność programu jest rozbicie jego na dwie sekcje. Program główny - gdzie używamy głównie markerów M oraz sekcję wyjściową, w której to podłączamy wirtualne znaczniki M do odpowiednich fizycznych wyjść PLC-ka. Powyższą idee przedstawia to zdjęcie:
Na zdjęciu wyżej przedstawiłem przykładowy program Start, Stop. W pierwszej części po wciśnięciu przycisku P00 następuje ustawienie flagi M00, którą można zresetować przyciskiem P01. Wierz lub nie, ale powyższa struktura to 60% wiedzy potrzebnej przy programowaniu sterowników PLC.
Programowanie z wykorzystaniem zboczy sygnałowych
Instrukcje D oraz DNOT
Instrukcje tego typu są zaimplementowane w każdym sterowniku PLC. Instrukcja D daje impuls trwający tylko w czasie kolejnego skanowania programu - działa na narastające zbocze sygnału wejściowego, instrukcja DNOT zaś na opadające zbocze sygnału. Poniżej przykładowy program wykorzystujący instrukcje:
Program działa następująco - Po wciśnięciu przycisku P1 zostanie uruchomiony silnik. Gdy maszyna dojedzie do sensora wyznaczającego kres drogi wówczas silnik się zatrzyma i na M1 pojawi się impuls uruchamiający zawór. Zawór ten otworzy się na czas, jaki ustawimy timerem T1
Kilka sposobów na zaprogramowanie PLC-ka
Istnieje zapewne wiele metod programowania, i każdy programista ma jakimiś swój styl. Ja sam miałem okazję poznać kilka, które w skrócie na tej stronce opisze dla potomnych :)
- Metody na PLC:
- Metoda z wykorzystaniem zmiennych sterujących:
- Założenie metody jest takie, że każdy kolejny cykl maszyny inkrementuje rejestr danych a następnie wartość tego rejestru jest zamieniana na flagę sterującą Na wyjaśnienie zasługuje instrukcja DECO. Jej zadaniem jest zamiana zmiennej sterującej na maskę bitową. Jeśli D0 ma ustawioną wartość 2 wówczas w M0 jest ustawiony bit 2, binarnie rejestr M0 wygląda tak 0000000000000100 Co za tym idzie bitowo flaga M00=0, M01=0, M02=1, M03=0... Zalety takiego sposobu programowania są następujące. Jeżeli do D0 wpiszemy wartość 3 to znajdziemy się w trzecim cyklu M/C(czytaj maszyny), a wpisanie wartości 0 to po prostu reset. Przedstawiony powyżej fragment programu działa następująco - Jeżeli maszyna jest na początku cyklu (D0=0), wycofana (P02=0) i przyciśniemy Przycisk Start (P00) to wówczas do D0 zostanie przypisana wartość 1(zapali się flaga M01) maszyna ruszy do przodu. Zatrzyma się dopiero, gdy osiągnie sensor P01. Następnie na czas TIMERA T1 załączy się zawór(D0=2), gdy minie czas T1 D0 ustawi się na 3 (M/C wyruszy w drogę powrotną), a po osiągnięciu sensora P02 cykl ustawi się na początek (wkopiowanie 0 do rejestru D0) Działa to następująco. Jeżeli maszyna jest na początku cyklu, ale znajduje się w pozycji do przodu, to następuje wkopiowanie 2 do rejestru sterującego(przeskok w cyklu do otwarcia zaworu). Aktywowany zostanie M02 "OPEN"
- Metoda odwrotna do standardowej:
- Standardowa metoda oparta jest na strukturze przedstawionej na początku strony. Korzystamy z niej w ten sposób, że kolejnym cyklem M/C resetujemy poprzedni. W metodzie odwrotnej nie resetujemy cyklu poprzedniego, lecz dopiero końcem cyklu maszynowego resetujemy cały program. Zaletą tej metody jest z pewnością sposób szukania awarii maszyny. Jeżeli maszyna zatrzyma się w cyklu (zakładając, że program jest pisany po kolei) to pierwszy nie aktywny sygnał wskaże nam przyczynę nieprawidłowości. Poniższy diagram przedstawia przykład zastosowania metody odwrotnej do napisania cyklu M/C. Ten sam cykl przedstawiony jest za pomocą metody zmiennych sterujących. Na uwagę zasługuje sekcja wyjściowa programu, która dla metody odwrotnej musi być lekko zmodyfikowana przykład zamieszczam na rysunku poniżej(kolejny cykl musi blokować wyjście aktywowane przez poprzedni)
Uwagi końcowe
- W ramach kursu nie przedstawiłem metody z wykorzystaniem instrukcji SET RST(reset) ale jest ona dość powszechna i sam znalazłem w necie kilka opisów
- Używaj instrukcji (one scan Time Pulse) w przypadku sterowników LG jest to instrukcja "D" jeżeli chcesz wystartować równoległy cykl M/C jest to metoda bezpieczna
Cykl open jest niezależny od cyklu M/C FOR RUN lecz jest przez niego startowany. Powyższa metoda zagwarantuje Ci, że cykl uruchamiany (u nas OPEN) nie wystartuje kilka razy w czasie trwania cyklu uruchamiającego (u nas M/C FOR RUN ) - Kurs jak i przykłady są pisane na sucho tzn. obecnie nie mam możliwości sprawdzenia w praktyce zaprezentowanych fragmentów programu. Jednak myślę, że spełni on swoje funkcje i da początkującym programistą metodę na PLC-KA. Każdy niech wybierze sobie swój sposób ten najbardziej wygodny. Z czasem samemu się zacznie miksować metody i być może opracować własną.