Programowanie

CoDeSys dostarczony wraz z zestawem startowym WAGO pozwala programować w kilku ‘językach’.  Najbardziej przejrzysty i prosty dla kogoś, kto zna Pascala, Basic lub nawet PHP, będzie ‘Structured Text’. 

Wejściom i wyjściom przypisuje się nazwy zmiennych (np. IN1 i OUT1) a wartość ustala przy pomocy zwykłego przyporządkowania (np. OUT1:=IN1).  Dostępne są też typowe komendy warunkowe (IF, CASE, ) i pętle (FOR, WHILE, REPEAT).

Początkowo miałem problem z utrwaleniem sobie zasady działania sterownika PLC.  Skrypt nie jest wykonywany jednokrotnie, jak ma to miejsce w ‘zwyczajnym’ programie.  Sterownik realizuje go w trybie ciągłym z zadaną przez użytkownika częstotliwością. 

W konsekwencji nie jest możliwe programowanie na zasadzie: IF IN1=TRUE (czyli np. wciśnięto przycisk na wejściu IN1) THEN OUT1= -OUT1 (czyli np. zmień stan żarówki).  Jeśli założymy, że przycisk był zwarty przez ½ sekundy a program realizowany jest 60 razy na sekundę, stan wyjścia OUT1 zostałby zmieniony 30 razy, przy każdym powtórzeniu programu!  Dla ekspertów programowania PLC powyższa uwaga może się wydać naiwna. Dla mnie jednak cykliczne wykonywanie programu było problemem, wymagającym zmiany nawyków.

Rozwiązaniem większości trudności są biblioteki załączane przez WAGO do oprogramowania CoDeSys lub biblioteki open-source dostępne na http://www.oscat.de/.  

Więcej szczegółów o programowaniu znaleźć można w sekcji "Funkcje".