[KURS PLC, CZĘŚĆ 9] Sterowniki SIMATIC S7-1200 (CPU1211C) – generatory impulsów
Tworzenie tablicy PLC tags
W kodzie programu odwołamy się do wyjść cyfrowych sterownika. Musimy utworzyć nazwy symboliczne, co wykonamy w nowej tablicy o nazwie Led_output.

Teraz możemy przejść do pisania kod w bloku organizacyjnym OB1. W pierwszej kolejności zajmiemy się lampą czerwoną. Zgodnie z treścią zadania lampa powinna pulsować z częstotliwością 2 Hz. Aby wykonać to zadanie, należy wykorzystać bit zegarowy o częstotliwości 2 Hz, który posiada nazwę symboliczną Clock_2Hz.
Kod programu
Kod umieszczony w bloku OB1 sterujący lampą czerwoną przedstawiono poniżej.
„LedRed” := „Clock_2Hz”;
Wartość logiczna bitu zegarowego o nazwie Clock_2Hz jest przypisywana na wyjście cyfrowe LedRed. Jeżeli bit Clock_2Hz jest w stanie wysokim, to wyjście cyfrowe też jest w stanie wysokim i czerwona dioda LED świeci. Gdy bit Clock_2Hz jest w stanie niskim, to czerwona LED nie świeci.
Funkcja Frequency
Napisalismy kod sterujący czerwoną lampą sygnalizacyjną. Teraz przejdziemy do sterowania zieloną lampą sygnalizacyjną. Można to zrobić w podobny sposób, jak poprzednio czyli wykorzystać jeden z bitów zegarowych. Jednak teraz pokażę Ci inny sposób. Skorzystamy z funkcji dostarczonej dla PLC (w TIA Portalu) przez firmę Siemens.
Programiści Siemensa przygotowali bibliotekę zawierającą funkcje, która generuje na wyjściu sygnał prostokątny o zadanej częstotliwości. Bibliotekę można pobrać ze strony http://support.automation.siemens.com/WW/view/en/87507915.
Po pobraniu pliku Pulse_Gen_Lib.zip i rozpakowaniu należy bibliotekę dołączyć do projektu. Polega to na wybraniu z prawej strony TIA Portal zakładki Libraries. Wówczas należy rozwinąć zakładkę Global libraries i wybrać z paska narzędzi przycisk Open global library, co przedstawia poniższy rysunek.

Teraz należy wskazać plik Lib_Pulse_Gen.al12. Po zatwierdzeniu przyciskiem Open pojawi się okno przedstawione na poniższym rysunku.

Jak wskazuje treść wiadomości, biblioteka została utworzona w TIA Portal V12. Świadczy o tym także rozszerzenie al12 pliku zawierającego bibliotekę. Zatwierdzamy naciskając przycisk Yes. Spowoduje to aktualizację biblioteki. Po zakończeniu aktualizacji na liście w zakładce Global libraries pojawi się biblioteka o nazwie Lib_Pulse_Gen_V13_SP1.
Graficzna reprezentacja funkcji implementowanej w PLC CPU1211C została przedstawiona na poniższym rysunku.

Parametr wejściowy Frequency typu Real służy do określenia częstotliwości sygnału zegarowego, który pojawi się na parametrze wyjściowym funkcji o nazwie Q. Parametr wyjściowy typu Time o nazwie Countdown określa pozostały czas, po którym nastąpi zmiana stanu z wyjścia Q na przeciwny. Jeżeli do parametru Frequency przypiszemy wartość 0.5 to na wyjściu Q pojawi się przebieg prostokątny o okresie 2 sekund. Przedstawiono to na poniższym rysunku.

Treść zadania podaje, że zielona lampa sygnalizacyjna powinna pulsować z częstotliwością 0,4 Hz. Zatem taką wartość przypiszemy do parametru wejściowego Frequency.
Należy zdefiniować stałą określającą wartość częstotliwości, którą umieścimy w tablicy PLC tags. Dodajemy do projektu nową tablicę o nazwie CONST, co przedstawiono na poniższym rysunku.

W tej tablicy umieszczamy stałą o nazwie CONST_LED_GREEN typu Real o wartości 0.4.
Pozostało nam wywołanie w bloku OB1 funkcji Frequency. Można to wykonać wykorzystując metodę przeciągnięcia tej funkcji z biblioteki do sekcji kodu w bloku OB1. Drugi sposób, na ręczne wpisanie w kodzie nazwy funkcji. Po napisaniu „Frequency” pojawi się okno Call options, którego widok pokazano poniżej.

Wpisujemy nazwę bloku danych instance DB, który zostanie skojarzony z funkcją FB o nazwie Frequency. Zatwierdzamy wybierając przycisk OK.
Pozostało tylko przypisać zmienne do parametrów funkcji, co przedstawiono na poniższym rysunku.

W taki sposób zostało zakończone pisanie kodu programu realizującego wykonanie podanego zadania. Parametr wyjściowy Countdown nie jest wykorzystywany, ponieważ treść zadania nie mówi o informowaniu o pozostałym czasie do zmiany stanu sygnalizacji świetlnej na przeciwny. Kod funkcji Frequency (blok FB1) został nieznacznie zmodyfikowany, ponieważ przebieg na wyjściu Q odbiegał nieznacznie od zakładanego.
Jedną z różnic pomiędzy funkcją typu FC a typu FB jest taka, że do wszystkich parametrów funkcji FC trzeba przypisać zmienne, natomiast w funkcji FB można tylko do wybranych parametrów przypisać zmienne. I z tej możliwości skorzystano w tym przykładzie.
Teraz pozostało skompilować cały projekt i zaprogramować sterownik.
Testowanie programu
Po zaprogramowaniu sterownika PLC można zobaczyć, jak migają diody. Zmiany stanów na wyjściach PLC pokazano na poniższym wykresie.

Jeden okres dla diody zielonej wynosi 2,49 sekundy. W tym samym czasie zmieściło się pięć okresów dla diody czerwonej, więc jak łatwo policzyć jeden okres trwa 0,5 sekundy.
Tomasz Gilewski

Koniec ery defiladowej. Cykl życia technologii na froncie skrócił się do kilku tygodni
Czym jest czytnik e-booków i jak działa?
O suwerenności Europy mówią gen. Sławomir Żakowski, gen. Paweł Bielawny, dr. Jacek Pawlak, Adam Cudny i dr Daniel Więzik 




