13. Zastosowania łącza komunikacyjnego FBs-PLC
W rozdziale 12 zawarto informację, że FBs-PLC może obsługiwać funkcję komunikacyjną „Interfejsu sterującego programem drabinkowym” przy realizacji zastosowań sieci wielopunktowej FATEK CPU lub przy łączeniu się z inteligentnymi urządzeniami peryferyjnymi za pośrednictwem portów Port 1~Port 4.
Podłączenie FBs-PLC można zrealizować za pomocą funkcji CLINK(FUN151). Ponadto, FBs-PLC obsługuje interfejs komunikacyjny Modbus. Stacją master protokołu komunikacyjnego Modbus może być Port1~Port 4 wykorzystujący FUN150 do łączenia Modbus z urządzeniami peryferyjnymi typu slave
Interfejs RS-232 służy do realizacji połączeń od punktu do punktu, natomiast RS-485 do połączeń długodystansowych lub komunikacji wielopunktowej
Instrukcja FUN151 (CLINK) obsługuje cztery tryby, od MD0 do MD3, z czego tryb MD3 jest zarezerwowany przez port 2 dla „Szybkiej sieci CPU FATEK”. Pozostałe tryby zarezerwowane są dla „Standardowego łącza komunikacyjnego”. Poniższa tabela zawiera różnice pomiędzy różnymi trybami instrukcji CLINK.
13.1. Zastosowanie instrukcji FUN 151
13.1.1. Procedury
13.1.2. Opis trybów i zastosowań programu dla FUN 151
W niniejszym rozdziale opisane zostaną cztery tryby (MD0 do MD3) instrukcji FUN151 (CLINK) oraz przykłady praktycznego zastosowania programu.
| FUN 151 CLINK |
Instrukcja FUN151: MD0 (PLC pracuje jako stacja master w sieci CPU LINK za pośrednictwem portu 1~4) |
FUN 151 CLINK |
|
Opisy:
1. FUN151 (CLINK) : MD 0, PLC pracuje jako stacja master w sieci FATEK CPU Link za pośrednictwem portów 1~ 4. 2. Stacja PLC master może łączyć się z 254 stacjami slave za pomocą interfejsu RS485. 3. Tylko stacja master wymaga zastosowania instrukcji FUN151; stacja slave nie wymaga takiego zastosowania. 4. Instrukcja wykorzystuje metodę kodowania programu lub wypełniania tabeli do planowania sterowania przepływem danych, tj. tym, z której stacji slave pobierać dane do zapisania w stacji PLC master lub które dane pobrać ze stacji PLC master do zapisania w przypisanej stacji slave. Do zdefiniowania transakcji jednego pakietu danych potrzeba jedynie siedmiu rejestrów. 5. Jeżeli „EN” zmieni się z 0→1, statusy obu wejść sterujących „PAU” i „ABT” będą 0, a Port1/2/3/4 nie był wykorzystywany przez żadne inne instrukcje komunikacyjne [tj. M1960 (Port1) / M1962 (Port2) / M1936 (Port3) / M1938 (Port4) = 1], to instrukcja ta rozpocznie sterowanie portem 1/2/3/4 i ustawi status M1960/M1962/M1936/M1938 na 0 (co oznacza, że dany port jest zajęty), a następnie przejdzie do realizacji transakcji danych. W przypadku, gdy port 1/2/3/4 był już wykorzystywany (M1960/M1962/M1936/M1938 = 0), to instrukcja ta przejdzie w stan oczekiwania i pozostanie w nim do momentu, aż instrukcja komunikacyjna sterująca portami zakończy transakcję danych lub zatrzyma/porzuci wykonywane zadanie w celu zwolnienia portów (M1960/M1962/M1936/M1938 = 1). Opisywana instrukcja ustawi wówczas status M1960/M1962/M1936/M1938 na 0 i niezwłocznie przejdzie do realizacji transakcji danych. 6. Jeżeli podczas realizacji transakcji status wejścia sterującego „PAU” zmieni się na 1, to instrukcja ta po zakończeniu zadania zwolni prawo do sterowania portem (M1960/M1962/M1936/M1938 = 1). Po kolejnym przejęciu praw do sterowania instrukcja rozpocznie realizację następnego pakietu transakcji. 7. Jeżeli podczas realizacji transakcji status wejścia sterującego „ABT” zmieni się na 1, to instrukcja ta niezwłocznie porzuci realizację transakcji i zwolni prawa do sterowania (M1960/M1962/M1936/M1938 = 1). Po kolejnym przejęciu praw do sterowania instrukcja rozpocznie realizację pierwszego pakietu transakcji. 8. Podczas realizacji transakcji danych, wyjście „ACT” będzie aktywne. 9. Jeżeli po zakończeniu realizacji transakcji pakietu danych wystąpi błąd, to wyjścia „DN” i „ERR” będą aktywne. 10. Jeżeli po zakończeniu realizacji transakcji pakietu danych nie wystąpi błąd, to wyjście „DN” będzie aktywne.
Sygnały z interfejsu Przekaźniki i rejestry dedykowane do konkretnych portów :
1. Wskaźnik gotowości portu:Sygnał jest generowany w CPU. WŁ, port jest wolny i gotowy. WYŁ, port jest zajęty; transakcja danych w toku. 2. Wskaźnik zakończenia portu : Sygnał jest generowany w CPU. Kiedy program komunikacyjny zakończy realizację transakcji ostatniego pakietu danych, to wskaźnik ten będzie aktywny przez czas jednego skanowania (dla kolejnej transakcji danych). Po zakończeniu realizacji ostatniego pakietu danych przez program komunikacyjny, sygnał ten będzie wciąż aktywny (dla transmisji jednego pakietu danych). 3. Parametry komunikacyjne portu : Ustawienia parametrów komunikacyjnych portu (patrz rozdział o ustawieniach parametrów komunikacyjnych) 4. Opóźnienie TX i przerwa RX Zawartość młodszego bajtu definiuje czas przerwy w odbiorze instrukcji CLINK; jednostką jest 0,01 sekundy (wartość domyślna to 50, co oznacza 0,5 sekundy). Instrukcja CLINK wykorzystuje funkcję czasu przerwy w odbiorze w celu oceny aktywności stacji slave. W przypadku łączenia wielopunktowego należy prawidłowo ustawić tę wartość (musi być ona większa niż czas 1 skanowania stacji slave o najdłuższym czasie skanowania) w celu skrócenia czasu reakcji wśród aktywnych stacji w przypadku wielu nieaktywnych stacji slave (przerwy). Zawartość starszego bajtu definiuje czas przerwy w transmisji pomiędzy dwoma pakietami danych przy zastosowaniu instrukcji CLINK; jednostką jest 0,01 sekundy (wartość domyślna to 0). 5. Ustawianie czasu przerwy RX D4043:
D4043:Ustawienie jednostki czasu na 0,01 lub 0,1 sekundy dla wykrycia przerwy RX
Jeżeli starszy bajt D4043 ≠56H (kod szesnastkowy), to jednostką czasu jest 0,01 sekundy. Jeżeli starszy bajt D4043 = 56H (kod szesnastkowy), to jednostkę czasu określa młodszy bajt D4043; b1=0, jednostka timera przerwy = 0,01 sekundy (Port 1) b2=0, jednostka timera przerwy = 0,01 sekundy (Port 2) =1, jednostka timera przerwy =0,1 sekundy (Port 2) b3=0, jednostka timera przerwy =0,01 sekundy (Port 3) =1, jednostka timera przerwy =0,1 sekundy (Port 3) b4=0, jednostka timera przerwy =0,01 sekundy (Port 4)
Na przykład, jeżeli D4043=560AH, oznacza to, że jednostką czasu dla portu 1 i 3 jest 0,1 sekundy i 0,01 sekundy dla portu 2 i 4 Jeżeli młodszy bajt R4147=50, oznacza to, że port 1 ma 5 sekund na wykrycie przerwy RX; Jeżeli młodszy bajt R4159=50, oznacza to, że port 2 ma 0,5 sekundy na wykrycie przerwy RX;
6. Wzbudzenie zbocza D4044: Starszy bajt D4044=00H Młodszy bajt D4044: Ustawienia mające na celu zwiększenie efektywności komunikacji
Jeżeli starszy bajt D4044=00H (kod szesnastkowy), to młodszy bajt D4044 określa port komunikacyjny; b1=0, Minimum 3 czasy skanowania do realizacji jednej transakcji danych (Port 1) b2=0, identycznie jak w przypadku b1=0 (Port 2) b3=0, identycznie jak w przypadku b1=0 (Port 3) b4=0, Port 4 identycznie jak w przypadku b1=0 (Port 4) =1, Port 4 identycznie jak w przypadku b1=1 (Port 4) Na przykład, jeżeli D4044=0006H, oznacza to, że do realizacji transakcji danych przez port 1 i 2 wymagane są minimum 2 czasy skanowania i 3 czasy skanowania w przypadku portu 3 i 4.
Starszy bajt D4044=56H D4044:Ustawienie jednego wzbudzenia zbocza w celu zrealizowania transakcji danych lub wzbudzenia tylko jednego zbocza w celu ciągłej realizacji transakcji.
Jeżeli starszy bajt D4044≠56H(kod szesnastkowy), do realizacji jednej transakcji danych wymagane jest wzbudzenie tylko jednego zbocza. Jeżeli starszy bajt D4044=56H(kod szesnastkowy), to młodszy bajt D4044 port określa port komunikacyjny; b1=0, jedne wzbudzenie zbocza wymagane do realizacji jednej transakcji (Port 1) b2=0, identycznie jak w przypadku b1=0 (Port 2) b3=0 identycznie jak w przypadku b1=0 (Port 3) =1, identycznie jak w przypadku b1=1 (Port 3) b4=0, identycznie jak w przypadku b1=0 (Port 4) Na przykład, jeżeli D4044=5618H, oznacza to, że do realizacji transakcji danych przez port 1 i 2 wymagane jest jedno wzbudzenie zbocza i tylko jedno wzbudzenie zbocza w przypadku portu 3 i 4.
l WR+0 i WR+1 instrukcji komunikacyjnej informują o wyniku komunikacji przy każdej transakcji danych w przypadku, gdy do realizacji jednej transakcji wymagane jest wzbudzenie jednego zbocza. l W przypadku tylko jednego wzbudzenia zbocza wymaganego do realizacji transakcji danych, wyniki komunikacji wskazywane będą przez rejestry: D4045 i D4046 : Wynik komunikacji przez Port 1 (jak w przypadku WR+0 i WR+1 powyżej) D4047 i D4048 : Wynik komunikacji przez Port 2 (jak w przypadku WR+0 i WR+1 powyżej) D4049 i D4050 : Wynik komunikacji przez Port 3 (jak w przypadku WR+0 i WR+1 powyżej) D4051 i D4052 : Wynik komunikacji przez Port 4 (jak w przypadku WR+0 i WR+1 powyżej) Jeżeli użytkownik zechce zatrzymać proces realizacji transakcji danych należy uaktywnić wyjście ABT.
Program próbny do jednego wzbudzenia zbocza w celu realizacji transakcji danych
Przebiegi sygnałów wejściowych i wyjściowych
Uwaga 1. Jeżeli jedna transakcja zakończy się bez błędu, to tylko wyjście DN będzie aktywne. 2. Jeżeli jedna transakcja zakończy się z błędem, to wyjścia ERR i DN będą aktywne. 3. M1961/M1963/M1937/M1939 będą aktywne przez czas jednego skanu do momentu, aż zakończy się transakcja jednego pakietu
Program do wzbudzenia tylko jednego zbocza i ciągłej realizacji transakcji i danych
Przebiegi sygnałów wejściowych i wyjściowych
Edycja tabeli komunikacyjnej za pomocą WinProladder
W oknie projektu wybrać opcję „Link Table”:
● Table Type : Dla MD0 wybrać „Normal Link Table”. ; Dla MD3 wybrać „High Speed Link Table”. ● Table Name : Nazwa tabeli dla edycji lub debugowania. ● Table Starting address : Adres początkowego rejestru tabeli komunikacyjnej do zapisu listy wymiany danych.
※ W celu ułatwienia edycji, odczytu i obsługi programu komunikacyjnego rozdzieliliśmy funkcje na FUN150 i FUN151. Po wybraniu FUN150 lub FUN151 i naciśnięciu przycisku „Z” pojawi się okno „Table Edit”, w którym użytkownik może edytować tabelę komunikacyjną
Opis argumentu SR SR:Początkowy rejestr programu komunikacyjnego instrukcji CLINK
Typ danych, kod i nr referencyjny master/slave
Uwaga : Typ danych dla stacji master i slave musi być konsekwentny, to znaczy, że jeżeli wartość dla stacji master będzie liczbą z zakresu od 0 do 5, to wartość dla stacji slave musi być także liczbą z zakresu od 0 do 5; natomiast jeżeli wartość dla stacji master będzie liczbą z zakresu od 6 do 13, to wartość dla stacji slave musi być także liczbą z zakresu od 6 do 13
Operand opis argumentu WR dla FUN 151: MD0
● W celu ułatwienia programowania i rozwiązywania błędów, WInProladder obsługuje środowisko do edycji tabeli komunikacyjnej instrukcji FUN151; Aby przejść do trybu edycji tabel należy najpierw wprowadzić całą instrukcję FUN151, a następnie przesunąć kursor na pozycję tej funkcji i nacisnąć przycisk „Z”. Użytkownik może stworzyć tu nową tabelę komunikacyjną lub wyświetlić istniejącą tabelę posługując się interfejsem przyjaznym dla użytkownika.
Tabela komunikacyjna dla FUN151: MD0
Przykład programu Jeżeli M1/M2/M3/M4 = WŁ, a odpowiedni port nie jest zajęty przez żadną inną instrukcję komunikacyjną (M1960, M1962, M1936, M1938 = ON), to instrukcja CLINK rozpocznie realizację transakcji danych. W trakcje realizacji transakcji danych M1960, M1962, M1936, M1938 = WYŁ. Po zakończeniu realizacji M1960, M1962, M1936, M1938 = WYŁ. Zmiana M1960, M1962, M1936,M1938 z WYŁ ↔ WŁ (wejście sterujące „ENU” FUN151) może automatycznie rozpocząć transakcję kolejnego pakietu danych (po zakończeniu ostatniej transakcji program powróci do pierwszego pakietu w celu realizacji automatycznej transmisji cyklicznej). ● Wskaźniki wyjściowe : „ACT” WŁ:Transakcja w toku „ERR” WŁ:Wystąpił błąd (patrz kod wyniku) „DN” WŁ:Zakończono jedną transakcję
Przebiegi sygnałów wejściowych i wyjściowych
Uwaga:
|
||
| FUN 151 CLINK |
Instrukcja FUN151: MD1 (PLC pracuje jako stacja wysyłająca za pośrednictwem portu 1~4) |
FUN 151 CLINK |
|
Opis
1. FUN151:MD1 sprawia, że PLC pracuje jako urządzenie nadawcze w komunikacji z inteligentnymi urządzeniami peryferyjnymi wyposażonymi w interfejs komunikacyjny. 2. Stacja master PLC może łączyć się z urządzeniami peryferyjnymi wyposażonymi w identyczny protokół komunikacyjny za pośrednictwem interfejsu RS-485. 3. Protokół/format komunikacyjny zapisywany jest za pomocą programu DRABINKOWEGO, który musi być zgodny z połączonymi urządzeniami peryferyjnymi. 4. Jeżeli „EN” zmieni się z 0→1, status na obydwu wejściach „PAU” i „ABT” będzie 0, a port 1/2/3/4 nie był zajęty przez inne instrukcje komunikacyjne [tj. M1960 (Port1)/M1962 (Port2)/M1936 (Port3)/M1938 (Port4) = 1], to instrukcja ta niezwłocznie przejmie kontrolę nad portem 1/2/3/43 i ustawi status M1960/M1962/M1936/M1938 na 0 (co oznaczać będzie zajętość portu), a następnie przejdzie do realizacji transakcji danych. W przypadku, gdy port 1/2/3/4 był już zajęty (M1960/M1962/M1936/M1938 = 0), to instrukcja przejdzie w stan oczekiwania i pozostanie w nim do momentu aż instrukcja komunikacyjna sterująca portami zakończy realizację transakcji lub zatrzyma / porzuci swoje zadanie i zwolni prawa do kontroli (M1960,/M1962,/M1936/M1938 =1). Opisywana instrukcja przejmie sterowanie, ustawi status M1960/M1962/M1936/M1938 na 0 i niezwłocznie przejdzie do realizacji transakcji danych. 5. Jeżeli podczas realizacji transakcji status wejścia „PAU” zmieni się na 1, to instrukcja ta po zakończeniu transmisji aktualnie przesyłanych danych zatrzyma wykonywane zadanie i zwolni prawa do kontroli portu (ustawi M1960/M1962/M1936/M1938 na 1). 6. Jeżeli podczas realizacji transakcji status wejścia „ABT” zmieni się na 1, to instrukcja ta zakończy transmisje danych i niezwłocznie zwolni prawa do kontroli portów (ustawi M1960/M1962/M1936/M1938 na 1). 7. W trakcie realizacji transakcji, wejście „ACT” będzie aktywne. 8. Jeżeli po zakończeniu realizacji transakcji pakietu danych (zakończona transmisja lub zakończone zadanie „wyślij i odbierz”) pojawi się błąd, to wyjścia „DN” i „ERR” będą aktywne. 9. Jeżeli po zakończeniu realizacji transakcji pakietu danych (zakończona transmisja lub zakończone zadanie „wyślij i odbierz”) nie pojawi się żaden błąd, to wyjście „DN” będzie aktywne. Sygnały z interfejsu Przekaźniki i rejestry dedykowane do portu :
1. Wskaźnik gotowości portu:Sygnał jest generowany w CPU. WŁ, port jest wolny i gotowy. WYŁ, port jest zajęty; transakcja danych w toku. 2. Wskaźnik zakończenia portu:Sygnał jest generowany w CPU. WŁ, transakcja danych została zakończona. 3. Parametry komunikacyjne portu : Ustawienia parametrów komunikacyjnych portu (patrz rozdział o ustawieniach parametrów komunikacyjnych) 4. Opóźnienie TX i przerwa RX: Zawartość młodszego bajtu definiuje czas przerwy w odbiorze instrukcji CLINK; jednostką jest 0,01 sekundy (wartość domyślna to 50, co oznacza 0,5 sekundy). Instrukcja CLINK wykorzystuje funkcję czasu przerwy w odbiorze w celu oceny aktywności stacji slave. Jeżeli po wysłaniu komendy odczytu / zapisu z PLC do stacji slave, stacja slave nie odpowie w przeciągu czasu określonego tym parametrem, to oznacza to, że podczas komunikacji zaistniała przerwa. W przypadku łączenia wielopunktowego należy prawidłowo ustawić tę wartość (musi być ona większa niż czas 1 skanowania stacji slave o najdłuższym czasie skanowania) w celu skrócenia czasu reakcji wśród aktywnych stacji w przypadku wielu nieaktywnych stacji slave (przerwy). Zawartość starszego bajtu jest nieważna w tym trybie. 5. Ustawienia czasu przerwy RX: Szczegóły w niniejszym rozdziale, strona 13-4~13-5 6. Wzbudzenie zbocza: Szczegóły w niniejszym rozdziale, strona 13-5~13-6.
※ Jeżeli komunikat zostanie odebrany bez kodu końcowego i M1956=1, to do określenia tego czy dane zostały odebrane wykorzystywany jest starszy bajt R4148 czasu przerwy; jednostką jest 0,001 sekundy (domyślnie 0CH, 12ms).
Test pętli zwrotnej na przykładzie programu
Stacja A PLC wysyła dane do stacji B PLC (stacja B PLC odsyła odebrane dane z powrotem do stacji A – test pętli zwrotnej) i sprawdza czy odpowiedź ze stacji B jest tożsama z wysłanymi danymi. W ten sposób, za pomocą prostego testu można zbadać, czy sprzęt i oprogramowanie portu 1 PLC działa prawidłowo czy błędnie
· Program przetwarzający odebrane dane. · Szczegóły dotyczące odebranych danych znajdują się na następnej stronie.
Opis argumentu SR dla FUN151: MD1
SR:Początkowy rejestr tabeli transmisji danych
Uwaga 1 : W przypadku wybrania trybu „wyślij”, początkowy/końcowy kod odbioru jest nieistotny. 2 : Przed rozpoczęciem transmisji danych w trybie „wyślij i odbierz” program musi najpierw określić początkowy i końcowy kod wiadomości zwrotnej i zapisać go w rejestrze kodów początkowych/końcowych (np.: SR+1=0203H, 02H jest kodem końcowym a 03H kodem początkowym) w celu zapewnienia prawidłowego odbioru danych. Protokół komunikacyjny z początkowym/końcowym kodem ułatwia identyfikację każdego pakietu i sprawia, że program komunikacyjny jest prosty i wydajny. 3 : Kiedy układ jest w trybie „wyślij i odbierz”, a wiadomość zwrotna nie zawierała początkowego kodu, program wypełnia starszy bajt rejestru początkowych/końcowych kodów zerami. Program także ustawi starszy bajt R4148 (czas pomiędzy wykrywaniem poszczególnych wiadomości) w celu sprawdzenia czy pakiet danych został odebrany w całości; jednostką jest 0,001 sekundy (domyślnie 0CH, 12ms) Opis argumentu WR dla FUN 151: MD1
Kod wyniku : 0, transakcja zakończona pomyślnie. 2, błąd długości danych (wartość wynosi 0, lub pakiet transakcji wynosi ponad 511) A, brak odpowiedzi ze stacji slave B, nieprawidłowa komunikacja (błąd odbioru danych) ● Wskazanie na wyjściu : „ACT” WŁ:Transakcja w toku „ERR” WŁ:Wystąpił błąd „DN” WŁ:Zakończono jedną transakcję |
||
| FUN 151 CLINK |
Instrukcja FUN151: MD2 (PLC pracuje jako stacja odbierająca za pośrednictwem portu 1~4) |
FUN 151 CLINK |
|
Opis
1. FUN151 : MD2 sprawia, że PLC może w każdej chwili odbierać wiadomości wysyłane przez urządzenia peryferyjne wyposażone w interfejs komunikacyjny. 2. Protokół komunikacyjny zapisywany jest za pomocą programu DRABINKOWEGO, który musi być zgodny z połączonymi urządzeniami peryferyjnymi. 3. Jeżeli „EN” zmieni się z 0→1, status na obydwu wejściach „PAU” i „ABT” będzie 0, a port 1/2/3/4 nie był zajęty przez inne instrukcje komunikacyjne [tj. M1960 (Port1)/M1962 (Port2)/M1936 (Port3)/M1938 (Port4) = 1], to instrukcja ta niezwłocznie przejmie kontrolę nad portem 1/2/3/43 i ustawi status M1960/M1962/M1936/M1938 na 0 (co oznaczać będzie zajętość portu). W przypadku, gdy port 1/2/3/4 był już zajęty (M1960/M1962/M1936/M1938 = 0), to instrukcja przejdzie w stan oczekiwania i pozostanie w nim do momentu aż instrukcja komunikacyjna sterująca portami zakończy realizację transakcji lub zatrzyma/porzuci swoje zadanie i zwolni prawa do kontroli. 4. Jeżeli podczas realizacji transakcji status wejścia „PAU” zmieni się na 1, to instrukcja ta niezwłocznie porzuci operację odbierania (ustawi M1960/M1962/M1936/M1938 na 1). 5. W trakcie odbierania wejście „ACT” będzie aktywne 6. Jeżeli po zakończeniu realizacji transakcji pakietu danych (zakończona transmisja lub zakończone zadanie „wyślij i odbierz”) pojawi się błąd, to wyjścia „DN” i „ERR” będą aktywne przez czas jednego skanu. 7. Jeżeli po zakończeniu realizacji transakcji pakietu danych (zakończona transmisja lub zakończone zadanie „wyślij i odbierz”) nie pojawi się żaden błąd, to wyjście „DN” będzie aktywne.
Sygnały z interfejsu Przekaźniki i rejestry dedykowane do portu:
1. Wskaźnik gotowości portu: Sygnał jest generowany w CPU. WŁ, port jest wolny i gotowy. WYŁ, port jest zajęty; transakcja danych w toku. 2. Wskaźnik zakończenia portu:Sygnał jest generowany w CPU. WŁ, transakcja danych została zakończona. 3. Parametry komunikacyjne portu: Rejestr przeznaczony jest do ustawień parametrów komunikacyjnych portu (patrz rozdział dotyczący ustawień parametrów komunikacyjnych). 4. Opóźnienie TX i przerwa RX: Młodszy bajt określa długość przerwy dla instrukcji FUN151:MD2; jednostką jest 0,01 sekundy (domyślnie 32H). Kiedy PLC odbierze wiadomość, na którą musi odpowiedzieć (tryb „odbierz i wyślij”), a program DRABINKOWY nie będzie w stanie przetworzyć i odesłać wiadomość przez czas określony tym parametrem, to CPU zaniecha odpowiedzi i automatycznie powróci do stanu odbierania. Jeżeli FUN151:MD2 będzie w trybie „odbierz”, wartość ta będzie bez znaczenia.. Zawartość starszego bajtu jest nieważna w tym trybie.
Uwaga 1 : Po aktywacji FUN151 : MD2, pozostanie ona przez cały czas w trybie odbierania; po aktywacji wejścia „PAU” lub „ABT” instrukcja wyjdzie z trybu odbierania i przejdzie w tryb oczekiwania. 2 : W przypadku zmiany początkowego/końcowego kodu odbioru, aby rozpocząć odbiór wiadomości należy aktywować sygnał na wejściu „PAU” lub „ABT” i zmienić status na wejściu sterującym „EN” z 0→1.
Test pętli zwrotnej na przykładzie programu (Stacja PLC odsyła odebrane dane do stacji master, z której zostały wysłane dane) Opis argumentu SR dla FUN151: MD2
Uwaga 1 : W przypadku wybrania trybu „odbierz”, CPU zapisuje odebrane dane w rejestrach, ustawia długość po odebraniu pakietu danych i niezwłocznie rozpoczyna odbiór kolejnego pakietu. 2 : W przypadku wybrania trybu „odbierz i wyślij”, CPU zapisuje odebrane dane w rejestrach i ustawia długość po odebraniu pakietu danych. Następnie rozpoczyna oczekiwanie na długość danych zwrotnych (która nie może być zerem) w celu rozpoczęcia transmisji (dlatego też w przypadku wybrania tego trybu, program musi wyzerować długość danych przed całkowitym zapisem danych zwrotnych w rejestrach; po zakończeniu zapisywania danych zwrotnych program może ustawić ich długość). 3 : Przed rozpoczęciem odbioru program musi zapisać początkowy i końcowy kod do rejestru początkowego/końcowego kodu (np.: SR+1=0A0DH, 0AH jest początkowym kodem, a 0DH jest końcowym kodem), aby uniknąć błędu odbioru. Protokół komunikacyjny z początkowym/końcowym kodem ułatwia identyfikację każdego pakietu i sprawia, że program komunikacyjny jest prosty i wydajny. 4 : W przypadku odbioru wiadomości bez początkowego kodu, program zapisze starszy bajt początkowego/końcowego kodu jako 0; w przypadku odbioru wiadomości bez końcowego kodu program zapisze młodszy bajt początkowego/końcowego kodu jako 0. Program także ustawi starszy bajt R4148 (czas pomiędzy wykrywaniem nowych wiadomości) w celu sprawdzenia czy pakiet danych został odebrany w całości; jednostką jest 0,001 sekundy (domyślnie 0CH, 12ms). Protokół komunikacyjny bez końcowego kodu zależy od czasu pomiędzy wykrywaniem nowych wiadomości, który służy do oceny, czy odebrany został kompletny pakiet danych (czas ten musi być większy od maksymalnego opóźnienia pomiędzy bajtami przy odpowiedzi), co umożliwia zakończenie zadania dopiero po odebraniu całego pakietu. Mówiąc ogólnie, dane są wysyłane bajt po bajcie, a co za tym idzie, pomiędzy poszczególnymi bajtami pojawiają się przerwy (większe od czasu pomiędzy wykrywaniem poszczególnych wiadomości) oznaczające, że transmisja pakietu danych przebiegła pomyślnie. 5 : Jeżeli trybie „odbierz” odbierana wiadomość nie ma końcowego kodu, to czas pomiędzy każdym wysłanym pakietem danych musi być dłuższy niż czas pomiędzy wykrywaniem nowych wiadomości. W innym wypadku odbiorca nie będzie w stanie prawidłowo rozróżnić pakietów danych. Opis argumentu WR dla FUN151: MD2
Uwaga : Po odebraniu pakietu danych przez CPU, program zapisze je w rejestrach i ustawi długość odebranych danych. Przed rozpoczęciem odbioru przez program DRABINKOWY, użytkownik może wyzerować długość odebranych danych. Umożliwi to wykrycie odbioru nowego pakietu danych w momencie, gdy długość odbieranych danych przestanie być równa zero. Program DRABINKOWY po odebraniu danych zeruje długość danych w rejestrze. Kontrola długości odebranych danych pozwala w ten sposób zorientować się, że program rozpoczął odbieranie nowego pakietu. Kod wyniku : 0, transakcja zakończona pomyślnie. 2, błąd długości danych (wartość wynosi 0, lub pakiet transakcji wynosi ponad 511) A, nie można odesłać danych w zadanym czasie przerwy (dla trybu „odbierz i wyślij”). B, nieprawidłowa komunikacja (błąd odbioru danych)
Wskazanie na wyjściu : „ACT” WŁ : Odbieranie w toku „ERR” WŁ : Podczas transakcji poprzedniego pakietu wystąpił błąd, wyjście będzie aktywne przez czas skanu. „DN” WŁ : Poprzednia transakcja zakończyła się bez błędu, wyjście będzie aktywne przez czas skanu. |
||
| FUN 151 CLINK | Instrukcja FUN151: MD3 (PLC pracuje jako stacja master w „Szybkiej sieci FATEK CPU” za pośrednictwem portu 2) |
FUN 151 CLINK | ||||||||||||||||
|
Opis
1. FUN151 : MD3, umożliwia szybką transmisję danych pomiędzy urządzeniami Fatek PLC (czas odpowiedzi nie będzie uzależniony od czasu skanu PLC). 2. Stacja master PLC może łączyć się z maks. 254 stacjami slave PLC w celu realizacji transmisji danych za pośrednictwem portu RS-485. 3. FUN151 : MD3 wymagana jest tylko przez stację master PLC. 4. Numerem stacji master PLC musi być 1. W innym przypadku (jeżeli numer jest inny niż 1, ale stacja musi być stacją master) stację należy przypisać do rejestru R4054. 5. M1958 dla stacji slave PLC musi być WŁ (M1958 WYŁ tylko dla połączeń innych niż szybkie). Jest to bez znaczenia dla stacji master PLC. 6. Maksymalna prędkość transmisji przy szybkim łączeniu wynosi 921,6 kbps, a minimalna 38,4 kbps (z możliwością regulacji). Liczba bitów danych jest stała i wynosi 8 bitów. Dane przesyłane są w postaci kodu binarnego (który jest dwa razy szybszy od kodu ASCII), a kontrola błędu odbywa się przy wykorzystaniu CRC-16, co jest bardziej niezawodne niż metoda sumy kontrolnej. 7. Metoda szybkiej transmisji danych opiera się na koncepcji WSPÓLNEJ PAMIĘCI DANYCH, np.: gdy stacja master PLC wysyła zawartość R0 do R31, to zawartość R0~R31 dla wszystkich stacji slave PLC będą identyczne jak w przypadku stacji master; gdy stacja slave PLC 2 wysyła zawartość R32~R47, to zawartość R32~R47 stacji master PLC i innych stacji slave PLC będzie identyczny jak w przypadku stacji PLC nr 2, itd. 8. Kiedy PLC jest w trybie STOP, port 2 wchodzi w tryb interfejsu standardowego umożliwiającego połączenie z WinProladder, MMI lub kontrolerem graficznym (parametr komunikacyjny ustawiany jest przez R4158). 9. Instrukcja obsługuje metodę kodowania programu lub wypełniania tabeli do sterowania przepływem danych, tj.: tym, jaki rodzaj danych zostanie wysłany z danej stacji PLC do wszystkich aktywnych stacji PLC. Definicja wymaga jedynie 7 rejestrów (5 wykorzystywanych fizycznie i 2 zarezerwowane); każde 7 rejestrów definiuje jedną transakcję komunikacyjną. 10. Jeżeli „EN” zmieni się z 0→1, a status na obu wyjściach „PAU” i „ABT” będzie 0, to instrukcja ta przejmie kontrolę nad portem 2, ustawi M1962 na „0” (kontrolowany) i niezwłocznie przejdzie do realizacji transakcji danych (przy założeniu, że port 2 nie jest kontrolowany przez żadną inną instrukcje komunikacyjną; M1962=1). W przypadku, gdy port 2 jest kontrolowany (M1962=0), instrukcja ta przejdzie w stan oczekiwania i pozostanie w nim do chwili, aż instrukcja zakończy transmisję lub zatrzyma/porzuci realizowaną operację w celu zwolnienia praw do kontroli (M1962=1); następnie instrukcja rozpocznie transakcję danych i ustawi M1962 na „0”. 11. Jeżeli „PAU” lub „ABT” = 1, instrukcja niezwłocznie zerwie szybkie połączenie danych (M1962 = WŁ). 12. W trakcie szybkiego łączenia, wyjście „ACT” jest aktywne.; port 2 jest zajęty. 13. Jeżeli przy rozpoczęciu realizacji szybkiego połączenia pojawi się błąd, to wyjście „ERR” będzie aktywne i nie dojdzie do szybkiego połączenia.
Sygnały z interfejsu:
M1958 : Podczas szybkiej transmisji danych, stacja slave PLC musi ustawić M1958 na WŁ (nie jest to wymagane w przypadku stacji master PLC). M1962 : Sygnał jest generowany z CPU. M1963 : Sygnał jest generowany z CPU. Kiedy M1967 jest WŁ (sygnał jest sterowany przez program użytkownika) i zakończyła się transakcja ostatniego pakietu danych, to CPU ustawi M1962 i M1963 na WŁ, a szybka transmisja danych zostanie zatrzymana. Przed ponownym uruchomieniem szybkiego połączenia, instrukcja musi przełączyć wejście „ABT” (przerwij transmisję) na WŁ, a następni zmienić status wejścia sterującego „EN” z 0→1. Kiedy M1967 będzie WYŁ (sygnał jest sterowany przez program użytkownika), to po zakończeniu realizacji transakcji ostatniego pakietu danych nastąpi automatyczne rozpoczęcie ponownej realizacji transakcji pierwszego pakietu danych (M1962 i M1963 w stanie WYŁ). M1967 : Sterowanie jednokrotne lub cykliczne (za pomocą programu użytkownika) WŁ, jeden cykl, który zakończy się po całkowitym zakończeniu realizacji transakcji pakietu danych. WYŁ, wiele cykli; po zakończeniu realizacji transakcji ostatniego pakietu danych rozpocznie się realizacja pierwszego pakietu. R4054 : Stacja PLC (ale nie nr 1) pracuje jako stacja master przy realizacji szybkiego połączenia.
Jeżeli numerem stacji PLC nie jest 1, to instrukcja zapisze numer stacji (który jest przechowywany w młodszym bajcie R4055) w młodszym bajcie R4054, zapisze 55H w starszym bajcie R4054 i zmieni status na wejściu sterującym „EN” z from 0→1; mimo, że stacja PLC nie jest numerem 1, to może być ona stacją master przy realizacji szybkiego połączenia. R4055 : Jeżeli starszym bajtem R4055 nie jest 55H, to młodszy bajt R4055 określa numer stacji PLC. Jeżeli starszym bajtem R4055 jest 55H, to młodszy bajt R4055 określa numer stacji PLC. R4058 : Program lub tabela do realizacji transakcji danych musi uwzględniać przypadek, kiedy to stacja slave wyśle dane do innych stacji, a stacja master PLC bezbłędnie wykryje czy stacja slave jest aktywna. W przypadku, gdy w programie lub do realizacji transakcji danych istnieje tylko jedna stacja master wysyłająca dane do stacji slave, to stacja master PLC nie ma możliwości bezbłędnego wykrycia czy stacja slave jest aktywna. W celu zastosowania programu do kontroli nieprawidłowego działania stacji master i slave PLC, użytkownik musi wykazać się umiejętnością programowania (sam program jest bardzo prosty; wywołuje on sygnał zmiany WŁ ↔ WYŁ generowany przez stację PLC wysyłającą dane. Jeżeli w zadanym okresie czasu stacja odbiorcza PLC nie wykryje sygnału zmiany WŁ ↔ WYŁ, oznacza to, że nastąpił błąd w komunikacji). R4059 : Logowanie błędu nieprawidłowo działającej stacji slave PLC podczas realizacji szybkiego połączenia.
Młodszy bajt : Nieprawidłowa suma wartości Starszy bajt : Nieprawidłowy kod OAH, Brak odpowiedzi ze stacji slave OBH, Błąd danych 01H, Błąd ramkowania 02H, Błąd przekroczenia zakresu 04H, Błąd parzystości 08H, Błąd CRC Opis metody kontroli nieprawidłowej komunikacji jest taki sam, jak w przypadku R4058. R4160 : Czas przerwy na porcie 2 Rx/Tx (przy realizacji szybkiego połączenia). Do ustalenia odpowiedniej nastawy system będzie się opierać na parametrze komunikacyjnym. W przypadku, gdy starszym bajtem R4160 nie będzie 56H, to użytkownik nie musi wykonywać żadnych ustawień. Jeżeli natomiast starszym bajtem R4160 jest 56H, to młodszy bajt R4160 będzie zarezerwowany do ustawień ręcznych. R4161 : Rejestr parametrów komunikacyjnych dla realizacji szybkiego połączenia za pośrednictwem portu 2. Przykład programu 1 (PLC nr 1 pracuje jako stacja master przy realizacji szybkiego połączenia)
Przykład programu 2 (PLC o nr innym niż 1 pracuje jako stacja master przy realizacji szybkiego połączenia)
Przykład programu 3 Te same zestawy urządzeń lub sprzęty (z tym samym programem DRABINKOWYM) realizują wielopunktowe gromadzenie danych lub sterowanie za pomocą szybkiego połączenia przez RS-485. Zasada szybkiej transmisji danych opiera się na zasadzie WSPÓLNEJ PAMIĘCI DANYCH. Przy projektowaniu połączenia należy uwzględnić blok danych i rozdzielić dane równo pomiędzy odpowiednie stacje PLC, np.: R1000~R1031: Blok danych dla PLC nr 1 (poprzez szybkie połączenie, zawartość R1000~R1031 w innych stacjach PLC staje się identyczna jak w przypadku PLC nr 1). R1032~R1063: : Blok danych dla PLC nr 2 (poprzez szybkie połączenie, zawartośćR1032~R1063 w innych stacjach PLC staje się identyczna jak w przypadku PLC nr 2). · · · · · · Na przykład, program zbiera dane produkcyjne (zapisane w R0~R31) z każdego zestawu maszyn oraz dane z R1000~R1639 (przy założeniu, że połączonych jest 20 zestawów) zapisane w stacji master PLC za pomocą szybkiego połączenia. Do monitorowania i zapisywania w czasie rzeczywistym danych produkcyjnych danej maszyny wymagana jest jedynie stacja master PLC podłączona do MMI lub graficznego kontrolera. Uwaga : Jeżeli oprócz gromadzenia i monitorowania danych nie jest wymagane sterowanie w czasie rzeczywistym, wystarczy wykorzystać instrukcję FUN151:MD0; jeżeli natomiast wymagane jest sterowanie szybkie i precyzyjne, należy skorzystać z instrukcji FUN151:MD3.
Opis argumentu SR dla FUN 151: MD3 SR: Początkowy rejestr programu komunikacyjnego instrukcji CLINK
Opis argumentu WR dla FUN151 MD3
● W celu ułatwienia programowania i rozwiązywania błędów, WInProladder obsługuje środowisko do edycji tabeli komunikacyjnej instrukcji FUN151; Aby przejść do trybu edycji tabel, należy najpierw wprowadzić całą instrukcję FUN151, a następnie przesunąć kursor na pozycję tej funkcji i nacisnąć przycisk „Z”. Użytkownik może stworzyć tu nową tabelę komunikacyjną lub wyświetlić istniejącą tabelę posługując się interfejsem przyjaznym dla użytkownika.
Tabela komunikacyjna dla FUN 151: MD3
※ Dla FUN151:MD 3 ważny jest tylko port 2.
● PLC można połączyć z MODEMEM przez port komunikacyjny 1 oraz za pomocą sieci telekomunikacyjnej w celu wymiany informacji pomiędzy modemem a mobilnym PLC. Połączenie realizuje się w następujący sposób: .Automatyczne zebranie danych z punktu końcowego. .Automatyczne powiadamianie o sytuacjach alarmowych i nieprawidłowościach. .Zastosowanie dostępnego oprogramowania urządzenia kontrolnego lub MMI itp. w celu stworzenia automatycznego systemu monitorującego opartego na sieci o szerokim zakresie. Rozwiązanie takie nie wymaga specjalnego projektowania w celu zmniejszenia ryzyka i limitów czasowych. ● Konfiguracja sprzętowa i ustawienia :
Zbieranie danych PLC : .Nie ma potrzeby zapisywania nr telefonu w CPU .Starszy bajt R4149 = 55H (funkcja MODEMU) Odpowiedź PLC : .Starszy bajt R4149 = 55H (funkcja MODEMU) .R4140〜R4145 ustala numer telefonu do zbierania danych PLC (dozwolona funkcja numerów wewnętrznych). np.: jeżeli numer telefonu to 02-28082192, to R4140=8220H, R4141=1280H i R4142=0E29H
Jeżeli numer telefonu to : 02-28082192 wew. 100, to R4140=2A20H, R4141=2808H, R4142=A291H, R4143=AAAAH, R4144=001AH, R4145=000EH. .Wyjaśnienie: R4140〜R4145 jest rejestrem do zapisu numerów telefonu; „E” jest ostatnim znakiem numeru; „A” jest znakiem opóźnienia wybierania (zazwyczaj wybieranie numeru wewnętrznego lub międzynarodowego jest możliwe przy wykorzystaniu opóźnienia wybierania; czas opóźnienia określany jest ustawieniem MODEMU i wynosi ok. 2 sekund). „B” for oznacza „#”, a „C” oznacza „*”. .Program wykorzystuje instrukcję CLINK (FUN151:MD0) do zapisania lub odczytania danych z PLC do gromadzenia danych ogólnych (patrz przewodnik po instrukcji FUN151:MD0). *** Maksymalna prędkość transmisji może osiągnąć 115200 bps (oba końcowe punkty komunikacyjne powinny być odpowiednie). .Parametry komunikacyjne muszą być 8-bitowe, a dla większości modemów lepszym rozwiązaniem jest nieparzystość
Połączenia portu komunikacyjnego 1 PLC i MODEMU:
Wybieranie sygnału przez MODEM
M1959 : WYŁ, wybieranie „tonowe” ; WŁ, wybieranie „impulsowe” M1964 : WYŁ→WŁ, połącz ; WŁ→WYŁ, rozłącz R4163 : Młodszy bajt R4163 jest wykorzystywany do sterowania zastosowaniem instrukcji X w trakcie wybierania numeru przez MODEM.
Uwaga 1 : Spośród M1965 i M1966, tylko jeden będzie aktywny; oba nie mogą być aktywne jednocześnie. 2 : Czas oczekiwania na połączenie wynosi 1 minutę; w przypadku, gdy połączenie jest niemożliwe nastąpi dwukrotne ponowienie próby połączenia (łącznie 3 próby). W przypadku, gdy wszystkie próby się nie powiodą, to CPU ustawi status M1966 na WŁ (połączenie nieudane). 3 : W przypadku niestabilnej jakości połączenia i ryzyka rozłączenia, użytkownik może wykorzystać funkcję wykrywania instrukcji CLINK w celu sterowania ponownymi próbami połączenia M1964 (czas opóźnienia musi wynosić ponad 10 sekund). 4 : Kiedy tryb PLC zmieni się z URUCHOM na STOP, CPU automatycznie zmieni tryb MODEMU na odbiór, w którym modem może odebrać zdalne połączenie. 5 : Jeżeli PLC nie wybiera numeru lub MODEM jest w trybie połączenia, to CPU automatycznie zmieni tryb MODEMU na odbiór, w którym modem może odebrać zdalne połączenie Przykład programu |
||||||||||||||||||

















































