Sterownik NPE-3 Instrukcja Użytkownika Opis sterownika NPE-3 jest zaawansowanym sterownikiem automatyki pracującym pod kontrolą systemu operacyjnego Linux. Urządzenie umożliwia pomiar trzech napięć DC (0 20 V) oraz jednego AC (0 70 Vrms). Cztery wejścia cyfrowe umożliwiają kontrolę wejściowego sygnału TTL. Sterowanie zewnętrznymi układami umożliwiają dwa wyjścia OC oraz dwa wyjścia przekaźnikowe 1A. Porty komunikacyjne 2 x RS232 i RS485 dają możliwość połączenia i współpracy z innymi układami automatyki. Urządzenie umożliwia zdalną kontrolę i sterowanie poprzez wbudowane mechanizmy oparte na protokole SNMP. Zdalny dostęp do zasobów systemu jest również możliwy za pośrednictwem protokołów Telnet i FTP. Dodatkowo możliwe jest wykorzystanie modułu komunikacyjnego GSM.
Instalacja i konfiguracja Sterownik NPE-3 jest modułem, który można instalować na standardowych szynach montażowych stosowanych w systemach automatyki. Wszystkie porty modułu NPE-3 są dostępne na dwóch złączach. Opis portów i elementów sterujących modułu przedstawia poniższy rysunek. TxD 1 RxD 1 GND TxD 2 RxD 2 OC 1 OC 2 REL 1 REL 2 CD+ GND +12 VDC Ethernet LED 4 LED 3 Reset SW 2 SW 1 LED 2 LED 1 LED 0 SD Card Slot RS485 A RS485 B GND INP 0 INP 1 INP 2 INP 3 SIM Card Slot VAC DC 3 DC 2 DC 1 GND INT 0 INT 1 INT 2 INT 3
Porty wejściowe Wejście Parametry Opis INP0 Sygnał TTL 5V Wejścia cyfrowe, wykrywanie stanu 0/1 INP1 INP2 INP3 INT0 INT1 INT2 INT3 Sygnał TTL 5V Wejścia cyfrowe, wykrywanie stanu 0/1 Dodatkowa funkcja przerwaniowa DC1 DC2 DC3 0 do 20 VDC Rwe >= 100k Wejścia analogowe napięcia stałego, przetwornik 12bit VAC/DC4 0 do 70 VAC RMS Wejście analogowe napięcia zmiennego, przetwornik 12bit, pomiar True-RMS lub opcjonalnie dodatkowe wejście DC Opcjonalnie zamiast wejścia VAC można używać dodatkowego wejścia analogowego DC4 (konfigurowane zworą SJ6) Przetwornik AD pracuje z bazową częstotliwością próbkowania równą 10Hz. Porty wyjściowe Wyjście Parametry Opis OC0 OC1 CD+ Max prąd <= 500mA REL1/ OC2 OC3 REL2/ OC4 OC5 Max prąd <= 1A +12 VDC 9 do 24 VDC Napięcie zasilające Wyjścia Open-Colector, CD+ jest wspólną linią dla wyjść OC Wyjścia przekaźnikowe lub opcjonalnie dodatkowe wyjścia OC Opcjonalnie zamiast wyjść REL1 i REL2 można używać wyjąć OC2, OC3 i OC4, OC5 (konfigurowane zworami SJ1, SJ2 i SJ3, SJ4). Porty komunikacyjne Linia Port Opis TxD 1 COM1 Port RS232, ttys0 w systemie Linux RxD 1 TxD 2 COM3 Port RS232, ttys2 w systemie Linux RxD 2 RS485 A COM4 Port RS485, ttys3 w systemie Linux RS485 B Ethernet LAN 10/100 Mbit Port sieci Ethernet, eth0 w systemie Linux
Kontrolki i elementy sterujące Element Opis LED 0 Sygnalizator zasilania modułu LED 1 Diody LED ogólnego przeznaczenia LED 2 LED 3 LED 4 Sygnalizator stanu modułu GSM (gdy zainstalowany) SW 1 Przycisk ogólnego przeznaczenia SW 2 Przycisk RESET zewnętrzny Reset Przycisk RESET sterownika Pod płytką sterownika znajduje się gniazdo karty SD (SD Card Slot). Pod płytką modemu GSM znajduje się gniazdo karty SIM (SIM Card Slot).
Włączenie modułu Aby rozpocząć konfigurowanie sterownika konieczne jest podłączenie napięcia zasilającego do wejść 12VDC i GND. Po włączeniu zasilania powinien włączyć się sygnalizator LED0. Po włączeniu zasilania sygnalizatory LED1 i LED2 mogą znajdować się w dowolnym stanie. Po załadowaniu systemu Linux sygnalizatory LED1 i LED2 wyłączają się a po chwili na 3 sekundy włączany jest sygnalizator LED2. W tym czasie użytkownik wciskając przycisk SW1 (krócej niż 10 sekund) ma możliwość włączenia obsługi terminala na porcie COM1 (ttys0). Przyciśnięcie przycisku SW1 dłużej niż 10 sekund powoduje załadowanie fabrycznych nastaw konfiguracyjnych. Po poprawnym zakończeniu startu systemu sygnalizator LED2 powinien zacząć migać z częstotliwością 1Hz. Oznacza to, że moduł jest gotowy do pracy. Procedura startowa Procedura startowa systemu wykorzystuje skrypt startowy zapisany w pliku /etc/init.d/rcs. Użytkownik może zdefiniować własny plik startowy rcs i zapisać go na karcie SD (/mnt/sd) lub w pamięci Flash modułu NPE (/mnt/mtd). Plik ten jest wykonywany przez system w końcowej fazie startu systemu i umożliwia zmianę pracy systemu zależnie od potrzeb użytkownika. Plik rcs ma następujący format: #!/bin/sh # # rcs - run once at boot time # # Custom configuration HOST_NAME=npe HOST_IP=192.168.0.101 HOST_MAC=00:10:20:30:45:65 RTC_RESTORE=Y OUT_RESTORE=Y START_BLINK=Y START_DHCP=Y START_FTP=N START_TELNET=Y START_SNMP=Y # # Start selected services /etc/init.d/rcs0 # # Put custom actions here echo Custom actions...
W pliku dostępna jest następująca grupa opcji, które mogą być zmieniane przez użytkownika: Opcje startowe Opcja Wartość typowa Opis HOST_NAME npe Nazwa hosta NPE HOST_IP 192.168.0.101 Statyczny adres IP dla systemu NPE HOST_MAC 00:10:20:30:45:65 Adres MAC karty sieciowej systemu NPE RTC_RESTORE Y Odświeżenie nastawy zegara systemowego OUT_RESTORE Y Odświeżenie stanu wyjść z pamięci podtrzymywanej bateryjnie START_BLINK Y Start migania sygnalizatorem LED2 po wystartowaniu systemu START_DHCP Y Start klienta DHCP START_FTP Y Start serwera FTP START_TELNET Y Start serwera Telnet START_SNMP Y Start serwera SNMP Dodatkowe akcje użytkownik może dopisać na końcu własnego pliku rcs. Uwaga: Podczas startu system szuka pliku startowego rcs najpierw na karcie SD (/mnt/sd jeśli jest zainstalowana), a następnie w pamięci Flash (/mnt/mtd). Jeśli użytkownik nie zapisał własnego pliku rcs, system wykonuje standardowy plik /etc/init.d/rcs. Uwaga: Korzystając z kilku sterowników połączonych do wspólnej sieci użytkownik zawsze musi ustawić unikalne adresy MAC i IP dla wszystkich urządzeń. Wymusza to konieczność stworzenia plików rcs i zapisania ich w pamięci Flash lub na karcie SD.
Polecenia specjalne System Linux modułu NPE-3 zawiera zestaw dodatkowych programów i skryptów, które dają wygodny dostęp do sterowania dostępnymi elementami systemu. Funkcje specjalne Funkcja Rodzaj Opis sdon Skrypt Podłącz kartę SD do katalogu /mnt/sd sdoff Skrypt Odłącz kartę SD z katalogu /mnt/sd mtdon Skrypt Podłącz pamięć Flash do katalogu /mnt/mtd mtdoff Skrypt Odłącz kartę Flash z katalogu /mnt/mtd nfson <zasób> Skrypt Podłącz zasób NFS do katalogu /mnt/nfs, przykładowo nfson 192.168.0.200:/nfs nfsoff Skrypt Odłącz zasób NFS z katalogu /mnt/nfs blink <Led> <Czas> Skrypt Start migania sygnalizatora LED. LED1-6 LED2-7, czas w mikro sekundach saveusers <sd flash> Skrypt Zapisz bieżące nastawy użytkowników na kartę SD lub do pamięci Flash settime <MMDDhhmmYYYY> Skrypt Ustawienie czasu i daty w zegarze podtrzymywanym bateryjnie gsmon Skrypt Włącza zasilanie modemu GSM (gdy zainstalowany) gsmoff Skrypt Wyłącza zasilanie modemu GSM (gdy zainstalowany) muxon Skrypt Włącza multipleksację portu szeregowego ttys1 dla modemu GSM muxoff Skrypt Wyłącza multipleksację portu szeregowego modem Program Pozwala wysłać komendę AT do modemu GSM (gdy zainstalowany) npe Program Daje dostęp do wszystkich elementów systemu NPE: porty wejścia/wyjścia, zegar i pamięć podtrzymywana bateryjnie Funkcji tych oraz innych dostępnych w systemie można np. użyć w pliku startowym rcs.
Zdalny dostęp Dostęp do sytemu Linux sterującego pracą modułu jest możliwy poprzez sieć LAN lub terminal podłączony przez port COM1 modułu. Dostęp przez terminal wymaga połączenia modułu (port COM1) z komputerem, na którym uruchomiony jest program obsługi terminala (np. Hyperterminal). Parametry transmisji to 115200,8n1. Terminal jest dostępny na porcie COM1 modułu tylko, gdy podczas startu systemu użytkownik włączy terminal przyciskiem SW1. Dostęp przez sieć LAN wymaga połączenia modułu z siecią Ethernet. Standardowo statyczny adres IP modułu jest ustawiony na 192.168.0.101. Adres IP może też być przydzielony dynamicznie z serwera DHCP. Znając adres IP modułu możemy sprawdzić łączność używając polecenia: ping 192.168.0.101 Jeśli moduł odpowiada poprawnie możemy połączyć się z nim zdalnie używając protokołu TELNET. Aby załogować się do systemu Linux podajemy nazwę użytkownika i hasło. Uwaga: Łącząc się z modułem zdalnie za pomocą protokołu Telnet możliwe jest tylko logowanie jako user. Przełączenie w tryb root a jest możliwe za pomocą komendy su. System plików Użytkownik ma możliwość korzystania z następujących zasobów plikowych dostępnych w systemie Linux NPE-3: - Główny system plików w pamięci RAM / - System plików w pamięci Flash /mnt/mtd - System plików na karcie SD /mnt/sd Główny system plików jest zorganizowany w postaci RAM-dysku, który jest automatycznie tworzony podczas startu systemu. Użytkownik ma możliwość zapisu swoich plików, ale są one zawsze usuwane po restarcie systemu. System plików w pamięci Flash umożliwia przechowanie do 4MB danych, które nie będą kasowane po restarcie. Dane w pamięci Flash są zorganizowane jako system plików JFFS2. Skrypty mtdon i mtdoff dają możliwość włączania i wyłączania dostępu do danych w pamięci Flash. Pamięć Flash jest zawsze automatycznie montowana podczas startu systemu.
System obsługuje również karty SD sformatowane pod systemem Windows (FAT) lub Linux (ext2). Podczas startu system sprawdza dostępność karty SD i automatycznie ją montuje. Wyjęcie karty zawsze musi być poprzedzone uruchomieniem skryptu sdoff. Po włożeniu karty SD konieczne jest jej zamontowanie przy użyciu skryptu sdon. Statystykę zainstalowanych systemów plików można zobaczyć używając komendy: df Obsługa użytkowników Standardowo system Linux sterownika NPE-3 daje dostęp dla dwóch użytkowników: Użytkownik: root Użytkownik: user Hasło: techbase Hasło: user Jakakolwiek zmiana danych użytkowników musi być zawsze zapisana w pamięci Flash lub na karcie SD. W przeciwnym wypadku po restarcie zmiany zostaną stracone. Zapis danych użytkowników umożliwia skrypt saveusers. Podczas startu system zawsze szuka danych użytkowników na karcie SD a następnie w pamięci Flash.
Serwer FTP Serwer FTP jest automatycznie uruchamiany przez system, gdy opcja startowa START_FTP jest ustawiona w stan Y. Możliwy jest dostęp do wszystkich zasobów plikowych systemu zgodnie z prawami dostępu przypisanymi użytkownikowi. Serwer SNMP Serwer SNMP jest automatycznie uruchamiany przez system, gdy opcja startowa START_SNMP jest ustawiona w stan Y. Możliwy jest zdalny dostęp do elementów systemu NPE-3 opisanych w pliku MIB NPE2-MIB.txt. Plik ten należy załadować w programie klienta SNMP, z którego chcemy zdalnie sterować modułem NPE-3. Parametry SNMP Parametr Typ Wartości Opis systemversion String RO NPE3 version 1.0 Nazwa wersji systemu NPE-3 systemtime String RO Bieżący czas systemowy input1 Int RO 0/1 Stan wejścia IN1 input2 Int RO 0/1 Stan wejścia IN2 input3 Int RO 0/1 Stan wejścia IN3 input4 Int RO 0/1 Stan wejścia IN4 switch1 Int RO 0/1 Stan przycisku SW1 outputoc1 Int RW 0/1 Stan wyjścia OC1 outputoc2 Int RW 0/1 Stan wyjścia OC2 outputrel1 Int RW 0/1 Stan wyjścia REL1 outputrel1 Int RW 0/1 Stan wyjścia REL1 outputled1 Int RW 0/1 Stan sygnalizatora LED1 outputled2 Int RW 0/1 Stan sygnalizatora LED2 adcstart Int RW 0/1 Start/Stop przetwornika AD adcfilter Int RW 1-100 Filtr przetwornika AD. Ilość próbek do uśrednienia. adcdc1 Int RO 0-4095 Stan wejścia VDC1 adcdc1volts String RO Stan wejścia VDC1 wyrażony w Voltach adcdc2 Int RO 0-4095 Stan wejścia VDC2 adcdc2volts String RO Stan wejścia VDC2 wyrażony w Voltach adcdc3 Int RO 0-4095 Stan wejścia VDC3 adcdc3volts String RO Stan wejścia VDC3 wyrażony w Voltach adcac1 Int RO 0-4095 Stan wejścia VAC1 adcac1volts String RO Stan wejścia VAC1 wyrażony w Voltach
Moduł GSM Opcjonalnie do kontrolera NPE-3 można dołączyć moduł modemu GSM w wersji GPRS lub EDGE. Moduł GSM pozwala na wykorzystanie sieci GSM w celu transmisji danych, dźwięku lub wysyłania komunikatów SMS. Włączanie/wyłączanie modułu GSM umożliwiają skrypty: gsmon gsmoff Po wydaniu polecenia gsmon i odczekaniu kilkunastu sekund modem loguje się do sieci GSM i przechodzi w stan gotowości (sygnalizowany na LED4). Poprawne zalogowanie do sieci jest możliwe tylko w sytuacji gdy karta SIM jest poprawna i nie ma ustawionego kodu PIN. Moduł GSM można w prosty sposób sterować komendami AT. Wygodny dostąp do sterowania modemem umożliwia specjalny program modem, który umożliwia wysłanie pojedynczej komendy AT. modem <device> <baud rate> <AT command> Przykładowo sprawdzenie stanu karty SIM uzyskujemy poleceniem: $modem /dev/ttys1 115200 at+cpin? Typowa odpowiedź z modemu to: +CPIN: READY OK Odpowiedź ta oznacza, że modem jest poprawnie zalogowany do sieci. Moduł GPRS SIM300 Aby nawiązać komunikację PPP (przez sieć Heyah) poprzez moduł SIM300 należy wykonać następujące komendy: $gsmon $pppd call heyah-ttys1 Skrypt heyah-ttys1 wykonywany przez pppd wykona automatycznie wszystkie operacje związane z logowaniem do sieci, pobraniem adresów sieciowych itd. Poprawne wykonanie skryptu automatycznie instaluje w systemie nowe połączenie
sieciowe ppp0 (użyj komendy ifconfig). Korzystanie z połączenia ppp0 jest analogiczne do innych połączeń sieciowych. Wyłączenie ppp0 i zamknięcie demona ppp umożliwia polecenie: $gsmoff Moduł EDGE SIM600 Aby nawiązać komunikację PPP (przez sieć Heyah) poprzez moduł SIM600 należy wykonać następujące komendy: $gsmon Następnie należy zmienić konfigurację modemu używając komend AT: $modem /dev/ttys1 230400 at+ipr=115200 $modem /dev/ttys1 115200 at+ifc=0,2 $modem /dev/ttys1 115200 at&d0&c1e1v1s0=0 $pppd call heyah-ttys1 Pozostałe funkcje są analogiczne jak dla modułu SIM300. Multipleksacja portu szeregowego Aby w pełni wykorzystać moduł GSM przydatna jest możliwość jednoczesnego używania połączenia PPP i np. wysyłania komunikatów SMS. Nie jest to możliwe przy użyciu tylko jednego portu szeregowego. Rozwiązaniem tego problemu jest użycie multipleksacji portu szeregowego. W systemie NPE-3 włączenie/wyłaczenie multipleksacji dla portu ttys1 umożliwiają skrypty: muxon muxoff Po włączeniu multipleksacji port ttys1 staje się niedostępny a w jego miejsce powstają trzy wirtualne porty: /dev/mux0 /dev/mux1 /dev/mux2 Teraz uruchomienie PPP jest możliwe poprzez skrypt heyah-mux1: $pppd call heyah-mux1
Oczywiście nadal mamy dostęp do modemu komendami AT poprzez wirtualne porty /dev/mux0 lub /dev/mux2. Przykładowo: $modem /dev/mux0 115200 at+cpin? Do sterowania modemem (dzwonienie, wysyłanie komunikatów SMS) konieczne jest użycie dodatkowych programów, które nie są dostępne w sterowniku NPE-3.