Instytut Klimatyzacji i Ogrzewnictwa I-33 Instrukcja do laboratorium z przedmiotu AUTOMATYKA w inżynierii środowiska Zawartość: 1. Karta Zadania nr1 2. Karta Zadania nr2 3. Objaśnienia do programu TAC MENTA 4. Opis bloków funkcyjnych Wrocław 2012 Opracowanie: dr inż. Piotr Jadwiszczak mgr inż. Piotr Kowalski mgr inż. Paweł Szałański na podstawie materiałów producenta wersja pierwsza (2012) 1
Karta Zadania 1 ZASOBNIKOWY UKŁAD PRZYGOTOWANIA C.W.U. Oprogramować programem narzędziowym TAC MENTA sterownik TAC XENTA 301 zasobnikowego układu przygotowania ciepłej wody użytkowej. Schemat ideowy układu według załączonego rysunku. Wymagane funkcje, które mają być realizowane przez sterownik to: 1. Regulacja temperatury ciepłej wody użytkowej. Zbudować algorytm stałowartościowej, dwustawnej regulacji temperatury ciepłej wody użytkowej. Niezależnie od pojawiających się zakłóceń układ ma utrzymywać stałą temperaturę wody. Dane: Temperatura zadana c.w.u: Tcwu = 60 C Dopuszczalna histereza: 5 C (55 60 C) Grzałka elektryczna: załącz/wyłącz Cyrkulacja c.w.u.: brak Zadania pomocnicze: 1.1. Narysuj schemat blokowy regulacji dla tego układu. Poszczególnym blokom przyporządkuj konkretne urządzenia. 1.2. Według jakiego scenariusza powinien działać ten algorytm regulacji? Jakie zakłócenia występują w układzie? 1.3. Ile elementów pomiarowych i wykonawczych powinno się znaleźć w układzie automatycznej regulacji? Określ i uzasadnij ich lokalizację. 2. Okresowa dezynfekcja termiczna Zbudować algorytm okresowej dezynfekcji termicznej układu. Ma ona polegać na okresowym podnoszeniu temperatury w zasobniku w celu zabicia bakterii (głównie Legionella). Temperatura dezynfekcji: Tcwu = 70 C Czas trwania dezynfekcji: 1 godzina Częstotliwość dezynfekcji: dwa razy w tygodniu Zadania pomocnicze: 2.1. Kiedy najlepiej przeprowadzać dezynfekcję? W warunkach i w jakich godzinach? 2.2. Od czego zależy czas trwania dezynfekcji? Schemat układu: c.w.u. podgrzewacz pojemnościowy GE grzałka woda zimna 2
Karta Zadania 2 WĘZEŁ CIEPŁOWNICZY Oprogramować programem narzędziowym TAC MENTA sterownik TAC XENTA 301 dwufunkcyjnego, wymiennikowego węzła ciepłowniczego. Schemat ideowy węzła według załączonego rysunku. Wymagane funkcje, które mają być realizowane przez sterownik to: 1. Regulacja temperatury ciepłej wody użytkowej. Stałowartościowa regulacja temperatury ciepłej wody użytkowej. Niezależnie od pojawiających się zakłóceń układ ma utrzymywać stałą temperaturę wody. Temperatura zadana c.w.u. Tcwu = 60 C. W module regulacyjnym c.w.u. ustawić odpowiednio: wartość zadaną, zakres proporcjonalności 50 K, czas całkowania 30 s, czas różniczkowania 0 s, czas ruchu siłownika 60 s, okres próbkowania 1 s. 2. Nadążna (pogodowa) regulacja temperatury wody zasilającej w instalacji c.o. Regulacja temperatury czynnika grzejnego na zasilaniu instalacji c.o. Tzco w funkcji temperatury zewnętrznej Te według zadanego wykresu regulacyjnego (tzw. krzywej grzania). W module regulacyjnym c.o. ustawić odpowiednio: zakres proporcjonalności 60 K, czas całkowania 15 s, czas różniczkowania 0 s, czas ruchu siłownika 120 s, okres próbkowania 10 s. 3. Funkcja ograniczenia maksymalnej i minimalnej temperatury czynnika c.o. Algorytm zabezpieczający instalację c.o. przed przekroczeniem minimalnej i maksymalnej temperatury czynnika obiegowego. 4. Funkcja zakończenia sezonu ogrzewczego dla c.o. Automatyczne wyłączenie ogrzewania ma następować przy temperaturze zewnętrznej Te>16 C, ponowne załączenie przy Te<14 C. Wyłączenie instalacji c.o. polega na zamknięciu zaworu regulacyjnego ZRco i wyłączeniu pompy obiegowej PO z 60 min. opóźnieniem (podtrzymaniem pracy przez 60 minut). 5. Funkcja priorytetu c.w.u. Priorytet realizowany przez przymykanie ZRco, a tym samym okresowe ograniczenia dostawy ciepła do c.o. i skierowanie go do układu przygotowania c.w.u. Priorytet częściowy: dopuszczalne przymknięcie zaworu ZRco = 40% otwarcia. Wskazówka: sygnał z regulatora c.w.u. podzielić w na dwie części, np.: 0 70% i 70 100%. Pierwszą część (0...70%) wykorzystać na sterowanie otwarciem ZRcwu w zakresie 0...100%. Drugą część (70...100%) wykorzystać na sterowanie zaworem ZRco w zakresie 100...40% (przymknięcie w czasie priorytetu przy już w pełni otwartym zaworze ZRcwu). Sygnał AO z regulatora c.w.u. (wyjście nr 8) 0% 70% 100% 0% sterowanie zaworem 100% 100% sterowanie 40% ZRcwu zaworem ZRco 6. Funkcja osłabienia nocnego parametrów c.o. Nocne i weekendowe obniżenie parametrów czynnika c.o. o 10 C. Osłabienie ma być załączenie zegarem zewnętrznym, według kalendarza tygodniowego: DI = 1 oznacza załączenie osłabienia. Uwzględnić wpływ długiego osłabienia weekendowego. 7. Sterowanie pompą cyrkulacyjną c.w.u. Pompa cyrkulacyjna PC ma pracować tylko w godzinach użytkowania budynku. 3
wymiennik c.o. Schemat węzła: c.w.u. ZRcw cyrkulacja wymiennik c.w.u. II stopień ZRco PO PC sieć ciepłownicza instalacja c.o. wymiennik c.w.u. I stopień woda zimna AI AO DI DO 4
OBJAŚNIENIA DO PROGRAMU TAC MENTA TAC Menta jest narzędziem do programowania sterowników serii TAC Xenta. TAC Menta jest programem niezwykle ułatwiającym pracę programisty oraz osoby uruchamiającej układy automatyki. Obsługa programu jest bardzo prosta TAC Menta korzysta z podstawowych funkcji Windows. Możliwe jest równoczesne uruchamianie wielu aplikacji TAC Menta. TAC Menta posiada następujące funkcje: Graficzny język programowania Tryb edycji Uruchamianie Tryb symulacji Funkcje on-line Narzędzie do konfiguracji panela operatora OP Kreator ładowania (wizard) Funkcje pomocy Ograniczenia wersji DEMO Programowanie i język programowania Program aplikacyjny jest tworzony poprzez wybieranie i łączenie odpowiednich bloków funkcyjnych (function block diagram, FBD). Obliczenia dla wszystkich bloków FBD wykonywane są w stałych cyklach czasowych zdefiniowanych przez użytkownika. Każde wykonanie jest nazywane cyklem programu. Dwoma podstawowymi elementami FBD są bloki funkcyjne (function blocks, FB) i połączenia. FB przetwarza dane z sygnałów wejściowych i generuje pojedynczy sygnał wyjściowy. Każdy blok funkcyjny (FB) może zawierać parametry do przetwarzania sygnałów wejściowych. Parametry mogą być wartościami numerycznym, lub stałymi definiowanymi w programie. Połączenie stanowi połączenie od jednego bloku do drugiego lub do kilku bloków. Dozwolone są jedynie połączenia pomiędzy blokami o takich samych typach sygnałów. 5
Istnieją trzy typy sygnałów: całkowite (Integer) (16 bitowa liczba ze znakiem), rzeczywiste (Real) (32-bitowa liczba ze znakiem, z dokładnością do 7 znaków), binarne (Binary) (0/1 = FAŁSZ/PRAWDA). Sygnały mogą być deklarowane jako publiczne. Sygnały publiczne są dostępne poprzez sieć przy zastosowaniu TAC Xenta OP lub TAC Vista. Lista sygnałów publicznych jest przedstawiona w specyfikacji programu. Bloki proste Istnieją różne typy bloków prostych. Każdy z bloków posiada określoną funkcję, ustaloną liczbę wejść i parametrów. Każdy blok generuje jeden sygnał wyjściowy. Parametry bloku mogą być różnych typów, przy czym każdy typ posiada wcześniej ustalony zakres wartości. Istnieje dziesięć różnych grup bloków prostych: bloki wejść/wyjść, źródła sygnałów, funkcje logiczne, funkcje nieliniowe, bloki opóźnienia, akumulatory, regulatory i filtry, zmienne systemowe, programy czasowe i alarmy, funkcje transformacji. Bloki wyrażeń Bloki wyrażeń stosowane są gdy chcemy stworzyć logiczne lub arytmetyczne wyrażenie w jednym bloku. Blok może zawierać zmienną liczbę wejść, wyrażenie (może być złożone) oraz jedno wyjście. Wyrażenie może zawierać wejścia analogowe (oznaczane dużą literą A, B, C,...) lub wejścia binarne (oznaczane małą literą a, b, c,...). Zmienne wejściowe sortowane są w kolejności alfabetycznej po lewej stronie bloku wyrażenia. Wyrażenia mogą również zawierać zdefiniowane w programie stałe. 6
Bloki operatorów Operatory są predefiniowanymi blokami wyrażeń z charakterystycznymi ikonami graficznymi. Istnieje pięć grup operatorów: stałe operatory matematyczne operatory porównań operatory bitowe inne Tryby pracy Tryb edycji (Edit Mode) Główne okno trybu edycji TAC Menta składa się z pojedynczego okna schematu z dwoma paskami przewijania, gdzie będą wyświetlone bloki funkcyjne. Programista tworzy program FBD przy pomocy myszy, klawiszy funkcyjnych, rozwijanych menu, poprzez umieszczanie bloków funkcyjnych w oknie schematu i rysowaniu połączeń pomiędzy blokami funkcyjnymi. Każdy plik FBD może mieć dołączony plik tekstowy o tej samej nazwie. Edytor tekstu wybierany jest przez użytkownika. Plik tekstowy może być stosowany do opisu funkcji programu. Tryb symulacji (Simulation Mode) W trybie symulacji okno aplikacji posiada dwa podokna, okno schematu i okno rejestrów. Okno schematu wyświetla bloki FBD albo tabelę ze wszystkimi publicznymi sygnałami i parametrami. W trybie symulacji program aplikacyjny może być wykonywany w sposób ciągły, krokowo co jeden cykl lub w określonej liczbie cykli. Podczas symulacji, można obserwować zmieniające się wartości sygnałów. Można zmieniać wartości sygnałów, symulować stan wejść fizycznych oraz rejestrować sygnały na wykresie w oknie rejestracji. Tryb on-line (połączenia ze sterownikiem) Tryb on-line TAC Menta jest stosowany do ładowania i uruchamiania programu aplikacyjnego. Użytkownik może odczytywać i zmieniać dynamicznie aktualizowane wartości sygnału w trakcie wykonywania programu aplikacyjnego przez sterownik TAC Xenta. Programy czasowe mogą być pobierane, zmieniane i z powrotem wysyłane do sterownika. Tryb demo TAC Menta może pracować bez licencji w trybie demo. Tryb demo umożliwia użytkownikowi wypróbowanie wszystkich funkcji programu (takich jak: zapamiętywanie, symulacje, edycje). Jednakże aplikacja może być zapamiętana jedynie jako aplikacja demo. Oznacza to, że nie będzie możliwe załadowanie aplikacji do jakiegokolwiek sterownika TAC Xenta. Aplikacja demo może być otwarta w licencjonowanym programie TAC Menta, ale nie może być przekonwertowana na wersję dającą się wgrać do sterownika. Narzędzia Narzędzie konfiguracyjne panelu operatora (OP) 7
Narzędzie konfiguracyjne OP jest stosowane do tworzenia wyświetlacza panelu operatora (OP). Ekran panela OP zawiera 4x20 znaków. Panel OP daje operatorowi dostęp do statusów, alarmów i parametrów instalacji. Menu na wyświetlaczu ma strukturę drzewa, które może być różne dla każdego sterownika. W TAC Xenta 280 można wyświetlić jedynie standardowe drzewo OP. Narzędzie do konfiguracji OP umożliwia ręczne tworzenie menu lub zaimportowanie gotowego menu z pliku tekstowego (DOP). Gdy narzędzie do konfiguracji OP jest wywoływane z okna edycji, automatycznie tworzona jest lista wszystkich sygnałów publicznych związanych z daną aplikacją. Kreator ładowania (Download Wizard) Narzędzie to ułatwia aktualizację oprogramowania systemowego TAC Xenta oraz przyśpiesza ładowanie programu aplikacyjnego oraz konfiguracji sieciowej do sterowników. Funkcje pomocy TAC Menta zawiera system pomocy Windows on-line z kompletną informacją dotyczącą języka programowania TAC Menta, wszystkich bloków funkcyjnych oraz procedur TAC Menta. 1. Bloki wejścia/wyjścia (I/O Blocks) 1.1 AI Analog Input Wejście analogowe Fizyczny sygnał AI AI Wejście fizycznego sygnału analogowego do regulatora (np. sygnał z elementu pomiarowego, czujnika). Dla przeprowadzenia symulacji wymagana jest parametryzacja bloku (Bind ). Określane są: 1. Charakterystyka sygnału: zmienna sieciowa (Network Variable), liniowe wejście analogowe (Linear Analog Input), nieliniowe wejście analogowe (Non Linear Analog Input), zmienna LON (SNVT), wartość stała (Constant Value). 2. Nazwa sterownika lub jego modułu do którego ma być podłączony sygnał (Mod Number). 3. Numer fizycznego wejścia do sterownika (Terminal Ref). Znak # oznacza, że dane wejście jest już zajęte przez inny sygnał. 4. Typ czujnika (Sensor) podłączonego do sterownika. 8
5. Stała czasowa czujnika (Time Const) i wartość początkowa sygnału (Initial Value), które są parametrami dodatkowymi. 1.2 AO Analog Output Wyjście analogowe AI AO + Fizyczny sygnał AO Wyjście fizycznego sygnału analogowego (0 100%) z regulatora (np. sygnał do elementu wykonawczego siłownika). Dla przeprowadzenia symulacji wymagana jest parametryzacja bloku (Bind ). Określane są: 1. Charakterystyka sygnału: fizyczny sygnał wyjściowy (Physical Output), wyjście nie podłączone (Not connected), zmienna LON (SNVT). 2. Nazwa sterownika lub jego modułu do którego ma być podłączony sygnał (Mod Number). 3. Numer fizycznego wyjścia ze sterownika (Terminal Ref). Znak # oznacza, że dane wyjście jest już zajęte przez inny sygnał. 4. Wartość początkowa sygnału (Initial Value), napięcie odpowiadające sygnałowi wejściowemu 0% (Voltage 0%) i 100% (Voltage 100%), które są parametrami dodatkowymi. 9
1.3 CNT - Digital Input - Pulse Counter Wejście cyfrowe Zliczanie impulsów Fizyczny sygnał DI CNT Blok zlicza fizyczne sygnały cyfrowe (impulsy, np. z ciepłomierza) i przemnaża je przez zadaną wartość (Multipler factor). Przepełnienie licznika następuje przy 32767. Dla przeprowadzenia symulacji wymagana jest parametryzacja bloku (Bind ). Określane są: 1. Charakterystyka sygnału: licznik impulsów (Pulse Counter), wyjście nie podłączone (Not connected). 2. Nazwa sterownika lub jego modułu do którego ma być podłączony sygnał (Mod Number). 3. Numer fizycznego wejścia do sterownika (Terminal Ref). Znak # oznacza, że dane wejście jest już zajęte przez inny sygnał. 4. Mnożnik (Multiplier) stosowany do przemnażania liczby zliczanych sygnałów DI. 5. Tryb pracy licznika impulsów: normalnie otwarty zlicza impulsy DI = 1 (Normally Open), normalnie zamknięty zlicza impulsy DI = 0. 1.4 DI - Digital Input Wejście cyfrowe Fizyczny sygnał DI DI BINARY Wejście fizycznego sygnału cyfrowego (0/1) pochodzącego z urządzenia zewnętrznego. 10
Dla przeprowadzenia symulacji wymagana jest parametryzacja bloku (Bind ). Określane są: 1. Charakterystyka sygnału: zmienna sieciowa (Network Variable),wejście fizycznego sygnału (Physical Input), sygnał z innego regulatora (Online Device), zmienna LON (NSVT), wartość stała (Constant Value). 2. Nazwa sterownika lub jego modułu do którego ma być podłączony sygnał (Mod Number). 3. Numer fizycznego wejścia do sterownika (Terminal Ref). Znak # oznacza, że dane wejście jest już zajęte przez inny sygnał. 4. Wartość początkowa (Initial Value) i tryb pracy bloku (Normaly Open / Normaly Close), które są parametrami dodatkowymi. 1.5 DO - Digital Output Wyjście cyfrowe DI DO Fizyczny sygnał DO Wyjście fizycznego sygnału cyfrowego (0/1) do urządzenia zewnętrznego. Dla przeprowadzenia symulacji wymagana jest parametryzacja bloku (Bind ). Określane są: 1. Charakterystyka sygnału: wyjście fizycznego sygnału (Physical Output), nie podłączony (Not connected), zmienna LON (NSVT). 11
2. Nazwa sterownika lub jego modułu do którego ma być podłączony sygnał (Mod Number). 3. Numer fizycznego wyjścia ze sterownika (Terminal Ref). Znak # oznacza, że dane wejście jest już zajęte przez inny sygnał. 4. Wartość początkowa (Initial Value), która jest parametrem dodatkowym. 1.6 DOPU - Digital Pulse Output Wyjście impulsu cyfrowego AI DOPU Fizyczny sygnał DO Wyjście fizycznego sygnału cyfrowego w postaci impulsu (0/1) o konkretnej długości trwania. Blok generuje impuls cyfrowy (0/1) którego czas trwania w sekundach określony jest sygnałem wejściowym AI bloku (w sekundach). Dla przeprowadzenia symulacji wymagana jest parametryzacja bloku (Bind ). Określane są: 1. Charakterystyka sygnału: wyjście fizycznego impulsu (Digital Pulse Output), nie podłączony (Not connected). 2. Nazwa sterownika lub jego modułu do którego ma być podłączony sygnał (Mod Number). 3. Numer fizycznego wyjścia ze sterownika (Terminal Ref). Znak # oznacza, że dane wejście jest już zajęte przez inny sygnał. 4. Początkowa długości trwania impulsu (Initial Value) podana w sekundach. 5. Minimalna długość impulsu cyfrowego (Min. Pulse) podana w sekundach rozkazy AI wygenerowania krótszego impulsu nie są realizowane. Takie rozkazy są przechowywane do realizacji w następnym cyklu programu (są sumowane). 12
2. Bloki nadajniki sygnału (Signal Sources) 2.1 NCYC - Program Cycle Counter Licznik cykli programu NCYC InitValue Final INTEGER Licznik cykli zaprogramowanego algorytmu sterowania lub regulacji. Blok (licznik) zwiększa wartość wyjścia za każdym cyklem programu. Parametryzacja bloku obejmuje podanie: wartości początkowej wskazania licznika (InitValue) oraz wartości końcowej (Final), po osiągnięciu której licznik wraca do InitValue i kontynuuje zliczanie cykli. Gdy InitValue < Final licznik zwiększa sygnał AO o 1 z każdym cyklem programu, a zmniejsza o 1 gdy InitValue > Final. 2.2 OSC Oscillator Oscylator cyfrowy OSC Cycle Time Pulse Time BINARY Oscylator cyfrowy 0/1. Generuje parametryzowany cyfrowy sygnał pulsacyjny 0/1 o zadanym okresie i czasie trwania (sekundy). 13
Parametryzacja bloku obejmuje podanie: okresu pulsowania (Cycle Time, co ile impuls) w sekundach oraz czasu trwania impulsu (PulseTime, jak długi impuls) w sekundach. Wartości te zaokrąglane są automatycznie do krotności czasu trwania cyklu programu (np. 1 sekundy). 2.3 PVB - Binary Value Parameter Cyfrowa wartość stała PVB InitValue BINARY Cyfrowa wartość stała. Blok stale generuje sygnał cyfrowy o stałej wartości (0 lub 1). Parametryzacja bloku obejmuje podanie: wartości generowanego sygnału (InitValue). 2.4 PVI - Integer Value Parameter Analogowa wartość stała, liczba całkowita PVI InitValue INTEGER Analogowa wartość stała (liczba całkowita). Blok stale generuje sygnał analogowy o zadanej wartości w postaci liczby całkowitej. Parametryzacja bloku obejmuje podanie: wartości generowanego sygnału (InitValue). 14
2.5 PVR - Real Value Parameter PVR InitValue Analogowa wartość stała (liczba rzeczywista). Blok stale generuje sygnał analogowy o zadanej wartości w postaci liczby rzeczywistej. Parametryzacja bloku obejmuje podanie: wartości generowanego sygnału (InitValue). 3. Bloki funkcji logicznych (Logical Functions) 3.1 AND - Logical AND Gate Logiczne I wejście 1, BINARY wejście 2, BINARY AND BINARY, wyjście Bramka logiczna AND (I). Blok generuje sygnał wyjściowy jako sumę logiczną dwóch sygnałów wejściowych (tabela). wejście1 wejście2 wyjście 0 0 0 0 1 0 1 0 0 1 1 1 15
3.2 NOT - NOT Gate Negacja logiczna wejście, BINARY BINARY, wyjście Bramka logiczna NOT (zaprzeczenie). Blok odwraca wejściowy sygnał cyfrowy z 1 na 0 i z 0 na 1 (tabela). 3.3 OR - OR Gate Logiczne ORAZ wejście 1, BINARY wejście 2, BINARY OR wejście wyjście 0 1 1 0 BINARY, wyjście Bramka logiczna LUB (alternatywa). Blok generuje sygnał wyjściowy jako alternatywę logiczną dwóch sygnałów wejściowych (tabela). wejście1 wejście2 wyjście 0 0 0 0 1 1 1 0 1 1 1 1 3.4 PULSE - Pulse Generator Generator impulsów wywołanie impulsu, BINARY długość impulsu, sek, t pl PULSE BINARY, impuls o długości pl Generator impulsów. Blok generuje impuls cyfrowy, którego parametry określają dwa sygnały wejściowe bloku: 1. t (Trig) cyfrowy sygnał inicjujący generowanie impulsu. Gdy sygnał t zmienia się z 0 na 1 generowany jest impuls cyfrowy. 2. pl (PulseLength) analogowy sygnał typu określający długość trwania impulsu wyjściowego w sekundach. Wartości te zaokrąglane są automatycznie do krotności czasu trwania cyklu programu (np. 1 sekundy). 16
Wejście DI (wywołanie impulsu) 1 0 Wyjście DO (generowany impuls) 1 0 Długość impulsu (PulseLength) określona AI Długość impulsu (PulseLength) określona AI 3.5 SR - Set-Reset Flip-flop set, BINARY reset, BINARY s r SR InitValue BINARY, wyjście Zależnie od wartości cyfrowych sygnałów wejściowych blok generuje cyfrowy sygnał wyjściowy w następnym cyklu (t+1) programu według zależności podanej w tabeli: t = cykl aktualny, t+1 = cykl następny set (t) reset (t) wyjście (t+1) 0 0 wyjście (t) 0 1 0 1 0 1 1 1 not (wyjście (t)) Gdy oba wejścia są wyłączone (0), wyjście pozostaje bez zmian. Gdy oba wejścia są aktywne (1) wyjście zmienia się co cykl (negacja poprzedniego). Parametryzacja bloku obejmuje podanie: wartości początkowej generowanego sygnału (InitValue). 17
s - set 1 0 r - reset 1 0 Output 1 0 3.6 TRIG Trigger Pojedynczy impuls cyfrowy wejście, BINARY Mode TRIG BINARY, wyjście Po pojawieniu się sygnału wejściowego o wartości 1 blok generuje cyfrowy sygnał wyjściowy (impuls), którego czas trwania równa się długości cyklu programu. Parametryzacja bloku obejmuje podanie: wartości typu INTEGER określającej tryb pracy bloku (Mode). Zależnie od trybu pracy (Mode) blok generuje impuls: Mode = 0 i 1: gdy wejście zmienia się z 0 na 1 Mode = 2: gdy wejście zmienia się z 1 na 0 Mode = 3: przy dowolnej zmianie wartości sygnału wejściowego Wartość większa od 3 powoduje pracę bloku w trybie 3. 4. Bloki funkcji nie liniowych (Non-linear Functions) 4.1 AHYST - Analog Hysteresis Histereza analogowa wejście, AHYST Rise Fall, wyjście 18
Parametryzacja bloku obejmuje podanie: górnego ograniczenia sygnału wejściowego (Rise), dolnego ograniczenia sygnału wyjściowego (Fall). Sygnał wyjścia = wyjścia, gdy jego wartość znajduje się poza zakresem <Fall, Rise>. Gdy Rise>Fall to przebieg sygnału w pętli jest przeciwny do ruchu wskazówek zegara (patrz rysunek poniżej) lub gdy Rise>Fall to przebieg sygnału w pętli jest zgodny z ruchem wskazówek zegara. Output 100% 0 0 Fall Rise 100% Variable 4.2 HYST - Binary Hysteresis Histereza z wyjściem cyfrowym wejście, HYST Activate Deactivate BINARY, wyjście Parametryzacja bloku obejmuje podanie: wartości typu będącej progiem załączenia sygnału wyjściowego o wartości 1 (Activate), wartości typu będącej progiem wyłączenia sygnału wyjściowego o wartości 0 (Deactivate). Jeżeli Activate<Deactivate blok działa następująco: Jeżeli wartość wyjścia wynosi 1 i wartość sygnału wejściowego jest większa od progu deaktywacji, wartość sygnału wyjściowego zmienia się na 0. Jeżeli wartość sygnału wyjściowego wynosi 0 i wartość sygnału wejściowego spada poniżej progu aktywacji wyjście zmienia się na 1. Jeżeli sygnał wejściowy znajduje się pomiędzy progami aktywacji i deaktywacji sygnał na wyjściu nie ulega zmianie. Jeżeli Activate>Deactivate blok działa zgodnie ze schematem zamieszczonym na poniższym rysunku. Output 1 0 Deactivate Activate Variable 19
4.3 LIMIT - High/Low Signal Limit Ogranicznik sygnału wejście, LIMIT MinValue MaxValue, wyjście Blok ogranicza sygnał wejściowy do zadanych wartości maksymalnej i minimalnej (wyjście nie przekroczy wartości maksymalnej i minimalnej podanej w bloku). Parametryzacja bloku obejmuje podanie: minimalnej wartości sygnału wyjściowego (MinValue), maksymalnej wartości sygnału wyjściowego (MaxValue). 4.4 MAX - Maximum Signal Selektor Wybór większej wartości analogowej wejście 1, wejście 2, MAX, wyjście Blok wybiera większą wartość z dwóch analogowych sygnałów wejściowych. 4.5 MIN - Minimum Signal Selector Wybór mniejszej wartości analogowej wejście 1, wejście 2, MIN, wyjście Blok wybiera mniejszą wartość z dwóch analogowych sygnałów wejściowych. 20
5. Bloki opóźniające (Delay Blocks) 5.1 DELAY - Delayed On/Off Opóźnienie załączenia/wyłączenia DELAY wejście, BINARY DelayOn DelayOff BINARY, wyjście Blok opóźnia zmianę sygnału wejściowego opóźnia zmianę sygnału z 0 na 1 oraz z 1 na 0 o czas podany w sekundach osobno dla załączenia i wyłączenia. Parametryzacja bloku obejmuje podanie: wartości (typ ) opóźnienia załączenia (zmiany sygnału z 0 na 1) w sekundach (DelayOn), wartości (typ ) opóźnienia wyłączenia (zmiany sygnału z 1 na 0) w sekundach (DelayOff). Input 1 0 Output 1 0 DelayOn DelayOff 5.2 DELB - Binary Value Delay Opóźnienie sygnału cyfrowego o jeden cykl wejście, BINARY DELB InitValue BINARY, wyjście Blok opóźnia przejście sygnału cyfrowego o jeden cykl programu. W danym cyklu sygnał wyjściowy jest równy sygnałowi wejściowemui z poprzedniego cyklu. 21
Parametryzacja bloku obejmuje podanie: wartości początkowej (InitValue) sygnału wyjścia (0 lub 1). 5.3 DELI - Integer Value Delay Opóźnienie sygnału analogowego typu INTEGER o jeden cykl wejście, INTEGER DELI InitValue INTEGER, wyjście Blok opóźnia przekazanie sygnału analogowego (w postaci liczby całkowitej) o jeden cykl programu. W danym cyklu sygnał wyjściowy jest równy sygnałowi wejściowemu z poprzedniego cyklu. Parametryzacja bloku obejmuje podanie: wartości początkowej (InitValue) jako liczby całkowitej. 5.4 DELR - Real Value Delay Opóźnienie sygnału analogowego typu o jeden cykl wejście, DELR InitValue, wyjście Blok opóźnia przekazanie sygnału analogowego (w postaci liczby rzeczywistej) o jeden cykl programu. W danym cyklu sygnał wyjściowy jest równy sygnałowi wejściowemu z poprzedniego cyklu. Parametryzacja bloku obejmuje podanie: wartości początkowej (InitValue) jako liczby rzeczywistej. 22
5.5 SHB - Sample and Hold Binary Value Próbkowanie sygnału cyfrowego próbka, BINARY załącz próbkowanie, BINARY d c SHB InitValue BINARY, wyjście Blok próbkuje i kopiuje na wyjście wartość sygnału wejściowego d, gdy załączone jest próbkowanie sygnałem c = 1. Gdy próbkowanie zostanie wyłączone (c = 0) sygnał wyjściowy przyjmuje wartość stałą z chwili wyłączenia próbkowania i pozostaje stały, aż do ponownego uruchomienia próbkowania sygnałem c. próbka (t) załącz próbkowanie (t) wyjście (t+1) 0 0 wyjście (t) 1 0 wyjście (t) 0 1 0 1 1 1 t = cykl aktualny, t+1 = cykl następny Parametryzacja bloku obejmuje podanie: wartości początkowej (InitValue) sygnału wyjściowego (0/1). 5.6 SHI - Sample and Hold Integer Value Próbkowanie sygnału analogowego typu INTEGER próbka, INTEGER załącz próbkowanie, BINARY D c SHI InitValue INTEGER, wyjście Blok próbkuje i kopiuje na wyjście wartość sygnału wejściowego D, gdy załączone jest próbkowanie sygnałem c = 1. Gdy próbkowanie zostanie wyłączone (c = 0) sygnał wyjściowy przyjmuje wartość stałą z 23
chwili wyłączenia próbkowania i pozostaje stały, aż do ponownego uruchomienia próbkowania sygnałem c. Parametryzacja bloku obejmuje podanie: wartości początkowej (InitValue) sygnału wyjściowego (l.całkowita). D - variable c - control 1 0 Output 6. Regulatory i filtry (Controllers and Filters) 6.1 FILT - First Order Filter Opóźnienie zmian sygnału wejście, FILT Time Const, wyjście Filtr tłumiący zmienność sygnału wejściowego. Blok tłumi zmiany sygnału wejściowego zgodnie ze stałą czasową filtra (TimeConst). Parametryzacja bloku obejmuje podanie: stałej czasowej filtra w sekundach (TimeConst). 24
6.2 PIDA - PID Controller - Analog Output Regulator PID (AO) Blok regulatora PID z wyjściem analogowym Wartość mierzona Wartość zadana Tryb pracy INTEGER Zakres proporcjonalności Czas całkowania Czas różniczkowania Strefa martwa Poprzedni sygnał sterujący MV SP Mode G Ti Td DZ TSg PIDA Control Int UMin UMax StrokeTime Wejścia bloku: MV = Wartość regulowana, pomiar (Measured value). SP = Wartość zadana (Set point). Mode = Tryb pracy regulatora określony jest wartością tego parametru: Mode = 0 => Wyłącz, regulator jest wyłączony, nie działa, sygnał AO = 0 (inaczej AO = TSg). Mode = 1 => Praca, regulator realizuje proces regulacji. Mode = 2 => Wymuszenie wartości sygnału AO = UMax. Mode = 3 => Wymuszenie wartości sygnału AO = UMin. G = Zakres proporcjonalności P regulatora (Proportional gain). Gdy wartość regulowana MV jest mniejsza od zadanej SP, to przy dodatnim G sygnału sterujący rośnie (sterowanie grzaniem), a przy ujemnym G maleje (sterowanie chłodzeniem). Ti = Czas całkowania I regulatora (Integral time) podany w sekundach. Td = Czas różnickowania D regulatora (Derivative time) podany w sekundach. DZ = Strefa martwa regulatora (Dead zone). Gdy odchyłka regulacji jest mniejsza od DZ, to sygnał sterujący 0. TSg = Tracking signal (actual value of the previous control signal). Wejście zazwyczaj podłączone bezpośrednio z wyjściem tego samego regulatora lub np. po zewnętrznych ograniczeniach tego sygnału sterującego. Parametry bloku: ControlInt () = okres próbkowania w sekundach. Gdy zmienna wynosi 0, to czas próbkowania jest automatycznie dostosowywany do długości cyklu programu. UMin () = minimalna wartość sygnału sterującego (wyjścia z PIDA). Domyślnie 0%. UMax () = maksymalna wartość sygnału sterującego (wyjścia z PIDA). Domyślnie 100%. StrokeTime () = czas ruchu siłownika w sekundach (czas przejścia od otwarcia do zamknięcia). Parametr ten określa szybkość zmian sygnału wyjściowego modułu PIDA: określa czas konieczny do zmiany sygnału z wartości maksymalnej do minimalnej (lub odwrotnie). Wartość 0 oznacza brak ograniczenia prędkości zmian sygnału wyjścia. 25
6.3 RAMP - Ramp Filter Filtr ograniczający szybkość zmiany sygnału analogowego do prędkości podanej w jednostkach na sekundę. RAMP Increment Parametry bloku: Increment = maksymalna szybkość zmiany sygnału podana w jednostkach na sekundę. Sposób działania: Input 100 0 Output 100 0 7. Bloki zliczające, liczniki (Accumulators) 7.1 ACCUM Accumulator Licznik przyrostu sygnału analogowego. Wykorzystywany do zliczania przyrostu zliczanego sygnału analogowego (rosnącego) o wartość podawaną na wejście i w każdym cyklu programu. Sygnał zliczany, Reset, BINARY i rs ACCUM InitValue Wartość wyjścia dla Reset =1, rv Wejścia bloku: Increment (i) () = wartość sygnału akumulowana w każdym cyklu programu Reset (rs) (BINARY) = Reset input (1 = reset) ResetValue (rv) (RESET) = Wartość jaką przyjmuje sygnał wyjścia po aktywacji resetu. Gdy Reset = 0, to wartość wyjścia przyrasta w każdym cyklu programu. Maksymalna wartość licznika określona jest możliwościami programowanego regulatora. 7.2 INTEG Integrator Ten blok umożliwia całkowanie wartości przepływu w czasie. Wartość na wyjściu obliczana jest jako suma iloczynów wartości na wejściu r i czasu występowania tej wartości. Sygnał zliczany, r INTEG Reset, BINARY rs InitValue Wartość wyjścia dla Reset =1, rv 26
Wejścia bloku: Rate (r) () = zmienna wartość wejściowa Reset (rs) (BINARY) = Reset input (1 = reset) ResetValue (rv) (RESET) = wartość jaką przyjmuje sygnał wyjścia po aktywacji resetu W stanie początkowym wyjście przyjmuje wartość początkową (InitValue). Gdy Reset jest aktywny (rs=1), wyjście bloku jest resetowane do wartości podanej na wejściu rv. Kiedy Reset jest nieaktywny (rs=0), całkowanie jest kontynuowane rozpoczynając od ostatniej wartości podanej na wejściu rv. Maksymalna wartość licznika określona jest możliwościami programowanego regulatora. 7.3 RT - Run Time Measurement Licznik czasu pracy Zlicza czas występowania sygnału o wartości 1 na wejściu i. Wskaźnik stanu pracy, BINARY Reset, BINARY i rs RT Unit INTEGER RunIndication (i) (BINARY)= Wskaźnik stanu pracy (wartość i=1 oznacza pracę) Reset (rs) (BINARY) = Reset input (reset = 1, zeruje stan licznika) Unit (INTEGER) = Wybór jednostki wyjścia (0 = godziny, 1 = minuty, 2 = sekundy). Wartość domyślna = 0 (godziny) Maksymalne wskazanie licznika to 32767. Następnie licznik zatrzymuje się, lecz nie zeruje. 8. Zmienne systemowe (System Variables) 8.1 DATE Day DATE AO Podaje numer aktualnego dnia w aktualnym miesiącu (od 1 do 31) na podstawie wewnętrznego zegara. 8.2 HOUR Hour HOUR AO Podaje aktualną godzinę (od 0 do 23) na podstawie wewnętrznego zegara. 8.3 MINUTE - Minute MINUTE AO Podaje aktualną minutę aktualnej godziny (od 0 do 59) na podstawie wewnętrznego zegara. 27
8.4 MONTH - Month MONTH AO Podaje numer aktualnego miesiąca roku (od 1 do 12) na podstawie wewnętrznego zegara. 1 = styczeń, 12 = grudzień. 8.5 RST - Restart RST DO Wyście bloku aktywuje się (DO=1) podczas uruchomienia programu (rozruchu instalacji) po awaryjnym zatrzymaniu (warm start). 9. Harmonogramy czasowe i alarmy (Time Schedules and Alarms) 9.1 TSCH - Time Schedule TSCH AO Week charts, Max. INTEGER Liczba zdarzeń w tygodniowych Holiday charts, Max. INTEGER Liczba zdarzeń urlopowych WYJŚCIE INTEGER RO (read only tylko odczyt) Blok generuje sygnał wyjściowy dodatni, odliczając w sekundach czas pozostały do rozpoczęcia zdefiniowanej w harmonogramie akcji oraz sygnał wyjściowy ujemny, odliczając czas w sekundach pozostały do zakończenia akcji. 10. Transformation Functions 10.1 CURVE - Curve Function Wykres regulacyjny (krzywa regulacyjna). CURVE (x) Limit Dimension (y) Parametry bloku: Limit (BINARY) = wybór między trybem ograniczenia (1) lub ekstrapolacji (0). Dimension () = punkty opisujące kształt krzywej regulacyjnej (Pair list x,y) podane jako współrzędne każdego punktu (x,y). y = f(x). Jedna para współrzędnych w jednym wierszu. Krzywa może zawierać maksymalnie 127 punktów. Wartość współrzędnej x ma być rosnąc w kolejnych punktach krzywej. Między punktami tworzącymi wykres wartości są interpolowane liniowo. 28
Parametr ograniczenie (Limit) służy do uruchamiania funkcji ograniczającej sygnał wyjścia (y), gdy sygnał wejścia znajduje się poza zakresem opisanym pierwszym i ostatnim punktem krzywej. Gdy ograniczenie jest wyłączone (Limit = 0) wartośc sygnału wyjścia jest w takich sytuacjach ekstrapolowana liniowo. 10.2 ENTH - Enthalpy Temperatura Wilgotność T H ENTH Temperature (T) = temperatura termometru suchego C ( F) Humidity (H) Relative humidity (%) OUTPUT RO Blok oblicza entalpię (kj/kg) wilgotnego powietrza przy ciśnieniu atmosferycznym jako funkcję temperatury termometru suchego ( C) i wilgotności względnej powietrza (%). 10.3 POLY - Polynomial Function Funkcja wykładnicza. Blok oblicza funkcję wykładniczą opisaną wzorem: p( x ) an x n an x n1 1... a1 x a0 POLY Order Parametry bloku: Order () = lista współczynników a0,...,an Stopień równania wykładniczego równa się liczbie podanych w bloku współczynników (wykładników potęgi). Maksymalnie można ich podać 255. 10.4 PRCNT Percentage - Procent Blok podaje aktualny procent sparametryzowanego zakresu. PRCNT Value 0% Value 100% Parametry bloku: Value 0% () = wartość sygnału wejściowego odpowiadająca 0% na wyjściu. Value100% () = wartość sygnału wejściowego odpowiadająca 100% na wyjściu. Wyjście = 100 (Wejście AI - Value0%) / (Value100% - Value0%) Sygnał wyjściowy zmienia się w zakresie od 0 do 100. 29
10.5 VECTOR - Vectorial Curve Function VECTOR Xmin Xmax Dimension Parametry bloku: Xmin () = dolny limit sygnału wejścia Xmax () = górny limit sygnału wejścia Dimension (Y(X)) () = lista wartości funkcji (minimum dwóch, maksymalnie 255) podanych w osobnych wierszach. Blok VECTOR pozwala zdefiniować funkcję linową z podaniem górnego i dolnego ograniczenia sygnału wyjściowego AO. Funkcja y = f(x) definiowana jest poprzez podanie dolnego i górnego ograniczenia wartości sygnału wejściowego (x) oraz określonej liczby wartości sygnału wyjściowego (y), które są równomiernie rozkładane w zakresie opisanym limitami (x). Między zadanymi punktami wartość funkcji jest interpolowane liniowo. Przykładowo: ograniczenie sygnału wejściowego (x) do 10 do 30. Zdefiniowanych pięć wartości sygnału wyjściowego (y). Przedział <10,30> dzielony jest automatycznie na cztery równe części i tym wartościom przyporządkowywane są zdefiniowane wartości (y). 110 100 90 80 70 60 50 40 30 20 10 0 0 10 20 30 40 11. Wyrażenia matematyczne (Expressions) XPR, XPI, XPB Wejście 1,, INTEGER, BINARY Wejście n-1,, INTEGER, BINARY Wejście n,, INTEGER, BINARY XPR Expression (XPR), INTEGER (XPI), BINARY (XPB) W blokach Expression można zapisać proste lub złożone wyrażenie arytmetyczna. Zależnie od rodzaju wyrażenia blok ma kilka różnych wejść sygnału. Graficzny symbol bloku zmienia się zależnie od wielkości równania i liczby wejść. Zależnie od rodzaju sygnału wyjściowego rozróżnia się trzy rodzaje bloku Expression: 30
XPB = Binary output = blok równania z wyjściem cyfrowym. Gdy wynik obliczeń = 0, to wyjście = 0. Gdy wynik obliczeń jest różny od zera, to wyjście = 1. XPI = Integer output = blok równania z wyjściem typu INTEGER XPR = Real output = blok równania z wyjściem typu Wejścia bloku: Zmienne będące wejściami bloku definiowane są w wyrażeniu arytmetycznym: za pomocą dużych liter (A, B, C,...) wejścia analogowe, małymi literami (a, b, c,...) wejścia cyfrowe. W jednym wyrażeniu nie można stosować tych samych liter małych I dużych np. "A" i "a". Zmiennej wejściowe sortowane są alfabetycznie po lewej stronie bloków Expression. Stałe Numeryczne to liczy całkowite, które mogą być poprzedzone znakiem + lub -. Po liczbie całkowitej można zastosować znak dziesiętny (.) i liczbę dziesiętną. Liczby można również zapisywać w postaci wykładniczej, przed liczbą całkowitą dodając literę e lub E, a za nimi dwucyfrową wartość typu INTEGER. Stałe alfanumeryczne to stałe opisane literami (do 20 znaków) zdefiniowane w tabeli wartości stałych. Nazwa stałej musi być wpisywana między dwoma cudzysłowami ( stała ). Operatory działań matematycznych:! negacja logiczna * mnożenie / dzielenie % moduł liczby + dodawanie - odejmowanie, zmiana znaku << left shift >> right shift < mniejszy niż > większy niż <= mniejszy lub równy >= większy lub równy = równy!= nie równy (inny niż) & ^ logiczne i (AND) logiczne LUB (OR) logiczne LUB (OR)? : IF-THEN-ELSE = JEŻELI-TO-W PRZECIWNYM WYPDAKU. Zapis "a? b : c" oznacza: "jeżeli a to b w przeciwnym wypadku c". x**y x do potęgi y LN (x) logarytm naturalny LOG (x) logarytm dziesiętny EXP (x) exponent, e do potęgi x 31
COS (x) cosinus x (radiany) SIN (x) sinus x (radiany) TAN (x) tangens x (radiany) ACOS (x) arcus cosus x ASIN (x) arcus sinus x ATAN (x) arcus tangens x SQRT (x) pierwiastek kwadratowy x ABS (x) wartość bezwzględna x INT(x) liczba całkowita z x 12. OPERATORS Operatory 12.1 Przełącznik binarny - Digital mux. BINARY BINARY BINARY BINARY Binarny łącznik - przekaźnik (wartośći 0 lub 1). Blok stale generuje sygnał binarny o wartości w postaci liczby z jednego z wejść binarnych. Wybór dokonywany jest przez zmianę binarnego sygnału sterującego (0/1). 12.2 Przełącznik analogowy - Analog mux. BINARY Analogowy łącznik - przekaźnik (liczby rzeczywiste). Blok stale generuje sygnał analogowy o wartości w postaci liczby rzeczywistej z jednego z wejść. Wybór dokonywany jest przez zmianę binarnego sygnału sterującego (0/1). 32
33