PLC-home.pl

...inteligentny dom zarządzany przez sterownik PLC

Serwer monitorujący

Do postawienia serwera z interfejsem webowym, statystykami, CCTV i innymi bajerami potrzebowałem odpowieniej maszyny. Wybór padł na:

  • Obudowa: CFI-A8989TG mini-ITX 150W
  • Płyta główna: Intel D510MO Atom Mini ITX
  • do tego oczywiście pamięć i dysk

Serwerek stanął w bezpiecznym miejscu. Na serwerze Debian, apache, mysql, cacti

System zarządzania

Ponieważ dostępne na rynku SCADA są w 99,9% softem pod windowsa długo kręciłem się w miejscu po czym uznałem, że pora napisać coś co będzie spełniać moje oczekiwania w 100%. Rozpocząłem pisanie własnego softu opartego głównie o PHP i jQuery.

Software działa LIVE. Server odpytuje sterownik PLC kilka razy na sekundę o aktualny stan i przechowuje te dane w bazie. W momencie otwarcia strony www z skryptem, strona zaczyna co sekundę odpytywać serwer o stan sterownika i systemu. Dzięki temu całość działa płytnnie przez sieć i opóźnienia są prawie niezauważalne.

Software pokazuje stan kontrolek. Można je kliknąć co powoduje wysłanie rozkazu do sterownika (np. zgaszenie światła).

System zadządzania inteligentnym domem

System zarządzania inteligentnym budynkiem

System zarządzania inteligentnym budynkiem

Statystyki z działania sterownika PLC

Rozwiązanie z którego skorzystałem to CACTI. Trzeba mu niestety poświęcić niemało czasu na zrozumienie i konfigurację.

Przykładowo: W sterowniku liczone są impulsy pochodzące z licznika energii i zapisywane w rejestrze.

Cacti wywołuje skrypt, który wywołuje proste narzędzie czytające określony rejestr sterownika PLC.

Cacti rysuje z tego ładne diagramy. Dzięki temu można monitorować każdy aspekt pracy inteligentnego domu.

Statystyki sterownika PLC

1. Konfigracja CACTI

Podaję link do struktur ktróe stworzyłem i wyeksportowałem z CACTI:

CACTI Szablony pod PLC

Powinny stworzyć struktury umoliwiające czytanie rejestrów z PLC przez SKRYPT

2. Skrypt

Skrypt jest prosty - wywołuje narzędzie poolmb (łatwe do znalezienia w sieci narzędzie pod linuxa czytające po MODBUS), obrabia odpowiedź i ją wyświetla. Ten skrypt jest uruchamiany przez cacti.

Skrypt dla CACTI