Reklama: Chcesz umieścić tutaj reklamę? Zapraszamy do kontaktu »
Faulhaber robotic
Powrót do listy artykułów Aktualizowany: 2018-11-21
Dobre praktyki programistyczne w automatyce

Nierozłączną częścią automatyki przemysłowej jest oprogramowanie sterowników. Choć jest to jedyny niewidzialny element maszyny, ma kluczowy wpływ na niezawodność oraz wydajność urządzenia. Dostarczenie kodu który nie tylko działa, ale jest również prawidłowo przygotowany ma wiele zalet zwłaszcza w fazie rozwoju projektu oraz późniejszego utrzymania. 

Dobre praktyki programistyczne w automatyce (ilustracja nadesłana)
Dobre praktyki programistyczne w automatyce (ilustracja nadesłana)

Wybór technologii do zadania

Zgodnie z normą IEC 61131-3 definiuje się pięć podstawowych języków programowania sterowników przemysłowych. Największą popularnością zdecydowanie cieszy się język drabinkowy – LD. Ale czy jest to rozwiązanie najlepsze do każdej aplikacji? Należy się szczegółowo przyjrzeć możliwością jakie dają wszystkie dostępne technologie:

  • LD – drabinka – graficzny język programowania, charakteryzuje go duże podobieństwo do układów przekaźnikowych. Bardzo szybki i użyteczny przy programowaniu zależności kombinacyjnych, oraz diagnostyki wejść/wyjść podczas wytwarzania oprogramowania. Stosowanie pętli w tym języku nie jest najszybszym rozwiązaniem.
  • ST – tekst strukturalny – tekstowy język programowania, jest bardzo podobny do innych znanych z obszaru IT języków programowania takich jak Pascal lub C. Tutaj w bardzo łatwy i szybki sposób można tworzyć rozbudowane zależności sekwencyjne. Bardzo ważną cechą tej technologii jest również optycznie mała ilość kodu względem cewek drabinki.
  • FBD – schemat funkcjonalny – graficzny język programowania, charakteryzuje go duże podobieństwo do schematów elektrycznych. Połączenia i zależności można opisywać rysując odpowiednie grupy, przez składanie ze sobą modułów przerzutników, zegarów, i wielu innych dostępnych bloków.
  • SFC – schemat sekwencyjny – graficzny język, gdzie programy zapisywane są w postaci diagramów stanów, zgodnie z ogólną koncepcją sieci Petriego. Pozwala to na łatwe tworzenie sekwencji. Dany stan może mieć kilka kroków wejściowych lub wyjściowych co pozwala na tworzenie algorytmów równoległej obsługi.
  • IL – lista rozkazów – niskopoziomowy język tekstowy, opisujący bardzo szczegółowo co i jak ma zrobić procesor. Dużą zaletą tego języka jest ponadprzeciętna szybkość wykonania instrukcji, ale z drugiej strony jest duża ilość kodu. Ze względu na coraz większe moce obliczeniowe sterowników, używany już bardzo rzadko – wyłącznie do obsługi sekcji krytycznych.

Świadomość zalet i wad każdej z technologii pozwala na wybranie odpowiedniego języka do oprogramowania danej aplikacji. Należy też wspomnieć, że nic nie stoi na przeszkodzie aby łączyć ze sobą powyższe rozwiązania w jednej aplikacji.

 

Świadomy dobór typów zmiennych

Niezależnie od wybranego języka programowania do przechowywania zmiennych należy wybrać odpowiedni typ danych. Prawidłowo dobrany typ danych pozwala na optymalne używanie pamięci oraz odpowiednie uporządkowanie danych zgodnie z przeznaczeniem. Podstawowe typy danych pozwalają na przechowywanie:

  • Wartości binarnych - BOOL
  • Wartości całkowitych – INT
  • Wartości zmiennoprzecinkowych - REAL
  • Znaków – CHAR / BYTE / WORD
  • Czasu trwania – TIME
  • Daty – DATE

Do tego dochodzą modyfikatory tych typów, takie jak informacja o tym czy zmienna jest bez znaku: U(unsigned) oraz modyfikatory rozmiaru S(short) / D(double) / L(long). Dobranie odpowiednich zmiennych pozwala również na prawidłowe przekazywanie wartości w programie.

 

Nomenklatura

Bardzo ważną kwestią podczas tworzenia kodu programu jest spójność nazw. Takie podejście pozwala na szybką analizę kodu, oraz znacznie poprawia czytelność programu. Można tutaj zastosować różne praktyki. Bardzo dobrym rozwiązaniem jest używanie nazw takich samych jak w dokumentacji elektrycznej. Czasem jednak ze względu na ich rozmiar stosuje się skróty myślowe, o które należy zadbać aby były spójne w całym projekcie. Dobrą praktyką przy rozbudowanych aplikacjach jest stosowanie prefiksów w nazwie zmiennej. Pozwala to na szybkie zlokalizowanie której sekcji lub jakiej peryferii ta zmienna dotyczy.

 

Czytelność programu

Zależnie od wybranej technologii programowania działania będą inne, ale najważniejszą dobrą praktyką programowania, jest estetyka kodu. Równe ułożenie obiektów graficznych, wcięcia w tekście przy używaniu pętli oraz stosowna liczba komentarzy. Trzymanie się tych zasad jest najlepszą drogą do szybkiego wytwarzania niezawodnego oprogramowania, po którym można się łatwo poruszać i go modernizować.

 

Partnerem publikacji jest Perbis

Autor:
Łukasz Świstak
Źródło:
www.perbis.pl

Komentarze (0)

Możesz być pierwszą osobą, która skomentuje tę wiadomość. Wystarczy, że skorzystasz z formularza poniżej.

Wystąpiły błędy. Prosimy poprawić formularz i spróbować ponownie.
Twój komentarz :