Struktura pomocy programu SNP Monitor!
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!
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.
__ __ __ __ __ __ __ __
____________
Gdańsk 2008
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
> Menu PLC Info Więcej informacji
> Menu PLC Memory Więcej informacji
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
5 Panel kontroli stanu pracy sterownika. Więcej informacji
6 Przycisk Help - wyświetla niniejszą pomoc dla programu;
7 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źć
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
____________
Configure
[Menu konfiguracji]
Menu Configure zawiera cztery zakładki służące do konfiguracji programu SNP Monitor!, są to:
- wybór i konfiguracja portu szeregowego;
- identyfikacja i dostęp do funkcji sterownika, oraz wybór typów i zakresów pamięci do odczytu;
- 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
__ __ __ __ __ __ __ __
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.
__ __ __ __ __ __ __ __
____________
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
[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.
____________
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 i 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.
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.
____________
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.
____________
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
CPU732
CPU771
CPU772
CPU780
CPU781
CPU782
CPU788
CPU789
CPU790
CPU914
CPU915
CPU924
CPU925
CPX772
CPX782
CPX928
CPX935
- VersaMax Micro
UDR002
____________
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.
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.
__ __ __ __ __ __ __ __
____________
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.
____________
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".
____________
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
____________
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ść.
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.
____________
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).
____________
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
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.
____________
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
____________
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.
__ __ __ __ __ __ __ __
____________
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.
____________
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.
____________