Operacje analogowe na sterowniku PLC
Zobacz, w jaki sposób skonfigurować operacje analogowe na sterowniku PLC od BEDROCK oraz jakie możliwości one dają.
Uniwersalny moduł I/O cyfrowo-analogowy
Operacje analogowe na sterowniku PLC od BEDROCK wykonuje się na kilku modułach - zarówno uniwersalnych, jak i specjalistycznych. Mogą być to:
- SIO1.5 - pięciokanałowy moduł wejść/wyjść analogowych;
- SIO6.20 - dwudziestokonanałowy moduł wejść analogowych;
- SIOU.10 - jak również dziesięciokanałowy moduł uniwersalny (cyfrowo/analogowy) wejść/wyjść.
Na potrzeby projektu użyto ostatniego z wyżej wymienionych, natomiast opisy produktów od BEDROCK Automation można znaleźć na stronie sklepu Elmark.
Moduł analogowo - cyfrowy SIOU.10 wyróżnia się obecnością zarówno wzajemnej izolacji galwanicznej pomiędzy kanałami, jak i kanałami, a uziemieniem. Jego wyjścia i wejścia mogą dodatkowo obsłużyć protokół HART lub czujniki NAMUR.
Każdy kanał omawianego modułu można w całości skonfigurować programowo. W zależności od trybu pracy, dany kanał pełni rolę:
- wejścia lub wyjścia analogowego 4 - 20 mA;
- powyższą rolę wraz z obsługą protokołu HART;
- wejścia lub wyjścia cyfrowego;
- wejścia analogowego 0 - 10 V;
- jak również wejścia dla czujnika NAMUR.
Czasem jedna opcja konfiguracyjna umożliwia pracę kanału w więcej niż jednym trybie. Wtedy jego rzeczywiste zachowanie zależy od sposobu przypisania do niego sygnałów. Przykładowe konfiguracje i zastosowania modułu z punktu widzenia operacji analogowych, opisano w dalszej częsci artykułu.
Jak skonfigurować operacje analogowe na sterowniku PLC BEDROCK?
Konfiguracja sterownika oraz wszystkich jego modułów następuje za pomocą oprogramowania BEDROCK IDE. Jest ono oparte na środowisku Codesys z dodatkowo zaimplementowanym wspieraniem produktów od BEDROCK.
Pracę należy rozpocząć od utworzenia nowego projektu. Trzeba przy tym pamiętać o wyborze właściwego typu kontrolera, pożądanego języka programowania oraz o dodaniu do projektu rzeczywistej konfiguracji modułów na magistrali sterownika. Jeśli nie wiesz jak to zrobić, zapoznaj się z artykułem wprowadzającym do IDE. Znajdziesz tam film instruktażowy oraz odnośnik do strony z większą ilością informacji (w języku polskim).
W tym przypadku omawiany typ kontrolera to SCS.10. Obsługuje on 5-slotową magistralę. Przykładowy wygląd projektu pozwalającego na wykonanie programu dla tej konfiguracji sterownika przedstawia poniższe zdjęcie.
W celu konfiguracji modułu uniwersalnych I/O należy wybrać go z listy urządzeń na BMI (np. poprzez dwukrotne kliknięcie LPM). Ukaże się wtedy nowe okno konfiguracyjne. Wszelkie opcje (z pominięciem tych dla protokołu HART) znajdują się w zakładce "SIOU.10 Parameters".
Konfiguracja wejścia analogowego prądowego
Sterownik PLC obsługuje wejście analogowe na zakresie od 4 do 20 mA. W celu ustawienia kanału w taki tryb, należy wybrać tryb pracy "4-20mA input and discrete input" dla parametru "Mode for Channel". Widać więc że jedno ustawienie pozwala wykorzystywać dany kanał zarówno jako wejście analogowe, jak i dyskretne prądowe.
Użytkownik jest w stanie ponadto określić średnią częstotliwość odbieranego sygnału na danym kanale. Dokonuje się tego przez parametr "A/D Line Frequency", natomiast możliwe wartości to 50 i 60 Hz.
Od średniej częstotliwości sygnału na linii zależą wartości kolejnego parametru, jakim jest częstotliwość próbkowania sygnału analogowego. Oznaczona jako "A/D Conversion Rate" i liczona w próbkach na sekundę (SPS) może przyjmować wartości jak w tabeli poniżej. Dodatkowo w tabeli zamieszczono kolumnę "Resolution in Bits" pokazującą, jak zależy rozdzielczość prowadzonych pomiarów od ich częstotliwości. Warto zauważyć że dla najwyższych częstotliwości, rozdzielczość spada o 1 bit.
Dla przedziału o długości 16mA (od 4 do 20 mA) rozdzielczość 20 bitów oznacza, że prąd może być zmierzony z dokładnością do 0.015µA. Natomiast dla 19 bitów jest to 0.03µA.
W tym przypadku mierzony sygnał nie jest przeskalowanym sygnałem z sieci, więc ustawiono minimalne wartości obydwu częstotliwości. Ustawienia poczynione dla kanału pierwszego przedstawia poniższe zdjęcie.
Przypisanie zmiennych obsługujących wejście analogowe
W zakładce "SIOU.10 I/O Mapping" obecnej tuż pod "SIOU.10 Parameters" dokonuje się przypisania zmiennych programowych do kanałów I/O. Dzięki temu, wartości natężenia prądu odczytywane na wejściu (w przypadku konfiguracji wejścia) mogą zostać zamienione na wartość liczbową. W celu dokonania powyższych czynności należy utworzyć nową zmienną typu REAL w programie (zmienna 32 - bitowa, zmiennoprzecinkowa). Następnie należy przypisać ją do parametru "Input Analog Channel".
Reprezentuje on wartości sygnałów odczytywanych na wejściach. Aby zachować przejrzystość opisu, na razie pominięto resztę parametrów w tej lokalizacji.
Podłączenie przewodów
Każdy kanał modułu uniwersalnego wejść/wyjść "SIOU.10" posiada 4 piny. Są to odpowiednio:
- złącze pobudzenia "EXCITATION" (1),
- analogowe "ANALOG" (2),
- uziemienie "RETURN" (3),
- oraz złącze cyfrowe "DISCRETE" (4).
Jeśli do kanału sterownika PLC podłącza się zewnętrzny obwód ze źródłem zasilania, należy przewód z dodatnim napięciem doprowadzić do wejścia "Analog". Uziemienie zaś należy podłączyć do "Return".
W przypadku zewnętrznego obwodu bez źródła prądu (np. przy wykrywaniu przekazywania sygnału przez zewnętrzne urządzenie), przewody należy dołączyć do pinów "Excitation" i "Analog".
Schematy połączeń dostępne są w instrukcji (str. 191 - 192).
Analogowe wejście napięciowe
Moduł uniwersalnych wejść/wyjść od BEDROCK obsługuje również funkcję wejścia napięciowego na zakresie 0 - 10 V. Jednak ustawienia mogą być poczynione dla niego w identyczny sposób jak dla prądowego odpowiednika. Zmienia się jedynie schemat podłączeń (zamieszczony w instrukcji) oraz tryb pracy danego kanału (wartość parametru "Mode for Channel"). Teraz jest to "0 - 10 V voltage input".
Jeśli chodzi o podłączenie pinów, to dodatni przewód obwodu należy podpiąć do pinu "DISCRETE" (4) danego kanału, a ujemny do uziemienia - "RETURN" (3). Schemat znajduje się na stronie 199 w instrukcji.
Analogowe wyjście prądowe
Moduł opisywany w tym artykule obsługuje wyjścia prądowe na zakresie 4 - 20 mA. Ich konfigurację rozpoczyna się tak samo jak dla wejść prądowych. W lokalizacji zwierającej parametry dla kanałów modułu I/O należy ustawić tryb pracy jako "4-20 mA output and discrete input". Znów można zauważyć, że tryb ten może obsłużyć dwa rodzaje pracy kanału. Jednak kolejne opcje konfiguracyjne (parametry brane pod uwagę) będą inne w tym przypadku.
Wartości podawane na wyjście sterownika są przekazywane od Kontrolera (tu: "SCS.10") do modułu, natywnymi kanałami komunikacyjnymi systemu BEDROCK. Użytkownik jest w stanie zdeterminować zachowanie modułu wejść/wyjść jeśli nastąpi przerwa, lub awaria w komunikacji na linii kontroler - moduł I/O.
Funkcja ta nosi nazwę "Fail Safe" i jest obsługiwana przez 3 parametry:
- "Fail-safe Mode" - określa sposób zachowania się modułu I/O; w przypadku wartości "Hold", stan wyjścia zostanie utrzymany jak w chwili wystąpienia awarii komunikacji; wartość "Fail-safe" determinuje natomiast wejście modułu w ten tryb pracy;
- "Output Fail-safe Value" - to wartość jaką przyjmie dane wyjście w przypadku przejścia do trybu pracy "Fail-safe";
- "Output Fail-safe Timeout" - określa ilość czasu bez komunikacji kontroler - moduł I/O, po której sterownik uzna to za awarię i podejmie kroki w zależności od powyższych opcji.
Poniższe zdjęcie przedstawia konfigurację kanału 2 jako wyjścia prądowego, które uznaje za awarię każdy przestój w komunikacji kontroler - moduł I/O dłuższy niż 100 ms. Po wykryciu problemu, przejdzie w tryb Fails-Safe ustawiając wartość zerową na wyjściu.
Przypisywanie zmiennych do wyjścia analogowego
W przypadku wyjścia prądowego, również należy stworzyć zmienną typu REAL (jak dla wejścia). W analogicznej jak wcześniej lokalizacji, należy przypisać nową zmienną do parametru "Output Analog Channel".
Nie musi to oznaczać jednak końca funkcjonalności modułu I/O od BEDROCK. W przypadku wyjść analogowych lub cyfrowych, przydatne mogą okazać się 3 parametry z tej lokalizacji (pokazanej jeszcze raz niżej).
- "Output Analog Channel" - przyjmuje zmienną 32 bitową typu rzeczywistego i generuje na jej podstawie sygnał wyjściowy (prądowy).
- "Requested Analog Channel" - symbolizuje wartość, która jest rzeczywiście realizowana na wyjściu przez moduł I/O. O ile parametr wymieniony wyżej jest wysyłany od kontrolera do modułu komunikacyjnego, o tyle w tym przypadku jest odwrotnie. Innymi słowy, porównując wartości tych dwóch parametrów można ustalić, czy moduł I/O poprawnie odbiera dane od kontrolera i wykonuje polecenia we właściwy sposób. Jeśli te dwie zmienne będą się różnić, oznacza to problemy w komunikacji moduł I/O - kontroler.
- "Input Analog Channel" - ta zmienna używana w przypadku wejścia analogowego i tutaj ma zastosowanie. Oznacza ona wartość odczytywaną przez moduł ze swojego wyjścia. Porównywanie jej wartości z "Requested Analog Channel" pozwala określić poprawność działania złączy lub okablowania w układzie.
Schematy połączeń przewodów
Wyżej zostało opisane każde z 4 złącz przynależące do pojedynczego kanału modułu I/O. W przypadku podłączania wyjścia analogowego tego modułu, przewód z dodatnim napięciem powinien zostać podpięty do pinu "Excitation", natomiast uziemienie do "Analog" - odpowiednio 1. i 2. pin każdego kanału. Maksymalna rezystancja zewnętrznego obciążenia dla tego wyjścia wynosi 750Ω.
Odpowiednie schematy znajdują się w instrukcji, do której link dołączono wyżej (str. 193).
Wykrywanie przekroczenia zakresu na wejściach lub wyjściach
Zarówno podczas prowadzenia odczytów, jak i generowania sygnałów może nastąpić sytuacja, gdy wartości obsługiwanych sygnałów wykroczą poza zakres. System sterowania BEDROCK "przytnie" w takim przypadku te wartości do poziomu minimalnych lub maksymalnych progów.
Ważnym aspektem takiego procesu jest jednak powiadomienie użytkownika o wykroczeniu poza zakres pomiarowy, gdyż nie będzie to widoczne po samej "przyciętej" wartości odczytu.
W tej lokalizacji "SIOU.10 I/O Mapping" (gdzie przypisywano do tej pory zmienne do parametrów pracy modułu) znajduje się jeszcze jedna pozycja. Nazywa się ona "Input Analog Status Channel" i przyjmuje różne wartości (zarówno w kodzie szesnastkowym, jak i dziesiętnym). W ten sposób, znając rozkład tych wartości, można wyróżnić 4 sytuacje:
- przekroczenia zakresu 24 mA na wejściu;
- analogiczną sytuację na wyjściu;
- spadku poniżej wartości 3,5 mA na wejściu;
- analogicznie dla wyjścia (tu: 3 mA).
Tabela kodów przedstawiona jest poniżej.
Tak więc, można dodać do programu zmienną typu całkowitego, która zainformuje o dowolnej z powyższych sytuacji.
Operacje analogowe PLC - podsumowanie
Przy konfiguracji operacji na wyjściach analogowych należy pamiętać o przeskalowaniu sygnału do zakresu <4 , 20> przed podaniem go dla modułu I/O. Moduł ten co prawda "przytnie" ten sygnał do górnego limitu, jednak może spowodować to utratę cennych informacji. Pamiętając o wysokiej rozdzielczości zmiennych obsługiwanych przez sterowniki BEDROCK, znacznie lepiej jest skorzystać z prostej funkcji skalującej zmienne do wyjściowego zakresu. Podobne aspekty należy mieć na uwadze przy odczycie zmiennych z wejść analogowych.
Wszystkie moduły wejść/wyjść aktualizowane są w każdym obiegu pętli sterownika PLC. Dla kontrolerów BEDROCK jest to w przybliżeniu 3 milisekundy, gdy na jednej magistrali pracuje jeden kontroler. W przypadku redundantnej konfiguracji kontrolerów (funkcja dostępna dla modelu SCC na 10 i 20-slotowej magistrali), średni czas obiegu pętli wynosi 10 milisekund.
Czytaj więcej o redundancji w systemie sterowania PLC BEDROCK.
Środowisko BEDROCK IDE to darmowe oprogramowanie pozwalające na symulację budowanych programów. Pobierz je ze strony producenta lub wyślij zapytanie na sterowniki@elmark.com.pl . Zachęcamy do kontaktu pod tym samym adresem w razie jakichkolwiek pytań, co do treści tego wpisu.
Skontaktuj się ze specjalistą Elmark
Masz pytania? Potrzebujesz porady? Zadzwoń lub napisz do nas!