00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników,...

37

Upload: duongnhi

Post on 01-Mar-2019

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego
Page 2: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

SŁAWOMIR WIAK (redakcja)

Akademicka Oficyna Wydawnicza EXIT

Page 3: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

Recenzenci: Prof. Janusz Turowski Politechnika Łódzka Prof. Ewa Napieralska Juszczak University Lille Nord de France, LSEE, UA, Francja Autorzy rozdziałów: Prof. Piotr Ostalczyk (rozdz. 1, 2) Prof. Edward Jezierski (rozdz. 3) Dr hab. inż. Zbigniew Gmyrek (rozdz. 4) Dr hab. inż. Ryszard Szczerbanowski, prof. PŁ (rozdz. 5) Dr inż. Grzegorz Tosik (rozdz. 6) Prof. Zbigniew Lisik (rozdz. 6) Dr hab. inż. Jacek Gołębiowski, prof. PŁ (rozdz. 7) Dr hab. inż. Krzysztof Pacholski, prof. PŁ (rozdz. 8, 9) Prof. Krzysztof Gniotek (rozdz. 10) Dr hab. inż. Iwona Frydrych, prof. PŁ (rozdz. 10) Dr hab. Inż Ryszard Korycki, prof. PŁ (rozdz. 11) Dr inż. Grażyna Sobiczewska (rozdz. 12) Dr hab. Maria Dems, prof. PŁ (rozdz. 13, 15) Prof. Sławomir Wiak (rozdz. 13, 14, 15, 16, 17) Dr inż. Wojciech Rosiak (rozdz. 13, 15) Dr inż. Paweł Drzymała (rozdz. 14, 16, 17) Dr inż. Henryk Welfle (rozdz. 14, 16, 17) Dr inż. Ryszard Lasota (rozdz. 18) Dr inż. Marek Jan Glaba (rozdz. 19) Monografia przygotowana w ramach projektu "Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki Łódzkiej - zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania, także osób niepełnosprawnych", współfinansowanego przez Unię Europejską w ramach europejskiego Funduszu Społecznego - Programu Operacyjnego Kapitał Ludzki "Priorytet IV, poddziałanie 4.1.1. Wzmocnienie potencjału dydakty-cznego uczelni". Utwór w całości ani we fragmentach nie może być powielany ani rozpowszechniany za pomocą urządzeń elektronicznych, mechanicznych, kopiujących, nagrywających i innych, w tym również nie może być umieszczany ani rozpowszechniany w postaci cyfrowej zarówno w Internecie, jak i w sieciach lokalnych bez pisemnej zgody posiadacza praw autorskich. ISBN 978-83-60434-85-7 © Copyright by EXIT, Politechnika Łódzka Łódź 2010

Page 4: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

607

Maria Dems Sławomir Wiak Wojciech Rosiak

15. Sterowniki programowalne PLC

Jednym z podstawowych komponentów układów mechatroniki są programowalne sterowniki logiczne PLC (Programmable Logic Controllers) należące do szeroko rozumianej rodziny komputerów. Praca sterownika PLC polega na ciągłym monitorowaniu wejść cyfrowych i analogowych, podejmowaniu decyzji w oparciu o program użytkownika oraz odpowiednim sterowaniu wyjściami [4].

15.1. Budowa sterownika PLC

Sterownik PLC ma budowę modułową. Podstawowe jego moduły to moduł wejściowy, jednostka centralna (CPU) oraz moduł wyjściowy (rys.15.1).

Rys. 15.1. Budowa sterownika PLC

Moduł wejściowy sterownika PLC akceptuje różne sygnały wejściowe, cyfrowe lub analogowe, pochodzące z zewnętrznych urządzeń, przetwarzane następnie do postaci sygnałów logicznych, zrozumiałych dla CPU. Jednostka centralna CPU podejmuje decyzje i realizuje zawarty w pamięci sterownika program. Moduł wyjściowy przetwarza funkcje

Page 5: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

608

sterowania z CPU do postaci sygnałów wyjściowych, cyfrowych lub analogowych, sterujących urządzeniami wykonawczymi.

Sterownik PLC musi ponadto posiadać moduł zasilacza PWR podłączany do źródła napięcia zmiennego 120/230 VAC lub stałego 12/24/48 VDC.

Dodatkowo mogą być stosowane moduły:

• DI/DO - moduły wejść/wyjść dwustanowych (dyskretnych),

• AI/AO – moduły wejść/wyjść analogowych,

• HSC – moduł szybkiego licznika do obsługi wejść dwustanowych, pochodzących z przetworników obrotowo – impulsowych (enkoderów),

• APM - moduł pozycjonowania osi, obsługujący sygnały generowane przez enkodery,

• CCM – moduł komunikacyjny z dwoma łączami szeregowymi z określonymi protokołami komunikacyjnymi,

• Moduły komunikacyjne sieci Genius lub Ethernet stanowiące łącza pomiędzy sterownikami a siecią,

• Moduł programowalnego koprocesora PCM, zawierający pamięć EPROM oraz pamięć RAM (zasilaną z baterii), umożliwiający programowanie funkcji specjalnych w językach wyższego poziomu, spełniający często funkcję bufora danych.

Wszystkie moduły podłączane są do gniazd (slotów) znajdujących się na płycie łączeniowej zwanej kasetą, lub instalowane bezpośrednio na szynie montażowej DIN i łączone ze sobą za pomocą łączy zatrzaskowych. Najbardziej popularne rodziny sterowników to:

• sterowniki amerykańsko – japońskiej firmy GE Fanuc serii 90 – 30,

• sterowniki SLC 500 firmy Allen – Bradley,

• sterowniki Modicon serii 984 firmy AEG Schneider,

• sterowniki SIMATIC S5, S7 firmy Siemens.

15.2. Jednostka centralna CPU

Jednostka centralna CPU realizuje cykl programowania sterownika, składający się z następujących etapów:

• Inicjacja cyklu, obejmująca obliczanie czasu cyklu, planowanie startu do następnego cyklu, określenie trybu następnego cyklu, aktualizacja tablicy błędów oraz kasowanie zegara;

Page 6: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

609

• Czytanie sygnałów wejściowych z modułu wejściowego;

• Wykonanie programu użytkownika;

• Wysyłanie sygnałów wyjściowych do modułu wyjściowego;

• Transmisja danych - obsługa urządzeń zewnętrznych;

• Komunikacja systemowa, sprawdzenie konfiguracji, monitorowanie błędów w modułach;

• Diagnostyka, weryfikacja fragmentów programu użytkownika.

W celu zwiększenia niezawodności systemów sterownia stosowane są systemy z redundancją CPU, składające się z dwóch jednostek centralnych: podstawowej i rezerwowej, zawierających ten sam program, połączonych jedną lub dwoma magistralami BTM i BRM, z których tylko jedna jest aktywna. Przełączenie sterowania, w przypadku wystąpienia błędu systemu w magistrali aktywnej, określa się w konfiguracji systemu.

15.2.1. Moduły wejść/wyjść dyskretnych

Moduły wejść dyskretnych (DI) zamieniają sygnały elektryczne prądu stałego (DC) lub zmiennego (AC) z urządzeń wejściowych na sygnały logiczne akceptowane przez jednostkę centralną sterownika. Moduły wejściowe mogą być dwustanowe (ON/OFF), lub trójstanowe.

Obwody wejściowe tych modułów mogą być zasilane:

• z zewnętrznego źródła prądu stałego (12/24/48 VDC), przy czym stosowane są moduły zarówno o polaryzacji dodatniej jak i ujemnej,

• z zewnętrznego źródła prądu zmiennego (120/230/240 VAC) - moduły te posiadają łączniki tyrystorowe.

Moduły wyjść dyskretnych (DO) zamieniają sygnały binarne sterownika na sygnały elektryczne prądu stałego lub zmiennego, potrzebne do sterowania urządzeniami wykonawczymi. Obwody wyjściowe tych modułów mogą być zasilane:

• napięciem stałym – moduły te wyposażone są w filtry składowej zmiennej oraz diodę przeciwprzepięciową,

• napięciem zmiennym - posiadają filtry RC przeciwzakłóceniowe oraz zabezpieczenie przeciwprzepięciowe.

W złożonych układach mogą być stosowane moduły wejścia/wyjścia trójstanowe, rozróżniające trzy zakresy napięć w obwodach wejściowych oraz redundancję albo dodatkowa możliwość załączania lub wyłączania w obwodach wyjściowych.

Page 7: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

610

15.2.2. Moduły wejść/wyjść analogowych

Moduły wejść analogowych (AI) przetwarzają ciągłe analogowe sygnały wejściowe na sygnały cyfrowe proporcjonalne do wielkości napięć lub prądów w obwodach wejściowych modułu. Typowe wartości wejściowych napięć lub prądów modułu, uzyskiwane z przetworników pomiarowych, mieszczą się w zakresach 0 ÷ 10 VDC lub 4 ÷ 20 mA. Wejścia analogowe mogą być wejściami różnicowymi lub jednokońcówko-wymi (o wspólnej masie).

Moduły wyjść analogowych (AO) przetwarzają wartości cyfrowe (sygnałów sterujących na proporcjonalne do nich analogowe wartości napięć lub prądów w obwodach wyjściowych modułu, stanowiących źródło sygnału ciągłego dla napędu elektrycznego, regulatora temperatury lub ciśnienia, poziomu cieczy, itp.

15.2.3. Moduł szybkiego licznika czasu

Szybki liczniki czasu (HSC) [4,5] może bezpośrednio zliczać impulsy o częstotliwości do 100 kHz, generowane najczęściej przez przetworniki obrotowo – impulsowe zwane enkoderami, co umożliwia pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp.

Enkoder najczęściej podłączany jest do modułu HSC w układzie różnicowym, ale może tez być podłączony jednokońcówkowo. Umożliwia on odczyt położenia kątowego urządzenia za pomocą tarczy z naniesioną siatką i fotoogniwa, reagującego na różnicę intensywności światła. Na wyjściu przetwornika obrotowo – impulsowego otrzymuje się sygnał pomiarowy prostokątny lub sinusoidalnie zmienny, który zostaje przetworzony na sygnał cyfrowy i poddany digitalizacji w dodatkowym układzie elektronicznym oraz często interpolacji i digitalizacji, co pozwala zmniejszyć krok pomiaru. Kierunek wirowania przetwornika określany jest na podstawie kierunku przesunięcia fazowego dwóch sygnałów wejściowych, przesuniętych względem siebie o 90°.

Moduł szybkiego licznika HSC realizuje operacje liczenia i sterownia bez komunikacji z jednostka centralną. Może on również pracować jako licznik dodający, odejmujący lub dodająco – odejmujący, w zależności od kierunku obrotu przetwornika.

Page 8: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

611

15.2.4. Moduły komunikacyjne

Do transmisji danych stosowane są najczęściej standardowe łącza szeregowe, przy czym, w zależności od przyjętego standardu, transmisja danych może się odbywać [4,5]:

• przez niesymetryczne, jednoprzewodowe łącze bit po bicie, z szybko-ścią do 20 Kb/s, na odległość do 15 m,

• z wykorzystaniem niesymetrycznego nadajnika i symetrycznego odbiornika,

• z wykorzystaniem symetrycznego nadajnika, dwuprzewodowego łącza transmisyjnego i symetrycznego odbiornika,

• z wykorzystaniem wielu symetrycznych nadajników i wielu symetrycz-nych odbiorników.

Transmisja danych może być asynchroniczną, polegającą na przesyłaniu za pomocą pojedynczej linii danych pojedynczych znaków w określonym formacie, lub synchroniczna, polegającą na przesyłaniu ramki danych ze znacznikami początku i końca, umożliwiającymi synchronizację u odbiorcy.

W obu przypadkach transmisja danych realizowana jest według określonego protokołu komunikacyjnego np. MODBUS ASCII lub RTU. Do połączenia sterowników w sieć stosowane są moduły komunikacyjne, wykorzystujące asynchroniczna transmisję szeregową.

15.3. Sterowniki programowalne firmy Siemens

W układach automatyki i mechatroniki stosowane są, między innymi:

15.3.1. Sterowniki LOGO [7]

Sterownik LOGO to uniwersalne urządzenie służące do przełącza-nia i sterowania w zastosowaniach domowych i przemysłowych. Zastępuje on tradycyjne sterowania budowane na bazie przekaźników czasowych i styczników, umożliwiając sterowanie oświetleniem, roletami, żaluzjami, systemami grzewczymi i klimatyzacyjnymi oraz szeregiem innych urządzeń. Dzięki wykorzystaniu inteligentnych sterowników LOGO:

• optymalizowany jest czas projektowania oraz uruchamiania instalacji,

Page 9: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

612

• minimalizowane są nakłady związane z wykonaniem połączeń elektrycznych w odniesieniu do konwencjonalnych sterowań budowanych na bazie przekaźników i styczników.

Ważną zaletą sterowników LOGO jest łatwość programowania. Program tworzymy łącząc ze sobą gotowe bloki funkcyjne.

Budowa sterownika LOGO przedstawiona jest na rys. 15.2. Sterownik wyposażony jest w wyświetlacz LCD; posiada 4 wiersze do zadawania i wyświetlania aktualnych parametrów funkcji oraz wyświetlania meldunków tekstowych. Za pomocą modułów rozszerzeń można połączyć 24 wejścia binarne, 16 wyjść binarnych, 8 wejść analogowych oraz 2 wyjścia analogowe.

Rys. 15.2. Budowa sterownika LOGO [7]

Dzięki modułowi 2 wyjść analogowych można wykorzystać w programie funkcje regulatora PI, generatora rampy dla sterownika z przekształtnikiem częstotliwości oraz multipleksera analogowego, którego zadaniem jest programowe przełączanie wartości funkcji na zdefiniowane wyjścia analogowe. Oprócz modułów binarnych dostępne są też moduły komunikacyjne AS-Interface, instabus EIB oraz LON.

Sterownik LOGO wyposażony jest w wyświetlacz LCD z możliwością wyświetlania znaków alfanumerycznych. Posiada on 38 wbudowanych funkcji. Za pomocą oprogramowania LOGO Soft Comfort dokonuje się połączeń pomiędzy gotowymi funkcjami bibliotecznymi tworząc w ten sposób program.

Sterowniki z rodziny LOGO! umożliwiają komunikację w sieciach:

• AS-Interface – LOGO! pracuje jako urządzenie typu slave,

• EIB/KNX (European Installation Bus) – standartowa sieć do zastosowań w automatyce budynków,

• LON (Local Operating Network) – standartowa sieć do zastosowań w automatyce budynków.

Page 10: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

Modnap

LOGsterLOGalgo

15

PLCsterprze

duł podstawopięciowych:

zasilany napi

zasilany napi

Sterownik LO

Moduły binar

Moduły wejść

Moduły wyjść

CM AS-Interf

CM EIB/KNXzastosowań w

GO! było dotyrowania pracąGO! Soft Coorytmy sterując

.3.2. Sima

Jednym z C jest firma rowników PLemysłowych.

Rys

owy LOGO B

ięciem 12/24V

ięciem 24V AC

OGO posiada

rne,

ć analogowych

ć analogowych

face (slave) –

X (European w automatyce

ychczas znaneą niewielkich uomfort możnace, jak na tę kl

atic S7-120

wiadących prSIEMENS. N

C firmy Sie

s. 15.3. Zaszereg

15. STEROW

Basic dostęp

V DC, 24V DC,

C/DC ,115/240

nastepujące m

h,

h,

LOGO! pracuje

Installation Bbudynków.

e jako moduł rządzeń i masa jednak twlasę sterowań.

0 [6],[7]

roducentów stNa rys. 15.3 mens ze wz

gowanie sterown

WNIKI PROGRA

ny jest w d

0V AC/DC.

moduły rozszer

e jako urządze

Bus) – standa

logiczny wykoszyn. Dzięki oorzyć dość .

terowników prprzedstawion

zględu na r

ników PLC [6], [7

AMOWALNE PL

61

dwóch klasac

rzeń:

enie typu slave

artowa sieć d

orzystywany doprogramowan

skomplikowan

rogramowalnycny jest podzirodzaj aplikac

7]

LC

13

ch

e,

do

do iu

ne

ch ał cji

Page 11: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

614

Sterownik SIMATIC S7-1200 to nowy modułowy, kompaktowy sterownik PLC, przeznaczony do zastosowania w aplikacjach przemysłowych. Jednostka centralna CPU tego sterownika składa się z modułu procesora, zintegrowanego zasilacza, obwodów wejściowych oraz obwodów wyjściowych umieszczonych w zwartej, plastikowej obudowie (rys. 15.4).

Rys. 15.4. Moduły sterownika SIMATIC S7-1200 [6]

Jednostka centralna jest wyposażana w port PROFINET umożliwiający komunikację poprzez sieć PROFINET. CPU monitoruje wejścia i steruje wyjściami zgodnie z oprogramowaniem przygotowanym przez użytkownika, które może zawierać logikę boolowską, zliczanie, operacje czasowe, złożone operacje arytmetyczne i komunikację z innymi inteligentnymi urządzeniami.

Sterownik S7-1200 może być łatwo montowany na standardowej szynie DIN lub bezpośrednio na płycie montażowej. Każda jednostka centralna jest chroniona hasłem umożliwiającym konfigurowanie dostępu do funkcji CPU. Zapewnia ona 3-poziomową ochronę przed niepowołanym dostępem do pewnych funkcji. Użytkownik podczas konfigurowania poziomu bezpieczeństwa i hasła CPU, ogranicza funkcje i obszary pamięci, do których można mieć dostęp bez podania hasła. Podczas wpisywania hasła nie jest rozróżniana wielkość liter.

Płytki sygnałowe (SB) pozwalają dodawać do CPU porty I/O (rys. 15.5). Można dołączyć jedną SB z cyfrowymi lub analogowymi portami I/O. SB jest dołączana od strony frontowej CPU.

Page 12: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

615

Rys. 15.5. Montaż płytki sygnałowej w sterowniku SIMATIC S7-1200 [6], [7]

W sterowniku S7-1200 dostępnych jest 50KB pamięci roboczej, która dzielona jest dynamicznie na pamięć programu i danych. Przewidziano również zintegrowaną pamięć ładowania o pojemności do 2 MB, oraz 2 kB zintegrowanej pamięci nieulotnej. Do przenoszenia programów do wielu jednostek centralnych CPU może być wykorzystywana opcjonalna karta pamięci SIMATIC Memory Card (rys. 15.6). Karta Memory Card może być również wykorzystana do przechowywania różnych plików lub do uaktualniania systemu operacyjnego sterownika (firmware).

Rys. 15.6. Karta pamięci SIMATIC Memory Card [7]

Karta pamięci może być użyta jako Karta Program lub Transfer:

• Karta Program pełni funkcję pamięci CPU, sterującą wszystkimi funkcjami CPU i musi pozostawać zainstalowana w CPU,

• Karta Transfer służy do przeniesienia zapamiętanego projektu z karty do CPU (bez konieczności użycia STEP 7 Basic), a następnie musi być usunięta.

Pamięć ładowania jest pamięcią nieulotną, w której przechowywane są programy użytkownika, dane i konfiguracja. Jest ona ulokowana albo na karcie pamięci (jeśli jest) albo w CPU i zachowana w przypadku utraty zasilania. Projekt wczytany do CPU najpierw trafia do obszaru pamięci ładowania.

Page 13: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

616

Pamięć robocza RAM jest pamięcią ulotną, służącą do przechowy-wania pewnych elementów projektu użytkownika podczas wykonywania programu. W celu poprawy wydajności systemu, CPU kopiuje pewne elementy projektu z pamięci ładowania do pamięci roboczej. Zawartość tej pamięci jest tracona przy odłączaniu zasilania i CPU odtwarza ją po ponownym włączeniu zasilania.

Pamięć trwała jest pamięcią nieulotną przechowującą ograniczoną liczbę wartości z pamięci roboczej. Pamięć trwała jest stosowana do przechowywania wartości z wybranych miejsc pamięci użytkownika na wypadek utraty zasilania. CPU jest celowo zaprojektowana w taki sposób, by w przypadku utraty zasilania miała dostatecznie dużo czasu na przepisanie do pamięci trwałej ograniczonej liczby wybranych wartości. Po przywróceniu zasilania te zachowane wartości są odtwarzane do oryginalnych pozycji.

SIMATIC STEP 7 Basic z wbudowanym SIMATIC WinCC Basic posiada zorientowane zadaniowo, inteligentne i intuicyjne edytory. Pozwalają one wykorzystywać oprogramowanie jako wspólną inżynierską platformę dla programowania sterowników SIMATIC S7-1200 i konfigurowania paneli SIMATIC HMI Basic Panels. W SIMATIC STEP 7 Basic wbudowano funkcje diagnostyki, serwisu i programowania, dzięki czemu jest on uniwersalnym narzędziem inżynierskim. Ekran programu SIMATIC STEP 7 Basic przedstawia rys. 15.7

Rys. 15.7. SIMATIC STEP 7 Basic [7]

Użytkownik ma możliwość wyboru języka programowania oraz dostęp do ogólnej struktury programu.

Page 14: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

617

Sterownik S7-1200 posiada następujące nowe funkcje technologiczne:

• Szybkie wejścia dla zliczania i pomiarów - do 6 szybkich liczników 3 x 100kHz oraz 3 x 30kHz do obsługi enkoderów inkrementalnych, pomiaru częstotliwości, lub szybkiej reakcji na zdarzenia procesowe,

• Szybkie dwa wyjścia PTO 100kHz (modulacja częstotliwości) dla kontroli prędkości oraz pozycjonowania, zapewniające 50% wypełnienie impulsu dla sterowania prędkością w otwartej pętli oraz pozycjonowania silników krokowych lub silników servo oraz szybkie liczniki HSC0 oraz HSC1, które mogą być użyte do określenia pozycji dla sterowania PTO,

• Instrukcje PLCopen motion, będące międzynarodowym standardem w zakresie kontroli ruchu, dla kontroli prędkości oraz pozycjonowania,

• PID Control dla obsługi regulacji PID - Do 16 pętli regulacji PID oraz PID Auto Tuning.

15.4. Programowanie sterowników PLC

Programowanie sterowników programowalnych PLC oparte jest o normę IEC 1131 „Programmable Controllers” opracowaną i wydaną w 1993r. przez Międzynarodową Komisję Elektroniki (International Electronical Commission IEC). Każdy program sterujący, bez względu na jego postać, wykonywany jest cyklicznie; po wykonaniu ostatniej instrukcji program sterujący jest analizowany od początku, co ilustruje rys.15.8:

Rys. 15.8. Cykl programowy (ang. = scan cycle )

Odczyt wejść polega na odczytaniu aktualnych stanów na wejściach sterownika i wpisaniu ich do rejestrów wejściowych, po czym następuje wykonanie części logicznej programu sterującego. W kolejnym kroku sterownik PLC komunikuje się poprzez port komunikacyjny z programato-rem lub modułami zewnętrznymi oraz przeprowadza samodiagnostykę.

Page 15: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

618

Ostatnim krokiem cyklu jest obsługa wyjść, polegająca na uaktualnieniu ich stanu, poprzez zmianę wartości rejestrów wyjściowych, którym przypisuje się fizyczne wyjścia sterownika.

Czas wykonania cyklu zależy od rozmiaru programu użytkowego, ilości użytych wejść i wyjść sterownika i ilości danych wymienianych podczas komunikacji. W rejestrach specjalnych o adresach: SMW22, SMW24 i SMW26 można odczytać w milisekundach odpowiednio: czas ostatniego cyklu pracy sterownika (ostatniego skanowania), oraz czas minimalny i maksymalny cyklu pracy liczony od momentu uruchomienia sterownika.

15.4.1. Elementy oprogramowania sterowników PLC

Zgodnie z normą IEC 1131, oprogramowanie sterowników PLC zawiera następujące elementy:

• Typy danych,

• Elementy organizacyjne oprogramowania:

o Funkcje,

o Bloki funkcyjne,

o Programy,

• Elementy konfiguracji, takie jak zasoby (resources), realizowane w ramach zasobów zadania (tasks), zmienne globalne (global variables), ścieżki dostępu (access paths),

• Elementy programowania za pomocą grafów sekwencji (SFC).

Uruchomienie konfiguracji inicjuje zmienne globalne i uruchamia wszystkie należące do tej konfiguracji zasoby. Uruchomienie zasobu powinno spowodować inicjację wszystkich zmiennych i uruchomienie wszystkich zadań w zasobie. Inicjacja zmiennych polega na nadaniu im wartości początkowych (initial value), wartości domyślnych (default initial value), podtrzymaniu istniejących wartości (retained value).

15.4.1.1. Typy danych

• Typy danych liczbowych:

o całkowite ze znakiem: SINT, INT, DINT, LINT – odpowiednio 8, 16, 32, 64 bitowe,

o całkowite bez znaku: USINT, UINT, UDINT, ULINT – 8, 16, 32, 64 bitowe,

Page 16: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

619

o rzeczywiste: REAL, LREAL – 32, 64 bitowe, w zapisie dziesiętnym, wykładniczym, dwójkowym, ósemkowym i szesnastkowym,

• Dane logiczne: logiczne zero i jedynka oraz logiczne BOOL (boolean),

• Dane w postaci ciągu znaków, w tym ciągu znaków o zmiennej długości (STRING) zawartego w apostrofach,

• Dane w postaci czasowej, które można przedstawić:

o jako czas trwania zdarzenia – w jednostkach czasu poprzedzonych słowem kluczowym T#, t#, TIME#, time#, przy czym jednostki czasu mogą być oddzielone znakiem podkreślenia, np.:

t#5d (5 dni), TIME#5d_2h_10m_23s_2.4ms

o jako godzina dnia połączona ewentualnie z datą – stosowane są wtedy przedrostki: DATE#, D#, TIME_OF_DAY#, TOD#, DATE_AND_TIME#, DT#– czas trwania (T#)S, np.:

data D#0001-01-01,

godzina dnia TOD#00:00:00,.

data i czas DT #2000-02-26-11:12:55.02,

• BYTE – bajt,

• WORD, DWORD, LWORD – słowo pojedyncze 16 bitowe, podwójne 32 bitowe i długie 64 bitowe.

Z elementarnych typów danych można tworzyć rodzaje danych, np.: ANY_NUM zawierający wszystkie typy numeryczne, ANY_INT, ANY_REAL itd.

Można definiować własne typy danych za pomocą słów kluczowych TYPE .....END_TYPE. Najczęściej definiowane są następujące typy pochodne:

• Typ wyliczeniowy – jest to uporządkowany i skończony zbiór wartości oznaczony dowolnymi identyfikatorami, np.:

TYPE Nazwa_typu : (wartość_1, wartość_2,...); END_TYPE

Zmienne typu wyliczeniowego mogą przyjmować tylko wartości określone w deklaracji typu. Początkowa wartość domyślna zmiennej typu wyliczeniowego jest równa pierwszej wartości z podanej listy (np.: jednokoncówkowy), jednak można przypisać inną wartość początkową z podanej listy, np.:

TYPE

Page 17: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

620

Nazwa_typu : (wartość_1, wartość_2,...) : = wartość_2; END_TYPE

• Typ okrojony – posiadający ograniczony zakres wartości, np.:

TYPE Nazwa_typu : INT (-1000..1000) ; END_TYPE

Początkowa wartość domyślna danej typu okrojonego jest równa dolnemu ograniczeniu, jednak można przypisać inną wartość początkową, z podanego przedziału wartości, np.:

TYPE Nazwa_typu : INT (-1000..1000) : = -10 ; END_TYPE

• Typ tablicowy, składający się z określonej liczby elementów tego samego typu, zwanego typem składowym, np.:

TYPE Nazwa_tablicy : ARRAY [1..20] OF Typ_składowy; END_TYPE

Domyślnie, typ tablicowy ma wartości początkowe przypisane typowi składowemu, jednak można przypisać inną wartość początkową.

• Typ strukturalny – służy do opisu złożonych struktur danych, zawierających dane różnych typów. W definicji typu należy podać typy składowe oraz metodę strukturalizacji, za pomocą konstrukcji STRUCT.......END_STRUCT, np.:

TYPE Nazwa_typu_strukturalnego :

STRUCT Składnik_1 : Typ_składnika_1 ; Składnik_2 : Typ_składnika_2 ; Składnik_3 : Typ_składnika_1 ; ………

END_STRUCT ; END_TYPE

Domyślne wartości początkowe danych typu strukturalnego określane są na podstawie typów składowych.

15.4.1.2. Rodzaje i deklaracja zmiennych

W programowaniu sterowników PLC rozróżnia się następujące rodzaje zmiennych:

Page 18: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

621

• Zmienna skalarna (jednoelementowa), jest to pojedyncza zmienna należąca do typu elementarnego, wyliczeniowego lub okrojonego. Może być określana symbolicznie przez nazwę lub w sposób bezpośrednio określający powiązanie z wejściami (I), wyjściami (Q) lub pamięcią (M) sterownika. Jej symbol ma wówczas postać: %Lokalizacja (Rozmiar)Adres. Rozmiar zmiennej określa się przy użyciu symboli:

X – pojedynczy bit B – bajt (8 bitów) W – słowo (16 bitów) D – słowo podwójne (32 bity) L – słowo poczwórne (64 bity)

Adres zmiennej określa jej miejsce w pamięci. Może mieć strukturę hierarchiczną, oddzieloną kropkami (od najwyższego do najniższego poziomu), np.:

%QX23 lub %Q23 –23 bit na wyjściu, %IB43 - 43 bajt na wejściu, %MD5 – słowo podwójne pod adresem 5 w pamięci %IW2.4.3.2 – drugie słowo dla modułu wejściowego na 3 pozycji

w 4 kasecie dla drugiej magistrali na wejściu sterownika,

• Zmienne wieloelementowe, typu tablicowego lub strukturalnego. Adres elementu tablicy może mieć postać:

INPUT_TAB[4,%MD5] – element tablicy dwuwymiarowej, znajdujący się w 4 wierszu i kolumnie określonej zmienną %MD5. Deklaracja zmiennej strukturalnej może mieć postać:

Nazwa_zmiennej_strukturalnej : Nazwa_typu_strukturalnego ma poszczególnym elementom przyporządkowane wartości: Nazwa_zmiennej_strukturalnej.Składnik_1:=wartość_1; Nazwa_zmiennej_strukturalnej.Składnik_2:=wartość_2;

………………………………………………………………..

Każda zmienna przypisana elementowi konfiguracji układu w chwili startowej tego elementu może przyjąć jedną z następujących wartości początkowych:

• wartość domyślną dla typu do jakiego należy zmienna,

• wartość zadeklarowaną przez użytkownika,

• wartość jaką posiadała przed zatrzymaniem tego elementu konfiguracji (pamięć stanu elementu – przy tzw. gorącym restarcie), deklarowaną poleceniem RETAIN. Są to tak zwane zmienne zachowywane.

Page 19: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

622

Deklaracje różnego rodzaju zmiennych maja postać:

• VAR – deklaracja zmiennych lokalnych (wewnętrznych) w elemencie,

• VAR_INPUT – deklaracja zmiennych wejściowych do elementu oprogramowania; nie mogą być zmieniane w elemencie,

• VAR_OUTPUT - deklaracja zmiennych wyjściowych do innych elementów oprogramowania,

• VAR_IN_OUT - deklaracja zmiennych wejściowych, które mogą być zmieniane,

• VAR_GLOBAL – deklaracja zmiennych globalnych,

• VAR_EXTERNAL – deklaracja zmiennych zapewniających dostęp w elemencie oprogramowania do zmiennych globalnych ; mogą być zmieniane w elemencie,

• VAR_ACCESS – deklaracja ścieżek dostępu,

• VAR RETAIN – deklaracja zmiennej zachowywanej,

• CONSTANT – deklaracja stałej,

• AT – określenie lokalizacji zmiennej.

Deklaracja zmiennych powinna zawierać określenie typu, do jakiego one należą i ewentualnie ich fizyczną lub logiczną lokalizację. Deklaracja zmiennych kończy się słowami END_VAR.

15.4.1.3. Elementy organizacyjne oprogramowania

Podstawowymi elementami oprogramowania sterowników PLC są funkcje, bloki funkcyjne oraz programy. Funkcje są elementami oprogramowania, zwracającymi jeden statyczny element danych, co oznacza, że funkcja wywołana z tymi samymi argumentami zawsze daje tę samą wartość na wyjściu.

W graficznych językach programowania sterowników wprowadza się dla funkcji dodatkowe wejście logiczne EN oraz wyjście logiczne ENO.

• Jeżeli w trakcie wywołania funkcji na wejściu EN jest FALSE (0) to operacje definiowane przez ciało funkcji nie będą wykonywane i na wyjściu ENO tez będzie FALSE,

• Jeżeli na wejściu EN jest TRUE (1), to operacje definiowane przez ciało funkcji będą wykonywane i na wyjściu ENO też jest TRUE,

• W przypadku wystąpienia błędu na wyjściu ENO pojawi się FALSE.

Page 20: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

623

Deklaracja funkcji zawarta jest między słowami FUNCTION oraz END_FUNCTION., i ma postać:

FUNCTION Nazwa_funkcji : Typ_wyniku VAR_INPUT Zmienna_1, zmienna_2 : Typ_zmiennych; (*argumenty wejściowe*) Zmienna_3 : Typ_zmiennej_3 : = wartość_zmiennej_3 ; END_VAR Nazwa_funkcji: = wyrażenie ; (*ciało funkcji*) END_FUNCTION

Funkcje standardowe mogą być określone dla argumentów określonego typu lub dla argumentów pewnego rodzaju (np. ANY_NUM), natomiast funkcje definiowane przez użytkownika dotyczą tylko określonego typu.

Bloki funkcyjne tym róznią się od funkcji, że mogą zwracać więcej niż jeden element. Posiadają one wewnętrzne zmienne zawierające informacje o stanie bloku, są więc elementami dynamicznymi. Wszystkie wartości zmiennych wyjściowych oraz niezbędne wartości zmiennych wewnętrznych są przechowywane pomiędzy kolejnymi chwilami wykonania bloku, a więc kolejne wywołania bloku z tymi samymi argumentami nie muszą dawać tych samych wartości wyjściowych. Bloki funkcyjne mogą być wywoływane w programie wielokrotnie, przy czym każde wywołanie stanowi kopię bloku posiadającą swoją nazwę oraz strukturę danych wyjściowych i wewnętrznych zmiennych bloku.

Deklaracja bloku funkcyjnego zawarta jest pomiędzy słowami kluczowymi FUNCTION_BLOK....END_FUNCTION_BLOK. Zawiera ona blok deklaracji w którym deklarowane jest łącze zewnętrzne (zmienne VAR_INPUT oraz VAR_OUTPUT), określające sposób komunikacji między blokiem funkcyjnym a elementem go wywołującym i deklaracje zmiennych lokalnych, oraz ciało bloku określające działania wykonywane w ramach bloku. W programowaniu sterowników PLC wykorzystywane jest wiele standardowych bloków funkcyjnych, takich jak przerzutniki bistabilne, czasomierze, liczniki itp.

Według IEC 1131, program jest to zbór logicznie powiązanych elementów języka programowania koniecznych do zamierzonego przetwarzania sygnałów w celu sterowania urządzeniem lub procesem za pomocą systemu sterowników programowalnych [ ].

Program zawarty jest między słowami kluczowymi PROGRAM...END_PROGRAM. Programy mogą być realizowane tylko w ramach zasobów, natomiast bloki funkcyjne tylko w ramach programów.

Page 21: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

624

15.4.1.4. Elementy konfiguracji

Konfiguracja zawiera: zasoby (resources), realizowane w ramach zasobów zadania (tasks), zmienne globalne (global variables), ścieżki dostępu (access paths).

Deklaracje elementów konfiguracji mają postać:

• CONFIGURATION...END_CONFIGURATION – deklaracja konfigu-racji,

• VAR_GLOBAL..END_VAR - deklaracja zmiennych globalnych we-wnątrz konfiguracji,

• RESOURCE...ON...END_RESOURCE - deklaracja zasobu wewnątrz konfiguracji; słowo ON służy do określenia funkcji procesora, interfejsu użytkownika oraz interfejsu z czujnikami i elementami wykonawczymi, realizującymi programy i zadania skojarzone z zasobem, zawarte w bibliotece zasobu,

• VAR_GLOBAL..END_VAR - deklaracja zmiennych globalnych wewnątrz zasobu,

• TASK – deklaracja dla zadania okresowego lub nieokresowego wewnątrz zasobu,

• PROGRAM – deklaracja skojarzonego z zadaniem programu lub bloku funkcyjnego, lub tylko deklaracja programu,

• VAR.....ACCESS....END_VAR – deklaracja ścieżek dostępu do zmien-nych globalnych, do zmiennych globalnych w zasobach i w konfigura-cjach oraz do wejść i wyjść programu.

Zadania kontrolują wykonanie cyklu programowego i wywołują zbiór elementów oprogramowania, zawierający programy i bloki funkcyjne. Zadania można podzielić na nieokresowe, reagujące na każde wystąpienie narastającego zbocza określonej zmiennej logicznej, oraz okresowe. Każdemu elementowi oprogramowania, a więc i skojarzonego z nim zadania, można przydzielić priorytet, wykorzystywany do szeregowania z wywłaszczaniem lub bez wywłaszczania. Program, który nie jest skojarzony z zadaniem powinien mieć najniższy priorytet i powinien być uszeregowany do wykonania od razu po starcie zasobu, a następnie ponownie uszeregowany w kolejce. Wykonywanie bloków funkcyjnych w ramach programu powinno być synchronizowane, w celu zapewnienia właściwej współbieżności w dostępie do danych.

Page 22: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

625

15.4.1.5. Elementy oprogramowania za pomocą grafów sekwencji

Graf sekwencji SFC (Sequential Function Chart) jest graficznym narzędziem, umożliwiającym modelowanie współbieżnych działań sekwencyjnych. Składa się on z wzajemnie sprzężonych etapów i przejść. Z każdym etapem skojarzony jest zbiór odpowiednich działań, a z każdym przejściem między etapami powiązany jest warunek przejścia.

Etap (step) może być aktywny lub nieaktywny. Aktywność etapu określa wskaźnik etapu, który przyjmuje wartość 1 dla etapu aktywnego lub 0 dla etapu nieaktywnego. Czas aktywności etapu określa zmienna typu TIME (domyślnie t#0s).

Poszczególne elementy SFC powinny przechowywać informacje o stanie systemu. W każdej chwili stan elementu oprogramowania określony jest przez zestaw aktywnych etapów oraz wartości zmiennych wewnętrznych i wyjściowych elementu. Stan początkowy elementu oprogramowania określają wartości początkowe jego zmiennych wewnętrznych i wyjściowych oraz zbiór etapów początkowych. Każda sieć SFC powinna zawierać tylko jeden etap początkowy, dla którego wskaźnik etapu przyjmuje domyślnie wartość początkową = 1. Etapy i związane z nimi parametry mają zasięg lokalny.

Etap może być opisany za pomocą instrukcji STEP....END_STEP, natomiast etap początkowy za pomocą instrukcji INITIAL_STEP....END_STEP,

Do łączenia etapów służy instrukcja TRANSITION...END_TRANSITION Przejście (transition) przedstawia warunki logiczne, które muszą być spełnione przy przeniesieniu sterowania z etapów poprzedzających przejście na etapy za przejściem. Z każdym przejściem skojarzony jest warunek przejścia.

15.4.2. Języki programowania PLC

Stosowane języki programowania PLC zostały zdefiniowane w normie IEC 1131 „Programmable Controllers”. Można je podzielić na dwie grupy:

• języki tekstowe – należą do nich:

o język listy instrukcji IL (Instruction List),

o język strukturalny ST, (Structured Text,

• języki graficzne:

o język schematów drabinkowych LD (Ladder Diagram),

Page 23: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

626

o język schematów blokowych FBD (Function Block Diagram).

W praktyce, języki IL oraz ST są często połączone, dając język tekstowy STL.

Wszystkie wersje programu sterującego, napisane w dowolnym z wymienionych języków, są równoważne i dają te same możliwości funkcjonalne, a jedynie różnią się tylko sposobem zapisu.

15.4.2.1. Język listy instrukcji STL

Język listy instrukcji IL, będący odpowiednikiem języka assembler, jest to zapis zwarty, operujący na skrótach literowych symbolizujących np.: wejścia/wyjścia sterownika, operacje logiczne, arytmetyczne, operacje relacji, funkcje przerzutników, czasomierzy, liczników oraz innych bloków funkcyjnych, stanowiący ciąg kolejno ułożonych instrukcji, wykonywanych cyklicznie od góry do dołu. Każdej operacji lub funkcji realizowanej przez sterownik przyporządkowane są jedno lub dwuliterowe skróty pochodzą od pierwszych liter pełnej nazwy funkcji. Lista instrukcji jest podstawową formą programu pracy sterownika, umożliwiającą przedstawienie na ekranie programatora dużych fragmentów programu i łatwą zmianę adresów i argumentów funkcji.

Język strukturalny ST (Structured Test) jest odpowiednikiem języka algorytmicznego wysokiego poziomu zawierającego struktury sterujące, takie jak: If...then...else...end if, Case...of...end case, For...to...do...end for, While...do...end while, Repeat...end repeat. Połączenie tych dwóch języków daje język tekstowy STL

15.4.2.2. Język schematów drabinkowych

Język schematów drabinkowych LD jest graficzną formą zapisu programu pracy sterownika. Wykorzystuje on symbole elektryczne i zasady sterowania analogiczne do stosowanych w stykowych obwodach przekaźnikowych, opisywanych za pomocą schematów elektrycznych rysowanych w formie przypominającej drabinkę. Program pracy sterownika pisany w postaci schematu drabinkowego tworzony jest z elementów zawartych w bibliotece, takich jak:

• elementy wejścia (styki) / wyjścia (cewki),

• liczniki,

• czasomierze,

• funkcje arytmetyczne, logiczne, porównań i relacji,

• bloki funkcyjne,

Page 24: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

627

• przerzutniki,

• bloki programowe, itp.

Część logiczna programu sterującego składa się z umieszczonych jeden pod drugim tzw. szczebli programowych, zawierających poszczególne elementy. Przypominają one typowy elektryczny schemat połączeń, posiadający symboliczne źródło zasilania, w którym zakłada się przepływ sygnału od szyny umieszczonej po lewej stronie schematu do przekaźników lub bloków funkcyjnych umieszczonych po prawej stronie każdego szczebla. Kolejne szczeble drabiny odczytywane są kolejno od góry do dołu i powtarzane cyklicznie od początku.

Każdy szczebel drabiny logicznej (oznaczany jako NETWORK) musi posiadać odpowiedni format i składnię, przy czym spełnione musza być następujące zasady:

• każdy szczebel może zawierać do 16 linii równoległych,

• każda linia może zawierać do 16 elementów logicznych połączonych szeregowo,

• ostatnim elementem szeregowego połączenia w danym szczeblu musi być przekaźnik lub blok funkcyjny,

• szczebel może zawierać maksymalnie do 16 przekaźników,

• szczebel musi zawierać przynajmniej jeden styk przed wystąpieniem przekaźnika, bloku funkcyjnego lub połączenia pionowego,

• nie może wystąpić rozgałęzienie mające początek lub koniec wewnątrz innego odgałęzienia.

15.4.2.3. Język schematów blokowych

Język schematów blokowych FBD jest odpowiednikiem schematów przepływu sygnału dla obwodów logicznych, przedstawionych w postaci połączonych bramek logicznych oraz bloków funkcyjnych.

15.5. Przykłady programowania sterowników PLC

Rysunek 15.9 przedstawia schematyczną budowę stanowiska pomiarowego wykorzystującego w obwodzie sterowania sterownik programowalny S7 314C-2DP firmy SIEMENS.

W celu porównania jakości sterowania (np. stabilizacji prędkości obrotowej przy zmianie obciążenia) z wykorzystaniem sterownika PLC można zastosować regulator PID lub regulator FUZZY.

Page 25: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

628

Rys. 15.9. Schemat budowy stanowiska pomiarowego. [8]

Programowanie sterowników PLC można realizować za pomocą programatora lub komputera osobistego PC, z wykorzystaniem łącza szeregowego.

Po uruchomieniu SIMATIC Managera możemy wybrać jeden z gotowych projektów lub rozpocząć pracę nad nowym projektem (rys. 15.10). Menadżer ten umożliwia również uruchomienie kilku przydatnych narzędzi:

• Accessible Nodes – umożliwia przeglądanie oraz modyfikowanie zawartości pamięci sterownika S7 oraz karty pamięci. Przed każdą próbą wczytania nowego projektu do sterownika dokonywany jest przegląd zawartości pamięci. Umożliwia to wyeliminowanie ze sterownika zbędnych funkcji i bloków, które nie biorą udziału w pracy określonego projektu;

• S7-PLCSIM – dodatkowy program, którego zadaniem jest symulowanie obecności niepodłączonego sterownika PLC w celu sprawdzenia poprawności działania projektu. Ponieważ dokonanie weryfikacji działania projektu przed jego wgraniem do pamięci sterownika jest jednym z podstawowych sposobów zabezpieczenia się przed skutkami niepoprawnie napisanego programu, zatem użycie

Page 26: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

629

„symulatora sterownika”, zamiast rzeczywistego obiektu, pozwala zweryfikować i poprawić błędy programu.

Rys. 15.10. Menager projektów programu STEP7. [8]

Jedną z pierwszych rzeczy, jaka musi zostać wykonana przy tworzeniu nowego projektu jest ustawienie poprawnej konfiguracji posiadanego modelu zasilacza oraz jednostki centralnej sterownika. Oprogramowanie Step7 rozpoznaje budowę oraz rodzaj procesora sterownika, a także umożliwia jego konfigurację w oknie konfiguracji HW Config (rys. 15.11). W oknie tym można odpowiednio ustawić adresy wejść oraz wyjść sterownika, częstotliwość uruchamiania bloków cyklicznych zawierających fragmenty kodów programu (np. OB35) oraz ustawić wartość napięcia lub prądu wejść i wyjść analogowych. Przykładowo, ustawiono sygnały analogowe wejściowe oraz wyjściowe 0..10V.

Rys. 15.11. Konfiguracja sprzętowa sterownika PLC. [8]

Page 27: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

630

Aby umożliwić programowanie sterownika S7 przy pomocy komputera PC lub programatora niezbędne jest określenie przy pomocy jakiego interfejsu odbywa się komunikacja (MPI lub Profibus DP) oraz określić jego parametry. W przypadku przeprowadzonych badań wykorzystany zastał interfejs MPI1, który z komputera PC wyposażonego w kartę komunikacyjną CP5611 (rys. 15.12) przesyłał program do sterow-nika S7 314C-2DP.

Rys. 15.12. Ustawienia konfiguracyjne połączenia sterownika z komputerem. [8]

Tak przygotowany projekt wykorzystany został w każdym z programów przeznaczonych do sterowania silnikiem tarczowym prądu stałego z elektronicznym komutatorem.

15.5.1. Sterowanie bez regulatora

W celu uruchomienia silnika tarczowy prądu stałego z elektronicz-nym komutatorem przy pomocy sterownika programowalnego PLC niezbędne było wykonanie kilku bloków funkcyjnych (FB1, FB2) i sprzęgniętych z nimi bloków danych (DB1, DB2) oraz funkcji (FC1). Nadrzędnym blokiem, w którym wywoływane są wszystkie wymienione elementy jest blok organizacyjny OB1 (rys. 15.13).

1 Message Passing Interface (MPI) (z ang. Interfejs Transmisji Wiadomości)

Page 28: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

631

Rys. 15.13. Podstawowy program sterujący w STEP7. [8]

Blok funkcyjny FB1 zawiera algorytm przełączania tranzystorów mostka, w zależności od wartości sygnałów dostarczanych z hallotronów. Natomiast blok funkcyjny FB2 zawiera kod przełączania tranzystorów, ale dla przeciwnych obrotów silnika.

Rys. 15.14. Zawartość bloku funkcyjnego FB1 (fragment). [8]

Na podstawie rysunku 15.14 wiadomo, że aby nastąpiło załączenie tranzystora dolnej części mostka w gałęzi A (GLA) niezbędne jest załączenie jednej z dwóch kombinacji hallotronów: I: H1 –załączony, H2 – załączony, H3 – wyłączony II: H1 – wyłączony, H2 – załączony, H3 – wyłączony

Blok OB1 jest podstawowym blokiem, w którym następuje wywołanie innych części programu STEP7. Umieszczone w nim bloki funkcyjne oraz funkcje zostają wykonane w sposób cykliczny, zależny od ich zawartości oraz szybkości procesora sterownika PLC. Przy pomocy wejść binarnych (przełączników na konsoli sterowniczej umieszczonej przy stanowisku badawczym) wybrany został kierunek obrotów silnika, a co za

Page 29: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

632

tym idzie wybrana została funkcja realizująca określony algorytm sterowania (FB1 lub FB2).

Prędkość obrotowa w tej wersji programu sterującego nie była stabilizowana na określonym poziomie, więc aby silnik obracał się z określoną prędkością, jej wartość deklarowana była za pomocą zewnętrznego sygnału analogowego przesyłanego przez sterownik PLC bezpośrednio do układu zasilającego mostek tranzystorowy (układ PWM).

15.5.2. Regulator PID

Elementy programu sterującego wykorzystującego regulator PID przedstawione zostały na rysunku 15.15.

Rys. 15.15. Elementy składowe programu z regulatorem PID. [8]

Algorytm regulatora PID znajduje się w bloku FB41, natomiast dane dla których dokonywane były obliczenia znajdują się w sprzęgniętym z nim bloku danych DB41. Oprócz wymienionych elementów oraz bloków, które służą do sterowania komutatorem (FB1, FB2, FC1, DB1, DB2) w sterowniku znajduje się również blok OB35. Jest to blok wykonywany w sterowniku w sposób cykliczny, z cyklem pracy 5ms. Wartość ta została dobrana doświadczalnie i jest wartością najmniejszą, jaką można zastosować w wykorzystanym sterowniku PLC. Poniżej tej wartości sterownik „gubił” niektóre pozycje z przełączeń komutatora elektronicznego, co objawiało się nierównomierną pracą silnika tarczowego. Sterownik umożliwia również analizę czasową działania poszczególnych elementów programu sterującego. Z analizy tej wynika, że najdłuższy fragment programu sterującego wykonywany jest przez 5 ms.

Page 30: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

633

Rys. 15.16. Regulator PID w sterowniku S7-300. [7]

Blok organizacyjny OB35 zawiera między innymi element CONT_C (rys. 15.16) w którym zostały podane wszystkie parametry wejściowe i wyjściowe regulatora PID, np.:

• GAIN – wzmocnienie regulatora (człon proporcjonalny P),

• TI – czas zdwojenia (człon całkujący I),

• TD – czas wyprzedzenia (człon różniczkujący D),

• PV_PER – wartość rzeczywista sygnału sterowanego (sygnał analogowy PIW752),

• SP_INT – wartość zadana sygnału (w procentach wartości maksymalnej sygnału),

• LMN_PER – wartość wyjściowa sygnału sterowanego (sygnał analogowy PQW754).

Page 31: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

634

Rys. 15.17. Schemat regulatora PID w sterowniku PLC S7-300. [7]

Rysunek 15.17 przedstawia schematyczną budowę regulatora ciągłego PID zastosowanego w programie sterującym. Jak widać, na podstawie schematu możliwe jest zastosowanie regulatora, który będzie posiadał tylko niektóre z członów regulujących (P_SEL, I_SEL, D_SEL).

W przypadku przeprowadzonych badań, wszystkie człony regulatora były załączone. Istnieje metoda identyfikacji obiektu i optymalizacji nastaw regulatora PID bezpośrednio w sterowniku PLC [9], jednak wymaga ona użycia dodatkowego pakietu Standard PID Control. Program ten oprócz zadań regulacji ciągłej, impulsowej oraz krokowej daje dodatkowo możliwość zidentyfikowania obiektu i optymalizacji nastaw regulatora.

Page 32: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

635

15.5.3. Regulator FUZZYCONTROL++

Kolejnym przykładowym programem sterującym pracą silnika tarczowego prądu stałego z elektronicznym komutatorem jest program sterujący prędkością obrotową silnika tarczowego z zaimplementowanym regulatorem FuzzyControl++. Program umieszczony został w pamięci sterownika programowalnego PLC S7 314C-2DP. Składa się on z następujących bloków (rys. 15.18):

• blok organizacyjny OB1 – zawiera algorytm przełączania tranzystorów mostka komutatora elektronicznego na podstawie sygnałów uzyskanych z czujników hallotronowych,

• blok OB100 – blok uruchamiany za każdym razem, gdy dokonywany jest restart programu sterownika, zawiera wartość początkową zmiennej MD2=0. Wartość ta wykorzystywana jest przy obliczaniu kierunku zmian prędkości obrotowej silnika (czy silnik przyśpiesza czy zwalnia, oraz z jaką szybkością dokonują się te zmiany),

• blok DB30 – jest to blok danych zawierający algorytm obliczeń rozmytych przygotowany wcześniej w aplikacji FuzzyControl++,

• blok OB35 – blok organizacyjny uruchamiany cyklicznie co 6 ms, zawiera kod, który:

o oblicza różnicę prędkości obrotowej silnika między wartością zadaną i rzeczywistą;

o oblicza kierunek zmian tej prędkości, konwertując go na przedział <-1, 1>;

o tak obliczone wartości wprowadza na wejścia regulatora rozmytego opisanego blokiem FB30;

o oblicza wartość sygnału wyjściowego regulatora FB30 na podstawie wczytanego algorytmu obliczeń rozmytych (zmienna DB30).

Na rysunkach 15.19 do 15.23 przedstawiono przebieg procesu projektowania aplikacji przeznaczonej do sterowania prędkością silnika tarczowego prądu stałego wykonanej przy pomocy programu FuzzyControl++ firmy SIEMENS.

Po określeniu ilości wejść i wyjść regulatora rozmytego (rys. 15.19) kolejnym krokiem jest określenie ilości i rodzaju funkcji przynależności dla poszczególnych sygnałów.

Zaproponowano następujące parametry regulatora:

• 5 funkcji przynależności dla wejścia pierwszego opisującego różnicę prędkości zadanej i rzeczywistej (rys. 15.20),

Page 33: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

636

• funkcje przynależności dla wejścia sygnału określającego kierunek zmian prędkości obrotowej silnika (rys 15.21),

• funkcje przynależności, w postaci singletonów (rys. 15.22), opisujące wyjście regulatora,

• baza reguł zawiera 8 pozycji. Reguły te opisują zależność sygnału wyjściowego regulatora (wartość napięcia zasilającego silnik) w zależności od wartości dwóch sygnałów wejściowych regulatora (rys. 15.23).

Rys. 15.18. Program sterujący z regulatorem Fuzzy Logic dla sterownika PLC. [8]

Rys. 15.19. Okno projektu regulatora fuzzy. [8]

Page 34: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

637

Rys. 15.20. Funkcje przynależności dla pierwszego wejścia. [8]

Rys. 15.21. Funkcje przynależności dla drugiego wejścia. [8]

Rys. 15.22. Funkcje przynależności sygnału wyjściowego regulatora. [8]

Page 35: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

638

Rys. 15.23. Baza reguł regulatora rozmytego. [8]

Aplikacja FuzzyControl++ umożliwia również przeprowadzenie symulacji tak przygotowanego regulatora. Daje zatem możliwość weryfikacji poprawności wykonanego regulatora przed uruchomieniem go na rzeczywistym obiekcie.

Kolejnym krokiem po weryfikacji poprawności działania projektu jest wgranie go do zmiennej DB30 umieszczonej w pamięci sterownika programowalnego PLC. Cała procedura umieszczania aplikacji w pamięci sterownika odbywa się poprzez przygotowany wcześniej kanał komunikacyjny w SIMATIC NET S7, wykorzystujący zewnętrzną kartę komunikacyjną CP5611 firmy Siemens. Tak przygotowany plik danych podłączony został do funkcji FB30, która umożliwia wykorzystanie regulatora rozmytego o maksymalnie 8 wejściach i 4 wyjściach (rys. 15.24).

Rys. 15.24. Blok funkcyjny FB30 firmy SIEMENS reprezentujący regulator rozmyty. [7]

Page 36: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

639

Rysunek 15.25 prezentuje charakterystyki prędkości obrotowej uzyskane przy pomocy trzech programów sterujących zastosowanych w sterowniku PLC 314C-2DP.

Rys. 15.25. Porównanie przebiegów prędkości obrotowej uzyskanych w wyniku

działania programów sterujących pracą silnika tarczowego. [8]

Wykres czerwony uzyskany został w układzie bez regulatora prędkości obrotowej, wykres czarny przedstawia prędkość obrotową sterownika z wykorzystaniem regulatora fuzzy, natomiast pozostałe wykresy (5 sztuk) - prędkość obrotową silnika dla różnych parametrów regulatora PID.

Page 37: 00 strony tyt - wiak.imsi.pl · pomiary i sterowanie prędkością obrotową silników, przepływów, pozycjonowanie układów itp. ... Umożliwia on odczyt położenia kątowego

15. STEROWNIKI PROGRAMOWALNE PLC

640

15.6. Literatura

[1] Brock S., Muszyński R., Urbański K., Zawirski K: Sterowniki programowalne , Wyd. PP 2000

[2] Instrukcja obsługi sterowników PLC SIMATIC S7-200, S7-300 [3] Kwaśniewski J.: Programowalne Sterowniki Przemysłowe w

Systemach Sterowania ZP Roma-Pol , 2005 [4] Legierski T, Wyrwał J., Kasprzyk J., Hajda J.: Programowanie

sterowników PLC, Wydawnictwo Pradcowni Komputerowej Jacka Skalmierskiego, Gliwice, 1998.

[5] Podstawy sterowników programowalnych PLC, Materiały programu edukacji technicznej firmy Siemens, Warszawa, 1998.

[6] Programowalny sterownik S7-1200 - Podręcznik systemu, http://automatyka.siemens.pl/solutionsandproducts/28235.htm, 2010r.

[7] www.automatyka.siemens.pl, 2010r. [8] Rosiak Wojciech, rozprawa doktorska, „Modelowanie obwodowo-

polowe silników tarczowych prądu stałego z elektronicznym komutatorem i sterowaniem rozmytym”, Politechnika Łódzka, 2010.

[9] Błasiński, W. Zastosowanie sterownika programowalnego do regulacji prędkości obrotowej silnika prądu stałego. Łódź : VI Krajowa Konferencja Naukowa, Sterowanie w Energoelektronice i Napędzie Elektrycznym. str. 637-640, 2003.