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 Opracowanie: dr inż. Piotr Jadwiszczak mgr inż. Piotr Kowalski mgr inż. Paweł Szałański na podstawie materiałów producenta wersja druga (2013) 1
2
Karta Zadania 1 ZASOBNIKOWY UKŁAD PRZYGOTOWANIA C.W.U. Programem narzędziowym TAC MENTA stworzyć algorytm sterowania i regulacji dla sterownika 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 tym 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 jakich warunkach, godzinach? 2.2. Od czego zależy czas trwania dezynfekcji? Schemat układu: c.w.u. podgrzewacz pojemnościowy GE grzałka elektryczna 3 woda zimna
Karta Zadania 2 WĘZEŁ CIEPŁOWNICZY Programem narzędziowym TAC MENTA stworzyć algorytm sterowania i regulacji dla sterownika 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, ciągła regulacja temperatury ciepłej wody użytkowej (PID). 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. Ciągła regulacja (PID) 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 PID 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 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 PID 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% 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. 0% sterowanie zaworem 100% 100% sterowanie 40% ZRcwu zaworem ZRco Pompa cyrkulacyjna PC ma pracować tylko w godzinach użytkowania budynku. 4
wymiennik c.o. Automatyka w inżynierii środowiska laboratorium 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 5
OBJAŚNIENIA DO PROGRAMU TAC MENTA TAC Menta jest narzędziem do programowania sterowników serii TAC Xenta, ułatwiającym pracę programisty oraz osoby uruchamiającej układy automatyki. TAC Menta korzysta z podstawowych funkcji Windows i możliwe jest równoczesne uruchamianie wielu aplikacji TAC Menta. TAC Menta posiada następujące funkcje: graficzny język programowania tryb edycji programu tryb symulacji pracy programu funkcje on-line narzędzie do konfiguracji panelu operatora OP kreator ładowania programu do sterownika (wizard) funkcje pomocy 1. Uruchamianie i ograniczenia wersja DEMO Po zainstalowaniu uruchamianie poprzez: START >Wszystkie Programy >TAC >TAC Tools >Menta. Uruchomienie w wersji demo sygnalizowane jest odpowiednim komunikatem. W wersji demo nie ma możliwości wgrania stworzonego algorytmu do pamięci sterownika lub regulatora. Po uruchomieniu aplikacji lub wybraniu opcji nowy projekt (>File >New) należy wybrać rodzaj i parametry regulatora TAC Xenta dla którego będzie tworzony program aplikacyjny (Device Configuration). Następnie podaje się dane dotyczące programu aplikacyjnego (Program Specification). 6
2. Programowanie i tworzenie programów Tworzenia aplikacji (programu) dla sterownika odbywa się za pomocą interface u graficznego i nie wymaga znajomości języków programowania maszynowego. Program aplikacyjny tworzony jest poprzez wybieranie i łączenie odpowiednich bloków funkcyjnych (tzw. 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. Podstawowymi elementami FBD są bloki funkcyjne (function blocks, FB) i ich połączenia. Każdy rodzaj FB przetwarza w określony sposób dane z sygnałów wejściowych i generuje sygnał wyjściowy. Większość bloków funkcyjny (FB) zawiera zmienne parametry określające sposób ich pracy czy przetwarzania przez nie sygnałów wejściowych. Parametry te mogą być stałymi wartościami numerycznym podanymi przez programistę, być na bieżąco wyliczane lub pochodzić z innych bloków funkcyjnych. Połączenie bloków funkcyjnych liniami sygnałowymi stanowi drogę przesyłania informacji od jednego bloku do drugiego lub do kilku bloków. Dozwolone są połączenia jedynie pomiędzy blokami o takich samych typach sygnałów. każda linia sygnałowa przesyła sygnał w kierunku oznaczonym grotem strzałki. Domyślny kierunek przebiegu sygnałów to od lewej do prawej. blok źródłowy linia sygnałowa blok funkcyjny linia sygnałowa blok wynikowy 3. Rodzaje sygnałów W TAC Menta informacje przesyłane są za pomocą trzech typów sygnałów: sygnał analogowy jako liczba całkowita (INTEGER, 16 bitowa liczba ze znakiem), sygnał analogowy jako liczba rzeczywista (, 32-bitowa liczba ze znakiem, z dokładnością do 7 znaków), sygnał cyfrowy jako binarny (BINARY, 0/1 = FAŁSZ/PRAWDA). Dozwolone są połączenia jedynie pomiędzy blokami o takich samych typach sygnałów. 7
4. Biblioteka bloków W programie TAC Menta dostępna jest biblioteka gotowych bloków funkcyjnych (FB), z których graficznie buduje się schemat algorytmu działania. Dostęp do bibliotek poprzez naciśniecie lewego przycisku myszy na ekranie roboczym: Bloki podzielone są na cztery grupy bloków: 1. Simple Block podstawowe bloki funkcyjne 2. Operator bloki operatorów (operacje na sygnałach) 3. Expression blok wyrażeń matematycznych 4. Test Probe Block bloki I/O do testów aplikacyjnych Wybranie odpowiedniej grupy otwiera szczegółową listę dostępnych w niej bloków. 4.1 Bloki podstawowe Istnieje dziesięć różnych grup bloków prostych: 1. bloki wejść/wyjść (I/O) 2. źródła sygnałów 3. funkcje logiczne 4. funkcje nieliniowe 5. bloki opóźnienia 6. akumulatory 7. regulatory i filtry 8. zmienne systemowe 9. programy czasowe i alarmy 10. funkcje transformacji Każdy z podstawowych 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. 4.2 Blok wyrażeń matematycznych 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. 4.3 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 8
5. Tryby pracy w TAC Menta 5.1 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 zastosowane 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. 5.2 Tryb symulacji (Simulation Mode) Tryb symulacji pozwala sprawdzić poprawność działania budowanego algorytmu regulacji i sterowania. Podczas symulacji można zmieniać wartości sygnałów i symulować stan wejść fizycznych oraz rejestrować sygnały na wykresie w oknie rejestracji. W trybie symulacji okno aplikacji posiada dwa podokna, okno schematu i okno rejestrów. Okno schematu wyświetla bloki FBD, a okno rejestrów wykres z wielkościami monitorowanymi. 5.3 Tryb on-line (połączenia ze sterownikiem) Tryb on-line TAC Menta jest przeznaczony do ładowania i uruchamiania programu aplikacyjnego w rzeczywistym sterowniku. Niedostępny w wersji demo. 5.4. 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. 6. Uwagi odnośnie obsługi programu 1. Wstawianie bloków polega na wybraniu z listy, dostępnej po kliknięciu lewym przyciskiem myszy na ekranie roboczym schematu blokowego, wybranego bloku i umiejscowienia go na ekranie roboczym. 2. Kliknięcie na bloku funkcyjnym prawym przyciskiem myszy otwiera krótkie menu funkcji dostępnych dla danego bloku: edytuj, powiel, odłącz, skasuj itp. 3. Dwukrotne kliknięcie lewym przyciskiem myszy na bloku funkcyjnym otwiera okno z jego właściwościami, parametrami i opcjami połączenia (Bind). 4. Zaznaczanie bloków (do usunięcie, przesunięcia itp.) odbywa się za pomocą okienna obszaru, analogicznie jak w CADzie. 5. Łączenie bloków odbywa się za pomocą linii sygnałowych poprzez kliknięcie wyjścia z bloku pierwszego, a następnie kliknięciu na wejściu bloku drugiego. 6. Kasowanie połączeń odbywa się poprzez wybranie z krótkiego menu bloku funkcyjnego opcji odłącz (disconnect) lub poprzez zaznaczenie linii sygnałowej i jej skasowanie. 7. Zapis dziesiętny za pomocą KROPKI, np. 20.5 8. Każdy sterownik ma ograniczoną liczbę wejść i wyjść sygnałów fizycznych (rys.2) i są one zajmowane przez kolejne, wykorzystywane podczas tworzenia algorytmu sygnały I/O. Znak # oznacza, że dane wejście/wyjście jest już zajęte przez inny sygnał i należy wybrać inne. Ilość I/O danego typu zależy od rodzaju wybranego regulatora. 9
7. Sterowniki swobodnie programowalne TAC Rys.1 Sterownik TAC Xenta 300 TAC Xenta 300 to rodzina kompaktowych, swobodnie programowalnych sterowników przeznaczonych głównie dla instalacji HVAC i węzłów cieplnych. Sterowniki te posiadają wbudowane 20 punktów wejść/wyjść i mogą być rozbudowane o dwa dodatkowe moduły wejść/wyjść obsługując łącznie do 40 punktów wejść/wyjść. Sterowniki rodziny TAC Xenta 300 posiadają możliwość sterowania czasowego (harmonogramy tygodniowe i roczne), zapisywania wartości historycznych (logów), generowania alarmów. Sterowniki te zostały zaprojektowane jako elementy rozproszonego, otwartego systemu komunikacyjnego LonTalk, umożliwiającego integrację rożnych systemów takich jak HVAC, oświetlenie, kontrola dostępu, ochrona przeciwwłamaniowa. Sterowniki mogą być obsługiwane lokalnie przez panel operatora TAC Xenta OP oraz zdalnie z systemu BMS zdalnie. Rys.2 Schemat zacisków sterowników serii TAC Xenta 300 10
1. Bloki wejścia/wyjścia (I/O Blocks) 1.1 AI Analog Input Wejście analogowe OPIS WYBRANYCH BLOKÓW TAC Menta Fizyczny sygnał AI AI Wejście fizycznego sygnału analogowego do regulatora (np. sygnał z elementu pomiarowego, czujnika). Edytując właściwości bloku (Edit) nadaje się mu nazwę (Identifier, bez cyfr, spacji, i polskich znaków), jednostki sygnału wejściowego (Unit) oraz opis (Description). Bind>> 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. 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 AO + Fizyczny sygnał AO Wyjście fizycznego sygnału analogowego (0 100%) z regulatora (np. sygnał do elementu wykonawczego siłownika). Edytując właściwości bloku (Edit) nadaje się mu nazwę (Identifier, bez cyfr, spacji, i polskich znaków), jednostki sygnału wejściowego (Unit) oraz opis (Description). 11
Bind>> 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. 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. Edytując właściwości bloku (Edit) nadaje się mu nazwę (Identifier, bez cyfr, spacji, i polskich znaków), jednostki sygnału wejściowego (Unit) oraz opis (Description). Bind>> 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. 12
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. Edytując właściwości bloku (Edit) nadaje się mu nazwę (Identifier, bez cyfr, spacji, i polskich znaków), jednostki sygnału wejściowego (Unit) oraz opis (Description). Bind>> 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 BINARY DO Fizyczny sygnał DO Wyjście fizycznego sygnału cyfrowego (0/1) do urządzenia zewnętrznego. Edytując właściwości bloku (Edit) nadaje się mu nazwę (Identifier, bez cyfr, spacji, i polskich znaków), jednostki sygnału wejściowego (Unit) oraz opis (Description). Bind>> 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). 13
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 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 bloku (w sekundach). Edytując właściwości bloku (Edit) nadaje się mu nazwę (Identifier, bez cyfr, spacji, i polskich znaków), jednostki sygnału wejściowego (Unit) oraz opis (Description). Bind>> 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 wygenerowania krótszego impulsu nie są realizowane. Takie rozkazy są przechowywane do realizacji w następnym cyklu programu (są sumowane). 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. 14
Edytując właściwości bloku (Edit) nadaje się mu nazwę (Identifier, bez cyfr, spacji, i polskich znaków), jednostki sygnału wejściowego (Unit) oraz opis (Description). 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ł 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). Edytując właściwości bloku (Edit) nadaje się mu nazwę (Identifier, bez cyfr, spacji, i polskich znaków), jednostki sygnału wejściowego (Unit) oraz opis (Description). 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).Edytując właściwości bloku (Edit) nadaje się mu nazwę (Identifier, bez cyfr, spacji, i polskich znaków), jednostki sygnału wejściowego (Unit) oraz opis (Description). Parametryzacja bloku obejmuje podanie: wartości generowanego sygnału (InitValue). 15
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. Edytując właściwości bloku (Edit) nadaje się mu nazwę (Identifier, bez cyfr, spacji, i polskich znaków), jednostki sygnału wejściowego (Unit) oraz opis (Description). Parametryzacja bloku obejmuje podanie: wartości generowanego sygnału (InitValue). 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. Edytując właściwości bloku (Edit) nadaje się mu nazwę (Identifier, bez cyfr, spacji, i polskich znaków), jednostki sygnału wejściowego (Unit) oraz opis (Description). 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 16
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 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, OR 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). 17
Edytując właściwości bloku (Edit) nadaje się mu nazwę (Identifier, bez cyfr, spacji, i polskich znaków), jednostki sygnału wejściowego (Unit) oraz opis (Description). 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: 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)) t = cykl aktualny, t+1 = cykl następny 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). Edytując właściwości bloku (Edit) nadaje się mu nazwę (Identifier, bez cyfr, spacji, i polskich znaków), jednostki sygnału wejściowego (Unit) oraz opis (Description). Parametryzacja bloku obejmuje podanie: wartości początkowej generowanego sygnału (InitValue). 3.6 TRIG Trigger Pojedynczy impuls cyfrowy s - set 1 0 r - reset 1 0 Output 1 0 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. Edytując właściwości bloku (Edit) nadaje się mu nazwę (Identifier, bez cyfr, spacji, i polskich znaków), jednostki sygnału wejściowego (Unit) oraz opis (Description). Parametryzacja bloku obejmuje podanie: wartości typu INTEGER określającej tryb pracy bloku (Mode). 18
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 Edytując właściwości bloku (Edit) nadaje się mu nazwę (Identifier, bez cyfr, spacji, i polskich znaków), jednostki sygnału wejściowego (Unit) oraz opis (Description). 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 19
4.2 HYST - Binary Hysteresis Histereza z wyjściem cyfrowym wejście, HYST Activate Deactivate BINARY, wyjście Edytując właściwości bloku (Edit) nadaje się mu nazwę (Identifier, bez cyfr, spacji, i polskich znaków), jednostki sygnału wejściowego (Unit) oraz opis (Description). 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 4.3 LIMIT - High/Low Signal Limit Ogranicznik sygnału LIMIT wejście, 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).edytując właściwości bloku (Edit) nadaje się mu nazwę (Identifier, bez cyfr, spacji, i polskich znaków), jednostki sygnału wejściowego (Unit) oraz opis (Description). Parametryzacja bloku obejmuje podanie: minimalnej wartości sygnału wyjściowego (MinValue), maksymalnej wartości sygnału wyjściowego (MaxValue). 20
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. Edytując właściwości bloku (Edit) nadaje się mu nazwę (Identifier, bez cyfr, spacji, i polskich znaków), jednostki sygnału wejściowego (Unit) oraz opis (Description). 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. Edytując właściwości bloku (Edit) nadaje się mu nazwę (Identifier, bez cyfr, spacji, i polskich znaków), jednostki sygnału wejściowego (Unit) oraz opis (Description). 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. Edytując właściwości bloku (Edit) nadaje się mu nazwę (Identifier, bez cyfr, spacji, i polskich znaków), jednostki sygnału wejściowego (Unit) oraz opis (Description). 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). 21
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. Edytując właściwości bloku (Edit) nadaje się mu nazwę (Identifier, bez cyfr, spacji, i polskich znaków), jednostki sygnału wejściowego (Unit) oraz opis (Description). 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. Edytując właściwości bloku (Edit) nadaje się mu nazwę (Identifier, bez cyfr, spacji, i polskich znaków), jednostki sygnału wejściowego (Unit) oraz opis (Description). 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. 22
Edytując właściwości bloku (Edit) nadaje się mu nazwę (Identifier, bez cyfr, spacji, i polskich znaków), jednostki sygnału wejściowego (Unit) oraz opis (Description). Parametryzacja bloku obejmuje podanie: wartości początkowej (InitValue) jako liczby rzeczywistej. 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 Edytując właściwości bloku (Edit) nadaje się mu nazwę (Identifier, bez cyfr, spacji, i polskich znaków), jednostki sygnału wejściowego (Unit) oraz opis (Description). 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 chwili wyłączenia próbkowania i pozostaje stały, aż do ponownego uruchomienia próbkowania sygnałem c. Edytując właściwości bloku (Edit) nadaje się mu nazwę (Identifier, bez cyfr, spacji, i polskich znaków), jednostki sygnału wejściowego (Unit) oraz opis (Description). 23
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). Edytując właściwości bloku (Edit) nadaje się mu nazwę (Identifier, bez cyfr, spacji, i polskich znaków), jednostki sygnału wejściowego (Unit) oraz opis (Description). Parametryzacja bloku obejmuje podanie: stałej czasowej filtra w sekundach (TimeConst). 24
6.2 PIDA - PID Controller - Analog Output Regulator PID 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: G Mode = 0 => Wyłącz, regulator jest wyłączony, sygnał wyjściowy stale równa się TSg (ΔU=0) Mode = 1 => Praca, regulator realizuje proces regulacji. Mode = 2 => Wymuszenie maksymalnej wartości sygnału wyjściowego PID (Umax). Mode = 3 => Wymuszenie minimalnej wartości sygnału wyjściowego PID (Umin). = 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óżniczkowania 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 (aktualna wartość poprzedniego sygnału regulacyjnego wyjścia z PIDA). 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 7. Bloki zliczające, liczniki (Accumulators) 7.1 ACCUM Accumulator 0 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 INTEGER Podaje numer aktualnego dnia w aktualnym miesiącu (od 1 do 31) na podstawie wewnętrznego zegara. 8.2 HOUR Hour HOUR INTEGER Podaje aktualną godzinę (od 0 do 23) na podstawie wewnętrznego zegara. 8.3 MINUTE - Minute MINUTE INTEGER Podaje aktualną minutę aktualnej godziny (od 0 do 59) na podstawie wewnętrznego zegara. 8.4 MONTH - Month MONTH INTEGER 27
Podaje numer aktualnego miesiąca roku (od 1 do 12) na podstawie wewnętrznego zegara. 1 = styczeń, 12 = grudzień. 8.5 RST - Restart RST BINARY 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 INTEGER Week charts, Max. INTEGER Liczba zdarzeń w tygodniu 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 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. 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ść sygnału wyjścia jest w takich sytuacjach ekstrapolowana liniowo. 28
10.2 ENTH - Enthalpy Temperatura Wilgotność T H ENTH Temperatura (T) = temperatura powietrza termometru suchego C Wilgotność (H) = wilgotność względna powietrza (%) 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 n 1 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 - 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. 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 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 COS (x) cosinus x (radiany) SIN (x) sinus x (radiany) TAN (x) tangens x (radiany) ACOS (x) ASIN (x) ATAN (x) SQRT (x) arcus cosus x arcus sinus x arcus tangens x pierwiastek kwadratowy x ABS (x) wartość bezwzględna x INT(x) liczba całkowita z x 31
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). Edytując właściwości bloku (Edit) nadaje się mu nazwę (Identifier, bez cyfr, spacji, i polskich znaków), jednostki sygnału wejściowego (Unit) oraz opis (Description). 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). Edytując właściwości bloku (Edit) nadaje się mu nazwę (Identifier, bez cyfr, spacji, i polskich znaków), jednostki sygnału wejściowego (Unit) oraz opis (Description). 32
Spis wszystkich bloków dostępnych w TAC Menta Bloki wejścia/wyjścia (I/O Blocks) AI Analog input Wejście analogowe AO Analog output Wyjście analogowe CNT Pulse counter Licznik impulsów DI Digital input Wejście cyfrowe DO Digital output Wyjście cyfrowe DOPU Digital pulse output Wyjście impulsu cyfrowego Źródła sygnału (Signal Sources) NCYC Program cycle counter Licznik cykli programu OSC Oscillator, gives a pulse train Oscylator cyfrowy, generator sygnałów PVB Binary value parameter Binarna wartość stała (BINARY) PVI Integer value parameter Analogowa wartość stała, liczba całkowita (INTEGER) PVR Real value parameter Analogowa wartość stała, liczba rzeczywista () Bloki funkcji logicznych (Logical Functions) AND And function on 2 Binary signals Suma logiczna dwóch sygnałów binarnych NOT Inverts a Binary signal Negacja logiczna sygnału binarnego OR Or function on 2 Binary signals Alternatywa (lub) logiczna dwóch sygnałów binarnych PULSE Monostable pulse generator (signal) Generator impulsów SR Set-reset flip-flop Przełącznik binarny TRIG Trigger, true on input change of state Pojedynczy impuls cyfrowy XOR XOR function on 2 Binary signals Logiczne LUB wykluczające Bloki funkcji nieliniowych (Non-linear Functions) AHYST Analog hysteresis Histereza analogowa HYST Binary hysteresis (relay function) Histereza z wyjściem cyfrowym LIMIT Max/min limit Ogranicznik wartości maks. lub minimalnej sygnału MAX Maximum value of 2 signals Wybór większego z 2 sygnałów analogowych MIN Minimum value of 2 signals Wybór mniejszego z 2 sygnałów analogowych Bloki opóźnijące (Delay Blocks) DELAY Delay on or delay off Opóźnienie załączenia/wyłączenia DELB Binary value delay in 1 cycle Opóźnienie sygnału cyfrowego o jeden cykl DELI Integer value delay 1 cycle Opóźnienie sygnału analogowego (Integer) o 1 cykl DELR Real value delay in 1 cycle Opóźnienie sygnału analogowego (Real) o 1 cykl SHB Sample and hold Binary value Próbkowanie sygnału cyfrowego SHI Sample and hold Integer value Próbkowanie sygnału analogowego typu Integer SHR Sample and hold Real value Próbkowanie sygnału analogowego typu Real Regulatory I filtry (Controllers and Filters) FILT First order filter Opóźnienie zmian sygnału OPT Start/stop time optimizing Optymalizacja czasu włączenia/wyłączenia PIDA PID-controller (Analog output) Regulator PID z wyjściem analogowym PIDI PID-controller (increase/decrease output) Regulator PID (narastający AO) RAMP Ramp filter (rate limit) Ogranicznik szybkości zmian sygnału analogowego SEQ Sequencer Przełącznik urządzeń pracujących w kaskadzie 33
Bloki akumulujące (Accumulators) ACCUM Real accumulator Akumulator sygnału analogowego INTEG Integrator Sumator RT Running time measurement Licznik czasu pracy Bloki zmiennych systemowych (System Variables) DATE Actual date Aktualna data ERR System error Błąd systemu HOUR Actual hour Aktualna godzina MINUTE Actual minute Aktualna minuta MONTH Actual month Aktualny miesiąc RST Restart. The output is activated the first program Restart SECOND Actual second Aktualna sekunda TCYC Cycle time for the application program module. Czas cyklu programu WDAY Actual day of week. 1 Monday Aktualny dzien tygodnia, 1 to pn. Harmonogramy czasowe i alarmy (Time Schedules and Alarms) ALARM Initiates alarm message Alarm (wywałanie alarmu) TSCH Time Schedule Harmonogram czasowy Bloki funkcji przekształcających (Transformation Functions) CURVE Piece wise linear curve function Funkcja w postaci krzywej łamanej ENTH Enthalpy calculation Entalpia POLY Polynomial transform function Funkcja wykładnicza PRCNT Percentages transformation Procent sparametryzowanego zakresu VECTOR Vectorial transform function Funkcja transformacji wektorowej 34