Przejdź do treści

μSCADA

Przegląd

Przeznaczenie urządzenia

Moduł μSCADA umożliwia zbieranie danych przez magistralę MODBUS RTU oraz MODBUS TCP i prezentację w postaci wizualizacji dostępnej przez przeglądarkę www. Strona www wykorzystuje mechanizm AJAX. Wbudowany serwer FTP umożliwia aktualizację zawartości strony. Wbudowana pamięć (4GB) umożliwia tworzenie bardzo rozbudowanych wizualizacji.

Dla poprawy bezpieczeństwa, moduł wyposażono w dwupoziomową autoryzację użytkowników.

Wykorzystując możliwości technologii stron internetowych można uzyskać bardzo efektowne wizualizacje graficzne.

Changelog

1.0 07 maja 2025

  • Wersja instrukcji v1.0

Budowa urządzenia

Dane techniczne

Kategoria Szczegóły
Zasilanie Passive PoE 12V DC
Pobór mocy Maksymalnie 1W
Rozmiar pamięci 4GB
Przepływność odczytu 3,2Mbit/s
Przepływność zapisu 1,1Mbit/s
Ilość punktów Modbus 16384
Wejście Typ wejścia: Złącze śrubowe trój-torowe
Komunikacja Port Ethernet 10Mbps, RJ45

Wymiary

Cechy ogólne

Komunikacja z modułem odbywa się przez protokół MODBUS RTU poprzez port RS485.

Na froncie obudowy znajduje się dioda LED sygnalizująca czy urządzenie działa poprawnie (dioda miga), czy wystąpił nieoczekiwany błąd (dioda świeci).

Konfiguracja sieciowa

Konfiguracja podsieci komputera

Przy pierwszym uruchomieniu, konieczne jest skonfigurowanie urządzenia.

Zmiana podsieci komputera do konfiguracji

Po podłączeniu urządzenia do sieci, należy zmienić podsieć komputera przyłączonego do tej samej sieci.

W tym celu należy przejść do konfiguracji sieci: Start->Panel Sterowania->Sieć i Internet->Centrum sieci i udostępniania->Zmień ustawienia karty sieciowej.

Następnie wybrać połączenie sieciowe prawym przyciskiem myszy i kliknąć Właściwości.

Po wybraniu tej opcji pokaże się ekran konfiguracji:

Następnie należy wybrać ustawienie Protokół internetowy (TCP/IP) i wpisać następujące parametry:

Po zaakceptowaniu ustawień przyciskiem OK, należy uruchomić przeglądarkę internetową i wpisać adres: 192.168.111.15.

Konfiguracja sieci LAN oraz RS-485

Do zmiany parametrów sieci urządzenia służy plik config.xml, natomiast konfiguracja urządzeń, z których μScada pobiera dane znajduje się w pliku points.xml.

Zmiana ustawień jest możliwa tylko przez usługę FTP.

Połączenie z serwerem FTP

Do nawiązania połączenia z serwerem FTP można użyć dowolnego klienta FTP, takiego jak FileZilla, WinSCP, Total Commander, itp.

Przykładowe połączenie z serwerem FTP dla programu Total Commander.

Na początku na górnym pasku narzędzi wyszukujemy i klikamy na ikonę z podpisem FTP. Po otwarciu okna o nazwie Połącz z serwerem FTP tworzymy nowe połączenie.

Konfiguracja pierwszego połączenia

W polu Sesja i Nazwa hosta wpisujemy adres IP urządzenia (domyślnie 192.168.111.10).

Pole użytkownik i hasło domyślnie: użytkownik - admin, hasło - admin.

Serwer obsługuje zarówno tryb pasywny i aktywny połączenia.

Aby utworzyć nowe połączenie należy zatwierdzić dane przyciskiem OK.

Po zmianie danych konfiguracyjnych urządzenia (plik config.xml) odpowiednie pola dotyczące konfiguracji połączenia należy analogicznie zmodyfikować.

Przykładowa zawartość pliku config.xml:

<CONFIG>
    <NET_IP>192.168.111.10</NET_IP>
    <NET_MASK>255.255.255.0</NET_MASK>
    <NET_GW>192.168.111.101</NET_GW>
    <FTP_USER>admin</FTP_USER>
    <FTP_PASS>admin</FTP_PASS>
    <WWW_USER></WWW_USER>
    <WWW_PASS></WWW_PASS>
    <WWW_PROTECT_USER>admin</WWW_PROTECT_USER>
    <WWW_PROTECT_PASS>admin</WWW_PROTECT_PASS>
    <RS485_BAUDRATE>9600</RS485_BAUDRATE>
    <RS485_PARITY>NONE</RS485_PARITY>
    <MB_TIMEOUT>1000</MB_TIMEOUT>
</CONFIG>

Ostrzeżenie

Po każdorazowej zmianie w pliku points.xml, bądź config.xml należy zresetować urządzenie, aby zmiany zostały zaktualizowane.

Wyjaśnienie poszczególnych tagów

Dostęp do modułu μSCADA:

  • <NET_IP> – Adres IP urządzenia μSCADA,
  • <NET_MASK> – Maska podsieci μSCADA,
  • <NET_GW> – Brama (używane dla trybu aktywnego FTP),
  • <FTP_USER> – Nazwa użytkownika FTP,
  • <FTP_PASS> – Hasło użytkownika FTP.

Dostęp do strony wizualizacji:

  • <WWW_USER> – Nazwa użytkownika do katalogu głównego wizualizacji,
  • <WWW_PASS> – Hasło użytkownika do katalogu głównego wizualizacji.

Pozostawienie tych pól pustych umożliwia dostęp do wizualizacji bez hasła.

  • <WWW_PROTECT_USER> – Nazwa użytkownika do katalogu chronionego wizualizacji,
  • <WWW_PROTECT_PASS> – Hasło użytkownika do katalogu chronionego wizualizacji.

Konfiguracja Modbus RTU:

  • <RS485_BAUDRATE> – Szybkość transmisji dla portu RS485 (4800 – 115200),
  • <RS485_PARITY> – Parzystość – dostępne opcje: NONE, EVEN, ODD,
  • <MB_TIMEOUT> – Maksymalny czas oczekiwania na odpowiedź urządzenia Modbus.

Tworzenie wizualizacji

Moduł wyposażony jest w wewnętrzną pamięć do przechowywania zawartości wizualizacji w postaci strony www. Strona może być zbudowana w języku HTML + CSS. Dane do wizualizacji dostępne są przez mechanizm AJAX.

Plik points.xml można wygenerować używając aplikacji uSG.

Konfiguracja punktów Modbus

Definicja grup punktów do odczytu z rejestrów Modbus zawarta jest w pliku points.xml.

Przykładową konfigurację pojedynczej grupy odczytu danych przez modbus RTU przedstawiono poniżej:

<group>
    <id>node_</id>
    <id_start>5</id_start>
    <len>3</len>
    <protocol>RTU</protocol>
    <dev_addr>1</dev_addr>
    <cmd>MB_MULTIHOLD</cmd>
    <address>4000</address>
    <access>rw</access>
    <poll>50</poll>
</group>

Znaczenie poszczególnych tagów:

  • <group> – Definicja pojedynczej grupy,
  • <id> – Nazwa grupy punktów (człon nazwy dla pojedynczego rejestru Modbus tej grupy) – patrz sekcja Pobieranie danych do wizualizacji,
  • <id_start> – Numer startowy „dodawany” do nazwy zdefiniowanej w tagu <id>,
  • <len> – Liczba punktów w grupie (liczba pobieranych rejestrów Modbus),
  • <protocol> – Określa protokół:
    • RTU – Modbus RTU przez RS485,
    • TCP – Modbus TCP przez port LAN.
  • <dev_addr> – Określa numer urządzenia Modbus RTU (dla TCP 1),
  • <cmd> – Ustawia komendę Modbus:
    • 0x01/0x05 – Read/Write Single Coil – MB_COIL,
    • 0x02 - Read Discrete Input – MB_INPUTSTAT,
    • 0x03/0x10 – Read/Write Holding Registers – MB_MULTIHOLD,
    • 0x04 – Read Input Registers – MB_INPUT.
  • <address> – Adres zasobu Modbus,
  • <access> – Tryb dostępu (r – odczyt, w – zapis, rw – odczyt i zapis),
  • <poll> – Poll time wartość * 0.1s (wartość 50 oznacza 5s).

Dla protokołu Modbus TCP wymagane są dodatkowo parametry:

  • <ip_addr> – Adres IP urządzenia Modbus,
  • <ip_port> – Port urządzenia Modbus (domyślnie port 502).

Ostrzeżenie

Po każdorazowej zmianie w pliku points.xml, bądź config.xml należy zresetować urządzenie, aby zmiany zostały zaktualizowane.

Struktura katalogów

  • \config.xml – Plik konfiguracji sieci,
  • \points.xml – Plik punktów urządzeń Modbus,
  • \www – Katalog strony wizualizacji,
  • \www\protect – Katalog strony chronionej,
  • \www\comm.xml – Plik XML do wymiany danych.

Pobieranie danych do wizualizacji

Dane ze wszystkich punktów zawarte są w pliku comm.xml.

Format pliku comm.xml jest następujący:

<idX>wartość</idX>, gdzie:

  • id oznacza nazwę zdefiniowaną w tagu id (plik points.xml),
  • X jest numerem z tagu id_start lub następnym (w zależności od wartości tagu len).

Zmiana wartości rejestrów Modbus

Do wysłania danych należy użyć metody HTTP GET o składni:

192.168.111.10/comm.xml?data=idX;value, gdzie:

  • 192.168.111.10 – Adres IP urządzenia μScada,
  • id – Nazwa punktu, która została nadana w tagu id w pliku points.xml,
  • X – Numer z tagu id_start lub następnym z pliku points.xml,
  • value – Wartość do wysłania.

Przykładowy plik comm.xml:

Po prawej stronie widok na adresy rejestrów i przypisanymi do nich wartościami.

Przykłady

Do wysyłania i odbierania danych przez przeglądarkę www można użyć dołączonej biblioteki ajax.js lub dowolnej innej obsługującej technologię AJAX (np. Jquery).

Podłączenie 1 urządzenia

W poniższym przykładzie zostanie obsługiwane jedno urządzenie przypisane do Modbus RTU o adresie fizycznym 1 i adresach rejestrów 4000 oraz 4001.

Najpierw modyfikujemy plik points.xml:

<group>                     //definiowanie grupy
    <id>Temperatura_</id>   //nazwa danej jaką będziemy odczytywać
    <id_start>5</id_start>  //numer od jakiego zaczynamy numerowanie
    <len>2</len>            //liczba punktów w grupie
    <protocol>RTU</protocol>
    <dev_addr>1</dev_addr>  //adres fizyczny
    <cmd>MB_MULTIHOLD</cmd>
    <address>4000</address> //adres początkowy rejestrów
    <access>rw</access>
    <poll>50</poll>
</group>                    //zakończenie definiowania grupy

W pliku points.xml zdefiniowano tylko jedną grupę o dwóch punktach (len=2).

Następnie należy zmodyfikować plik w katalogu WWW o nazwie np. index.htm:

<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-2">
        <title>Przykladowa strona</title> //nazwa strony
        <script src="/ajax.js" type="text/javascript"></script>
</head>
    <body>
        <p>Parametr 1:
            <span id="data1">?</span>
            <button id="btn1" onclick="setData('Temperatura_5',16,32)">Ustaw</button>
        </p>
        <p>Parametr 2:
            <span id="data2">?</span>
            <button id="btn2" onclick="setData('Temperatura_6',16,32)">Ustaw</button>
        </p>
        <script type="text/javascript"><!--
        function updateStatus(xmlData)
{
    setTimeout("newAJAXCommand('comm.xml', updateStatus, false)",500);
    if(!xmlData) return;
    document.getElementById('data1').innerHTML = getXMLValue(xmlData, 'Temperatura_5');
    document.getElementById('data2').innerHTML = getXMLValue(xmlData, 'Temperatura_6');
}
    function setData(id, min, max)
{
    var p=prompt("Ustaw wartosc (min:"+min+" max:"+max+")","0");
    var val = parseInt(p);
    if((val>=min)&&(val<=max))
{
    sendData(id, val);
}
}
    function sendData(id, data)
{
    newAJAXCommand('comm.xml?data=' + id + ';' + data);
}
    setTimeout("newAJAXCommand('comm.xml',updateStatus,false)",2000);
    -->
        </script>
    </body>
</html>

Wyjaśnienie

Powyższy kod pozwala na wypisanie wartości dla parametrów 1 i 2 z zakresu od 16-32 (ograniczenie zostało zdefiniowane linii kodu "setData('Temperatura_5',16,32)").
Po naciśnięciu przycisku, do rejestrów o adresach 4000 i 4001 zostaną wpisane wartości:

Gwarancja i odpowiedzialność producenta

Ostrzeżenie

Producent udziela dwuletniej gwarancji na urządzenie oraz zapewnia serwis pogwarancyjny przez okres 10 lat od daty wprowadzenia urządzenia na rynek. Gwarancja obejmuje wszystkie wady materiałowe i produkcyjne

Producent zobowiązuje się do przestrzegania umowy gwarancyjnej, jeżeli spełnione są następujące warunki:

  • Wszystkie naprawy, zmiany, rozszerzenia oraz kalibracje urządzenia wykonywane są przez producenta lub autoryzowany serwis,
  • Sieciowa instalacja zasilająca spełnia warunki obowiązujących w tym względzie norm,
  • Urządzenie obsługiwane jest zgodnie z zaleceniami przedstawionymi w niniejszej Instrukcji,
  • Urządzenie używane jest zgodnie z przeznaczeniem.

Producent nie ponosi żadnej odpowiedzialności za konsekwencje wynikłe z nieprawidłowej instalacji, niewłaściwego użytkowania urządzenia, nieprzestrzegania instrukcji obsługi oraz przeprowadzania napraw przez osoby nieposiadające uprawnień.

Ostrzeżenie

W urządzeniu nie ma żadnych części, które wolno użytkownikowi samodzielnie wymieniać.

Warunki przechowywania, pracy i transportu

Urządzenie powinno być przechowywane w pomieszczeniach zamkniętych, w których atmosfera jest wolna od par i środków żrących oraz:

  • Temperatura otoczenia od -30°C do +60°C,
  • Wilgotność od 25% do 90% (niedopuszczalne skroplenia),
  • Ciśnienie atmosferyczne 700 do 1060 hPa.

Urządzenie przeznaczone jest do pracy w następujących warunkach:

  • Temperatura otoczenia od -10°C do +55°C,
  • Wilgotność od 30% do 75%,
  • Ciśnienie atmosferyczne 700 do 1060 hPa.

Zalecane warunki transportu:

  • Temperatura otoczenia od -40°C do +85°C,
  • Wilgotność od 5% do 95%,
  • Ciśnienie atmosferyczne 700 do 1060 hPa.

Instalacja i użytkowanie urządzenia:

  • Moduł powinien być obsługiwany zgodnie z zaleceniami przedstawionymi w dalszej części instrukcji.

Utylizacja i likwidacja

W przypadku, kiedy niezbędna staje się likwidacja urządzenia (np. po upływie czasu jego użytkowania), należy zwrócić się do producenta lub przedstawiciela producenta, którzy zobowiązani są do właściwej reakcji, tzn. odbioru urządzenia od użytkownika. Użytkownik może się również zwrócić do firm zajmujących się utylizacją i/lub likwidacją urządzeń elektrycznych lub sprzętu komputerowego. W żadnym wypadku nie należy umieszczać urządzenia wraz z innymi odpadkami.