Operacje analogowe na sterowniku PLC

17.07.2019 Informacje produktowe /
Wizerunek autora
Były pracownik Elmark Automatyka S.A.

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.

Początkowe okno programu
Początkowe okno programu

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".

Opcje konfiguracyjne modułu uniwersalnych wejść i wyjść
Opcje konfiguracyjne modułu uniwersalnych wejść i wyjść

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.

Sampling Rates
Sampling Rates

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.

Operacje Analogowe PLC - ustawienia dla wejścia prądowego
Operacje Analogowe PLC - ustawienia dla wejścia prądowego

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.

Przypisanie zmiennej - wejscie analogowe

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.

Operacje Analogowe PLC - ustawienia dla wyjścia prądowego
Operacje Analogowe PLC - ustawienia dla wyjścia prądowego

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.
Przypisanie zmiennych do wyjścia analogowego
Przypisanie zmiennych do wyjścia analogowego

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.

Tabela kodów przy wykroczeniu poza zakres pomiaru
Tabela kodów przy wykroczeniu poza zakres pomiaru

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!