Witam
Chciałbym przedstawić Wam program SNP Monitor!. Powstał on w ramach realizowanej do niedawna przeze mnie pracy dyplomowej o tytule "Wizualizacja stanu pamięci sterownika programowalnego GE Fanuc z wykorzystaniem stron internetowych". Praca powstała na kierunku Automatyka i Robotyka na wydziale Elektrotechniki i Automatyki Politechniki Gdańskiej.
Program ten umożliwia budowę darmowego elastycznego i skalowalnego systemu wizualizacji dla sterowników PLC firmy GE Fanuc. Prezentowany w tym temacie program SNP Monitor! stanowi w tym systemie most komunikacyjny między pamięcią sterownika i bazą danych. Działanie programu odzwierciedla poniższy rysunek:
Do generowania stron internetowych zawierających wizualizację wykorzystana została darmowa platforma AMP = Apache + MySQL + PHP. Mechanizm ten przedstawiono na rysunku:
Aby przedstawione na stronie dane były aktualne to strona była wyposażona w mechanizm wczytujący ja od nowa co 2 sekundy.
Oczywiście wizualizację można rozwiązać już na 1000 sposobów. Można wykorzystać technologię AJAX, inne języki skryptowe, inny serwer itd... Elementem niezmiennym musi pozostać baza danych MySQL, co nie jest mankamentem. Oprócz wizualizacji wykonałem moduł umożliwiający generowanie przebiegów wartości zmiennych. W tym celu wykorzystałem bibliotekę PHPlot.
Dzięki programowi SNP Monitor! można opracować system o funkcjonalności takiej jak komercyjne oprogramowanie HMI.
Interfejs programu SNP Monitor!:
Program można pobrać ze strony:
http://snpmonitor.omegazone.web44.net/
Strona ta będzie rozwijana, szczególnie w przypadku Waszego zainteresowania.
Możliwości:
- konfiguracja ustawień portu szeregowego, połączenia z serwerem baz danych MySQL, czasów protokołu SNP, określenie zachowania w przypadku utraty komunikacji, możliwość zapisu i załadowania ustawień z pliku.
- zmiana trybu pracy sterownika Run/Stop itd...
- podgląd w programie wybranych obszarów pamięci sterownika i możliwość zmiany wartości wybranej zmiennej z poziomu interfejsu użytkownika.
- włączenie/wyłączenie obsługi bazy danych
- wybór zakresu pamięci który ma być odczytywany
- minimalizacja do postaci ikony na pasku systemowym
Kompatybilność:
- program może komunikować się ze wszystkimi sterownikami PLC Firmy GE Fanuc, a także z kontrolerami PAC RX3i
- program może komunikować się z bazami danych MySQL, testowany był z wersją 3.23.58, 4.1.22, najnowsza stabilna 5, oraz bety 5.1 i 6 (komunikacja przebiegała prawidłowo)
- program skompilowany został dla OS M$ Windows, ale dzięki programowi WINE który jest implementacją tego środowiska dla systemów klasy UNIX, to można go uruchomić na Linuksie (testowany był na Ubuntu 8.1)
- do komunikacji ze sterownikiem wykorzystywany był zarówno zintegrowany port szeregowy w PC, jak i adapter USB oparty o chip Prolific oraz karta PCMCIA, we wszytkich przypadkach komunikacja działała bezproblemowo.
Co jest potrzebne?:
- port szeregowy RS-232/422/485
- kabel łączący komputer ze sterownikiem - taki sam jaki wykorzystywany jest do jego programowania i ewentualnie konwerter standardów, który tak samo jest potrzebny przy programowaniu.
- plik libmysql.dll - dzięki temu program może działać na komputerach na których nie zainstalowano bazy danych MySQL i będzie łączył się z nią np.: przez sieć lokalną, lub w ogóle opcja ta może być wyłączona.
Możliwe są różne struktury systemu:
- zarówno prosta
- jak i rozproszona
Program był tworzony z myślą aby służył nie tylko mi ani pracy dyplomowej samej w sobie, dlatego też założyłem ten ten temat. Jeśli ktoś będzie bardzo zainteresowany pewną funkcją która nie jest aktualnie dostępna w programie to mogę go zmodyfikować na życzenie (o ile będę w stanie).
W załączniku znajduje się paczka zawierająca program, bibliotekę libmysql.dll, a także pomoc dla programu. Jest on także dostępny na:
http://snpmonitor.omegazone.web44.net/
Chciałbym przedstawić Wam program SNP Monitor!. Powstał on w ramach realizowanej do niedawna przeze mnie pracy dyplomowej o tytule "Wizualizacja stanu pamięci sterownika programowalnego GE Fanuc z wykorzystaniem stron internetowych". Praca powstała na kierunku Automatyka i Robotyka na wydziale Elektrotechniki i Automatyki Politechniki Gdańskiej.
Program ten umożliwia budowę darmowego elastycznego i skalowalnego systemu wizualizacji dla sterowników PLC firmy GE Fanuc. Prezentowany w tym temacie program SNP Monitor! stanowi w tym systemie most komunikacyjny między pamięcią sterownika i bazą danych. Działanie programu odzwierciedla poniższy rysunek:
Do generowania stron internetowych zawierających wizualizację wykorzystana została darmowa platforma AMP = Apache + MySQL + PHP. Mechanizm ten przedstawiono na rysunku:
Aby przedstawione na stronie dane były aktualne to strona była wyposażona w mechanizm wczytujący ja od nowa co 2 sekundy.
Oczywiście wizualizację można rozwiązać już na 1000 sposobów. Można wykorzystać technologię AJAX, inne języki skryptowe, inny serwer itd... Elementem niezmiennym musi pozostać baza danych MySQL, co nie jest mankamentem. Oprócz wizualizacji wykonałem moduł umożliwiający generowanie przebiegów wartości zmiennych. W tym celu wykorzystałem bibliotekę PHPlot.
Dzięki programowi SNP Monitor! można opracować system o funkcjonalności takiej jak komercyjne oprogramowanie HMI.
Interfejs programu SNP Monitor!:
Program można pobrać ze strony:
http://snpmonitor.omegazone.web44.net/
Strona ta będzie rozwijana, szczególnie w przypadku Waszego zainteresowania.
Możliwości:
- konfiguracja ustawień portu szeregowego, połączenia z serwerem baz danych MySQL, czasów protokołu SNP, określenie zachowania w przypadku utraty komunikacji, możliwość zapisu i załadowania ustawień z pliku.
- zmiana trybu pracy sterownika Run/Stop itd...
- podgląd w programie wybranych obszarów pamięci sterownika i możliwość zmiany wartości wybranej zmiennej z poziomu interfejsu użytkownika.
- włączenie/wyłączenie obsługi bazy danych
- wybór zakresu pamięci który ma być odczytywany
- minimalizacja do postaci ikony na pasku systemowym
Kompatybilność:
- program może komunikować się ze wszystkimi sterownikami PLC Firmy GE Fanuc, a także z kontrolerami PAC RX3i
- program może komunikować się z bazami danych MySQL, testowany był z wersją 3.23.58, 4.1.22, najnowsza stabilna 5, oraz bety 5.1 i 6 (komunikacja przebiegała prawidłowo)
- program skompilowany został dla OS M$ Windows, ale dzięki programowi WINE który jest implementacją tego środowiska dla systemów klasy UNIX, to można go uruchomić na Linuksie (testowany był na Ubuntu 8.1)
- do komunikacji ze sterownikiem wykorzystywany był zarówno zintegrowany port szeregowy w PC, jak i adapter USB oparty o chip Prolific oraz karta PCMCIA, we wszytkich przypadkach komunikacja działała bezproblemowo.
Co jest potrzebne?:
- port szeregowy RS-232/422/485
- kabel łączący komputer ze sterownikiem - taki sam jaki wykorzystywany jest do jego programowania i ewentualnie konwerter standardów, który tak samo jest potrzebny przy programowaniu.
- plik libmysql.dll - dzięki temu program może działać na komputerach na których nie zainstalowano bazy danych MySQL i będzie łączył się z nią np.: przez sieć lokalną, lub w ogóle opcja ta może być wyłączona.
Możliwe są różne struktury systemu:
- zarówno prosta
- jak i rozproszona
Program był tworzony z myślą aby służył nie tylko mi ani pracy dyplomowej samej w sobie, dlatego też założyłem ten ten temat. Jeśli ktoś będzie bardzo zainteresowany pewną funkcją która nie jest aktualnie dostępna w programie to mogę go zmodyfikować na życzenie (o ile będę w stanie).
W załączniku znajduje się paczka zawierająca program, bibliotekę libmysql.dll, a także pomoc dla programu. Jest on także dostępny na:
http://snpmonitor.omegazone.web44.net/