background image

   

Struktura pomocy programu SNP Monitor!

 

Opis programu SNP Monitor!

 

 

Interfejs programu

 

2.1  

Configure

 

2.1.1  

Serial port

 

2.1.2  

PLC

 

2.1.3  

Connection

 

2.1.4  

Database

 

2.2  

PLC Info

 

2.3  

PLC Memory

 

2.4  

Connection Control

 

2.5  

PLC Control

 

2.6  

Pasek stanu

 

 

Postępowanie z programem SNP Monitor!

 

 

Kompatybilność programu ze sprzętem i oprogramowaniem

 

 

Mechanizm wymiany danych poprzez bazę danych MySQL

 

 

Budowa systemu wizualizacji w oparciu o program SNP Monitor!

 

 

Zapisywanie i ładowanie ustawień

 

 

Ukrywanie okna programu

 

 

Kody błędów

 

background image

Opis programu SNP Monitor!

Program  SNP Monitor!  powstał jako część opracowanego systemu wizualizacji z wykorzystaniem 

przeglądarki   internetowej   dla   sterowników   PLC   firmy   GE   Fanuc.   Ideę   programu   można   w   skrócie 
przedstawić jako most łączący pamięć sterownika z bazą danych MySQL. Do komunikacji ze sterownikiem 
wykorzystywany jest port szeregowy komputera, oraz protokół SNP (ang. The Series Ninety Protocol). Jego 
niewątpliwymi zaletami jest to, iż jest on zaimplementowany we  wszystkich  sterownikach  PLC firmy GE 
Fanuc, oraz nie wymaga dodatkowych modułów komunikacyjnych ani ingerencji w program sterownika.

Współcześnie   najbardziej   popularną   metodą   przedstawienia   informacji   o   procesie   jest   jego 

wizualizacja.   W   opracowanym   systemie   wizualizacja   realizowana   jest   poprzez   dynamicznie   generowane 
strony  www   (na   podstawie   informacji   z   bazy   danych)   wyświetlane   w   przeglądarce   internetowej.   Istnieje 
możliwość realizacji wizualizacji w inny sposób. Program SNP Monitor! zapewnia wymianę danych między 
sterownikiem PLC firmy GE Fanuc a bazą danych MySQL, reszta czyli metoda oraz wygląd wizualizacji 
zależy już tylko od kreatywności użytkownika.

Program  SNP   Monitor!  umożliwia   konfiguracje   połączenia   ze   sterownikiem   i   bazą   danych. 

Odczytuje on zmienne z wybranych typów i zakresów pamięci sterownika i umieszcza je w bazie danych. Z 
bazy danych może też odczytać nowe wartości zmiennych i zapisać je w pamięci sterownika. Podgląd i 
edycja pamięci możliwa jest nie tylko poprzez bazę danych, ale także poprzez interfejs programu. Program 
rozpoznaje   typ   i   model  sterownika   (nie   wszystkie),   wyświetla   informacje   o   długości  trwania   cyklu   pracy 
sterownika, oraz umożliwia zmianę trybu pracy sterownika. Po utracie komunikacji program potrafi nawiązać 
ją na nowo. Program posiada także dodatkowe funkcje ułatwiające korzystanie z niego, jak zapis ustawień, 
czy ukrycie  okna aplikacji do ikony na pasku  tray.  Program można uruchomić wiele  razy,  tak więc jeśli 
komputer   posiada   więcej   niż   1   port   szeregowy,   to   do   każdego   z   nich   można   podłączyć   sterownik,   a 
odczytywane ze sterowników informacje umieszczać w bazach danych o różnej nazwie.
__ __ __ __ __ __ __ __

UWAGA:   Program   do   uruchomienia   potrzebuje   biblioteki  libmysql.dll,   nawet   jeśli   nie   będzie 
wykorzystywana usługa bazy danych. Jeśli na komputerze zainstalowany jest serwer baz danych MySQL 
plik ten powinien zostać znaleziony automatycznie. Jeżeli nie znajduje tego pliku, lub na komputerze nie 
zainstalowano bazy danych to należy umieścić ten plik w tym samym katalogu w którym znajduje się plik 
programu. To samo w sytuacji gdy na komputerze nie ma bazy danych, a będzie wykorzystywana baza 
danych znajdująca się na innym komputerze. Program SNP Monitor! powinien być rozpowszechniany razem 
z plikiem libmysql.dll. Powinien on być dostępny przy instalacji serwera baz danych MySQL. Program 
skompilowano wykorzystując biblioteki z wersji 4.1.22.
__ __ __ __ __ __ __ __

____________

Spis treści

 

Gdańsk 2008

background image

Interfejs programu

Interfejs   programu   SNP   Monitor!   ma   charakter   sterująco   -   informacyjny.   Ze   względu   na   to,   iż 

dokumentacje sterowników PLC, protokołu SNP, a także bazy danych dostępne są w języku angielskim, to w 
celu   zachowania   jednoznaczności   nazw   i   terminów   interfejs   programu   zrealizowany   został   w   języku 
angielskim. Na poniższym rysunku przedstawiającym okno programu zaznaczono pewne elementy, ich opis 
umieszczono pod rysunkiem.

1  Główne   menu   programu.   Wybranie   któregoś   z   przycisków  Configure,  PLC   Info  lub  PLC   Memory 
spowoduje wyświetlenie menu dla danego przycisku. Są to:
Menu Configure Więcej informacji 

tutaj

 .

Menu PLC Info Więcej informacji 

tutaj

 .

Menu PLC Memory Więcej informacji 

tutaj

 .

2  Pole   w   którym   wyświetlają   się   panele   konfiguracyjne,   bądź   informacyjne,   w   zależności   od   elementu 
wybranego z głównego Menu.

3  Grupa  przycisków  służąca  do  zapisu i ładowania  ustawień.  Przyciski   te  widoczne  są  tylko  wtedy gdy 
aktywne jest Menu Configure.

4 Panel kontroli połączenia programu ze sterownikiem. Więcej informacji 

tutaj

 .

5 Panel kontroli stanu pracy sterownika. Więcej informacji 

tutaj

 .

6 Przycisk Help - wyświetla niniejszą pomoc dla programu;

Przycisk About - wyświetla informację o programie;

8  Przycisk  Hide  -   minimalizuje   program   do   postaci   ikony   wyświetlanej   koło   zegara.   Więcej   o   funkcji 
ukrywania okna aplikacji można znaleźć 

tutaj

 .

9  Pasek stanu -  pełni rolę informacyjną. Wyświetla informacje o połączeniu ze sterownikiem PLC oraz o 
jego stanie, a także informacje o błędach które wystąpiły. Więcej informacji o pasku stanu 

tutaj

 .

____________

Spis treści

 

background image

Configure 

[Menu konfiguracji]

Menu Configure zawiera cztery zakładki służące do konfiguracji programu SNP Monitor!, są to:

Serial port

  - wybór i konfiguracja portu szeregowego;

PLC

 

- identyfikacja i dostęp do funkcji sterownika, oraz wybór typów i zakresów pamięci do odczytu;

Connection

  - konfiguracja połączenia;

Database

   - konfiguracja usługi wykorzystania bazy danych MySQL.

Zawsze, kiedy wybrane jest menu  Configure, w oknie programu dostępna jest grupa elementów zapisu i 
ładowania  ustawień. Za ich pomocą możliwy jest zapis  wszystkich  ustawień  z menu  Configure. Więcej 
informacji 

tutaj

 .

__ __ __ __ __ __ __ __

UWAGA: Po wybraniu przycisku Connect i nawiązaniu połączenia ze sterownikiem, zmiany dokonywane w 
menu  Configure  nie mają żadnego wpływu na parametry połączenia. Zmiany zostaną uwzględnione przy 
następnym użyciu przycisku Connect.
__ __ __ __ __ __ __ __

____________

Spis treści

 

background image

Serial port settings 

[Ustawienia portu szeregowego]

Zakładka  Serial   port   settings  umożliwia   wybór   i   ustawienie   parametrów   szeregowego   portu 

komunikacyjnego   COM   pracującego   w   standardzie   RS-422A,   RS-485   bądź   RS-232C.   Port   ten 
wykorzystywany jest przez program do komunikacji ze sterownikami PLC firmy GE Fanuc. Aby komunikacja 
była możliwa ustawienia portu muszą być takie same jak w sterowniku.

COM port

- numer fizycznego portu komunikacyjnego komputera do którego podłączony jest sterownik 

lub sterowniki.

Baud rate

- prędkość transmisji w bitach na sekundę (bps)

Parity type

- typ kontroli parzystości (nieparzystość: odd, parzystość: even, brak: none)

Stop bits

- liczba bitów stopu

Data bits 

- liczba bitów danych. Ustawione na stałe na 8 bitów, zgodnie z protokołem SNP

Domyślne ustawienia w protokole SNP

- Prędkość transmisji (baud rate):

19200 bps

- Kontrola parzystości (parity):

odd (nieparzystość)

- liczba bitów danych (data bits)

8

- liczba bitów stopu (stop bits): 

1

________
Inne zakładki menu Configure.

PLC settings

 

Connection settings

 

MySQL database settings

 

____________

Spis treści

 

background image

PLC settings

 [Ustawienia sterownika PLC ]

W zakładce  PLC settings  można dokonać ogólnych ustawień sterownika PLC takich jak podanie 

nazwy identyfikacyjnej sterownika z którym ma zostać nawiązana komunikacja, oraz hasła. W zakładce tej 
można wybrać które typy pamięci mają być odczytywane ze sterownika oraz w jakim zakresie.

CPU   ID  -   nazwa   identyfikacyjna   danego   sterownika.   Zwykle   nadawana   jest   ona   w   procesie   budowania 
systemu w celu rozróżnienia sterowników. Jest to konieczne gdy na linii znajduje się więcej sterowników, 
natomiast w przypadku gdy komputer jest połączony bezpośrednio tylko z jednym sterownikiem podanie 
CPU ID nie jest konieczne. Domyślnie pole to jest puste.

Password  -   hasło   zabezpieczające   dostęp   do   pewnych   funkcji.   W   przypadku   gdy   PLC   CPU   jest 
zabezpieczony hasłem, a jego brak powoduje nieosiągnięcie wystarczającego stopnia przywileju do realizacji 
niektórych funkcji takich jak: odczyt/zapis pamięci oraz zmiana stanu sterownika, w takim przypadku, dla 
poprawnej pracy aplikacji hasło musi zostać podane. Domyślnie to pole jest puste.

Wybór typów i zakresów pamięci (Choose types of memory to read and adjust ranges)
W tym obszarze należy zaznaczyć typy i określić zakresy pamięci zmiennych które maja wziąć udział w 
procesie   wizualizacji.   Wybrane   tutaj   obszary   będą   wysyłane   do   bazy   danych,   oraz   możliwy   będzie   ich 
podgląd z poziomu programu w menu PLC Memory. Zaleca się, aby wybierane były tylko te typy pamięci 
zmiennych które są potrzebne, oraz aby wybrane zakresy były jak najmniejsze (szczególnie w przypadku 
zmiennych analogowych i rejestrowych). Im mniejszy przedział tym mniej danych do przesłania i cały cykl 
odczytu pamięci ze sterownika trwa krócej, a co za tym idzie, dane są uaktualniane częściej.

Możliwe do wyboru typy pamięci:
%I  - Discrete Inputs      (dyskretne zmienne wejściowe)

%M  - Discrete Internals   (dyskretne zmienne wewnętrzne z pamięcią stanu)
%Q  - Discrete Outputs     (dyskretne zmienne wyjściowe)

%AI - Analog Inputs        (analogowe zmienne wejściowe)
%R  - Registers            (zmienne rejestrowe)

%AQ - Analog Outputs       (analogowe zmienne wyjściowe)

Aby wybrać dany typ pamięci należy zaznaczyć pole wyboru obok nazwy danego typu pamięci. W celu 
określenia zakresu należy wybrać adres początkowy i adres końcowy wybranego przedziału.

__ __ __ __ __ __ __ __

UWAGA: Wyboru zakresów pamięci należy dokonywać świadomie. Nie wolno przekraczać zakresów 
istniejących w danej jednostce centralnej. Według dokumentacji skutki są nieprzewidywalne.
__ __ __ __ __ __ __ __

________
Inne zakładki menu Configure.

Serial port settings

 

Connection settings

 

MySQL database settings

 

____________

Spis treœci

 

background image

Connection settings 

[Parametry połączenia]

Zakładka  Connection   settings  umożliwia   ustawienie   zależności   czasowych   dla   komunikacji   ze 

sterownikiem, trybu break-free, oraz zachowania programu w razie utraty połączenia ze sterownikiem.

SNP Timers - liczniki czasowe protokołu SNP

Zwykle komunikacja z jakimś urządzeniem narzuca pewne konieczne do spełnienia zależności czasowe. 
Taka   sytuacja   ma   także   miejsce   przy   komunikacji   ze   sterownikiem   PLC.   Poniżej   przedstawiono   czasy 
charakterystyczne   dla   protokołu   SNP.   Komunikacja   powinna   działać   przy   ustawieniach   domyślnych. 
Podczas testowania programu nawiązano komunikację z wszystkimi badanymi sterownikami, bez ingerencji 
w   te   wartości.   Funkcja   możliwości   zmiany   tych   parametrów   została   dodana   z   myślą   o   ewentualnych 
problemach z komunikacją, a także aby dać użytkownikowi możliwość ingerencji w ustawienia połączenia 
komputer <--> sterownik.

T1 - czas jaki musi upłynąć między odebraniem ostatniego znaku lub wysłaniem wiadomości, a wysłaniem 
pierwszego znaku następnej wiadomości. Jest to minimalny czas jaki urządzenie (Master  lub  Slave) musi 
poczekać przed wysłaniem wiadomości lub potwierdzenia. Czas ten jest wykorzystywany zarówno przez 
urządzenie   typu  Master  jak   i  Slave.   Czas   T1   jest   to   czas   potrzebny   na   przejście   urządzenia   z   trybu 
nadawania   do   trybu   odbierania   i   jest   on   liczony   dla   najbardziej   niekorzystnego   przypadku.   Jeśli   w 
przesyłaniu danych biorą udział dodatkowe urządzenia (np. modem), należy uwzględnić także ich czasy 
potrzebne na odwrócenie komunikacji

T2  -   maksymalny   czas   jaki   urządzenie   wysyłające   (Master  lub  Slave)   będzie   czekało   na   potwierdzenie 
odbioru wiadomości która jest właśnie nadawana. Pierwszy znak potwierdzenia musi   zostać odebrany w 
ciągu   czasu   T2   liczonego   po   wysłaniu   ostatniego   znaku   wiadomości.   Jeśli   warunek   ten   nie   zostanie 
spełniony urządzenie traktuje to jako brak komunikacji i przechodzi do stanu początkowego. Czas ten jest 
wykorzystywany zarówno przez urządzenie typu Master jak i Slave.

T3'  - czas przeterminowania. Po tym jak został wysłany ostatni znak potwierdzenia, pierwszy znak nowej 
wiadomości musi zostać wysłany w czasie T3'. Jeśli jedno z urządzeń czeka na wiadomość od drugiego i 
czas   T3'   zostanie   przekroczony   zanim   żadna   z   części   wiadomości   nie   zostanie   otrzymana,   zostaje 
stwierdzony   brak   komunikacji   i   urządzenia   przechodzą   do   stanu   początkowego.   Czas   ten   jest 
wykorzystywany przez oba urządzenia (Master Slave).

T4  -  czas   przerwy,   minimalny  czas  jaki  urządzenie   Master  powinno   czekać  miedzy  końcem  nadawania 
znaku długiej przerwy, a wysłaniem pierwszego znaku wiadomości  powitalnej (Attach Message). Czas ten 
jest potrzebny przez urządzenie Slave do rozpoznania znaku długiej przerwy i przygotowania się do odbioru 
wiadomości powitalnej. Czas ten używany jest tylko przez urządzenie typu Master, ale jest zdeterminowany 
przez sterownik PLC. Czas T4 nie jest wykorzystywany w Break-Free SNP (zaktualizowanej wersji protokołu 
SNP), lecz nie każdy sterownik go obsługuje.

Td - czas opóźnienia. Licznik ten dodaje dodatkowe opóźnienie przed kolejnymi sekwencjami wiadomości. 
Licznik ten jest częścią programu SNP Monitor! i nie jest definiowany w protokole SNP, ale używany jest w 
zastępstwie   T3.   Czas   Td   musi   być   mniejszy   od   T3',   w   przeciwnym   razie   zostanie   przekroczony   czas 
oczekiwania na wiadomość i komunikacja zostanie utracona.

T3  - maksymalny czas bezczynności połączenia. Jest używany tylko przez  Master'a, żeby zdeterminować 
kiedy wymusić  wysłanie  wiadomości przez łącze,  aby przeciwdziałać  przeterminowaniu  z powodu  braku 
aktywności. (Timer T3 nie jest bezpośrednio używany przez program SNP Monitor!, zobacz Td).

W przypadku pracy z programem SNP Monitor! urządzeniem typu  Master  jest komputer a urządzeniem 
Slave sterownik.

Break-Free SNP Enabled - włączenie uaktualnionej wersji protokołu SNP która nie obsługuje operacji Long 
Break.   Long   Break  generuje   przerwanie   sprzętowe   w  jednostkach   centralnych   podłączonych   do   linii.   W 
odpowiedzi   na   Long   Break   następuje   inicjalizacja   CPU   i   ustawienie   komunikacji   sprzętowej,   oraz 
oczekiwanie na wiadomość powitalną  Attach Message  od  Master'a. Niektóre sterowniki nie obsługują tej 
uaktualnionej wersji protokołu, np Series 90 Micro.

background image

Loss of connection event  - zdarzenie utraty połączenia. Pole wyboru "If connection is lost:" umożliwia 
wybór jednej z trzech opcji działania aplikacji w przypadku utraty połączenia. Opcje wyboru:

-   give   up  -  porzuć,   program   nie   podejmuje   prób   ponownego   połączenia,   a   przy   pierwszym   połączeniu 
próbuje tylko raz. Jeśli zakończy się to niepowodzeniem program przechodzi do stanu offline.

- try to connect k times - próbuj połączyć k-razy. Program przy nieudanej próbie nawiązania komunikacji 
lub jej utracie, próbuje nawiązać połączenie. Jeśli w liczbie prób równej k nie zakończy się to powodzeniem 
dalsze próby zostają zaniechane i program przechodzi do stanu offline. Aktualny numer próby pokazywany 
jest w pierwszym polu paska stanu w postaci "Connecting.. numer_próby/k". K może być liczbą całkowitą od 
1   do   255.   Wartością   domyślną   jest   5.   Numer   próby   jest   resetowany   przy   pomyślnym   nawiązaniu 
komunikacji, tak więc po kolejnej utracie łączności istnieje dalej k prób do wykorzystania.

- try to connect constantly - stale próbuj połączyć. Program przy nieudanej próbie nawiązania komunikacji 
lub   jej   utracie,   próbuje   nieustannie   nawiązać   połączenie.   Aktualny   numer   próby   pokazywany   jest   w 
pierwszym polu paska stanu w postaci "Connecting.. (numer_próby)". Numer próby zapisywany jest na 2 
Bajtach tak więc po osiągnięciu wartości 65535 wskaźnik numeru próby zacznie liczyć od zera.

________
Inne zakładki menu Configure.

Serial port settings

 

PLC settings

 

MySQL database settings

 

____________

Spis treœci

 

background image

MySQL database settings 

[Ustawienia połączenia z bazą danych MySQL]

Zakładka MySQL database settings zawiera pola umożliwiające wyłączenie możliwości połączenia 

z bazą danych MySQL, konfiguracje połączenia, a także interakcje programu z bazą danych.

Using database enabled  - wykorzystanie bazy danych dostępne. Włącza obsługę bazy danych MySQL. 
Gdy opcja ta nie jest zaznaczona, podgląd zmiennych z pamięci sterownika możliwy jest tylko w programie 
SNP Monitor!.

Address IP  - adres IP serwera skojarzonego z systemem baz danych MySQL. Domyślną wartością jest 
"localhost" co odpowiada adresowi IP: 127.0.0.1.

Port number - numer portu który wykorzystuje serwer baz danych MySQL. Domyślną wartością tego pola 
jest 0. Dla wartości tej program wybiera wartość domyślna portu czyli 3306.

Username - nazwa konta użytkownika na serwerze bazy danych.

Password - hasło do konta użytkownika.
__ __ __ __ __ __ __ __

UWAGA: Aby wszystkie wykorzystywane funkcje obsługi bazy danych były dostępne, konto użytkownika na 
które   loguje   się   program   SNP   Monitor!   powinno   posiadać   następujące   uprawnienia:   SELECT,   INSERT, 
UPDATE, CREATE, DROP.
__ __ __ __ __ __ __ __

Database   name  -   nazwa   bazy   danych,   która   zostanie   utworzona   przez   program   i   będzie   przez   niego 
wykorzystywana. 

Drop previous database if exist - usuń poprzednią bazę danych jeśli istnieje. Usuwa istniejącą wcześniej 
bazę danych o tej samej nazwie, aby na jej miejsce utworzyć nową pustą. Funkcja ta zapobiega błędom 
spowodowanym przez wartości pozostałe w bazie przy wcześniejszym użytkowaniu programu. 

Drop database after end of transmision - usuń bazę danych po zakończeniu transmisji.

________
Inne zakładki menu Configure.

Serial port settings

 

PLC settings

 

Connection settings

 

____________

Spis treści

 

background image

PLC Informations

 [Informacje o sterowniku PLC]

Menu  PLC Informations  zawiera zakładkę  Info,  która udostępnia informacje o sterowniku PLC z, 

którym została nawiązana komunikacja. W zakładce Info znajdują się elementy przedstawione poniżej:

Type - typ, jeśli sterownik został rozpoznany to znajduje się tutaj informacja o jego typie, np: Series 90-30. W 
przeciwnym razie wyświetlona jest wartość "unknown" (nieznany).

Model  - model, jeśli typ i model sterownika został rozpoznany to zostaje wyświetlona tutaj informacja o 
modelu. W przypadku sterowników o budowie modułowej wyświetlona informacje będzie dotyczyła jednostki 
centralnej, np: CPU331. W przypadku gdy model nie został rozpoznany wyświetlona jest wartość "unknown" 
(nieznany).

CPU   ID  -   Nazwa   identyfikacyjna   jednostki   centralnej.   Wyświetlona   jest   tutaj   nazwa   identyfikacyjna 
sterownika z którym została nawiązana komunikacja. Pole to nie jest powiązane z CPU ID podawanym przez 
użytkownika w zakładce PLC settings.

SNP Timers  - Liczniki czasu protokołu SNP. Wyświetlone są tutaj wartości czasów T1, T2 i T3' protokołu 
SNP. Ich wartości mogą, ale nie muszą być te same co podane przez użytkownika w zakładce Connection 
settings
, ponieważ są one negocjowane ze sterownikiem a wyświetlony jest wynik tych negocjacji, ponadto 
wartości te są używane podczas trwania bieżącej sesji komunikacyjnej. Dokładne informacje o znaczeniu 
tych czasów znajdują się w zakładce Connection settings.

Priviledge level  - poziom przywilejów, najwyższy możliwy poziom przywileju uzyskany z uwzględnieniem 
hasła (także i jego braku) podanego w polu Password w zakładce PLC. Różne typy sterowników wymagają 
różnych   poziomów   przywileju   do   realizacji   tych   samych   funkcji.   Uzyskany   poziom   przywileju   powinien 
umożliwić odczyt/zapis pamięci oraz zmianę trybów pracy sterownika. Więcej informacji w dokumentacji.

Lista rozpoznawanych jednostek centralnych i sterowników przez program SNP Monitor!:

- Series 90 Micro

UDR001

- Series 90-20

CPU211

- Series 90-30

CPU311
CPU321
CPU313
CPU323
CPU331
CPU341
CPU350
CPU351
CPU352
CPU360
CPU363
CPU364

- Series 90-70

CFR782
CFR928
CGR772
CGR935
CPU731

background image

CPU732
CPU771
CPU772
CPU780
CPU781
CPU782
CPU788
CPU789
CPU790
CPU914
CPU915
CPU924
CPU925
CPX772
CPX782
CPX928
CPX935  

- VersaMax Micro

UDR002

____________

Spis treści

 

background image

PLC Memory 

[Pamięć sterownika PLC]

Menu  PLC   Memory  zawiera   zakładki   służące   do   podglądu   wybranych   obszarów   pamięci 

sterownika,   a   także   zakładkę  Edit  umożliwiającą   zmianę   wartości   wybranych   zmiennych   w   pamięci 
sterownika.   Wyświetlane   są   tylko   zakładki   dla   tych   typów   pamięci   które   zostały   wcześniej   wybrane   (w 
zakładce PLC w menu Configure).

Podgląd dyskretnych typów zmiennych (

%I, %M, %Q

)

Na poniższym rysunku przedstawiono przykład podglądu wartości zmiennych typu 

%Q

. Wartości dyskretne 

prezentowane   są   za   pomocą   tabeli.   Górny   wiersz   i   lewa   kolumna   opisują   adresy   zmiennych 
przedstawionych w poszczególnych komórkach tabeli. W górnym wierszu wyświetlana jest ostatnia cyfra 
adresu, a w lewej kolumnie adres bez ostatniej cyfry. Przykładowo zaznaczona na rysunku zmienna ma 
adres  37.
 

Podgląd analogowych i rejestrowych typów zmiennych (

%AI, %R, %AQ

)

Na poniższym rysunku przedstawiono przykład podglądu wartości  

%R

. W pierwszej kolumnie wyświetlony 

jest adres, a w kolejnych wartość zmiennej w formacie: dziesiętnym ze znakiem, dziesiętnym bez znaku, 
heksadecymalnym.   Rozróżnienia   takiego   dokonano   ponieważ   zawartość   tej   samej   komórki   pamięci 
(przechowującej   zmienną)   może   być   interpretowana   na   wiele   sposobów.   Dzięki   temu   użytkownik   w 
większości przypadków nie musi dokonywać przeliczeń tylko odczytać wartość w pożądanym formacie.

background image

Edit
Przedstawiona   na   poniższym   rysunku   zakładka  Edit  umożliwia   zmianę   wartości   zmiennych 
przechowywanych w pamięci sterownika. Aby dokonać zmiany należy wybrać typ zmiennej, jej adres i podać 
nową wartość, a następnie nacisnąć przycisk Apply. Przycisk  Apply stanie się na chwilę nieaktywny. Staje 
się on aktywny po wykonaniu polecenia. 
 

__ __ __ __ __ __ __ __

UWAGA:   Wyboru   adresu   pamięci   należy   dokonywać   świadomie.   Nie   wolno   przekraczać   zakresów 
istniejących w danej jednostce centralnej. Według dokumentacji skutki są nieprzewidywalne.
__ __ __ __ __ __ __ __

____________

Spis treści

 

background image

Connection Control

 

[Kontrola połączenia] 

Panel Connection Cotrol służy do kontroli połączenia. Panel ten zawiera 4 przyciski opisane poniżej:

   Connect - przycisk ten rozpoczyna proces połączenia się ze sterownikiem i bazą danych zgodnie z 

ustawieniami   z   menu  Configure.   Po   pomyślnym   nawiązaniu   komunikacji   program   przechodzi   w   stan 
podtrzymania łączności. W pasku stanu powinny być wyświetlane informacje o stanie połączenia i pracy 
sterownika. Użycie przycisku Connect uaktywnia menu PLC Info i PLC Memory. Możliwa jest zmiana stanu 
pracy sterownika poprzez panel PLC Control.  

 
   Start  Transmission  -  przycisk   ten   rozpoczyna   transmisję   danych.   Program   przechodzi  ze   stanu 

podtrzymania łączności do stanu transmisji danych. Podczas procesu transmisji program odczytuje wybrane 
obszary pamięci sterownika i wysyła je do bazy danych, oraz umieszcza je w zakładkach w menu  PLC 
Memory
. Program sprawdza także czy w bazie danych znajdują się informacje czekające na wysłanie do 
sterownika. Jeśli tak, są one wysyłane. Tylko w tym trybie możliwy jest zapis do sterownika wartości z bazy 
danych. Jeśli nie wybrano żadnego typu pamięci do odczytu przycisk ten nie będzie dostępny po nawiązaniu 
połączenia.

 
  Halt Transmission - przycisk ten powoduje wstrzymanie transmisji (odczytu pamięci ze sterownika i 

zapisywaniu   ich   w   bazie   danych,   oraz   zapisywaniu   nowych   wartości   w   sterowniku   odczytanych   z   bazy 
danych) i przejście w stan podtrzymania łączności. Pozostaje możliwa zmiana wartości zmiennych poprzez 
zakładkę Edit w menu PLC Memory.

 
    Disconnect  -   przycisk   ten   powoduje   przerwanie   połączenia   ze   sterownikiem,   zamknięcie   portu 

szeregowego, usunięcie wykorzystywanej bazy danych (jeśli została wybrana taka opcja w ustawieniach), 
oraz zamknięcie połączenia z serwerem baz danych MySQL.

____________

Spis treści

 

background image

PLC Control 

[Kontrola sterownika PLC]

Panel  PLC Control  służy do kontroli trybu pracy sterownika PLC.  Panel ten zawiera 2 przyciski i 

pole wyboru. Ich użycie zostało opisane poniżej:

  (Run)  - powoduje przejście sterownika w tryb Run, I/O Enabled.

  (Stop)  - powoduje przejście sterownika w tryb Stop, I/O Enabled lub Stop, I/O Disabled, w zależności od 
opcji wybranej w polu wyboru "Inputs/Outputs"

____________

Spis treści

 

background image

Pasek stanu

Poniżej znajduje się rysunek przedstawiający pasek stanu programu SNP Monitor!

1 Stan połączenia
>  Offline  - program nie jest połączony ze sterownikiem.
>   Connecting..  - nawiązywanie połączenia ze sterownikiem. Więcej o nawiązywaniu połączenia tutaj. Jeśli 
obok "Connecting.." wyświetlona jest wartość w postaci "i/k" oznacza to iż obecnie podejmowana jest  i-ta 
próba nawiązania połączenia, z k-prób. Jeśli wyświetlona wartość jest w postaci "(i)" oznacza to iż jest to i-ta 
próba. Sposób wyświetlenia zależny jest od wyboru dokonanego w zakładce Connection.
>  Disconnecting..  - trwa proces zamykania sesji komunikacyjnej.
>  Online  - zostało nawiązane i jest utrzymane połączenie ze sterownikiem

2 Informacja o stanie pracy sterownika PLC. Możliwe wartości:
>  Stop, I/O Enabled  - program zatrzymany, uaktualnianie wejść i wyjść;
 Stop, I/O Disabled  - program zatrzymany, wyłączone uaktualnianie wejść i wyjść;
 Run, I/O Enabled  - program uruchomiony, uaktualnianie wejść i wyjść;
 Run, I/O Disabled  - program uruchomiony, wyłączone uaktualnianie wejść i wyjść;
 CPU stop faulted  - CPU zatrzymany z powodu błędu;
 CPU halted  - CPU wstrzymany;
 CPU suspended  - CPU zawieszony.

3 Czas trwania cyklu pracy sterownika (ang. Sweep time).

4  Licznik zliczający liczbę wysłanych wiadomości do sterownika (po poprawnym nawiązaniu połączenia). 
Wartość   reprezentowana   jest   w   kodzie   heksadecymalnym.   Po   osiągnięciu   wartości   0xFF   (255)   licznik 
zaczyna liczyć od 0. Licznik ten może być przydatny przy szybkiej ocenie stanu połączenia. Innymi słowy 
jeśli wartość licznika ulega zmianie połączenie programu ze sterownikiem jest aktywne. 

5 Licznik zliczający liczbę pełnych cykli odczytu pamięci sterownika. Wartość reprezentowana jest w kodzie 
heksadecymalnym. Po osiągnięciu wartości 0xFF (255) licznik zaczyna liczyć od 0.

6  Kod   i   krótki   opis   błędu   który   wystąpił   ostatnio.   Przycisk   Connect   czyści   to   pole.   Więcej   informacji   o 
znaczeniu błędów 

tutaj

 .

____________

Spis treści

 

background image

Postępowanie z programem SNP Monitor!

Aby   efektywnie   zacząć   pracę   z   programem   SNP   Monitor!   należy   najpierw   zebrać   potrzebne 

informacje, a następnie realizując wskazówki przedstawione w kolejnych krokach skonfigurować program i 
ustanowić połączenie.

Potrzebne informacje
>
  Parametry   komunikacyjne   portu   szeregowego   w   sterowniku   obsługującego   protokół   SNP   Slave   który 
wykorzystany będzie do komunikacji.
> CPU ID jednostki centralnej, jeśli na jednym łączu znajduje się więcej sterowników.
> Hasło którym zabezpieczona jest jednostka centralna (jeśli jest zabezpieczona).
> Określić typy zmiennych i ich adresy które mają wziąć udział w procesie wizualizacji. 
> Adres IP komputera na którym znajduje się serwer baz danych MySQL i numer portu zarezerwowanego 
dla tej usługi.
>  Nazwa   użytkownika   i   hasło   do   konta   na   serwerze   baz   danych   MySQL,   posiadającego   wymagane 
uprawnienia.

Krok   1    Z   menu  Configure  wybrać   zakładkę  Serial   port.   W   zakładce   tej   należy   wybrać   numer   portu 
komputera do którego podłączony jest sterownik i ustawić parametry portu szeregowego takie same, jak 
portu szeregowego w sterowniku PLC z którym program ma nawiązać komunikację.

Krok 2  W zakładce PLC podać CPU ID (wymagane gdy na jednym łączy znajduje się więcej sterowników) i 
hasło (jeśli jednostka centralna jest chroniona hasłem). Zaznaczyć odpowiednie typy zmiennych i określić dla 
nich zakresy tak aby obejmowały interesujące użytkownika zmienne.

Krok   3    W   zakładce  Connection  można   wybrać   jedną   z   opcji   zachowania   programu   w   razie   utraty 
komunikacji   oraz   określić   wartości   liczników   czasu   dla   protokołu   SNP.   Nie   jest   konieczne   dokonywanie 
zmian w tej zakładce, komunikacja powinna przebiegac prawidłowo przy ustawieniach domyślnych. Jeśli 
sterownik   obsługuje  Break-Ffree   SNP  można   zaznaczyć   opcję  Break-Free   SNP   Enabled,   to   wyłączy 
wywoływane przerwania sprzętowego w sterowniku przed połączeniem, ale nie jest to konieczne.

Krok 4  W zakładce Database należy przede wszystkim wybrać czy usługa bazy danych ma być dostępna. 
Jeśli tak, to należy podać adres IP komputera na którym znajduje się serwer baz danych MySQL, oraz 
numer portu jeśli jest inny niż domyślny (3306), nazwę użytkownika, hasło do jego konta, oraz nazwę bazy 
danych która będzie wykorzystywana do procesu wizualizacji. Nazwa bazy danych powinna być unikatowa.

Krok 5   Po skonfigurowaniu można zapisać ustawienia w pliku INI, za pomocą przycisku  Save. Można 
nadać   pliku   własna   nazwę.   Jeśli   już   wcześniej   żądane   ustawienia   były   wybrane   można   załadować 
odpowiedni plik INI poprzez przycisk Load, pomijając kroki 1 - 4.

Krok 6   Program jest już skonfigurowany, teraz należy nacisnąć przycisk  Connect  z panelu  Connection 
Control
. Program podejmie próbę nawiązania połączenia. Jeśli program został poprawnie skonfigurowany, a 
sterownik   jest   poprawnie   podłączony   do   komputera,   próba   ta   powinna   zakończyć   się   sukcesem.   W 
przeciwnym przypadku, należy znaleźć i poprawić błąd.

Krok 7    Po poprawnym nawiązaniu połączenia, program ustala ze sterownikiem wartości liczników czasu 
protokołu SNP (SNP Timers), ustala poziom przywilejów, odczytuje informacje o typie i modelu sterownika, a 
następnie program przechodzi do stanu podtrzymania łączności. Na pasku stanu powinny być wyświetlone 
informacje o stanie pracy sterownika i o długości trwania cyklu, a jeden z liczników powinien zmieniać swoja 
wartość.   Możliwa   jest   zmiana   stanu   pracy  sterownika   poprzez  wykorzystanie   do   tego   celu   panelu  PLC 
Control
.   Wybierając   zakładkę  Info  z   menu  PLC   Info,   można   sprawdzić   typ   i   model   sterownika, 
wynegocjowane wartości SNP Timers, oraz uzyskany poziom przywilejów. Wybierając zakładkę Edit z menu 
PLC Memory można zmienić wartość wybranej zmiennej w pamięci sterownika.

Krok 8    Gdy komunikacja ze sterownikiem jest już aktywna, w celu rozpoczęcia transmisji danych należy 
wybrać   przycisk  Start   Transmission  z   panelu  Connection   Control.   Spowoduje   to   odczyt   wybranych 
obszarów  pamięci  sterownika   i   wysłanie   ich   do   bazy  danych   (jeśli   ta  usługa   została   wybrana),   a  także 
sprawdzenie czy w bazie czekają jakieś nowe wartości zmiennych do zapisu w sterowniku (i jeśli istnieją, to 
zapis ich w pamięci sterownika). W trybie transmisji, także możliwa jest zmiana stanu pracy sterownika 
poprzez panel PLC Control. Wraz z rozpoczęciem transmisji danych drugi licznik na pasku stanu powinien 
zacząć zmieniać swoją wartość.

background image

Krok   9    Uruchomienie   transmisji   spowodowało   wyświetlenie   się   w   zakładkach   menu  PLC   Memory 
odczytanych ze sterownika fragmentów pamięci, a co za tym idzie możliwy stał się ich podgląd z poziomu 
programu.

Krok 10  Jeśli program ma pracować w tle, dla wygody okno programu można zminimalizować przyciskiem 
Hide do postaci ikony na pasku Tray. Zmiana koloru ikony powiadomi użytkownika w przypadku wystąpienia 
błędów.

Krok 11  W celu wstrzymania transmisji należy wybrać przycisk Start Transmission z panelu Connection 
Control
. Spowoduje to przejście z powrotem do stanu podtrzymania łączności. 

Krok 12  W celu zamknięcia połączenia ze sterownikiem i bazą danych należy wybrać przycisk Disconnect 
z   panelu   Connection   Control.   Po   rozłączeniu   można   połączyć   się   na   nowo,   zmienić   ustawienia 
konfiguracyjne, lub zakończyć pracę z programem.

Powyżej  przedstawiony został typowy sposób  pracy z programem  SNP  Monitor!.  Bardziej  szczegółowe 
informacje można znaleźć w opisach poszczególnych części interfejsu użytkownika.

____________

Spis treści

 

background image

Kompatybilność programu ze sprzętem i oprogramowaniem

System operacyjny

Program SNP Monitor! dedykowany jest do pracy pod kontrolą systemów operacyjnych Microsoft 

Windows,   ale   może   także   pracować   pod   systemami   klasy   UNIX   (Linux,   Solaris,   FreeBSD)   dzięki 
oprogramowaniu   WINE.   WINE   jest   implementacją   WinAPI   (ang.   Windows   Application   Programming 
Interface).   Program   był   testowany   na   systemie   operacyjnym   Linux   Ubuntu   8.04   i   wykazał   pełną 
funkcjonalność w tym środowisku.

Sterownik PLC

Program   SNP   Monitor!   działa   tylko   ze   sterownikami   PLC   firmy   GE   Fanuc   które   posiadają 

zaimplementowany   protokół  SNP   Slave  (obecnie   wszystkie   sterowniki   PLC   firmy   GE   Fanuc   posiadają 
zaimplementowany ten protokół). Dodatkowo program może współpracować z kontrolerem PAC serii R3xi, 
ponieważ w nim także zaimplementowano protokół SNP.

Komunikacja szeregowa

Przy komunikacji nie jest ważne tylko to co jest wysyłane, ale także w jaki sposób. Istnieją różne 

standardy transmisji szeregowej. Sterowniki PLC firmy GE Fanuc wyposażone są w porty szeregowe zgodne 
ze   standardem   RS232,   RS-422   lub   RS-485.   Standardowy   komputer   wyposażony   jest   zwykle   o   port 
szeregowy   zgodny   ze   standardem   RS-232   (wyjątkiem   są   przemysłowe   płyty   główne   lub   komputery   ze 
specjalnymi   kartami   rozszerzeń   które   mogą   zawierać   także   porty   zgodne   ze   standardem   RS-422   lub 
RS-485).   W   przypadku   gdy   porty   komputera   i   sterownika   nie   są   zgodne   z   tym   samym   standardem, 
konieczne jest użycie konwertera standardów. 

Przykładowo:   Komputer   wyposażony   jest   w   port   zgodny   ze   standardem   RS-232,   sterownik   z 

RS-485,   więc   potrzebny   jest   konwerter   RS-232/RS-285.   Na   rynku   dostępnych   jest   wiele   konwerterów 
różnych   firm.   Od   rozbudowanych   posiadających   optoizolację   i   własne   zasilanie,   aż  do   minikonwerterów 
zasilanych z portu sterownika. Dokumentacja zaleca używanie konwerterów firmy GE Fanuc dedykowanych 
do konkretnego sterownika. Nie bez znaczenia są wykorzystane do komunikacji kable. Rodzaje sygnałów 
przyporządkowanych   do   poszczególnych   pinów   portu   w   sterownikach   GE   Fanuc   może   się   różnić   od 
standardów   innych   firm,   należy   to   wziąć   pod   uwagę.   Dokładne   opisy   portów   i   kabli   można   znaleźć   w 
dokumentacji sterowników.

Port szeregowy komputera

Program   SNP   Monitor!   nawiązywał   pomyślnie   komunikację   ze   sterownikiem   PLC   korzystając   z 

interfejsu szeregowego pod przedstawionymi poniżej postaciami:
> Port szeregowy zgodny ze standardem RS-232C zintegrowany z płyta główną komputera klasy PC.
> Karta PCMCIA RS232, zawierająca układ UART16C550
> Adapter USB -> RS-232 oparty o układ Prolific PL2303

Baza danych

Program   SNP   Monitor!   współpracuje   tylko   z   bazą   danych   MySQL.   Przy   budowie   systemu 

wizualizacji mogą zostać wykorzystane różne, serwery HTTP, języki skryptowe i inne technologie, ale jako 
bazą danych musi być MySQL. Program skompilowany został przy użyciu plików nagłówkowych i bibliotek z 
wersji MySQL  4.1.22 (ostatnia stabilna wersja bazy danych MySQL 4).

____________

Spis treœci

 

background image

Mechanizm wymiany informacji poprzez bazę danych

Po połączeniu się z bazą danych program tworzy bazę o nazwie podanej w zakładce  Database

Domyślnie   jest   to  plc_memory.   Następnie   w   nowo   powstałej   bazie   tworzonych   jest   13   tabel.   Można   je 
podzielić na 3 grupy:

1) Informacje o sterowniku, jedna tabela: plc_info

W tabeli tej przechowywane są informacje o sterowniku i jego stanie pracy. Zawiera ona 5 kolumn i 

tylko 1 rekord.
kolumny: 

id - liczba porządkowa;
cpu_id - nazwa identyfikująca jednostkę centralną;
error - numer błędu (zarezerwowane do późniejszego wykorzystania);
plcstate - tryb pracy sterownika w postaci tekstowej.
num_plcstate - liczba reprezentująca tryb pracy sterownika;

Znaczenie wartości num_plcstate:

0 - Stop, I/O Enabled  - program zatrzymany, uaktualnianie wejść i wyjść;
1 - Stop, I/O Disabled  - program zatrzymany, wyłączone uaktualnianie wejść i wyjść;
2 - Run, I/O Enabled  - program uruchomiony, uaktualnianie wejść i wyjść;
3 - Run, I/O Disabled  - program uruchomiony, wyłączone uaktualnianie wejść i wyjść;
4 - CPU stop faulted  - CPU zatrzymany z powodu błędu;
5 - CPU halted  - CPU wstrzymany;
6 - CPU suspended  - CPU zawieszony.
7 - unknown - nieznany.

2) Zmienne odczytane, 6 tabel: plc_i, plc_m, plc_q, plc_ai, plc_r, plc_aq
W   tabelach   tych   przechowywane   są   wartości   zmiennych   odczytane   ze   sterownika.   Przy   każdorazowym 
odczytaniu wartości ze sterownika, zmienne te są nadpisywane.
> Każda tabela przeznaczona jest dla innego typu zmiennych.
> Wszystkie z tych tabel zawierają 2 kolumny:

id - adres zmiennej, typ unsigned smallint
value - wartość zmiennej

> Wymienione 6 tabel można podzielić na 2 grupy w zależności od ich przeznaczenia:
-dla zmiennych dyskretnych:  plc_i, plc_m, plc_q;  value jest typu  tinyint; Wartości w kolumnie 
value mogą przyjąć 0 lub 1. 
-dla   zmiennych   analogowych:  plc_ai,   plc_r,   plc_aq;  value   jest   typu  smallint;   Przechowywane 
wartości mogą przyjąć wartość z przedziału od -32768 do 32767 (zmienna dwubajtowa ze znakiem).

3) Zmienne do zapisu, 6 tabel: new_i, new_m, new_q, new_ai, new_r, new_aq
W tabelach tych przechowywane są wartości zmiennych które mają zostać wysłane do sterownika.
> Każda tabela przeznaczona jest dla innego typu zmiennych.
> Wszystkie z tych tabel zawierają 3 kolumny:

id - adres zmiennej, typ unsigned smallint;
value - wartość zmiennej;
flag - flaga sterująca, typ tinyint;

> Wymienione 6 tabel można podzielić na 2 grupy w zależności od ich przeznaczenia:
-dla zmiennych dyskretnych: new_i, new_m, new_q; value jest typu tinyint; Wartości w kolumnie value 
mogą przyjąć 0 lub 1. 
-dla zmiennych analogowych: new_ai, new_r, new_aq;  value  jest typu  smallint;  Przechowywane 
wartości mogą przyjąć wartość z przedziału od -32768 do 32767 (zmienna dwubajtowa ze znakiem).
> Wartości w kolumnie flag przyjmują wartości 0 lub 1.

Informacje wspólne

Jak wyżej wspomniano, po pomyślnym połączeniu z bazą danych program tworzy tabele. Tworzone 

są wszystkie tabele, bez względu na to, czy dany typ zmiennej został wybrany czy nie. Po utworzeniu tabele 
wypełniane są zerami.
Tabele przeznaczone dla zmiennych dyskretnych:  plc_i, plc_m, plc_q, new_i, new_m, new_q 
zawierają 1024 rekordów ponumerowanych od 1. Wartość id jest jednocześnie numerem rekordu i adresem 
zmiennej. Jeśli w przypadku którejś zmiennej, adres ograniczający wybrany przedział z góry jest większy od 

background image

1024, to dla tej zmiennej tworzona jest odpowiednio większa tabela. Przykład: dla zmiennej  %M  wybrano 
zakres 345 - 1759, to tabele plc_m, new_m, będą zawierały 1759 rekordów.
Dla tabel przeznaczonych dla zmiennych analogowych:  plc_ai, plc_r, plc_aq, new_ai, new_r, 
new_aq sytuacja jest analogiczna, z tą różnicą, że tam wartością domyślną jest 256 (zamiast 1024).

Podgląd wybranej zmiennej

Aby   sprawdzić   stan   wybranej   zmiennej   należy,   w   tabeli   (plc_...)   odpowiadającej   typowi   tej 

zmiennej znaleźć rekord w którym wartość id odpowiada adresowi szukanej zmiennej i odczytać jej wartość 
w kolumnie value.

Wysyłanie nowej wartości zmiennej do sterownika

Aby   zmienić   wartość   wybranej   zmiennej   w   pamięci   sterownika,   należy   w   tabeli   (new_...) 

odpowiadającej typowi tej zmiennej znaleźć rekord, w którym wartość id odpowiada adresowi tej zmiennej. 
W kolumnie value należy zapisać nową wartość zmiennej. Następnie w kolumnie flag ustawić wartość 1. 
Program cyklicznie sprawdza tabele w poszukiwaniu "jedynek" w kolumnie flag. Jeśli znajdzie to zapisuje w 
sterowniku zmienną o wartości z kolumny value pod adresem z kolumny id. Jeśli wysłano pomyślnie, to 
wartość flag jest zerowana. Wartość w kolumnie value nie ulega zmianie.

____________

Spis treści

 

background image

Budowa systemu wizualizacji w oparciu o program SNP Monitor!

Jak   już   wspomniano,   program  SNP   Monitor!  powstał   jako   element   opracowanego   systemu 

wizualizacji. Program ten jest mostem pomiędzy pamięcią sterownika a bazą danych MySQL. Funkcja ta 
została przedstawiona na poniższym rysunku.

W  opracowanym   systemie   wizualizacji   oprócz   bazy   danych   MySQL   wykorzystano   serwer   HTTP 

Apache,   oraz   język   skryptowy   PHP.   Wizualizację   realizowano   poprzez   przeglądarkę   internetową.   W 
przeglądarce wyświetlane były dynamicznie generowane strony WWW. Strony internetowe napisane były 
wykorzystując języki HTML i PHP. Gdy przeglądarka internetowa,  żądała strony,  interpreter języka  PHP 
wykonywał skrypt, łączył się z bazą danych aby odczytać/zapisać wskazane wartości i na ich podstawie 
generował   stronę   WWW,  która   była   wysyłana   do   przeglądarki.   Dodatkowo,   strona   była   wyposażona   w 
mechanizm   ładujący   stronę   od   nowa,   aby   prezentowane   wartości   były   uaktualniane.   Przedstawione 
rozwiązanie, nie odbiega od popularnych, dobrze opisanych zagadnień na temat wykorzystania bazy danych 
MySQL i języka skryptowego PHP do generacji dynamicznych witryn internetowych. 

Temat   ten   nie   będzie   bardziej   rozwijany,   gdyż   nie   jest   on   istotą   niniejszego   pliku   pomocy   dla 

programu SNP Monitor!. Wystarczające informacje potrzebne do budowy systemu wizualizacji w oparciu o 
program SNP Monitor! znajdują się w punkcie 

Mechanizm wymiany danych poprzez bazę danych MySQL 

 .

____________

Spis treści

 

background image

Zapisywanie i ładowanie ustawień

Program  SNP   Monitor!  umożliwia   dokonanie   zapisu   ustawień.   Dzięki   temu,   użytkownik   może 

uniknąć żmudnego procesu konfiguracji programu (wpisywanie adresu, nazw, haseł itp.). Ustawienia mogą 
być zapisane w pliku o podanej przez użytkownika nazwie. Informacje zapisywane są w pliku typu INI. Plik 
jest przechowywany bezpośrednio na dysku C. Funkcja ta jest ona szczególnie przydatna, gdy do komputera 
podłączony jest więcej niż jeden sterownik. Ponieważ na jednym komputerze program  SNP Monitor! może 
być uruchomiony wiele razy, to ustawienia dla poszczególnych sterowników mogą być przechowywane w 
plikach o różnych nazwach. Grupa zapisu i ładowania ustawień składa się z poniższych elementów:

  - określa nazwę pliku w którym są lub maja być przechowywane ustawienia. 

 - ładuje ustawienia z pliku o podanej nazwie. Jeśli plik istnieje, ale jego treść jest nieprawidłowa, 

tam gdzie program nie mógł odczytać informacjo zostaną przywrócone wartości domyślne.

 - zapisuje ustawienia do pliku o podanej nazwie;

 - przywraca ustawienia domyślne, takie same jak są zaraz po uruchomienie programu.

__ __ __ __ __ __ __ __

UWAGA:   Nie   nadawać   plikowi   nazwy   takiej   samej   jak   systemowe   pliki   konfiguracyjne   znajdujące   się 
bezpośrednio   na   dysku   C.   Może   to   spowodować   nadpisanie   pliku   i   problem   z   działaniem   systemu 
operacyjnego.
__ __ __ __ __ __ __ __

____________

Spis treści

 

background image

Ukrywanie okna programu

Do  programu   dodana   została   funkcja   umożliwiająca   minimalizowanie   okna   programu   do   postaci 

ikony widocznej koło zegara. Funkcja ta jest uruchamiana naciśnięciem przycisku:
 

W zależności od aktualnego stanu programu może zostać wyświetlona jedna z poniższych ikon:

 Stan normalny - nie jest nawiązana komunikacja, lub nie została jeszcze nawiązana, brak błędów.

 Komunikacja ze sterownikiem przebiega prawidłowo.

  Połączenie ze sterownikiem zostało przerwane ale prowadzone są próby jego wznowienia.

  Błąd   przy   inicjalizacji   portu   szeregowego,   połączenia   z   baza   danych,   lub   niemożliwe   połączenie   ze 

sterownikiem.

W  razie  zmiany stanu programu (zwykle  wskutek wystąpienia błędu komunikacji ze  sterownikiem) ikona 
ulegnie zmianie, co poinformuje użytkownika o zaistniałej sytuacji.

Aby przywrócić okno programu, należy kliknąć ikonę lewym klawiszem myszy, lub kliknąć prawym i wybrać z 
menu kontekstowego opcje show.

Kliknięcie prawym klawiszem myszy na ikonie programu, powoduje wyświetlenie się następującego menu 
kontekstowego:

  Show - przywraca okno programu.
_______

  Help - uruchamia plik pomocy.
  About - wyświetla informacje o programie.
_______

  Exit

- kończy działanie programu.

____________

Spis treści

 

background image

Kody błędów

Program SNP Monitor! został wyposażony w funkcję informowania o błędach, aby wskazać źródło 

problemu i w ten sposób pomóc w jego rozwiązaniu. Kod błędu i jego opis wyświetlany jest w ostatnim polu 
paska   stanu.   W   przypadku   błędów   związanych   z   otwieraniem   portu   szeregowego   lub   łączeniem   się   i 
wybieraniem   bazy   danych   w   pasku   stanu,   wyświetlana   jest   ogólna   informacja,   natomiast   szczegółowa 
wyświetlana jest w wyskakującym okienku.

Obsługa portu szeregowego COM

E1

Ogólnie: Błąd  przy otwieraniu  portu  szeregowego.  W zależności  od  wyświetlonego  kodu 

wyróżnia się następujące przyczyny:

E1-1

Port szeregowy nie może zostać otwarty, urządzenie nie istnieje lub jest zajęte;

E1-2

Błędnie określona szybkość transmisji;

E1-3

Błędnie określona liczba bitów danych;

E1-4

Niewłaściwie określone parametry domyślne urządzenia;

E1-5

Odbiornik jest zablokowany;

E1-6

Niewłaściwie ustalony rozmiar buforów;

E1-7

Urządzenie nie jest otwarte do transmisji;

E1-8

Urządzenie pozostaje otwarte;

E1-9

Nieznany błąd portu szeregowego.

Baza danych MySQL

E11

Błąd przy podłączaniu do bazy danych;

E12

Błąd wyboru bazy danych. (Pojawia się);

W13

Ostrzeżenie - brak połączenia z bazą danych.

Komunikacja ze sterownikiem PLC

E21

Utracona   komunikacja   ze   sterownikiem   PLC   (błąd   ten   wyświetla   się   po   zerwaniu 

komunikacji ze sterownikiem i jest wyświetlany do czasu ponownego udanego nawiązania komunikacji, lub 
do   zaprzestania   prób.   Może   być   spowodowany   m.in.   niedotrzymaniem   zależności   czasowych   protokołu 
SNP, zakłóceniami, bądź fizycznym odłączeniem sterownika);

E22

Nie   można   nawiązać   komunikacji   ze   sterownikiem   PLC.   (błąd   ten   wyświetla   się   po 

wyczerpaniu wszystkich prób nawiązania poprawnej komunikacji ze sterownikiem, zgodnie z ustawieniami w 
zakładce Connection).

Zapisywanie ustawień

E31

Nie można znaleźć wskazanego pliku INI. Ustawienia nie zostały załadowane.

____________

Spis treści