Partnerzy portalu iAutomatyka.pl

ZOSTAŃ PARTNEREM PORTALU

Korporacja Mitsubishi Electric, posiadająca 90 lat doświadczenia w zakresie dostarczania niezawodnych, wysokiej jakości innowacyjnych produktów w dziedzinie automatyki przemysłowej, produkcji, marketingu i sprzedaży urządzeń elektrycznych i elektronicznych. Programowalne sterowniki PLC, rozwiązania napędowe, roboty przemysłowe, panele dotykowe, wycinarki laserowe i sterownie CNC firmy Mitsubishi Electric zaliczają się do produktów najwydajniejszych na rynku i gwarantują sukcesy firmy już od ponad 30 lat.

WAGO jest producentem urządzeń automatyki przemysłowej i budynkowej oraz systemów połączeń dla elektrotechniki i elektroniki. Powstanie w 1951 roku firmy WAGO było wyrazem przekonania o słuszności obranego kierunku i stworzyło podwaliny pod dalszy rozwój technologii. Z czasem stała się ona standardem na całym świecie i teraz nie sposób wyobrazić sobie nowoczesnej instalacji elektrycznej czy systemu automatycznego sterowania bez wyrobów WAGO.

Eaton Electric jest producentem najwyższej jakości automatyki przemysłowej, aparatury sygnalizacyjnej, łączeniowej, zabezpieczającej i instalacyjnej oraz systemów rozdziału energii niskiego napięcia. Międzynarodowe nagrody oraz certyfikaty są dowodem, iż produkty Eaton Electric odpowiadają najnowszym standardom bezpieczeństwa i wymaganiom jakości. Wszystkie nasze wyroby gwarantują długoletnie działanie.

Generic selectors
Exact matches only
Szukaj w tytule
Search in content
Szukaj postów i artykułów
Search in pages
Szukaj w katalogu firm

KILKA PORAD PROGRAMOWANIA PLC

26408 wyświetleń
W tym wpisie chcę podzielić się z Wami zasadami, jakimi kieruję się przy programowaniu sterowników PLC. Bez obaw, nie będę tłumaczył funkcji logicznych ani programowania drabinkowego. Przedstawię kilka porad i trików ułatwiających nie tylko bieżące pisanie programu ale również późniejszą analizę i modernizację.

W swojej karierze miałem do czynienia z wieloma sterownikami różnych producentów. Napotykałem między innymi sterowniki marki Siemens, Allan Bradley, GeFanuc, Horner, Unitronics i inne. Wiele z nich zaprogramowałem od podstaw ale miałem też sporo przypadków, gdzie musiałem zmodernizować program lub go dokładnie przeanalizować. Natknąłem się przy tym na różne style programowania., gdzie jedne budziły podziw i stanowiły inspirację, inne zaś odpychały od monitora. Nie jestem jakimś Guru programowania sterowników PLC jednak nie jeden sterownik, który zaprogramowałem działa do dzisiaj. Pozwól zatem, że podzielę się z Tobą moimi spostrzeżeniami.

#0 Zapoznaj się ze środowiskiem programowania

Nie ważne jaki sterownik PLC zaczynasz programować, w każdym oprogramowaniu, czy to będzie TiaPortal, Simatic Manager – Step 7, RSLogix czy jakikolwiek inny to powinieneś na początku poświęcić trochę czasu na zapoznanie się z tym środowiskiem programowania. Na początku zapoznaj się z możliwościami tego programu, sprawdź jakie sterowniki i moduły możesz nim zaprogramować. Skonfiguruj ustawienie okien i powyciągaj skróty najczęściej używanych funkcji. Wciśnij klawisz F1 i sprawdź jakie są skróty klawiaturowe. Np. w step 7 F2, F3 wstawiają w programie drabinkowym bramki NO i NC. Spisz lub wydrukuj sobie takie skróty, połóż na biurku i korzystaj z nich.

Sprawdź jakie narzędzia udostępnia Twoje oprogramowanie. Przykładowo w TiaPortal i Step 7 są narzędzia do generowania mapy pamięci sterownika „Cross Reference”. Dzięki temu narzędziu można sprawdzić które obszary pamięci są już wykorzystane i uniknąć wykorzystania np. tego samego markera w dwóch różnych operacjach.

Generalnie: nie rozpędzaj się zbyt szybko, poświęć chwilę na zapoznanie się z narzędziami programowania.

ZALETY:

  • Sprawniejsze pisanie programu,
  • Optymalizacja programu dzięki narzędziom oprogramowania,
  • Programowanie PLC staje się mniej uciążliwe dzięki personalizacji środowiska do programowania.

#1 Organizuj pliki programów

Wypracuj w sobie dobre nawyki. Jednym z nich jest dobra organizacja plików programów PLC. Utwórz swoją własną strukturę folderów, gdzie podzielisz je np. na klientów, pomieszczenia czy maszyny – to już zależy od Twojego charakteru pracy.

Każdą wersję programu zapisuj w nowym pliku/projekcie o nazwie w jednym formacie. Jak dotąd najbardziej odpowiada mi nazwa pliku czy folderu z datą, nazwą i wersją programu:

format: RRRR_MM_DD_NAZWA_WERSJA
np: 2015_07_26_maszyna_do_pakowania_V0.4

Dzięki dacie wiadomo w jakim czasie powstała ostatnia wersja programu, ale też przy wielu projektach wiadomo, kiedy powstała pierwsza wersja, a kiedy ostatnia aktualizacja programu PLC. 

Nazwa określa klienta, miejsce lub rodzaj maszyny w zależności od charakteru projektu.

Wersja programu finalnie nie jest konieczna. Przydaje się w przypadku testowania programu, kiedy tworzymy kilka wersji jednego dnia i kolejno wgrywamy je do sterownika PLC. Taka praktyka jest niezwykle przydatna np. po przypadkowym usunięciu części programu PLC – zawsze można wrócić odo poprzedniej wersji :). Programista docenia to dopiero jak utraci  wielogodzinną pracę na programem PLC.    

Analogicznie można postępować nazywając foldery a w nich umieszczać pliki programu o dowolnej nazwie.

ZALETY:

  • Organizacja plików pozwala na sprawniejsze zarządzanie programami,
  • Wybierając początek nazwy jako RRRR_MM_DD programy będą ustawiać się od najstarszego do najnowszego.

#2 Pisz historię programu PLC

Do każdego projektu PLC możesz utworzyć zwykły plik .txt i umieścić go w głównym folderze z wersjami danego programu PLC. Zapisuj w nim każdą zmianę lub szereg zmian  od momentu finalnej „działającej” wersji programu PLC. Przykład umieściłem na poniższym rysunku:

Organizacja_programow_PLC_Organize

Rys. 1 – Przykład organizacji plików programów PLC i prowadzenia pliku z historią programu

ZALETY:

  • Zarówno Ty jak i każdy inny, komu udostępnisz pliki programu będzie znał historię zmian. Jest to bardzo przydatne w przypadku kilku osób mających dostęp do sterownika PLC – w razie nieprawidłowego działania inna osoba może wgrać poprzednią wersję.
  • Z perspektywy czasu zapominamy jak działa program mimo, że sami go napisaliśmy dlatego im więcej zapiszemy podczas jego tworzenia tym lepiej. 
  • Jedno odpowiednie zdanie z przed roku może przypomnieć bardzo wiele. Bez niego musiałbyś np. analizować na nowo część kodu programu.

#3 Dobrze nazywaj zmienne / symbole w programie

W każdym środowisku programowania zmienne (słowa, bity itp.) można opisywać za pomocą symboli i/lub komentarzy. Małe programy bez szczegółowych komentarzy nie stanowią dużego wyzwania, duże programy bez dobrych opisów są bardzo trudne do analizy. Dobrze opisany program ułatwia programiście dalszą pracę ale też pozwala innym lepiej ten program eksploatować. Jest kilka szkół opisywania adresów danych, niektóre programy zawierają opisy skrótowe a niektóre bardziej szczegółowe. Dokładne opisywanie zajmuje sporo czasu i stosuje się je programach powtarzalnych np. kiedy firma sprzedaje dużo produktów z oprogramowaniem PLC.

Nazwa symbolu (tag) zmiennej zazwyczaj jest ograniczona do kilku znaków. Często symbol zmiennej jest opisywany skrótowo. Dobrze, jeżeli przez ten symbol jesteśmy w stanie wywnioskować jego znaczenie. Przykładowo czujnik optyczny 11B2 jest zainstalowany na transporterze TRX-11. Symbol  zmiennej odpowiadającej za działanie tego czujnika mógłby nazywać się następująco:

  • OPT_11B2_TRANS_TRX-11

Ważne przy tym jest aby następne czujniki i pozostałe zmienne nazywać analogicznie, zachowując logiczny ciąg. Kolejnego czujnika optycznego 12B6 na transporterze TRX-24 nie powinniśmy nazywać np.:

  • FOTOKOMORKA_12B6_TRX-24
    a reczej:
  • OPT_12B6_TRANS_TRX-24

Niektóre oprogramowania PLC nie tolerują spacji i np. polskich znaków w nazwach symboli. Miałem taki przypadek: Musiałem zaprogramować i skomunikować sterownik PLC S7-1200 Siemens i panel dotykowy firmy WEINTEK. W sterowniku PLC S7-1200  używałem w nazwach symboli polskich znaków bez problemu. Dopiero gdy skorzystałem z opcji importowania zmiennych z S7-1200 do WEINTEKA zaczęły się problemy. Zmienne bez polskich znaków były odczytywane i wyświetlane prawidłowo a te z polskimi znakami już nie :).

Do zmiennych w niektórych oprogramowaniach można dodawać komentarze, które nie są widoczne bezpośrednio w kodzie programu a dopiero np. po najechaniu myszką na daną zmienną. Nie tyle dla programisty PLC ale do późniejszego analizowania programu przez inne osoby jest to niezwykle pomocne. Komentarz do naszego czujnika optycznego 11B2 mógłby być następujący:

  • „11B2 – wejście I2.6 – Czujnik optyczny NO na wjeździe transportera TRX-11”

Poniżej zamieszczam przykład ze środowiska TiaPortal Siemensa:

Rys. 2. Przykład ze szczegółowym komentarzem zmiennej w programie PLC

Rys. 2. Przykład ze szczegółowym komentarzem zmiennej w programie PLC

Osobiście uważam, że opisywanie zmiennych co najmniej symbolami w programach PLC jest konieczne. Pominięcie tego obowiązku powinno być karane komisyjną chłostą programisty 🙂

ZALETY:

  • Im więcej opisów zmiennych tym program jest czytelniejszy,
  • Gdy powracamy do programu z przed kilku miesięcy czy nawet lat doceniamy nasz wysiłek włożony w dokładne opisywanie!
  • Program jest czytelny osobom trzecim np. w diagnostyce nieprawidłowego zachowania układu sterowania

#4 Opisuj program PLC

Jeżeli mamy sporo czasu na pisanie programu PLC to warto pokusić się o szczegółowe opisy linijek kodu. Zwłaszcza w przypadku dużych i/lub skomplikowanych programów. Myślę, że każdy network powinien zawierać chociaż tytuł. Niektóre środowiska programowania pozwalają na dodawanie szczegółowych komentarzy do każdego network’a. Przykład w TiaPortal:

Rys. 3. Komentarz do Network'a w programie PLC

Rys. 3. Komentarz do Network’a w programie PLC

ZALETY:

  • Im więcej opisów zmiennych tym program jest czytelniejszy,
  • Gdy powracamy do programu z przed kilku miesięcy doceniamy nasz wysiłek włożony w dokładne opisywanie!
  • Program jest czytelny osobom trzecim np. w diagnostyce nieprawidłowego zachowania układu sterowania

#5 Organizuj przestrzeń pamięci bitowej

Jeżeli w sterowniku nie można organizować pamięci w tablicach to przed przystąpieniem do pisania programu PLC postaraj się chociaż wstępnie rozpisać zapotrzebowanie na obszar pamięci sterownika. Spróbuj oszacować ile słów (rejestrów) będzie wykorzystywane w programie i podziel je funkcjonalnie.

Przykładowo, jeżeli  mamy układ składający się z 10 urządzeń pomiarowych, z których otrzymujemy po jednym pomiarze. Chcemy je zapisywać do rejestrów 32 bitowych typu REAL (float). Nasze pomiary są konfigurowalne z poziomu panela operatorskiego i każde urządzenie pomiarowe wymaga jednej nastawy (parametr nastawialny).  Programujemy sterownik firmy Siemens.

Możemy zatem przyjąć taktykę, że nasze wartości pomiarowe zaczynają się od adresu pamięci MD100:

  • MD100 – pomiar 1
  • MD104 – pomiar 2
  • MD108 – pomiar 3
  • MD112 – pomiar 4
  • ….
  • MD136 – pomiar 10

Nie przewidujemy więcej urządzeń pomiarowych w naszym układzie ale przezornie zostawiamy kilka rejestrów rezerwowych na przyszłe pomiary. Dalej możemy definiować rejestry z nastawami np.:

  • MD160 – nastawa 1
  • MD164 – nastawa 2
  • MD168 – nastawa 3
  • MD172 – nastawa 4
  • ….
  • MD196 – nastawa 10

Głównie chodzi o to, aby zachować analogię i logiczny ciąg parametrów. Nie powinno się mieszać rejestrów pozostawiając je w nieładzie. Im większa powtarzalność Twojego programu tym bardziej jest on czytelny.

ZALETY:

  • Porządek w rejestrach,
  • Czytelność programu poprzez analogię i powtarzalność,
  • Większa kontrola nad pamięcią sterownika.

#6 Korzystaj z bloków danych

Korzystanie z bloków danych (np. w sterownikach Siemens czy Allen Bradley) w znaczny sposób ułatwia organizowanie pamięci sterownika. Rejestry programu mogą być przypisane do odpowiednich bloków ze względu na funkcję, miejsce, struktury, grupy urządzeń itd. Umieszczając rejestry w blokach danych nie musimy przywiązywać zbytnio uwagi na porządek, tak jak  korzystając z pamięci bitowej M ponieważ tablice te są od siebie niezależne.

Przykład 1:

  • DB1 – Przepływomierze (pomiary i nastawy)
  • DB2 – Czujniki ciśnienia (pomiary i nastawy)
  • DB3 – Pompy (pomiary i nastawy)
  • DB4 – Alarmy
  • DB5 – …..

Przykład 2:

  • DB1 – Wartości pomiarowe (przepływomierze, cz. ciśnienia, pompy)
  • DB2 – Nastawy (przepływomierze, cz. ciśnienia, pompy)
  • DB3 – Alarmy
  • DB4 – ….

ZALETY:

  • Większy porządek w rejestrach,
  • Czytelność programu poprzez analogię i powtarzalność,
  • Jeszcze większa kontrola nad pamięcią sterownika.

 

CDN.

Co o tym myślisz? Napisz w komentarzu!

komentarzy

13 grudnia 2015 / Kategoria: , ,
  • Autor: Marcin Faszczewski
  • Założyłem blog i portal iAutomatyka.pl aby wspólnie z Automatykami, Firmami i Integratorami publikować i szerzyć informacje związane z automatyką.  Nazywamy to Projektem iAutomatyka!

    Od artykułów wyjaśniających zasady w świecie automatyki po wpisy informacyjne z wydarzeniami firm. Zapraszam Automatyków do założenia bezpłatnego konta i publikowania artykułów o automatyce razem z nami. Zapraszam też firmy do założenia profilu i umieszczenia swojej działalności w katalogu i na mapie automatyki jak i publikowania artykułów wśród społeczeństwa automatyków.

    Dołącz do projektu jako Integrator Automatyki.

    Dołącz do projektu jako Automatyk.

    Dołącz do projektu jako Firma, Producent, Dystrybutor.

  • Profil Autora
  • http://iautomatyka.pl/

POLECANE ARTYKUŁY

Jak przygotować stanowisko do składania szaf sterowniczych i elektrycznych

Jeśli niejedną szafę masz już za sobą to pewnie wiesz, że po 8 godzinach składania rozdzielnicy nasz kręgosłup boli jakby zaraz chciał pęknąć. Dlatego przygotowanie odpowiedniego stanowiska to totalna podstawa nie tylko ze względu na ergonomiczność pracy, ale również ze względu na porządek i czas. Pomieszczenie do składania i obróbki rozdzielnicy Dobrze gdy dysponujemy dwoma pomieszczeniami.

Jak przygotować stanowisko do składania szaf sterowniczych i elektrycznych

Konkurs Mikołajkowy iAutomatyka.pl

Święta zbliżają się wielkimi krokami, więc z okazji Mikołajek mamy dla Was prezent. Grono członków naszej grupy Automatyk może więcej z dnia na dzień rośnie – dlatego jako administratorzy grupy organizujemy mikołajkowy konkurs. Co to za grupa?  Grupa Automatyk może więcej składa się z inżynierów Automatyki pod różną postacią oraz z ludzi zainteresowanych branżą automatyki

Konkurs Mikołajkowy iAutomatyka.pl

Promocja na zestaw EATON: PLC/HMI + Moduł CAN + 16DIO + Licencja CoDeSys

Mamy dobre nowiny! Wspólnie z firmą EATON opracowaliśmy zestaw, który pozwoli na samodzielne programowanie PLC, budowanie wizualizacji HMI, utworzenie sieci komunikacyjnej CAN RS485 i Ethernet oraz sterowanie fizycznymi wejściami i wyjściami! Zestaw umożliwi również zbudowanie wizualizacji na przeglądarkę internetową co oznacza, że można przetestować zdalne sterowanie przez smartfon dzięki sieci np. WIFI.  Wszystko to zbudujemy

Promocja na zestaw EATON: PLC/HMI + Moduł CAN + 16DIO + Licencja CoDeSys

Drukarka do oznaczeń elementów automatyki od WAGO – Film

Firma Wago zachęca do zapoznania się z najefektywniejszym systemem oznaczania. Drukarka termotransferowa smartPRINTER (258-5000) doskonale nadaje się do szybkiego i łatwego oznaczania kompletnej szafy rozdzielczej. Drukarka smartPRINTER umożliwia nadruk na wielu różnych materiałach, takich jak: paski i tabliczki oznacznikowe, tabliczki znamionowe, tabliczki na przycisk, etykiety, oznaczniki na przewody i kable. Przyjrzyjmy się bliżej, dzięki smartPRINTER

Drukarka do oznaczeń elementów automatyki od WAGO – Film

Jak się połączyć ze sterownikiem Mitsubishi Electric FX5U w GX Works3

Inżynierom, którzy mają za sobą kilkanaście producentów sterowników PLC nie jest dużym problemem z połączeniem się nowo poznanego. Robią to intuicyjnie ponieważ mimo innego producenta, procedura połączenia zawsze jest podobna. Mitsubishi nie odbiega od normy, a połączenie sterownika z komputerem osobistym jest bardzo prosta, co udowodnię w poniższym artykule. Sposób połączenia Zanim dojdziemy do konfigurowania

Jak się połączyć ze sterownikiem Mitsubishi Electric FX5U w GX Works3

Eaton minimalizuje czas przestoju maszyny wykorzystując system SmartWire-DT

Eaton minimalizuje czas przestoju maszyny do przygotowywania warzyw w celu zapewnienia maksymalnie świeżych produktów. Wyzwaniem, jakie napotyka firma König, producent maszyn do zbioru i obróbki warzyw, jest niezawodne i bezpieczne przygotowywanie oraz pakowanie produktów spożywczych, przy zachowaniu jak najwyższej dostępności. Aby zaspokoić te potrzeby, König szukał wsparcia ze strony specjalisty, który umożliwiłby im tworzenie wysokiej jakości maszyn

Eaton minimalizuje czas przestoju maszyny wykorzystując system SmartWire-DT

KATEGORIE POSTÓW
Bądź na bieżąco!
POLECANY POST

Promocja na zestaw EATON: PLC/HMI + Moduł CAN + 16DIO + Licencja CoDeSys

Mamy dobre nowiny! Wspólnie z firmą EATON opracowaliśmy zestaw, który pozwoli na samodzielne programowanie PLC, budowanie wizualizacji HMI, utworzenie sieci komunikacyjnej CAN RS485 i Ethernet oraz sterowanie fizycznymi wejściami i wyjściami! Zestaw umożliwi również zbudowanie wizualizacji na przeglądarkę internetową co oznacza, że można przetestować zdalne sterowanie przez smartfon dzięki sieci np. WIFI.  Wszystko to zbudujemy

Promocja na zestaw EATON: PLC/HMI + Moduł CAN + 16DIO + Licencja CoDeSys

NAJNOWSZE POSTY
POLECANE FIRMY I PRODUKTY
Patronujemy

Partnerzy portalu

Wszystko stanie się prostsze po zalogowaniu :)

Przypomnij hasło

Nie masz konta? Zarejestruj się

Forgot your password?

Enter your account data and we will send you a link to reset your password.

Your password reset link appears to be invalid or expired.

Close
z

    Przetwarzamy pliki... jeszcze chwilka…