Rozdział 9 Funkcja przerwania FBs-PLC 9.1 Zasada działania i struktura funkcji przerwania FBs-PLC przeznaczony jest do realizacji wielu zadań. Na przykład do obsługi programu użytkownika zawierającego 20 tysięcy słów, przechwycenia lub zaktualizowania statusu 512 punktów We / Wy, obsługi 5 portów komunikacyjnych, itd. Jednakże zadania te mogą być wykonywane tylko jedno po drugim z uwagi na dostępność tylko jednego CPU. Dlatego też, PLC realizuje zadania po kolei. Po zakończeniu realizacji wszystkich zadań, PLC powróci do realizacji pierwszego zadania rozpoczynając tym samym nowy cykl roboczy. Czas realizacji każdego cyklu roboczego nazywa się czasem skanowania PLC. Szybkość realizacji CPU jest bardzo duża w porównaniu do szybkości reakcji wykonywanej przez człowieka. PLC jest w stanie ukończyć duży cykl roboczy w przeciągu kilku milisekund (ms). W ten sposób PLC może sprostać wymaganiom stawianym przez większość praktycznych zadań związanych ze sterowaniem. Opisana metoda sterowania w wielu przypadkach okazuje się wystarczająca. Niemniej jednak, w przypadku niektórych zastosowań wymagających szybkiej odpowiedzi (takich jak sterowanie pozycjonowaniem), opóźnienie czasu skanowania pociągnie za sobą powiększenie błędu. W takich okolicznościach, spełnienie wymagań dotyczących precyzji możliwe jest jedynie przy zastosowaniu funkcji przerwania. Funkcja ta oznacza odpowiedź w postaci przerwania na sygnał z CPU podczas normalnego cyklu skanowania w momencie, gdy wymagana jest szybka odpowiedź. Po otrzymaniu takiego żądania, CPU natychmiast zatrzyma operację skanowania w celu zrealizowania zadań serwisowych przed powrotem (tzw. powrót z przerwania lub RTI) do miejsca, w którym nastąpiło przerwanie i wznowi przerwane skanowanie. Zadania serwisowe do wykonania podczas okresu przerwania nazywane są procedurą serwisową podczas przerwania, która składa się z serii kodów drabinkowych. Procedura (w obszarze podprogramu) rozpoczyna się instrukcją LBL z zastrzeżoną nazwą znacznika (patrz rozdział 9.3). Ponieważ procedura znajduje się w obszarze podprogramu, nie zostanie ona zrealizowana w ramach normalnego cyklu skanowania PLC (PLC stale skanuje obszar głównego programu, nie podprogramu). W normalnych warunkach, CPU realizuje procedurę serwisową w przeciągu kilkuset mikrosekund. W przypadku wystąpienia większej ilości przerwań w jednym momencie (na przykład 49 źródeł przerwania FBs-PLC), zrealizowane zostanie tylko przerwanie o najwyższym priorytecie. Pozostałe przerwania będą realizowane według przydzielonych priorytetów. W konsekwencji zaistnieć może opóźnienie rzędy kilkuset mikrosekund lub nawet kilku milisekund. W związku z tym, w przypadku struktury funkcji o wielu przerwaniach, każdemu przerwaniu nadawany jest priorytet uzależniony od jego wagi. W przypadku, gdy przy realizacji procedury serwisowej podczas przerwania przez PLC pojawi się żądanie przerwania o niższym priorytecie, CPU zaczeka na realizację aktualnego podprogramu i dopiero wówczas zaakceptuje nowe żądanie. W przypadku, gdy nowe żądanie będzie miało wyższy priorytet niż aktualnie realizowana procedura, CPU zatrzyma ją w celu zrealizowania procedury o wyższym priorytecie, po czym powróci do poprzedniej procedury. Taki rodzaj przerwania nazywa się przerwaniem zagnieżdżonym. Poniżej przedstawione zostały przykłady pojedynczych przerwań oraz przerwania zagnieżdżonego: 9-1
P r zx8+interrupt e r w a n i e X 8 + ( P r(priorty:34) i o r y t e t : 3 ) P r z ehsc0 r w a n i e interrupt H S C 0 ( P r i o(priority:10) r y t e t : 1 0 ) G ł ó wmain n y p r o g rprogram a m GMian ł ó w nprogram y p r o g r a m GMian ł ó w nprogram y p r o g r a m GMian ł ó w n y Program p r o g r a m PSubroutine o d p r g r a m X8+I Subroutine PX8+I r z e r wsubroutine a n i e X 8 + I HSC0I P r z e r wsubroutine a n i e H S C 0 I PFirst i e r wlevel s z y p o z i o m DSecond r u g i level p o z i o m Z a g n i eżdżony Nested Subroutine p o d p r o g r a m m oż e mcan i eć have do 5 up to 5 plevel o z i o m ó w 9.2 Struktura i zastosowanie procedury serwisowej podczas przerwania Pomimo, że funkcje przerwania i przywołania mają swoje podprogramy, to metody ich przywoływania (w celu przejścia do podprogramu) są różne. Kiedy komenda CALL [FUN67] jest realizowana przez przywołanie w głównym programie, CPU zrealizuje podprogram ze znacznikiem o nazwie przyporządkowanej przez komendę CALL. Po realizacji komendy RTS (powrotu z podprogramu), CPU powróci do głównego programu. Przywołanie przerwania, zamiast komend software owych, realizowane jest przez sygnał przerwania sprzętowego wysyłany do CPU. CPU zidentyfikuje źródło przerwania i automatycznie przejdzie do procedury serwisowej podczas przerwania ze znacznikiem odpowiednim dla danego podprogramu. Po realizacji komendy RTI (powrót z przerwania) nastąpi powrót do głównego programu. W związku z tym, nie ma odpowiedniego kodu drabinkowego odpowiadającego przerwaniu w obszarze głównego programu. Znacznik Interrupt przerwania label (Head) (Początek) Jak wspomniano wcześniej, procedura serwisowa podczas przerwania musi znajdować się w obszarze podprogramu. Struktura procedury przedstawiona jest na schemacie po prawej, na którym widnieje początek i koniec głównej struktury procedury serwisowej. Początek struktury stanowi znacznik przerwania (opis w kolejnym rozdziale). Koniec stanowi komenda RTI [FUN69], której zadaniem jest poinformowanie CPU o zakończeniu realizacji podprogramu i konieczności przejścia do miejsca, w którym nastąpiło przerwanie; patrz instrukcja FUN69 (RTI). Pomiędzy początkiem a końcem zawarta jest główna struktura procedury serwisowej podczas przerwania informującej CPU o czynnościach do zrealizowania w momencie pojawienia się przerwania. RTI Main Główna Content zawartość of procedury interrupt service serwisowej Routine podczas przerwania (Tail) (Koniec) Linię zasilającą podprogramu oznaczono podwójną linią w celu odróżnienia jej od linii zasilającej głównego programu (pojedyncza linia). 9-2
9.3 Źródło przerwania, znacznik i priorytet FBs-PLC Jak opisano w poprzednim rozdziale, każdej procedurze serwisowej podczas przerwania powinien być przypisany unikalny znacznik przerwania. Istnieje 49 znaczników przerwań określanych jako słowa zarezerwowane dla przerwań, które mogą być wykorzystane w obszarze podprogramu FBs-PLC. Znaczniki te są dedykowane poszczególnym procedurom, dlatego też nie mogą być użyte w przypadku normalnego podprogramu. Wszystkie znaczniki przerwań (słowa zarezerwowane dla przerwań) charakteryzują się przyrostkiem I. Na przykład, znacznikiem przerwania dla szybkiego licznika HSC0 powinien być HSC0I, natomiast znacznikiem dla X0+, X0+I. Poniżej przedstawiono znaczniki przerwań i ich priorytety dla 49 źródeł przerwań FBs-PLC. Poniższa tabela przedstawia źródła przerwań wraz z nazwami ich znaczników. W celu zachowania zgodności z poprzednimi wersjami narzędzia do programowania, oprócz HSC/HST załączono także nazwy znaczników ze starszych wersji (nazwy w nawiasie). Preferowane są nowe nazwy znaczników (nazwy HSTAI, 1MSI~100MSI, X0+I~X15-I mają wyższy priorytet). (Priorytet przerwania jest odwrotnie proporcjonalny do wartości priorytetu) Źródło Znacznik Priorytet Warunek przerwania Uwagi przerwania przerwania Brak przerwania w Szybki timer 1 HSTAI (ATMRI) Synchronizacja HSTA do(cv=pv) przypadku pracy jako timer cykliczny 2 1MSI (1MS) Jedno przerwanie co 1ms 3 2MSI (2MS) Jedno przerwanie co 2ms Wewnętrzna stała czasowa / HSC HST PSO 4 3MSI (3MS) Jedno przerwanie co 3ms 5 4MSI (4MS) Jedno przerwanie co 4ms 6 5MSI (5MS) Jedno przerwanie co 5ms 7 10MSI (10MS) Jedno przerwanie co 10ms 8 50MSI (50MS) Jedno przerwanie co 50ms 9 100MSI (100MS) Jedno przerwanie co 100ms 10 HSC0I/HST0I Zliczanie/Synchro. HSC0/HST0 do (CV=PV) 11 HSC1I/HST1I Zliczanie/Synchro. HSC1/HST1 do (CV=PV) 12 HSC2I/HST2I Zliczanie/Synchro. HSC2/HST2 do (CV=PV) 13 HSC3I/HST3I Zliczanie/Synchro. HSC3/HST3 do (CV=PV) 14 PSO0I Zakończono wysyłanie impulsu PSO0 15 PSO1I Zakończono wysyłanie impulsu PSO1 16 PSO2I Zakończono wysyłanie impulsu PSO2 17 PSO3I Zakończono wysyłanie impulsu PSO3 Dozwolony jest jeden rodzaj przerwania stałej czasowej (patrz rozdział 9.5.2). W związku z tym, rzeczywista liczba przerwań wynosi 42. HSC0~HSC3 skonfigurowane jako szybkie liczniki oznaczone są HSC0I~HSC3I, a HSC0~HSC3 skonfigurowane jako szybkie timery oznaczone są HST0I~HST3I. 9-3
Źródło przerwania Przerwanie na zewnętrznym wejściu sprzętowym lub software owym szybkim timerze Priorytet Znacznik przerwania Warunek przerwania Uwagi 18 X0+I (INT0) Przerwanie gdy 0 1( )w X0 19 X0 I (INT0 ) Przerwanie gdy 1 0( )w X0 20 X1+I (INT1) Przerwanie gdy 0 1( )w X1 21 X1 I (INT1 ) Przerwanie gdy 1 0( )w X1 22 X2+I (INT2) Przerwanie gdy 0 1( )w X2 23 X2 I (INT2 ) Przerwanie gdy 1 0( )w X2 24 X3+I (INT3) Przerwanie gdy 0 1( )w X3 25 X3 I (INT3 ) Przerwanie gdy 1 0( )w X3 26 X4+I (INT4) Przerwanie gdy 0 1( )w X4 ~ 27 X4 I (INT4 ) Przerwanie gdy 1 0( )w X4 28 X5+I (INT5) Przerwanie gdy 0 1( )w X5 Wejście zliczające i 29 X5 I (INT5 ) wejście sterujące Przerwanie gdy 1 0( )w X5 szybkiego licznika 30 X6+I (INT6) Przerwanie gdy 0 1( )w X6 softwareo wego 31 X6 I (INT6 ) Przerwanie gdy HSC4 HSC7 wdrożone przez funkcję przerwania HSC4I mogą być oznaczone jako którekolwiek z HSC7I wejść spośród X0~ 1 0( )w X6 32 X7+I (INT7) Przerwanie gdy 0 1( )w X7 33 X7 I (INT7 ) Przerwanie gdy 1 0( )w X7 34 X8+I (INT8) Przerwanie gdy 0 1( )w X8 35 X8 I (INT8 ) Przerwanie gdy 1 0( )w X8 X15. Dlatego też, 36 X9+I (INT9) Przerwanie gdy 0 1( )w X9 priorytet przerwania dla szybkiego licznika 37 X9 I (INT9 ) Przerwanie gdy 1 0( )w X9 zależy od 38 X10+I (INT10) Przerwanie gdy 0 1( )w X10 wykorzystywanego 39 X10 I (INT10 ) Przerwanie gdy 1 0( )w X10 wejścia. 40 X11+I (INT11) Przerwanie gdy 0 1( )w X11 41 X11 I (INT11 ) Przerwanie gdy 1 0( )w X11 42 X12+I (INT12) Przerwanie gdy 0 1( )w X12 43 X12 I (INT12 ) Przerwanie gdy 1 0( )w X12 44 X13+I (INT13) Przerwanie gdy 0 1( )w X13 45 X13 I (INT13 ) Przerwanie gdy 1 0( )w X13 46 X14+I (INT14) Przerwanie gdy 0 1( )w X14 47 X14 I (INT14 ) Przerwanie gdy 1 0( )w X14 48 X15+I (INT15) Przerwanie gdy 0 1( )w X15 49 X15 I (INT15 ) Przerwanie gdy 1 0( )w X15 9-4
9.4 Realizacja przerwania w FBs-PLC Zastosowania funkcji przerwania w synchronizacji wewnętrznej, zewnętrznym wyjściu, HSC/HST i PSO są identyczne. Z uwagi na to, że zastosowania HSC/HST i PSO zostały opisane w innych rozdziałach, w niniejszym rozdziale zaprezentowano jedynie przykłady synchronizacji wewnętrznej i wejścia zewnętrznego. Rozpocznij Ustaw konfigurację przerwania --------------- Patrz rozdział 9.5 Zapisz procedurę serwisową podczas przerwania w obszarze podprogramu --------------- Patrz rozdział 9.6 Zakończ 9.5 Konfiguracja przerwania Konfiguracja przerwania ma na celu określenie tego, czy konkretne przerwanie zostanie zastosowane czy nie. Konfiguracje przerwania można podzielić na konfiguracje związane i niezwiązane z We / Wy. HSTA, HSC/HST, PSO i zewnętrzne wejście związane są z We / Wy i powinny być zrealizowane za pomocą funkcji konfiguracji narzędzia do programowania, WinProladder lub FP-08. Narzędzie do programowania automatycznie zrealizuje przerwanie w urządzeniu po zakończeniu konfiguracji. Konfiguracja przerwania wewnętrznej stałej czasowej (1MSI~100MSI) związana z We / Wy nie jest wymagana. Słowa zarezerwowane dla przerwania występujące przed podprogramem serwisowym podczas przerwania znajdujące się w obszarze podprogramu oznaczają, że planowane jest przerwanie. W przypadku wystąpienia kilku przerwań, przerwania 1MSI~100MSI mogą być sterowane za pomocą młodszego bajtu B0~B7 w specjalnym rejestrze R4162. 9-5
Klawiatura 9.5.1 Konfiguracja przerwania za pomocą FP-08 LCD Wyświetlacz Instrukcja zewnętrznego przerwania ma 16 wspólnych szybkich wejść X0~X15 z instrukcjami HSC i SPD. W związku z tym, nie można skonfigurować wszystkich wejść wykorzystywanych przez HSC lub SPD. Uwaga: Instrukcja SPD do operacji wykrywania szybkości może wykorzystać tylko 8 wejść X0~X7. Po określeniu konfiguracji przerwania, jej zmiana przy PLC w trybie RUN nie będzie możliwa. Jednakże komenda EN [FUN145] i DIS [FUN146] z FBs-PLC jest w stanie dynamicznie włączyć/wyłączyć funkcję przerwania HSC i HSTA przy PLC w trybie RUN. Patrz opis obu instrukcji. 9-6
9.5.2 Konfiguracja przerwania za pomocą WinProladder W oknie Project Windows kliknąć opcję I/O Configuration : Project name System Configuration I/O Configuration Wybierz Interrupt Setup Po pojawieniu się okna Interrupt Setup użytkownik może wybrać odpowiednią funkcję przerwania. 9-7
9.5.3 Konfiguracja przerwania wewnętrznej stałej czasowej za pomocąr4162 ~ Pojawienie się słów zarezerwowanych dla przerwania wewnętrznej stałej czasowej (8 rodzajów, 1MSI~100MSI) oznacza, że planowane jest przerwanie, które może być zamaskowane za pomocą 8 bitów młodszego bajtu w rejestrze R4162 (patrz schemat poniżej): B7 B6 B5 B4 B3 B2 B1 B0 R4162: 100MS 50MS 10MS 5MS 4MS 3MS 2MS 1MS Kiedy status bitu =0: Włącz funkcję przerwania stałej czasowej (nie zamaskowana) Kiedy status bitu =1: Wyłącz funkcję przerwania stałej czasowej (zamaskowana) Jeżeli status jednego spośród bitów B0~B7 wynosi 0, to FBs-PLC włączy funkcję przerwania dla bitu o najkrótszej stałej czasowej i wyłączy pozostałe. Jeżeli zawartość R4162 będzie stanowić 00H, to żadna z funkcji przerwania stałej czasowej nie zostanie zamaskowana. Jednakże, w przypadku gdy wszystkie podprogramy przerwania stałej czasowej 1ms i 2ms~100ms pojawią się w obszarze podprogramu, jedynie przerwanie stałej czasowej 1ms zostanie zrealizowane. Pozostałe operacje przerwania pozostaną niezrealizowane. Użytkownik może dynamicznie zmieniać stałą czasową i przerwę lub włączać funkcję przerwania za pomocą programu drabinkowego w celu zmiany wartości R4162 w każdej chwili przy PLC w trybie RUN. Wartością domyślną R4162 jest 0; w takim przypadku funkcja przerwania stałej czasowej 1ms~100msnie będzie maskowana. Dopóki którykolwiek podprogram obsługujący funkcję przerwania stałej czasowej będzie znajdował się z obszarze podprogramu, będzie on realizowany w sposób okresowy. Z uwagi na to, że do realizacji każdego przerwania przez CPU wymagany jest długi czas, to im krótsza stała czasowa, tym więcej wymaga ona przerwań i tym więcej czasu potrzebuje na to CPU. W związku z tym, aby uniknąć zmniejszenia wydajności CPU, zastosowanie te powinno mieć miejsce tylko w przypadkach, gdy jest to niezbędne. 9.6 Przykłady procedury przerwania Przykład 1 Precyzyjne sterowanie pozycją za pomocą przełącznika (konfiguracja X0 jako wejście przerywane zboczem narastającym) X0 : Czujnik pozycji X1 : Wyłącznik awaryjny Y0:Silnik 9-8
Główny program Podprogram M0 X0 SET X1 RST Y0 Y0 Jeżeli M0 (start) zmieni się z 0 1, silnik zostanie włączony. 65 LBL X0+I EN RST Y0 EN 74.IMDI0 D : Y0 Jeżeli czujnik X0 wykryje zbliżającą się pozycję, tj. X0 zmieni się z 0 1, sprzęt automatycznie zrealizuje podprogram z funkcją przerwania. Po zmianie Y0 na 0, silnik zostanie niezwłocznie zatrzymany. Szybkie wysłanie Y0 umożliwi zmniejszenie opóźnienia spowodowanego czasem skanowania N : 1 Wdrożenie instrukcji szybkiego wejścia/wyjścia do podprogramu z funkcją przerwania umożliwia spełnienie 69 RTI wymagania dotyczącego precyzyjnego sterowania w czasie rzeczywistym. Przykład 2 Przerwanie wewnętrznej stałej czasowej 1ms program Główny M0 Podprogram M0 EN EN 08.MOV S : 1 D : R4162 08.MOV S : 0 D : R4162 Kiedy M0=1, przerwanie synchronizacji 1ms jest wyłączone (maskowanie synchronizacji 1ms) Kiedy M0=0, przerwanie synchronizacji 1ms jest włączone 65 LBL 1MSI 15 EN (+1) R0 OVF Po rozpoczęciu przerwania stałej czasowej 1ms, system automatycznie zrealizuje podprogram z funkcją przerwania co każde 1ms. 69 RTI EN 16 (-1) R1 UDF R0 wykorzystywany jest jako timer cykliczny zliczający w górę dla każdej stałej czasowej 1ms R1 wykorzystywany jest jako timer cykliczny zliczający w dół dla każdej stałej czasowej 1ms 9-9
9.7 Wejście przechwytujące i filtr cyfrowy W przypadku wielu zastosowań użytkownik może ustawić wejście przerywające w celu zapobiegnięcia utracie sygnału. Ponadto, może też ustawić wejście przechwytujące do przechwytywania przejściowego sygnału wejściowego w czasie krótszym niż czas jednego skanowania PLC. Ustawianie wejścia przechwytującego jest bardzo proste. W oknie Project Windows kliknąć opcję I/O Configuration : Project name System Configuration I/O Configuration Wybierz Input Setup Po pojawieniu się okna Interrupt Setup użytkownik może ustawić dowolne wejście przechwytujące. Przykład_1 Jeżeli wejście zostanie skonfigurowane jako przechwytujące i wykorzystane do zliczania, to aby zliczanie przebiegło prawidłowo, długość sygnału wejściowego musi być dłuższa niż 2-krotny czas skanowania. Na przykład, jeżeli częstotliwość wejściowa wynosi 50Hz, to czas skanowania PLC musi być mniejszy niż 10 ms. Sygnał wejściowy < czas skanowania PLC Czas skanowania PLC Czas skanowania PLC 9-10
Przykład_2 Wejście przechwytujące może przyjąć sygnał wejściowy o długości poniżej 1 czasu skanowania PLC. Sygnał wejściowy Czas skanowania PLC Jednostka główna PLC serii FBs obsługuje funkcję wejścia przechwytującego oraz dodatkowo funkcję cyfrowego filtrowania wejść X0~X35. Istnieje 6 grup wejść cyfrowych { (X0~X3), (X4~X7), (X8~X11), (X12~X15), (X16~X23), (X24~X35) } umożliwiających ustawienie funkcji filtrowania. Istnieją 2 metody filtrowania cyfrowego: częstotliwościowa i czasowa. Filtrowanie dla czterech pierwszych grup wejść cyfrowych (X0~X15) może być częstotliwościowe lub czasowe. Filtrowanie częstotliwościowe umożliwia wybór 8 opcji w zakresie 14kHz~1.8MHz, natomiast czasowe umożliwia wybór wartości w zakresach 1~15 1ms lub 1~15 0.1ms. Dwie ostatnie grupy wejść cyfrowych (X16~X35) obsługują jedynie filtrowanie czasowe w zakresie 1~15 1ms. Przykład 1 Jeżeli czas filtrowania wynosi 2ms, a czas włączenia lub wyłączania jest mniejszy niż 2ms, to sygnał WŁ lub WYŁ zostanie utracony. Sygnał < 2ms będzie filtrowany Możliwość rozpoznania sygnału > 2ms Sygnał < 2ms będzie filtrowany Możliwość rozpoznania sygnału > 2ms Przykład 2 Jeżeli częstotliwość filtrowania wynosi 28kHz, a częstotliwość wejściowa jest większa niż 28kHz, to sygnał wejściowy zostanie utracony. Częstotliwości > 28kHz będzie filtrowana Możliwość rozpoznania częstotliwości < 28kHz 9-11
Rozdział 10 Szybki licznik i timer FBs-PLC 10.1 Szybki licznik FBs-PLC Częstotliwość zliczania zwykłego licznika PLC wynosi maksymalnie kilkadziesiąt Hz (w zależności od czasu skanu). W przypadku, gdy częstotliwość sygnału wejściowego jest wyższa, konieczne jest zastosowanie szybkiego licznika (HSC). W innym wypadku, może nastąpić błąd zliczania lub zliczanie może zostać zatrzymane. W sterownikach PLC wykorzystywane są zazwyczaj dwa rodzaje szybkich liczników HSC: szybki licznik sprzętowy (HHSC) wyposażony w specjalny obwód sprzętowy, oraz szybki licznik software'owy (SHSC), który poprzez zmianę stanu podczas zliczania sygnału wyzwala operację zliczania w górę/w dół przez CPU. Sterownik FBs-PLC może być wyposażony w 4 liczniki HHSC (w układach SoC) i 4 liczniki SHSC. Wszystkie są szybkimi licznikami 32-bitowymi. 10.1.1 Tryby zliczania szybkiego licznika FBs-PLC Jak przedstawiono w tabeli poniżej, każdy z liczników HHSC i SHSC FBs-PLC umożliwia odpowiednio 8 i 3 tryby zliczania do wyboru: HHSC SHSC Zliczanie impulsów Tryb zliczania (HSC0~HSC3) (HSC4~HSC7) Zliczanie w górę(+1) Zliczanie w dół( 1) Góra/Dół MD 0 U/D MD 1 U/D 2 U D U D Krok/Kierunek MD 2 P/R MD 3 P/R 2 P R P R MD 4 A/B A B Sygnał A/B MD 5 A/B 2 MD 6 A/B 3 A B A B MD 7 A/B 4 A B Strzałki góra/dół (, ) na narastających/opadających zboczach impulsu wskazują miejsce zliczania (+1 lub 1). 10-1
10.2 Architektura systemu szybkiego licznika FBs-PLC Poniższe schematy przedstawiają architekturę systemu dla liczników HHSC i SHSC FBs-PLC, w której każdy z nich wyposażony jest w wejście wielofunkcyjne oraz funkcje zliczania. Niektóre z funkcji są wbudowane (takie jak numer rejestru CV, numer rejestru PV, etykieta przerwania, znacznik MASK, CLEAR oraz wybór kierunku), dzięki czemu użytkownik nie musi przeprowadzać konfiguracji. Jednakże, niektóre funkcje oznaczone na poniższych schematach jako *, wymagają użycia oprogramowania narzędziowego w celu skonfigurowania HSC (takiego jak wybór HSC, tryb zliczania, przypisanie funkcji pod wejście, zmiana polaryzacji oraz ustalenie odpowiedniego numeru wejścia Xn) itp. Szczegółowy opis struktury oraz działania 8 trybów zliczania znajduje się w rozdziałach 10.2.1~10.2.3. Uwaga: CV (Wartość aktualna); PV (Wartość zadana). Użycie FUN92 do odczytania aktualnej wartości z licznika sprzętowego z układem SoC w celu wprowadzenia go do wewnętrznego rejestru CV CPU. Użycie FUN93 do zapisania zawartości rejestru w układzie SoC. Reset i aktualizacja CV licznika sprzętowego w układzie SoC. R e j e s t r C V CV Register ( P a m ięć w e w nętrzna CP U ) (CPU Intermal Memory) DR4096 DR4100 DR4104 DR4108 FUN92 (HSCTR) FUN93 (HSCTW) (HSC0) (HSC1) (HSC2) (HSC3) (SoC Chip) U k ł a d S o C R e j e s t r P V PV Register ( P a m ięć w e w nętrzna CP U ) (CPU Internal Memory) DR4098 DR4102 DR4106 DR4110 FUN93 (HSCTW) Użycie FUN93 do zapisania zawartości rejestru PV w układzie SoC licznika sprzętowego. W e jś c i e Counting z l i c z a jąinput c e (X0,X4,X8,X12)* (X1,X5,X9,X13)* U,P,A D,R,B * * * * x1 x2 x3 x4 R ecv j e s t r C V Register K Comparator o m p a r a t o r PV R e j e s t r P V Register W y b ó r k i e r u n k u Software direction selection M1942 W e jś c i e Controlling s t e r u jąinput c e (HSC0) (HSC1) (HSC2) (HSC3) M1948 M1978 M1981 0:UP 1:DN ((MD2,3 T Y L K O ONLY) T R Y B M D 2, 3 ) M (X2,X6,X10,X14)* Mask control F u n k c j a s t e r u ją c a M A S K C (X3,X7,X11,X15)* Clear control F u n k c j a s t e r u ją c a C L E A R * * M C PV=CV EN(FUN145)/ DIS(FUN146) Software Software PTO r z e rcpu w a n i e E t y kinterrupt i e t y p r z emask r w ań M AMask S K CClear L E A R Interruput D O C P U (HSC0) M1940 M1941 (HSC0) HSC0I (HSC1) M1946 M1947 (HSC1) HSC1I (HSC2) M1976 M1977 (HSC2) HSC2I (HSC3) M1979 M1980 (HSC3) HSC3I Architektura systemu licznika HHSC(HSC0~HSC3) 10-2
( P a m ięć we w nę t r z n a C P U ) (CPU Internal Memory) W ecounting jś c i e input z l i c z a ją c e (X0~X15)* Software direction selection (HSC4) M1983 (HSC5) M1985 (HSC6) (HSC7) WControlling e jś c i e input s t e r u ją c e (X0~X15)* S o f t w a r e ' o w y w y b ó r k i e r u n k u M1987 M1989 (U,P,A)* (D,R,B)* 0:UP 1:DN (MD2 ONLY) M (X0~X15)* S y g nmask a ł s t econtrol r u ją c y M A S K C (X0~X15)* S y g n aclear ł s t econtrol r u ją c y C L E A R ( T Y L K O T R Y B M D 2 ) * * * * CV R e j eregister s t r C V DR4112(HSC4) or DR4116(HSC5) or DR4120(HSC6) or DR4124(HSC7) M C K Comparator o m p a r a t o r PV=CV RPV e j eregister s t r P V DR4114(HSC4) or DR4118(HSC5) or DR4122(HSC6) or DR4126(HSC7) (HSC4) (HSC7) EN(FUN145)/ DIS(FUN146) Interrupt Software M A S K Mask P r z e r w a n i e (HSC4) M1982 (HSC5) M1984 (HSC6) M1986 (HSC7) M1988 Architektura systemu licznika SHSC(HSC4~HSC7) E t y k i e t y Interrupt p r z e r w ań Mask (HSC4) HSC4I (HSC5) HSC5I (HSC6) HSC6I (HSC7) HSC7I Wszystkie sygnały sterujące liczników HHSC i SHSC są domyślnie sygnałami aktywnymi wysokimi (tj. stan=1 dla sygnału aktywnego i 0 dla nieaktywnego). W celu dopasowania do polaryzacji czujnika, istnieje możliwość zmiany polaryzacji wejść zliczających HHSC (U, D, P, R, A i B) oraz wejść sterujących (M i C). Domyślnie, jeżeli sygnał sterujący MASK M = 1, to impuls zliczany przez HSC będzie maskowany, zliczenie nie zostanie przeprowadzone, a stan wewnętrzny HSC (taki jak CV i PV) pozostanie niezmieniony. Licznik HSC będzie działać normalnie tylko w przypadku, gdy sygnał M powróci do stanu 0. Niektóre czujniki wyposażone są w wyjścia Enable o działaniu odwrotnym do MASK. Jeżeli Enable = 0, liczniki nie będą zliczać i rozpoczną zliczanie tylko, gdy Enable = 1. Wybranie funkcji zmiany polaryzacji MASK umożliwia współpracę z czujnikami wyposażonymi w wyjście Enable. Jeżeli sygnał sterujący CLEAR C = 1, to wewnętrzny rejestr CV zostanie wyzerowany i nie zostanie przeprowadzone zliczanie. HSC rozpocznie zliczanie od 0, gdy sygnał C powróci do stanu niskiego. Aby ustawić aktualną wartość zliczania na 0, można wyczyścić rejestr CV (DR4112, DR4116, DR4120 i DR4124) za pomocą programu drabinkowego. Układ SoC zawiera cztery zestawy liczników HHSC FBs-PLC, gdzie użytkownik nie ma bezpośredniego dostępu do rejestrów CV lub PV. Użytkownik ma dostęp jedynie do rejestrów CV (DR4096~DR4110) w pamięci wewnętrznej CPU. W idealnym przypadku, zawartość rejestrów CV i PV w układach SoC powinna być aktualizowana równocześnie z rejestrami CV i PV w pamięci wewnętrznej CPU. Aby zachować zgodność pomiędzy dwoma obszarami, muszą one zostać załadowane lub odczytane przez CPU, w momencie, gdy należą one do dwóch różnych obwodów sprzętowych. W celu załadowania rejestrów CV i PV wewnątrz CPU do odpowiednich rejestrów CV i PV (aby umożliwić HHSC kontynuację zliczania od wartości początkowej), należy użyć FUN93. Następnie, należy użyć FUN92, aby odczytać wartość zliczania HHSC rejestru CV w układzie SoC do rejestru CV w CPU (tj. rejestr CV w CPU wyposażony jest w funkcję dwukierunkową). Ponieważ odczyt może być 10-3
przeprowadzony tylko w przypadku użycia FUN92 (tak zwany odczyt próbkowania ), może pojawić się różnica pomiędzy wartością CV w układzie SoC zliczoną przez HHSC, a wartością CV w CPU. Różnica będzie wzrastać, szczególnie przy dużej częstotliwości zliczania. Jeżeli częstotliwość zliczania jest nieduża lub wymagania dotyczące precyzji pozycjonowania nie są wygórowane, to dla prostego sterowania zliczaniem podczas pozycjonowania odpowiednie będzie użycie FUN92 w programie głównym w celu odczytania aktualnej wartości zliczania oraz wdrożenie instrukcji komparatora. Jeżeli wymaganie dotyczące precyzji pozycjonowania jest większe, lub w przypadku wielostrefowego sterowania zliczaniem, to można użyć FUN92 do odczytania aktualnej wartości zliczania w przerwaniu o zadanej podstawie czasowej oraz wdrożyć instrukcję porównawczą w celu uzyskania bardziej precyzyjnego sterowania zliczaniem podczas pozycjonowania. Jeżeli wymaganie dotyczące precyzji pozycjonowania jest bardzo wysokie, należy użyć funkcji ustawionego przerwania od licznika sprzętowego. Wartość zadana może zostać załadowana do rejestru PV licznika HHSC przez FUN93. W momencie, gdy wartość CV w HHSC osiągnie zadaną wartość, komparator sprzętowy w HHSC wyśle sygnał do CPU w chwili CV=PV i przejdzie do podprogramu standardowego przerwania w celu realizacji sterowania w czasie rzeczywistym. Z drugiej strony, licznik SHSC wykorzystuje metodę przerwania w celu wysłania żądania sygnału przerwania do CPU w momencie, gdy wejście zliczające jest na narastającym zboczu impulsu. Następnie, CPU określa czy należy zmniejszyć czy zwiększyć wartość rejestru wewnętrznego CV (ponieważ rejestr CV w CPU jest rejestrem CV SHSC, nie jest wymagane zastosowanie FUN92 ani FUN 93). Jeżeli przy aktualizacji wartości CV, CPU wykryje, że jest ona równa wartości rejestru PV, natychmiast przejdzie do programu przerwania odpowiedniego SHSC. Sygnał przerwania może zostać wysłany do CPU w przypadku zmiany w zliczaniu SHSC lub zmiany w wejściu sterującym. W celu zatrzymania pracy PLC, może nastąpić wyraźne wydłużenie czasu reakcji PLC lub wywołany może zostać błąd Watchdog. Dlatego też, lepiej jest najpierw użyć licznika HHSC. Jeżeli wymagane jest użycie SHSC, to suma wszystkich częstotliwości wejściowych SHSC FBs-PLC nie powinna przekroczyć 5kHz. Żaden ze znaczników, takich jak sygnały MASK, CLEAR i sterowanie kierunkiem, nie jest znacznikiem czasu rzeczywistego. Oznacza to, że mimo że sygnały MASK, CLEAR lub zmiana kierunku zostały ustawione podczas skanowania, zostaną one przesłane do HSC tylko w przypadku, gdy po zakończeniu skanu nastąpi aktualizacja I/O. W związku z tym, nie jest to opcja odpowiednia w przypadku sterowania w czasie rzeczywistym podczas pracy HSC (powinno być to wykorzystywane głównie przy realizacji ustawień wstępnych przed rozpoczęciem pracy HSC). W przypadku, gdy wymagane będzie sterowanie w czasie rzeczywistym, należy wykorzystać sprzętowe sterowanie wejściem lub zastosować instrukcje FUN145(EN), FUN146(DIS), FUN92(HSCTR), i FUN93(HSCTW) itp. Każdy licznik HSC wyposażony jest w funkcje ENable(FUN145) i DISable(FUN146). Kiedy SHSC zostanie wyłączony, przestanie zliczać bez funkcji przerwania. Kiedy HHSC zostanie wyłączony, zliczanie nie zostanie przerwane, ale funkcja przerwania będzie wyłączona. 10.2.1 Szybki licznik w trybie góra/dół (MD0,MD1) Szybki licznik w trybie góra/dół składa się z wejścia zliczającego impulsy w górę (U) oraz wejścia zliczającego impulsy w dół (D), które są od siebie niezależne i nie ma pomiędzy nimi żadnych zależności fazowych. Kiedy na wejściu impulsowym wystąpi narastające zbocze impulsu (dla MD1, zarówno zbocze narastające, jak i opadające), to wartość CV zmieni się o +1 (U) lub -1 (D). To samo dzieje się, gdy narastające (lub opadające) zbocza impulsu U i D wystąpią jednocześnie (nastąpi ich równe przesunięcie). Oba tryby mają wbudowane sygnały sterujące MASK i CLEAR (CLEAR jest niedostępna dla SHSC). Jeżeli funkcje nie są używane, ich stan (tzn. M1940 i M1941) musi być utrzymywany na 0. Oprócz wbudowanych sygnałów MASK i CLEAR, skonfigurować można także sygnały sprzętowe MASK i CLEAR. Algorytm MASK realizowany jest najpierw jako funkcja OR sterowania sprzętowego i software'owego, a następnie wynik przesyłany jest do sygnału sterującego M HSC MASK oraz podobnie dla CLEAR. Poniżej przedstawione zostały uproszczone schematy funkcji skonfigurowane oddzielnie dla MD0 i MD1. 10-4
HSC0 HSC0 S y g nup a ł pulse U P X0 S ydown g n a ł pulse D N X1 Sp r zęt Hardware o w y M Amask S K X2 Sp r zętowy Hardware C L Eclear A R X3 U D Software mask CV x1 M PV C EN/DIS M A S K M1940 M1941 C L E A R S yg n a ł y s o ft w a r e ' o w e MD0(U/D) Software clear P r z e r w a n i e HSC0I Interrupt H S C 0 I EN(FUN145)/ DIS(FUN146) S y gw nup a ł gpulse ó Urę P X0 S ydown g n aw ł pulse ddó N ł X1 Sp r zętowy Hardware M Amask S K X2 Sp r zętowy Hardware C L Eclear A R X3 U D Software Mmask A S K CV x2 M PV EN/DIS C M1940 M1941 S yg n a ł y s o ft w a r e ' o w e CSoftware L E A R clear MD1(U/D 2)(Tylko HHSC) P r z e r w a n i e HSC0I Interrupt H S C 0 I EN(FUN145)/ DIS(FUN146) Poniżej przedstawiono przebiegi HSC skonfigurowanego w tryb zliczania góra/dół przy wartości PV ustawionej na 6: X0(U) X1(D) M1940 lor u b X2 (M) M1941 l uor b X3 (C) PV=6 CV (x1) 0 1 2 3 4 3 2 3 4 5 6 0 MD0 HSC0I HSC0 sends interrupt to CPU CPU receives and handles this interrupt H S C 0 w y s y ł a p r z e r w a n i e d o C P U C P U o d b i e r a i o b s ł u g u j e p r z e r w a n i e MD1 CV (x2) HSC0I 1 2 3 4 5 6 7 6 5 4 5 6 7 8 12 11 9 10 HSC0 sends interrupt to CPU H S C 0 w y s y ł a p r z e r w a n i e d o C P U 10-5
10.2.2 Szybki licznik w trybie wejścia krok/kierunek (MD2, MD3) Szybki licznik w trybie wejścia krok/kierunek składa się z jednego wejścia zliczającego impulsy P (pulse). Wymaga on dodatkowego wejścia kierunkowego R (direction) w celu ustalenia, czy w momencie pojawienia się w zliczanym impulsie zbocza narastającego (dla MD3, zarówno zbocza narastającego jak i opadającego) wartość CV (wart. akt.) powinna być zmieniona o +1 (R=0) czy -1 (R=1). To samo dotyczy zliczania MD2 i MD3, z takim wyjątkiem, że MD2 zlicza tylko zbocza narastające (+1 lub -1), natomiast MD3 zlicza zarówno zbocza narastające jak i opadające impulsu PS (podwójna liczba zliczeń w stosunku do MD2). Oba te tryby mają wbudowane sygnały sterujące MASK i CLEAR (CLEAR jest niedostępna dla SHSC). Jeżeli sygnały nie są używane, ich stan (tj. M1946 i M1947 w poniższym przykładzie) musi być utrzymywany na 0. Oprócz wbudowanych sygnałów software'owych MASK i CLEAR, można skonfigurować sygnały sprzętowe MASK i CLEAR. Algorytm MASK realizowany jest najpierw przez funkcję OR sterowania sprzętowego i software'owego, a następnie wynik przesyłany jest do funkcji sterującej HSC. Tak samo realizowany jest algorytm CLEAR. Poniżej przedstawione zostały uproszczone schematy HSC1 skonfigurowanego oddzielnie dla MD2 i MD3. HSC1 HSC1 W ejści e impulse p sowe input X4 W ejści Direction e im pselecrion ul sowe X5 Software direction W ejści e k i er u nk o w e selection M1948 P R CV x1 M PV C EN/DIS PHSC1I r zerwani e HInterrupt S C 1 I EN(FUN145)/ DIS(FUN146) W ejści e impulse p sowe input X4 W ejści Direction e im pselection ul sowe X5 Software Wdirection ejści e k i er u nk o w e M1948 selection P R CV x2 M PV C EN/DIS PHSC1I r zerwani e H S C 1 I Interrupt EN(FUN145)/ DIS(FUN146) S p r zęto Hardware w y MAS mask K X6 X6 Ma S psk r zęto Hardware a sprzętowa w y MAS mask K X6 S pr zętowy C LEA R X7 Z e ro Swpr azętowy n i e Hardware clear X7 Hardware s p r zęto C LEA clear wr e X7 X7 Software Mmask A S K M1946 M1947 Software ZC Le Ero AwR a nclear i e s o ft w a r e' o w e Software Mmask A S K M1946 M1947 ZC Software Le Ero AwR a nclear i e s o ft w a r e' o w e S yg n ał y s of t w a r e' o w e S yg n ał y s of t w a r e' o w e MD2(P/R) MD3(P/R 2)(Tylko HHSC) Wybór kierunku MD2 i MD3 licznika HSC (HHSC lub SHSC) może być realizowany przez wejścia zewnętrzne (takie jak X5 w powyższym przykładzie) lub specjalny znacznik w CPU (taki jak M1948 w powyższym przykładzie) w celu ograniczenia wykorzystania zewnętrznych punktów wejściowych. 10-6
Poniżej przedstawiono schemat przebiegów pokazujący zależności pomiędzy zliczaniem i sterowaniem dla dwóch liczników HSC. W przykładzie tym, wartość PV wynosi 6. X4(P) X5(R) X6(M) X7(C) PV=6 CV (x1) 0 1 2 3 5 5 4 4 4 3 6 7 MD2 HSC1I H S C 1 whsc1 y s y ł a sends p r z einterrupt r wa n i e dto o CPU C P U C P U o d b i e r a i o b s ł u g u j e p r z e r wa n i e CPU receives and handles this interrupt 1 2 3 7 8 9 8 7 7 6 6 6 5 5 5 4 4 11 12 10 8 9 CV (x2) MD3 HSC1I HSC1 sends interrupt to CPU H S C 1 w y s y ł a p r z e r wa n i e d o C P U 10.2.3 Szybki licznik w trybie wejścia zliczającego fazy A/B (MD4,MD5,MD6,MD7) Szybki licznik w trybie wejścia zliczającego fazy A/B wyposażony jest w wejście impulsowe fazy A i fazy B z wartością zliczania +1 lub -1, stosownie do zależności fazowej pomiędzy nimi, tj. zależności pomiędzy zliczaniem obu faz. Jeżeli faza A znajduje się przed fazą B, to wartość CV powinna być zmieniona o +1. W innym wypadku powinna być zmieniona o -1. Zliczanie fazy A/B przez HSC we wszystkich czterech trybach MD4 (A/B), MD5 (A/B 2), MD6 (A/B 3) i MD7 (A/B 4) jest zbliżone. Różnice są następujące: 1 MD4 (A/B) : Zbocze narastające A zwiększa CV o 1, gdy A jest przed B, natomiast zbocze opadające A zmniejsza CV o 1, gdy A jest za B. 2 MD5 (A/B 2) : Zbocza narastające i opadające A zwiększają CV o 1, gdy a jest przed B i zmniejszają CV o 1, gdy A jest za B (dwa razy więcej zliczeń niż dla MD4). 3 MD6 (A/B 3) : Zbocza narastające i opadające A i zbocze narastające B zwiększają CV o 1, gdy A jest przed B. Zbocza narastające i opadające A oraz zbocze opadające B zmniejszają CV o 1, gdy A jest za B (trzy razy więcej zliczeń niż dla MD4). 10-7
4 MD7 (A/B 4) : Zbocza narastające i opadające A i B zwiększają CV o 1, gdy A jest przed B, natomiast zbocza narastające i opadające A i B zmniejszają CV o 1, gdy A jest za B (cztery razy więcej zliczeń niż dla MD4). Pozostałe tryby HSC MD4~MD7 wyposażone są w software'owe sygnały MASK i CLEAR (CLEAR jest niedostępny dla SHSC). Jeżeli funkcje sterujące nie są używane, ich stan (tj. M1946 i M1947 w poniższym przykładzie) musi być utrzymywany na 0. Oprócz software'owych sygnałów MASK i CLEAR, skonfigurować można także sygnały sprzętowe MASK i CLEAR. Algorytm MASK realizowany jest najpierw przez funkcję OR sterowania sprzętowego i software'owego, a następnie wynik przesyłany jest do funkcji sterującej HSC. Tak samo realizowany jest algorytm CLEAR. Poniżej przedstawione zostały uproszczone schematy HSC2 skonfigurowanego oddzielnie dla czterech trybów HSC MD4~MD7. HSC2 HSC2 ImA p ul phase s f a zpulse a A X8 ImB pphase ul s f apulse z a B X9 A B CV x1 M PV C EN/DIS PHSC2I r z e r w a ni e HInterrupt S C 2 I EN(FUN145)/ DIS(FUN146) ImA pphase ul s f apulse z a A X8 ImB pphase ul s f apulse z a B X9 A B CV x2 M PV EN/DIS C PHSC2I r z e r w a ni e HInterrupt S C 2 I EN(FUN145)/ DIS(FUN146) Ma s khardware a s p r zętowa mask X1 X00 Z e ro w a n ihardeare e s p r zęto clear w e X11 1 Software mask MD4(A/B) Hardware clear Ma s k a s o ft w a r e 'o w a M1976 M1977 Z e ro w a n i e s o ft w a r e' o w e Ma s k a Hardware s p r zętowa mask X1X0 0 Z e ro w a n i e Hardeare s p r zętoclear w e X11 1 Ma s k a ssoftware o w a r e 'o mask w a M1976 M1977 MD5(A/B 2)(Tylko HHSC) ZHardware e ro w a n i e clear s o ft w a r e' o w e HSC2 HSC2 ImA pphase ul s f apulse z a A X8 ImB pphase ul s f apulse z a B X9 A B CV x3 M PV C EN/DIS PHSC2I r z e r w a ni e HInterrupt S C 2 I EN(FUN145)/ DIS(FUN146) A Imphase p ul s fpulse a z a A X8 X8 B Imphase p ul s pulse f a z a X9 B X9 A B CV x4 M PV EN/DIS C PHSC2I r z e r w a ni e HInterrupt S C 2 I EN(FUN145)/ DIS(FUN146) Ma s khardware a s p r zętowa mask X10 0 Z e ro w a n ihardeare e s p r zętoclear w e X11 1 Ma shardware k a s p r zętowa mask X100 Z e ro w a nhardeare i e s p r zęto clear w e X11 1 Ma s k a ssoftware o r e mask 'o w a Hardware clear M1976 M1977 Z e ro w a n i e s o ft w a r e' o w e Ma s k a Software s o w a r e mask 'o w a M1976 M1977 ZHardware e ro w a n i e clear s o ft w a r e' o w e MD6(A/B 3)(Tylko HHSC) MD7(A/B 4)(Tylko HHSC) 10-8
j n h i Poniżej przedstawiony został uproszczony schemat zależności pomiędzy zliczaniem a sterowaniem dla czterech trybów HSC przy wartości PV ustawionej jako -4. P u nk Retraced t z m i a npoint y k i e r u nk u p q r s t u v w x o m k l y Rotary E nk oencoder d e r o br o t o w y X8(A) g f e Zl i cup z a ni counting e w g ó rę Zl Down i c z a ni counting e w d ó ł (f a z a A p r z e d f a zą B ) (A phase ahead B phase) (f a z a B p r z e d f a zą A ) (B phase ahead A phase) X9(B) X10(M) MD4 X11(C) CV(x1) PV=-4 o p q r s 3 2 1 0 4 s 3 r q p o n m 2 1 0-1 l k j i h g -2-3 -4-5 0 HSC2I CV(x2) 0 HSC2 sends interrupt to CPU 5 6 7 8 H S C 2 w ys ył a p r z e r w a ni e d o C P U 7 6 5 4 4 1 2 3 3 2 1 0 CCPU P U receives o d bi e r a and i ohandles bsł u g uj this e pinterrupt r z e r w a ni e MD5 PV=-4-1 -2-3 -4-5 HSC2I MD6:CV(x3) MD7:CV(x4) -6-7 -8-9 -10 12 9 H9 S C 2 w yshsc2 ył a psends r z e r winterrupt a ni e d o to CCPU P CPU P U receives o d bi e r a and i ohandles bsł u g uj this e pinterrupt r z e r w a ni e 6 6 5 4 3 2 1 2 3 1 0 0 15-1 -2-3 12 12-6 9 9-9 6 6 5 3 3-12 2 1 1-15 0 0-1 -3-6 -9-12 -20 10-9
10.3 Procedura zastosowania szybkiego licznika FBs-PLC --------------- Start Skonfigurowanie trybów zliczania dla 1. Odpowiednie tryby i zasady zliczania dla HSC znajdują się w HSC i odpowiedniego wejścia (za rozdziale 10.2. pomocą FP-08 lub WinProladder) 2. Przykłady ustawień znajdują się w rozdziale 10.4 --------------- 1. Więcej informacji w Rozdziale 6 "Obwody wejść cyfrowych" Ustawienie wartości początkowej CV 1. Jeżeli HSC jest jako HHSC, wymagane jest zastosowanie FUN93 w HSC i wartości przerwania PV w celu ustawienia wartości CV i PV dla HHSC w układzie SoC. programie głównym 2. Przykłady programów znajdują się w rozdziale 10.5. Wykonanie połączeń sprzętowych --------------- Wczytanie odpowiednich procedur do przeprowadzenia podczas przerwania oraz warunków dla następnego przerwania w --------------- --------------- podprogramie Rozpoczęcie operacji 1. Struktura podprogramu opisana jest w rozdziale 9.1. 2. Przykłady programów znajdują się w rozdziale 10.5 Przykłady zastosowania szybkiego licznika. 1. Przykłady programów i opisy znajdują się w rozdziale 10.5. Koniec 10-10
10.4 Konfiguracja HSC/HST 10.4.1 Konfiguracja HSC/HST (za pomocą FP-08) W rozdziale tym, do opisu konfiguracji HSC jako przykład wykorzystany zostanie ekran FP-08. Procedura konfiguracji HSC składa się z następujących 5 kroków: 1 Wybranie elementu spośród HSC/HST (jedynie HHSC umożliwia taki wybór). Jeżeli wybrany został HSC, przejście do następnego kroku. W przypadku HST nic więcej nie jest wymagane. 2 Wybranie odpowiednich trybów zliczania dla HSC (MD0~MD7). Po wpisaniu numeru trybu, FP-08 automatycznie wyświetli nazwy wejść zliczających i sterujących HSC dla danego trybu oraz pole do wprowadzenia przez użytkownika numeru zewnętrznego punktu wejściowego Xn. Puste pole trybu oznacza, że HSC nie jest używany. 3 Określenie, czy odpowiednie wejścia zliczające (U, D, P, R, A i B) oraz sterujące (M i C) mają być zastosowane czy nie (Jeżeli wejście nie będzie używane, należy zostawić wolne pole; jeżeli będzie używane, wprowadzić wartość Xn. Po ustaleniu wartości wejściowych Xn HHSC, wprowadzenie liczby X. FP-08 automatycznie wygeneruje ustawioną wartość n). 4 Określenie, czy polaryzacja poszczególnych wejść zliczających (U, D, P, R, A i B) HHSC jest odwrócona, czy nie, w celu dopasowania do polaryzacji enkodera (0: polaryzacja nie odwrócona, 1: odwrócona. Ustawienie domyślne: 0). 5 Określenie, czy polaryzacja poszczególnych wejść sterujących (M i C) HHSC jest odwrócona, czy nie, w celu dopasowania do polaryzacji enkodera (0: polaryzacja nie odwrócona, 1: odwrócona. Ustawienie domyślne: 0). 10-11
Przykłady zastosowania FP-08 w celu przeprowadzenia wyżej wymienionych konfiguracji 1~5 Klawisze do naciśnięcia Wyświetlenie HSC0 ustawiony jest jako HSC HSC1 ustawiony jest jako HSC HSC1 wykorzystany jest jako szybki licznik HST1 HSC2 ustawiony jest jako HSC HSC3 ustawiony jest jako HSC Pole MD jest puste co oznacza, że HSC0 nie jest używany a Nie ma potrzeby konfigurowania HSC1, ponieważ został on ustawiony jako HST (brak wyświetlenia). Pole MD HSC2 jest puste, co oznacza, że MD nie jest używany Po wciśnięciu klawisza 7, wyświetlone zostaną odpowiednie nazwy wejścia MD7 i automatycznie wprowadzone zostaną wartości ustawione dla A i B (X8 i X9) Jeżeli wymagana jest funkcja MASK, należy wcisnąć klawisz X, co spowoduje automatyczne wprowadzenie wartości 10 10-12
Klawisze do naciśnięcia b Wyświetlenie Wciśnięcie klawisza 2, spowoduje automatyczne wprowadzenie wartości P Przesuń kursor na R i wciśnij X. Wartość natychmiast zmieni się na X13 i należy ją zmienić, aby możliwa była kontrola kierunku pracy urządzenia HSC4 nie jest używany HSC5 nie jest używany HSC6 ustawiony jest jako MD0 i automatycznie wyświetlą się nazwy odpowiednich wejść MD0 SHSC Ustaw X10 jako impuls zliczany w górę U dla HSC6 Ustaw X2 jako impuls zliczany w dół D dla HSC6 HSC7 nie jest używany Wszystkie wejścia zliczające każdego HHSC(HSC0~HSC3) ustawione są jako nieodwrócone Wszystkie sygnały MASK HHSC ustawione są jako nieodwrócone Zmień wszystkie wejścia MASK HHSC na odwrócone (w przykładzie stan C MASK zmienia się na Enable) Wszystkie sygnały CLEAR HHSC ustawione są jako nieodwrócone Zakończ konfigurację i powróć do ekranu startowego (wybór HSC0/HST0) * Wartość wejściową można zmienić poprzez bezpośrednie wprowadzenie nowej wartości do nadpisania. W razie potrzeby usunięcia wprowadzonej wartości, należy użyć przycisku Puste pole (bez żadnej wartości wejściowej) oznacza, że wykorzystanie HSC lub wejścia nie jest wymagane. Wyświetlenie pulse w poprzednim przykładzie oznacza Wejście zliczające, tj. U i D, P i R lub A i B licznika HHSC. 10-13
POLAR oznacza POLARYZACJĘ, tj. wybór pomiędzy polaryzacją odwróconą, a nieodwróconą Punkty wejściowe dla odpowiednich wejść zliczających i sterujących HHSC są stałe. W związku z tym, w przykładach konfiguracji podanych powyżej wystarczy dla każdego wejścia HHSC wprowadzić X w celu zaznaczenia, że dane wejście będzie użyte. FP-08 lub WinProladder automatycznie ustawi wartość X, dla której nie będzie dopuszczalna żadna zmiana. Użytkownik może wybrać dowolne wejścia zliczające lub sterujące SHSC z zakresu X0~X15. Dlatego też, wymagane jest wprowadzenie zarówno X, jak też numeru n punktu wejściowego dla SHSC. 10.4.2 Konfiguracja HSC/HST (za pomocą WinProladder) Kliknij I/O Configuration w oknach projektu: Project name (Nazwa projektu) System Configuration (Konfiguracja systemu) I/O Configuration (Konfiguracja We/Wy) Wybrać Timer/Counter (Zegar/Licznik) Okno Timer/Counter umożliwia wybór dowolnego zegara lub licznika. --- Konfiguracja Zegara/Licznika (Timer/Counter) --- Counter Type : Wybór licznika sprzętowego lub sprzętowego zegara. Counting Mode : Wybór trybu zliczania ( Przykład: U/D P/R A/B ) A-Phase : Wybór sygnału wejściowego narastającego. W przypadku trybu zliczania P/R, elementem tym będzie PLS. W przypadku trybu zliczania U/D, elementem tym będzie UP. B-Phase : Wybór sygnału wejściowego opadającego. W przypadku trybu zliczania P/R, elementem tym będzie DIR. W przypadku trybu zliczania U/D, elementem tym będzie DN. 10-14
Mask[MSK] Clear[CLR] --- Mask Clear Counter --- : Wybór wejścia MASK. : Wybór wejścia CLEAR. Polaryzacja HSC (HSC Polarity) -- signal : Określenie czy sygnał MASK jest odwrócony czy nie. signal : Określenie czy sygnał CLEAR jest odwrócony czy nie. signal : Określenie czy sygnał COUNTER jest odwrócony czy nie. HSC s Data Length --- Do wyboru jest tryb 32-bitowego licznika sprzętowego lub zegara 16-bitowego + licznika 16-bitowego. W trybie 32- bitowego licznika sprzętowego, do zapisania wartości zliczanej wykorzystywane są dwa rejestry. W trybie zegara 16- bitowego + licznika 16-bitowego, jeden rejestr używany jest do zapisania wartości zliczania, a drugi rejestr jest zegarem cyklicznym. W poniższej tabeli przedstawione zostały adresy wszystkich ustawianych lub wybieranych punktów wejściowych, sygnałów MASK i CLEAR, funkcji wyboru kierunku oraz inne elementy dla HHSC i SHSC: Typ MA/MC/MN Dopuszczalny Sygnał HHSC SHSC HSC0 HSC1 HSC2 HSC3 HSC4 HSC5 HSC6 HSC7 Rejestr CV DR4096 DR4100 DR4104 DR4108 DR4112 DR4116 DR4120 DR4124 Rejestr PV DR4098 DR4102 DR4106 DR4110 DR4114 DR4118 DR4122 DR4126 Wejście zliczające U,P lub A X0 X1/X4 X4/X5/X8 X5/X12 X0~X15 X0~X15 X0~X15 X0~X15 D,R lub B X1 X5 X9 X13 X0~X15* X0~X15* X0~X15* X0~X15* Wejście sterujące Mask X2 X6 X10 X14 X0~X15 X0~X15 X0~X15 X0~X15 Clear X3 X7 X11 X15 X0~X15 X0~X15 X0~X15 X0~X15 Sygnał software'owy MASK Sygnał software'owy CLEAR Wybór kierunku (tylko MD2,3) Nazwa etykiety dla przerwania M1940 M1946 M1976 M1979 M1982 M1984 M1986 M1988 M1941 M1947 M1977 M1980 Bezpośrednie zerowanie rejestru CV M1942 M1948 M1978 M1981 M1983 M1985 M1987 M1989 HSC0I HSC1I HSC2I HSC3I HSC4I HSC5I HSC6I HSC7I * Jeżeli SHSC pracuje w trybie MD2(P/R), wybór kierunku następuje za pomocą specjalnego znacznika M1983 M1985 M1987 i M1989. W trybie A-B (HHSC jako MD4~MD7 SHSC jako MD4), wejście A/B musi być użyte jako para X8 i X9 (numer 10-15
parzysty to faza A, natomiast nieparzysty to faza B) Punkty wejściowe X0~X15 wymienione w powyższej tabeli mogą być ustawione tylko raz (tj. wykorzystane jako jedna funkcja) i nie mogą być użyte po raz drugi. Częstotliwość FBs-MN może wynosić do 920 khz (faza pojedyncza i faza AB) Częstotliwość FBs-MC może wynosić do 200 khz (faza pojedyncza i faza AB) Częstotliwość FBs-MA może wynosić do 20 khz (faza pojedyncza) i 10kHz (faza AB) Suma częstotliwości wejść SHSC nie może przekroczyć 5 khz. Im wyższa częstotliwość, tym dłuższy będzie czas skanu CPU. 10-16
10.5 Przykłady zastosowania szybkiego licznika Przykład 1 równej długości. Poniższy przykład ilustruje zastosowanie szybkiego licznika do sterowania cięciem odcinków materiału o Mechanizm X 2 ( w yk r yw a n i e b r a k u m a t e r i a ł u ) Y 1 ( N óż) R o l k a M a t e r i a ł P r o d u k t y g o t o w e E n k o d e r S i l n i k P r z e r w a n i e H S C 0 I Y 0 ( St e r o w a n i e s i l n i k i e m ) X 4 ( Sta r t ) Konfiguracja HSC (Ustawienie HSC0 na MD7 i zakończenie konfiguracji) 10-17
Program sterujący główny Program X4 EN 93DP.HSCTW S : 0 CN: HSC0 D : CV Wykorzystanie FUN93 do zapisania wartości aktualnej rejestru CV dla HSC0 w układzie SoC CN =0 wskazuje na HSC0 D =0 wskazuje na CV X4 X4 EN EN X2 92 HSCTR S : CN: D : Y0 Podprogram Y1.01S EN T0 T0 EN RST HSC0 93DP.HSCTW R0 HSC0 PV 10 Y1 Y0 TUP Wykorzystanie FUN92 do odczytania zliczonej wartości z rejestru CV dla HSC0 w układzie SoC (zapis do DR4096) Zapisanie wartości długości cięcia DR0 do DR4098 i wykorzystanie FUN93 do zapisania tej wartości do rejestru PV dla HSC0 w układzie SoC CN =0 wskazuje na HSC0 D =1 wskazuje na PV Uruchomienie silnika Włączenie cięcia Y1 na 0.1 sekundy 10-18
65 LB L H S C 0I Y 1 Jeżeli CV=PV HSC0 w układzie SoC, sprzęt automatycznie zrealizuje podprogram przerwania oznaczony jako HSC0I E N 74.IM D I0 D : Y 1 N : 1 W przypadku zliczenia w górę, włącza Y1 (aby rozpocząć cięcie materiału) E N U /S 11D.(+ ) S a : R 4098 S b : R 0 D : R 4098 D =0 C Y Natychmiastowe odświeżenie stanu Y1 w celu zredukowania błędu spowodowanego czasem skanu B R Obliczenie nowej pozycji cięcia i załadowanie PV dla HSC0 Opis 93D.H S C TW E N S : C N : D : R 4098 H S C 0 P V 69 R T I 1. Główny program zainicjuje wartość CV HSC0 (CV=0) i przeniesie wartość długości (DR0) do PV HSC0 przed uruchomieniem Y0 w celu włączenia silnika przesuwającego materiał. 2. Kiedy wartość CV osiągnie PV, do PV dodana zostanie długość R0 przed ponownym załadowaniem wartości PV HSC0. 3. Po zejściu całego materiału z rolek, uruchomi się detektor braku materiału X2 i wyłączony zostanie silnik. Przykład 2 Przykład na szybki licznik sprzętowy z wykorzystaniem przerwania główny Program M100 EN 93DP.HSCTW S : CN: D : 0 HSC0 CV Wykorzystanie FUN93 do zapisania wartości rejestru do wartości aktualnej CV dla HSC0 w układzie SoC (reset) CN =0, reprezentuje HSC0 D =0, reprezentuje CV M100 M101 EN EN 92 HSCTR P SET HSC0 Y0 Wykorzystanie FUN92 do odczytania zliczonej wartości CV dla HSC0 w układzie SoC (zapis do DR4096) CN=0, reprezentuje HSC0 Po zmianie M101 z 0 1, włącza Y0 (rozpoczęcie pracy) EN 93DP.HSCTW S : CN: D : R0 HSC0 PV Wykorzystanie FUN93 do zapisania wartości rejestru do wartości nastawionej PV dla HSC0 w układzie SoC. Wartość ta jest wartością ustawioną dla funkcji przerwania od licznika CN=0, reprezentuje HSC0 D =1, reprezentuje PV 10-19
Podprogram 65 LBL HSC0I Etykieta przerwania szybkiego licznika sprzętowego HSC0 EN RST Y0 Kiedy przyjdzie pora, Y0 zostanie wyłączone (zatrzymanie) 74.IMDI0 EN D : Y0 N : 1 Umożliwienie natychmiastowego odświeżenia Y0 (w innym wypadku nastąpi opóźnienie związane z czasem skanowania Y0) 69 RTI 10-20
Przykład 3 Przykład natychmiastowej odpowiedzi wielostrefowego szybkiego zliczania na przerwanie główny Program X3 M101 EN EN EN 92 HSCTR P RST P RST HSC1 R100 M110 Wykorzystanie FUN92 do odczytania zliczonej wartości z rejestru CV HSC1 w układzie SoC i zapisanie jej w rejestrze wartości aktualnych DR4100. CN =1, reprezentuje HSC1 Po zmianie M101 0 1, nastąpi wyzerowanie rejestru wskaźnika. EN 93DP.HSCTW S : R200 CN: HSC1 D : PV 114P.Z-W R Ustawienie flagi ostatniej strefy na OFF (wyłączona) Wykorzystanie FUN93 do zapisania wartości rejestru do wartości nastawionej PV dla HSC1 w układzie SoC. Wartość ta jest wartością ustawioną dla zliczania w górę. CN =1, reprezentuje HSC1 D =1, reprezentuje PV EN 1/0 EN D : N : P SET Y8 8 Y8 ERR Wyłącza Y8~Y15 Ustawia Y8 na ON (włączony). Ustawienie to reprezentuje obecność Y8 w strefie 0. EN 74P.IMDI0 D : Y8 N : 8 Natychmiast ustawa wartość wyjściową Y8~Y15 10-21
Podprogram 65 LBL 69 EN RTI X3+I 93D.HSCTW S : CN: D : 0 HSC1 CV Oznaczenie etykiety przerwania dla zbocza narastającego X3 jako X3+1 (musi być oznaczone jako wejście przerywające dla zbocza narastającego X3) Po zmianie X3 z 0 1, wykorzystanie FUN93 do zapisania wartości rejestru do wartości aktualnej CV dla HSC1 w układzie SoC (reset). CN = 1, reprezentuje HSC1 D = 1, reprezentuje CV M110 M110 65 LBL EN EN HSC1I RST 66 JMP Y15 110 Podprogram przerwania szybkiego licznika sprzętowego oznaczonego jako HSC1I Wyłączenie Y15 po zakończeniu ostatniej strefy. EN INB 41.BITWR D : N : WY8 R100 ERR Ustawienie wyjścia poprzedniej strefy na OFF (wyłączone) EN 15 (+1) R100 OVF Ustawienie punktu wskaźnika następną strefę. EN INB 41.BITWR D : N : WY8 R100 ERR Ustawienie wyjścia następnej strefy na ON (włączone) EN INC CLR 101D.T Ts : L : Pr : Rd : R R200 8 R100 R4102 93D.HSCTW END ERR M110 Przesunięcie wartości zliczanej następnej strefy (rozpoczynając od wskaźnika rejestru DR200) do wstępnie ustawionego rejestru DR4102 W przypadku, gdy jest to ostatnia strefa, M110 jest włączone. EN 65 LBL S : CN: D : 110 R4102 HSC1 PV Wykorzystanie FUN93 do zapisania wartości rejestru do wartości nastawionej PV dla HSC1 w układzie SoC. Wartość ta jest wartością przerwania dla zliczania w górę. CN =1, reprezentuje HSC1 D =1, reprezentuje PV 74.IMDI0 Natychmiastowe odświeżenie wyjść Y8~Y15 EN D : N : Y8 8 69 RTI 10-22
10.6 Szybki zegar FBs-PLC Minimalna jednostka zliczania (podstawa czasowa) standardowego PLC może wynosić maksymalnie 1ms. Do tego czasu należy dodać także odchyłkę czasu skanu. Dlatego też, w przypadku, gdy wymagana jest bardziej precyzyjna synchronizacja (np.: przy użyciu zegara we współpracy z HSC w celu pomiaru częstotliwości), konieczne jest zastosowanie szybkiego zegara (HST). FBs-PLC ma wbudowany szybki zegar (HSTA) o podstawie czasowej równej 16 bitów/0.1ms oraz, jak opisano wcześniej, cztery 32-bitowe szybkie liczniki (HSC0~HSC3) HHSC, które mogą pracować jako szybki zegar (HST0~HST3) o podstawie czasowej 32 bity/0.1ms. W związku z tym, FBs-PLC może być wyposażony maksymalnie w pięć szybkich zegarów. Wszystkie szybkie zegary mogą być włączane lub wyłączane (domyślnie są włączone) za pomocą instrukcji EN (FUN145) i DIS (FUN146). HSTA i HST0~HST3 opisane zostały poniżej. Najkorzystniejszą podstawą czasową dla większości standardowych PLC jest 10ms. Jednakże niektóre PLC mogą być wyposażone w szybki zegar o podstawie czasowej równej 1mS. W przypadku, gdy brane są pod uwagę odchylenia w czasie skanu PLC (np.: jeżeli czas skanu wynosi 10ms, podczas, gdy podstawa czasowa równa jest 1mS, to całkowite odchylenie w czasie nadal przekracza 10ms), wartość 1ms przestaje być znacząca. Dlatego też, takie rodzaje PLC nie mogą być zastosowane do precyzyjnej synchronizacji. FBs-PLC o podstawie czasowej równej 0.1ms nie wykazuje żadnych odchyleń w czasie skanu dzięki sygnałowi przerwania gwarantującego 100-krotnie większą precyzję niż w przypadku standardowego zegara PLC. Tak precyzyjne urządzenie może być wykorzystane w wielu zastosowaniach wymagających precyzyjnej synchronizacji. 10.6.1 Szybki zegar HSTA HSTA jest 16-bitowym zegarem sprzętowym wbudowanym w układ SoC. Jako licznik HHSC, musi on wykorzystywać instrukcję FUN93 (HSCTW) w celu ustawienia wartości PV dla HSTA w układzie SoC oraz instrukcję FUN92 (HSCTR) w celu odczytu CV. HSTA może być wykorzystany jako zegar charakteryzujący się dwiema różnymi funkcjami. FBs-PLC wykorzysta go jako ogólny 16-bitowy zegar opóźniający, gdy PV 2 oraz jako 32-bitowy zegar cykliczny, gdy PV=0. 10-22
A. 16-bitowy szybki zegar opóźniający HSTA Po rozpoczęciu synchronizacji przez HSTA, zegar opóźniający wygeneruje opóźnienie o długości PVx0.1ms przed wysłaniem przerwania. Kiedy PV>0, HSTA służy jako 16-bitowy zegar opóźniający, a jego wartość PV może być ustawiona jako 0002H~FFFFH, tj. czas opóźnienia może być ustawiony jako 0.2ms~6.5535 sekund. Poza bardziej precyzyjną podstawą czasową oraz możliwością natychmiastowego wysłania sygnału przerwania w celu zapewnienia większej precyzji zegara, zakres zastosowania HSTA jest identyczny jak w przypadku standardowego zegara. Poniżej przedstawiono schemat blokowy dla HSTA wykorzystywanego jako zegar opóźniający. Szczegóły dotyczące działania i zastosowania znajdują się w Rozdziale 10.6.3 "Przykłady programów". P o d s t 0.1mS. c z a s time. 0. base 1 m s CV R e jregister e s t r C V FUN92 (HSCTR) R4152 UP (HSTA) RPV e j eregister s t r P V R4154 16 bit 16 bit CV ( u(soc k ł a d Chip) S o C ) Komparator Comparator PV FUN93 (HSCTW) Wykorzystanie FUN93 do zapisania PV rejestru szybkiego zegara HSTA w układzie SoC pracującego jako zegar opóźniający (dla każdej nastawy zegara realizuje on przerwanie ze znacznikiem "HSTAI"). EN/DIS EN/DIS EN(FUN145)/ DIS(FUN146) PV=CV E t ykinterrupt i e t a p r zlabel e r w a n i a HSTAI H S TA I EN(FUN145) DIS(FUN146) S ync Timing/Non-timing h. / b r a k s yn c h PV 2 PV CV (R4152) HSTAI Td=0.1mS x PV Td1 _ Non-timing B r a k Td2 Td=Td1 + Td2 s yn c h r o n i z a c j i 10-23
B. 32-bitowy szybki zegar cykliczny HSTA Tak zwany "zegar cykliczny" jest zegarem, który dodaje 1 do swojej aktualnej wartości w każdym ustalonym okresie oraz w sposób ciągły przeprowadza cykliczne zliczanie. Jego wartość CV wynosić będzie 0, 1, 2, 2147483647, 2147483648, 2147483649, 4294967295, 0, 1, 2, (przy podstawie czasowej 0.1ms, łączny czas będzie równy CV x 0.1ms). Zegar cykliczny jest zegarem zliczającym w górę podstawy czasowej równej 0.1ms, mogącym pracować nieprzerwanie i być wykorzystanym do odczytania każdych dwóch zdarzeń w czasie ich wystąpienia oraz obliczenia przedziału czasowego pomiędzy pojawieniem się wspomnianych zdarzeń. Przedstawiony poniżej schemat B jest schematem blokowym dla HSTA wykorzystanego jako 32-bitowy zegar cykliczny. Jak widać na schemacie, gdy PV zegara cyklicznego wynosi 0, zegar ten nie wyśle sygnału przerwania. Aby uzyskać wartość zegara, należy użyć FUN92 w celu odczytania wartości CV z układu SoC i zapisania jej w 32-bitowym rejestrze CV (DR4152) PLC. Zegar cykliczny stosowany jest zazwyczaj w celu osiągnięcia większej precyzji przy detekcji prędkości obrotowej (obr./min.) w sytuacji, gdy zmiana takiej prędkości jest duża lub bardzo nieznaczna. Opis znajduje się w przykładzie w Rozdziale 10.6.3. Wykorzystanie FUN92 do odczytania wartości CV szybkiego licznika HSTA w układzie SoC oraz zapisania jej w rejestrze CV (DR4152) w celu powiadomienia użytkownika o czasie, który upłynął. R e j e s t r C V DR4152 FUN92 (HSCTR) (HSTA) ( u(soc k ł a d Chip) S o C ) R e j e s t r P V R4154 FUN93 (HSCTW) Wykorzystanie FUN93 do zapisania PV=0 w rejestrze nastaw szybkiego zegara HSTA w celu wykorzystania go jako 32-bitowy zegar cykliczny. 16 bit 16 bit 0.1mS Time base P o d s t. c z a s. 0. 1 m s UP CV PV EN/DIS EN(FUN145)/ DIS(FUN146) 2 4294967295 0 1 2147483647 2147483648 2147483649 4294967295 0 0.1mS 10-24
10.6.2 Szybki zegar opóźniający HST0~HST3 A. Szybki zegar opóźniający HST0~HST3 HHSC (HSC0~HSC3) może zostać skonfigurowany jako cztery 32-bitowe szybkie zegary opóźniające, HST0~HST3. Charakteryzują się tymi samymi funkcjami oraz podstawą czasową co 16-bitowy zegar opóźniający, z wyjątkiem tego, że w przypadku HST0~HST3, aby ustawić HHSC jako HST, należy jedynie wybrać "1" w opcji Wyboru Jednostki HSC/HST w punkcie 8 HSC/HST/INT FP-08 lub w konfiguracji WinProladder. Należy odnieść się do przykładu (pokazującego konfigurację HSC1 jako HST1) w Rozdziale 10.4 "Konfiguracja HSC/HST". Poniżej przedstawiono schemat blokowy dla HHSC ustawionego jako HST. Zakres zastosowań jest identyczny jak w przypadku 16-bitowego HSTA. Należy odnieść się do Rozdziału 10.6.4 "Przykłady programów". Wykorzystanie FUN92 do odczytania aktualnej wartości zegara w układzie SoC i zapisania jej w rejestrze CV CPU w celu powiadomienia użytkownika o aktualnej wartości zegara. Możliwość wykorzystania FUN93 do zapisania CV w układzie SoC w celu zresetowania wartości zegara. CV RRegister e j e s t r C V (CPU ( P a m ięć Internal w e w nęmemory) t r z n a C P U ) RPV e j eregister s t r P V ( P a(cpu m ięć Internal w e w nę t rmemory) z n a C P U ) DR4096 (HST0) DR4098 DR4100 (HST1) DR4102 DR4104 (HST2) DR4106 DR4108 (HST3) DR4110 Wykorzystanie FUN93 do zapisania PV w układzie SoC, który spełnia rolę nastawy do przerwania od zegara HST. FUN92 (HSCTR) FUN93 (HSCTW) ((SoC u k ł a d Chip) S o C ) FUN93 (HSCTW) P0.1mS o d s t. ctime z a s. base 0. 1 m s UP CV Komparator Comparator PV (HST0) (HST3) EN/DIS EN/DIS EN(FUN145)/ DIS(FUN146) P r z e rto w a ncpu i e D O C P U Interrupt E tinterrupt yk i e t y p rlabel z e r w ań (HST0) (HST1) (HST2) (HST3) HST0I HST1I HST2I HST3I B. 32-bitowy zegar cykliczny HST0~HST3 W zależności od wymagania, HHSC (HSC0~HSC3) można skonfigurować jako zegary 32-bitowe HST0~HST3. Co każde 0.1ms, rejestr aktualnych wartości zegara w układzie SoC będzie zwiększany o 1. Użytkownik może wykorzystać instrukcję FUN92 do odczytu aktualnej wartości zegara i zapisania jej do rejestrów CV (DR4096, DR4100, DR4104, i DR4108) CPU. W związku z tym, zawartość rejestru CV CPU będzie 0, 1, 2,, 7FFFFFFFH, 80000000H,., FFFFFFFFH, 0, 1, itp. wariacji wartości dla zegara 32-bitowego. Dzięki technice obliczania przedziału czasu pomiędzy dwoma zdarzeniami, można otrzymać nieskończoną liczbę 32-bitowych zegarów o podstawie czasowej 0.1ms. 10-25
10.6.3 Przykłady zastosowań szybkiego zegara HSTA Przykład 1 HSTA pracujący jako 32-bitowy zegar cykliczny M1 M1 EN EN 93DP.HSCTW S : CN: D : 0 HSTA PV 92 HSCTR HSTA Wykorzystanie FUN93 do zapisania ustawionej wartości do rejestru PV HSTA w układzie SoC. CN =4, reprezentuje HSTA D =1, reprezentuje PV Wykorzystanie FUN92 do odczytania aktualnej wartości zegara HSTA w układzie SoC i zapisania jej w DR4152 (DR4152 zmienia się cyklicznie na 0,1,2,,FFFFFFFF,0,1,2, Jednostka to 0.1ms) CN =4, reprezentuje HSTA Przykład 2 Przykład zastosowania zegara cyklicznego W przykładzie tym zastosowano HSTA jako zegar cykliczny współpracujący z HSC0 w celu odczytania przedziału czasowego do nagromadzenia 10 impulsów i wysłania sygnału przerwania po każdych 10 impulsach oraz natychmiastowego odszukania wymaganej wartości obr./min. (RPM) (liczba impulsów jest stała przy zmianie czasu). Mechanizm S i l n i k ( Y 0 p r a c a s i l n i k a ) ( X 1 w łą c z n i k ) C z u j n i k, n p. : f o t o k o m ó r k a ( 1 i m p u l s / o b r ó t ) Konfiguracja HSC i HST 1 Ponieważ HSTA jest wbudowany, konfiguracja nie jest wymagana. Należy po prostu ustalić PV =0 w celu ustawienia go jako 32-bitowy zegar cykliczny. 2 W celu rozpoczęcia współpracy z czujnikiem, należy ustawić HSC0 jako licznik zliczający w górę o pojedynczym wejściu (MD0, ale wykorzystać tylko wejście U). Wszystkie pozostałe ustawienia (polaryzacja wejść zliczających i sterujących) są stałe (nieodwrócone) i nie należy ich zmieniać. 10-26
Program główny M1924 EN 93D.HSCTW S : 0 CN: HSC0 D : CV Wykorzystanie FUN93 do zapisania wartości aktualnej 0 do rejestru CV dla HSC0 w układzie SoC (reset) CN =0, reprezentuje HSC0 D =0, reprezentuje CV EN 93D.HSCTW S : 10 CN: HSC0 D : PV Zapisanie wartości 10 do rejestru ustawień w układzie SoC. Wartość wyzwala przerwanie zliczania w górę: FUN93 CN=0 wskazuje na HSC0, a D=1 wskazuje na PV EN 93D.HSCTW S : 0 CN: HSTA D : PV Zapisanie wartości 0 do rejestru ustawień i konfiguracja HSTA jako 32-bitowy szybki zegar cykliczny. FUN93 CN=4 wskazuje na HSTA, a D=1 wskazuje na PV EN 92 HSCTR HSTA Odczyt aktualnej wartości zegara M1924 X1 M1 EN EN EN U/S EN 08D.MOV S : R4152 D : R2 66 JMP 1 12D.(-) Sa : R2 Sb : R4 D : R6 14D.( ) Sa : 6000000 Sb : R6 U/S D : R100 Y0 D=0 CY BR D=0 ERR Wartość początkowa rejestru CV dla HSTA przechowywana jest w DR2 ( ) Określenie przedziału dla każdego przerwania HSC0 N PRotating rę d k ość speed o b r. = 60 RPM T ( a k t. C V - p currentcv - N=10, T = CV 0.1mS = previouscv o p r z. C V ) 10000S 6000000 a więc: Protating rę d k ość speed o b r. = RPM CV R100=RPM M1 65 LBL 1 Usunięcie flagi obliczeń prędkości obrotowej RPM 10-27
Podprogram 65 LBL EN HSC0I 92 HSCTR HSTA Po każdym zliczeniu 10 impulsów przez HSC0, PLC automatycznie uruchomi ten podprogram przerwania. Odczyt CV dla HSTA EN 08D.MOV S : R2 D : R4 EN 08D.MOV S : R4152 D : R2 EN 93D.HSCTW S : 0 CN: HSC0 D : CV Wyzerowanie wartości aktualnej 69 RTI M1 M1=ON, flaga obliczeń RPM X0 HSC0 CV value W a r t ość C V 8 9 10 1 10 1 9 10 1 HSC0I PV value W a r t ość PV 10 10 10 10 10 10 CV Wartość value of CV HSTA dla (0.1ms HSTA time (podstawa basc) czasowa 0.1ms ) T = 10000 (1s) DT = 0.5s 15000 (1.5s) 200000 (20s) DT = 60s 800000 (80s) N RPM= x60 RPM= T =1200RPM N RPM= x60 T =10RPM RPM= 10-28
Przykład 3 HSTA pracujący jako program zegara opóźniającego główny Program M0 Podprogram EN 93DP.HSCTW S : 5 CN: HSTA D : PV Ustawienie okresu przerwania. Ustawienie S=5 spowoduje, że podprogram przerwania uruchamiany jest ze znacznikiem HSTAI co każde 0.5ms. Wykorzystanie FUN93 do zapisania wartości zadanej PV dla HSTA w układzie SoC, działającej jako wartość ustawioną dla funkcji przerwania. CN =4, reprezentuje HSTA D =1, reprezentuje PV 65 LBL HSTAI Podprogram przerwania z etykietą HSTAI. EN EN U/S 92 HSCTR 17D.CMP Sa : Sb : HSC0 R4096 R0 a=b a>b a<b Y0 Odczytanie aktualnej wartości z szybkiego licznika HSC0 co każde 0.5ms. Określenie, czy aktualna wartość zliczania jest większa lub równa R0. Jeżeli tak, Y0 będzie aktywne. EN 74.IMDI0 D : Y0 N : 1 69 RTI Natychmiastowa aktualizacja wyjścia Y0 w celu uzyskania szybkiej reakcji (w innym przypadku zaistnieje opóźnienie związane z czasem skanu). 10-29
10.6.4 Przykłady zastosowania szybkiego zegara HST0~HST3 Konfiguracja HSC i HST (za pomocą WinProladder) Kliknąć I/O Configuration w Project Windows: Project name (Nazwa projektu) System Configuration (Konfiguracja systemu) I/O Configuration (Konfiguracja We/Wy) Wybrać Timer/Counter (Zegar/Licznik) Po wyświetleniu się okna Timer/Counter, należy wybrać opcję "Hardware Timer" w polu Counter Type. Następnie można skonfigurować HHSC (szybki licznik sprzętowy) jako HHT (szybki zegar sprzętowy). Użytkownik nie musi konfigurować HSTA, ponieważ jest on ustawiony domyślnie. Konfiguracja wymagana jest tylko w przypadku ustawienia HHSC (szybkiego licznika sprzętowego) jako HHT (szybki zegar sprzętowy). Konfiguracja HSC i HST (za pomocą FP-08) HSC0 ustawiony jest jako HST0 HSC1 ustawiony jest jako HSC HSC1 ustawiony jest jako MD0 - szybki licznik zliczający w górę z pojedynczym wejściem. Pozostałe wejścia nie będą używane. Pozostałe ustawienia (polaryzacja zliczania i wejść sterujących) są domyślne (nieodwrócone) i nie mogą być zmieniane. 10-30
Przykład1 Przykład zastosowania zegara opóźniającego Jest to przykład konfiguracji HSC0 jako zegar opóźniający HST0 oraz podłączenia szybkiego licznika HSC1 z silnikiem obrotowym maszyny do wiercenia w drewnie, w celu wysłania sygnału przerwania w ustalonym czasie. Przy każdym wysłaniu sygnału przerwania, należy odczytać wartość z licznika. Następnie, poprzez porównanie zmiany prędkości obrotowej silnika w stanie jałowym (bez wiercenia) oraz podczas dociskania głowicy do materiału (podczas wiercenia), można obliczyć prędkość obrotową silnika (obr./min. - RPM). Oczywiste jest, że w przypadku, gdy głowica wiercąca będzie ostra, to opór będzie mniejszy, a prędkość obrotowa będzie większa niż w przypadku tępej głowicy. Jeżeli głowica wiercąca jest uszkodzona, urządzenie pracuje na najwyższych obrotach. Zazwyczaj, różnica w prędkości obrotowej pomiędzy tymi trzema stanami pracy nie jest znaczna i w wielu wypadkach nie może być wykryta przez standardowy zegar charakteryzujący się odchyleniem czasowym większym niż kilkadziesiąt ms. Jednak przy zastosowaniu HST o podstawie czasowej równej 0.1mS, stan głowicy wiercącej (normalna, tępa lub uszkodzona) może zostać wykryty, a co za tym idzie, wysłany może zostać sygnał ostrzegawczy lub praca może zostać przerwana umożliwiając w ten sposób wymianę głowicy. Czas jest stały, a liczba impulsów zmienna Mechanizm Program główny Motor S i l n i k X4 ((Y0 p r a cmotor a s i l ndriving) i k a Y 0 ) Light C zuj nchopper i k, n p. : (X1 starting switch) (8 pulses/revolution) ( w łą c z n i k X 1 ) f o t o k o m ó r k a ( 8 i m p u l s ó w / o b r ó t ) U PLC HSC1 FUN92 HST0 INT M 1 9 2 4 E N 9 3 D.H S C T W S : 0 C N : H S C 1 D : C V Wykorzystanie FUN93 do zresetowania rejestru wartości aktualnych w układzie SoC. FUN93 CN=1 wskazuje HSC1, a D=0 wskazuje CV 9 3 D.H S C T W E N S : C N : D : 5 0 H S T 0 P V Ustawienie wartości PV dla HST0 na 50, tj. jedno przerwanie co każde 5mS (50 0.1mS) 9 3 D.H S C T W E N S : C N : D : 0 H S T 0 C V Początkową wartością rejestru CV dla HST0 jest 0 X 1 Y 0 T 0 E N E N.0 1 S T 0 5 0 0 1 1 2.B K C M P R s : R 0 T s : R 1 0 0 L : 3 D : Y 8 T U P E R R Wykorzystanie FUN112 do porównania prędkości obrotowej głowicy wiercącej po 5 sekundach pracy silnika po uruchomieniu R0: Liczba impulsów HSC1 na każde 5mS 10-31
Podprogram 6 5 L B L H S T 0 I PLC uruchomi podprogram co każde 5mS E N 9 2 H S C T R 1 2 D.(-) H S C 1 Odczyt aktualnej wartości zliczonej przez HSC1 i wprowadzenie jej do DR4100 E N U /S S a : S b : D : R 4 1 0 0 R 2 R 0 D = 0 C Y Wyznaczenie przyrostu wartości CV dla HSC1 w przedziale 5ms i zapisanie wartości w DR0 B R 0 8 D.M O V E N S : D : 1 1 D.(+ ) R 4 1 0 0 R 2 E N U /S S a : S b : D : R 4 0 9 8 5 0 R 4 0 9 8 D = 0 C Y Obliczenie nowej wartości PV dla HSC0 B R 9 3 D.H S C T W Opis E N S : C N : D : 6 9 R T I R 4 0 9 8 H S T 0 P V Zakładając, że normalna prędkość obrotowa głowicy wiercącej wynosi 18000 obr./min., natomiast czujnik generować będzie 8 impulsów na jeden obrót, częstotliwość wejścia U dla HSC1 wynosi 18000/60 8=2400Hz, tj. co każde 5ms generowane będzie 12 impulsów. W związku z tym, HST0 można wykorzystać do wysłania sygnału przerwania i odczytania wartości CV dla HSC1 co każde 5ms w celu obliczenia prędkości obrotowej. 10-32
X4 W a r t ość HSC1 CV d l a H SCV C 1 value W a r t ość HSC0 CV d l a H SCV C 0 value W a r t ość HST0 PV d l a HPV S C 0 value 11 12 13 23 24 25 35 36 37 46 47 48 50 100 150 200 50 100 150 200 HST0I T (0.1mS time base) ( P o d s ta w a c z a s o w a 0. 1 m S ) DT = 5mS (50 x 0.1mS) DT = 5mS (50 x 0.1mS) DT = 5mS (50 x 0.1mS) HSC1 Z w ię k sincreased zo n a w a rvalue t ość C V Górna granica Dolna granica CV=12 (24-12) CV=12 (36-24) R101 R100 Y8 R103 R102 R0 ( CV) Y9 R105 R104 Y10 CV=12 (47-36) Ustawianie różnych górnych i dolnych granic w celu sklasyfikowania stanu prędkości obrotowej Przykład 2 Szybki zegar sprzętowy HST3 pracujący jako 32-bitowy zegar cykliczny M300 M300 EN EN 93DP.HSCTW S : 0 CN: HST3 D : CV 92 HSCTR HST3 Wyzerowanie rejestru wartości aktualnej przy zmianie M300 z 0 1, Wykorzystanie FUN 93 do zapisania wartości aktualnej 0 do rejestru CV dla HST3 (reset) w układzie SoC CN =3, reprezentuje HST3 D =0, reprezentuje CV Wykorzystanie FUN92 do odczytania wartości aktualnej dla HST3 w układzie SoC i zapisanie jej w rejestrze wartości aktualnej DR4108 (wartość DR4108 zmienia się cyklicznie z 0, 1, 2,, FFFFFFFF, 0, 1, 2, jednostką jest 0.1mS) CN =3, reprezentuje HST3 10-33
Przykład 3 Szybki zegar sprzętowy HST3 pracujący jako zegar wysyłający okresowe przerwania główny Program M1924 EN 146P DIS HST3I Włączenie M301. Zapobiega to przed okresowym wysyłaniem sygnału przerwania przez HST3 M301 M300 93DP.HSCTW EN S : 0 CN: HST3 D : CV Wyzerowanie rejestru wartości aktualnej przy zmianie M300 z 0 1, Wykorzystanie FUN93 do zapisania wartości aktualnej 0 do rejestru CV dla HST3 (reset) w układzie SoC CN=3 reprezentuje HST3; D=0 reprezentuje CV EN Podprogram EN 93DP.HSCTW S : CN: D : 145P EN 5 HST3 PV HST3I Ustawienie przedziału czasowego pomiędzy przerwaniami; PV=5 oznacza, że podprogram przerwania realizowany jest co każde 0.5ms z etykietą HST3I. Wykorzystanie FUN93 do zapisania wartości zadanej do rejestru PV dla HST3 w układzie SoC będącej zadanym czasem przerwania. CN=3 reprezentuje HST3; D=1 reprezentuje PV Realizacja przerwania HST3 65 LBL EN HST3I 92 H SCTR 112.BKCMP H SC 0 Podprogram przerwania szybkiego licznika sprzętowego z etykietą HST3I. Odczytanie wartości aktualnej szybkiego licznika sprzętowego HSC0 co każde 0.5ms. EN R s : Ts : L : D : R 4096 R1000 8 Y8 ERR Wyznaczenie, na którym bębnie elektronicznym nastąpiło zmniejszenie zliczanej wartości aktualnej i aktywacja odpowiedniego punktu wyjściowego. EN 74.IM D I0 D : Y8 N : 8 Natychmiastowa aktualizacja wyjścia Y8~Y15 EN 93D.H SCTW S : 0 C N : HST3 D : C V Wykorzystanie FUN93 do zapisania wartości aktualnej 0 do rejestru CV dla HST3 (reset) w układzie SoC CN=3 reprezentuje HST3; D=0 reprezentuje CV 69 R TI 10-34
Rozdział 11 Pozycjonowanie NC w FBs-PLC Użytkownicy do realizacji sterowania pozycją we wczesnej fazie wykorzystują często standardowy silnik. Ponieważ wymagania dotyczące prędkości i precyzji były dotychczas niewielkie, stanowiło to wystarczające rozwiązanie. Z biegiem czasu, z powodów wydajnościowych wzrastała mechaniczna prędkość robocza, podnoszone były wymagania jakościowe produktów, wymagania dotyczące precyzji, co spowodowało, że standardowy silnik nie jest w stanie kontrolować pozycji. Najlepszym rozwiązaniem tego problemu jest zastosowanie pozycjonowania NC, który steruje pozycjonowaniem we współpracy z silnikiem krokowym lub serwosilnikiem. W przeszłości, bardzo wysokie koszty ograniczały zastosowanie tego typu sterowania, jednakże postęp technologiczny i zmniejszenie kosztów czyniące rozwiązanie opłacalnym, przyczyniły się do jego stopniowego upowszechnienia. W celu dostosowania się do nowej tendencji, układ SoC w FBs-PLC wyposażono w specjalne funkcje pozycjonowania NC. Eliminuje to problem z przesyłem danych oraz procedurą połączenia pomiędzy PLC a sterownikiem pozycjonowania NC. Ponadto, spowodowało to znaczne zmniejszenie kosztu całej aplikacji i zapewniło użytkownikom wysoką jakość, łatwe i zintegrowane sterowanie pozycjonowaniem NC w PLC. 11.1 Metody pozycjonowania NC Metody control sterowania PLC, silnikiem krokowym lub serwosilnikiem następujące: Wysyłanie komend za pośrednictwem cyfrowych We/Wy: Łatwe w zastosowaniu, lecz mniejsza możliwość dostosowania do wymagań. Wysyłanie komend za pośrednictwem wyjścia analogowego: Szybka reakcja sterowania, lecz zwiększony koszt oraz podatność na zakłócenia. Wysyłanie komend za pośrednictwem komunikacji: Brak standardu komunikacyjnego i ograniczenie prędkości transmisji danych, co powoduje zawężenie zakresu zastosowań. Wysyłanie komend za pośrednictwem szybkich impulsów: Niski koszt i łatwe, precyzyjne sterowanie. Najczęściej używaną spośród wyżej wymienionych metod jest sterowanie silnika krokowego lub serwosilnika za pomocą szybkich impulsów. Jednostka główna PLC zawiera wieloosiowe szybkie wyjścia impulsowe oraz szybkie liczniki sprzętowe, umożliwiające łatwe użycie poprzez edycję programu pozycjonującego. Dzięki temu, zastosowanie staje się jeszcze bardziej wygodne i komfortowe. Niżej wymienione metody sterowania wykorzystują system NC stanowiący PLC połączony z dwoma serwonapędami: Sterowanie w pętli pół-zamkniętej PLC odpowiedzialny jest za wysłanie szybkiego impulsu do serwonapędu. Enkoder zainstalowany w serwosilniku wysyła sygnał bezpośrednio do serwonapędu. Pętla zamknięta obejmuje tylko serwonapęd i serwosilnik. Najkorzystniejszą cechą jest łatwe sterowanie przy satysfakcjonującej precyzji (wystarczającej przy większości zastosowań). Jedyną wadą jest to, że rozwiązanie to nie jest w stanie w pełni odzwierciedlić rzeczywistej wielkości położenia za elementem transmisyjnym; co więcej, jeżeli element się zużyje lub zostanie uszkodzony, nie będzie możliwości sprawdzenia ani zweryfikowania położenia. Sterowanie w pętli zamkniętej PLC odpowiedzialny jest za wysłanie szybkich impulsów do serwonapędu. Ponadto, sygnał z enkodera z serwosilnika zostanie przekazany bezpośrednio do serwonapędu. Czujnik położenia zainstalowany za elementem transmisyjnym jest w stanie w pełni odzwierciedlić wartość położenia oraz przekazać ją do szybkiego licznika w PLC. Pozwala to na bardziej precyzyjne sterowanie oraz uniknięcie problemów wyżej wymienionych w pół-zamkniętej pętli. 11.2 Współrzędna rzeczywista i względna Odległość ruchu może być wyznaczona na podstawie absolutnej pozycji (pozycjonowanie za pomocą współrzędnych absolutnych) lub odległości względnej (pozycjonowanie za pomocą współrzędnych względnych). Do sterowania silnikiem wykorzystywana jest instrukcja DRV. Przy wyznaczaniu odległości ruchu na podstawie współrzędnych absolutnych, przy przesunięciu ze 100mm na 300 mm, instrukcją pozycjonowania będzie: przy przesunięciu ze 300mm na 0 mm, instrukcją pozycjonowania będzie: Przy wyznaczaniu odległości ruchu na podstawie współrzędnych względnych, przy przesunięciu ze 100mm na 300 mm, instrukcją pozycjonowania będzie: przy przesunięciu ze 300mm na 0 mm, instrukcją pozycjonowania będzie: DRV ABS,,300, Ut DRV ABS,, 0, Ut. DRV ADR, +, 200, Ut. DRV ADR,, 300, Ut. 11-1
... Oznaczanie współrzędnych absolutnych Kodowanie programu dla przesunięcia z 300mm na 0mm: DRV ABS,, 0,Ut... -100 0 100 200 300... Kodowanie programu dla przesunięcia z 100mm na 300mm:... DRV ABS,,300,Ut Oznaczenie współrzędnych względnych Kodowanie programu dla przesunięcia z 300mm na 0mm: DRV ADR,-,300,Ut -100 0 100 200 300 Kodowanie programu dla przesunięcia z 100mm na 300mm: DRV ADR,+,200,Ut 11.3 Procedury realizacji pozycjonowania FBs-PLC Start Konfiguracja funkcji szybkich wyjść impulsowych (HSPSO) pod WinProladder lub konfiguracja funkcji FP-08. Przełączenie wyjścia Y0~Y7 w FBs-PLC na obwód HSPSO w układzie SoC, wyznaczenie trybu pracy dla impulsu wyjściowego (U/D, PLS/DIR, A/B) i realizacja połączeń sprzętowych pomiędzy PLC a sterownikiem napędu. ------ Schemat połączeń znajduje się w rozdziale 11.4.2. Każda oś silnika sterowana jest za pomocą jednej funkcji FUN140 (funkcji do jednej osi może być więcej, ale w jednej chwili może być aktywna tylko jedna). Następnie, program sterujący pozycjonowaniem wykorzystuje rozszerzoną listę instrukcji pozycjonowania (SPD, DRV, itp.), która zostanie zapisana w rejestrach wyznaczonych przez argument SR FUN140. Funkcja FUN140 rozpocznie sterowanie pozycjonowaniem. ------ Opis funkcjonowania i zastosowania znajduje się w rozszerzonej instrukcji pozycjonowania FUN140. Do przeprowadzenia sterowania w pętli zamkniętej wykorzystany może być szybki licznik sprzętowy FBs-PLC w celu zliczenia impulsów zwrotnych (np.: enkodera, itp.). Koniec 11-2
11.4 Opis sprzętu do sterowania pozycjonowaniem FBs-PLC 11.4.1 Budowa obwodu wyjściowego HSPSO W zależności od różnych jednostek głównych, sterownik generuje impuls wyjściowy o różnych częstotliwościach. PLC wykorzystuje model wyjściowy tranzystora unipolarnego (FBS-xxMCT) 200 KHz (średnia prędkość) oraz model szybkiego wyjścia różnicowego (FBS-xxMNT), który może osiągnąć częstotliwość 920KHz (dla pojedynczej fazy). Jako wyjścia impulsowe wykorzystywane są wyjścia zewnętrzne Y0~Y7 FBs-PLC. Do czasu ich wykorzystania przez funkcję HSPSO (brak konfiguracji funkcji PSO), wyjściami zewnętrznymi Y0~Y7 FBs-PLC można sterować dowolnie z programu PLC. Po konfiguracji HSPSO, wyjście zewnętrzne Y0~Y7 przełączy się bezpośrednio na wyjście HSPSO w układzie SoC i nie będzie mogło być sterowane z programu PLC. Poniżej przedstawiona została szczegółowa lista sygnałów dla wyjść odpowiednich osi jednostki głównej oraz dostępne tryby wyjściowe: Nr osi. Wyjście zewn. Tryby wyjściowe wyjście U/D wyjście P/R wyjście A/B Pojedyncze wyj. PLS PSO0 Y0, Y1 Y0=U, Y1=D Y0=P, Y1=R Y0=A, Y1=B Y0=PLS PSO1 Y2, Y3 Y2=U, Y3=D Y2=P, Y3=R Y2=A, Y3=B Y2=PLS PSO2 Y4, Y5 Y4=U, Y5=D Y4=P, Y5=R Y4=A, Y5=B Y4=PLS PSO3 Y6, Y7 Y6=U, Y7=D Y6=P, Y7=R Y6=A, Y7=B Y6=PLS 11.4.2 Schemat połączeń sprzętowych dla pozycjonowania FBs-PLC Przykład osi zerowej (PSO0) jednostki głównej FBs-XXMCT, FBs-XXMAT i FBs-XXMNR(T) przedstawiony został poniżej w postaci schematów. Połączenie pozostałych osi jest takie samo. A. Schemat połączeń pojedynczego wyjścia FBS-XXMCT, FBs-XXMAT. FBs main unit Jednostka główna FBs Driver (photocouple input) Sterownik (wejście z optoizolacją) Y0 *R R A+ A- A phase F a z a A (or U or PLS) ( U l u b P L S ) + 5~24V DC Y1 C0 *R R B+ B- B phase F a z a B (or D or DIR) ( D l u b D I R ) ZExternal e w nę t r power z n e źró supply d ł o z a s i l a n i a *Wskazówki dotyczące wykorzystania rezystora "R" znajdują się w instrukcji sprzętowej H7-6. 11-3
Stero wnik (wejście OP) Driver (OP input) Jednostka głó wna FBs FBs main unit Y0 *R *R Va A A phase F a z a A (or U or PLS) ( U l u b P L S ) + 5~24VDC External power supply Zewnętrzne źródło zasil ania Y1 B B phase F a z a B (or D or DIR) ( D l u b D I R ) C0 C B Schemat połączeń wyjścia różnicowego FBS-XXMNR(T) FBS-XXMN PLC SteroDriver wnik (wejście (Photocouple z optoizolacją) input) Y0 Y0+ Y0- A+ A- A phase(or U or PLS) F a z a A ( U l u b P L S ) SG E k r a n o w a n a Twisted pair p a r a s k ręcona FG Y1 Y1+ Y1- B+ B- B phase(or D or DIR) F a z a B ( D l u b D I R ) FBS-XXMN PLC Driver Stero(Line wnik receiver (wejście input) odbiornika liniowego) Y0 Y0+ Y0- A+ A- A phase(or U or PLS) F a z a A ( U l u b P L S ) SG E k r a n o w a n a Twisted pair p a r a s k ręcona FG Y1 Y1+ Y1- B+ B- B phase(or D or DIR) F a z a B ( D l u b D I R ) (W przypadku wejścia odbiornika liniowego PLC należy podłączyć FG w celu eliminacji zakłóceń) 11-4
Konfiguracja HSPSO za pomocą WinProladder Kliknąć I/O Configuration w Project Windows: Project name (Nazwa projektu) System Configuration (Konfiguracja systemu) I/O Configuration (Konfiguracja We/Wy) wybrać Output Setup (Ustawienia Wyjść) Po wyświetleniu się okna "Output Setup", należy skonfigurować rodzaj wyjścia : 11.5 Opis funkcji sterowania pozycją FBs-PLC Funkcja sterowania pozycją FBs-PLC wykorzystuje dedykowane funkcje sterowania NC wbudowane w PLC. Umożliwia to wykorzystywanie przez PLC do sterowania NC jednego bloku danych bez potrzeby przeprowadzania skomplikowanych czynności, takich jak wymiana danych i sterowanie zsynchronizowane pomiędzy tymi PLC a układem NC. Jedna jednostka główna może sterować maksymalnie 4 osiami oraz realizować jednocześnie sterowanie wieloosiowe. Oprócz pozycjonowania punkt po punkcie oraz sterowania prędkością, jednostka realizuje także funkcję interpolacji liniowej. Kiedy system wymaga sterowania więcej niż 4 osiami, jednostka może wykorzystać funkcję CPU LINK w FBs-PLC w celu realizacji sterowania większą liczbą osi. Instrukcje sterowania pozycją NC dla jednostek głównych FBs-XXMC i FBs-XXMN są identyczne. Jedyną różnicą są inne obwody wyjściowe (jak opisano wcześniej). W niniejszym dokumencie założono, że jednostka główna FBs-XXMCT wykorzystywana jest do sterowania silnikiem krokowym lub serwosilnikiem o małej prędkości, natomiast jednostka główna FBs-XXMN do sterowania serwosilnikiem o dużej prędkości. Poniżej, zilustrowany został schemat połączeń jednostki głównej FBs-XXMCT sterującej silnikiem krokowym oraz schemat jednostki głównej FBs-XXMN sterującej serwosilnikiem. Oczywiście, do sterowania serwosilnikiem wykorzystać można jednostkę główną FBs-XXMCT lub jednostkę główną FBs-XXMN do sterowania silnikiem krokowym. Należy pamiętać o zgodności sprzętowej wyjść sterownika PLC z wejściami sterującymi napędów. 11-5
11.5.1 Interfejs silnika krokowego Jednostka główna FBs-XXMCT Sygnał zadany, np.: impuls, "krok" Sygnał zadany, np.: impuls, "kierunek" Sterownik silnika krokowego Silnik krokowy sygnał fazy Z Sygnał zadany, np.: impuls "krok" Sygnał zadany, np.: impuls "kierunek" Sterownik silnika krokowego Silnik krokowy sygnał fazy Z Sygnał zadany, np.: impuls "krok" Sygnał zadany, np.: impuls "kierunek" Sterownik silnika krokowego Silnik krokowy sygnał fazy Z Sygnał zadany, np.: impuls "krok" Sygnał zadany, np.: impuls "kierunek" Sterownik silnika krokowego Silnik krokowy sygnał fazy Z Silnik krokowy służy do odbierania impulsu wyjściowego w celu uzyskania żądanego kąta lub odległości, co umożliwi dodatnią korelację zliczania impulsów wejściowych przy prędkości obrotowej zależnej od częstotliwości impulsu wejściowego. N : Prędkość obrotowa silnika (obr./min.) N (obr./min.) = 60 f / n f : Częstotliwość impulsowa (impulsy/sek.) n : Liczba impulsów potrzebna do wykonania jednego obrotu przez silnik (impulsy/obr.) n = 360 / θs θs : Kąt (Stopnie) Liczba faz 5 faz Podstawowy kąt impulsowy Kąt impulsowy Praca pełny krok Liczba impulsów dla jednego obrotu Kąt impulsowy Praca półkrokowa Liczba impulsów dla jednego obrotu 0.36 0.36 1000 0.18 2000 0.72 0.72 500 0.36 1000 4 fazy 0.90 0.90 400 0.45 800 2 fazy 1.80 1.80 200 0.90 400 11-6
11.5.2 Interfejs serwosilnika Jednostka główna FBs-XXMN Sygnał UP, PLS, A Sygnał DN, DIR, B Serwonapęd CLR (Zerowanie licznika błędów serwo) PG0 (Sygnał fazy Z) DOG (Bazowanie) SERWO "GOTOWY" SERWO "KONIEC" Sygnał UP PLS A Sygnał DN DIR B CLR (Zerowanie licznika błędów serwo) PG0 (Sygnał fazy Z) DOG (Bazowanie) SERWO "GOTOWY" SERWO "KONIEC" Sygnał UP PLS A Sygnał DN DIR B CLR (Zerowanie licznika błędów serwo) PG0 (Sygnał fazy Z) DOG (Bazowanie) SERWO "GOTOWY" SERWO "KONIEC" Sygnał UP PLS A Sygnał DN DIR B Poza W CLR (Zerowanie licznika błędów serwo) PG0 (Sygnał fazowy Z) DOG (Bazowanie) SERWO "GOTOWY" SERWO" KONIEC" pozycjami Y0~Y7 w powyższym schemacie, które służą celom dedykowanym, pozycje Y8~Y11 oraz odpowiadające im wejścia mogą być ustawiane według potrzeb użytkownika. celu zapewnienia prawidłowej pracy, do PLC należy podłączyć także czujniki krańcowe. 11-7
11.5.3 Schemat pracy serwosilnika Serwonapęd Jednostka główna FBs-XXMN Impuls obrotu w przód Impuls obrotu w tył Zerowanie licznika błędów (CLR) Pozycja osiągnięta (Koniec) Licznik w górę/w dół Licznik błędów Odchyłka Konwersja D/A Impuls zwrotny Konwersja F -> V Serwosilnik wzmacniacz Enkoder serwosilnika wysyła do serwosilnika sygnał zwrotny położenia. Sterownik odbiera informacje o częstotliwości i liczbie impulsów w sygnale wyjściowym (komenda impulsowa) oraz częstotliwość i liczbę impulsów w sygnale zwrotnym przetworzonym przez wewnętrzny licznik błędów i obwód przetwornika częstotliwość-napięcie, a także informacje o odchyłkach w liczbie impulsów oraz prędkości obrotowej. Wykorzystanie tych informacji do sterowania serwosilnikiem umożliwia uzyskanie dużej prędkości, wysokiej precyzji oraz prawidłowej pracy systemu sterowania pozycją w zamkniętej pętli. Prędkość obrotowa serwosilnika zależy od częstotliwości impulsowej sygnału wejściowego; obrót silnika zależny jest od liczby zliczonych impulsów. Ogólnie rzecz biorąc, ostateczna odchyłka sterowania serwosilnikiem wynosi ±1 impuls. 11.6 Opis funkcji dla sterowania pozycją NC Do sterowanie pozycją NC w FBs-PLC wykorzystywane są następujące cztery instrukcje: Instrukcja szybkiego wyjścia impulsowego FUN140 (HSPSO) zawierająca 9 następujących instrukcji pozycjonowania: Wykorzystywane do kodowania programu 1. SPD 4. DRVZ 7. EXT 2. DRV 5. WAIT 8. GOTO pozycjonującego i zapisywane w SR 3. DRVC 6. ACT 9. MEND FUN140 Instrukcja ustawień parametru pozycjonowania FUN141 (MPARA) Instrukcja wymuszająca zatrzymanie impulsu wyjściowego FUN142 (PSOFF). Instrukcja konwersji aktualnej wartości impulsów na wartość wyświetlaną FUN143 (PSCNV) Instrukcja bardzo szybkiego wyjścia impulsowego FUN147(MHSPO) zawierająca 7 następujących instrukcji pozycjonowania: Wykorzystywane do kodowania programu 1. SPD 4. WAIT 7. MEND 2. LIN 5. EXT pozycjonującego i zapisywane w polu 3. LINE 6. GOTO argumentu SR FUN147 Opisy poniższych funkcji dotyczą wyżej wymienionych 5 instrukcji: 11-8
Funkcje pozycjonowania NC FUN 140 HSPSO Szybkie wyjście impulsowe (do pozycjonowania NC) FUN 140 HSPSO Sterowanie Execution wykonaniem control Przerwa Pause Abort Anuluj Ladder symbol SYMBOL DRABINKOW Y 140.HSPSO EN Ps : SR : INC WR : ABT ACT ERR DN W Acting toku Błąd Error Wykonano Done Ps : Ustawiona wartość wyjścia impulsowego (0~3) 0:Y0 & Y1 1:Y2 & Y3 2:Y4 & Y5 3:Y6 & Y7 SR: Rejestr początkowy programu pozycjonowania (wyjaśnienie przykładowe) WR: Rejestr początkowy operacji (wyjaśnienie przykładowe). Steruje 7 rejestrami, których inny program nie może powtórzyć. Zakres Argument Ps HR DR ROR K R0 R3839 D0 D3999 R5000 R8071 SR WR * 0~3 Wyjaśnienie instrukcji 1. Program pozycjonowania NC instrukcji FUN140 (HSPSO) jest programem tworzonym i edytowanym poprzez programowanie tekstowe. Każda pozycja określana jest jako krok (na który składa się częstotliwość wyjściowa, odległość przesunięcia i warunki transferu). Maksymalna liczba punktów pozycjonowania dla jednej FUN140 wynosi 250, gdzie każdy krok sterowany jest przez 9 rejestrów. 2. Największą korzyścią z przechowywania programu pozycjonowania w rejestrach jest to, że w przypadku powiązania z MMI, istnieje możliwość zapisania i ponownego załadowania programu pozycjonowania przez MMI przy wymianie form. 3. Jeżeli przy EN =1, inne instrukcje FUN140 sterujące Ps0~3 będą nieaktywne (odpowiedni stan Ps0=M1992, Ps1=M1993, Ps2=M1994 i Ps3=M1995 będzie włączony), program rozpocznie od następnego punktu pozycjonowania (kiedy dotrze do ostatniego kroku, zostanie zrestartowany do kroku pierwszego); jeżeli Ps0~ 3 sterowane jest przez inna instrukcję FUN140 (odpowiedni stan Ps0=M1992, Ps1=M1993, Ps2=M1994 i Ps3=M1995 będzie wyłączony), instrukcja ta odbierze impuls wyjściowy sterujący w prawo w momencie wysłania impulsu w prawo przez FUN140. 4. Jeżeli wejście sterujące EN =0, wyjście impulsowe zostanie natychmiast zatrzymane. 5. Jeżeli sygnał przerwy na wyjściu PAU =1 i EN był wcześniej równy 1, nastąpi przerwanie wyjścia impulsowego. Jeżeli sygnał przerwy na wyjściu PAU =0, a EN będzie nadal równy 1, nastąpi kontynuacja pracy wyjścia impulsowego. 6. Jeżeli sygnał anulowania wyjścia " ABT =1, nastąpi natychmiastowe zatrzymanie wyjścia impulsowego. (Jeżeli wejście sterujące "EN" będzie następnym razem równe 1, nastąpi restart i praca rozpocznie się od pierwszego kroku punktu pozycjonowania. 7. W czasie transmisji sygnału wyjściowego, wskaźnik wyjścia "ACT" będzie aktywny. 8. Jeżeli pojawi się błąd wykonania, na wyjściu uaktywni się wskaźnik "ERR".. (Kod błędu zostanie zapisany w rejestrze kodów błędów) 9. Po zakończeniu kroku punktu pozycjonowania, wskaźnik wyjścia "DN" będzie włączony. 11-9
Funkcje pozycjonowania NC FUN 140 HSPSO Szybkie wyjście impulsowe (pozycjonowania NC) FUN 140 HSPSO *** Tryb pracy wyjścia impulsowego musi być ustawiony (bez ustawienia, Y0~Y7 traktowane będą jak wyjścia ogólne) jako jeden z trybów U/D, P/R lub A/B, aby wyjście impulsowe było wyjściem standardowym. Tryb U/D : Y0 (Y2, Y4, Y6), wysyła impuls zliczania w górę. Y1 (Y3, Y5, Y7), wysyła impuls zliczania w dół. Tryb P/R : Y0 (Y2, Y4, Y6), wysyła impuls zewnętrzny. Y1 (Y3, Y5, Y7), wysyła sygnał kierunkowy; ON = zliczanie w górę, OFF= zliczanie w dół. Tryb A/B : Y0 (Y2, Y4, Y6), wysyła impuls fazowy A. Y1 (Y3, Y5, Y7), wysyła impuls fazowy B. Polaryzację wyjścia impulsowego można ustawić jako normalnie włączoną lub normalnie wyłączoną. Interfejsy sterowania pozycjonowaniem M1991 M1992 M1993 M1994 M1995 M1996 M1997 M1998 WŁ: zatrzymanie lub przerwa FUN140, zwolnienie i zatrzymania wyj. impuls. WYŁ: zatrzymanie lub przerwa FUN140, natychmiast zatrzymaj wyj. impuls. WŁ : Ps0 gotowy WYŁ : Ps0 pracuje WŁ : Ps1 gotowy WYŁ : Ps1 pracuje WŁ : Ps2 gotowy WYŁ : Ps2 pracuje WŁ : Ps3 gotowy WYŁ : Ps3 pracuje WŁ : Ps0 zakończył ostatni krok WŁ : Ps1 zakończył ostatni krok WŁ : Ps2 zakończył ostatni krok M1999 WŁ : Ps3 zakończył ostatni krok M2000 : WŁ, wiele osi pracuje równocześnie (Przy tym samym skanie, gdy sterowanie EN = 1 dla instrukcji FUN140 sterujących Ps0~3, ich impulsy zostaną wysłanie w tym samym momencie bez opóźnienia). : WYŁ, gdy FUN140 dla Ps0~3 rozpocznie się, nastąpi natychmiastowe wysłanie impulsu wyjściowego; ponieważ program drabinkowy wykonywany jest sekwencyjnie, to nawet, gdy FUN140 dla Ps0~3 została rozpoczęta przy tym samym skanie, to pomiędzy nimi musi być jakaś przerwa. Aktualna częstotliwość Aktualna pozycja Pozostała liczba zliczeń Nr Ps Kod błędu na wyjściu impulsu impulsów do przesłania Ps0 DR4080 DR4088 DR4072 R4060 Ps1 DR4082 DR4090 DR4074 R4061 Ps2 DR4084 DR4092 DR4076 R4062 Ps3 DR4086 DR4094 DR4078 R4063 R4056 : Jeżeli wartość młodszego bajtu=5ah, to może być ona w każdej chwili zmieniona dynamicznie na częstotliwość wyjściową podczas transmisji szybkiego impulsu wyjściowego. Jeżeli wartość młodszego bajtu nie wynosi 5AH, to nie może być ona zmieniona dynamicznie na częstotliwość wyjściową podczas transmisji szybkiego impulsu wyjściowego. Domyślna wartość R4056 wynosi 0 11-10
Funkcje pozycjonowania NC FUN 140 HSPSO Szybkie wyjście impulsowe (do pozycjonowania NC) FUN 140 HSPSO R4064 : Numer zakończonego kroku (punktu pozycjonowania) Ps0. R4065 : Numer zakończonego kroku (punktu pozycjonowania) Ps1. R4066 : Numer zakończonego kroku (punktu pozycjonowania) Ps2. R4067 : Numer zakończonego kroku (punktu pozycjonowania) Ps3. Format programu pozycjonowania: SR: Rejestr początkowy bloku rejestrów do przechowywania programu pozycjonowania: SR A55AH Rejestr startowy programu musi być A55AH SR+1 Suma kroków 1~250 SR+2 SR+3 SR+4 SR+5 SR+6 SR+7 Pierwszy punkt pozycjonowania (krok) programu pozycjonowania (każdy krok zajmuje 9 rejestrów). SR+8 SR+9 SR+10 N-ty krok programu pozycjonowania. SR+N 9+2 11-11
Funkcje pozycjonowania NC FUN 140 HSPSO Szybkie wyjście impulsowe (do pozycjonowania NC) FUN 140 HSPSO Wyjaśnienie dla rejestrów roboczych WR:: WR jest rejestrem początkowym. WR+0 Krok realizowany lub zatrzymany krok WR+1 WR+2 WR+3 WR+4 WR+5 WR+6 Flaga robocza Sterowany przez system Sterowany przez system Sterowany przez system Sterowany przez system Sterowany przez system WR+0 : Jeżeli instrukcja jest wykonywana, zawartość tego rejestru reprezentuje realizowany krok (1~N). Jeżeli instrukcja nie jest wykonywana, zawartość tego rejestru reprezentuje krok, w którym nastąpiło zatrzymanie. Jeżeli EN =1, nastąpi wykonanie następnego kroku, tj. aktualny krok plus 1 (jeżeli aktualny krok jest krokiem ostatnim, nastąpi wykonanie pierwszego kroku). Przed rozpoczęciem sterowania EN =1, użytkownik może zaktualizować zawartość WR+0 w celu określenia pierwszego kroku do wykonania (jeżeli zawartość WR+0 =0, a "EN"=1, oznacza to, że wykonanie rozpocznie się od pierwszego kroku). WR+1 : B0~B7, suma kroków B8 = WŁ, pauza w wysyłaniu impulsów B9 = WŁ, oczekiwanie na spełnienie warunków przejścia B10 = WŁ, wyjście nieograniczone (argument przemieszczenia komendy DRV ustawiony jest na 0 ) B12 = WŁ, transmisja impulsów w na wyjściu (stan wskaźnika wyjścia ACT ) B13 = WŁ, błąd wykonania instrukcji (stan wskaźnika wyjścia ERR ) B14 = WŁ, zakończenie wykonywanego kroku (stan wskaźnika wyjścia DN ) *** Po zakończeniu kroku, wskaźnik wyjścia "DN" zostanie włączony. W przypadku zawieszenia, stan ten zostanie zachowany. Użytkownik może wyłączyć stan "DN" za pomocą wyzerowania rejestru WR+1. 11-12
FUN 140 HSPSO Rejestr błędu Kod błędu R4060(Ps0) 0 : Brak błędu R4061(Ps1) 1 : błąd parametru 0 R4062(Ps2) 2 : błąd parametru 1 R4063(Ps3) 3 : błąd parametru 2 4 : błąd parametru 3 5 : błąd parametru 4 6 błąd parametru 5 7 : błąd parametru 6 8 : błąd parametru 7 9 : błąd parametru 8 10 : błąd parametru 9 13 błąd parametru 12 15 błąd parametru 14 Szybkie wyjście impulsowe (do pozycjonowania NC) 30 : Błąd adresu dla ustawienia prędkości 31 : Błąd wartości ustawionej prędkości 32 : Błąd adresu dla przemieszczenia 33 : Błąd wartości ustawionej przemieszczenia 34 : Nieprawidłowy program pozycjonowania Funkcje pozycjonowania NC FUN 140 HSPSO Możliwe kody błędów przy wykonywaniu FUN141 35 : Błąd ilości kroków Możliwe kody błędów przy 36 : Aktualny krok większy od sumy kroków wykonywaniu FUN140 37 : Błąd wyjściowej częstotliwości 38 : Błąd częstotliwości start/stop 39 : Przekroczenie zakresu wartości dla ruchu 40 : Przekroczenie zakresu kompensacji przemieszczenia 41 : Pozycjonowanie ABS niedozwolone dla komend DRVC 42 : Instrukcja DRVC uniemożliwia adresowanie ABS 50 : Nieprawidłowy tryb pracy DRVZ 51 : Nieprawidłowy numer wejścia DOG 52 : Nieprawidłowy numer wejścia PG0 53 : Nieprawidłowy numer wyjścia CLR 60 : Nieprawidłowa komenda interpolacji liniowej Uwaga : W rejestrze błędów zapisywany będzie ostatni kod błędu. Po upewnieniu się, ze nie wystąpią następne błędy, zawartość rejestru można wyzerować. Zerowa wartość rejestru wskazuje na brak błędów. Edycja tabeli programu serwo za pomocą WinProladder Kliknij Servo Program Table w oknach projektu : Project name (Nazwa projektu) Table Edit (Edycja tabeli) Servo Program Table (Tabela programu serwo) Wybrać New Table 11-13
Funkcje pozycjonowania NC FUN 140 HSPSO Szybkie wyjście impulsowe (do pozycjonowania NC) FUN 140 HSPSO Table Type : Brak możliwości edycji Servo Program Table. Table Name : Wybierz nazwę tabeli. Table Starting address : Wprowadź adres rejestru początkowego w tabeli programu serwo. 11-14
Funkcje pozycjonowania NC FUN 140 HSPSO Szybkie wyjście impulsowe (do pozycjonowania NC) FUN 140 HSPSO W celu zapewnienia łatwego programowania i rozwiązywania problemów, WinProladder umożliwia programowanie tekstowe programu sterującego ruchem (tabela programu serwo) przy wykonywaniu instrukcji FUN140; Wprowadź najpierw instrukcję FUN140, a następnie przesuń na nią kursor na odpowiednią pozycję i naciśnij "Z". Umożliwi to edycję tekstową. Użytkownik może stworzyć nowy program sterujący ruchem lub wyświetlić istniejący program za pomocą przyjaznego użytkownikowi interfejsu. Rozszerzone instrukcje pozycjonowania są następujące: Instrukcja Argument Opis SPD DRV XXXXXX lub Rxxxx lub Dxxxx, ADR,+,XXXXXXXX,Ut ADR,+,XXXXXXXX,Ps ADR,,XXXXXXXX,Ut ADR,,XXXXXXXX,Ps ADR XXXXXXXX,Ut ADR, XXXXXXXX,Ut ADR XXXXXXXX,Ps ADR, XXXXXXXX,Ps ADR,+,Rxxxx,Ut ADR,+,Rxxxx,Ps ADR,,Rxxxx,Ut ADR,,Rxxxx,Ps ADR,Rxxxx,Ut ADR,Rxxxx,Ps ADR,+,Dxxxx,Ut ADR,+,Dxxxx,Ps ADR,,Dxxxx,Ut ADR,,,Dxxxx,Ps ADR,,Dxxxx,Ut ADR,Dxxxx,Ps ABS XXXXXXXX,Ut ABS, XXXXXXXX,Ut ABS XXXXXXXX,Ps ABS, XXXXXXXX,Ps ABS,Rxxxx,Ut ABS,Rxxxx,Ps ABS,Dxxxx,Ut ABS,Dxxxx,Ps Prędkość ruchu wyrażona w częstotliwości lub prędkości (Parametr_0=0 dla FUN141 oznacza prędkość; Parametr_0=1 lub 2 oznacza częstotliwość; w systemie domyślnie ustawiona jest częstotliwość). Argument może być wprowadzony bezpośrednio jako stała lub zmienna (Rxxxx, Dxxxx); jeżeli argument jest zmienną, wymaga on 2 rejestrów, np.: D10 reprezentuje D10 (młodsze słowo) i D11 (starsze słowo), będące ustawieniem częstotliwości lub prędkości. Jeżeli wybrane zostanie ustawienie prędkości, system automatycznie przekonwertuje ustawienie prędkości na odpowiednią częstotliwość wyjściową. Zakres częstotliwości wyjściowej: 1-921600 Hz. *** Jeżeli częstotliwość wyjściowa równa jest 0, instrukcja będzie czekać na zmianę tej wartości. Ustawienie skoku w Ps lub mm, stopniach, calach (Jeżeli Parametr_0=1 dla FUN141, to jednostką skoku dla Ut jest Ps; Jeżeli Parametr_0=0 lub 2, to jednostką skoku dla Ut jest mm, stopnie, cale; jednostką domyślną jest Ps). Jeżeli czwartym argumentem DRV jest Ut (nie Ps), to według ustawienia parametrów 1, 2, 3 dla FUN141, system przekonwertuje zliczoną wartość impulsów na wyjściu. Instrukcja DRV może być złożona z 4 argumentów: 1 argument: wybór współrzędnych. ADR lub ABS: ADR, ruch względny ABS, ruch bezwzględny 2 argument: wybór kierunku obrotu (tylko dla ADR). '+', w przód lub w prawo ' ', w tył lub w lewo ' ',kierunek określany jest przez ustawioną wartość (wartość dodatnia: w przód; wartość ujemna: w tył) 3 argument: ustawienie przemieszczenia XXXXXXXX: lub XXXXXXXX lub Rxxxx lub Dxxxx XXXXXXXX: lub XXXXXXXX lub Rxxxx lub Dxxxx *** Jeżeli ustawienie skoku równe jest 0, a 1 argumentem jest ADR, oznacza to nieskończoną ilość obrotów. Zakres ustawienia przemieszczenia: 99999999 przemieszczenie 99999999 4 argument: rozdzielczość ustawienia przemieszczenia Ut lub Ps: dla Ut, rozdzielczością jest jedna jednostka; (określana jest przez parametr 0, 3 dla FUN141); dla Ps, rozdzielczością jest jeden impuls. 11-15
Funkcje pozycjonowania NC FUN 140 HSPSO Szybkie wyjście impulsowe (do pozycjonowania NC) Instrukcja Argument Opis DRVC ADR,+,XXXXXXXX,Ut lub lub lub lub ABS,, Rxxxx,Ps lub Dxxxx FUN 140 HSPSO + Wykorzystanie DRVC i opis argumentu są takie same jak w przypadku instrukcji DRV. *** DRVC wykorzystywana jest do sterowania płynna zmianą proędkości kolejnych kroków ( max 8 kroków) *** Przy sterowaniu zmianą kolejnych prędkości, pierwsza instrukcja DRVC może wykorzystać do pozycjonowania współrzędną absolutną. *** Kierunek obrotu DRVC wyznaczany jest jedynie przez lub. *** Kierunek obrotu może być wyznaczony tylko przez pierwszą instrukcję DRVC; tzn: ciągłe sterowanie zmianą prędkości może być realizowane tylko w jednym kierunku. Na przykład: sterowanie zmianą prędkości dla 3 kroków 001 SPD 10000 DRVC ADR,+,20000,Ut GOTO NEXT 002 SPD 50000 DRVC ADR,+,60000,Ut GOTO NEXT 003 SPD 3000 DRV ADR,+,5000,Ut WAIT X0 GOTO 1 * Częstotliwość impulsu = 10KHz. * 20000 jednostek w przód. * Częstotliwość impulsu =50 KHz * 60000 jednostek w przód. * Częstotliwość impulsu = 3KHz. * 5000 jednostek w przód. * Odczekaj na włączenie X0 ON, aby rozpocząć od pierwszego kroku. Uwaga: Liczba instrukcji DRVC musi być liczbą kolejnych prędkości minus 1, tzn.: sterowanie zmianą kolejnej prędkości musi kończyć się instrukcją DRV. Powyższy przykład odnosi się do sterowania zmianą prędkości w kolejnych 3 krokach przy wykorzystaniu 2 instrukcji DRVC. Trzecia prędkość musi wykorzystać instrukcję DRV. f Schemat ilustrujący powyższy 50000 f2 10000 3000 f1 f3... 20000 60000 5000 Ut... Uwaga: Porównanie pozycjonowania za pomocą współrzędnych względnych (ADR) i bezwzględnych (ABS) Kod programu dla przejścia z pozycji 30000 na 10000: DRV ADR,,40000,Ut lub DRV ABS,, 10000,Ut -10000 0 10000 20000 30000 Ut Kod programu dla przejścia z pozycji 10000 na 10000: DRV ADR,+,20000,Ut lub DRV ABS,,10000,Ut 11-16
Funkcje pozycjonowania NC FUN 140 HSPSO Szybkie wyjście impulsowe (do pozycjonowania NC) FUN 140 HSPSO Instrukcja Argument Opis WAIT ACT Time, XXXXX lub Rxxxx lub Dxxxx lub X0 X255 lub Y0 Y255 lub M0 M1911 lub S0 S999 Time,XXXXX lub Rxxxx lub Dxxxx Po zakończeniu wysyłania impulsów wyjściowych nastąpi wykonanie instrukcji oczekiwania przed przejściem do następnego kroku. Dostępnych jest 5 rodzajów argumentów: Czas: Czas oczekiwania (jednostka to 0.01 sekundy). Może być wprowadzony bezpośrednio jako wartość stała lub zmienna (Rxxxx or Dxxxx). Po upłynięciu ustawionego czasu następuje wykonanie kroku określonego instrukcją GOTO. X0 X255: Po zmianie stanu wejścia na włączone, następuje wykonanie kroku określonego instrukcją GOTO. Y0 Y255: Po zmianie stanu wyjścia na włączone, następuje wykonanie kroku określonego instrukcją GOTO. M0 M1911: Po zmianie stanu sygnału wewnętrznego na włączony, następuje wykonanie kroku określonego instrukcją GOTO. S0 S999: Po zmianie stanu sygnału krokowego na włączony, następuje wykonanie kroku określonego instrukcją GOTO. Po upłynięciu czasu określonego argumentem ACT, następuje natychmiastowe wykonanie kroku określonego przez GOTO, tj. po wysyłaniu impulsu przez określony czas, następuje przejście do następnego kroku. Czas operacji (jednostką jest 0.01 sekundy) może być wprowadzony bezpośrednio jako wartość stała lub zmienna (Rxxxx or Dxxxx); po upłynięciu czasu operacji, następuje wykonanie kroku określonego instrukcją GOTO. EXT X0 X255 lub Y0 Y255 lub M0 M1911 lub S0 S999 Instrukcja wyzwalania zewnętrznego. Jeżeli podczas wysyłania impulsów stan wyzwalania zewnętrznego jest włączony, nastąpi natychmiastowe wykonanie kroku określonego przez GOTO. Jeżeli po wysłaniu wszystkich impulsów stan wyzwalania zewnętrznego będzie wyłączony, instrukcja będzie taka sama jak WAIT. Nastąpi oczekiwanie na zmianę stanu sygnału wyzwalania na włączony i wykonanie kroku określonego instrukcją GOTO. GOTO NEXT lub 1 N lub Rxxxx lub Dxxxx Instrukcja GOTO określa krok do wykonania po spełnieniu warunku transferu instrukcji WAIT, ACT, EXT. NEXT: Wykonaj następny krok. 1 N: Wykonaj określoną krok. Rxxxx: Krok do wykonania znajduje się w rejestrze Rxxxx. Dxxxx: Krok do wykonania znajduje się w rejestrze Dxxxx. MEND Zakończenie programu pozycjonowania. 11-17
Funkcje pozycjonowania NC FUN 140 HSPSO Szybkie wyjście impulsowe (do pozycjonowania NC) FUN 140 HSPSO Kodowanie przy programowaniu pozycji : Przed edycją programu pozycjonowania wykonana musi zostać instrukcja FUN140. Następnie, program pozycjonujący zapisywany jest w rejestrze początkowym bloku rejestrów. Podczas edycji programu pozycjonowania, zmieniony program zostanie zapisany w rejestrze. Każdy edytowany punkt pozycjonowania (określanego jako jeden krok) sterowany jest przez 9 rejestrów. N punktów sterowanych będzie w sumie przez N x 9 +2 rejestrów. Uwaga: Rejestry, w których zapisany jest program pozycjonowania nie mogą być ponownie użyte! Format i przykład programu pozycjonowania 1: 001 SPD 5000 ; Częstotliwość impulsu = 5KHz. DRV ADR,+,10000,Ut ; 10000 jednostek w przód. WAIT Time,100 ; Odczekaj 1 sekundę. GOTO NEXT ; Wykonaj następny krok. 002 SPD R1000 ; Częstotliwość impulsu zapisywana jest w DR1000 (R1001 i R1000). DRV ADR,+,D100,Ut ; Ruch w przód; przemieszczenie zapisywane jest w DD100 (D101 i D100). WAIT Time,R500 ; Czas oczekiwania zapisywany jest w R500. GOTO NEXT ; Wykonaj następny krok. 003 SPD R1002 ; Częstotliwość impulsu zapisywana jest w DR1002 (R1003 i R1002). DRV ADR,,D102,Ut ; Ruch w tył; przemieszczenie zapisywane jest w DD102 (D103 and D102). EXT X0 ; Przy włączonym X0 GOTO NEXT ; natychmiast wykonaj następny krok. 004 SPD 2000 ; Częstotliwość impulsu = 2KHz. DRV ADR,,R4072,Ps ; Kontynuuj wysyłanie reszty impulsów (zapisanych w DR4072). WAIT X1 : Poczekaj aż X1 będzie włączony, GOTO 1 : Wykonaj pierwszy krok. 11-18
Przykład programu: Przejazd w przód Przykład zastosowania programu FUN140 Po naciśnięciu i przytrzymaniu przycisku przejazdu w przód przez mniej niż 0.5 sekundy (wartość zmienna), następuje wysłanie jednego (wartość zmienna) impulsu; Po naciśnięciu i przytrzymaniu przycisku przejazdu w przód przez ponad 0.5 sekundy (wartość zmienna), nastąpi ciągłe wysyłanie impulsów (z częstotliwością 10KHz, wartość zmienna). Zwolnienie przycisku spowoduje zatrzymanie transmisji impulsów. Istnieje możliwość ustawienia wysłania maksymalnie N impulsów. Jog Przycisk forward posuwu button w przód EN RST M1 Zeruj sygnał zakończenia. Przycisk Jog posuwu w forward Servo Serwo Manual Obsługa Warunek Condition do przód button Ready gotowe operation ręczna for działania action M1 EN RST R2000 M0 Zawsze rozpoczynaj od pierwszego kroku. M0 M0 Program pozycjonowania: 001 SPD 1000 DRV ADR,+,1,Ps WAIT TIME,50 GOTO NEXT 002 SPD 10000 DRV ADR,+,999999,Ut MEND M0 M1996 Ps EN : 0 ACT PAU ABT EN Przykład programu: Przejazd wstecz 140.HSPSO SR WR : R 2000 SET : R 5000 M1 ERR DN M1000 M1001 M1002 Ustaw sygnał zakończenia po wykonaniu ostatniego kroku. Po naciśnięciu i przytrzymaniu przycisku przejazdu wstecz przez mniej niż 0.5 sekundy (wartość zmienna), następuje wysłanie jednego (wartość zmienna) impulsu; Po naciśnięciu i przytrzymaniu przycisku przejazdu wstecz przez ponad 0.5 sekundy (wartość zmienna), nastąpi ciągłe wysyłanie impulsów (z częstotliwością 10KHz, wartość zmienna). Zwolnienie przycisku spowoduje zatrzymanie transmisji impulsów. Istnieje możliwość ustawienia wysłania maksymalnie N impulsów. Jog Przycisk forward posuwu button w przód EN RST M3 Zeruj sygnał zakończenia. Przycisk Jog Warunek posuwu forward w Servo Serwo Manual Obsługa Condition do button przód Ready gotowe operation ręczna for działania action M3 EN RST R2007 M2 Zawsze rozpoczynaj od pierwszego kroku. M2 M2 M2 Program pozycjonowania: 001 SPD 1000 DRV ADR,,1,Ps WAIT TIME,50 GOTO NEXT 002 SPD 10000 DRV ADR,,999999,Ut MEND M1996 Ps EN : 0 ACT PAU ABT EN 140.HSPSO SR : R 5020 WR : R 2007 SET M3 ERR DN M1003 M1004 M1005 Ustaw sygnał zakończenia po wykonaniu ostatniego kroku. 11-19
Funkcje pozycjonowania NC FUN 141 MPARA Funkcja ustawiająca parametry dla programu pozycjonującego FUN 141 MPARA Sterowanie wykonaniem SYMBOL DRABINKOW Y Ps: Numer wyjścia impulsowego [osi] (0~3). SR: Adres rejestru początkowego tabeli parametrów. Tabela zawiera 18 parametrów ustalanych przez wartości w 24 rejestrach. Objaśnienie funkcji Zakres Argu ment Ps HR DR ROR K R0 R3839 D0 D3999 R5000 R8071 SR 1. Zastosowanie funkcji nie jest koniczne, gdy wartości domyślne parametrów odpowiadają wymaganiom użytkownika. Konieczność zastosowania funkcji występuje w przypadku potrzeby zmiany parametrów względem domyślnych lub w aplikacjach, w których parametry mają być zmieniane dynamicznie. 2. Funkcja ta współpracuje z FUN140 przy pozycjonowaniu NC. Dla każdej osi przypisana może być tylko jedna funkcja FUN140. 3. Funkcja zostanie wykonana niezależnie od tego czy EN = 0, czy 1. 4. W przypadku błędnej wartości któregoś z parametrów, pojawi się komunikat błędu na wyjściu "ERR". Kod błędu zostanie zapisany w rejestrze kodów błędów. Opis tabeli parametrów: SR =Rejestr początkowy tabeli parametrów, na przykład R2000. 0~3 R2000 0~2 Parametr 0 Wartość domyślna =1 R2001 1~65535 Ps/Obr Parametr 1 Wartość domyślna =2000 DR2002 1~999999 1~999999 µm/obr mdeg/obr 1~99999930.1 minch/obr Parametr 2 Wartość domyślna =2000 R2004 0~3 Parametr 3 Wartość domyślna =2 DR2005 DR2007 1~921600 Ps/Sec 1~153000 0~921600 Ps/Sec 1~153000 Parametr 4 Wartość domyślna =460000 Parametr 5 Wartość domyślna =141 R2009 1~65535 Ps/Sec Parametr 6 Wartość domyślna =1000 R2010 0~32767 Parametr 7 Wartość domyślna =0 R2011 0~30000 Parametr 8 Wartość domyślna =5000 R2012 0~1 Parametr 9 Wartość domyślna =0100H R2013-32768~32767 Parametr 10 Wartość domyślna =0 R2014-32768~32767 Parametr 11 Wartość domyślna =0 R2015 0~30000 Parametr 12 Wartość domyślna =0 R2016 0~30000 Parametr 13 Wartość domyślna =500 DR2017 0~1999999 Parametr 14 Wartość domyślna =0 DR2019 00H~FFH Parametr 15 Wartość domyślna =FFFFFFFFH DR2021-999999~999999 Parametr 16 Wartość domyślna =0 R2023 0~255 Parametr 17 Wartość domyślna =1 11-20
Funkcje pozycjonowania NC FUN 141 MPARA Funkcja ustawiająca parametry dla programu pozycjonującego FUN 141 MPARA Edycja tabeli parametrów serwa w oprogramowaniu WinProladder Kliknij prawym przyciskiem myszy na pozycji Servo Parameter Table w drzewku projektu : Project name (Nazwa projektu) Table Edit (Edycja tabel) Servo Parameter Table (Tabela parametrów serwa) Wybierz New Table Table Type (typ tabeli) : Pole nieedytowalne zawsze będzie to Servo Parameter Table. Table Name (nazwa tabeli) : Wprowadź (najlepiej mówiącą o jej funkcji) nazwę tabeli. Table Starting address (adres początkowy tabeli) : Wprowadź adres rejestru początkowego tabeli. 11-21
Funkcje pozycjonowania NC FUN 141 MPARA Funkcja ustawiająca parametry dla programu pozycjonującego FUN 141 MPARA Opis funkcji parametrów: Parametr 0: Ustawienie jednostek; wartość domyślna wynosi 1. Jeżeli ustawiona wartość wynosi 0, to skok i prędkość w programie pozycjonowania wyrażane będą w jednostkach inżynierskich (np. mm, stopniach, calach, itp.). Jeżeli ustawiona wartość wynosi 1, to skok i prędkość w programie pozycjonowania wyrażane będą w impulsach Jeżeli ustawiona wartość wynosi 2, to skok w programie pozycjonowania wyrażany będzie w jednostkach inżynierskich (np. mm, stopniach i calach, itp.), natomiast prędkość w impulsach/sekundę Parametr 0 - jednostki 0 jednostki inżynierskie 1 impulsy 2 jednostki mieszane Parametr 1, 2 Muszą być ustawione Nieistotne Muszą być ustawione Parametr 3, 7, 10, 11 j.inżynierskie Ps j.inżynierskie Parametr 4,5,6,15,16 (j.inżynierska *10)/min Ps/s Ps/s Parametr 1: Liczba impulsów na obrót (16to bitowa); wartość domyślna wynosi 2000, tj. 2000 Ps/Obr. Liczba impulsów jaka potrzebna jest do obrócenia silnika o jeden obrót A= 1~65535 (parametr ustawiany jest jako liczba dziesiętna bez znaku,dla wartości większych niż 32767,) Ps/Obr Jeżeli parametr 14 = 0, parametr jest wiążący jako ilość Ps /Obr Jeżeli parametr 14 0, parametr 14 jest wiążący jako ilość Ps /Obr, a parametr 1 jest ignorowany Parametr 2: Przesunięcie na obrót (skok); wartość domyślna wynosi 2000. Przesunięcie podczas jednego obrotu silnika, podawane w formacie całkowitym z dokładności do 0,001 jednostki inżynierskiej, np.: B=1~999999 µm/obr 1~999999 mstopnia/obr 1~999999 x 0,1 mcala/obr 11-22
Funkcje pozycjonowania NC FUN 141 MPARA Funkcja ustawiająca parametry dla programu pozycjonującego FUN 141 MPARA Parametr 3: Rozdzielczość zadawania dystansu; wartość domyślna wynosi 2. Parametr 3 Parametr 0 wartość ustawiona=0, jednostka inżynierskie; wartość ustawiona =2, jedn. mieszane; mm Deg Inch 0 x1 x1 x0.1 x1000 1 x0.1 x0.1 x0.01 x100 2 x0.01 x0.01 x0.001 x10 3 x0.001 x0.001 x0.0001 x1 Parametr 4: Prędkość maksymalna; wartość domyślna wynosi 460000, np. 460000 Ps/Sec. Jednostki impulsowe i mieszane: 1~921600 Ps/s. Wart. ustawiona=1 jednostka silnikowa (Ps) Jednostka inżynierskie: 1~153000 [x 10 j.inż/min (np. cm/min, x10 Stopni/min, Cali/min)]. Jednakże, częstotliwość maksymalna nie może być większa niż 921600 Ps/s. f_max =(V_max x 1000 x A)/(6 x B) 921600 Ps/s f_min 1 Ps/s Uwaga: A = Parametr 1, B =Parametr 2. Parametr 5: Prędkość początku/końca ruchu; wartość domyślna = 141. Jednostki impulsowe i mieszane: 1~921600 Ps/s. Jednostka inżynierskie: 1~15300 [x 10 j.inż/min ( np. cm/min, 10 Deg/min, Inch/min)]. Jednakże, częstotliwość ta nie może być większa niż 921600 Ps/s. Parametr 6: Prędkość pełzania wykorzystywana w procesie bazowania; wartość domyślna wynosi 1000. Jednostki impulsowe i mieszane: 1~65535 Ps/Sec Jednostka inżynierskie: 1~15300 [x 10 j.inż/min ( np. cm/min, 10 Deg/min, Inch/min)]. Parametr 7: Kompensacja luzu; wartość domyślna =0. Zakres ustawień: 0~32767 Ps. Przy zmianach kierunku ruchu, wartości ta będzie automatycznie dodawana do wielkości przesunięcia. Parametr 8: Ustawienie czasu przyspieszenia/opóźnienia; wartość domyślna = 5000, a jednostką jest ms. Zakres ustawień : 0~30000 ms. Ustawiona wartość reprezentuje czas przyspieszania od prędkości początku ruchu do prędkości maksymalnej lub czas opóźniania od prędkości maksymalnej do prędkości początku ruchu. Przyspieszenie/opóźnienie ma stałą wartość, zależną od stosunku parametr 4/ parametru 8. Jeżeli parametr 12 = 0, parametr 8 jest czasem opóźnienia Dla krótkich skoków wykorzystana zostanie funkcja automatycznego opóźnienia. Parametr 9: Kierunek obrotu i poszukiwania bazy; wartość domyślna wynosi 0100H (Parametr nie jest wykorzystywany w trybie interpolacji liniowej). SR+12 b15 b8 b7 b0 Para 9-1 Para 9-0 11-23
Funkcje pozycjonowania NC FUN 141 MPARA Funkcja ustawiająca parametry dla programu pozycjonującego FUN 141 MPARA Parametr 9-0: Kierunek obrotu; wartość domyślna wynosi 0 Ustawiona wartość =0, pozycja bieżąca zwiększa się przy impulsie wyjściowym w przód, a zmniejsza się przy impulsie wyjściowym wstecz. Ustawiona wartość =1, pozycja bieżąca zmniejsza się przy impulsie wyjściowym w przód, a zwiększa się przy impulsie wyjściowym wstecz. Parametr 9-1: Kierunek poszukiwania bazy; wartość domyślna wynosi 1 Ustawiona wartość =0, kierunek, w którym pozycja bieżąca wzrasta. Ustawiona wartość =1, kierunek, w którym pozycja bieżąca maleje. Parametr 10: Kompensacja przesunięcia w przód; wartość domyślna = 0. Zakres ustawień: 32768~32767 Ps. Przy impulsie wyjściowym w przód, wartość ta zostanie automatycznie dodana do wielkości przesunięcia. Parametr 11: Kompensacja przesunięcia wstecz; wartość domyślna = 0. Zakres ustawień: 32768~32767 Ps. Przy impulsie wyjściowym wstecz, wartość ta zostanie automatycznie dodana do wielkości przesunięcia. Parametr 12: Czas opóźnienia; wartość domyślna =0, a jednostką jest ms. Zakres ustawień: 0~30000 ms. Jeżeli parametr 12 = 0, to parametr 8 jest czasem opóźnienia Jeżeli parametr 12 0, to parametr 12 jest czasem opóźnienia Parametr 13: Stała czasowa interpolacji, wartość domyślna = 500. Zakres ustawień: 0~30000 ms. Ustawić czas wymagany do osiągnięcia prędkości określonej w programie. (prędkość początkowa przyjmowana jest zawsze jako 0). Parametr jest wiążący dla ruchów z interpolacją liniową, a określa przyspieszenie/opóźnienie ruchu interpolowanego. Parametr 14: Liczba impulsów na obrót (32bitowa); wartość domyślna = 0. Liczba impulsów potrzebna do obrócenia silnika o jeden obrót Jeżeli parametr 14 = 0, parametr jest wiążący jako ilość Ps /Obr Jeżeli parametr 14 0, parametr 14 jest wiążący jako ilość Ps /Obr, a parametr 1 jest ignorowany Parametr 15: We/Wy wykorzystywane w ruchu bazującym DRVZ; wartość domyślna wynosi FFFFFFFFH SR+19 SR+20 b15 b8 b7 b0 Para 15-1 Para 15-0 Para 15-3 Para 15-2 Parametr 15-0: Ustawienie wejścia DOG, na którym odbywa się bazowanie (SR+19); musi to być wyjście jednostki głównej b6~b0: Numer referencyjny wejścia DOG (0~15, oznacza X0~X15) b7 =0: Styk A (normalnie otwarty) =1: Styk B (normalnie zamknięty) b7~b0=ffh, wejście DOG nieskonfigurowane 11-24
Funkcje pozycjonowania NC FUN 141 MPARA Funkcja ustawiająca parametry dla programu pozycjonującego FUN 141 MPARA Parametr 15-1: Ustawienie wejścia czujnika krańcowego (SR+19) b14~b8: Numer referencyjny wejścia czujnika krańcowego (0~125, oznacza X0~X125) b15 = 0 : Styk A (normalnie otwarty) = 1 ; Styk B (normalnie zamknięty) b15~b8 = FFH, wejście czujnika krańcowego nieskonfigurowane Parametr 15-2: Ustawienie wejścia sygnałowego PG0 (SR+20); musi to być wejście jednostki głównej b6~b0: Numer referencyjny wejścia PG0 (0~15, oznacza X0~X15) b7= 0 : Rozpoczęcie zliczania po pojawieniu się stanu narastającego wejścia DOG b7= 1 ; Rozpoczęcie zliczania po pojawieniu się stanu oapadającego wejścia DOG b7~b0 = FFH, wejście PG0 nieskonfigurowane Parametr 15-3: Ustawienie wyjścia sygnałowego CLR (SR+20), musi to być wyjście jednostki głównej b15~b8: Numer referencyjny wyjścia CLR (0~23, oznacza Y0~Y23) b15~b8 =FFH, wyjście CLR nieskonfigurowane Parametr 16: Pozycja (w pulsach) jaką przyjmuje oś w chwili zbazowania; wartość domyślna wynosi 0. Zakres ustawień: -999999 ~ 999999 Ps Parametr 17: Liczba zliczeń sygnału punktu zerowego (wykryć wejścia PG0); wartość domyślna wynosi 1. Zakres ustawień: 0~255 sygnałów Prędkość Speed Parametr Parameter 4: 4 Pręd. : Max. maksymalna speed Prędkość Work speed robocza Parametr Parameter 5 5 Prędkość Initiate/Stop startu/ speed końca Parametr Parameter 8 Acceleration/Deceleration Czas przyspieszenia/ time setting opóźnienia Parameter Parametr 8 lub or Parameter Parametr 12 12 Czas Time 11-25
Funkcje pozycjonowania NC FUN 142 P PSOFF Wymuszenie zatrzymania wyjścia impulsowego FUN 142 P PSOFF Ladder symbol SYMBOL DRABINKOW Y Sterowanie 142P. Execution wykonaniem control EN PSOFF Ps N: 0~3, wymuszenie zatrzymania wskazanego numeru wyjścia impulsowego (osi). Objaśnienie funkcji 1. Jeżeli sygnał sterujący zatrzymaniem EN =1, lub zmieni się z 0 1(instrukcja P), to funkcja ta wymusi zatrzymanie wysyłania impulsów dla wskazanego wyjścia impulsowego (wskazanej osi). 2. Jeżeli funkcja zostanie zastosowana w procesie bazowania, to w chwili osiągnięcia bazy, funkcja ta może zostać wykorzystana do natychmiastowego zatrzymania wysyłania impulsów. W ten sposób, wysyłanie impulsów będzie zatrzymywane w tej samej pozycji za każdym razem, gdy przeprowadzony zostanie proces powrotu maszyny do pozycji bazowej. Przykład programu M0 142P. EN PSOFF 0 ; Kiedy M0 zmienia się z 0 1, funkcja wymusza na Ps0 zatrzymanie wysyłania impulsów. 11-26
Funkcje pozycjonowania NC FUN 143 P PSCNV Konwersja aktualnej pozycji osi w impulsach na wartość w jednostkach inżynierskich (mm, Stopnie, Cale, PS, etc) FUN 143 P PSCNV Wejście sterujące SYMBOL DRABINKOW Y Ps: 0~3; wskazanie numeru wyjścia impulsowego (osi), której pozycja w impulsach ma być przekonwertowana na wartość w jednostkach inżynierskich (np. mm, Stopniach, Calach, PS), w celu wyświetlenia aktualnej pozycji. D: Adres rejestru, w którym zapisywana jest aktualna pozycja po konwersji. Wykorzystuje 2 rejestry, np.: D10 reprezentuje D10 (młodsze słowo) i D11 (starsze słowo) Zakres Argu ment Ps HR DR ROR K R0 R3839 D0 D3999 R5000 R8071 D * 2 256 0~3 Objaśnienie funkcji 1. Jeżeli wejście sterujące EN =1, lub zmieni się z 0 1(instrukcja P), funkcja ta przekonwertuje aktualną pozycję osi w impulsach (PS) na odpowiadającą jej wartość wyrażoną w jednostkach inżynierskich (mm, Stopnie, Cale, PS, etc) w celu wyświetlenia aktualnej pozycji 2. Gdy do wykonywania ruchów pozycjonujących wykorzystywane są funkcje FUN140 i FUN147, wywołanie tej funkcji umożliwia prawidłową konwersję jednostek. Przykład programu ; Kiedy M0=1, następuje konwersja pozycji osi Ps0 wyrażonej w impulsach (DR4088), na odpowiadającą jej wartość w jednostce inżynierskiej (mm, Stopnie, Cale, PS, etc) i zapisanie jej w DD10 w celu wyświetlenia aktualnej pozycji. 11-27
Funkcje pozycjonowania NC FUN147 MHSPO Wieloosiowe szybkie wyjście impulsowe FUN147 MHSPO Wejście sterujące Pauza Anuluj SYMBOL DRABINKOW Y W toku Błąd Wykonano Gp :Numer grupy (0~1) SR :Adres początkowego rejestrów programu pozycjonującego (patrz objaśnienie w przykładzie) WR:Adres początkowy rejestrów roboczych funkcji (patrz objaśnienie w przykładzie). Funkcja kontroluje 9 rejestrów, które nie powinny być wykorzystywane w innych częściach programu. Argu ment Zakres HR DR ROR K R0 R3839 D0 D3999 R5000 R8071 Gp 0~1 SR WR * Objaśnienie funkcji 1. Funkcja FUN147 (MHSPO) wykorzystywana jest do obsługi interpolacji liniowej przy sterowaniu ruchem wieloosiowym. Składa się z programu sterowania ruchem pisanego i edytowanego za pomocą edytora tekstowego. Każda punkt pozycjonowania określany jest jako krok (na który składa się częstotliwość wyjściowa, wartość przesunięcia i warunek przejścia). Każdy krok kodowany jest za pomocą 15 rejestrów sterownika. 2. Funkcja FUN147 (MHSPO) może obsługiwać do 4 osi przy jednoczesnej interpolacji liniowej lub dwie 2-osiowe grupy interpolacji liniowej (tj. Gp0 = Osie Ps0 i Ps1 ; Gp1 = Osie Ps2 i Ps3) 3. Największą korzyścią z przechowywania programu pozycjonowania w rejestrach jest to, że w przypadku powiązania z MMI, istnieje możliwość zapisania i ponownego załadowania programu pozycjonowania przez MMI przy wymianie form. 4. Jeżeli przy EN =1, inne funkcje FUN147/FUN140 sterujące Ps0~3 będą nieaktywne (stany odpowiednio: Ps0=M1992, Ps1=M1993, Ps2=M1994 i Ps3=M1995 będą w stanie wysokim), program rozpocznie wykonywanie od następnego punktu pozycjonowania (kiedy dotrze do ostatniego kroku, zostanie zrestartowany do kroku pierwszego); jeżeli Ps0~3 sterowane jest przez inna funkcję FUN147/FUN140 (stany odpowiednio: Ps0=M1992, Ps1=M1993, Ps2=M1994 i Ps3=M1995 będą w stanie niskim), funkcja ta uzyska dostęp do kontroli wyjścia sterującego w momencie zwolnienia dostępu przez inne funkcje FUN147/FUN140. 5. Jeżeli wejście sterujące EN =0, wysyłanie impulsów zostanie natychmiast zatrzymane. 6. Jeżeli sygnał pauzy na wyjściu PAU =1 i EN były wcześniej w stanie 1, nastąpi przerwanie wysyłania impulsów. Jeżeli sygnał pauzy na wyjściu PAU =0, a EN będzie nadal równe 1, nastąpi kontynuacja pracy wyjścia impulsowego 7. Jeżeli sygnał anuluj " ABT =1, nastąpi natychmiastowe zatrzymanie wyjścia impulsowego. Jeżeli wejście sterujące "EN" ponownie przejdzie w stan 1, nastąpi restart programu a praca rozpocznie się od pierwszego kroku programu pozycjonującego. 8. W czasie transmisji sygnału wyjściowego, wskaźnik "ACT" będzie aktywny. 9. Jeżeli pojawi się błąd wykonania, na wyjściu uaktywni się wskaźnik "ERR".. (Kod błędu zostanie zapisany w rejestrze kodów błędów) 10.Po zakończeniu pojedynczego kroku pozycjonowania, wskaźnik "DN" przejdzie w stan wysokim. 11-28
Funkcje pozycjonowania NC FUN147 MHSPO Wieloosiowe szybkie wyjście impulsowe FUN147 MHSPO *** Tryb roboczy wyjścia impulsowego musi być skonfigurowany (bez konfiguracji, Y0~Y7 traktowane będą jak wyjścia ogólnego przeznaczenia) jako jeden z trybów U/D, P/R lub A/B. Tryb U/D: Y0 (Y2, Y4, Y6), wysyła impulsy zliczania w górę. Y1 (Y3, Y5, Y7), wysyła impulsy zliczania w dół. Tryb A/B: Y0 (Y2, Y4, Y6), wysyła impulsy fazy A. Y1 (Y3, Y5, Y7), wysyła impulsy fazy B. Polaryzacja wyjscia impulsowego może być skonfigurowana jako normalna lub odwrócona. Zmienne systemowe przypisane pozycjonowaniu M1991 M1992 M1993 M1994 M1995 M1934 M1935 WŁ:Przy zatrzymaniu lub pauzie FUN147, zwolnienie, po czym zatrzymanie wyjścia impulsowego WYŁ:Natychmiastowe zatrzymanie wyj. impuls. przy zatrzymaniu lub pauziefun147. WŁ : Ps0 gotowa WYŁ : Ps0 zajęty WŁ: Ps1 gotowy WYŁ: Ps1 zajęty WŁ : Ps2 gotowy WYŁ : Ps2 zajęty WŁ: Ps3 gotowy WYŁ: Ps3 zajęty WŁ: Grupa Gp0 zakończyła ostatni krok WŁ: Grupa Gp1 zakończyła ostatni krok DR4068 DR4070 D4060 D4061 D4062 D4063 Prędkość wektorowa grupy Gp0 Prędkość wektorowa grupy Gp1 Kod błędu Gp0 Kod błędu Gp1 Numer zakończonego kroku (punktu pozycjonowania) Gp0. Numer zakończonego kroku (punktu pozycjonowania) Gp1. Aktualna częstotliwość Aktualna pozycja Pozostała liczba Nr Ps. na wyjściu w impulsach impulsów do wysłania Ps0 DR4080 DR4088 DR4072 Ps1 DR4082 DR4090 DR4074 Ps2 DR4084 DR4092 DR4076 Ps3 DR4086 DR4094 DR4078 FUN147 Nie obsługuje dynamicznej zmiany częstotliwości na wyjściu podczas transmisji impulsów.. 11-29
Funkcje pozycjonowania NC FUN147 Wieloosiowe szybkie wyjście impulsowe MHSPO Format programu pozycjonującego z interpolacją liniową: SR:Rejestr początkowy bloku rejestrów do przechowywania programu pozycjonowania: FUN147 MHSPO SR A55CH ;Dla poprawnego programu pozycjonującego, jego wartość winna wynosić A55AH SR+1 Liczba kroków SR+2 SR+3 Pierwszy punkt (krok) programu pozycjonującego (każdy krok określany jest przez 15 rejestrów). SR+14 SR+15 SR+16 N-ty krok programu pozycjonowania. SR+N 15+2 11-30
FUN147 Wieloosiowe szybkie wyjście impulsowe MHSPO Objaśnienie rejestrów roboczych funkcji: WR jest adresem początkowym rejestrów roboczych. Funkcje pozycjonowania NC FUN147 MHSPO WR+0 WR+1 WR+2 WR+3 WR+4 WR+5 WR+6 WR+7 WR+8 Nr kroku wykonywanego lub zatrzymanego Flaga robocza Kontrolowany przez system Kontrolowany przez system Kontrolowany przez system Kontrolowany przez system Kontrolowany przez system Kontrolowany przez system Kontrolowany przez system WR+0 : Jeżeli funkcja ta jest wykonywana, zawartość tego rejestru reprezentuje realizowany krok (1~N). Jeżeli funkcja nie jest wykonywana, zawartość tego rejestru reprezentuje krok, w którym nastąpiło ostatnie zatrzymanie. Jeżeli EN =1, nastąpi wykonanie następnego kroku, tj. wykonany zostanie aktualny krok plus 1 (jeżeli aktualny krok jest krokiem ostatnim, nastąpi wykonanie pierwszego kroku - zapętlenie). Przed załączeniem EN =1, użytkownik może zaktualizować zawartość WR+0 w celu określenia numeru korku do wykonania (jeżeli zawartość WR+0 =0, a "EN"=1, oznacza to, że wykonanie rozpocznie się od pierwszego kroku). WR+1 : B0~B7, suma kroków B8 = WŁ, wysyłanie impulsów wstrzymane B9 = WŁ, oczekiwanie na warunek wysyłania impulsów B10 = WŁ, nieskończone wysyłanie impulsów B12 = WŁ, wysyłanie impulsów (stan wyjścia ACT ) B13 = WŁ, błąd wykonania funkcji (stan wyjścia ERR ) B14 = WŁ, zakończenie wykonywanego kroku (stan wyjścia DN ) *** Po zakończeniu pojedynczego kroku, wyjście "DN" zostanie wystawione. W przypadku wstrzymania wysyłania impulsów, stan ten zostanie zachowany. Użytkownik może przełączyć stan "DN" w stan niski, poprzez wyzerowanie zawartości rejestru WR+1, narastającym stanem cewki kontrolowanej przez wyjście "DN. 11-31
Funkcje pozycjonowania NC FUN147 MHSPO R4060(Ps0) 0 Wieloosiowe szybkie wyjście impulsowe FUN147 MHSPO R4061(Ps1) 1 R4062(Ps2) 2 R4063(Ps3) 3 D4060(Gp0) 4 D4061(Gp1) 5 6 7 8 9 10 13 14 15 :Brak błędu :Błąd parametru 0 :Błąd parametru 1 :Błąd parametru 2 :Błąd parametru 3 :Błąd parametru 4 :Błąd parametru 5 Możliwe kody błędów przy :Błąd parametru 6 Wykonywaniu FUN141 :Błąd parametru 7 :Błąd parametru 8 :Błąd parametru 9 :Błąd parametru 12 :Błąd parametru 13 :Błąd parametru 14 30 : Błąd adresu zmiennej określającej prędkość 31 : Błąd wartości prędkości zadanej 32 : Błąd adresu zmiennej określającej skok 33 : Błąd wartości skoku 34 : Nieprawidłowy program pozycjonujący 35 : Błędna suma kroków 36 : Liczba kroków większa od maksymalnej 37 : Błąd częstotliwości maksymalnej 38 : Błąd częstotliwości początku/końca ruchu Możliwe kody błędów 39 : Wartość kompensacji ruchu za wysoka przy wykonywaniu 40 : Zadany skok poza zakresem FUN140 lub FUN147 41 :Pozycjonowanie ABS niedozwolone dla komend DRVC 42 :Ruch DRVZ nie może następować po ruchu DRVC 50 : Nieprawidłowy tryb ruchu DRVZ 51 : Nieprawidłowy adres wejścia DOG 52 : Nieprawidłowy adres wejścia PG0 53 : Nieprawidłowy adres wyjścia CLR 60 : Nieprawidłowa komenda interpolacji liniowej Rejestry błędu Kody błędów Uwaga : W rejestrze błędu przechowywany jest ostatni kod błędu, jaki wystapił. W celu upewnienia się, że nie występują kolejne błędy, zawartość rejestru można wyzerować. Zerowa wartość rejestru wskazuje na brak błędu. 11-32
Funkcje pozycjonowania NC FUN147 MHSPO Wieloosiowe szybkie wyjście impulsowe FUN147 MHSPO Edycja tabeli programu serwo w oprogramowaniu WinProladder Kliknij prawym przyciskiem myszy na pozycji Servo Program Table w drzewku projektu : Project name (Nazwa projektu) Table Edit (Edycja tabeli) Servo Program Table (Tabela programu serwo) Wybierz New Table Table Type (typ tabeli): Multi-Axis positioning table (tabela pozycjonowania wieloosiowego) Table Name (nazwa tabeli): Wprowadź (najlepiej mówiącą o jej funkcji) nazwę tabeli. Table Starting address (adres początkowy tabeli): Wprowadź adres rejestru początkowego tabeli 11-33
Funkcje pozycjonowania NC FUN147 MHSPO Wieloosiowe szybkie wyjście impulsowe FUN147 MHSPO W celu zapewnienia łatwego programowania i rozwiązywania problemów, WinProladder dostarcza edytor programu sterującego ruchem (tabeli programu serwo), wykonywanego przez funkcję FUN147 Rozszerzone instrukcje pozycjonowania dla ruchów z interpolacją liniową są następujące: Instrukcja Argument Opis SPD LIN XXXXXX lub Rxxxx Dxxxx lub ADR,X,Y,Z,W,Ut lub lub ABS Ps Gdzie: X:Ustawienie skoku dla Ps0 Y:Ustawienie skoku dla Ps1 Z:Ustawienie skoku dla Ps2 W:Ustawienie skoku dla Ps3 Ustawienie prędkości wektorowej dla interpolacji liniowej 1 ustawiona wartość 1840000 Prędkość ruchu wyrażona w częstotliwości lub j. inż (Parametr_0=0 dla FUN141 oznacza j.inż; Parametr_0=1 lub 2 oznacza częstotliwość; w systemie domyślnie ustawiona jest częstotliwość). Argument może być wprowadzony bezpośrednio jako stała lub wartość zaczytana z rejestru (Rxxxx, Dxxxx); jeżeli argument jest adresem rejestru, czytane są 2 rejestry, np.: D10 reprezentuje D10 (młodsze słowo) i D11 (starsze słowo), będące ustawieniem częstotliwości lub prędkości w j. inż. Jeżeli wybrane zostanie zadawanie prędkości w j. inż, system automatycznie przekonwertuje ustawioną prędkość na odpowiednią częstotliwość wyjściową Częstotliwości wyjściowe odpowiednich osi zostaną obliczona na podstawie prędkości wypadkowej Zakres częstotliwości wyjściowej: 1 częstotliwość wyjściowa 921600 Hz. Ustawienie skoku w Ps lub j. inż (Jeżeli Parametr_0=1 dla FUN141, to jednostką skoku dla Ut jest Ps; Jeżeli Parametr_0=0 lub 2, to jednostką skoku dla Ut jest j. inż. (np. mm, stopnie, cale); jednostką domyślną jest Ps. Jeżeli szóstym argumentem LIN jest Ut (nie Ps), to zadana wartość skoku w j. inż., zostanie przeliczona na liczbę impulsów do wysłania, według ustawienia parametrów 1, 2, 3 dla FUN141. Instrukcja LIN może być złożona z 6 argumentów: argument 1: wybór współrzędnych. ADR lub ABS: ADR, ruch relatywny ( przemieść się o ) ABS, ruch absolutny ( idź do pozycji ) argumenty 2 do 5: ustawienia skokow dla poszczególnych osi XXXXXXXX: lub XXXXXXXX lub Rxxxx lub Dxxxx Można go wprowadzić jako stałą lub wartość z rejestru (Rxxxx, Dxxxx); w przypadku wartości określanej przez rejestr, odczytywane są wartości z 2 kolejnych rejestrów, np. gdy R0 określa skok, R0 jest młodszym słowem a R1 starszym słowem ustawionego skoku Wartość dodatnia powoduje ruch w przód Wartość ujemna powoduje ruch wstecz *** Jeżeli ustawiony skok osi równy jest 0, a argumentem 1 jest ADR, oznacza to brak ruchu dla tej osi *** Kiedy w polu skoku dla danej osi znajduje się spacja, a argumentem 1 jest ABS, oznacza to brak ruchu dla tej osi Maksymalne wartość skoku dla pojedynczego ruchu musi zawierać się w zakresie ±1999999 Ps argument 6: jednostka skoku Ut lub Ps: dla Ut, rozdzielczością jest jedna jednostka inżynierska; (określana przez parametry 0, 3 dla FUN141); dla Ps, rozdzielczością jest jeden impuls. 11-34
Funkcje pozycjonowania NC FUN147 MHSPO Wieloosiowe szybkie wyjście impulsowe FUN147 MHSPO Instrukcja Argument Opis LINE ADR,X,Y,Z,W,Ut lub lub ABS Ps Gdzie, X:Ustawienie skoku dla Ps0 Y:Ustawienie skoku dla Ps1 Z:Ustawienie skoku dla Ps2 W:Ustawienie skoku dla Ps3 Instrukcja LINE wykorzystywana jest dla wykonywania niekończonego ruchu interpolowanego liniowo Instrukcja LINE, podobnie jak LIN, może składać się z 6 argumentów (patrz opis argumentów instrukcji LIN) Ustawienia skoków da poszczególnych osi określają stosunek przesunięć pomiędzy aktywnymi osiami (określają wektor ruchu). Oś o najdłuższym skoku jest śledzona przez pozostałe. tj. jeżeli w trybie LINE, ustawienia skoków wynoszą 1000 500 300 0 ( w Ps), oznacza to, że jeżeli oś Ps0 wyśle 1000Ps, to Ps1 i Ps2 wyśle odpowiednio 500Ps i 300Ps. (Oś Ps3 nie pracuje, ponieważ ustawiona wartość skoku wynosi 0). Stosunek ten (1000/500/300/0) utrzyma się dla wyjścia impulsowego (ruch nieskończony) do momentu, gdy funkcja FUN147 zostanie zatrzymana lub wyjdzie z trybu LINE....... Uwaga: Porównanie pozycjonowania za pomocą przesunięcia względnego (ADR) i bezwzględnych (ABS) Kody programowów dla przejścia z pozycji 30000 na -10000: DRV ADR,,40000,Ut lub DRV ABS,, 10000,Ut -10000 0 10000 20000 30000 Ut Kody programów dla przejścia z pozycji -10000 na 10000: DRV ADR,+,20000,Ut lub DRV ABS,,10000,Ut Instrukcja Argument Opis WAIT TIME,XXXXX lub Rxxxx lub Dxxxx lub X0 X255 lub Y0 Y255 lub M0 M1911 lub S0 S999 Po zakończeniu wysyłania impulsów wyjściowych nastąpi wykonanie instrukcji oczekiwania przed przejściem do następnego kroku. Dostępnych jest 5 warunków przejścia: Time: Czas oczekiwania (jednostka to 0.01 sekundy). Może być wprowadzony bezpośrednio jako wartość stała lub określony przez wartość w rejestrze (Rxxxx or Dxxxx). Po upłynięciu ustawionego czasu następuje wykonanie numeru kroku określonego instrukcją GOTO. X0 X255: Po zmianie stanu wejścia na Wł, następuje wykonanie kroku określonego instrukcją GOTO. Y0 Y255: Po zmianie stanu wyjścia na Wł, następuje wykonanie kroku określonego instrukcją GOTO. M0 M1911: Po zmianie stanu markera na Wł, następuje wykonanie kroku określonego instrukcją GOTO. S0 S999: Po zmianie stanu znacznika kroku na Wł, następuje wykonanie kroku określonego instrukcją GOTO. 11-35
Funkcje pozycjonowania NC FUN147 MHSPO Wieloosiowe szybkie wyjście impulsowe FUN147 MHSPO EXT GOTO MEND X0 X255 lub Y0 Y255 lub M0 M1911 lub S0 S999 NEXT lub 1~N lub Rxxxx lub Dxxxx Instrukcja wyzwalania zewnętrznego. Jeżeli impulsy są wysyłane (nie wszystkie impulsy zostały wysłane ruch trwa) i jeżeli stan wyzwalania zewnętrznego przejdzie w stan wysoki, nastąpi przerwanie aktualnie wykonywanego kroku i natychmiastowe wykonanie kroku określonego przez GOTO. Jeżeli wszystkie impulsy zostaną wysłane a wyzwalania zewnętrznego nie pojawi się, instrukcja przejdzie w tryb WAIT, tj. nastąpi oczekiwanie na zmianę stanu sygnału wyzwalania na wysoki przed wykonaniem kolejnego kroku określonego instrukcją GOTO. Instrukcja GOTO określa numer krok do wykonania po spełnieniu warunku transferu instrukcji WAIT i EXT. NEXT: Wykonaj następny krok. 1 N: wykonaj krok o wskazanym numerze. Rxxxx: numer kroku do wykonania określa wartość w rejestrze Rxxxx. Dxxxx: numer kroku do wykonania określa wartość w rejestrze Dxxxx. Zakończ programu pozycjonujący. Edycja programu pozycjonowania z interpolacją liniową: Przed rozpoczęciem edycji tabeli programu pozycjonującego, należy wprowadzić i skonfigurować funkcję FUN147, nadając jej adres początkowy tabeli programu pozycjonującego. Po edycji programu pozycjonującego, zmieniony program zostanie zapisany w rejestrach. Każdy edytowany punkt pozycjonowania (inaczej krok pozycjonowania) definiowany jest przez 15 rejestrów. Dla zapisu programu o N krokach użyte zostanie N x 15 +2 rejestrów. Uwaga: Rejestry, w których zapisany jest program pozycjonowania nie mogą być ponownie użyte w programie! Format i przykład programu pozycjonowania z interpolacją liniową: 001 SPD 5000 ;Prędkość wektorowa = 5KHz LIN ADR,500,400,300,200,Ut 500(Ps0)/400(Ps1)/300(Ps2)/200(Ps3) jednostek w przód WAIT TIME,100 ;Odczekaj 1 sekundę GOTO NEXT ;Wykonaj następny krok 002 SPD R1000 ;Prędkość wektorowa zapisywana jest w DR1000(R1001 i R1000) LIN ADR,D100,D200,,,Ut ;Skok zapisywany jest w DD100(Ps0) i DD200(Ps1) WAIT TIME,R500 ;Czas oczekiwania zapisywany jest w R500 GOTO NEXT ;Wykonaj następny krok 003 SPD R1002 ;Prędkość wektorowa zapisywana jest w DR1002(R1003 i R1002) ; LIN ADR,0,0,R300,R400,Ps ;Skok zapisywany jest w DR300(Ps2) i DR400(Ps3) WAIT X0 ;Odczekaj aż X0 będzie włączony GOTO 1 ;Wykonaj pierwszy krok 11-36
Funkcje pozycjonowania NC FUN147 MHSPO Wieloosiowe szybkie wyjście impulsowe FUN147 MHSPO Przykład Poniżej przedstawiona została definicja pojedynczego kroku programu pozycjonowania z interpolacją liniową: Oznacza to, że skok dla osi Ps0(oś X) wynosi 1000 Ps, dla osi Ps1(oś Y) wynosi 500 Ps. Osie Ps2 i Ps3 są nieaktywne, ponieważ wartości ustawionych dla nich skoków są zerowe. Oś Y Odległość przesunięcia osi Y Oś X Odległość przesunięcia osi X 11-37
Funkcje pozycjonowania NC : FUN148 FUN148 Ręczny generator impulsów pozycjonowania MPG MPG 148. MPG Sc Numer źródłowego szybkiego licznika; 0~7 Wykonanie EN Sc : ACT Ps Numer osi wyjścia impulsowego; 0~3 Fo Prędkość wyjściowa (2 rejestry) Ps : Mr Ustawienie przełożenia (2 rejestry) Fo : Mr+0: * licznik (Fa) Mr+1: mianownik (Fb) Mr : WR: Adres początkowy rejestrów roboczych; WR zajmują 4 kolejne rejestry. WR : Funkcja ta jest obsługiwana przez PLC z wersją firmware V4.60 lub nowszą W W Funkcja Gdy Argu ment Zakres HR ROR DR K R0 R3839 R5000 R8071 D0 D3999 16 bit Sc 0~7 Ps 0~3 Fo Mr WR * celu zapewnienia prawidłowego okresu próbkowania wejścia impulsowego z ręcznego generatora impulsów, funkcję tą należy wywoływać wewnątrz okresowego przerywania sprzętowego 50mS (50MSI) lub poprzez zastosowanie szybkiego zegara sprzętowego 0.1mS do wygenerowania okresowych przerwań sprzętowych co 50mS. Gdy nadchodzą impulsy wejściowe zliczane przez licznik sprzętowy, funkcja oblicza wymaganą liczbę impulsów do wygenerowania przez wyjście impulsowe na podstawie ustawienia przełożenia (Mr+0 i Mr+1), a następnie w tym okresie czasu generuje strumień impulsów z ustawioną prędkością (Fo). Ustawiona prędkość wyjściowa (Fo) oraz czasy przyspieszenia/opóźnienia (określane parametrami 4 i 8 funkcji FUN141) muszą zagwarantować wysyłanie wszystkich impulsów w okresie 50ms. Szczególnie jest to istotne w przypadku wysokiego mnożnika (rzędu 100, 200). przypadku, gdy "EN"=1, funkcja ta przeprowadzi próbkowanie wejścia impulsowego ręcznego generatora impulsów, poprzez zaczytanie aktualnej wartości licznika sprzętowego w okresie czasowym (w każdym wywołaniu okresowego przerwania sprzętowego 50ms). W przypadku stwierdzenia pojawienia się impulsów wejściowych, funkcja wyliczy wymaganą do wygenerowania liczbę impulsów wyjściowych na podstawie ustawionego przełożenia, a następnie w okresie 50ms wygeneruje strumień impulsów z ustawioną prędkością (Fo) Liczba impulsów wyjściowych = (Liczba impulsów wejściowych Fa ) / Fb ta kontrolowana jest przez system zarządzania zasobami sprzętowymi, dlatego też nie zostanie ona wykonana, gdy sprzęt jest zajęty. impulsy wyjściowe są generowane, wyjście ACT=1; w przeciwnym wypadku ACT=0. 50mS 50mS.Próbkujące wejście impulsowe.próbkujące wejście impulsowe.strumień impulsów.strumień impulsów wyjściowych z prędkością Fo wyjściowych z prędkością Fo 11-38
Funkcje pozycjonowania NC FUN148 MPG Ręczny generator impulsów pozycjonowania FUN148 MPG Przykład 1: 11-39
Funkcje pozycjonowania NC FUN148 MPG Ręczny generator impulsów pozycjonowania FUN148 MPG X32 :Wybierz oś 0(Ps0) X33 :Wybierz oś 1 (Ps1) X34 :Mnożnik = 1 X35 :Mnożnik = 10 X36 :Mnożnik = 100 M100: Włącz / wyłącz MPG DR2005:Maksymalna prędkość osi 0(Parametr 4 dla FUN141);200K Hz R2011 :Czas przyspieszenia/zwolnienia osi 0 (Parametr 8 dla FUN141);30mS DD600:Prędkość wyjściowa osi 0 dla MPG; 200K Hz DR2105: Maksymalna prędkość osi 1 (Parametr 4 dla FUN141) ; 200K Hz R2111 :Czas przyspieszenia/opóźnienia osi 1 (Parametr 8 dla FUN141); 30mS DD602:Prędkość wyjściowa osi 1 dla MPG; 200K Hz Opis: Dla zrealizowania pozycjonowania MPG Ps0 i Ps1, funkcja MPG (FUN148) wywoływana jest w procedurze obsługi okresowego przerwania co 50mS (przerwanie o etykiecie 50MSI). Gdy X32=1 i M100=1, funkcja wykona pozycjonowanie MPG osi Ps0. Nastąpi próbkowanie wejścia impulsowego poprzez odczyt aktualnej wartości HSC0 co każde 50mS. W przypadku braku impulsów wejściowych, nie pojawi się także impulsy wyjściowe. W przypadku wykrycia impulsów na wejściu HSC0, funkcja obliczy liczbę impulsów do wysłania na podstawie ustawienia mnożnika (D700/ D701), ), a następnie w tym okresie czasu wygeneruje strumień impulsów z ustawioną prędkością Fo (DD600). Liczba impulsów wyjściowych= (Liczba impulsów wejściowych HSC0 D700) / D701 11-40
FUN148 MPG Przykład 2: Ręczny generator impulsów pozycjonowania Funkcje pozycjonowania NC FUN148 MPG 11-41
Funkcje pozycjonowania NC FUN148 MPG Ręczny generator impulsów pozycjonowania FUN148 MPG : X32 Wybierz oś 0 (Ps0) X33 Wybierz oś 1 (Ps1) X34 Mnożnik = 1 X35 :Mnożnik = 10 X36 Mnożnik = 100 M100:Włącz / wyłącz MPG DR2005: : Maksymalna prędkość osi 0 (Parametr 4 of FUN141) ; 200K Hz R2011 Czas przyspieszenia / opóxnienia osi 0 (Parametr 8 dla FUN141); 30mS DD600: Prędkość wyjściowa osi 0 dla MPG; 200K Hz DR2105:Maksymalna prędkość osi 1 (Parametr 4 dla FUN141) ; 200K Hz R2111 :Czas przyspieszenia / opóźnienia osi 1 (Parametr 8 dla FUN141); 30mS DD602:Prędkość wyjściowa osi 1 dla MPG; 200K Hz Opis: Wykonywanie okresowe (co 50ms) funkcji MPG dla osi Ps0 i Ps1 realizowane jest poprzez wykorzystania szybkiego timera sprzętowego o podstawie czasu 0.1mS. Timer ten (HSTA) generuje okresowe przerwanie sprzętowe (HSTAI) co 50ms. Gdy X33=1 i M100=1, funkcja wykona pozycjonowanie MPG osi Ps1. Nastąpi próbkowanie wejścia impulsowego poprzez odczyt aktualnej wartości HSC0 co każde 50mS. W przypadku braku impulsów wejściowych, nie pojawi się także impulsy wyjściowe. W przypadku wykrycia impulsów na wejściu HSC0, funkcja obliczy liczbę impulsów do wysłania na podstawie ustawienia mnożnika (D700/ D701), ), a następnie w tym okresie czasu wygeneruje strumień impulsów z ustawioną prędkością Fo (DD602)..Liczba impulsów wyjściowych = (Liczba impulsów wejściowych HSC0 D700) / D701 11-42
Funkcje pozycjonowania NC FUN148 FUN148 Ręczny generator impulsów pozycjonowania MPG MPG Funkcja ręcznego generatora impulsów (FUN148,MPG) daje możliwość ograniczania ruchów naśladowania wejścia impulsowego we wskazanym kierunku. Jeżeli wartość starszego bajtu R4020 55H, funkcjonalność ta jest wyłączona Jeżeli wartość starszego bajtu R4020 = 55H, bity młodszego bajtu wyk orzystywane są do określania ograniczeń ruchu w danym kierunku, gdzie: R4020_ b15 b8=55h, R4020_ b0=1,ruch w przód osi Ps0 niedozwolony R4020_ b1=1,ruch wstecz osi Ps0 niedozwolony R4020_ b2=1,ruch w przód osi Ps1 niedozwolony R4020_ b3=1,ruch wstecz osi Ps1 niedozwolony R4020_ b4=1,ruch w przód osi Ps2 niedozwolony R4020_ b5=1,ruch wstecz osi Ps2 niedozwolony R4020_ b6=1,ruch w przód osi Ps3 niedozwolony R4020_ b7=1,ruch wstecz osi Ps3 niedozwolony Przykład programu 11-43
11.7 Bazowanie maszyny Maszyny stosujące enkodery inkrementalne dla wyznaczenia przemieszczenia z reguły wymagają procedury zresetowania w celu ustalenia pozycji odniesienia. Procedurę tę nazywa się bazowaniem maszyny (poszukiwaniem zerowej pozycji odniesienia). Schematy bazowania maszyny dla urządzeń NC wyglądają następująco: Metoda 1: Prędkość bazowania Redukcja prędkości Lewy czujnik krańcowy Wykrycie bliskości bazy Prawy czujnik krańcowy Po pojawieniu się sygnału bliskości bazy rozpoczyna się zliczanie impulsów fazy Z. Po zliczeniu zadanej liczby impulsów z fazy Z, wyjście impulsowe przestaje wysyłać impulsy a sygnał CLR jest wystawiany w celu wyzerowania licznika błędu napędu serwo. np.: X3: Wejście wykrywające bliskość bazy skonfigurowane jest do zgłaszania przerwania sprzętowego: podczas procedury bazowania,, uruchamia ono zliczanie licznika programowego HSC4 wewnątrz procedury obsługi przerwania sprzętowego X3+. X2: Wejście zliczania fazy Z skonfigurowane jest jako wejście zliczając w górę licznika programowego HSC4; Przerwanie sprzętowe X2+ (na działaniu którego opiera się zliczanie licznika HSC4) jest deaktywowane w czasie normalnej pracy. W przypadku, gdy podczas procedury bazowania maszyny pojawi się przerwanie sprzętowe od czujnika bliskości bazy X3, procedura obsługi tego przerwania aktywuje zliczanie licznika HSC4, który zaczyna zliczać impulsy fazy Z. Po doliczeniu do zadanej wartości, HSC4 zatrzymuje impulsy wyjściowe, blokuje przerwanie X2+, ustala pozycję bazową i wysyła sygnał CLR w celu wyzerowania licznika błędów napędu serwo. Patrz przykład programu. Metoda 2: Oś porusza się w kierunku czujnika bliskości bazy, po pojawieniu się narastającego sygnału z czujnika oś zwalnia i pokonuje jeszcze niewielki dystans i wysyłanie impulsów pozycjonujących zatrzymuje się. Po czym oś rozpoczyna powolny ruch wstecz. W momencie zjechania z czujnika bliskości bazy (pojawieniu się stanu opadającego na wejściu), pozycja osi przyjmowana jest jako pozycja bazowa. Takie program jest prostszy! (3) Zatrzymanie (2) Redukcja prędkości (4) Powolny powrót (1) Prędkość bazowania (5) Zatrzymanie Zmiana stanu wejścia bliskości bazy 1 0; punkt odniesienia maszyny (baza). Lewy czujnik krańcowy Wykrywanie bliskości bazy Prawy czujnik krańcowy X3: Wejście wykrywające bliskość bazy skonfigurowane jest do zgłaszania sprzętowego przerwania od jego stanu. Po wykryciu sygnału na wejściu bliskości bazy nastąpi aktywacja przerwania sprzętowego od opadającego stanu X3 oraz zwolnienie ruchu osi. Po pokonaniu niewielkiego dystansu, zawierającego się w zasięgu działania wejścia bliskości bazy, oś się zatrzyma. Rozpocznie się powolny ruch wstecz, do chwili wykrycia stanu opadającego na czujniku bliskości bazy. W tym momencie nastapi natychmiastowe wykonanie procedury obsługi przerwania sprzętowego X3-. Procedura obsługi przerwania X3-: Bezzwłocznie zatrzymuje wyjście impulsowe, dezaktywuje przerwanie X3-, ustawia pozycję bazową i wysyła sygnał CLR w celu wyzerowania licznika błędów napędu serwo. (Patrz przykład programu) 11-44
Przykład programu 1: Bazowanie maszyny (metoda 1) X2: Skonfigurowane jako wejście UP HSC4 i podłączone do wyjścia fazy Z enkodera. X3: Skonfigurowane do zgłaszania przerwania sprzętowego przy narastającym stanie i podłączone do wejścia wykrywającego bliskość bazy. główny Program M1924 EN EN 146 DIS 141.MPARA X2+I Ps : 0 ERR SR : R 2900 Dezaktywacja przerwania X2+ (HSC4 nie zlicza) Tabela parametrów serwa R2900 R2923. M92 EN RST M50 Zerowanie sygnału zakończenia ustalania pozycji bazowej EN RST M5 Zerowanie sygnału zakończenia instrukcji dla ustalania pozycji bazowej. EN RST M1007 Zerowanie sygnału błędu. EN EN RST D RST R 2014 R 4112 Zerowanie numeru kroku w rejestrze roboczym FUN140 - rozpoczęcie od pierwszego kroku. Zerowanie aktualnej wartości HSC4. EN RST R 4115 Zerowanie starszego słowa wartości zadanej HSC4. M92 SERVO Obsługa SERVO Manual GOTOWE READY operation ręczna M5 M50 M1007 EN 08.MOV S : R 2923 D : R 4114 M4 Wprowadzenie do HSC4 wartości parametru 17 z FUN141. M4 M4 Program pozycjonowania: 001 SPD R2919 DRV ADR,,999999,Ut EXT X3 GOTO NEXT 002 SPD R2921 DRV ADR,,9999,Ut MEND EN PAU ABT 140.HSPSO Ps : 0 SR : R 5040 WR : R 2014 ACT ERR DN M1006 M1007 R5000~R5199 skonfigurowano jako rejestr tylko do odczytu (ROR) przed rozpoczęciem programowania. Po zapisaniu programu, program drabinkowy zawierać będzie program pozycjonujący. M4 M1996 EN SET M5 Zakończenie instrukcji ustalania pozycji bazowej Y8 T0 EN EN.01S T0 RST D 50 TUP Y8 EN RST R 4088 Sygnał zakończenia ustalania pozycji bazowej Sygnał zerowania licznika błędów serwo napędu Y8 jest aktywny przez 0.5 sekundy. Zresetowanie bieżącej pozycji osi po zakończeniu bazowania. 11-45
Podprogram 65 LBL X3+I Procedura obsługi przerwania sprzętowego przy stanie nastającym X3. M4 69 RTI EN 145 EN X2+I Załączenie zliczania HSC4 podczas ustalania pozycji bazowej. M4 65 LBL HSC4I 142 EN PSOFF 0 Procedura obsługi przerwania sprzętowego HSC4 (zliczenie sygnałów Z do zadanej wartości) Bezzwłoczne zatrzymanie wyjścia impulsowego. 69 RTI EN EN 146 DIS 74.IMDIO D : Y8 N : 1 X2+I Dezaktywacja przerwania od stanu narastającego sygnału X2. Y8 Wyjście zerujące licznik błędu pozycji serwo napędu. M50 Wystawienie sygnału zakończenia bazowania. Natychmiastowe odświeżenie stanu wyjścia Y8. 11-46
Przykład programu 2: Bazowanie maszyny (metoda 2) X3: Podłączone do czujnika wykrywania bliskości bazy i skonfigurowane do zgłaszania przerwania sprzętowego przy stanie opadającym. główny Program M1924 EN 67 CALL INIT 65 LBL Ust. poz. Serwo Obsługa Servo Manual Homing wyjściowej gotowe Ready operation ręczna HOME Lewa granica Left over travel ruchu limit M20 M20 M20 Serwo Servo Ready gotowe M5 M50 EN EN EN RST RST D RST M50 M5 R2014 M4 Zerowanie sygnału zakończenia bazowania. Zerowanie sygnału zakończenia instrukcji bazowania. Zerowanie numeru kroku w rejestrze roboczym FUN140 - rozpoczęcie od pierwszego kroku. M4 M4 X3 M4 Program pozycjonowania: 001 SPD R2919 DRV ADR,,999999,Ut EXT X3 GOTO NEXT 002 SPD 1000 DRV ADR,,1000,Ps WAIT TIME,10 GOTO NEXT 003 SPD R200 DRV ADR,+,999999,Ut MEND EN PAU ABT 145P EN EN 140.HSPSO Ps SR X3 - I : 0 : R 5040 WR : R 2014 ACT ERR DN M1006 Załączenie przerwania X3 (przerwanie przy stanie opadającym). R5000~R5199 skonfigurowano jako rejestr tylko do odczytu (ROR) przed rozpoczęciem programowania. Po zapisaniu programu, program drabinkowy zawierać będzie program pozycjonujący. M4 M50 M51 M1996 EN EN SET SET M5 Y8 M51 Zakończenie instrukcji ustalania pozycji bazowej. Sygnał zakończenia ustalania pozycji bazowej. Y8 T0 EN EN.01S T0 RST 30 Y8 TUP Wyjście zerujące licznik błędu pozycji serwo napędu Y8 jest aktywne przez 0.3 sekundy EN 08D.MOV S : 0 D : R 4088 Wprowadzenie wartości 0 do rejestrów aktualnej pozycji wyjścia impulsowego 11-47
Podprogram 68 65 LBL INIT EN EN 146 DIS X3 - I 141.MPARA Ps : 0 SR : 2900 ERR Dezaktywacja przerwania X3 Tabela parametrów Serwa R2900~ R2923 RTS M4 65 LBL X3 - I EN 142 PSOFF 0 Procedura obsługi przerwania sprzętowego od opadającego stanu X3 Bezzwłoczne zatrzymanie wyjścia impulsowego 146 69 EN DIS X3 - I Dezaktywacja przerwania X3 RTI 11-48
Oba powyższe przykłady ustalania pozycji bazowej maszyny, realizowane są za pomocą programu drabinkowego. Zrozumienie jego działania nie jest trudne, ale zastosowanie kłopotliwe, co może być uciążliwe dla użytkowników. Ponieważ FATEK zawsze bierze pod uwagę komfort użytkownika, do funkcji szybkiego wyjścia impulsowego (FUN140) dodano komendę poszukiwania bazy (DRVZ), działającą w jednym z trzech trybów (MD0~MD2). Funkcjonalność ta jest wspierana przez jednostki główne sterowników PLC serii FBs o wersji firmware V4.32 lub nowszej. Zastosowanie komendy DRVZ do poszukiwania pozycji bazowej, musi być poprzedzone skonfigurowaniem skojarzonych z tą funkcjonalnością parametrów serwa (FUN141): DRVZ MD0 DRVZ MD1 DRVZ MD2 Parametr 6 (Prędkość pełzania) Należy ustawić Należy ustawić Należy ustawić Parametr 9-1 (Kierunek bazowania) Należy ustawić Należy ustawić Należy ustawić Parametr 15-0 (Adres wejścia DOG) Należy ustawić Należy ustawić Należy ustawić Parametr 15-1 (Adres wejścia krańcowego) Opcjonalnie Opcjonalnie Opcjonalnie Parametr 15-2 (Adres wejścia PG0) Nieistotne Nieistotne Należy ustawić Parametr 15-3 (Adres wyjścia CLR) Opcjonalnie Opcjonalnie Opcjonalnie Parametr 16 (Pozycja w chwili zbazowania) Należy ustawić Należy ustawić Należy ustawić Parametr 17 (Liczba sygnałów PG0) Nieistotne Nieistotne Należy ustawić Funkcja FUN 140 nie wykona komendy poszukiwania bazy, jeżeli pojawią się następujące błędy: R4060(PS0) R4061(PS1) R4062(PS2) R4063(PS3) Kod błędu Wyjaśnienie 42 Ruch DRVZ nie może nastąpić po DRVC 50 Nieprawidłowy tryb pracy komendy DRVZ 51 Nieprawidłowy adres wejścia DOG 52 Nieprawidłowy adres wejścia PG0 53 Nieprawidłowy adres wyjścia CLR Metodyka wprowadzania komendy DRVZ do programu pozycjonującego, jest identyczna jak w przypadku pozostałych dwóch typów ruchów (DRV i DRVC) funkcji FUN140. Aby wprowadzić ruch bazujący, w wierszu Movement edytora komend ruchu należy wybrać ruch typu DRVZ a następnie wskazać tryb bazowania (MD0~MD2) (patrz przykład poniżej): 11-49
Poniższej schematycznie opisują przebieg procedury bazowania (DRVZ) Tryb 0 Czujnik DOG Czujnik DOG Czas przysp./opóź. Prędkość bazowania Prędkość pełzania Kierunek bazowania Punkt zerowy maszyny Opis Wyjście zeruj czas skanu 1. Bazowanie rozpoczyna się, gdy oś znajduje się przed czujnikiem DOG (Parametr 15_0) a. Ruch z prędkością bazowania, zgodnie z kierunkiem bazowania. b. Po najechaniu na czujnik DOG (wykrycie zbocza jako przerwanie sprzętowe), redukcja prędkości do prędkości pełzania (Parametr 6). c. Kontynuacja ruchu w kierunku bazowania do momentu zjechania z czujnika DOG (wykrycie zbocza jako przerwanie sprzętowe); jest to pozycja bazowa (pozycja osi przyjmuje wartość parametru 16 pozycji w chwili zbazowania). d. Jeżeli wyjście zerowania błędu pozycji dla serwonapędu CLR (Parametr 15_3) nie zostało skonfigurowane, to proces bazowania zakończy się na kroku c. e. Jeżeli wyjście zerowania błędu pozycji dla serwonapędu CLR (Parametr 15_3) zostało skonfigurowane, to proces bazowania zakończy się po wystawieniu wyjścia CLR na czas min. 20ms. 2. Bazowanie rozpoczyna się, gdy oś znajduje się za czujnikiem DOG (Parametr 15_0) a przed czujnikiem krańcowym (Parametr 15_1) a. Ruch z prędkością bazowania zgodnie z kierunkiem bazowania. Zatrzymanie ruchu po najechaniu na czujnik krańcowy. b. Ruch z prędkością bazowania w kierunku przeciwnym do kierunku bazowania. Po minięciu czujnika DOG, procedura bazowania jest realizowana tak jak opisano w punkcie 1. 11-50
Tryb 1 Czujnik DOG Czas przysp./opóź. Prędkość bazowania Kierunek bazowania Zwolnienie i zatrzymanie Punkt zerowy maszyny 0.5 sekundy opóźnienia Prędkość pełzania Powrót DOG Opis Wyjście zeruj czas skanu 1. Bazowanie rozpoczyna się, gdy oś znajduje się przed czujnikiem DOG (Parametr 15_0) a. Ruch z prędkością bazowania, zgodnie z kierunkiem bazowania. b. Po najechaniu na czujnik DOG (wykrycie zbocza jako przerwanie sprzętowe), redukcja prędkości do momentu zatrzymania ruchu. c. Po czasie 0.5 sekundy, ruch z prędkością pełzania w kierunku przeciwnym do kierunku bazowania (cofanie), do momentu zjechania z czujnika DOG (wykrycie zbocza jako przerwanie sprzętowe); jest to pozycja bazowa (pozycja osi przyjmuje wartość parametru 16 pozycji w chwili zbazowania). d. Jeżeli wyjście zerowania błędu pozycji dla serwonapędu CLR (Parametr 15_3) nie zostało skonfigurowane, to proces bazowania zakończy się na kroku c. e. Jeżeli wyjście zerowania błędu pozycji dla serwonapędu CLR (Parametr 15_3) zostało skonfigurowane, to proces bazowania zakończy się po wystawieniu wyjścia CLR na czas min. 20ms. 2. Bazowanie rozpoczyna się, gdy oś znajduje się za czujnikiem DOG (Parametr 15_0) a przed czujnikiem krańcowym (Parametr 15_1) a. Ruch z prędkością bazowania zgodnie z kierunkiem bazowania. Zatrzymanie ruchu po najechaniu na czujnik krańcowy. b. Ruch z prędkością bazowania w kierunku przeciwnym do kierunku bazowania. Po minięciu czujnika DOG, procedura bazowania jest realizowana tak jak opisano w punkcie 1. 11-51
Tryb 2 (Rozpoczęcie zliczania na froncie czujnika DOG) Czujnik DOG Przód Tył Moment rozpoczęcia zliczania i adresu wejścia PG0 Czas przysp./opóź. Prędkość bazowania Prędkość pełzania Kierunek bazowania Punkt zerowy maszyny Zliczanie PG0 Przebieg sygnału PG0 Opis Wyjście zeruj czas skanu Rozpoczęcie zliczania sygnału PG0 1. Bazowanie rozpoczyna się, gdy oś znajduje się przed czujnikiem DOG (Parametr 15_0) a. Ruch z prędkością bazowania, zgodnie z kierunkiem bazowania. b. Po najechaniu na czujnik DOG (wykrycie zbocza jako przerwanie sprzętowe), redukcja prędkości do prędkości pełzania (Parametr 6), po czym rozpoczęcie zliczania (wykrywanie zboczy jako przerwanie sprzętowe) sygnału PG0 (Parametr 15_2) c. Kiedy liczba zliczeń sygnału PG0 zrówna się z zadaną liczbą zliczeń (Parametr 17), jest to pozycja bazowa (pozycja osi przyjmuje wartość parametru 16 pozycji w chwili zbazowania). d. Jeżeli wyjście zerowania błędu pozycji dla serwonapędu CLR (Parametr 15_3) nie zostało skonfigurowane, to proces bazowania zakończy się na kroku c. e. Jeżeli wyjście zerowania błędu pozycji dla serwonapędu CLR (Parametr 15_3) zostało skonfigurowane, to proces bazowania zakończy się po wystawieniu wyjścia CLR na czas min. 20ms. 2. Bazowanie rozpoczyna się, gdy oś znajduje się za czujnikiem DOG (Parametr 15_0) a przed czujnikiem krańcowym (Parametr 15_1) a. Ruch z prędkością bazowania zgodnie z kierunkiem bazowania. Zatrzymanie ruchu po najechaniu na czujnik krańcowy. b. Ruch z prędkością bazowania w kierunku przeciwnym do kierunku bazowania. Po minięciu czujnika DOG, procedura bazowania jest realizowana tak jak opisano w punkcie 1. Wykonując procedurę bazowani w tym trybie, należy zwrócić uwagę na prawidłową pozycję czujnika DOG względem sygnałów PG0, w celu uniknięcia błędu jednego zliczenia. 11-52
Tryb 2 (Rozpoczęcie zliczania za czujnikiem DOG) Czujnik DOG Czujnik DOG Tył Przód Moment rozpoczęcia zliczania i adresu wejścia PG0 Czas przysp./opóź. Prędkość bazowania Prędkość pełzania Kierunek bazowania Punkt zerowy maszyny Zliczanie PG0 Przebieg sygnału PG0 Opis Wyjście zeruj czas skanu Rozpoczęcie zliczania sygnału PG0 1. Bazowanie rozpoczyna się, gdy oś znajduje się przed czujnikiem DOG (Parametr 15_0) a. Ruch z prędkością bazowania, zgodnie z kierunkiem bazowania. b. Po najechaniu na czujnik DOG (wykrycie zbocza jako przerwanie sprzętowe), redukcja prędkości do prędkości pełzania (Parametr 6). Kontynuacja ruchu do momentu zjechania z czujnika DOG (wykrycie zbocza jako przerwanie sprzętowe) po czym rozpoczęcie zliczania (wykrywanie zboczy jako przerwanie sprzętowe) sygnału PG0 (Parametr 15_2) c. Kiedy liczba zliczeń sygnału PG0 zrówna się z zadaną liczbą zliczeń (Parametr 17), jest to pozycja bazowa (pozycja osi przyjmuje wartość parametru 16 pozycji w chwili zbazowania). d. Jeżeli wyjście zerowania błędu pozycji dla serwonapędu CLR (Parametr 15_3) nie zostało skonfigurowane, to proces bazowania zakończy się na kroku c. e. Jeżeli wyjście zerowania błędu pozycji dla serwonapędu CLR (Parametr 15_3) zostało skonfigurowane, to proces bazowania zakończy się po wystawieniu wyjścia CLR na czas min. 20ms 2. Bazowanie rozpoczyna się, gdy oś znajduje się za czujnikiem DOG (Parametr 15_0) a przed czujnikiem krańcowym (Parametr 15_1) a. Ruch z prędkością bazowania zgodnie z kierunkiem bazowania. Zatrzymanie ruchu po najechaniu na czujnik krańcowy. b. Ruch z prędkością bazowania w kierunku przeciwnym do kierunku bazowania. Po minięciu czujnika DOG, procedura bazowania jest realizowana tak jak opisano w punkcie 1. Wykonując procedurę bazowani w tym trybie, należy zwrócić uwagę na prawidłową pozycję czujnika DOG względem sygnałów PG0, w celu uniknięcia błędu jednego zliczenia. 11-53
W trzech powyższych opisach trybów bazowania zakłada się, że procedura bazowania rozpoczyna się gdy oś znajduje się przed czujnikiem DOG. Jednakże w chwili rozpoczęcia procedury bazowania, oś może znajdować się za lub na czujniku DOG. Poniższy schemat i opis przedstawiają zachowanie się osi w tych dwóch przypadkach: Procedura bazowania rozpoczyna się gdy oś znajduje się za lub na czujniku DOG Left limit senser Lewy czujnik krańczowy DOG sensor Czujnik DOG DOG Initial position Pozycja wyjściowa Kroki 1. Ruch z prędkością bazowania, zgodnie z kierunkiem bazowania (Parametr 9_1). Ruch zakończy się w chwili najazdu na czujnik krańcowy (Parametr 15_1). 2. Po najeździe na czujnik krańcowy (Parametr 15_1), rozpoczyna się ruch w kierunku przeciwnym do kierunku bazowania. Ruch trwa do momentu minięcia czujnika DOG (zmiana sygnału czujnika z 1 0). 3. Wykonanie kroku nr 2 oznacza, że oś znalazła się przed czujnikiem DOG. Procedura bazowania będzie kontynuowana zgodnie z wcześniej ustawionym trybem (MD0~MD2). 11-54
Przykład programu 3:Procedura baowania(z wykorzystaniem trybu 2 komendy DRVZ) Marker pierwszego skanu M1924 ustawia parametry osi. Zerowanie sygnału zakończenia procedury bazowania FUN140 Rozpoczęcie procedury bazowania. Obsługa komendy DRVZ przez FUN140. Tabela ustawień parametrów serwa (FUN141) 11-55
Tabela programu serwa (FUN140) Opis programu: (1). Po uruchomieniu programu, marker pierwszego skanu programu (M1924) ustawi adres początkowy tabeli parametrów serwo. (2). Po zmianie M0 z 0 1 (instrukcja P), poprzez samopodtrzymanie M1 przejdzie w stan wysoki i jednocześnie rozpocznie się realizacja procedury bazowania przez funkcję FUN140. (3). Zgodnie z ustawieniem kroku pozycjonowania funkcji FUN140 w tabeli programu serwo, na początku oś będzie się poruszać w kierunku bazowania z prędkością 5000 do momentu najazdu na czujnik DOG (X2). Nastąpi wtedy natychmiastowa redukcja prędkości do 1000 i rozpoczęcie zliczania impulsów z wejścia PG0. (4). Kiedy liczba zliczeń sygnału PG0 (X4) wyniesie 10, będzie to oznaczać, że została znaleziona pozycja bazowa. Na czas minimum 20mS wystawiony zostanie sygnał zerujący (Y8), a wartość pozycji bazowej maszyny zostanie ustawiona na 100 i zapisana w rejestrze pozycji bieżącej (w przykładzie tym zastosowana została oś 0, wartość 100 pojawi się zatem w DR4088). Operacja bazowania zostaje zakończona. 11-56
Schemat Czujnik DOG Przód Tył Moment rozpoczęcia zliczania i adresu wejścia PG0 Czas przysp./opóź. Prędkość bazowania Prędkość pełzania Kierunek bazowania Punkt zerowy maszyny Zliczanie PG0 Przebieg sygnału PG0 Wyjście zeruj Rozpoczęcie zliczania sygnału PG0 czas skanu Wejście DOG powinno być ustawione jako jedno z wejść jednostki głównej o adresie X0~X15. Po skonfigurowaniu danego wejścia jako wejście DOG, nie może ono kolidować z przerwaniem sprzętowym ani z szybkim licznikiem sprzetowym. Na przykład, jeżeli wejście X0 zostało ustawione jako wejście DOG dla jednej z osi, nie może ono zostać ustawione do zgłaszania przerwań sprzętowych ani jako szybki licznik sprzętowy. 11-57
Przycisk Jog Obsługa posuwu w Serwo forward Manaul button Ready operation ręczna przód gotowe M1 EN D RST R 2000 M0 Rozpoczęcie od pierwszego kroku przy każdym wywołaniu operacji JOG. Servo Przykład programu 4: JOGowanie w przód Przycisk posuwu wprzód Jog forward button EN RST M1 Zerowanie sygnału ukończenia M0 M0 Program pozycjonowania: 001 SPD 1000 DRV ADR,+,1,Ps WAIT TIME,50 GOTO NEXT 002 SPD R2907 DRV ADR,+,99999999,Ut MEND EN PAU ABT 140.HSPSO Ps : 0 SR : R 5000 WR : R 2000 ACT ERR DN M1000 M1001 M0 M1996 EN SET M1 Po zakończeniu ostatniego kroku ustawiany jest sygnał ukończenia. Przykład programu 5: JOGowanie w tył Przycisk posuwu w tył Jog backward button EN RST M3 Zerowanie sygnału ukończenia. Przycisk Jog Serwo Obsługa backward posuwu w Servo Manaul button Ready gotowe operation ręczna tył M3 EN D RST R 2007 M2 Rozpoczęcie od pierwszego kroku przy każdym wywołaniu operacji JOG. M2 M2 Program pozycjonowania: 001 SPD 1000 DRV ADR,,1,Ps WAIT TIME,50 GOTO NEXT 002 SPD R2907 DRV ADR,,99999999,Ut MEND EN PAU ABT 140.HSPSO Ps : 0 SR : R 5020 WR : R 2007 ACT ERR DN M1003 M1004 M2 M1996 EN SET M3 Po zakończeniu ostatniego kroku ustawiany jest sygnał ukończenia. 11-58
Przykład programu 6: Krok po kroku, pojedynczy cykl, ciągła kontrola pozycji. M93 : Start M101 : Tryb pracy krok po kroku M102 : Tryb pracy z jednym cyklem M103 : Tryb pracy ciągłej M104 : Zwykłe wyłączenie. M105 : Zatrzymanie awaryjne. M93 EN RST M7 Zerowanie sygnału wyłączenia. EN RST M1010 Zerowanie sygnału o błędzie. EN RST M1011 Zerowanie sygnału o ukończeniu kroku. M101 EN RST R 2021 Zerowanie znacznika kroku. Następna operacja zostanie rozpoczęta od pierwszego kroku. Serwo M93 READY gotowe SERVO M6 M101 M1011 M105 M1010 EN RST R 2022 M6 Zerowanie bitu aktywności FUN140 M101 M7 M6 Program pozycjonowania: 001 SPD 1000 DRV ADR,+,20000,Ut WAIT TIME,100 GOTO NEXT 002 SPD 20000 DRV ADR,+,40000,Ut WAIT M200 GOTO NEXT 003 SPD 25000 DRV ADR,,50000,Ut WAIT TIME,500 GOTO NEXT 004 SPD 5000 DRV ADR,,10000,Ut WAIT X16 GOTO 1 EN PAU ABT 140.HSPSO Ps : 0 SR : R 5100 WR : R 2021 ACT ERR DN M1009 M1010 M1011 M6 M102 M103 M104 M1996 EN SET M7 Ustawienie sygnału wyłączenia. 11-59
Rozdział 12 Funkcja komunikacyjna FBs - PLC Jednostka główna FBs-PLC została wbudowana w port komunikacyjny port0 z opcjonalnym interfejsem USB lub RS232. Ilość interfejsów komunikacyjnych może być zwiększona do 2~3 za pomocą dodatkowych płytek komunikacyjnych (CB) (w zależności od modelu CB). Liczbę interfejsów komunikacyjnych można zwiększyć do 5 (PORT0~PORT4) poprzez dodanie modułów komunikacyjnych. Istnieją trzy rodzaje interfejsów komunikacyjnych do wyboru w przypadku CB i CM: RS232, RS485 i Ethernet. Port0 stanowi stały interfejs dla interfejsu komunikacyjnego FATEK, który jest sterowany przez CPU w PLC przy użyciu Standardowego sterownika komunikacyjnego FATEK do obsługi transakcji komunikacyjnych realizowanych przez port, tj. Protokół komunikacyjny FATEK. Aby uzyskać odpowiedź z PLC, każdy dostęp do portu musi spełniać wymagania dotyczące formatu obsługiwanego przez protokół komunikacyjny FATEK. Wymagania te dotyczą początkowego znaku, nr stacji, kodu komendy, treści, kodu kontrolnego błędu, znaków końcowych itd. Więcej szczegółów w Załączniku 2: Protokół komunikacyjny FATEK. WinProladder i wiele programów HMI i SCADA jest wyposażonych w sterowniki komunikacyjne zgodne z protokołem FATEK. Dzięki nim, w przypadku, gdy parametry interfejsu sprzętowego są odpowiednie, to połączenie komunikacyjne może być zrealizowane poprzez połączenie portu komunikacyjnego ze standardowym interfejsem. W przypadku, gdy sterownik komunikacyjny wyposażony w odpowiedni protokół komunikacyjny jest niedostępny, to często stosowany przemysłowy protokół Modbus RTU/ASCII oprócz wysyłania komend zgodnych z protokołem komunikacyjnym FATEK w celu komunikacji z PLC, może być także użyty do realizacji połączenia z FBs-PLC. Ustawienia fabryczne oraz inicjalizacja systemowa PLC odbywa się na portach Port 1 ~ Port 4 będących portami domyślnymi dla standardowego interfejsu komunikacyjnego FATEK. Dlatego też, aby spełnić wymagania potrzebne do realizacji połączenia komunikacyjnego, porty 1 4 wyposażone są w standardowy interfejs komunikacyjny FATEK oraz generują proste komendy komunikacyjne obsługujące zaawansowane funkcje i umożliwiające użytkownikom kompilację oprogramowania poprzez program drabinkowy oraz łatwe osiągnięcie integracji systemowej i rozproszonego monitoringu. Więcej szczegółów w kolejnych rozdziałach. 12.1 Funkcje i zastosowania portów komunikacyjnych FBs-PLC Oprócz interfejsów USB, RS232,RS485 i Ethernet obsługiwanych przez 5 portów COM w FBs-PLC, istnieją także 3 rodzaje interfejsów software owych. W poniższej tabeli przedstawione są rodzaje interfejsów software owych, które mogą być skonfigurowane na 5 portach COM w FBs-PLC: Dostępne rodzaje Port komunikacyjny Uwagi Interfejs soft. Port0 Port1 Port2 Port3 Port4 Port sterowany przez CPU za pomocą standardowego sterownika komunikacyjnego FATEK lub Standardowy interfejs sterownika komunikacyjnego Modbus. Port0 nie obsługuje protokołu komunikacyjnego Modbus. - Port sterowany przez CPU za pomocą Dedykowany interfejs sterownika modemu + standardowego modemu sterownika komunikacyjnego FATEK lub sterownika komunikacyjnego Interfejs sterowany Port sterowany przez użytkowników programem ze schematem (prog. ze schematem drabinkowym) drabinkowym Konfig. Automat. Automat. Automat. Metoda konfiguracji konfig. konfig. konfig. interfejsu rejestr. PLC PLC PLC Standardowy interfejs: Porty Port0 ~ Port4 mogą być konfigurowane na ten rodzaj interfejsu (Port0 może być tylko tym rodzajem interfejsu i obsługiwać tylko standardowy interfejs komunikacyjny FATEK). Dla tego typu interfejsu, port jest sterowany za pomocą standardowego sterownika komunikacyjnego FBs-PLC (przy wykorzystaniu protokołu komunikacyjnego FATEK lub protokołu komunikacyjnego Modbus RTU/ASCII) nazywanego dalej standardowym interfejsem. Połączenie komunikacyjne ze standardowym interfejsem może być zrealizowane jedynie poprzez zgodność z protokołem komunikacyjnym FATEK PBs-PLC lub Modbus RTU/ASCII. Port0 nie obsługuje protokołu komunikacyjnego Modbus. 12-1
Dedykowany interfejs modemu: Tylko Port1 może obsługiwać ten rodzaj interfejsu. Przy tym rodzaju interfejsu, Port1 jest sterowany za pomocą wbudowanego sterownika MODEMU w FBs-PLC. Tylko Port1 może wybrać ten rodzaj interfejsu. Dla tego typu interfejsu, Port1 sterowany jest za pomocą wbudowanego sterownika MODEMU FBs-PLC odpowiedzialnego za odbiory połączeń telefonicznych lub wybieranie numerów. Połączenie jest przekazywane do standardowego sterownika komunikacyjnego FATEK. Po nawiązaniu połączenia, dalsza procedura jest identyczna jak w przypadku standardowego interfejsu powyżej. * Interfejs sterowany programem ze schematem drabinkowym: Porty Port1 ~ Port4 mogą obsługiwać ten rodzaj interfejsu. Dla tego rodzaju interfejsu, port będzie sterowany za pomocą instrukcji programu ze schematem drabinkowym, takich jak FUN94, FUN150, FUN151 itp. Dzięki temu użytkownicy mogą sterować portem poprzez program drabinkowy. W poniższych rozdziałach opisane zostały funkcje i zastosowania 5 portów FBs-PLC obsługujących każdy z 3 różnych interfejsów software owych. Domyślne parametry komunikacyjne Port1 ~ Port4: Prędkość transmisji: 9600 bps Długość danych: 7 bitów Parzystość: parzyste Bit stopu: 1 bit 12.1.1 Port komunikacyjny Port0: Interfejs USB lub RS232 Charakterystyka funkcjonalna Interfejs USB jest zgodny z charakterystyką funkcjonalną USB1.1 Charakterystyka funkcjonalna jest zgodna ze standardem EIA RS232 i umożliwia transmisje danych na 5 poziomach prędkości: 9600, 19200, 38400, 57600 i 115200. Podstawowe zastosowanie Poza standardowym interfejsem szeregowym RS232, dostępne są także standardowe interfejsy USB, ponieważ coraz więcej notebooków wykorzystuje port USB zamiast portów COM. Spowodowane jest to kwestią wagi i grubości sprzętu. Głównym celem Port0 jest obsługa interfejsu komunikacyjnego do edycji programu. W takiej sytuacji pracowałby on w trybie pasywnego odbioru. Pozostałe zastosowania 1 Oprócz edycji programu, port można połączyć z HMI, SCADA wyposażonym w sterownik komunikacyjny FATEK. 2 Dzięki konwersji sygnału z interfejsu na sygnał RS485 można nawiązać połączenie z urządzeniami peryferyjnymi pracującymi w standardzie RS485, takimi jak komputery, WinProladder, HMI, SCADA itp. Taka konwersja umożliwia także pracę jako urządzenie slave w sieci FATEK CPU Link. 12.1.2 Porty komunikacyjne Port1~Port4: Interfejs szeregowy RS232 lub RS485 Charakterystyka funkcjonalna Charakterystyka funkcjonalna interfejsu RS232 jest zgodna ze standardem EIA RS232C. Parametry komunikacyjne można ustawić na prędkość komunikacji do 921.6 kbps. Parametr komunikacyjny inicjalizacji systemu jest konfigurowany do wartości domyślnej. Charakterystyka funkcjonalna interfejsu RS485 jest zgodna ze standardem EIA RS485. 12-2
Podstawowe zastosowanie Istnieją 3 rodzaje interfejsów software owych do wyboru : 1Standardowy interfejs : Ma możliwość podłączenia do urządzeń peryferyjnych pracujących w standardzie RS232 lub RS485, takich jak komputer, WinProladder, HMI, SCADA itp. 2Interfejs modemu dedykowany dla portu Port1: Umożliwia aktywne lub pasywne łączenie się ze zdalnymi komputerami lub realizację automatycznego gromadzenia danych, ostrzegania lub raportowania o nieprawidłowościach przy zdalnym serwisowaniu przez MODEM. 3 Interfejs sterowany programem ze schematem drabinkowym : Użytkownik może sterować portami 1 4 poprzez instrukcje drabinkowe, takie jak FUN94 (ASCWR) sterująca portem 1, i łączyć się z drukarkami za pomocą interfejsu sprzętowego RS232 w celu wydrukowania raportu w języku chińskim/angielskim. Instrukcja FUN151 (CLINK) steruje portami 1 4 w celu ustanowienia połączenia z siecią FATEK CPU Link lub urządzeniami peryferyjnymi za pomocą interfejsów RS232 lub RS485. Instrukcja FUN150 (MBUS) może zmienić funkcje portów 1 4, aby pracowały jako porty master dla protokołu komunikacyjnego Modbus RTU/ASCII i spełniały funkcję łączenia urządzeń typu slave z tym protokołem komunikacyjnym. 4Port2 może spełniać funkcję szybkiego połączenia CPU FATEK. Pozostałe zastosowania We współpracy ze standardowym interfejsem, port pracuje jako slave dla wielopunktowego RS485 FATEK lub sieci RS232 CPU LINK typu punkt po punkcie. We współpracy z interfejsami sterowanymi programem drabinkowym, porty 1 4 mają następujące funkcje: 1Wykorzystują tryb MD0 instrukcji FUN151 (CLINK) do pracy jako master w sieci FATEK CPU Link. 2 Wykorzystują tryb MD1 instrukcji FUN151 (CLINK) w celu realizacji aktywnego połączenia z inteligentnymi urządzeniami peryferyjnymi wyposażonymi w ten interfejs komunikacyjny, takimi jak PLC, serwosterowniki, termoregulatory, inwertery, wyświetlacze komunikatów itp. innych marek. 3 Wykorzystują tryb MD2 instrukcji FUN (CLINK) w celu realizacji połączenia umożliwiającego odbiór sygnałów z inteligentnych urządzeń peryferyjnych wyposażonych w ten interfejs komunikacyjny takich jak czytniki kart, wagi itp. 4 Port2 może wykorzystać tryb MD3 instrukcji FUN151 (CLINK) do pracy jako master w sieci FATEK CPU Link. 5Wykorzystują instrukcję FUN150 (MBus) do pracy jako master dla protokołu komunikacyjnego Modbus RTU/ASCII w celu łączenia się z urządzeniami peryferyjnymi za pomocą tego protokołu komunikacyjnego. 12.1.3 Interfejs Ethernet Charakterystyka funkcjonalna Zgodność ze standardem IEEE802.3 w celu obsługi interfejsu 10Base T. Podstawowe zastosowanie Realizacja połączeń intranetowych i internetowych w obrębie zakładu. Interfejs sieciowy Ethernet w połączeniu ze sterownikiem komunikacyjnym FATEK lub sterownikiem Modbus może łączyć się z urządzeniami typu WinProladder, HMI, SCADA, itp. 12-3
Pozostałe zastosowania Może wykorzystać tryb MD0 instrukcji FUN151 (CLINK) w celu pozyskiwania danych przez sieć Ethernet pomiędzy urządzeniami PLC (*Tryb klienta). Uwaga: Szczegóły dotyczące pracy interfejsu sieciowego FBs-PLC w trybie klienta znajdują się w rozdziale 12.8. 12.2 Jak używać funkcji komunikacyjnych FBs-PLC Szczegóły dotyczące połączenia FBs-PLC z komputerem hostem, inteligentnymi urządzeniami peryferyjnymi i innymi PLC znajdują się na schemacie w Rozdziale 2.2 Kombinacja PLC i urządzeń peryferyjnych i Instrukcji sprzętowej. Spośród portów 2 4, jedynie port 2 obsługuje funkcję odpowiedzi w czasie rzeczywistym (czas rzeczywisty: dane są przetwarzane niezwłocznie po wysłaniu lub odebraniu bez wpływu czasu skanu) i komunikuje się za pomocą kodu binarnego (podwójnego kodu ASCII). Pozostałe porty wykorzystują kod ASCII do komunikacji w trybie standardowym. Dane są przetwarzane dopiero po zakończeniu skanowania. W związku z tym, pojawi się przerwa serwisowa spowodowana czasem skanu. Każdy PLC powinien być wyposażony w Port2 służący do wymiany danych z innymi urządzeniami za pośrednictwem szybkiej sieci FATEK CPU Link (tj. trybu MD3 instrukcji FUN151 (CLINK) w celu spełnienia wymagań kontrolera czasu rzeczywistego. Port0, Port1, Port3 i Port4 powinny być stosowane do połączeń z inteligentnymi urządzeniami peryferyjnymi, HMI, SCADA i innymi urządzeniami do gromadzenia danych i monitorowania nie w czasie rzeczywistym. 12.3 Połączenia sprzętowe dla interfejsu RS485 W przypadku FBs-PLC, RS232 obsługuje jedynie połączenie punkt po punkcie, natomiast RS485 realizuje połączenie dla wielu stacji. Odległość połączenia powinna być zgodna z ograniczeniami określonymi w normie EIA. Przy realizacji połączeń sprzętowych należy przestrzegać zasady mówiącej o tym, że długość połączenia powinna być jak najmniejsza, a stacja powinna być jak najbardziej oddalona od źródeł hałasu. Interfejs RS232 wykorzystywany jest do połączeń punkt po punkcie realizowanych na krótkich dystansach za pomocą kabli standardowych lub dostarczanych przez FATEK. Jednakże, dla szybkiej sieci RS485, jakość komunikacji będzie mniejsza, a praca układu może być w znacznym stopniu zakłócona w przypadku wystąpienia takich problemów jak duża prędkość transmisji, duża odległość połączenia, wysoki poziom tłumienia sygnału, duża ilość stacji, nieprawidłowe uziemienie, wysoki poziom hałasu, nieprawidłowe mapowanie i topologia impedancji itp. Należy dokładnie zapoznać się z uwagami dotyczącymi połączeń sprzętowych dla sieci RS485 znajdującymi się na końcu niniejszego rozdziału. Ograniczenia ilości stacji Pomimo że stacji może być 254, to w przypadku sterowania sprzętowego za pośrednictwem interfejsu RS485, maksymalna ilość stacji jest równa 16. Jeżeli wymaganych jest więcej stacji niż 16, to należy zastosować wzmacniacz RS485 (FBs-CM5R). Jeden wzmacniacz może zwiększyć ilość stacji o 16, przy założeniu, że ich maksymalna ilość to 254. Max. Maks. 254 254 station stacje of PLC FBS-PLC FBS-PLC FBS-PLC FBS-PLC FBS-PLC FBS-PLC FBS-PLC #1 #2 #16 #17 #18 #32 #254 RS485 RS485 RS485 FBS-CM5R FBS-CM5R Max. Maks. 16 16 station stacji of PLC Maks. Max. 16 station stacji of PLC 12-4
Limit odległości RS485. Poniższy schemat przedstawia zależność pomiędzy prędkością i odległością transmisji standardowego interfejsu 10K Transmission Distance 4K 1K ( ) feet 100 40 40 40 100K 1M 10M Baud Rate (bps) Kabel Do połączeń używać kabli w postaci skrętek dwużyłowych. Jakość kabla znacznie wpływa na sygnał transmisji. Przy dużych prędkościach transmisji, skrętka o niskiej jakości (np.: skrętki PVC) spowoduje bardzo duże osłabienie sygnału i znacznie skróci odległość transmisji. Odporność na zakłócenia jest mniejsza. Przy wysokich zakłóceniach prędkości i odległości transmisji należy używać skrętek wysokiej jakości (takich jak skrętki polietylenowe Belden 9841). Straty dielektryczne w tego typu kablach mogą być nawet 1000 razy mniejsze niż w przypadku skrętek PVC. Jednakże w przypadku małej prędkości transmisji i niskiego poziomu zakłóceń skrętka PVC jest dopuszczalną i ekonomiczną alternatywą. Jeżeli odległość transmisji jest zbyt długa, aby utrzymać siłę sygnału na odpowiednim poziomie, należy użyć wzmacniacza RS485 (FBs-CM5R) w celu wzmocnienia sygnału. Topologia Topologia jest to schemat połączeń do transmisji. Topologia RS485 musi być konstrukcją magistralową. Wszystkie kable muszą być poprowadzone z pierwszej stacji do drugiej, trzeciej, i ostatniej. Zgodnie z poniższymi schematami, niedopuszczalne są zarówno połączenia w gwiazdę, jak i w pierścień. W przypadku zastosowania FBs-CM5H, RS485 można połączyć w gwiazdę, jednakże połączenie w pierścień będzie niedopuszczalne. Połączenie BUS connection magistrali the Im krótszy shorter the Im shorter krótszy the tym better lepszy the tym better lepszy D D D D _ S S RS485 _ RS485 D D + G + G + _ S G RS485 12-5
星 狀 連 接 ( 不 允 許 ) Połączenie w gwiazdę D D S + _ G RS485 D D S D D + _ S G RS485 + _ G RS485 環 狀 連 接 ( 不 允 許 ) Połączenie w pierścień D D S + _ G D D S + _ G RS485 RS485 D + D + D _ D _ S G S G RS485 RS485 D D S + _ G RS485 RS485 RS485 RS485 RS485 RS485 RS485 D D S + _ G 即 可 配 路 成 搭 星 配 狀 連 結 FBS-CM5H D D S + _ G D D S + _ G D D S + _ G D D S + _ G D D S + _ G Sieć RS485 może być połączona z 網 RS-485 FBs-CM5H w gwiazdę 24+ CH1+ CH1- SG2 IN 24- SG1 CH2+ CH2- FBS-CM5H CH3+ CH3- SG4 SG3 CH4+ CH4- D D S + _ G D D S + _ G D D S + _ G RS485 RS485 RS485 D D S + _ G D D S + _ G D D S + _ G RS485 RS485 RS485 12-6
Uziemienie FG Połączenie sieci RS485 za pomocą dwóch kabli będzie bardzo podatne na zakłócenia. W celu podwyższenia jakości połączenia, różnica potencjałów uziemienia (napięcie sygnału współbieżnego) pomiędzy dwiema stacjami nie powinna przekroczyć maksymalnej dopuszczalnej wartości napięcia sygnału współbieżnego transmisji R485. Jeżeli stosowany jest FBs-PLC, wartość napięcia nie może przekroczyć 7C. W innym wypadku RS485 nie będzie pracował prawidłowo. D D S + _ G Punkt Place A A EG Ecom 7V D D S + _ G Punkt Place B B EG Niezależnie od poziomu potencjału uziemienia, zalecamy stosowanie ekranowanych skrętek. Połączenie SG każdej stacji realizowane jest za pomocą ekranowanego kabla uziemiającego (w sposób zbliżony do powyższej topologii ) w celu wyzerowania napięcia sygnału współbieżnego. Obwód musi być jak najkrótszy w celu zwiększenia odporności na zakłócenia. Impedancja końcowa Różne kable transmisyjne mają różne wartości impedancji charakterystycznej (impedancja charakterystyczna skrętki wynosi około 120Ω). W przypadku, gdy sygnał jest przesyłany do końcowego rezystora na linii kabla, to jeżeli impedancja końcowa różni się od charakterystycznej, pojawi się odbicie i zakłócenie fali (w postaci gwałtownego spadku lub wzrostu jej przebiegu). Zakłócenia te nie są tak widoczne, gdy kabel jest krótki, natomiast stają się wyraźne przy długich kablach. Mogą one spowodować nieprawidłową transmisję PLC. Aby rozwiązać ten problem, należy zainstalować końcowy rezystor. FBs-PLC został wyposażony w końcowy rezystor 120Ω. W przypadku, gdy wymagany jest końcowy rezystor, należy otworzyć osłonę i włączyć przełącznik DIP (przełącznik DIP jest wyłączony fabrycznie). Końcowe rezystory mogą być dodane do każdego PLC jedynie na skrajnym lewym i prawym końcu magistrali. Wszystkie przełączniki DIP znajdujące się pomiędzy obydwoma końcami powinny być wyłączone. W innym wypadku zdolność do sterowania RS485 może być niewystarczająca. Poniższy schemat przedstawia ustawienie i zastosowanie końcowych rezystorów: (lewy (The koniec end stacji) of left station) D D S D D S D D S D D S + + + + T N T N ON 1 2 SW SW ON 1 2 adjust Ustaw na to "OFF" WYŁ T N T N ON 1 2 SW SW Otworzyć Should osłonę open PLC's i włączyć cover, przełączniki adjust to "ON" dla for jednostek most left PLC and right z lewej PLC i units. prawej strony ON 1 2 (prawy (The koniec end of right stacji) station) Uwaga Końcowe rezystory RS485 wbudowane w FBs-PLC są wyposażone nie tylko w funkcję dostosowania impedancji, ale również funkcję BIAS. Kiedy wszystkie sterowniki wyjściowe są wyłączone (brak wyjścia), to aplikacja musi 12-7
utrzymać prawidłowe ustawienie (co najmniej jeden sterownik musi być włączony). Strategie ochrony przed zakłóceniami W przypadku, gdy sieć RS485 jest wdrażana w oparciu o opisane materiały i zasady lub dodawany jest końcowy rezystor 120Ω, problem zakłóceń jest wyeliminowany. Jednakże, jeżeli zakłócenia nie będą mogły być wyeliminowane, to jest to sygnał o obecności źródeł silnych zakłóceń w pobliżu sieci RS485. Poza utrzymywaniem kabli z dala od źródeł zakłóceń (np.: zaworów elektromagnetycznych, inwerterów, serwonapędów lub innych urządzeń), najefektywniejszym sposobem rozwiązania tego problemu jest zastosowanie elementów tłumiących zakłócenia. Informacje dotyczące tłumienia zakłóceń generowanych przez zawory elektromagnetyczne, przekaźniki i inne urządzenia posiadające ładunki indukcyjne znajdują się w rozdziale 7.5 instrukcji sprzętowej. Poniższy schemat przedstawia metody tłumienia zakłóceń dla inwerterów, serwonapędów i innych urządzeń (tj. dodanie pojemności X lub Y lub X+Y). R S T W C C C C C C C C C C C C R S T (Add (Dodaj X kondensator capacitor) X) R S T W R S T W (Add (Dodaj Y (Add (Dodaj X+Y kondensator capacitor) Y) kondensator capacitor) C = 0.22µf~0.47µf/AC630V X+Y) Uwaga Wszelkie połączenia w ramach sieci komunikacyjnej, dodawanie i usuwanie stacji komunikacyjnych powinny być zrealizowane przy odłączonym PLC. Nie wykonywać połączeń, gdy PLC pracuje, ponieważ może to doprowadzić do wystąpienia błędów komunikacyjnych prowadzących do nieprawidłowej pracy PLC. 12.4 Zastosowanie portów komunikacyjnych FBs-PLC Do realizacji sprawnej komunikacji wymaga się, aby (1) interfejsy i mechanizmy sprzętowe, (2) parametry komunikacyjne i (3) interfejsy software owe (tj. protokół) odbiornika / nadajnika były odpowiednie. Poniżej zostały opisane te trzy podstawowe elementy. 12.4.1 Dostosowywanie interfejsów i mechanizmów sprzętowych W celu spełnienia wymagania dotyczącego obsługi różnych urządzeń peryferyjnych przez interfejs FBs-PLC został wyposażony w interfejsy USB, RS232, RS 485 i Ethernet. Podczas instalacji należy zwrócić uwagę aby interfejs sprzętowy był tego samego typu. Nieprawidłowe połączenie nieodpowiedniego typu interfejsu może spowodować stałe uszkodzenie sprzętu. Należy także upewnić się, że sygnały złącza elektrycznego są zgodne. Na przykład, TXD musi łączyć się z DXD, RTS (jeżeli istnieje) należy połączyć z CTS. Interfejs USB, RS232 i RS485 są opisane poniżej (interfejs Ethernet w rozdziale 12.8). Interfejs Port0 USB (wbudowany) FBs-PLC wyposażony w interfejs Port0 USB można zamówić poprzez podanie numeru modelu CPU z przyrostkiem 12-8
U. Port0 może pracować tylko jako slave. Złącze takiego sterownika jest standardowym złączem USB typu B. Do połączenia PC z PLC użytkownik może zastosować standardowy kabel USB A do USB B (można go zakupić tylko w firmie FATEK; numer produktu to FBs-USBP0-180; patrz opis powyżej). Interfejs Port0 RS232 (wbudowany) Numer modelu CPU bez przyrostka U jest FBs-PLC z wbudowanym interfejsem Port0 RS232. Złączem dla RS232 Port0 jest 4-pinowe złącze żeńskie Mini-DIN. FATEK oferuje dedykowany kabel połączeniowy wyposażony w 9-pinowe złącze żeńskie D-sub do łączenia z PC lub urządzeń peryferyjnych z RS232 Port0. Schematy okablowania kabla Port0 USB i RS232 zostały przedstawione poniżej. FBs-232P0-9F-150 (Złącze męskie Mini-DIN 9-pinowe złącze żeńskie D-sub) : Żeńskie Female 9 8 7 6 5 4 3 2 1 TXD +5V RXD SG Mini-DIN (PLC Site) (strona PLC) Male Męskie 4 3 1 2 Shield FBs-232P0-9M-400 (Złącze męskie Mini-DIN 9-pinowe złącze żeńskie D-sub) : Male Męskie Mini-DIN (PLC Site) (strona PLC) Male Męskie 6 7 8 9 1 2 3 4 5 TXD +5V RXD SG 4 3 1 2 Shield Model FBs-232P0-9F-150 FBs-232P0-9M-400 Opis Kabel komunikacyjny MD4M do DB9F (połączenie Port 0 RS232 jednostki głównej FBs ze standardowym DB9M), długość 150cm Kabel komunikacyjny MD4M do DB9M (połączenie Port 0 RS232 jednostki głównej FBs z DB9F), długość 400cm FBs-USBP0-180 Kabel Port0 USB (standardowy komercyjny USB A B), długość 180cm. 12-9
F B s 2 3 2 P 0 9 F 1 5 0 nazwa produktu serii FBs (charakterystyka złącza) (odległość połączenia) jedn./cm F: Żeńskie M: Męskie 9: 9-pinowe D-sub Port po ( stronie PLC ) Zewn. ( interfejs ) P0:Port0 (RS232) P0:Port0 (USB) 232:RS232 USB:USB1.1 Interfejs Port1~Port4 RS232 (rozszerzalny) Interfejs można rozszerzyć o 1 lub 2 porty komunikacyjne za pomocą płytki komunikacyjnej (CB) (w zależności od modelu CB). Maksymalna ilość portów, o które można rozszerzyć interfejs to 4 porty (Port1 -Port4), z zastosowaniem modułów rozszerzeń CM (nie dotyczy modeli MA jednostek głównych serii FBs). Port1~Port4 jest ustawieniem domyślnym lub wartością domyślną przy inicjalizacji systemu PLC standardowego interfejsu komunikacyjnego FATEK. W celu realizacji większości zastosowań i wymagań dotyczących rozszerzenia kabla komunikacyjnego, porty Port1~Port4 nie tylko stanowią standardowy interfejs komunikacyjny FATEK, ale także oferują efektywne instrukcje komunikacyjne. W ten sposób użytkownicy mogą zaprogramować komunikację za pomocą instrukcji drabinkowych, które mogą zapewnić integrację systemu i służyć w celach monitoringu. Interfejsem płyty komunikacyjnej (CB) lub modułu komunikacyjnego (CM) może być RS232 lub RS485. Interfejs RS232 Porty komunikacyjne Port1~Port4 mogą być wykorzystane poprzez instalację płyty komunikacyjnej (lub modułu) RS232. Każda płyta komunikacyjna (lub moduł) jest wyposażona w dwa standardowe 9-pinowe złącze(a) D-sub RS232. Użytkownik może kupić standardowy 9-pinowy kabel RS232 bezpośrednio w sklepie komputerowym lub wykonać kabel zgodnie z poniższym schematem. Typ złącza 9-pinowe D-sub Nazwa sygnału Pin TXD RXD RTS CTS SG DTR DSR MĘSKIE 3 2 7 8 5 4 6 ŻEŃSKIE 2 3 8 7 5 6 4 Tylko port1 port2 Nie dla FBs PLC 12-10
Złącze żeńskie 9P D-sub Kabel komunikacyjny ze złączem męskim 9P D-sub RS232: Female Żeńskie Male Męskie 9 8 7 6 5 4 3 2 1 6 7 8 9 1 2 3 4 5 Złącze męskie 9P D-sub Kabel komunikacyjny ze złączem męskim 9P D-sub RS232 : Male Męskie Male Męskie 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 Jeżeli przy samodzielnym wykonaniu kabli RS232 określenie pinów jest niejasne, to do określenia TXD i RXD należy użyć multimetru. Złącze 9-pinowe: Pin 5 to SG; Zmierzyć pin 2 (czerwona sonda) i pin 5 (czarna sonda) za pomocą multimetru. Jeżeli wynik będzie zbliżony do 9V, oznacza to, że pin 2 jest pinem transmisyjnym; jeżeli wynik będzie zbliżony do 0V, oznacza to, że pin 2 jest pinem odbiorczym. Zmierzyć pin 3 (czerwona sonda) i pin 5 (czarna sonda) za pomocą multimetru. Jeżeli wynik będzie zbliżony do 9V, oznacza to, że pin 3 jest pinem transmisyjnym; jeżeli wynik będzie zbliżony do 0V, oznacza to, że pin 3 jest pinem odbiorczym. Interfejs Port1~Port4 RS485 (rozszerzalny) Port komunikacyjny Port1~Port4 może być wykorzystany przez zainstalowaną płytę komunikacyjną RS485. Każda płyta komunikacyjna (lub moduł) jest wyposażona w jedną lub dwie standardowe 3-pinowe listwy zaciskowe z gniazdami na złącza europejskie. Rozmieszczenie pinów w złączu (złączach) zostało przedstawione poniżej. 12-11
+(D+) (D ) G(SG) 12.4.2 Wybór i ustawienia protokołów komunikacyjnych Oprócz tego, że protokół FATEK jest oferowany domyślnie, Port1~Port4 można ustawić dla protokołu Modbus (slave). Poniższy schemat obrazuje procedurę ustawień w programie WinProladder: Kliknąć protokół: PLC Ustawienia Protokół port można ustawić dla protokołu Modbus RTU lub FATEK: Ponadto protokół komunikacyjny można ustawić za pomocą specjalnego rejestru. R4047: Starszy bajt = 55H, konfiguracja portu komunikacyjnego dla protokołu Modbus RTU. = inne wartości, Port1~4 nie obsługuje protokołu Modbus RTU (domyślnie protokół FATEK) Młodszy bajt: Przypisanie portu dla protokołu Modbus RTU. Format: Starszy bajt Młodszy bajt 55H b7 b6 b5 b4 b3 b2 b1 b0 b0, Zarezerwowany ; b1=0, Port 1 pracuje jako protokół FATEK. =1, Port 1 pracuje jako protokół Modbus RTU. b2=0, Port 2 pracuje jako protokół FATEK. =1, Port 2 pracuje jako protokół Modbus RTU b3=0, Port 3 pracuje jako protokół FATEK. =1, Port 3 pracuje jako protokół Modbus RTU. b4=0, Port 4 pracuje jako protokół FATEK. =1, Port 4 pracuje jako protokół Modbus RTU. 12-12
b5~b7, zarezerwowane Umożliwia przypisanie wielu portów do protokołu Modbus RTU, gdzie odpowiadający bit musi mieć status 1. Na przykład : R4047=5502H, Przypisz Port 1 do protokołu Modbus RTU; R4047=5504H, Przypisz Port 2 do protokołu Modbus RTU; R4047=5506H, Przypisz porty Port 1 i Port 2 do protokołu Modbus RTU; Odnieść się do: zasady mapowania adresów pomiędzy Modbus i Fatek (Rozdział 12). Metoda 2 (metodę obsługuje FBs PLC OS w wersji V4.24 lub nowszej) R4047:Starszy bajt = 56H, portu komunikacyjnego protokołu FATEK lub Modbus RTU/ ASCII = pozostałe wartości, nie obsługuje powyższej funkcji (domyślnie protokół komunikacyjny FATEK) Młodszy bajt = Port1~4, protokoły komunikacyjne FATEK/Modbus RTU/Modbus ASCII Format: Starszy bajt Młodszy bajt 56H b7 b6 b5 b4 b3 b2 b1 b0 Bity Wartość Opis 0 lub 1 Port1 pracuje jako protokół FATEK b1b0 2 Port1 pracuje jako protokół Modbus RTU 3 Port1 pracuje jako protokół Modbus ASCII 0 lub 1 Port2 pracuje jako protokół FATEK b3b2 2 Port2 pracuje jako protokół Modbus RTU 3 Port2 pracuje jako protokół Modbus ASCII 0 lub 1 Port3 pracuje jako protokół FATEK b5b4 2 Port3 pracuje jako protokół Modbus RTU 3 Port3 pracuje jako protokół Modbus ASCII 0 lub 1 Port4 pracuje jako protokół FATEK b7b6 2 Port4 pracuje jako protokół Modbus RTU 3 Port4 pracuje jako protokół Modbus ASCII Port1~Port4 pracuje jako protokół komunikacyjny master Modbus RTU/ASCII Jeżeli port komunikacyjny PLC jest stacją slave dla Modbus RTU/Modbus ASCII, to ustawienia interfejsu protokołu Modbus RTU/Modbus należy realizować za pomocą metody opisanej powyżej. Jeżeli port komunikacyjny PLC jest stacją master dla Modbus RTU/Modbus ASCII, to należy postępować zgodnie z instrukcją FUN150 (M-BUS) (patrz schemat poniżej). Więcej szczegółów dotyczących instrukcji FUN150 (M_BUS) opisano w rozdziale 13. 12-13
12.4.3 Ustawienia parametrów komunikacyjnych Parametry komunikacyjne mogą być ustawione dla każdego z 5 portów FBs-PLC. Fabrycznie parametry komunikacyjne portów Port 0~Port 4 ustawione są jak dla portu Port0 przed wysłaniem do transportu lub po inicjalizacji systemu (patrz tabela poniżej). Prędkość transmisji Bity danych Parzystość Bit stopu 9600 bps 7 bitów Parzyste 1 bit Kompletny cykl transmisji znaku Rozpoczyna się transmisja nastepnego znaku Znakowanie Znakowanie Bit startu Bit parzystości Bit stopu Bit startu Domyślne parametry komunikacyjne Ustawienie Wartość Domyślna prędkość Port Inne domyślne parametry rejestru domyślna transmisji Port 0 R4050 5621H 9600 bps 7-bitowe dane, parzyste, 1 bit stopu Port 1 R4146 5621H 9600 bps 7-bitowe dane, parzyste, 1 bit stopu Port 2 R4158 5621H 9600 bps 7-bitowe dane, parzyste, 1 bit stopu Port 2 (szybki) R4161 5665H 153600 bps 8-bitowe dane, parzyste, 1 bit stopu Port 3 R4043 5621H 9600 bps 7-bitowe dane, parzyste, 1 bit stopu Port 4 R4044 5621H 9600 bps 7-bitowe dane, parzyste, 1 bit stopu Jeżeli port jest ustawiony jako protokół Modbus RTU, to dane są zawsze 8-bitowe. Port 1~Port 4 umożliwia też użytkownikowi zdefiniowanie prędkości transmisji (1125 bps~1152000 bps). Port 0 umożliwia zmianę prędkości transmisji tylko jeżeli dane pozostałych parametrów są 7-bitowe, parzyste z 1 bitem stopu. Port 0 obsługuje tylko protokół komunikacyjny FATEK. 12-14
Ustawienia parametrów komunikacyjnych port0~port4 56H Parametry komunikacyjne B 15 B 8 B 7 B 0 Parz./Niep. Parzystość 0:Parzysty 1:Nieparzysty Bity danych 0:7 bitów 1:8 bitów R4161 jest 8-bitowy. Kontr. parz. 0:Bez parzystości 1:Z parzystością ~ Stop Bit 0:1 Bit 1:2 Bits B7 B6 B5 B4 B3 B2 B1 B0 Wartość Prędkość transmisji 0 0 0 0 0 4800 bps R4161(PORT2) 0 0 0 1 1 9600 bps 0 0 1 0 2 19200 bps 0 0 1 1 3 38400 bps 0 1 0 0 4 76800 bps 0 1 0 1 5 153600 bps 0 1 1 0 6 307200 bps 0 1 1 1 7 614400 bps 1 0 0 0 8 7200 bps 1 0 0 1 9 14400 bps 1 0 1 0 A 28800 bps 1 0 1 1 B 57600 bps prędkość transmisji musi być większa lub równa 38400bps. 1 1 0 0 C 115200 bps 1 1 0 1 D 230400 bps ~ 1 1 1 0 E 921600 bps 1 1 1 1 F Użytkownika Port 1~Port 4 umożliwia użytkownikowi definiowanie prędkości transmisji (1125 bps~1152000 bps) Wzór 18432000 Pr_Trans_Dz = ( ) -1 ( 15 16383 ) Pr_Trans 12-15
~ 18432000 ( Pr_Trans_Dz + 1 Pr_Trans = ) ( 1125 bps 1152000 bps ) Port Ustawienie rejstru Wzór Port 1 Port 2 Port 3 Port 4 Przykład 1 D4000 D4001 D4002 D4003 18432000 D4000 = ( ) -1 Baud_Rate 18432000 D4001 = ( ) -1 Baud_Rate 18432000 D4002 = ( ) -1 Baud_Rate 18432000 D4003 = ( ) -1 Baud_Rate Aby ustawić prędkość transmisji portu 1 na 1200 bps, to R4146 = 56XFH : 18432000 D4000 = ( ) - 1 = 15359 1200 Przykład 2 Aby ustawić prędkość transmisji portu 2 na 256000 bps, to R4158 = 56XFH : 18432000 D4001 = ( ) - 1 = 71 25600 Kontrola połączenia HMI lub SCADA bez numeru stacji Podczas komunikacji z WinProladder lub FP-08, PLC rozpoznaje wewnętrzny protokół komunikacyjny FATEK. Podczas komunikacji z MMI lub SCADA, PLC rozpoznaje zewnętrzny protokół komunikacyjny FATEK Młodszy bajt R4149 = 1, Port 0 bez numeru stacji kontroluje przy zewnętrznym protokole komunikacyjnym FATEK. Młodszy bajt R4155 = 1, Port 1 bez numeru stacji kontroluje przy zewnętrznym protokole komunikacyjnym FATEK. Starszy bajt R4155 = 1, Port 2 bez numeru stacji kontroluje przy zewnętrznym protokole komunikacyjnym FATEK. Młodszy bajt R4156 = 1, Port 3 bez numeru stacji kontroluje przy zewnętrznym protokole komunikacyjnym FATEK. Starszy bajt R4156 = 1, Port 4 bez numeru stacji kontroluje przy zewnętrznym protokole komunikacyjnym FATEK. Ustawienie opóźnienia odpowiedzi Po odebraniu przez PLC pakietu zaadresowanych komunikatów i realizacji kontroli błędów wysłana zostanie odpowiedź po upłynięciu ustalonego czasu opóźnienia. Młodszy bajt R4040: Ustawienie opóźnienia odpowiedzi portu Port 0 (w ms). 12-16
Starszy bajt R4040: Ustawienie opóźnienia odpowiedzi portu Port 1 (w ms). Młodszy bajt R4041: Ustawienie opóźnienia odpowiedzi portu Port 2 (w ms). Starszy bajt R4041: Ustawienie opóźnienia odpowiedzi portu Port 3 (w ms). Młodszy bajt R4042: Ustawienie opóźnienia odpowiedzi portu Port 4 (w ms). Ustawienie opóźnienia transmisji Jeżeli port komunikacyjny jest wykorzystywany jako master dla FATEK CPU LINK (FUN151) lub Modbus RTU (FUN150) w sieci wielopunktowej, to użytkownik może ustawić opóźnienie transmisji w celu opóźnienia wygaśnięcia ramki danych. Starszy bajt R4147: Ustawienie opóźnienia transmisji dla portu Port 1 (jednostka 10ms) Starszy bajt R4159: Ustawienie opóźnienia transmisji dla portu Port 2 (jednostka 10ms) Starszy bajt R4045: Ustawienie opóźnienia transmisji dla portu Port 3 (jednostka 10ms) Starszy bajt R4048: Ustawienie opóźnienia transmisji dla portu Port 4 (jednostka 10ms) Ustawienie przerwy w odbiorze Jeżeli port komunikacyjny jest wykorzystywany jako master dla FATEK CPU LINK (FUN151) lub Modbus RTU (FUN150) w sieci wielopunktowej, to użytkownik może ustawić czas przerwy w odbiorze w celu wykrycia, czy stacja slave jest podłączona, czy nie. Młodszy bajt R4147: Ustawienie przerwy w odbiorze dla portu Port 1 (jednostka 10ms) Młodszy bajt R4159: Ustawienie przerwy w odbiorze dla portu Port 1 (jednostka 10ms). Młodszy bajt R4045: Ustawienie przerwy w odbiorze dla portu Port 1 (jednostka 10ms). Młodszy bajt R4048: Ustawienie przerwy w odbiorze dla portu Port 1 (jednostka 10ms). Ustawienie częstotliwości wykrywania komunikatu 1. Jeżeli port komunikacyjny jest wykorzystywany jako protokół master lub slave Modbus RTU, system będzie wykrywał odbierane pakiety komunikatów z domyślną częstotliwością. Jeżeli taka częstotliwość będzie nieodpowiednia, to użytkownik może zmienić jej wartość poprzez ustawienie starszego bajtu R4148 i statusu M1956 = 1 w celu uniknięcia nakładania się pakietów komunikatów. Jeżeli M1956=1: Starszy bajt R4148 jest wykorzystywany do ustawienia częstotliwości wykrywania nowych komunikatów dla portów Port 1~Port 4 (w ms). 2. Jeżeli port komunikacyjny jest wykorzystywany do komunikacji z inteligentnymi urządzeniami peryferyjnymi za pomocą instrukcji FUN151, to w przypadku, gdy protokół komunikacyjny nie jest w stanie odseparować od siebie każdego pakietu komunikatów, wymagane będzie ustawienie częstotliwości wykrywania komunikatów. Do ustawienia tego parametru służy starszy bajt R4148. Starszy bajt R4148: Ustawienie częstotliwości wykrywania komunikatu dla portów Port 1~Port 4 (w ms). Kontrola wewnętrznego protokołu komunikacyjnego FATEK bez numeru stacji Podczas komunikacji z programem WinProladder lub FP-08, PLC rozpoznaje wewnętrzny protokół komunikacyjny FATEK. Szybkim sposobem na komunikację z PLC jest wpisanie 255 jako numer stacji dla WinProladder w celu połączenia się z docelową stacją o niepewnym numerze. Związany przekaźnik wewnętrzny 12-17
Port Przekaźnik wskaźnika gotowości portu Przekaźnik wskaźnika zakończenia Port1 M1960 M1961 Port2 M1962 M1963 Port3 M1936 M1937 Port4 M1938 M1939 12.4.4 Ustawienia interfejsu modemu Zgodnie z opisem w rozdziale 12.1, port komunikacyjny FBs-PLC jest wyposażony w 3 typy interfejsów software owych. Domyślnym ustawieniem dla portu Port0 jest Standardowy interfejs. Natomiast porty Port1~Port4 są wyposażone w dwa interfejsy: Standardowy interfejs i Interfejs sterowany programem ze schematem drabinkowym, a typ interfejsu opiera się na ustawieniach użytkownika CPU PLC (jeżeli użytkownik korzystał z instrukcji FUN150 i FUN151, automatycznie zostanie ustawiony Interfejs sterowany programem ze schematem drabinkowym ). W związku z tym, spośród 5 portów komunikacyjnych jedynie Port1 wymaga konfiguracji rejestru (w celu ustawienia dedykowanego interfejsu modemu). Starszy bajt R4149 = 55H, Zdalna diagnoza/zdalny CPU-Link za pomocą połączenia modemu przez port 1; obsługuje funkcję sterowania połączeniem przez program użytkownika. = AAH, Zdalna diagnoza/zdalny CPU-Link za pomocą połączenia modemu przez port 1; obsługuje tryb pasywnego odbiory i aktywnego wybierania numeru. = inne wartości brak powyższych funkcji 12.5 Opis i zastosowanie różnych typów interfejsów software owych 12.5.1 Standardowy interfejs Port ze standardowym interfejsem jest sterowany przez CPU PLC, a komunikacja portu jest sterowana za pomocą Standardowego sterownika komunikacyjnego lub Sterownika komunikacyjnego Modbus. Wszelki dostęp do portu musi być realizowany w formacie Protokołu FATEK-PLC lub Sterownika komunikacyjnego Modbus. Pakiet oprogramowania FP-08, WinProladder oraz wiele HMI i SCADA posiada sterowniki komunikacyjne odpowiadające protokołowi FATEK-PLC, a co za tym idzie, połączenie generowane jest niezwłocznie po podłączeniu portu ze standardowym interfejsem oraz gdy parametry interfejsu sprzętowego oraz parametry komunikacyjne są odpowiednie. W przypadku braku odpowiedniego sterownika komunikacyjnego, w celu nawiązania komunikacji przez PLC należy wygenerować dodatkowe komendy odpowiadające formatowi protokołu FATEK-PLC lub Sterownika komunikacyjnego Modbus. 12.5.2 Interfejs modemu Jeżeli starszy bajt R4149 = AAH, to Port1 jest ustawiony na interfejs modemu. Pomimo że CPU wykorzystuje Standardowy sterownik komunikacyjny lub Sterownik komunikacyjny Modbus do sterowania komunikacją przez Port1, to połączenie musi być zrealizowane poprzez modem. Innymi słowy, Port1 jest sterowany przez Sterownik modemu jeszcze przed rozpoczęciem komunikacji, niezależnie od tego, czy wykorzystywane jest połączenie bazujące na aktywnym wybieraniu numeru, czy pasywnym odbiorze. Nie ma wówczas również dostępu do PLC. Sterownik modemu jest wykorzystywany tylko do połączenia modemu. Po udanym połączeniu modemu sterownik przekazuje kontrolę nad portem Port1 Standardowemu sterownikowi komunikacyjnemu FATEK, a Port1 staje się standardowym interfejsem. W 12-18
niniejszym rozdziale została opisana zasada działania połączenia modemu z aktywnym wybieraniem numeru oraz z pasywnym odbiorem. Dzięki zastosowaniu interfejsu modemu, PLC umożliwia połączenie się ze zdalnym modemem lub pasywny odbiór komunikatów ze zdalnego modemu przez Port1 w zależności od ustawień wewnętrznego rejestru numerów telefonów (R4140~R4145). Po pomyślnym połączeniu obu urządzeń, transmisja i odbiór danych następuje przez kabel telefoniczny. A. Tryb pasywnego odbioru Jeżeli w wewnętrznym rejestrze numerów telefonów PLC (patrz punkt B) nie będzie zapisany żaden efektywny numer, urządzenie przejdzie w tryb pasywnego odbioru i ustawi modem w tryb odbioru i oczekiwania na wybranie numeru przez zdalny modem. Po udanym połączeniu obu urządzeń oraz jeżeli sygnał powrotny jest prawidłowy, host PLC niezwłocznie wyjdzie z trybu odbioru i przejdzie w stan połączenia. Zdalny modem może uzyskać pełen dostęp do hosta PLC. Host PLC weryfikuje zawartość rejestru numerów telefonicznych tylko w chwili, gdy włączone jest zasilanie hosta PLC lub modemu (WYŁ WŁ). W związku z tym każda zmiana w R4140~R4145 (np.: zapis lub usunięcie numeru telefonu) będzie efektywna po wyłączeniu i ponownym włączeniu hosta PLC lub modemu. B. Tryb aktywnego wybierania numeru Jeżeli efektywny numer telefonu jest zapisany w wewnętrznym rejestrze numerów telefonów hosta PLC, to urządzenie wchodzi w tryb wybierania numeru w chwili, gdy włączone jest zasilanie hosta PLC i włączony jest modem. W tym trybie Port1 może wybrać numer telefonu zapisany w R4140~R4145 przez modem w celu nawiązania połączenia ze zdalnym modemem odpowiadającym temu numerowi. Po udanym połączeniu obu urządzeń, host PLC niezwłocznie wyjdzie z trybu odbioru i przejdzie w stan połączenia. Zdalny modem może w pełni kontrolować i uzyskiwać pełny dostęp do hosta PLC. W przypadku niepowodzenia przy wybieraniu numeru, host PLC wykona jeszcze maksymalnie trzy kolejne próby (czas ok. 3 minut). W przypadku, gdy trzecia próba zakończy się niepowodzeniem, host PLC wyjdzie z trybu aktywnego wybierania numeru i przejdzie w tryb pasywnego odbioru. Modem będzie oczekiwał na połączenia ze strony zdalnego modemu. Jako numer efektywny host PLC zidentyfikuje jedynie ten numer, który jest zapisany w rejestrze numerów telefonów modemu w opisanym poniżej formacie. Spośród cyfr szesnastkowych jedynie 0~9 i E są znaczące. A oznacza opóźnienie wybierania numeru i jest zazwyczaj stosowane do połączeń międzynarodowych lub rozszerzeń automatycznych łącznic ( A wynosi ok. 2 sekund). B oznacza #, a C oznacza *. Spośród tych cyfr, 0~9 stosowane są do wybierania numeru telefonu, natomiast E oznacza koniec numeru. Każdy rejestr zawiera 4 cyfry szesnastkowe, R4140~R4145 zawiera 24 cyfry szesnastkowe, czyli 23 cyfry oraz końcowy znak E. Numery telefonów są zapisywane w kolejności od cyfry 0 w R4140 do cyfry 3 w R4145. Na przykład numer telefonu 02-6237019 jest zapisywany w następującej kolejności: Kierunek R4145 R4144 R4143 R4142 R4141 R4140 χ χ χ χ χ χ χ χ χ χ χ χ χ χ E 9 1 0 7 3 2 6 2 0 Cyfra 3 Cyfra 3 Znak końcowy Cyfra 3 Cyfra 0 χ : Dowolna wartość od 0 do F Wartość 2620H jest zapisywana w R4140, 1073H w R4141,a XXE9H w R4142. R4143~R4145 może być zapisana każda wartość. Po ostatniej cyfrze numeru telefonu musi znajdować się końcowy znak E. Host PLC zignoruje każdą wartość (od 0 do F) znajdującą się za znakiem E. Może się tam znaleźć jedynie wartość z przedziału 0~C. Wszelkie inne wartości będą traktowane jako nieefektywne. 12-19
W przypadku, gdy rachunek telefoniczny jest opłacany przez jednostkę serwisową odbierającą telefon, to w wewnętrznym rejestrze numerów telefonów hosta PLC nie powinien być zapisany żaden numer telefonu. Wówczas urządzenie po włączeniu przejdzie w tryb odbioru, a jednostka serwisowa zadzwoni do klienta. Jeżeli rachunek jest płacony przez klienta, to w wewnętrznym rejestrze numerów telefonów hosta PLC powinien być zapisany przynajmniej jeden numer. Urządzenie wejdzie wówczas w tryb wybierania numeru, w chwili, gdy klient włączy zasilanie hosta PLC i modemu. Z uwagi na to, że numer telefonu jednostki serwisowej może się zmienić, to pakiet WinProladder został wyposażony w funkcję zapisu i oddzwonienia. W takiej sytuacji klient nie może zadzwonić do jednostki serwisowej przy użyciu starego numeru telefonu. Aby rozwiązać ten problem, klient może włączyć modem oraz host PLC. W przypadku, gdy host PLC trzykrotnie nie nawiąże połączenia (co trwa ok. 3 minut), to jednostka serwisowa dzwoni do klienta i importuje nowy numer telefonu z rejestru modemu hosta PLC klienta i wysyła komendę oddzwonienia. Po odebraniu tej komendy host PLC klienta niezwłocznie wchodzi w tryb wybierania numeru i dzwoni do jednostki serwisowej za pomocą nowo zaimportowanego numeru. Aplikacja ta wymaga od serwisu zadzwonienia do klienta i zapłacenia rachunku. Jednakże wartość rachunku jest ograniczona z uwagi na to, że implementacja komendy zapisu i oddzwonienia zajmuje bardzo mało czasu. Po udanej realizacji komendy zapisz i oddzwoń oraz połączeniu z hostem klienta WimProladder pobierze stary numer z PLC (jako numer odniesienia oraz na wypadek, gdyby wymagany był ponowny zapis starego numeru), a następnie zapisze nowy numer i oddzwoni. Jeżeli połączenie nie będzie już wymagane, WinProladder automatycznie wyśle komendę wyłączenia. 12.5.3 Interfejs sterowania programem drabinkowym Ten rodzaj interfejsu może być ustawiony dla portów Port1~Port4. Programy drabinkowe wykorzystywane do sterowania portami to: FUN94 (ASCWR), FUN150 (M-BUS) i FUN151 (CLINK). FUN94 (ASCWR) wykorzystuje Port1 jako interfejs wyjściowy dla plików ASCII (tylko do transmisji) i wysyła komendy do drukarek, komputerów i innych urządzeń odbierających komunikaty w kodzie ASCII. Typowym zastosowaniem takiej komendy jest połączenie z drukarkami w celu wydrukowania raportów w języku chińskim/angielskim. WinProladder wyposażony jest w funkcję Edytora plików ASCII. Konwertuje on dane do edycji lub wydruku na pliki ASCII i zapisuje je w PLC. Raporty z produkcji, raporty z zapytań materiałowych i inne raporty są generowane poprzez wprowadzanie różnych dynamicznych danych podczas pracy PLC. Więcej informacji zawiera rozdział Zastosowania plików ASCII. FUN150 (M-BUS) steruje portami Port 1~Port 4 i wykorzystuje je jako porty master w sieci Modbus. Porty mogą w łatwy sposób łączyć się z urządzeniami peryferyjnymi (slave) Modbus. Więcej informacji w rozdziale Instrukcja dla Modbus RTU Master. FUN151 (CLINK) steruje portami Port 1~Port 4 i wykorzystuje je do udostępniania informacji wśród PLC lub łączenia się z inteligentnymi urządzeniami peryferyjnymi. FUN151 oferuje cztery tryby robocze. Więcej informacji w rozdziale Zastosowania FBs-PLC CLINK. 12-20
12.6 Płytki komunikacyjne (CB) Jednostka główna FBs-PLC została wbudowana w port komunikacyjny port0. Ilość portów komunikacyjnych można zwiększyć poprzez zakup opcjonalnej płytki komunikacyjnej. W odpowiedzi na coraz bardziej zróżnicowane zastosowania i wymagania klientów, powstało 6 nowych typów charakterystyk. W nazwie modelu płytki komunikacyjnej i modułu komunikacyjnego, CB oznacza płytkę komunikacyjną, CM oznacza moduł komunikacyjny, 2 oznacza interfejs RS232, 5 oznacza interfejs RS485, natomiast E oznacza Ethernet. Poniżej przedstawiono wygląd i charakterystyki płytek komunikacyjnych: Model / Element FBs-CB2 FBs-CB22 FBs-CB5 FBs-CB55 FBs-CB25 FBs-CBE Mechaniczna Charakterystyka RS232 Elektryczna Mechaniczna Charakterystyka RS485 Elektryczna 1 port RS232 COM FBs-CB2 Charakterystyka 1 port RS232 COM (Port 2), ze wskaźnikami TX, RX. 2 port RS232 COM (Port 1+Port 2), ze wskaźnikami TX, RX. 1 port RS485 COM (Port 2), ze wskaźnikami TX, RX. 2 port RS485 COM (Port 1+Port 2), ze wskaźnikami TX, RX. 1 port RS232 COM (Port 1) + 1 x port RS485 COM (Port 2), ze wskaźnikami TX, RX 1 port Ethernet COM (Port 2), ze wskaźnikami Link, TX, RX. Standardowa wtyczka DB9F Charakterystyka standardu EIA RS232 Europejska 3-pinowa ruchoma platforma złączowa Charakterystyka standardu EIA RS485, wbudowana w terminator z funkcją przełącznika DIP. DB9F TX TX RX RX PROGRAMMABLE CONTROLLER PORT2 PORT1 1 port RS485 COM FBs-CB5 RTS(out) 8 CTS(in) 7 RS232 5 SG 3 RxD(in) 2 TxD(out) +(D+) (D ) TX RX TX RX PROGRAMMABLE CONTROLLER G(SG) RS-485 PORT2 PORT1 T ON 1 2 N 12-21
2 port RS232 COM FBs-CB22 DB9F TX TX RX RX PROGRAMMABLE CONTROLLER PORT2 PORT1 2 port RS485 COM FBs-CB55 RTS(out) 8 CTS(in) 7 RS232 DB9F 5 SG 3 RxD(in) 2 TxD(out) +(D+) TX RX TX RX PROGRAMMABLE CONTROLLER (D ) G(SG) FBs-CB25 PORT2 PORT1 1 port RS232+1 RS485 COM T RS-485 ON 1 2 N DB9F TX RX TX RX PROGRAMMABLE CONTROLLER PORT2 PORT1 1 port Ethernet COM FBs-CBE +(D+) (D ) G(SG) T RS-485 ON 1 2 N RTS(out) 8 CTS(in) 7 RS232 5 SG 3 RxD(in) 2 TxD(out) TX RX LINK ETHERNET PROGRAMMABLE CONTROLLER 1 8 Sygnał RJ-45 Pin TX+ 1 TX- 2 RX+ 3 RX- 6 12-22
12.7 Moduły komunikacyjne (CM) W przypadku zastosowania 3 portów wymagana jest opcjonalna płyta komunikacyjna oraz dodatkowy moduł komunikacyjny, jeżeli wymaganych jest 5 portów. System nazewnictwa dla CM został opisany powyżej. CM oznacza moduł komunikacyjny, 2 oznacza interfejs RS232, 5 oznacza interfejs RS485, natomiast E oznacza Ethernet. Poniżej przedstawiono wygląd i charakterystyki CM: Model / Element FBs-CM22 FBs-CM55 FBs-CM25 FBs-CM25E FBs-CM55E Charakterystyki 2 port RS232 COM (Port 3+Port 4), ze wskaźnikami TX, RX. 2 port RS485 COM (Port 3+Port 4), ze wskaźnikami TX, RX. 1 port RS232 COM (Port 3) + 1 RS485 COM Port (Port 4), ze wskaźnikami TX, RX. 1 port RS232 COM (Port 3) + 1 port RS485 COM (Port 4) Z interfejsem Ethernet i wskaźnikami RUN, Link, TX, RX. 1 port RS485 COM (Port 3) + 1 port RS485 COM (Port 4) Z interfejsem Ethernet i wskaźnikami RUN, Link, TX, RX. FBs-CM25C Konwerter RS232 RS485 ogólnego przeznaczenia ze wskaźnikami RX. FBs-CM5R FBs-CM5H Wzmacniacz RS485 ogólnego przeznaczenia ze wskaźnikami RX. Hub ogólnego przeznaczenia z 4 portami RS485 i wskaźnikami ACT, COLLISION. Charakterystyka RS232 * Charakterystyka RS485 Charakterystyka Ethernet Jednostka Mechaniczna Elektryczna Mechaniczna Elektryczna Mechaniczna Standardowa wtyczka DB9F Charakterystyka standardu EIA RS232 Europejska 3-pinowa ruchoma platforma złączowa Charakterystyka standardu EIA RS485, wbudowana w terminator z funkcją przełącznika DIP. Europejska 4-pinowa ruchoma platforma złączowa Elektryczna Standard 10BaseT, IEEE 802.3 główna nie daje możliwości zwiększenia ilości modułów komunikacyjnych. W związku z tym może być wyposażona maksymalnie w trzy porty COM. 2 port RS232 COM DB9F PORT4 (RS232) TX RX FBs-CM22 5 SG 3 RxD(in) 2 TxD(out) PORT3 (RS232) TX RX RS232 Rozmieszczenie pinów w złączu FBs-CM22 12-23
2 port RS485 COM +(D+) + PORT4 (RS485) G T N TX RX (D ) G(SG) FBs-CM55 T RS-485 ON 1 2 N + PORT3 (RS485) G TX RX T N FBs-CM55 Port RS232+RS485 COM Rozmieszczenie pinów w złączu DB9F + PORT4 (RS485) G PORT3 (RS232) TX RX N TX RX T + FBs-CM25 2 port RS485 COM Ethernet RUN ETHERNET PORT4 (RS485) PORT3 (RS485) 3 6 1 2 + G + G RS232 + T T N N RS485 FBs-CM55E LNK TX RX TX RX TX RX FBs-CM25 + Ethernet FBs-CM55E +(D+) (D ) G(SG) 3RX+ 6RX 1TX+ 2TX T RS-485 ON 1 2 N RS232 Rozmieszczenie pinów w złączu Ethernet +(D+) (D ) G(SG) T RS-485 Rozmieszczenie pinów w złączu ON 1 2 5 SG 3 RxD(in) 2 TxD(out) N DB-9F ETHERNET PORT4 (RS485) 3 6 1 2 + G T RUN LNK TX RX TX RX N FBs-CM25E 3RX+ 6RX 1TX+ 2TX +(D+) (D ) G(SG) RS-485 5 SG 3 RxD(in) 2 TxD(out) PORT3 (RS232) TX RX T Ethernet ON 1 2 N RS232 Rozmieszczenie pinów w złączu FBs-CM25E 12-24
Konwerter RS232 RS485 24V + POW 24V DB-9F FG TX+ 4 TX 2 2 RX+ D 4 + 8 RX D 5 G RX T N 422 485 RS-232 to RS-485 Converter RX FBs-CM25C FBs-CM25C T TX+ 4 TX 2 2 RX+ RX G(SG) D+ 4 8 D 5 RS-485/RS422 NO N 5 SG 3 RxD(in) 2 TxD(out) 422 485 RS232 Wzmacniacz sygnału RS485 Rozmieszczenie pinów w złączu 24V + POW 24V FG +(D+) + G T N RS-485 Repeater RX FBs-CM5R (D ) G(SG) RS-485 + TX T ON 1 2 N G RX T N FBs-CM5R Rozmieszczenie pinów w złączu HUB RS485 IN CH3+ CH3- SG4 SG3 CH4+ CH4- CH1+ CH1- SG2 SG1 CH2+ CH2-4 ports RS485 HUB FBS-CM5H FBs-CM5H 12-25
12.7.1 Centralny hub z 4 portami RS485 (FBs-CM5H) FBs-CM5H jest centralnym hubem z 4 portami RS485. Moduł ten może być wykorzystywany nie tylko w produktach serii FBs-PLC, ale także w szerokim zakresie zastosowań interfejsu komunikacyjnego RS485. Produkt ten może pracować jako wzmacniacz sygnału i obsługiwać topologię połączeń w gwiazdę oprócz tradycyjnej topologii RS 485. Ponadto porty zostały wyposażone w izolację optoelektryczną zabezpieczającą system przed zakłóconym prądem będącym wynikiem różnicy w poziomie prądu uziemienia. Kolejną funkcją jest sterowanie zmianą kierunku, która wykorzystuje automatykę do regulacji w zależności od prędkości transferu i formatu danych. Instalacja jest łatwa. Urządzenie może być zamocowane na szynie DIN bezpośrednio lub za pomocą śrub. Szczegóły dotyczące metody realizacji połączeń FBs-CM5H zawarte są w rozdziale 12.3 (Połączenia sprzętowe portu RS485 COM). Wskaźniki Nazwa wskaźnika POW ACTIVE COLLISION Opis funkcji Wskaźniki mocy. Wskaźnik zapali się w przypadku pojawienia się zewnętrznego źródła zasilania. Cztery wskaźniki LED reprezentują działanie czterech portów. Porty z włączonymi wskaźnikami są aktywne. Pozostałe porty są pasywne. Komunikaty na aktywnym porcie pojawią się na pasywnym porcie. Cztery wskaźniki LED reprezentują status kolizji sygnału dla czterech portów. Jeżeli wskaźnik zostanie włączony, oznacza to, że sygnały przesyłane online oraz sygnały do przesłania do portów są niezgodne, co oznacza także, że istnieją także inne urządzenia przesyłające przez magistralę sygnał, który powoduje niezgodności. Ustawienia terminatora Nr portu Przełącznik Terminator WŁ Terminator WYŁ CH1 SW1 CH2 SW2 CH3 SW3 CH4 SW4 Przełączniki 1, 2 są WŁ Przełączniki 1, 2 są WYŁ Ostrzeżenie W przełączniku DIP do ustawiania stanu terminatora status obu bitów musi być identyczny (oba WŁ lub oba WYŁ). Statusy nie mogą być różne, gdyż może to doprowadzić do pogorszenia komunikacji. 12-26
Ustawienia trybu roboczego 1.Tryb symetryczny: Działanie wszystkich portów jest identyczne. Sygnał odbierany przez port zostanie przesłany do pozostałych portów. 2.Tryb asymetryczny: Port 1 jest portem master, a odbierane przez ten port sygnały będą przesyłane do pozostałych portów, natomiast sygnał odebrany przez port 2~4 zostanie przesłany tylko do portu 1. JP2 JP2 Tryb asymetryczny Tryb symetryczny 12.7.2 Izolowany wzmacniacz sygnału RS485 (FBs-CM5R) FBs-CM5R jest uniwersalnym wzmacniaczem sygnału RS485. Moduł ten może być wykorzystywany nie tylko w produktach serii FBs-PLC, ale także w szerokim zakresie zastosowań interfejsu komunikacyjnego RS485. Produkt został wyposażony w izolację optoelektryczną pomiędzy dwoma portami RS485 zabezpieczającą system przed zakłóconym prądem będącym wynikiem różnicy w poziomie prądu uziemienia. Urządzenie może być zamocowane na szynie DIN bezpośrednio lub za pomocą śrub. Ustawienia terminatora Terminator WŁ Terminator WYŁ 12-27
12.7.3 Izolowany dwukierunkowy konwerter sygnału RS232/RS485 (FBs-CM25C) FBs-CM25C jest konwerterem sygnału pomiędzy sieciami RS232 i RS485. Moduł ten może być wykorzystywany nie tylko w produktach serii FBs-PLC, ale także w szerokim zakresie zastosowań interfejsu komunikacyjnego RS485. Produkt został wyposażony w izolację optoelektryczną pomiędzy dwoma portami RS485, zabezpieczającą system przed zakłóconym prądem będącym wynikiem różnicy w poziomie prądu uziemienia. Kolejną funkcją jest sterowanie zmianą kierunku, która wykorzystuje automatykę do regulacji w zależności od prędkości transferu i formatu danych. Instalacja jest łatwa. Urządzenie może być zamocowane na szynie DIN bezpośrednio lub za pomocą śrub. Ustawienia przełącznika DIP FBs-CM25C FBs-CM25C wyposażony jest w trzy przełączniki DIP na przednim panelu (zgodnie z rysunkiem poniżej). Użytkownik może wybrać tryb roboczy RS485 lub RS422 poprzez ustawienie przełączników DIP. Terminator RS485 W przypadku wbudowanego rezystora końcowego, należy ustawić przełącznik na pozycji T (w lewo). W innym przypadku (WYŁ), ustawić przełącznik na pozycji N (w prawo). Wybór RS485 / RS422 Jeżeli został wybrany interfejs RS422, ustawić przełącznik na pozycji 422 (w lewo). Jeżeli został wybrany interfejs RS485, ustawić przełącznik na pozycji 485 (w prawo). 12-28
12.8 Moduł komunikacyjny Ethernet FBs i zastosowanie Komunikacja sieciowa ma bardzo wiele zastosowań i jest narzędziem znacznie ułatwiającym obieg informacji. Pomimo że większość systemów software owych jest zaprojektowana do użytku komercyjnego, to zastosowanie CIM w przemyśle wytwórczym oraz ciągły wzrost prędkości transmisji w Internecie generuje potrzebę stosowania komunikacji sieciowej w przemyśle. W związku z tym firma FATEK opracowała moduł komunikacyjny Ethernet / portu szeregowego jako ekonomiczne i efektywne rozwiązanie połączenia FBs-PLC dla klienta. Moduł FBs-CBE umożliwia jedynie połączenie Ethernet z FBs-PLC. Inne moduły (CM25E/CM55E) są wyposażone w dwa porty szeregowe Port 3 i Port 4 przeznaczone do zastosowań komunikacyjnych. Port 4 jest wykorzystywany tylko w połączeniu z RS485 do transformacji sygnału Ethernet, natomiast Port 3 jest wykorzystywany do innych zastosowań związanych ze sterowaniem urządzeniami peryferyjnymi. 12.8.1 Charakterystyki 12.8.1.1 Charakterystyki złącza Moduł Port Typ sygnału Typ złącza Pobór mocy* Port3 RS232 Żeńskie DB9 FBs-CM25E Port4 RS485 Europejskie złącze 3-pinowe 200mA Ethernet 10BaseT Europejskie złącze 4-pinowe Port3 RS485 Europejskie złącze 3-pinowe FBs-CM55E Port4 RS485 Europejskie złącze 3-pinowe 200mA Ethernet 10BaseT Europejskie złącze 4-pinowe FBs-CBE Ethernet 10BaseT RJ45 150mA *: Źródło zasilania CPU 5V 12.8.1.2 Charakterystyki Ethernet Funkcja Opis Interfejs sieciowy 10BaseT, IEEE 802.3 Protokół transmisyjny Protokół aplikacji Tryb klienta Tryb serwera TCP,UDP, IP, ARP FATEK UDP FATEK/TCP/UDP, Modbus/TCP Wskaźnik statusu Wskaźnik stanu połączenia (LINK), wskaźnik stanu transmisji (TX), wskaźnik stanu odbioru (RX) 12-29
Port PLC Prędkość transmisji PLC CM25E/CM55E CBE Port1 Port2 Port4 Tryb serwera Fatek Tryb klienta Fatek lub tryb serwera Modbus 9600, 19200, 38400, 57600, 115200, 230400 (CM25E/CM55E) 115200(CBE) Funkcja Opis Ochrona Stosowanie dozwolonego IP w celu kontroli dostępu Narzędzia do Oprogramowanie do rozbudowy sieci pod Windows rozbudowy Tryby aplikacji Tryb serwera i klienta Dozwolona ilość IP 10 Wielkość grupy mapowania portu 18 Połączenia TCP Maks. 8 połączeń jednocześnie (tylko dla trybu serwera) 12.8.2 Wygląd 12.8.2.1 Wygląd CM25E i CM55E 1 9 1 9 2 ETHERNET 3 6 1 2 RUN LNK TX RX 4 ETHERNET 3 6 1 2 RUN LNK TX RX 2 4 PORT4 (RS485) + G T N TX RX 5 PORT4 (RS485) + G T N TX RX 5 3 6 3 PORT3 (RS232) TX RX 7 PORT3 (RS485) + G T N TX RX 7 FBs-CM25E FBs-CM55E 8 1 Złącze Ethernet: Z uwagi na wibracje działające na urządzenie, zamiast tradycyjnego złącza RJ-45 zastosowano 12-30
2 europejskie złącze 4-pinowe o doskonałej styczności. Złącze Port4: Do sygnału RS485. 3Złącze Port3: Do sygnału RS485 (FBs-CM55E) i RS232 (FBs-CM25E). 4 Wskaźnik statusu Ethernet: 6 LINK: WŁ wskazuje na normalne połączenie. RX: WŁ wskazuje na to, że moduł wykrywa komunikaty w sieci Ethernet. TX: WŁ wskazuje na to, że moduł wysyła komunikaty do sieci Ethernet. 5 Wskaźnik statusu na Porcie4: 7 RX: WŁ wskazuje na to, że Port4 odbiera wiadomości. TX: WŁ wskazuje na to, że Port4 wysyła wiadomości. Przełącznik rezystora końcowego Portu4: Przełącznik jest stosowany do sterowania połączeniem końcowego 8 rezystora w module z interfejsem RS485 Portu4. T oznacza układ z końcowym rezystorem. N oznacza układ bez końcowego rezystora. Wskaźnik statusu Portu3: 9 RX: WŁ oznacza, że Port 3 odbiera komunikaty. TX: WŁ oznacza, że Port 3 wysyła komunikaty. Przełącznik rezystora końcowego Portu3: Przełącznik jest stosowany do sterowania połączeniem końcowego rezystora w module z interfejsem RS485 Portu3. T oznacza układ z końcowym rezystorem. N oznacza układ bez końcowego rezystora. Wskaźnik statusu modułu (RUN): Szybkie miganie wskaźnika oznacza prawidłowe działanie. Wolne miganie oznacza aktywne ustawienia. 12.8.2.2 Wygląd CBE TX RX LINK 1 2 Wskaźnik ETHERNET Złącze Ethernet: Standardowe złącze RJ45. statusu Ethernet: LINK: WŁ wskazuje na prawidłowe połączenie. PROGRAMMABLE CONTROLLER RX: WŁ wskazuje na to, że moduł wykrywa komunikaty w sieci Ethernet. TX: WŁ wskazuje na to, że moduł wysyła komunikaty do sieci Ethernet. 12-31
12.8.3 Funkcja złącza szeregowego (Tylko dla CM25E/CM55E) Złącze Port3 Poziom sygnału złącza Port3 jest taki sam jak dla RS232(CM25E) lub RS485(CM55E). Ten port może być traktowany jako port komunikacyjny modułu FBs-PLC wykorzystywany do zastosowań związanych z urządzeniami peryferyjnymi. Złącze Port4 Poziom sygnału złącza Port4 jest taki sam jak dla RS485(CM55E). Główną funkcją tego portu jest doprowadzenie sygnału Ethernet do modułu FBs-PLC. Ten port może być traktowany jako port komunikacyjny modułu FBs-PLC wykorzystywany do zastosowań związanych z urządzeniami peryferyjnymi. Kiedy moduł FBs-CMX5E odbiera pakiet danych z interfejsu Ethernet, ten sam pakiet danych pojawi się także w tym porcie (konwersja Ethernet na port szeregowy). Natomiast jeżeli port odbiera pakiet danych, a lokalizacja docelowa ustalana jest sieciowo (za pomocą tabeli mapowania), to pojawi się on także w sieci Ethernet. Z uwagi na wielopunktową charakterystykę interfejsu RS485, instalacja FBs-CMX5E umożliwia połączenie wielu PLC z siecią Ethernet. 12.8.4 Transformacja komunikacji z Ethernet na szeregową Zasadą działania szeregowego konwertera Ethernet jest użycie tego modułu jako interfejsu i odbieranie wszystkich komunikatów z sieci odpowiadającej PLC sterowanymi przez ten moduł, a następnie przekonwertowanie ich na sygnał szeregowy, który może być odebrany przez PLC i przesłanie przez Port4. FBs-PLC nie jest w stanie rozróżnić, czy komunikat jest lokalny, czy sieciowy. W obu przypadkach odpowiedź jest taka sama jak w przypadku normalnej komunikacji przez RS232. Kiedy moduł FBs-CMX5E lub FBs-CBE (w dalszej części dokumentu będzie nazywany modułem Ethernet) odbiera komunikat zwrotny, PLC spakuje komunikat w pakiet danych sieciowych, a następnie wyśle go do sieci. Należy podkreślić, że środowisko sieciowe jest skomplikowane i nieodpowiednie do transmisji danych w czasie rzeczywistym i może być wykorzystane głównie do monitorowania, ale nie do sterowania. Głównym powodem zastosowania sieci do komunikacji fabrycznej jest łączność. Zastosowanie wymagające dostępu do jednego procesora przez wielu klientów w jednym czasie było wcześniej trudne do realizacji za pomocą RS232 i RS485. Rozwiązanie sieciowe umożliwiło łatwą realizację takiego zastosowania. 12.8.5 Struktura aplikacji Z uwagi na różne wymagania aplikacji sieciowych moduł ten jest wyposażony w dwa tryby operacyjne tryb serwera i klienta. Przy pracy w trybie serwera, moduł Ethernet czeka na komunikat wysłany z sieci. Po zdekodowaniu odebranego komunikatu zostanie on wysłany przez port szeregowy do jednostki głównej PLC. Komunikat zwrotny z PLC zostanie przechwycony przez ten moduł i spakowany w pakiet danych, a następnie przesłany do sieci. W ten sposób transakcja zostanie zakończona. Przy pracy w trybie klienta, moduł Ethernet czeka na komunikat wysłany z portu szeregowego. Jeżeli odebrany komunikat skierowany jest do PLC zlokalizowanego po stronie zdalnej łączonej sieciowo, to moduł Ethernet spakuje komunikat w pakiet danych i wyśle go do sieci. Po wysłaniu komunikatu do sieci, moduł Ethernet odczeka na odpowiedź z sieci. Po otrzymaniu odpowiedni wyśle komunikat do portu szeregowego. W ten sposób transakcja zostanie zakończona. Połączenie internetowe modułu Ethernet pokazane na schematach poniżej będzie oznaczone jako połączenie bezpośrednie. Faktycznie, interfejsem sieciowym modułu Ethernet jest 10BaseT, który powinien być połączony z hubem w celu połączenia z siecią. 12-32
3 6 1 2 + G + G T T N N RUN LNK TX RX TX RX TX RX IN 4 00m A m a x. 24V OUT S /S P R OG R A M M A B L E C O N T R O L L E R A C 100~ 240V C0 Y 0 X 0 Y 1 X 2 X 1 X 3 T X P O RT 0 Y 2 C2 Y 3 X 4 R X Y 4 X 6 X 5 X 7 0 4 8 I2 0 4 8 I 5 9 I3 P O W R U N E R R Y 5 C4 C 6 2 6 I0 X 8 3 7 I I IN ( X ) O U T ( Y ) I 2 3 5 6 7 9 Y 6 X 10 X 1 2 X 9 X 1 1 X 13 Y 8 Y 7 Y 9 SI N K SR C E IN 4 00m A m a x. 24V OUT S /S P R O G R A M M A B L E C O N T R O L L E R A C 100~ 240V C0 Y 0 X 0 Y 1 X 2 X 1 X 3 T X PO RT 0 Y 2 C2 Y 3 X 4 R X Y 4 X 6 X 5 X 7 0 4 8 I2 0 4 8 I 5 9 I3 P O W R U N E R R Y 5 C4 C 6 2 6 I0 X 8 3 7 I I IN ( X ) O U T ( Y ) I 2 3 5 6 7 9 Y 6 X 10 X 1 2 X 9 X 1 1 X 13 Y 8 Y 7 Y 9 SI N K SR C E 3 6 1 2 + G + G T T N N RUN LNK TX RX TX RX TX RX 4 0 0m A m a x. IN 2 4V O U T S /S P R O G R A M M A B LE C O N TR O L LE R A C 10 0 ~2 4 0 V C0 Y 0 X 0 Y 1 X 2 X 1 X 3 T X P O R T 0 Y 2 C 2 Y 3 X 4 R X Y 4 X 6 X 5 X 7 0 4 8 I2 0 4 I 5 9 I3 P O W R U N E R R Y 5 C 4 C 6 2 6 I0 X 8 3 7 I I IN ( X ) O UT ( Y ) I 2 3 5 6 7 9 Y 6 X 10 X 12 X 9 X 11 X 13 S INK S R C E IN 4 00m A m a x. 24V OUT S /S P R O G R A M M A B L E C O N T R O L L E R A C 100~ 240V C0 Y 0 X 0 Y 1 X 2 X 1 X 3 T X PO RT 0 Y 2 C2 Y 3 X 4 R X Y 4 X 6 X 5 X 7 0 4 8 I2 0 4 8 I 5 9 I3 P O W R U N E R R Y 5 C4 C 6 2 6 I0 X 8 3 7 I I IN ( X ) O U T ( Y ) I 2 3 5 6 7 9 Y 6 X 10 X 1 2 X 9 X 1 1 X 13 Y 8 Y 7 Y 9 SI N K SR C E 12.8.5.1 Tryb serwera Przy pracy w trybie serwera, bezpośrednio połączony pojedynczy PLC lub stacje połączone z RS485 (CM25E/CM55E) wszystkie pracują w trybie slave. Urządzenie pracujące w takim trybie oczekuje pasywnie na komunikat i odpowiada na komendę. Poniżej przedstawiono przykład zastosowania trybu serwera. Połączenie pojedynczego FBs-PLC Stacja A Stacja B ETHERNET PORT4 (RS485) PORT3 (RS485) 8 Y 8 Y 7 Y 9 FBs-CM55E Powyższy schemat przedstawia najprostsze zastosowanie trybu serwera. Stacje robocze A i B są stacjami master, które mogą aktywnie przesyłać komunikaty do FBs-PLC. Po odebraniu komunikatu moduł Ethernet wyśle go przez port4 do FBs-PLC. W przypadku, gdy do FBs-PLC należy wysłać więcej komunikatów, moduł Ethernet zapisze nadliczbowe komunikaty w kolejce, a następnie prześle je do FBs-PLC w odpowiedniej kolejności (przed wysłaniem kolejnego komunikatu musi poczekać na odpowiedź), co zagwarantuje, że nie będą one ze sobą kolidować. Przy pracy w tym trybie nie ma potrzeby zapisywania żadnego programu w PLC. Połączenie wielu PLC Stacja A Stacja B Stacja C Stacja Z ETHERNET PORT4 (RS485) PORT3 (RS485) FBs-CM55E 12-33
3 6 1 2 + G + G T T N N RUN LNK TX RX TX RX TX RX 400mA max. IN 24V OUT S/S PROG RAMMABL E CO NTRO LL ER AC100~240V C0 Y0 X0 Y1 X1 C2 X2 TX Y2 X3 PORT0 Y3 X4 R X Y4 X5 C4 X6 0 4 8 I2 0 4 8 Y5 I 5 9 I3 X7 POW RUN ERR OUT ( Y ) I 2 3 5 6 7 9 C6 2 6 I0 X8 3 7 I I IN ( X ) Y6 X10 X12 X9 X11 X13 Y7 Y8 Y9 SINK SRC E 3 6 1 2 + G + G T T N N RUN LNK TX RX TX RX TX RX 400mA max. IN 24V OUT S/S 400mA max. IN PROG RAMMABL E CO NTRO LL ER AC100~240V C0 Y0 X0 Y1 X1 C2 24V OUT S/S PROG RAMMABL E CO NTRO LL ER AC100~240V X2 TX Y2 C0 X3 PORT0 Y3 X4 Y0 R X Y4 X5 C4 X0 Y1 X6 0 4 8 I2 0 4 8 Y5 X1 C2 I 5 9 I3 X2 TX X7 POW RUN ERR Y2 X3 PORT0 Y3 OUT ( Y ) I 2 3 5 6 7 9 C6 2 6 I0 X8 3 7 I I IN ( X ) Y6 X4 R X Y4 X5 C4 X6 0 4 8 I2 0 4 8 Y5 I 5 9 I3 X7 POW RUN ERR OUT ( Y ) I 2 3 5 6 7 9 C6 2 6 I0 X8 3 7 I I IN ( X ) X10 X12 X9 X11 X13 Y7 Y8 Y9 Y6 SINK SRC E X10 X12 X9 X11 X13 Y7 Y8 Y9 SINK SRC E IN 400m A max. 24V OUT S/S PR OG RAMMABLE CON TRO LLER AC100~240V C0 Y0 X0 Y1 X1 C2 X2 TX Y2 X3 POR T0 Y3 X4 RX Y4 X5 C4 X6 0 I 4 5 8 9 I2 I3 0 4 8 Y5 X7 POW RUN ERR O UT ( Y ) I 2 3 5 6 7 9 C6 2 6 I0 X8 3 7 I I I N ( X ) Y6 X10 X12 X9 X11 X13 Y7 Y8 Y9 SINK SR CE 40 0m A m a x. IN 24V OUT S/S PR O G R A MM AB L E C O N TR O L L ER AC 100~ 240V C0 Y 0 X 0 Y1 X 1 C 2 X2 TX Y2 X3 P O R T0 Y3 X4 R X Y 4 X 6 X5 X 7 0 4 8 I2 0 4 8 I 5 9 I3 PO W R UN ER R Y 5 C 4 C 6 2 6 I0 X 8 3 7 I I IN ( X ) O UT ( Y ) I 2 3 5 6 7 9 Y6 X10 X1 2 X9 X1 1 X 13 Y7 Y8 Y9 SIN K SR C E 4 00m A m ax. IN 24V OUT S /S P RO G RA M MA BL E C O N T RO L L ER A C100~240V C 0 Y0 X0 Y 1 X2 X1 X 3 T X P OR T 0 Y 2 C2 Y 3 X 4 R X Y4 X5 X6 0 4 8 I2 0 4 8 I 5 9 I3 X7 PO W RU N ER R Y5 C 4 C 6 2 6 I0 X8 3 7 I I I N ( X ) O U T ( Y ) I 2 3 5 6 7 9 Y 6 X 10 X1 2 X 9 X1 1 X 13 Y7 Y8 Y9 SIN K SR C E W ramach tej architektury aplikacji, PLC łączą moduł Ethernet z interfejsem RS485 portu4. Stacje robocze A i B są stacjami master, które mogą aktywnie przesyłać komunikaty do FBs-PLC. Po odebraniu komunikatu z sieci moduł Ethernet wyśle go do FBs-PLC przez interfejs portu4. Kiedy komunikat pojawi się w linii RS485, każdy PLC porówna stację docelową zapisaną w komunikacie z ID swojej stacji. Jeżeli wynik jest pozytywny, PLC wyśle odpowiedź na komunikat. Odpowiedź zostanie przechwycona przez moduł Ethernet, przepakowana i wysłana do sieci. W przypadku, gdy do FBs-PLC należy wysłać więcej komunikatów, moduł Ethernet zapisze nadliczbowe komunikaty w kolejce, a następnie prześle je do FBs-PLC w odpowiedniej kolejności (przed wysłaniem kolejnego komunikatu musi poczekać na odpowiedź), co zagwarantuje, że nie będą one ze sobą kolidować. Przy pracy w tym trybie nie ma potrzeby zapisywania żadnego programu w PLC. 12.8.5.2 Tryb klienta Przy pracy w trybie klienta (CM25E/CM55E) moduł Ethernet czeka na komunikat wysyłany przez port4. Jeżeli moduł wykryje, że komunikat kierowany jest do stacji PLC zlokalizowanej po stronie zdalnej, komunikat ten zostanie spakowany zgodnie z zawartością tabeli mapowania portu i wysłany do sieci. Następnie, moduł Ethernet będzie kontrolował, czy w sieci pojawi się odpowiedź. Po odebraniu odpowiedzi moduł Ethernet zdekoduje komunikat i odeśle go do PLC przez port szeregowy. Operacja ta kończy transakcję w trybie klienta. Przy pracy w tym trybie podłączony bezpośrednio pojedynczy PLC lub stacja master PLC LINK podłączona za pośrednictwem interfejsu RS485 (CM25E/CM55E) pracuje w trybie master, co oznacza, że wykorzystuje instrukcję LINK w trybie 0 do aktywnego wysłania komendy. Tryb klienta można także podzielić na tryb standardowy i tryb wirtualnego serwera. Tryby te zostały wyjaśnione poniżej. Tryb standardowy Przy pracy w tym trybie, PLC master połączony z modułem Ethernet może wysyłać komendy do innych PLC za pomocą instrukcji LINK w trybie 0. Docelowy PLC, do którego PLC master wysyła komunikat może być lokalnym urządzeniem slave połączonym z PLC master za pośrednictwem interfejsu RS485 lub z PLC zlokalizowanego po stronie zdalnej za pomocą połączenia Ethernet. Przy pracy w trybie klienta w module Ethernet znajduje się Tabela translacji adresu ze stacji do sieci. Tabela ta zawiera informacje dotyczące mapowania lokalnej i zdalnej stacji. Użytkownik powinien skonfigurować tę tabelę według faktycznego zastosowania. Podczas pracy, moduł Ethernet będzie kontrolował odbierane komunikaty. Jeżeli numer stacji zapisany w komunikacie można znaleźć w tabeli translacji, oznacza to, że zostanie on wysłany do sieci. Moduł Ethernet zamieni numer stacji zapisany w komunikacie zgodnie z tabelą translacji, a następnie ponownie obliczy i zaktualizuje sumę kontrolną przekształconego komunikatu, spakuje dane w pakiecie sieciowym i wyśle pakiet do sieci. Po odebraniu odpowiedzi z sieci, moduł Ethernet przeprowadzi translację komunikatu w odwrotnym kierunku. Najpierw zamieni numer stacji w komunikacie na oryginalny numer stacji, a następnie obliczy i zaktualizuje sumę kontrolną komunikatu i wyśle do portu szeregowego. Poniżej przedstawiony został przykład zastosowania trybu klienta w sieci. Stacja A Tryb serwera Grupa CPU nr 2 ETHERNET PORT4 (RS485) PORT3 (RS485) FBs-CM55E ETHERNET PORT4 (RS485) PORT3 (RS485) Grupa CPU nr 1 FBs-CM55E 12-34
Powyższy schemat przedstawia dwie grupy PLC. PLC w każdej grupie są ze sobą połączone za pośrednictwem interfejsu RS485 i sprzężone z modułem Ethernet w celu umożliwienia dostępu do sieci. Stacja nr 1 w grupie nr 1 to PLC master, który nie tylko ma dostęp do innych PLC w tej samej grupie, ale także do PLC w grupie 2 za pomocą mostka w postaci dwóch modułów Ethernet. Moduł Ethernet przypisany do grupy 2 jest skonfigurowany do trybu serwera, co oznacza, że wszystkie PLC obsługiwane przez ten moduł pracują jako stacje slave pasywnie oczekujące na komunikaty. Należy podkreślić, że PLC skonfigurowane w standardowym trybie klienta nie mają dostępu do innych stacji master poprzez komunikację sieciową. Działanie takiego modułu Ethernet jest bardzo podobne do firewalla. Moduł Ethernet przyjmuje tylko komunikaty z wewnątrz lub odpowiednie komunikaty zwrotne. Pozostałe komunikaty są blokowane. Poziom bezpieczeństwa pracy w trybie klienta jest bardzo wysoki. W związku z powyższym, stacja robocza A może mieć dostęp tylko do PLC w grupie 2. Z punktu widzenia master PLC, numerem stacji #2 w grupie 2 nie jest 2. W innym wypadku PLC nie mógłby odróżnić tej stacji od lokalnej stacji #2. Problem ten można rozwiązać poprzez zastosowanie tabeli translacji. Tryb wirtualnego serwera Kluczową cechą standardowego trybu klienta jest wysoki poziom bezpieczeństwa. Jednakże brak dostępu przez sieć innych urządzeń może być też mankamentem. W celu zbilansowania wymagań dotyczących ochrony i dostępności, moduł Ethernet może pracować w trybie wirtualnego serwera. Podczas pracy w tym trybie, moduł Ethernet imituje PLC o numerze stacji 255. Ten wirtualny PLC ma dostęp tylko do R0~R1999. W momencie pojawienia się komendy do stacji 255, moduł Ethernet ją zinterpretuje i zastosuje. Analogicznie będzie dla wszystkich innych komunikatów, obojętnie, czy wysłanych z portu szeregowego, czy z sieci. Moduł Ethernet pracuje jako medium. Statusy PLC mogą być w nim zapisywane i udostępniane do świata zewnętrznego. Świat zewnętrzny może mieć dostęp do PLC poprzez wprowadzenie statusu komendy. Tryb wirtualnego serwera jest opcją dla trybu klienta, co oznacza, że podczas pracy w trybie wirtualnego serwera, PLC master ma otwarty dostęp do PLC w ramach sieci. 12.8.6 Instalacja sprzętu Ustawienie przełącznika DIP Instalacja rezystora końcowego (FBs-CM25E/CM55E) W celu spełnienia wymagania dotyczącego zakończenia sieci RS485, wszystkie moduły Ethernet zostały wyposażone we wbudowany rezystor końcowy ułatwiający instalację. Funkcję końcową można ustawić za pomocą przełącznika DIP, który, patrząc od strony przedniej obudowy, wygląda jak poniżej. T N Jeżeli oba przełączniki są na pozycji T, oznacza to, że rezystor końcowy jest aktywny. Przełącznik w pozycji N oznacza, że układ pracuje bez rezystora. Przy wdrażaniu istnieją tylko dwa moduły, które wymagają zakończenia. Zbyt wiele zakończeń spowoduje przeładowanie sieci. Ustawianie hasła Po wprowadzeniu (aktywacji) hasła, użytkownik zostanie poproszony o wpisanie hasła za każdym razem, gdy będzie przeprowadzał konfigurację za pomocą narzędzia ether_cfg.exe. Innymi słowy, w przypadku, gdy użytkownik zapomni hasła, nie będzie mógł modyfikować konfiguracji modułu. W takiej sytuacji użytkownik dysponuje jednak zworką umożliwiającą tymczasowe wyłączenie ochrony hasłem. Dostęp do zworki jest możliwy po zdjęciu plastikowej osłony modułu. Jego położenie przedstawia poniższy schemat: 12-35
No Brak Password zabezpieczenia Protection hasłem Password Zabezpieczenie Protection hasłem CM-25E/CM-55E CBE Jeżeli w CM-25E, CM-55E lub CBE zwora JP1 jest w pozycji górnej (oznaczonej białą linią), ochrona hasłem jest wyłączona. Podczas normalnej pracy, zwora musi być w pozycji dolnej. Połączenia kablowe Złącza portu szeregowego: Informacje dotyczące sygnału z portu Port3, Port4 znajdują się w rozdziale 12.8.9. Złącze sieciowe: Złączem dla FBs-CM25E/55E jest 4-pionowa wtyczka europejska, natomiast dla FBs-CBE jest to RJ-45. Do połączeń sieciowych należy używać kabla CAT5 UTP (skrętka nieekranowana). Najbardziej zalecane jest stosowanie kabla CAT5 STP (skrętka ekranowana). Tabela opisuje charakterystykę złącz sieciowych : Sygnał Kolor linii Piny europejskie Piny RJ-45 Kierunek TX+ Biało-pomarań. 3 1 Zewn. PLC TX- Pomarańczowy 4 2 Zewn. PLC RX+ Biało-zielony 1 3 Zewn. PLC RX- Zielony 2 6 Zewn. PLC 12.8.7 Ustawienia oprogramowania Do ułatwienia konfiguracji modułu Ethernet służy aplikacja Ether_cfg.exe. Jest to program na bazie Windows i umożliwia realizację następujących funkcji: 1. Ustawienia podstawowych informacji w module: IP (adres sieciowy), bramka, maska sieci, prędkość transmisji, tryb roboczy, nazwa modułu, opis modułu. 2. Ustawienia zabezpieczeń: Ustawienia autoryzowanego IP. Dzięki tej funkcji jedynie komenda wysłana przez host z autoryzowanym IP może być odebrana przez moduł Ethernet. Zapobiega to przed niepowołanym dostępem i zabezpiecza system. Istnieje możliwość ustawienia 10 grup IP. Każda grupa może zawierać jeden lub więcej kolejnych IP. 3. Mapowanie stacji lokalnej do stacji zdalnej: Praca FBs-PLC w sieci jest całkowicie przejrzysta. Przy uzyskiwaniu dostępu do PLC slave za pomocą instrukcji link w trybie 0 oraz modułu Ethernet, PLC master nie jest w stanie wykryć, że zdalny PLC jest połączony z siecią. Innymi słowy, maksymalna ilość stacji slave wynosi dalej 254. Jeżeli moduł Ethernet pracuje w trybie klienta, to w celu przekształcenia 12-36
stacji lokalnej w zdalną, należy najpierw dokonać ustawień tabeli translacji. Istnieją trzy metody konfiguracji sieci. 4. Ustawienia przez sieć lokalną: Jest to najwygodniejsza metoda konfiguracji sieci. W trakcie pracy, oprogramowanie konfiguracyjne przeskanuje wszystkie moduły Ethernet w obrębie sieci. Wszystkie przeskanowane moduły będą pokazane w tabeli na ekranie wraz z podstawowymi informacjami. Użytkownik może wybrać moduł Ethernet do edycji bezpośrednio na ekranie. Wybór może być zabezpieczony hasłem w celu uniknięcia nieautoryzowanego dostępu. 5. Ustawienia przez Internet: Za pomocą tej metody użytkownik może dokonać ustawień przez Internet. Metoda ta pozwala jedynie na ustawienie modułu Ethernet. Jest to możliwe po podaniu adresu IP tego modułu. Ze względów bezpieczeństwa operacja może być zabezpieczona hasłem. Konfiguracja LAN Krok 1: Połączyć moduł Ethernet z hubem za pomocą kabla sieciowego. Krok 2: Połączyć PC z siecią i uruchomić aplikację ether_cfg.exe.. W obszarze Configuration Channel kliknąć opcję Intranet. Po dokonaniu wyboru ekran będzie wyglądał następująco: Kliknąć przycisk Scan Map. Rozpocznie się skanowanie w poszukiwaniu modułu Ethernet. W tabeli pojawią się wszystkie wykryte moduły. Ustawienia przez Internet Krok 1 : Połączyć moduł Ethernet z hubem za pomocą skrętki ze złączem Ethernet. Krok 2 : Połączyć PC z siecią i uruchomić aplikację ether_cfg.exe.. W obszarze Configuration Channel kliknąć opcję Internet. Po dokonaniu wyboru ekran będzie wyglądał następująco: Następnie należy wprowadzić zdalny adres IP modułu Ethernet, który ma być konfigurowany. Po kliknięciu przycisku Get Map nastąpi połączenie z modułem Ethernet. Po nawiązaniu połączenia w tabeli w środkowej części okna zostaną 12-37
wyświetlone informacje dotyczące danego modułu. Ustawienia wspólnych danych Po nawiązaniu połączenia z modułem Ethernet w tabeli w środkowej części okna zostaną wyświetlone informacje dotyczące danego modułu. (niezależnie od wybranej metody połączenia). Po wyświetleniu informacji dwukrotnie kliknąć wiersz, w którym widnieje oznaczenie modułu lub kliknąć jeden raz w wiersz, a następnie drugi raz w przycisk Properties. W przypadku braku hasła dostępu lub po wprowadzeniu prawidłowego hasła, pojawi się następujące okno: Opis opcji zawartych w powyższym oknie : 1.Firmware Version: Wersja oprogramowania konfigurowanego modułu Ethernet. 2.IP Address: Adres IP konfigurowanego modułu Ethernet. 3.Subnet Mask: Maska podsieci konfigurowanego modułu Ethernet. 4.GateWay: Adres IP bramki dla konfigurowanego modułu Ethernet.. 5.Host Name: Nazwa hosta, która może służyć do odróżnienia modułu Ethernet. Może zawierać maksymalnie 11 znaków. 6.Comment: Komentarz, który może służyć do odróżnienia modułu Ethernet. Może zawierać maksymalnie 21 znaków. 7.Operation mode: Wybór trybu: klienta lub serwera. 8.Protocol: Wybór jednego z dwóch dostępnych protokołów: Modbus/TCP lub Fatek. Protokół Modbus/TCP można wybrać tylko jeżeli tryb roboczy jest ustawiony w trybie serwera, natomiast protokół Fatek można wybrać dla obu trybów. 9.Baud Rate(CM25E/CM55E): Prędkość transmisji pomiędzy modułem Ethernet i PLC w sześciu opcjach: 9600, 19200, 38400, 57600, 115200 i 230400 bps 12-38
10.Remote Config. Enabled: Zaznaczenie tej funkcji umożliwi konfigurację przez Internet. Opcję należy zaznaczyć w przypadku konfiguracji sieci przy użyciu metody opisanej w rozdziale 5.3.4. W celu zapewnienia bezpieczeństwa zaleca się ustalenie hasła dostępu dla tej funkcji. W przypadku, gdy konfiguracja zdalna nie jest wymagana, należy pozostawić tę opcję nieaktywną. 11.Przycisk Import/Export: Funkcja Export umożliwia zapisanie wszystkich ustawień modułu Ethernet w pliku. Funkcja Import umożliwia odzyskanie ustawień zapisanych w pliku w celu ułatwienia procesu konfiguracji. Początkujący użytkownicy mogą pominąć informacje zawarte w ramce. Advance Setup: Ustawienia zaawansowane: Funkcja ta może być wybrana tylko przy pracy w trybie serwera. Po wybraniu tej funkcji wyświetli się następujące okno: Message Time Out: Przerwa dla PLC. Domyślna wartość parametru 300ms. Moduł Ethernet odczeka przez ustawiony czas zanim PLC wyśle komunikat zwrotny. Transaction delay: Minimalny czas opóźnienia wysłania przez moduł Ethernet kolejnej komendy po otrzymaniu komunikatu zwrotnego z PLC. Domyślna wartość to 0ms. Opcja ta jest wykorzystywana w przypadku podłączenia przez RS485 kilku PLC o zróżnicowanych czasach skanowania. Ustawienia zabezpieczeń Oprócz opcji wyłączania / włączania konfiguracji dostępne są dodatkowo następujące funkcje: Zabezpieczenie hasłem: Kliknąć w zakładkę Password. Wyświetli się następujący ekran: W polu New Password wprowadzić nowe hasło i potwierdzić je wpisując ponownie w polu Confirm Password. W przypadku, gdy ochrona hasłem nie jest potrzebna, kliknąć przycisk Remove. 12-39
Ustawienia praw dostępu: Funkcja autoryzacji IP zabezpiecza przed niepożądanym dostępem do danych. Po kliknięciu zakładki Access Control wyświetli się następujący ekran: Ustawić kursor na tabeli Grant IP i kliknąć prawym przyciskiem myszy. Wyświetli się następujące menu rozwijane: Kliknąć Add w celu dodania autoryzowanych IP. Kliknąć Del w celu usunięcia autoryzowanych IP. Kliknąć Edit w celu zmodyfikowania danych o istniejących autoryzowanych IP. Po kliknięciu opcji Add wyświetli się następujące okno: Powyższe okno umożliwia zdefiniowanie autoryzowanych adresów IP. W polu Grant IP należy wpisać pierwszy adres IP, a w polu Group Size wprowadzić ilość adresów w grupie. Ustawienia mapowania portu Ustawienia te są wymagane tylko w przypadku, gdy moduł Ethernet pracuje w trybie klienta. Po wybraniu trybu klienta wyświetli się następująca strona konfiguracji danych: 12-40
W odróżnieniu od okna w trybie serwera, okno w trybie klienta zawiera dodatkową zakładkę Port Mapping. Po wybraniu tej zakładki wyświetli się następujące okno: Ustawić kursor na tabeli w środkowej części okna i kliknąć prawy przycisk myszy. Wyświetli się następujące menu rozwijane: Kliknąć Add w celu dodania danych mapowania jednej stacji. Kliknąć Del w celu usunięcia danych mapowania stacji. Kliknąć Edit w celu zmodyfikowania istniejących danych mapowania stacji. Po kliknięciu opcji Add wyświetli się następujące okno: 12-41
Opis pól w powyższym oknie : 1.Local Station: Numer stacji lokalnego PLC. 2.Remote Station: Numer stacji zdalnego PLC. 3.Remote IP: Adres IP modułu Ethernet łączonego za pomocą zdalnego PLC. 4.Group Size: Pole umożliwiające zdefiniowanie wielkości grupy mapowanych stacji. Na przykład jeżeli chcemy przeprowadzić mapowanie lokalnych stacji PLC numer 20~29 i zdalnych stacji PLC numer 10~19, a adres IP zdalnego modułu Ethernet to 192.168.1.3, wówczas wartość dla stacji lokalnej należy ustawić na 20, dla stacji zdalnej na 10, wielkość grupy na 10, a adres IP jako 192.168.1.3. Moduł Ethernet może obsłużyć maksymalnie 19 grup mapowanych stacji. Ustawienia portu serwisowego Niezależnie od tego, czy moduł Ethernet pracuje w trybie serwera TCP, czy UDP, to należy przyporządkować do niego numer portu serwisowego w celu umożliwienia dostępu klienta. Domyślnym numerem portu dla modułu Ethernet serii FBs jest port 500. Aby zmienić numer portu użytkownik może kliknąć w zakładkę MISC i zmienić numer w polu Major port. Pole Secondary port umożliwia ustawienie dwóch portów serwisowych, z których jednym jest port 500, a drugim port ustawiony w polu Major port. Konfiguracja aktualizacji Po zakończeniu konfiguracji kliknąć przycisk OK w oknie adaptor s properties w celu aktualizacji modułu Ethernet. Po bezbłędnym zakończeniu aktualizacji wyświetli się okno główne gotowe do konfiguracji kolejnego modułu Ethernet. 12.8.8 Procedury zmiany konfiguracji Procedura zmiany konfiguracji sieciowej. Krok 1: Wybór metody połączenia. (LAN lub Internet) Krok 2: Edycja podstawowych danych modułu. Krok 3: Ustalenie hasła (opcjonalne). Krok 4: Ustawienie autoryzowanych IP (opcjonalnie). Krok 5: Ustawienie mapowania stacji lokalnej i zdalnej oraz adresu IP (tylko dla trybu klienta). 12-42
12.8.9 Rozmieszczenie pinów i protokoły Rozmieszczenie pinów w porcie RS232 Sygnał Piny Kierunek RX 3 Zewn. PLC TX 2 Zewn. PLC GND 5 Rozmieszczenie pinów w porcie RS485 +(D+) (D ) G(SG) Protokół komunikacyjny FATEK TCP/UDP FATEK TCP/UDP zawiera komunikat dotyczący szeregowej komunikacji FATEK w TCP lub pakiet danych UDP. Numer portu do przesyłania komunikatu FATEK TCP/UDP można konfigurować (domyślna wartość to 500). Protokół komunikacyjny Modbus/TCP Dokument dotyczący protokołu komunikacyjnego Modbus/TCP znajduje się na stronie http://www.modbus.org. Port do przesyłania komunikatów Modbus/TCP ma numer 502. Konfiguracja IP przez rejestr PLC (funkcja dostępna tylko dla CBE) Adres IP modułu Ethernet może być ustawiony za pomocą oprogramowania konfiguracyjnego (Ether_cfg.exe). Adres IP modułu CBE (wersja V5.4 lub wyższa) może być także ustawiony za pomocą rejestru PLC. Metoda ta została opisana poniżej: D3990: = 4950H Ustawienie IP dokonywane jest w rejestrze PLC. W przypadku, gdy wartość jest inna, zostanie ona ustawiona przez program do konfiguracji. Przy konfiguracji IP za pomocą PLC istnieje ograniczenie jedynie do klasy C, którym jest maska sieci = 255.255.255.0 Jeżeli IP figuruje jako A.B.C.D, także router jest oznaczony jako A.B.C.R D3991 - A D3992 - B D3993 - C D3994 - D D3995 - R Jeżeli wartość A.B.C.D lub R będzie większa niż 255 lub wartość D lub R będzie równa 0, to właściwą wartością będzie D3990, nie 4950H. Przykład ustawień: Przy założeniu, że IP = 192.168.2.10, a router = 192.168.2.1, to ustawienie rejestru jest następujące: D3990 = 4950H. D3991 = 192. D3992 = 168. D3993 = 2. D3994 = 10. D3995 = 1. 12-43
Uwagi 1. Przy zastosowaniu modułu Ethernet CM25E/55E i protokołu komunikacyjnego Modbus użytkownik powinien pamiętać o ustawieniu portu komunikacyjnego (Port4) na protokół komunikacyjny Modbus (automatycznie ustawi się CBE) po stronie jednostki głównej (PLC). Ponadto, aby ustawić tryb roboczy dla modułu Ethernet i ustawić protokół komunikacyjny na Modbus, należy zrobić to przez program do konfiguracji modułu Ethernet FATEK (Ether_cfg.exe). 2. Sterowanie CBE w trybie klienta odbywa się za pośrednictwem portu 2 w PLC. Dlatego też parametr Pt instrukcji CLINK w PLC powinien być ustawiony na wartość 2 (Port2). W innym wypadku tryb klienta obsługuje tylko protokół aplikacji FATEK UDP. 3. Jeżeli do internetowego skanowania modułu Ethernet został wykorzystany program do konfiguracji modułu Ethernet FATEK (Ether_cfg.ext), a wskaźniki RX i TX migały ale nie wykryły modułu, to należy sprawdzić, czy nie został wyłączony firewall w PC (Windows XP). Jeżeli nie, należy powtórzyć skanowanie. 1. Ustawienia portu komunikacyjnego PLC 2. Ustawienia modułu Ethernet (Tylko dla modułu CM-25E/55E) 12-44
Rozdział 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. Kategoria FUN151 (CLINK) (MD3) Element (MD0~MD2) Szybki LINK * Tylko Port 2 Standardowy LINK * Port 1~Port 4 Prędkość transmisji 38,4k bps 921,6k bps 4,8k bps 921,6k bps Bity danych Kod transmisji Detekcja błędu Prędkość przetwarzania komendy 8-bitowy Kod binarny CRC-16 Natychmiast 7- lub 8-bitowy Regulowany Kod ASCII Suma kontrolna Przetwarzanie w fazie Housekeeping cyklu skanu (na końcu skanu) FUN150 (M-BUS) Modbus Master 4,8k bps 921,6k bps 7 / 8-bitowy Kod binarny / Kod ASCII CRC-16 / Suma kontrolna Przetwarzanie przy skanowaniu instrukcji FUN150. 13-1
13.1 Zastosowanie instrukcji FUN151 13.1.1 Procedury Start Podłącz przewody do łączenia z poszczególnymi stacjami (PLC, urządzenia peryferyjne ASCII, itp.) Ustaw liczbę stacji do podłączenia i dokonaj ustawień odpowiednich parametrów dla tych stacji. Liczba stacji może być ustawiona w zakresie od 1 do 254 bez powtórzeń. W razie potrzeby wprowadź wartość do rejestru interfejsu komunikacyjnego (Rxxxx) instrukcji FUN151 (CLINK); ustaw timer do wykrywania błędów oraz opóźnienie transakcji w celu dostosowania się do urządzenia o długim czasie reakcji. Szczegóły dotyczące parametrów komunikacji znajdują się w opisie Ustawień dotyczących komunikacji. Zapisz instrukcję FUN151 w PLC pracującym jako stacja master lub urządzenie wysyłające/odbierające, a następnie wprowadź program komunikacyjny do tabeli rejestru oznaczonej argumentem SR. FUN151 automatycznie wyśle lub odbierze dane zgodnie z definicją programu komunikacyjnego. Użytkownik ma dostęp do różnych funkcji CLINK za pośrednictwem tabel, np.: programu komunikacyjnego. Koniec 13-2
13.1.2 Opis trybów i zastosowań programu dla FUN151 W niniejszym rozdziale opisane zostaną cztery tryby (MD0 do MD3) instrukcji FUN151 (CLINK) oraz przykłady praktycznego zastosowania programu. 13-3
FBs-PLC LINK FUN151 CLINK Instrukcja FUN151: MD0 (PLC pracuje jako stacja master w sieci CPU LINK za pośrednictwem portu 1~4) FUN151 CLINK Execution Wejście control sterujące Wejście sterujące Pause Wejście sterujące Abort Symbol drabinkowy Ladder symbol 151P.CLINK EN Pt : MD : PAU SR : WR : ABT ACT Acting w realizacji Pt : Przypisanie portu 1~4 MD : 0, of praca jako stacja master Fatek w sieci CPU Link (zastosowanie protokołu komunikacyjnego Fatek) SR : Początkowy rejestr programu komunikacyjnego ERR błąd Error (opis w przykładzie) WR : Początkowy rejestr dla instrukcji (opis DN wykonano Done w przykładzie). Steruje 8 rejestrami. Nie * może zostać użyty do innych programów. Zakres HR ROR DR K R0 R5000 D0 Argument R3839 R8071 D3999 Pt 1~4 MD 0 SR WR 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. 13-3
FBs-PLC LINK FUN151 Instrukcja FUN151: MD0 CLINK (PLC pracuje jako stacja master w sieci CPU LINK za pośrednictwem portu 1~4) Sygnały z interfejsu FUN151 CLINK Przekaźniki i rejestry dedykowane do konkretnych portów : Sygnały Wspólny port Port 1 Port 2 Port 3 Port 4 1. Wskaźnik gotowości portu M1960 M1962 M1936 M1938 2. Wskaźnik zakończenia portu M1961 M1963 M1937 M1939 3. Parametry komunik. portu R4146 R4158 R4043 R4044 4. Opóźnienie TX i przerwa RX R4147 R4159 R4045 R4048 5. Ustawienia czasu przerwy RX D4043 6. Wzbudzenie zbocza D4044 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: Port1 Port2 Port3 Port4 Ustawienie czasu przerwy RX Młodszy Młodszy Młodszy Młodszy bajt R4147 bajt R4159 bajt R4045 bajt R4048 13-4
FBs-PLC LINK FUN151 CLINK Instrukcja FUN151: MD0 (PLC pracuje jako stacja master w sieci CPU LINK za pośrednictwem portu 1~4) FUN151 CLINK D4043:Ustawienie jednostki czasu na 0,01 lub 0,1 sekundy dla wykrycia przerwy RX Starszy bajt Młodszy bajt 56H b7 b6 b5 b4 b3 b2 b1 b0 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) =1, jednostka timera przerwy = 0,1 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) =1, jednostka timera przerwy =0,1 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. Starszy bajt Młodszy bajt 00H b7 b6 b5 b4 b3 b2 b1 b0 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) =1, Minimum 2 czasy skanowania do realizacji jednej transakcji danych (Port 1) b2=0, identycznie jak w przypadku b1=0 (Port 2) =1, identycznie jak w przypadku b1=1 (Port 2) b3=0, identycznie jak w przypadku b1=0 (Port 3) =1, identycznie jak w przypadku b1=1 (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. 13-5
FBs-PLC LINK FUN151 CLINK Instrukcja FUN151: MD0 (PLC pracuje jako stacja master w sieci CPU LINK za pośrednictwem portu 1~4) FUN151 CLINK 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. Starszy bajt Młodszy bajt 56H b7 b6 b5 b4 b3 b2 b1 b0 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) =1, jedne wzbudzenie zbocza wymagane do ciągłej realizacji transakcji (Port 1) b2=0, identycznie jak w przypadku b1=0 (Port 2) =1, identycznie jak w przypadku b1=1 (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) =1, identycznie jak w przypadku b1=1 (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. 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. 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. 13-6
FBs-PLC LINK FUN151 CLINK Instrukcja FUN151: MD0 (PLC pracuje jako stacja master w sieci CPU LINK za pośrednictwem portu 1~4) FUN151 CLINK Program próbny do jednego wzbudzenia zbocza w celu realizacji transakcji danych 13-7
FBs-PLC LINK FUN151 CLINK Instrukcja FUN151: MD0 (PLC pracuje jako stacja master w sieci CPU LINK za pośrednictwem portu 1~4) FUN151 CLINK 13-8
FBs-PLC LINK FUN151 CLINK Instrukcja FUN151: MD0 (PLC pracuje jako stacja master w sieci CPU LINK za pośrednictwem portu 1~4) FUN151 CLINK Przebiegi sygnałów wejściowych i wyjściowych ENU (początek transmisji) ACT (transmisja danych) 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. 13-9
FBs-PLC LINK FUN151 CLINK Instrukcja FUN151: MD0 (PLC pracuje jako stacja master w sieci CPU LINK za pośrednictwem portu 1~4) FUN151 CLINK Program do wzbudzenia tylko jednego zbocza i ciągłej realizacji transakcji danych 13-10
FBs-PLC LINK FUN151 CLINK Instrukcja FUN151: MD0 (PLC pracuje jako stacja master w sieci CPU LINK za pośrednictwem portu 1~4) FUN151 CLINK 13-11
FBs-PLC LINK FUN151 CLINK Instrukcja FUN151: MD0 (PLC pracuje jako stacja master w sieci CPU LINK za pośrednictwem portu 1~4) 1 Transakcja 0 Transakcja Transakcja N Przebiegi sygnałów wejściowych i wyjściowych M1960 M1962 M1936 M1938 ENU ACT ABT FUN151 CLINK 13-12
FBs-PLC LINK FUN151 CLINK Instrukcja FUN151: MD0 (PLC pracuje jako stacja master w sieci CPU LINK za pośrednictwem portu 1~4) FUN151 CLINK Edycja tabeli komunikacyjnej za pomocą Win Proladder W oknie projektu wybrać opcję Link Table : Project name Table Edit Link Table Kliknąć prawy przycisk myszy i wybrać New 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ą. 13-13
FBs-PLC LINK FUN151 CLINK Instrukcja FUN151: MD0 (PLC pracuje jako stacja master w sieci CPU LINK za pośrednictwem portu 1~4) FUN151 CLINK Opis argumentu SR SR:Początkowy rejestr programu komunikacyjnego instrukcji CLINK SR+0 SR+1 SR+2 Całkowita liczba transakcji Nr stacji slave do realizacji transakcji Kod komendy Ważny jest młodszy bajt; do zdefiniowania transakcji jednego pakietu danych wymaganych jest 7 rejestrów. Ważny jest młodszy bajt, 0~254 (0 master oznacza, że PLC wysyła dane do wszystkich stacji slave PLC, a stacja slave PLC nie odpowiada). Ważny jest młodszy bajt; =1, oznacza odczyt danych ze stacji slave PLC; =2, oznacza zapis danych w stacji slave PLC. SR+3 Długość danych transakcji Ważny jest młodszy bajt; zakres wynosi 1~64. SR+4 Typ danych master PLC Ważny jest młodszy bajt w zakresie od 0 do 13; określa typ danych stacji master PLC (patrz następna strona). SR+5 Początkowa referencja master PLC Ważne jest słowo; określa początkowy adres danych (master). SR+6 Typ danych slave PLC Ważny jest młodszy bajt w zakresie od 0 do 13; określa typ danych stacji slave PLC (patrz następna strona). SR+7 Początkowa referencja slave PLC Ważne jest słowo; określa początkowy adres danych (slave). SR+8 SR+9 SR+10 SR+11 SR+12 SR+13 SR+14 Nr stacji slave do realizacji transakcji Kod komendy Długość danych transakcji Typ danych master PLC Początkowa referencja master Typ danych slave PLC Początkowa referencja slave PLC Opis transakcji drugiego pakietu. 13-14
FBs-PLC LINK FUN151 CLINK Instrukcja FUN151: MD0 (PLC pracuje jako stacja master w sieci CPU LINK za pośrednictwem portu 1~4) FUN151 CLINK Typ danych, kod i nr referencyjny master / slave Kod danych Typ danych 0 X (wejście dyskretne) 0~255 1 Y (wyjście dyskretne) 0~255 2 M (wewnętrzny przekaźnik M) 0~1911 3 S (przekaźnik krokowy S) 0~999 4 T (styk timera) 0~255 5 C (styk licznika) 0~255 Numer referencyjny 6 WX (słowo na dyskretnym wejściu,16 bitów) 0~240, musi być wielokrotnością 8. 7 WY (słowo na dyskretnym wyjściu,16 bitów) 0~240, musi być wielokrotnością 8. 8 WM (słowo w wewnętrznym przekaźniku,16 bitów) 0~1896, musi być wielokrotnością 8. 9 W S (słowo w przekaźniku krokowym,16 bits) 0~984, musi być wielokrotnością 8. 10 TR (rejestr timera) 0~255 11 CR (rejestr licznika) 0~199 12 R (rejestr danych Rxxxx) 0~3839 13 D (rejestr danych Dxxxx) 0~4095 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 FUN151:MD0 Starszy bajt Młodszy bajt WR+0 Kod wyniku Nr transakcji WR+1 Nr stacji Kod komendy WR+2 WR+3 Do operacji wewnętrznych Do operacji wewnętrznych Kod wyniku określa wynik transakcji; 0= normalny, inna wartość= nienormalny. Nr transakcji określa, która transakcja jest aktualnie realizowana. Nr stacji określa numer stacji realizującej transakcję. Kod komendy =40H, odczyt statusu systemu ze stacji slave PLC. =44H, odczyt statusów zmiennej dyskretnej ze stacji slave PLC. =45H, zapis statusów zmiennej dyskretnej w stacji slave PLC. =46H, odczyt rejestrów ze stacji slave PLC. WR+4 Do operacji wewnętrznych =47H, zapis rejestrów w stacji slave PLC. WR+4 s b0=1, Port jest zajęty, a instrukcja oczekuje na przyznanie WR+5 Do operacji wewnętrznych praw do transmisji w celu realizacji transakcji danych. WR+6 Do operacji wewnętrznych b4=1, performing instrukcja nie jest realizowana po raz pierwszy. b12, Wskazanie na wyjściu ACT WR+7 Do operacji wewnętrznych b13, Wskazanie na wyjściu ERR. b14, Wskazanie na wyjściu DN. Kod wyniku: 0, transakcja przebiegła pomyślnie. 2, błąd długości danych (długość danych wynosi 0 lub jest większa od 64 dla jednej transakcji). 3, błąd kodu komendy (kod komendy jest większy od 2). 4, błąd typu danych (typ danych jest większy od 13; patrz kod typu danych). 5, błąd numeru referencyjnego (patrz numer referencyjny). 6, nieprawidłowość w typie danych (np.: 0~5 dla stacji master i 6~13 dla stacji slave). A, brak odpowiedzi ze stacji slave (błąd przerwy). B, błąd komunikacji (odebrano dane o błędzie). 13-15
FBs-PLC LINK FUN151 CLINK Instrukcja FUN151: MD0 (PLC pracuje jako stacja master w sieci CPU LINK za pośrednictwem portu 1~4) FUN151 CLINK 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 Nr sekwencji Komenda Slave Dane master Dane slave Długość 0 ~ nnn Czytaj (=1) Zapisz (=2) Numer stacji slave PLC realizującej transakcję. Numer stacji=0, Stacja master PLC wysyła dane do wszystkich stacji slave PLC. Stacje slave nie odpowiadają. Numer stacji=n, Numer stacji slave PLC realizującej transakcję ze stacją master PLC. N=1~ 254 Typ danych i numer referencyjny transakcji pakietu danych dla stacji master PLC. X0 ~ X255 Y0 ~ Y255 M0 ~ M1911 S0 ~ S999 T0 ~ T255 C0 ~ C255 WX0 ~ WX240 WY0 ~ WY240 WM0 ~ WM1896 WS0 ~ WS984 TR0 ~ TR255 CR0 ~ CR199 R0 ~ R3839 D0 ~ D4095 Typ danych i numer referencyjny transakcji pakietu danych dla stacji slave PLC. X0 ~ X255 Y0 ~ Y255 M0 ~ M1911 S0 ~ S999 T0 ~ T255 C0 ~ C255 WX0 ~ WX240 WY0 ~ WY240 WM0 ~ WM1896 WS0 ~ WS984 TR0 ~ TR255 CR0 ~ CR199 R0 ~ R3839 D0 ~ D4095 Długość danych dla tej transakcji. 1 ~ 64 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ę 13-16
FBs-PLC LINK FUN151 CLINK Instrukcja FUN151: MD0 (PLC pracuje jako stacja master w sieci CPU LINK za pośrednictwem portu 1~4) FUN151 CLINK Przebiegi sygnałów wejściowych i wyjściowych M1960 M1962 M1936 M1938 ENU(start (początek transmission) transmisji) ACT(data (transmisja transmission) danych) DN(Non-error) (brak błędu) ERR(Error (wystąpił occur) błąd) 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. 13-17
FBs-PLC LINK FUN151 CLINK Instrukcja FUN151: MD1 (PLC pracuje jako stacja wysyłająca za pośrednictwem portu 1~4) FUN151 CLINK Execution Wejście sterujące control Wejście Pause sterujące Wejście sterujące Abort EN PAU ABT Symbol Ladder drabinkowy symbol 151P.CLINK Pt : MD : SR : WR : ACT ERR w Acting realizacji błąd Error Pt : port przypisanie portu, 1~4 MD : 1, połączenie z inteligentnymi urządzeniami peryferyjnymi wyposażonymi w interfejs komunikacyjny. SR : Początkowy rejestr tabeli transmisji danych WR : Początkowy rejestr dla realizacji instrukcji (patrz przykład). Steruje 8 DN Done wykonano rejestrami i nie może być wykorzystywany * przez inne programy. Zakres HR ROR DR K R0 R5000 D0 Argument R3839 R8071 D3999 Pt 1~4 MD 1 SR WR 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. 13-18
FUN151 Instrukcja FUN151: MD1 CLINK (PLC pracuje jako stacja wysyłająca za pośrednictwem portu 1~4) Sygnały z interfejsu FBs-PLC LINK FUN151 CLINK Przekaźniki i rejestry dedykowane do portu : Port kom. Port 1 Port 2 Port 3 Port 4 Sygnały 1. Wskaźnik gotowości portu M1960 M1962 M1936 M1938 2. Wskaźnik zakończenia portu M1961 M1963 M1937 M1939 3. Parametry komunik. portu R4146 R4158 R4043 R4044 4. Opóźnienie TX i przerwa RX R4147 R4159 R4045 R4048 5. Ustawienia czasu przerwy RX D4043 6. Wzbudzenie zbocza D4044 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). 13-19
FBs-PLC LINK FUN151 CLINK Instrukcja FUN151: MD1 (PLC pracuje jako stacja wysyłająca za pośrednictwem portu 1~4) FUN151 CLINK 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. 13-20
FBs-PLC LINK FUN151 CLINK Instrukcja FUN151: MD1 (PLC pracuje jako stacja wysyłająca za pośrednictwem portu 1~4) FUN151 CLINK M1924 EN RST R 108 Zeruj długość odbieranych danych. (trybie wyślij instrukcja ta nie jest wymagana). EN 08.MOV S : 1 D : R 0 Ustaw tryb roboczy: ustaw tryb "wyślij i odbierz" (R0=1) EN 08.MOV S : 0203H D : R 1 Ustaw początkowy (02H) i końcowy (03H) kod odbioru wiadomości (regularny odbiór R1=0 jest możliwy także bez podania początkowych i końcowych kodów). M0 ô EN 08.MOV S : 4 D : R 2 Pakuj dane do transmisji: Ustaw długość transmisji danych (R2=N). EN 08.MOV S : 2 D : R 3 Wprowadź dane do transmisji: Wprowadź dane 1 (R3= ' STX ' ) EN 08.MOV S : 4FH D : R 4 Wprowadź dane 2 (R4= ' O ' ) EN 08.MOV S : 4BH D : R 5 Wprowadź dane 3 (R5= ' K ' ) EN 08.MOV S : 3 D : R 6 Wprowadź dane 4 (R6= ' ETX ' ) M0 EN PAU ABT 151P.CLINK Pt : 1 MD : 1 SR : R0 WR: R100 ACT ERR DN Y0 ( ) Y1 ( ) Y2 ( ) EN U/S 17.CMP Sa : R 108 Sb : 0 a=b a>b M100 ( ) Po wybraniu trybu wyślij i odbierz, program wykorzysta instrukcję porównawczą do określenia, czy wiadomość została odebrana; jeżeli tak, to M100 = WYŁ, a program przetworzy odebrane dane. (Program ten nie jest wymagany w trybie wyślij.) a<b M100 EN 66 JMP 1 13-21
FBs-PLC LINK FUN151 CLINK Instrukcja FUN151: MD1 (PLC pracuje jako stacja wysyłająca za pośrednictwem portu 1~4) FUN151 CLINK Program przetwarzający odebrane dane. Szczegóły dotyczące odebranych danych znajdują się na następnej stronie. EN U/S 17.CMP Sa : R 108 Sb : R 2 a=b a>b M101 ( ) Porównaj długość odebranych i wysyłanych danych. a<b M101 EN SET Y 3 Zasygnalizuj błąd w przypadku nieprawidłowej długości. M101 EN 66 JMP 0 EN 08.MOV S : 0 D : V Wyzeruj wskaźnik V. 70 FOR R 2 EN U/S 17.CMP Sa : R 3V Sb : R 109V a=b a>b M101 ( ) Porównaj zgodność wszystkich odebranych i wysłanych danych. Porównaj odebrane i wysłane dane jedno po drugim. a<b Zasygnalizuj błąd w przypadku różnicy danych. M101 EN SET Y 4 15 EN (+1) V 71 NEXT 65 LBL 0 Po zakończeniu przetwarzania wyzeruj długość odebranych danych i przygotuj układ do odbioru nowych danych. EN RST R 108 65 LBL 1 13-22
FBs-PLC LINK FUN151 CLINK Instrukcja FUN151: MD1 (PLC pracuje jako stacja wysyłająca za pośrednictwem portu 1~4) FUN151 CLINK Opis argumentu SR dla FUN151: MD1 SR:Początkowy rejestr tabeli transmisji danych SR+0 Wyślij lub Odbierz i wyślij Ważny jest młodszy bajt, =00H, tylko wyślij, brak odpowiedzi ze stacji slave =01H, wyślij i odbierz dane (odbierz tylko w przypadku braku błędów) =81H, wyślij i odbierz dane (odbierz nawet w przypadku błędów) SR+1 Początkowy i końcowy kod odbioru Starszy bajt : Początek tekstu dla odbioru. Młodszy bajt : Koniec tekstu dla odbioru. SR+2 Długość transmisji Maksymalna długość danych do wysłania to 511 SR+3 Dane 1 Ważny jest młodszy bajt SR+4 Dane 2 Ważny jest młodszy bajt SR+5 Dane 3 Ważny jest młodszy bajt Ważny jest młodszy bajt SR+6 Dane 4 Dane N 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). 13-23
FBs-PLC LINK FUN151 CLINK Instrukcja FUN151: MD1 (PLC pracuje jako stacja wysyłająca za pośrednictwem portu 1~4) FUN151 CLINK Protokół komunikacyjny bez końcowego kodu zależy od czasu pomiędzy wykrywaniem poszczególnych 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. Opis argumentu WR dla FUN151:MD1 Starszy bajt Młodszy bajt WR+0 Kod wyniku 0 Kod wyniku =0, OK ; = inne wartości, nieprawidłowy. WR+1 Do operacji wewnętrznych Rejestry robocze dla instrukcji CLINK. WR+2 WR+3 Do operacji wewnętrznych Do operacji wewnętrznych WR+4 Do operacji wewnętrznych WR+4 : b0=1, W toku b12 = wskazanie na wyjściu ACT WR+5 Do operacji wewnętrznych b13 = wskazanie na wyjściu ERR WR+6 Do operacji wewnętrznych b14 = wskazanie na wyjściu DN WR+7 Do operacji wewnętrznych Całkowita ilość odebranych Całkowita ilość odbieranych bajtów (rejestr do zapisu długości WR+8 danych odbieranych danych; zawiera początkowy i końcowy kod). Pierwszy bajt odebranych danych (jest to początkowy kod); Starszy WR+9 Dane 1 bajt =0. Dane 2 Drugi bajt odebranych danych; Starszy bajt =0. Dane 3 Trzeci bajt odebranych danych; Starszy bajt =0. Dane N N-ty bajt odebranych danych (jest to końcowy kod); Starszy bajt =0. 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ę 13-24
FBs-PLC LINK FUN151 CLINK Instrukcja FUN151: MD2 (PLC pracuje jako stacja odbierająca za pośrednictwem portu 1~4) FUN151 CLINK Execution Wejście sterujące control Wejście Pause sterujące Wejście Abort sterujące EN PAU ABT Symbol Ladder drabinkowy symbol 151P.CLINK Pt : MD : SR : WR : ACT ERR w Acting realizacji błąd Error Pt : przypisanie portu, 1~4 MD : 2, PLC oczekuje na odebranie wiadomości wysłanych z inteligentnych urządzeń peryferyjnych SR : Początkowy rejestr tabeli transmisji danych WR : Początkowy rejestr dla realizacji instrukcji wykonano DN Done (patrz przykład). Steruje 8 rejestrami i nie może być wykorzystywany przez inne programy. * Zakres HR ROR DR K R0 R5000 D0 Argument R3839 R8071 D3999 Pt 1~4 MD 2 SR WR 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. 13-25
FBs-PLC LINK FUN151 Instrukcja FUN151: MD2 CLINK (PLC pracuje jako stacja odbierająca za pośrednictwem portu 1~4) Sygnały z interfejsu FUN151 CLINK Przekaźniki i rejestry dedykowane do portu: Port kom. Sygnały Port 1 Port 2 Port 3 Port 4 1. Wskaźnik gotowości portu M1960 M1962 M1936 M1938 2. Wskaźnik zakończenia portu M1961 M1963 M1937 M1939 3. Parametry komunik. portu R4146 R4158 R4043 R4044 4. Opóźnienie TX i przerwa RX R4147 R4159 R4045 R4048 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. 13-26
FBs-PLC LINK FUN151 CLINK Instrukcja FUN151: MD2 (PLC pracuje jako stacja odbierająca za pośrednictwem portu 1~4) FUN151 CLINK 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) M1924 EN RST R 108 Zeruj długość odbieranych danych. EN RST R 2 Zeruj długość wysyłanych danych. (program ten nie jest wymagany dla trybu odbierz ). EN 08.MOV S : 1 D : R 0 Ustaw tryb roboczy: Ustaw tryb odbierz i wyślij. M0 M2 ô EN EN PAU ABT 08.MOV S : 0203H D : R 1 151P.CLINK Pt : 1 MD : 2 SR : R0 WR: R100 ACT ERR DN Y0 ( ) Y1 ( ) Y2 ( ) Ustaw początkowy (02H) i końcowy (03H) kod (regularny odbiór R1=0 jest możliwy także bez podania początkowych i końcowych kodów). Y2 EN EN U/S RST R 2 17.CMP Sa : R 108 Sb : 0 a=b a>b a<b M100 ( ) Wyzeruj długość danych po zakończeniu transmisji (instrukcja ta nie jest wymagana dla trybu odbierz ). Po wybraniu trybu wyślij i odbierz, program wykorzysta instrukcję porównawczą do określenia czy wiadomość została odebrana; jeżeli tak, to M100 = WYŁ, a program przetworzy odebrane dane. M100 EN 66 JMP 1 EN EN 103.BT_M Ts Td L : R 109 : R 3 : R 108 08.MOV S : R 108 D : R 2 Skopiuj wszystkie odebrane dane do rejestrów. R108 jest długością odbieranych danych. 65 EN LBL 1 RST R 108 Po przetworzeniu odebranych danych wypełnij długość danych do odesłania w celu rozpoczęcia transmisji zwrotnej. Wyzeruj długość odebranych danych. (data gotowość do odbioru nowych danych). 13-27
FBs-PLC LINK FUN151 CLINK Instrukcja FUN151: MD2 (PLC pracuje jako stacja odbierająca za pośrednictwem portu 1~4) FUN151 CLINK Opis argumentu SR dla FUN151: MD2 SR : Początkowy rejestr tabeli danych zwrotnych Ważny jest młodszy bajt, =00H, Odbierz bez błędu, brak odpowiedzi z PLC Odbierz lub Odbierz i wyślij =01H, Odbierz bez błędu, odpowiedź z PLC SR+0 =80H, Odbierz nawet z błędem, brak odpowiedzi z PLC =81H, Odbierz nawet z błędem, odpowiedź z PLC Początkowy / Końcowy kod Starszy bajt : Opisuje początkowy kod odbioru. Młodszy bajt : Opisuje końcowy kod odbioru odbioru SR+1 Maksymalna długość wynosi 511. Długość danych zwrotnych Rozpocznij transmisję danych zwrotnych jeżeli długość nie jest 0 SR+4 Dane zwrotne 1 Dane zwrotne 2 Ważny jest młodszy bajt Ważny jest młodszy bajt Dane zwrotne N Ważny jest młodszy bajt 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. 13-28
FBs-PLC LINK FUN151 CLINK Instrukcja FUN151: MD2 (PLC pracuje jako stacja odbierająca za pośrednictwem portu 1~4) FUN151 CLINK Opis argumentu WR dla FUN151:MD2 Starszy bajt Młodszy bajt WR+0 Kod wyniku 0 Kod wyniku =0, OK ; = inne wartości, nieprawidłowy. WR+1 Do operacji wewnętrznych Rejestry robocze dla instrukcji CLINK WR+2 WR+3 Do operacji wewnętrznych Do operacji wewnętrznych WR+4 Do operacji wewnętrznych WR+4 : b0=1, W toku b12= wskazanie na wyjściu ACT WR+5 Do operacji wewnętrznych b13= wskazanie na wyjściu ERR WR+6 Do operacji wewnętrznych b14= wskazanie na wyjściu DN WR+7 Do operacji wewnętrznych Całkowita ilość odebranych Całkowita ilość odbieranych bajtów (rejestr do zapisu długości WR+8 danych odbieranych danych; zawiera początkowy i końcowy kod). Pierwszy bajt odebranych danych (jest to początkowy kod); Starszy WR+9 Dane 1 bajt =0. Dane 2 Drugi bajt odebranych danych; Starszy bajt =0. Dane N N-ty bajt odebranych danych (jest to końcowy kod); Starszy bajt =0. 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. 13-29
FBs-PLC LINK FUN151 CLINK Instrukcja FUN151: MD3 (PLC pracuje jako stacja master w Szybkiej sieci FATEK CPU za pośrednictwem portu 2) FUN151 CLINK Symbol Ladder drabinkowy symbol Pt : Ważny jest tylko 2 port MD : 3, praca PLC jako stacja master w szybkiej sieci 151P.CLINK Execution Wejście control EN Pt : ACT w Acting realizacji FATEK CPU sterujące SR : Początkowy rejestr programu komunikacyjnego MD : Wejście (opis w przykładzie) Pause PAU SR : ERR błąd Error sterujące WR:Początkowy rejestr dla realizacji instrukcji (patrz WR : przykład). Steruje 8 rejestrami i nie może być Wejście Abort ABT DN Done wykonano sterujące wykorzystywany przez inne programy. * Zakres HR ROR DR K R0 R5000 D0 Argument R3839 R8071 D3999 Pt 1~4 MD 3 SR WR 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. 13-30
FUN151 CLINK Instrukcja FUN151: MD3 FBs-PLC LINK FUN151 CLINK (PLC pracuje jako stacja master w Szybkiej sieci FATEK CPU za pośrednictwem portu 2) 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). W przypadku innego rodzaju transmisji danych, stacja slave PLC musi ustawić M1958 na WYŁ. M1962 : Sygnał jest generowany z CPU. WŁ oznacza, że port 2 jest dostępny. WYŁ oznacza, że port 2 jest zajęty. 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. Starszy bajt Młodszy bajt R4054 55 Numer stacji. H 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. 13-31
FBs-PLC LINK FUN151 CLINK Instrukcja FUN151: MD3 (PLC pracuje jako stacja master w Szybkiej sieci FATEK CPU za pośrednictwem portu 2) FUN151 CLINK 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. Starszy bajt Młodszy bajt R4059 Nieprawidłowy kod Nieprawidłowa wartość H 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) M1963 M1967 M0 151P.CLINK EN Pt : 2 MD: 3 PAU SR: R5000 M100 WR: R100 ABT ACT ERR DN M100 M1 M2 Jeżeli R5000~R5199 będą rejestrami ROR, to program komunikacyjny zostanie zapisany razem z programem DRABINKOWYM. Jeżeli M1967 jest WŁ, to program zrealizuje jeden cykl transmisji. Przed ponowną realizacją szybkiego połączenia, program musi zakończyć aktualna operację i zrestartować M0. 13-32
FBs-PLC LINK FUN151 CLINK Instrukcja FUN151: MD3 (PLC pracuje jako stacja master w Szybkiej sieci FATEK CPU za pośrednictwem portu 2) FUN151 CLINK Przykład programu 2 (PLC o nr innym niż 1 pracuje jako stacja master przy realizacji szybkiego połączenia.) M0 EN 18.AND Sa : R4055 Sb : 00FFH D=0 Odczytaj numer stacji PLC i zapisz w R4054 D : R4054 19.OR EN Sa : R4055 D=0 Sb : 5500H D : R4054 Ustaw starszy bajt w R4054 na 55H M0 M1 EN PAU ABT 151P.CLINK Pt : 2 MD: 3 SR: R5000 WR: R100 ACT ERR DN M2 M3 Jeżeli R5000~R5199 będą rejestrami ROR, to program komunikacyjny zostanie zapisany razem z programem DRABINKOWYM. Jeżeli ABT nie jest sterowane, to instrukcja M1 nie wymaga wejścia. 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. 13-33
FBs-PLC LINK FUN151 CLINK Instrukcja FUN151: MD3 (PLC pracuje jako stacja master w Szybkiej sieci FATEK CPU za pośrednictwem portu 2) FUN151 CLINK EN 18.AND Sa : R4055 Sb : 00FFH D : Z D=0 Odczytaj numer stacji PLC i zapisz we wskaźniku Z. EN 16 (-1) Z UDF Odejmij 1 od numeru stacji. EN 13.(*) Sa : Sb : D : R 2000 Z Z D=0 D<0 R2000 = Długość danych do wysłania z każdej stacji (np.: 32) długość danych * (numer stacji 1): Skieruj do odpowiedniego bloku w tej stacji. EN 103.BT_M Ts : R 0 Td : R 1000Z D : R 2000 Przenieś dane produkcyjne z odpowiednich stacji do odpowiednich bloków danych i prześlij je do innych aktywnych PLC za pomocą szybkiej transmisji danych. Opis argumentu SR dla FUN151: MD3 SR: Początkowy rejestr programu komunikacyjnego instrukcji CLINK Ważny jest młodszy bajt. Do zdefiniowania transmisji pakietu SR+0 Transakcja pakietów danych danych potrzeba 7 rejestrów; tj.. 7 of rejestrów definiuje 1 pakiet danych. SR+1 Numer stacji do transmisji Ważny jest młodszy bajt. 1~254 SR+2 SR+3 Kod komendy Długość pakietu danych Ważny jest młodszy bajt; może to być jedynie 4 (komenda szybkiego połączenia). Ważny jest młodszy bajt. 1~32, określa długość danych dla jednej transakcji. SR+4 Typ danych Ważny jest młodszy bajt. 12=R; 13=D. SR+5 Początkowa referencja Ważne jest słowo. Określa początkowy numer danych roboczych. SR+6 Zarezerwowany Kod typu danych Początkowa referencja danych 12: rejestr danych R 0~3839 SR+7 Zarezerwowany 13: rejestr danych D 0~3999 SR+8 Numer stacji do transmisji SR+9 04 Długość danych Typ danych Opis transakcji 2 pakietu P o c z ą t k o wa r e f e re nc j a Zarezerwowany Zarezerwowany 13-34
FBs-PLC LINK FUN151 CLINK Instrukcja FUN151: MD3 (PLC pracuje jako stacja master w Szybkiej sieci FATEK CPU za pośrednictwem portu 2) FUN151 CLINK Opis argumentu WR dla FUN151:MD3 WR+0 WR+1 Starszy bajt Młodszy bajt Kod wyniku Do operacji wewnętrznych WR+7 DO operacji wewnętrznych Kod wyniku : 0 : format prawidłowy format 2 : Błąd długości danych (Długość wynosi 0 lub jest większa od 32) 3 : Błąd kodu komendy (Komenda nie jest 4) 4 : Błąd typu danych (Typem danych nie jest 12 ani 13) 5 : Błąd referencji danych 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:MD3 Dla FUN151:MD 3 ważny jest tylko port 2. Nr sekwencji Komenda Nr stacji Dane Wszystkie stacje Długość 0~nnn Szybkie połączenie ( =4 ) Numer stacji do transmisji danych 1~254 Dane zostaną przesłane R0~R3839 D0~D3999 Dane zostaną odebrane R0~R3839 D0~D3999 Długość danych w ramach transakcji 1~32 13-35
FBs-PLC LINK FUN151 CLINK Połączenie modemu z CPU przez Port 1 FUN151 CLINK 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 : (Data reply PLC) (Data (Zbieranie collection danych o PLC) PLC) (Odpowiedź PLC) SCADA Lub or MMI Lub or WinProladder Zbieranie danych PLC : FBS-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. M O D E M M O D E M M O D E M FBS-PLC (Data (Odpowiedź reply PLC) PLC) FBS-PLC 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ść 13-36
(DB-9) FUN151 Połączenie modemu z CPU przez Port 1 CLINK.Połączenia portu komunikacyjnego 1 PLC i MODEMU: (DB-25) (PIN_3) (PIN_2) Fatek PLC MODEM (PIN_4) PIN 3:RXD (PIN_5) (PIN_7) (PIN_6) TXD (PIN_20) PIN 2:TXD RXD PIN 8:RTS CTS PIN 7:CTS RTS PIN 5:SG SG DSR DTR Wybieranie sygnału przez MODEM M1959 : WYŁ, wybieranie tonowe ; WŁ, wybieranie impulsowe M1964 : WYŁ WŁ, połącz ; WŁ WYŁ, rozłącz FBs-PLC LINK FUN151 CLINK R4163 : Młodszy bajt R4163 jest wykorzystywany do sterowania zastosowaniem instrukcji X w trakcie wybierania numeru przez MODEM. =1, nie wykrywa sygnału wybierania ani sygnału zajętości podczas wybierania numeru przez MODEM. =2, wykrywa tylko sygnał wybierania, ale nie wykrywa sygnału zajętości podczas wybierania numeru przez MODEM. =3, łączy bezpośrednio bez wykrywania sygnału wybierania, ale wykryje sygnał zajętości po wybraniu numeru przez MODEM. =4, wykrywa sygnał wybierania i sygnał zajętości podczas wybierania numeru przez MODEM. Dla innych wartości, układ pracuje jak dla wartości 4; ustawienie musi być dostosowane do systemu obowiązującego w danym kraju. b15 b8 b7 b4 b3 b0 R4163 Starszy bajt Młodszy Bajt H b0~b3 (LADDER) B7~b4=0, AT i F ustawienie domyślne B7~b4=1, AT i Y ustawienie użytkownika Starszy bajt R4163 wykorzystywany jest do ustawienia ilości zliczanych sygnałów w celu (CPU) uruchomienia trybu automatycznej odpowiedzi przez Modem. (CPU) M1964 Dial Połącz up Hang Rozłącz up Dial Połącz up Hang Rozłącz (PROGRAM DRAB.) up M1965 Połącz Połącz Connect Connect M1966 Połącz Rozłącz Disconnect Disconnect 13-37
FBs-PLC LINK FUN151 CLINK Połączenie modemu z CPU przez Port 1 FUN151 CLINK 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 M 0 E N S E T M 1 9 64 Połącz kiedy status M0 zmieni się z 0 1. Zerowanie ilości zliczonych transakcji. P LS C 0 C U P E N P V : 3 C 0 M 1 9 66 E N R S T M 1 9 64 Rozłącz po zakończeniu transakcji lub połączenia. M 1 9 6 0 M 1 96 5 C 0 E N P A U A B T 15 1 P.C L IN K P t : 1 M D : 0 S R : R 50 0 0 W R : R 1 00 A C T E R R D N M 1 0 0 M 1 0 1 M 1 0 2 Jeżeli R5000~R5199 będą rejestrami ROR, to program komunikacyjny zostanie zapisany razem z programem DRABINKOWYM M 1 9 61 P L S C L R C 0 P V : 3 C U P Zlicz po zakończeniu wszystkich transakcji 13-38
13.2 Zastosowanie instrukcji FUN150( Modbus) 13.2.1 Procedury zastosowania Start Połącz stacje za pomocą połączeń sprzętowych (PLC, ASCII urządzeń peryferyjnych, itp.) Ustaw numery stacji i odpowiednie parametry komunikacyjne dla tych stacji. Numer stacji może być ustawiony w zakresie od 1 do 254 bez powtórzeń. Jeżeli zajdzie potrzeba, zapisz wartość w rejestrze interfejsu komunikacyjnego (Rxxxx) instrukcji FUN150 (Modbus); wyreguluj timer przerwy w celu wykrycia błędu w komunikacji, opóźnienia transakcji, itp. Parametry komunikacyjne opisane są w rozdziale Ustawienia komunikacyjne. Zapisz instrukcję FUN150 w PLC pracującym jako stacja master lub urządzenie wysyłające/odbierające, a następnie zapisz program komunikacyjny w tabeli rejestru przypisanej przez argument SR. Instrukcja FUN150 automatycznie wyśle lub odbierze dane zgodnie z definicją programu komunikacyjnego. Za pośrednictwem tabeli programu komunikacyjnego użytkownik może w łatwy sposób uzyskać dostęp do różnych funkcji Modbus Koniec 13.2.2 Opis zastosowania FUN150 w programie W niniejszym rozdziale opisane są przykłady praktycznych zastosowań instrukcji FUN150 (Modbus) w programach. 13-39
1~4) FBs-PLC LINK : FUN150 Instrukcja dla stacji master MODBUS RTU/ASCII FUN150 M-BUS (PLC pracuje jako stacja master MODBUS RTU/ASCII za pośrednictwem portu M-BUS Symbol drabinkowy Pt :1~4, port komunikacyjny pracujący jako stacja master MODBUS RTU Wejście SR :Początkowy rejestr programu komunikacyjnego sterujące w realizacji WR Początkowy rejestr instrukcji, Steruje 8 rejestrami Wejście i nie może być użyty w żadnym innym programie. sterujące błąd Wejście sterujące wykonano Zakres Argument HR ROR DR K R0 R3839 R5000 R8071 D0 D3999 Pt SR WR * 1~4 Opis 1. Instrukcja FUN150 (M-BUS) sprawia, że PLC pracuje jako stacja master MODBUS RTU/ASCII za pośrednictwem portu 1~4. W związku z tym komunikacja z inteligentnymi urządzeniami peryferyjnymi przez protokół RTU/ASCII jest bardzo łatwa. 2. Stacja master PLC może łączyć się z 247 stacjami slave za pośrednictwem interfejsu RS485. 3. Jedynie stacja master PLC wymaga zastosowania instrukcji M-BUS. 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, status wejścia sterującego ABT będzie 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 ABT zmieni się na 1, to instrukcja ta porzuci realizowaną transakcję i 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 dla protokołu MODBUS RTU A/R = 0, to dla protokołu MODBUS ASCII A/R = 1 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. Uwaga : Tryb MODBUS ASCII obsługiwany jest przez OS w wersji 4.24 lub późniejszych 13-40
1~4) FUN150 Instrukcja dla stacji master MODBUS RTU/ASCII M-BUS (PLC pracuje jako stacja master MODBUS RTU/ASCII za pośrednictwem portu Sygnały z interfejsu Przekaźniki i rejestry dedykowane do konkretnych portów : FBs-PLC LINK FUN150 M-BUS Sygnały Port kom. Port 1 Port 2 Port 3 Port 4 1. Wskaźnik gotowości portu M1960 M1962 M1936 M1938 2. Wskaźnik zakończenia portu M1961 M1963 M1937 M1939 3. Parametry komunik. portu R4146 R4158 R4043 R4044 4. Opóźnienie TX i przerwa RX R4147 R4159 R4045 R4048 5. Ustawienia czasu przerwy RX D4043 6. Wzbudzenie zbocza D4044 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 TXi przerwa RX: Zawartość młodszego bajtu definiuje czas przerwy w odbiorze instrukcji M-BUS; jednostką jest 0,01 sekundy (wartość domyślna to 50, co oznacza 0,5 sekundy). Kiedy stacja master PLC wyśle komendę czytaj / zapisz do stacji slave, a stacja slave nie wyśle odpowiedzi w przeciągu zadanego czasu, to oznaczać to będzie, że pojawiła się przerwa w komunikacji. 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 M-BUS; jednostką jest 0,01 sekundy (wartość domyślna to 0). Przy połączeniu punkt-do-punktu, ta wartość może być ustawiona na 0 w celu skrócenia czasu komunikacji i zwiększenia jej wydajności. W przypadku łączenia wielopunktowego oraz czasu skanu stacji master o wiele dłuższego niż stacji slave, ta wartość może być także ustawiona na 0 w celu skrócenia czasu komunikacji i zwiększenia jej wydajności. Jeżeli natomiast czasy skanu stacji master i slave są zbliżone, to należy tak ustawić wartość (na dłuższa od 1 czasu skanu stacji slave o najdłuższym czsie skanu), aby osiągnąć najlepszą i bezbłędną jakość komunikacji. 13-41
FBs-PLC LINK 1~4) FUN150 Instrukcja dla stacji master MODBUS RTU/ASCII FUN150 M-BUS (PLC pracuje jako stacja master MODBUS RTU/ASCII za pośrednictwem portu M-BUS 5. Ustawienia czasu przerwy RX: Szczegóły w niniejszym rozdziale na stronie 13-4~13-5 6. Wzbudzenie zbocza: Szczegóły w niniejszym rozdziale na stronie 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). Przykład programu (Automatyczna transmisja cykliczna) M 1 M 1 9 6 0 M 1 1 M 2 M 1 9 6 2 E N A /R A B T E N A B T P t : S R : W R : E N S : A /R 1 5 0 P.M _ B U S 0 8 D.M O V P t : S R : W R : 1 R 5 0 0 0 D 0 D 0 D : D 1 0 0 0 1 5 0 P.M _ B U S 2 R 5 2 0 0 D 2 0 A C T E R R D N A C T E R R D N M 1 0 M 1 1 M 1 2 M 2 0 M 2 1 M 2 2 Przed rozpoczęciem programowania skonfiguruj R5000~R5399 jako rejestr tylko do odczytu (ROR). Dzięki temu po zapisaniu programu program drabinkowy będzie automatycznie zawierać program komunikacyjny. W przypadku pojawienia się błędu komunikacyjnego, zapisz komunikat o błędzie w D1000 i D1001 w celu ułatwienia analizy błędu lub logowania. M 2 1 0 8 D.M O V E N S : D : D 2 0 D 1 0 0 2 13-42
FUN150 M-BUS Przykład programu Instrukcja dla stacji master MODBUS RTU/ASCII (PLC pracuje jako stacja master MODBUS RTU/ASCII za pośrednictwem portu 1~4) FBs-PLC LINK FUN150 M-BUS 1. Jeżeli EN zmieni się z 0 1, a port 1 nie jest zajęty przez żadną inną instrukcję komunikacyjną (M1960 = WŁ), to instrukcja M-BUS rozpocznie realizację transakcji danych. W trakcje realizacji transakcji danych M1960 = WYŁ. Po zakończeniu realizacji transakcji M1960 = WŁ. Zmiana M1960 z WYŁ WŁ (zmiana statusu wejścia sterującego EN M-BUD z 0 1) 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). 2. Jeżeli EN zmieni się z 0 1, a port 2 nie jest zajęty przez żadną inną instrukcję komunikacyjną (M1962 = WŁ), to instrukcja M-BUS rozpocznie realizację transakcji danych. W trakcje realizacji transakcji danych M1962 = WYŁ. Po zakończeniu realizacji transakcji M1962 = WŁ. Zmiana M1962 z WYŁ WŁ (zmiana statusu wejścia sterującego EN M-BUD z 0 1) 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). Edycja tabeli komunikacyjnej za pomocą WinProladder W oknie projektu wybrać opcję Modbus Master :: Project name Table Edit Modbus Master Kliknąć prawy przycisk myszy i wybrać Add Modbus Master Table 13-43
FBs-PLC LINK FUN150 M-BUS Instrukcja dla stacji master MODBUS RTU/ASCII (PLC pracuje jako stacja master MODBUS RTU/ASCII za pośrednictwem portu 1~4) Table Type : Parametr zostanie ustawiony na Modbus Master Table. FUN150 M-BUS Table Name : Nazwa tabeli dla edycji lub debugowania. Table Starting address : Adres początkowego rejestru tabeli komunikacyjnej. 13-44
FUN150 M-BUS Instrukcja dla stacji master MODBUS RTU/ASCII (PLC pracuje jako stacja master MODBUS RTU/ASCII za pośrednictwem portu 1~4) Początkowy rejestr programu komunikacyjnego instrukcji M-BUS SR Początkowy rejestr programu komunikacyjnego instrukcji M-BUS FBs-PLC LINK FUN150 M-BUS SR+0 SR+1 SR+2 A5h 50h A550h, oznacza ważny program M-BUS Całkowita Młodszy bajt: całkowita liczba transakcji; opis jednej transakcji 07h liczba wymaga 7 rejestrów. transakcji Ważny jest młodszy bajt, 0~247 (0 master oznacza, że PLC Nr stacji slave do realizacji wysyła dane do wszystkich stacji slave PLC, a stacja slave PLC transakcji nie odpowiada). SR+3 SR+4 SR+5 SR+6 SR+7 SR+8 SR+9 SR+10 SR+11 SR+12 SR+13 SR+14 SR+15 SR+2+ n 7 Kod komendy Długość danych transakcji Typ danych master PLC Początkowa referencja master PLC Typ danych stacji slave Początkowa referencja stacji slave Nr stacji slave do realizacji transakcji Kod komendy Długość danych transakcji Typ danych master PLC Początkowa referencja master PLC Typ danych stacji slave Początkowa referencja stacji slave Zarezerwowany Ważny jest młodszy bajt ; =1, Odczytaj dane ze stacji slave" =2, Zapisz wiele danych do stacji slave =3, Zapisz pojedyncze dane do stacji slave Ważny jest młodszy bajt; zakres 1~125 (Reg.) lub 1~255 (zmienna dyskretna). Ważny jest młodszy bajt; zakres 1~3 lub 12~13; określa typ danych dla stacji PLC (patrz następna strona). Ważne jest słowo; określa początkowy adres danych (master). Ważny jest młodszy bajt; zakres 0 lub 4; określa typ danych dla stacji slave (patrz następna strona). Ważne jest słowo; określa początkowy adres danych (slave). Opis drugiego pakietu transakcji N oznacza całkowitą liczbę transakcji. 13-45
FBs-PLC LINK 1~4) FUN150 Instrukcja dla stacji master MODBUS RTU/ASCII M-BUS (PLC pracuje jako stacja master MODBUS RTU/ASCII za pośrednictwem portu Kod danych typ i numer referencyjny stacji MASTER (FATEK PLC) Kod danych Typ danych Numer referencyjny 1 Y(Przekaźnik wyjściowy) M) 0~255 2 M(Wewnętrzny przekaźnik 0~1911 3 S(Przekaźnik krokowy) 0~999 12 R(Rejestr danych Rxxxx) 0~3839 13 D(Rejestr danych Dxxxx) 0~3999 FUN150 M-BUS Kod danych typ i numer referencyjny stacji slave (slave MODBUS) Kod danych Typ danych Numer referencyjny 0 Wyjście dyskretne 1~65535 4 Rejestr utrzymujący 1~65535 1 Wejście dyskretne (wersja OS 4.22 ) 1~65535 3 Rejestr wejściowy (wersja OS 4.22 ) 1~65535 WR:Początkowy rejestr dla instrukcji M-BUS (FUN150) Starszy bajt Młodszy bajt WR+0 Kod wyniku Nr transakcji WR+1 Numer stacji WR+2 WR +3 Kod komendy Do operacji wewnętrznych Do operacji wewnętrznych Kod wyniku określa wynik transakcji; 0 = normalny, inna wartość = nienormalny. Nr transakcji określa, która transakcja jest aktualnie realizowana (rozpoczyna się od 0) Nr stacji określa numer stacji realizującej transakcję. Kod komendy =01H, odczytaj status 0xxxxx ze stacji slave =02H, odczytaj status 2xxxxx ze stacji slave =03H, odczytaj dane 3xxxxx ze stacji slave =04H, odczytaj dane 4xxxxx ze stacji slave =05, wymuś działanie pojedynczej cewki dla stacji slave =06H, ustaw pojedynczy rejestr w stacji slave =0FH,wymuś działanie wielu cewek dla stacji =10H, ustaw wiele rejestrów w stacji slave WR+4 Do operacji wewnętrznych WR+4 B0=1, Port jest zajęty, a instrukcja oczekuje na pozyskanie praw do realizacji transakcji danych WR+5 Do operacji wewnętrznych B4=1, ta instrukcja nie jest realizowana po raz pierwszy. WR+6 WR+7 Do operacji wewnętrznych Do operacji wewnętrznych Kod wyniku : 0, Transakcja. B12, wskazanie na wyjściu ACT B13, wskazanie na wyjściu ERR B14, wskazanie na wyjściu DN 2, Błąd długości danych (limit dla długości równej 0 lub przekraczającej wartość graniczną). 3, Błąd kodu komendy (Kod komendy równy jest 0 lub większy od 3) 4, Błąd typu danych 5, Błąd numeru referencyjnego 6, Nieprawidłowy typ danych (np: 1~3 dla stacji master i 12~13 dla stacji slave). 7, Błąd portu (port inny niż 1~4) 8, Nieprawidłowa tabela komunikacyjna 13-46
FUN150 M-BUS Instrukcja dla stacji master MODBUS RTU/ASCII (PLC pracuje jako stacja master MODBUS RTU/ASCII za pośrednictwem portu 1~4) A, Brak odpowiedzi ze stacji slave (błąd przerwy). B, Błąd komunikacji (odebrano dane o błędzie lub nieprawidłowa odpowiedź ). FBs-PLC LINK FUN150 M-BUS W celu ułatwienia programowania i rozwiązywania błędów, WInProladder obsługuje środowisko do edycji tabeli komunikacyjnej instrukcji FUN150; Aby przejść do trybu edycji tabel należy najpierw wprowadzić całą instrukcję FUN150, 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 M-BUS Nr Komenda Slave Dane master Dane slave Długość sekwencji Numer stacji slave Typ danych dla Typ dany da dla 0~nnn Czytaj (=1) PLC realizującej Długość danych transakcję. stacji MASTER stacji SLAVE Zapisz (=2) dla transakcji podczas podczas transakcji Numer stacji=0, Zapisz pojed. Stacja master PLC transakcji 000001~ przy rejestrze (=3) wysyła dane do 065535(czytaj/ wszystkich stacji Y0~Y255 zapisz) w zakresie slave PLC. Stacje 1~125 slave nie M0~M1911 400001~ odpowiadają. 465535(czytaj/ S0~S999 zapisz) przy zmiennej Numer stacji=n, R0~R3839 Numer stacji slave 100001~ PLC realizującej 165535(czytaj) D0~D3999 transakcję ze stacją master PLC. 300001~ dyskretnej w zakresie 1~255 365535(czytaj) N=1~ 254 WinProladder umożliwia łatwą edycję tabeli dla stacji MASTER M-BUS: Nr sekwencji Komenda Slave Dane master Dane slave Długość danych 0 Czytaj 1~247 Y0~Y255 000001~065535 1~255 M0~M1911 000001~065535 1~255 S0~S999 000001~065535 1~255 Y0~Y255 100001~165535 1~255 M0~M1911 100001~165535 1~255 S0~S999 100001~165535 1~255 R0~R3839 400001~465535 1~125 D0~D3999 400001~465535 1~125 R0~R3839 300001~365535 1~125 D0~D3999 300001~365535 1~125 1 Zapisz 0~247 Y0~Y255 000001~065535 1~255 M0~M1911 000001~065535 1~255 S0~S999 000001~065535 1~255 R0~R3839 400001~465535 1~125 D0~D3999 400001~465535 1~125 2. 13-47
FBs-PLC LINK Modbus Slave Mapowanie adresów pomiędzy MODBUS i FATEK (Port 1~4 pracuje jako stacja slave za pośrednictwem protokołu MODBUS Modbus Slave FBs-PLC może wykorzystać FUN150 do pracy jako stacja master MODBUS lub slave (poprzez Port1~Port4, przy porcie 0 związanym z protokołem komunikacyjnym FATEK) oraz łączyć się z inteligentnymi urządzeniami peryferyjnymi FBs-PLC. Poniżej lista zmapowanych adresów dla protokołów MODBUS i FATEK: Reguła mapowania MODBUS FATEK Kod 5 0XXXX Elementy dyskretne Ynnn Xnnn Mnnnn Snnn Tnnn Cnnn 4XXXX Rejestry danych Rnnnn Dnnnn Tnnn Cnnn Kod 6 00XXXX Elementy dyskretne Ynnn Xnnn Mnnnn Snnn Tnnn Cnnn 40XXXX Rejestry danych Rnnnn Dnnnn Tnnn Cnnn Dostępny zakres ( kod 5) MODBUS FATEK Opis 00001~00256 Y0~Y255 Dyskretne wyjście 01001~01256 X0~X255 Dyskretne wejście 02001~04002 M0~M2001 Dyskretny przekaźnik M 06001~07000 S0~S999 Dyskretny przekaźnik S 09001~09256 T0~T255 Status T0~T255 09501~09756 C0~C255 Status C0~C255 40001~44168 R0~R4167 Rejestr utrzymujący 45001~45999 R5000~R5998 Rejestr utrzymujący lub ROR 46001~48999 D0~D2998 Rejestr danych 49001~49256 T0~T255 Aktualna wartość T0~T255 49501~49700 C0~C199 Aktualna wartość C0~C199 (16-bitowa) 49701~49812 C200~C255 Aktualna wartość C200~C255 (32-bitowa) 13-48
FBs-PLC LINK Modbus Slave Mapowanie adresów pomiędzy MODBUS i FATEK (Port 1~4 pracuje jako stacja slave za pośrednictwem protokołu MODBUS Modbus Slave Dostępny zakres ( Kod 6 ) MODBUS FATEK Opis 000001~000256 Y0~Y255 Dyskretne wyjście 001001~001256 X0~X255 Dyskretne wejście 002001~004002 M0~M2001 Dyskretny przekaźnik M 006001~007000 S0~S999 Dyskretny przekaźnik S 009001~009256 T0~T255 Status T0~T255 009501~009756 C0~C255 Status C0~C255 400001~404168 R0~R4167 Rejestr utrzymujący 405001~405999 R5000~R5998 Rejestr utrzymujący lub ROR 406001~408999 D0~D2998 Rejestr danych 409001~409256 T0~T255 Aktualna wartość T0~T255 409501~409700 C0~C199 Aktualna wartość C0~C199 (16-bitowa) 409701~409812 C200~C255 Aktualna wartość C200~C255 (32-bitowa) Dostępny zakres specjalnego rejestru i przekaźnika MODBUS FATEK Opis 02001~03912 M0~M1911 Wewnętrzny przekaźnik ogólnego przeznaczenia 03913~04002 M1912~M2001 Specjalny wewnętrzny przekaźnik 40001~43840 R0~R3839 Rejestr ogólnego przeznaczenia 43841~43904 R3840~R3903 Wejściowy rejestr analogowy lub cyfrowy 43905~43968 R3904~R3967 Wyjściowy rejestr analogowy lub cyfrowy 43969~44168 R3968~R4167 Specjalny rejestr 13-49
FBs-PLC LINK Modbus Slave Port 1~4 symuluje urządzenie slave MODBUS Modbus Slave Dodaj mapowanie nowego adresu dla protokołu kom. Stacji slave MODBUS: w przypadku wyjścia poza zakres dostępu, PLC wyśle komunikat o błędzie komunikacyjnym Nr rejestru. Wartość Opis Mapowanie nowego adresu dla protokołu komunikacyjnego slave =A55AH MODBUS (opis poniżej) R3968 Mapowanie istniejącego adresu dla protokołu kom. Slave MODBUS = Inne..Przypisz początkowy adres do dyskretnego wyjścia MODBUS R3969 0 ~ 65535.0 ~ 65535 : oznacza dyskretne wyjście 000001 ~ 065536.Zastosuj do kodu funkcji 01, 05, 15 protokołu MODBUS Przypisz początkowy adres wewnętrznego przekaźnika FATEK R3970 0 ~ 2001.0 ~ 2001 : oznacza wewnętrzny przekaźnik M0 ~ M2001 Zastosuj do kodu funkcji 01, 05, 15 protokołu MODBUS.Przypisz zakres dostępu dla dyskretnego wyjścia (MODBUS) i wewnętrznego przekaźnika (FATEK).1 ~ 2001 : oznacza zakres dostępu pomiędzy punktami 1 ~ 2001 R3971 1 ~ 2001.Grupa R3969 ~ R3971 do mapowania dyskretnego wyjścia (MODBUS) i wewnętrznego przekaźnika (FATEK) w celu. uzyskania dostępu (R3968 powinien być A55AH).Przypisz początkowy adres dyskretnego wejścia MODBUS R3972 0 ~ 65535.0 ~ 65535 : oznacza wejście dyskretne 100001 ~ 165536.Zastosuj do kodu funkcji 02 protokołu MODBUS.Przypisz początkowy adres wewnętrznego przekaźnika FATEK R3973 0 ~ 2001.0 ~ 2001 : oznacza wewnętrzny przekaźnik M0 ~ M2001 Zastosuj do kodu funkcji 02 protokołu MODBUS.Przypisz zakres dostępu dla dyskretnego wejścia (MODBUS) i wewnętrznego przekaźnika (FATEK).1 ~ 2001 : oznacza zakres dostępu pomiędzy punktami 1 ~ 2001 R3974 1 ~ 2001.Grupa. R3972 ~ R3974 do mapowania dyskretnego wejścia (MODBUS) i wewnętrznego przekaźnika (FATEK) w celu uzyskania dostępu ( R3968 nie ma znaczenia).przypisz początkowy adres wejścia rejstru MODBUS R3975 0 ~ 65535.0 ~ 65535 : oznacza wejście rejestru 300001 ~ 365536 Zastosuj do kodu funkcji 02 04 protokołu MODBUS.Przypisz początkowy adres rejestru R FATEK R3976 0 ~ 3839.0 ~ 3839 : register oznacza rejestr R R0 ~ R3839.Zastosuj do kodu funkcji 02 04 protokołu MODBUS. 13-50
FBs-PLC LINK Modbus Modbus Port 1~4 symuluje urządzenie slave MODBUS Slave Slave Przypisz zakres dostępu dla wejścia rejestrowego (MODBUS) i rejestru R (FATEK).1 ~ 3840 : oznacza zakres dostępu pomiędzy słowami 1 ~ 3840 R3977 1 ~ 3840.Grupa R3975 ~ R3977 do mapowania wejścia rejestrowego (MODBUS) register rejestru R (FATEK) w celu uzyskania dostępu (R3968 nie ma znaczenia) R3978 0 ~ 65535 R3979 0 ~ 3839 R3980 1 ~ 3840..Przypisz początkowy adres rejestru utrzymującego MODBUS.0 ~ 65535 : oznacza rejestr utrzymujący 400001 ~ 465536.Zastosuj do kodu funkcji 03, 06,16 protokołu MODBUS.Przypisz początkowy adres rejestru R FATEK.0 ~ 3839 : oznacza rejestr R R0 ~ R3839.Zastosuj do kodu funkcji 03, 06,16 protokołu MODBUS.Przypisz zakres dostępu dla rejestru utrzymującego (Modbus) i rejestru R (FATEK).1 ~ 3840 : oznacza zakres dostępu pomiędzy słowami 1 ~ 3840.Grupa R3978 ~ R3980 do mapowania rejestru utrzymującego (MODBUS) i rejestru R (FATEK) w celu uzyskania dostępu (R3968 powinien być A55AH) Na przykład. R3968=A55AH, oznacza mapowanie nowego adresu protokołu kom. stacji slave MODBUS R3969=0, R3970=1000, R3971=100: Mapowanie 000001 ~ 000100 (MODBUS) M1000~M1099 (FATEK) R3972=10, R3973=1100, R3974=50: Mapowanie 100011 ~ 100060 (MODBUS) M1100 ~ M1149 (FATEK) R3975=50, R3976=1000, R3977=10: Mapowanie 300051 ~ 300060 (MODBUS) R1000 ~ R1009 (FATEK) R3978=100, R3979=2000, R3980=200: Mapowanie 400101 ~ 400300 (MODBUS) R2000 ~ R2199 (FATEK) 13-51
FBs-PLC LINK Modbus Slave Konfiguracja portu 1~4 do pracy jako protokół MODBUS Port 1~4 obsługuje protokół kom. MODBUS RTU/ASCII (Slave).Metoda 1 (Wszystkie wersje OS FBs PLC mnoga obsługiwać tą metodę) Modbus Slave R4047 : Starszy bajt = 55H,port skonfiguruj port kom. protokołu MODBUS RTU = Inne wartości,port 1~4 nie obsługuje protokołu MODBUS RTU (FATEK jako domyślny) Młodszy bajt : Przypisz port do protokołu MODBUS RTU Format jak poniżej: Starszy bajt Młodszy bajt 55 b7 b6 b5 b4 b3 b2 b1 b0 b0, Zarezerwowany; b1=0, Port 1 pracuje jako protokół FATEK =1, Port 1 pracuje jako protokół MODBUS RTU b2=0, Port 2 pracuje jako protokół FATEK =1, Port 2 pracuje jako protokół MODBUS RTU Umożliwia... b3=0, Port 3 pracuje jako protokół FATEK =1, Port 3 pracuje jako protokół MODBUS RTU b4=0, Port 4 pracuje jako protokół FATEK =1, Port 4 pracuje jako protokół MODBUS RTU b7~b5, Zarezerwowany przypisanie wielu portów do protokołu MODBUS RTU, gdzie status odpowiedniego bitu musi być 1. Na przykład: R4047=5502H, Przypisz Port 1 jako protokół MODBUS RTU; R4047=5504H, Przypisz Port 2 jako protokół MODBUS RTU; R4047=5506H, Przypisz porty Port 1 i Port 2 jako protokół MODBUS RTU 13-52
FBs-PLC LINK Modbus Slave Konfiguracja portu 1~4 do pracy jako protokół MODBUS Modbus Slave.Metoda 2 (metodę obsługuje FBs PLC OS V4.24 lub późniejsze wersje) R4047 : Górny bajt = 56H,of skonfiguruj port kom. FATEK lub protokół kom. Modbus RTU/ASCII = Inne wartości, nie obsługują powyższej funkcji Młodszy bajt : Przypisanie portu dla protokołów komunikacyjnych Format jak poniżej : Górny bajt Dolny bajt 56 b7 b6 b5 b4 b3 b2 b1 b0 Bity Wartość Opis b1b0 b3b2 b5b4 b7b6 0 lub 1 Port 1 pracuje jako protokół FATEK 2 Port 1 pracuje jako protokół MODBUS RTU 3 Port 1 pracuje jako protokół MODBUS ASCII 0 lub 1 Port 2 pracuje jako protokół FATEK 2 Port 2 pracuje jako protokół MODBUS RTU 3 Port 2 pracuje jako protokół MODBUS ASCII 0 lub 1 Port 3 pracuje jako protokół FATEK 2 Port 3 pracuje jako protokół MODBUS RTU 3 Port 3 pracuje jako protokół MODBUS ASCII 0 lub 1 Port 4 pracuje jako protokół FATEK 2 Port 4 pracuje jako protokół MODBUS RTU 3 Port 4 pracuje jako protokół MODBUS ASCII 13-53
Rozdział 14 Zastosowanie funkcji wysyłania pliku ASCII Funkcja wysyłania pliku FBs-PLC umożliwia PLC bezpośrednie sterowanie urządzeniami wyjściowymi ASCII takimi jak drukarki i przyłącza oraz drukowanie lub wyświetlanie danych lub wyświetlanie raportów z produkcji, szczegółów materiałowych i ostrzeżeń. Aby zastosować funkcję wysyłania pliku konieczna jest edycja danych pliku ASCII w celu dopasowania ich do wymaganego formatu instrukcji FUN 94 (ASCWR) FBs-PLC. Następnie za pomocą tej instrukcji dane zostaną wysłane przez port 1 do urządzenia wyjściowego ASCII połączonego z portem 1. 14.1 Format danych pliku ASCII Dane pliku ASCII mogą być podzielone na stałe i niezmienne dane pliku w tle oraz dynamicznie zmieniające się dane zmienne. Dane pliku w tle mogą mieć postać angielskich znaków, wartości numerycznych, symboli, znaków graficznych itp., natomiast zmienne dane mogą być wydrukowane jako dane w kodzie binarnym, dziesiątkowym lub szesnastkowym. Kod ASCII jest kodem długości bitu mającym łącznie 256 kombinacji, spośród których pierwsze 128 (0-127) są dobrze zdefiniowane i wykorzystywane przez większość urządzeń peryferyjnych ASCII. W przypadku kodów większych od 128 nie obowiązuje żadna jednolita charakterystyka, a każdy producent ma swoje indywidualne charakterystyki i znaki graficzne. Instrukcja FUN 95 (ASCWR) opracowana dla FBs-PLC jest odpowiedzialna jedynie za transmisję (nie edycję) / danych. Edycja realizowana jest przez edytor ASCII zawarty w pakiecie oprogramowania WinProladder. Poniżej przedstawiony został format komendy edycji zaadoptowany przez edytor zawarty w pakiecie oprogramowania WinProladder. 1. Podstawowe symbole komend Przesunięcie do linii \ Linia opadająca od lewej do prawej oznacza, że niezależnie od tego, gdzie będą drukowane dane, jeżeli pojawi się ten symbol, głowica drukarki lub wyświetlacz przesunie się na początek (maksymalnie w lewo) kolejnej linii i drukowanie lub wyświetlanie rozpocznie się od tego punktu. Seria znaków / wywołuje serię przesunięć do linii (jeden znak / generuje jedno przesunięcie). Przesunięcie do strony Linia opadająca od prawej do lewej oznacza, że jeżeli pojawi się ten symbol, głowica drukarki lub wyświetlacz przesunie się na początek (do lewego górnego rogu) kolejnej strony i drukowanie lub wyświetlanie rozpocznie się od tego punktu. Seria znaków \ wywołuje serię przesunięć do strony (jeden znak \ generuje jedno przesunięcie). Przecinek, Ten symbol jest wykorzystywany do oddzielenia poszczególnych deklaracji danych w pliku. Wszystkie dane zawarte pomiędzy dwoma przecinkami stanowią całkowitą deklarację (symbolu nie można używać na początku ani na końcu pliku). Należy zwrócić uwagę, że pomimo iż kształt przecinka jest identyczny jak kształt pojedynczego znaku zapytania, to pozycje tych znaków są różne (przecinek znajduje się w pobliżu środka litery, natomiast znak zapytania znajduje się w pobliżu prawego górnego narożnika). Funkcje, jakie reprezentują te znaki są zgoła odmienne. Ich znaczenia opisane są w punkcie 1, format danych w tle deklaracje. END Koniec pliku Znak END dodawany jest na końcu pliku ASCII w celu oznaczenia zakończenia pliku. 14-1
2. Format danych w tle,m X N N1 N N2, Powtórz kod ASCII(N) lub ',,M X ' A B C D E F G H I J K Powtórz rzeczywisty kod ASCII MX: Reprezentuje ilość powtórzeń. Wartość M może mieścić się w zakresie od 1 do 999. Instrukcja ASCWR może wysyłać wszystkie dane w kodzie szesnastkowym ASCII lub dane rzeczywiste ASCII mieszczące się pomiędzy X a pierwszym przecinkiem (, ) M razy z rzędu. Jeżeli po X nie ma danych (tj. przecinek znajduje się bezpośrednio po X), to instrukcja ASCWR wyśle M kolejnych kodów spacji. W przypadku, gdy użytkownik chce wysłać kod ASCII lub rzeczywisty kod ASCII tylko raz, MX można pominąć. Format danych w kodzie ASCII: Ten format danych zapisywany jest jako N dwucyfrowych wartości szesnastkowych. Każde dwie sąsiadujące ze sobą szesnastkowe wartości numeryczne rozpoczynając od prawej strony X będą traktowane jako kod ASCII. Wartość NN może być zapisana w dowolnym kodzie ASCII włączywszy rzeczywisty i nierzeczywisty kod ASCII, taki jak np.: znaki angielskie, symbole numeryczne lub kody kontrolne. Jednakże głównym jej zastosowaniem jest funkcjonowanie w specjalnym rzeczywistym kodzie kontrolnym, który nie może być reprezentowany przez czcionki z rzeczywistymi znakami lub dla którego nie można znaleźć czcionki lub symbolu w edytorze ASCII WinProladder. W przypadku znaków lub symboli, które mogą być bezpośrednio przedstawione w edytorze ASCII przez rzeczywiste klawisze, wygodniejsze jest zastosowanie oryginalnego formatu wydruku. Na przykład, jeżeli chcemy wydrukować znak A, to wykorzystując oryginalną metodę drukowania można wpisać A za pomocą klawiatury. Natomiast jeżeli chcemy wykorzystać kod ASCII, należy sprawdzić, jaki kod reprezentuje wartość A (w tabeli jest to 41 H) i wpisać odpowiednią wartość (w tym wypadku 41). Jest to oczywiście mniej wygodna metoda. Oryginalny format drukowania danych w rzeczywistym kodzie ASCII: Wartość mieszcząca się pomiędzy dwoma pojedynczymi znakami może być tylko rzeczywistym kodem ASCII takim jak np.: angielskie znaki, wartości numeryczne, symbole i znaki graficzne (znaki, które znajdują się na klawiaturze edytora ASCII lub mogą być wprowadzone za jej pośrednictwem). Instrukcja ASCWR wydrukuje wszystkie znaki zawarte w zakresie. Dlatego jeżeli chcemy wydrukować sam pojedynczy znak cudzysłowu, należy wprowadzić dwa takie znaki. Na przykład: 'I''M A BOY' zostanie wydrukowane jako I' M A BOY W przypadku, gdy znaków graficznych lub symboli urządzenia wyjściowego ASCII nie można znaleźć na klawiaturze. D", edytora ASCII, wprowadzenie znaków w danym formacie będzie niemożliwe. Można wówczas sprawdzić, jak dane znaki zapisane są w kodzie ASCII i użyć tego kodu do wprowadzenia i wydrukowania tych znaków. 3. Format zmiennych danych,"8 2 R 0 kod formatu rejestr zmiennych ilość cyfr po przecinku całkowita ilość wydrukowanych zmiennych Deklaracja danych zawarta pomiędzy dwoma znakami cudzysłowu " " jest wykorzystywana do określenia adresu zmiennych danych w rejestrze oraz formatu lub kodu formatu, w jakim te zmienne zostaną wydrukowane. Całkowita ilość wydrukowanych zmiennych: W powyższym przykładzie liczba 8 została wykorzystana do wydrukowania zarezerwowanych 8-cyfrowych kolumn zmiennej (R0) wartości numerycznej (łącznie ze znakami ujemnymi). Jeżeli wartość zmiennej jest większa niż całkowita ilość wydrukowanych cyfr, to wyższa cyfra zostanie wycięta. Jeżeli ilość cyfr jest zbyt mała, to pozostałe pozycje zostaną zastąpione spacjami. Ilość cyfr po przecinku: Ilość cyfr po przecinku zawarta w całkowitej liczbie cyfr, z których składa się zmienna. W powyższym przykładzie, w ramach całkowitej ilości 8 cyfr znajdują się 2 miejsca po przecinku. Sam symbol "." zajmuje jedną pozycję. W związku z tym liczba całkowita złożona będzie z 5 cyfr. 14-2
Rejestr zmiennych: Może być to R, D, WX, WY itp. w rejestrze 16-bitowym lub DR, DD, DWX itp. w rejestrze 32-bitowym. Zawartość tych rejestrów może być odzyskana i wydrukowana przy wykorzystaniu formatu lub kodu formatu określonego pomiędzy znakami w zakresie " ". Kod formatu: do wydruku danych można wykorzystać format szesnastkowy H, dziesiętny D lub binarny B (jeżeli kod formatu nie został określony, domyślnie będzie to kod dziesiętny dlatego też D można ominąć). Przykład zakłada, że wartość R0 jest równa -32768. Wynik wydrukowany w formacie 8.2 będzie następujący: 2 3 2 7. 6 8 Jeżeli format zostanie zmieniony z 8.2 na 5.1, to wynik będzie wydrukowany następująco: 2 7 6. 8 14.2 Przykłady zastosowań wysyłania danych ASCII Wydruk danych w pliku rozpoczyna się w lewym górnym rogu każdej strony i kontynuowany jest od lewej do prawej i od góry do dołu (należy odwołać się do formatu na poniższym schemacie). Po osiągnięciu ostatniego znaku w linii (jest on różny w zależności od urządzenia wyjściowego drukarka może mieć 80 lub 132 znaki), drukarka automatycznie przeskoczy na początek (lewą stronę) następnej linii. Jeżeli dane nie zostały wydrukowane do ostatniego znaku, a pojawiła się komenda przesunięcia do linii (/) lub przesunięcia do strony (\), to nastąpi przeskok na początek następnej linii lub następnej strony i rozpocznie się wydruk od tego punktu. Poniżej znajduje się tabela statystyk działu produkcji w firmie w określonym formacie. Może być ona wykorzystana jako przykład wyjaśniający edycję i wydruk danych pliku ASCII. (A): (B):... 28 spacji... RAPORT Z PRODUKCJI ==================... 52 spacji... DATA: 1/20/99.... 16 spacji.... (E): (C): (D): CAŁKOWITA ILOŚĆ 1000 SZT UZYSK 983 SZT ILOŚĆ NAPRAW 17 SZT STANDARDOWY CZAS 8.5 MIN/SZT CAŁKOWITY CZAS PRACY 8500 MIN RZECZYWISTY CZAS PRACY 9190 MIN WYDAJNOŚĆ 92.49 22 spacje UWAGI: A3D=E, E/F=G (F): (G): % Przed rozpoczęciem edycji tego pliku należy wysłać informację do edytora mówiącą o tym, od którego rejestru w PLC należy rozpocząć zapis pliku. Przy edycji danych w pliku należy określić, czy dane do edycji (wydruku) są stałymi danymi w tle, czy danymi zmiennymi. Dane w tle mogą być wprowadzane za pomocą znaków ASCII lub symboli graficznych w oryginalnym formacie wydruku (przy wykorzystaniu zawartości w zakresie ) lub też bezpośrednio za pomocą kodu ASCII przyporządkowanego do danego znaku lub grafiki. Z uwagi na to, że dane zmienne są zapisywane w rejestrach (czyli przy zmianie wartości zmiennej, wartość numeryczna wydruku będzie się także zmieniać), to 14-3
wydrukowany komunikat musi zawierać numer rejestru i format wydruku, czyli ilość znaków lub cyfr po przecinku itp. oraz kod formatu wykorzystywany do wydruku (zawarty w zakresie ). W powyższym przykładzie rok, miesiąc, dzień oraz wartości całkowitej ilości (A) do efektywności (G) są danymi zmiennymi. Przykład zakłada, że dane o roku, miesiącu i dniu są dostępne w rejestrach roku, miesiąca i dnia (R4133 do R4131) w ramach rejestru zegara czasu rzeczywistego RTCR. W R0 zapisywana jest całkowita wartość uzysku (B) itp., a w R6 efektywność (G). Poniżej znajdują się dane pliku ASCII dla przykładowej tabeli: ///,28X,'RAPORT Z PRODUKCJI',/,28X,'==================', /, 52X,'Data:',"2R4132",'/',"2R4131",'/',"2R4133",//,16X,'CAŁKOWITA ILOŚĆ (A) :',"10R0",' SZT',//,16X, UZYSK (B) :', "10R1",' SZT',//,16X,'LICZBA DO NAPRAWY (C) :',"10R2",' SZT',//,16X,'STANDARDOWY CZAS (D) :',"10.1R3",' MIN/SZT',//,16X,'CAŁKOWITY CZAS PRACY (E) :',"10R4",' MIN',//,16X, RZECZYWISTY CZAS PRACY(F) :',"10R5",' MIN',//,16X,'WYDAJNOŚĆ (G) :'," 10.2R6",' %',/////,22X,'UWAGA: AXD=E, E/F=G',END * : W powyższym przykładzie ' ================== ' można zastąpić 18X'=' lub 18X3D. Kiedy podczas procesu wysyłania pliku zostaną osiągnięte dane zmienne, CPU odzyska i wyśle wartości numeryczne rejestru, którego adres zawiera się w przedziale " ". Dlatego też, jeżeli zmienna jest drukowana zarówno na początku, jak i na końcu pliku, to można uzyskać różne wartości numeryczne (po wydrukowaniu do połowy wartość rejestru zmienia się). Po zakończeniu edycji instrukcja FUN94 może być wykorzystana do wydrukowania danych w tle oraz danych dynamicznych. Jeżeli plik jest edytowany (zapisywany) począwszy od R1000, to przy jego wysyłaniu parametr S należy określić jako R1000 (patrz poniższy schemat po lewej). Przy założeniu, że wartość numeryczna rejestru zmiennych jest taka jak na schemacie po prawej stronie, to jeżeli X1 i X2=0, a X0 zmienia się z 0 na 1, instrukcja wydrukuje statystyczną tabelę z poprzedniej strony za pomocą Portu 1 w PLC. R4133 =82 R2 =17 R4132 =12 R3 =85 R4131 =00 R4 =8500 R0 =1000 R5 =9190 R1 =983 R6 =9249 14-4
Rozdział 16 Moduł wyświetlacza 7/16-segmentowego LED 16.1 Opis modułu FBs-7SG Występują dwa moduły z rodziny FBs-7SG: 7SG1 i 7SG2. Każdy z nich wyposażony jest w odpowiednio jeden lub dwa 8 znakowe sterowniki do sterowania ośmioma lub szesnastoma 7-segmentowymi wyświetlaczami LED (albo czterema lub ośmioma 16-segmentowymi wyświetlaczami LED) przy wykorzystaniu wspólnej masy. Poniższy rysunek jest przykładem modułu FBs-7SG2. Wygląd zewnętrzny Zewn. External wejście 24V zasilania power input 24V CH0 First Pierwszy Channel kanał Wejście Expansion rozszerzające input (połączenie (connection z to jednostką main unit główną or upper lub level poprzednią expansion jednostką unit) EXT O POW V 0 POW O V 1 Expansion Wyjście output rozszerzające (connect (połączenie to lower z kolejną level jednostką expansion rozszerzeń) unit) FBs-7SG2 CH1 Drugi 2nd Channel kanał FBs-7SG jest wyposażony w sterownik 7-segmentowego wyświetlacza LED do multipleksowania wyświetleń jednego do ośmiu 7-segmentowych lub jednego do czterech 16-segmentowych wyświetlaczy LED (jedna grupa/kanał). Za pomocą 16-żyłowego kabla taśmowego użytkownicy mogą wyświetlać 8 cyfr (numerów), lub sterować 64 niezależnymi polami LED (8 diod LED na 1 pozycję, które mogą być wykorzystane do wyświetlenia cyfr lub wskazanych pól LED) lub 4-pozycyjnym wyświetlaczem znakowym. Każdy moduł 7SG będzie zajmować od trzech do ośmiu adresów rejestrów wyjściowych (OR) (R3904~R3967). W związku z tym PLC może sterować maksymalnie 192 7-segmentowymi wyświetlaczami, 64 16-segmentowymi wyświetlaczami lub 1024 niezależnymi polami LED. 16-1
16.2 Procedura stosowania modułu FBs-7SG Start Zainstalować FBs-7SG i podłączyć kabel zasilający 24VDC oraz kabel 7-segmentowego wyświetlacza LED. Szczegóły w rozdziale 16.4.1 Połączenia sprzętowe FBs-7SG. Szczegóły dotyczące obwodu 7-segmentowego wyświetlacza LED znajdują się w rozdziale 16.4. Ustawić odpowiedni poziom napięcia sterującego dla każdej grupy zgodnie z ilością LED-ów w grupie 7-segmentowego wyświetlacza, tak aby nie wystąpiło przekroczenie napięcia. Szczegóły w rozdziale 16.4.2 Ustawienia sprzętowe FBs-7SG. Wprowadzić wartość do rejestrów wyjściowych OR w FBs-PLC, w celu podświetlenia 7-segmentowego wyświetlacza LED lub wyświetlenia znaków i cyfr za pomocą FUN84 (TDSP). Szczegóły w rozdziale 16.8 (FUN84, komendy TDSP). Koniec 16.3 Adresy We / Wy FBs-7SG Każdy moduł FBs-7SG zajmie od trzech do ośmiu adresów rejestrów wyjściowych (OR) (R3904~R3967). WinProladder wykrywa i oblicza rzeczywiste adresy We / Wy zajmowane przez moduły rozszerzeń zainstalowane w systemie po podłączeniu do PLC. Użytkownicy mogą odnieść się do konfiguracji numeracji modułów We / Wy w programie WinProladder (pozycja I/O Numbering w drzewku projektu) w celu odczytania dokładnych adresów We / Wy każdego modułu rozszerzeń. 16.4 Połączenia sprzętowe i ustawienia FBs-7SG 16.4.1 Połączenia sprzętowe FBs-7SG Schemat połączeń sprzętowych modułu FBs-7SG przedstawiony został powyżej. Prócz podłączenia zewnętrznego źródła zasilania 24 V oraz wejścia i wyjścia rozszerzającego o dodatkowe moduły, użytkownik musi jedynie połączyć wyprowadzenie kanału z płytą 7-/16-segmentowego wyświetlacza LED, za pomocą 16-żyłowego płaskiego kabla taśmowego FRC. 16-2
16.4.2 Ustawienia sprzętowe FBs-7SG Poniższy schemat przedstawia obwód sterownika wyświetlacza FBs-7SG. Na ogół użytkownicy nie muszą obliczać spadków napięć na LED-ach. Powinni jedynie ustawić napięcie zgodnie z tabelą na następnej stronie w celu zabezpieczenia przed przekroczeniem napięcia. Driving Źródło power zasilania source VIN 40mA Stały Fixed prąd current for sterownika displaying IC wyświetlacza 7-segmentowy LED wyświetlacz displayer LED VIC=VIN - VLED - 0.8V PD=40mA VIC 0.8W VLED=(1.7 2.8V) Liczba Numbers LED-ów of cascade connected połączonych amp kaskadowo sect LED Multipleksowanie Multiplexing scan VMUX 0.8V(Fixed) (Stałe) Pobór mocy zależy całkowicie od poziomu spadku napięcia (P D = 40mA V IC), ponieważ prąd źródłowy sterownika jest stały i wynosi 40mA. Jak pokazano na powyższym schemacie, V IC = V IN V LED 0.8V, tzn. V IC zależy od napięcia sterującego V IN oraz spadku napięcia na wyświetlaczu 7-segmentowym V LED. Ponieważ pobór mocy przez sterownik wyświetlacza, przy najniekorzystniejszych warunkach temperaturowych, musi być utrzymywany na poziomie 0.8W lub poniżej, wynika z tego, że napięcie V IC musi być mniejsze niż 2V. Jeżeli V IC jest zbyt niskie, to jasność diody LED będzie zmniejszona; jeżeli będzie zbyt wysokie, skutkować to będzie nieprawidłowym wyświetlaniem (świecić się będą diody, które nie powinny się świecić) lub uszkodzeniem sterownika. Spadek napięcia na diodach LED mieści się zazwyczaj w zakresie od 1.7V do 2.8V. W zależności od rozmiaru 7-segmentowych lub 16-segmentowych wyświetlaczy LED, każdy segment (np.: a-g) składa się z jednej do pięciu diod LED połączonych szeregowo. Jeżeli spadek napięcia pomiędzy segmentami będzie się mieścił w zakresie od 1.7V do 14V, sterowanie różnymi wyświetlaczami LED za pomocą jednego napięcia będzie niemożliwe. W celu realizacji sterowania większości 7-segmentowych wyświetlaczy moduł FBs-7SG został wyposażony w cztery opcje napięcia sterującego: 5V (sterowanie niskonapięciowe), 7.5V, 10V i 12.5V (sterowanie wysokonapięciowe) oraz opcja drobnej regulacji przy 0.6V-1.8V za pomocą diod lub zworek. W praktyce źródło zasilania umożliwia sterowanie LED-ami o różnych napięciach i zapobiega przed usterką sterownika wyświetlacza poprzez ograniczenie V IC do 2V. Poniższe schematy przedstawiają ustawienia (wspólne) wysokiego/niskiego napięcia LED w FBs-7SG, opcje sterowania wysokim/niskim napięciem wyświetlaczy oraz regulację spadku napięcia za pomocą zworek wraz z ich lokalizacją (widok po otwarciu górnej osłony FBs-7SG). Niniejszy rozdział opisuje sposób osiągnięcia optymalnej pracy 7-/16-segmentowego wyświetlacza LED, bez skrócenia jego żywotności, za pomocą ustawień napięcia sterującego (V IN), wyboru wysokiego/niskiego napięcia oraz regulacji napięcia przewodzenia. 16-3
Lokalizacja zworek w FBs-7SG HV LV JP5 JP6.6V JP7 1V2 JP1 D 插 梢 位 置 圖 打 開 上 蓋 JP10 插 梢 位 置 背 面 JP2 1V2 T JP9.6V JP3 JP8 Rozmieszczenie zworek (po otwarciu ( osłony) ) Rozmieszczenie ( zworek ) (tylna strona modułu) Poniższe ustawienia zworek odnoszą się do FBs-7SG2 i obejmują także ustawienia zworek w FBs-7SG1. HV LV Cecha Zworka Funkcja JP2 Dekoduj (D zwarty)/ Nie dekoduj (D rozwarty) Wspólna CH0 JP3 JP1 JP5 JP6 Test przepięcia (T) lub ustawienie standardowe (brak zworki) Wybór wysokiego napięcia (HV) (tylna strona modułu) Wybór wysokiego (HV)/niskiego (LV) napięcia Dokładna regulacja spadku napięcia 0.6V(0.6V) FBs-7SG1 FBs-7SG2 JP7 Dokładna regulacja spadku napięcia 1.2V(1V2) JP8 Wybór wysokiego (HV)/ niskiego (LV) napięcia CH1 JP9 Dokładna regulacja spadku napięcia 0.6V(0.6V) JP10 Dokładna regulacja spadku napięcia 1.2V(1V2) 16-4
JP5/JP8 JP1 JP7/JP10 JP6/JP9 LV HV Nieakt. 7.5V 10V 12.5V Napięcie sterujące LED Rozwarte Rozwarte 2.4V Rozwarte Zwarte 3V Zwarte Rozwarte 3.6V Zwarte Zwarte 4.2V Rozwarte Rozwarte 4.9V Rozwarte Zwarte 5.5V Zwarte Rozwarte 6.1V Zwarte Zwarte 6.7V Rozwarte Rozwarte 7.4V Rozwarte Zwarte 8V Zwarte Rozwarte 8.6V Zwarte Zwarte 9.2V Rozwarte Rozwarte 9.9V Rozwarte Zwarte 10.5V Zwarte Rozwarte 11.1V Zwarte Zwarte 11.7V Zewrzeć JP5/JP8 poziomo za pomocą zworki (włożyć zworkę w otwory JP5/JP8). JP1 mieści się w tylnej części modułu. Obrócić moduł, aby dokonać ustawień. Wybrać jedną z trzech opcji Zewrzyj tylko jedną z trzech powyższych opcji. Zwarcie JP1 będzie efektywne tylko, gdy dla JP5 zostanie wybrana opcja HV. W przypadku, gdy dla JP5 zostanie wybrana opcja LV, ustawienie JP1 będzie bez znaczenia. Kiedy BOOST jest zwarty, napięcie sterujące zostanie zwiększone o 5% w celu skompensowania spadku napięcia. Zworki JP5 do JP7 odnoszą się do kanału CH0, natomiast JP8-JP10 do CH1. Domyślne ustawienia zworek w FBs-7SG Numer zworki Domyślne ustawienie zworki Uwaga JP1 Na trzeciej pozycji (7.5V) Ustawienie trybu 7.5V JP2 Zwarta Trybu dekodowania JP3 Tylko przyłożona na dolnym pinie (nie założona) Bez testu przekroczenia napięcia (OV) JP5 Na pozycji LV Tryb niskiego napięcia JP6 Zwarta Strojenie precyzyjne 0.6V JP7 Brak zworki JP8 Na pozycji LV Tryb niskiego napięcia JP9 Zwarta Strojenie precyzyjne 0.6V JP10 Brak zworki 16-5
16.4.3 Ustawienia napięcia sterującego LED i inspekcja przepięcia Przed zastosowaniem modułu użytkownik musi wybrać prawidłowy poziom napięcia sterującego zgodnie z wymaganiami LED-ów o różnych rozmiarach. Zbyt niskie napięcie spowoduje osłabioną jaskość świecenia LED-ów. Zbyt wysokie napięcie spowoduje nierównomierne świecenie LED-ów. Co więcej, nastąpi wyłączenie bezpiecznika sterownika LED spowodowane przepięciem. Dlatego też, w celu uniknięcia przepięcia sterownika, należy upewnić się, że napięcie V IC sterownika jest niższe niż 2V. Pomiar V IC sterownika jest trudny. Dlatego też moduł FBs-7SG jest wyposażony we wskaźnik przepięcia LED umożliwiający użytkownikowi kontrolę nadnapięciową. Wskaźnik ten znajduje się obok gniazda wyjściowego w panelu oznaczony jako O.V. Reakcja wskaźnika nadnapięcia jest miarodajna tylko w przypadku, gdy wszystkie segmenty (w sumie 64, łącznie z przecinkiem) świecą się. Jeżeli w takiej sytuacji wskaźnik będzie nieaktywny, oznacza to brak nadnapięcia. Jeżeli wskaźnik będzie aktywny, oznacza to, że nastąpiło nadnapięcie (wskaźnik może migać lub świecić, kiedy nie wszystkie segmenty się świecą; w takim przypadku wskazania są nieistotne). Aby przeprowadzić test całego segmentu, należy ustawić zworkę TEST (JP3) w pozycji T (tylko gdy PLC jest wyłączony) po lewej stronie 7SG, lub zastosować komendę FUN84:TDSP w celu ustawienia stanów wszystkich wejść w module 7SG na 1 (PLC w trybie RUN) i zaświecenia wszystkich segmentów. Poniższe przykłady przedstawiają procedurę ustawień napięcia sterującego modułu FBs-7SG i przeprowadzania testu przepięciowego. 1. Ustawić JP3 na T. 2. Rozpocząć od LV i zwiększać napięcie sterujące do uzyskania wymaganej jaskości lub do momentu zaświecenia się wskaźnika nadnapięcia. Po zaświeceniu się wskaźnika, zmniejszać napięcie do momentu jego zgaśnięcia. W przypadku, gdy jasność świecenia diody jest maksymalna, a mimo to niewystarczająca, należy ją wymienić na diodę o większej wydajności. 3. Ponownie ustawić JP3 na N (pozycja normalna). Uwaga Sterownik 7-segmentowego wyświetlacza LED FBs-7SG charakteryzuje się prądem znamionowym 40mA. Pobór mocy zależy od V IC, Ponieważ maksymalna moc wynosi zaledwie 0.7W/25 C, nie używaj modułu w stanie nadnapięcia, ponieważ grozi to uszkodzeniem sterownika. 16-6
16.5 7-segmentowy wyświetlacz LED i obwody pojedynczych wyświetlaczy (D0) g (D1) f (D2) e (D3) d (D4) c (D5) b (D6) a (D7) 7-segment displayer or Independent LED a b c d e f g a b c d e f g a b c d e f g 7 - s e g m. w yśw i e t l a c z l u b n i e z a l eżne p o l a L E D a b c d e f g 2 1 3 4 5 6 7 8 1615141312 1110 9 5655545352 515049 6463626160595857 N i e z a l eżne p o l a L E D w t r y b i e b e z d e k o d o w a n i a Independent LED displaying of non-decoding mode 1(Least significant) 1 ( n a j m n i e j z n a c ząc y) 2 3 4 5 6 7 8(Most significant) 8 ( n a j b a r d zi e j z n a c ząc y) W yś w i e t l a n i e c y f r y w t r y b i e z d e k o d o w a n i e m Digit displaying of mode decoding 15 16 1 2 Powyższy schemat przedstawia prawidłowe połączenia (wspólna masa) 7-segmentowego wyświetlacza LED lub niezależnych pól LED w module FBs-7SG. Bazując na powyższym schemacie, użytkownicy mogą stworzyć swój własny wyświetlacz i podłączyć go do któregokolwiek gniazda wyjściowego FBs-7SG za pomocą 16-pinowego płaskiego kabla taśmowego. Nasza oferta obejmuje płyty i produkty w sześciu różnych rozmiarach w celu spełnienia wymagań użytkowników. Poniższa tabela przedstawia zakres naszych wyświetlaczy LED i innych produktów. 16-7
DBAN.8-nR DBAN2.3-nR Model Charakterystyka 0.8 16-segmentowy wyświetlacz LED; n oznacza liczbę zainstalowanych [R - czerwonych) 16-segmentowych znaków LED, w zakresie - 1~4 2.3 16-segmentowy wyświetlacz LED; n oznacza liczbę zainstalowanych [R - czerwonych) 16-segmentowych znaków LED, w zakresie - 1~4 0.56 7-segmentowy wyświetlacz LED; n oznacza liczbę zainstalowanych [R - czerwonych) 7-segmentowych znaków LED, w zakresie - 1~8 DB.56-nR DB.8-nR DB2.3-nR DB4.0-nR Modele w nawiasach to produkty wyposażone w wyświetlacz LED i gniazdo na kabel taśmowy. Zalecane ustawienia pinów Model HV/LV (JP5/JP8) 0.8 7-segmentowy wyświetlacz LED; n oznacza liczbę zainstalowanych [R - czerwonych) 7-segmentowych znaków LED, w zakresie - 1~8 2.3 7-segmentowy wyświetlacz LED; n oznacza liczbę zainstalowanych [R - czerwonych) 7-segmentowych znaków LED, w zakresie - 1~8 4.0 7-segmentowy wyświetlacz LED; n oznacza liczbę zainstalowanych [R - czerwonych) 7-segmentowych znaków LED, w zakresie - 1~4 JP1 JP7/JP10 JP6/JP9 Napięcie sterujące DBAN.8 LV Rozwarte Zwarte 3V DBAN2.3 HV 10V Rozwarte Rozwarte 7.4V DB.56 LV Rozwarte Rozwarte 2.4V DB.8 LV Zwarte Rozwarte 3.6V DB2.3 HV 10V Zwarte Zwarte 9.2V DB4.0 HV 10V Zwarte Rozwarte 8.6V Użytkownicy mogą zmieniać ustawienia pinów wymienione w powyższej tabeli w każdym ze standardowych produktów FATEK. W przypadku, gdy wymagana jest większa jasność, użytkownicy mogą wyregulować poziom napięcia na podstawie ustawień zworek (patrz tabela powyżej). Aby uniknąć uszkodzenia modułu 7SG, użytkownicy muszą unikać nadnapięcia na wyjściu (w przypadku nadnapięcia zaświeci się wskaźnik O.V.). Układ pinów w złączu Pin Sygnał Pin Sygnał 1 DIG0 2 DIG 1 3 DIG 2 4 DIG 3 5 DIG 4 6 DIG 5 7 DIG 6 8 DIG 7 9 a/d0 10 b/d1 11 c/d2 12 d/d3 13 e/d4 14 f/d5 15 g/d6 16 p/d7 Moduł 7SG2 wyposażony jest w dwa złącza wyjściowe. Oba obsługują 64 segmenty wyświetlacza LED. W przypadku, gdy wszystkie segmenty są włączone, nastąpi ośmiokrotne skanowanie 8 segmentów 16-8
DIG0-DIG7 w powyższej tabeli odnosi się do sygnałów niskiego stanu aktywnego na wyjściu (wyjście SINK lub inaczej NPN). W jednym momencie aktywny będzie tylko jeden sygnał (multipleksowanie), w celu wybrania grupy LED-ów (8 segmentów). a/d0-p/d7 są sygnałami na wyjściu SOURCE (PNP) sterującymi wyświetlaniem odpowiednich segmentów. 16.6 Wyświetlacz z kodowaniem i bez kodowania,1 Wyświetlacz bez dekodowania: (wszystkie segmenty są sterowane niezależnie przez aplikacje użytkownika) FBs-7SG2 jest wyposażony łącznie w 8 rejestrów wyjściowych (OR) w celu sterowania wyświetlaniem 128 segmentów. Każdy segment jest sterowany odpowiadającym mu bitem. Segment zaświeci się, kiedy odpowiadający mu bit będzie w stanie 1. Poniżej przedstawione zostały zależności pomiędzy każdym segmentem i rejestrem wyjściowym. Rejestr wyjściowy OR jest pierwszym rejestrem przypisanym modułowi. Każdy z rejestrów OR kontroluje stan dwóch ośmiosegmentowych wyświetlaczy LED (stanami bitów na młodszym i starszym bajtem). Dane te zostają przekazane do odpowiednich wyjść p/d7-a/d0. RW D15~D8 D7~D0 RW+0 SEG15~SEG8 SEG7~SEG0 CH0 RW +1 SEG31~SEG24 SEG23~SEG16 RW +2 SEG47~SEG40 SEG39~SEG32 RW +3 SEG63~SEG56 SEG63~SEG48 RW +4 SEG15~SEG8 SEG7~SEG0 CH1 RW +5 SEG31~SEG24 SEG23~SEG16 RW +6 SEG47~SEG40 SEG39~SEG32 RW +7 SEG63~SEG56 SEG63~SEG48 7-segmentowy wyświetlacz LED D6 a D1 f b D5 D0 g D2 e c D4 Ostatnia cyfra po prawej stronie wyświetlacza (maks. 8 cyfr) odpowiada wyjściom SEG0-SEG7; kolejna cyfra w lewo odpowiada wyjściom SEG8-SEG15; ostatnia cyfra po lewej stronie wyświetlacza odpowiada wyjściom SEG63-SEG56. Każdy moduł 7SG2 może sterować szesnastoma 7-segmentowymi wyświetlaczami. d D3 P D7 16-segmentowy wyświetlacz LED Segmenty D0-D15 ostatniej cyfry po prawej stronie wyświetlacza (maks. 4 cyfry) odpowiadają wyjściom SEG0-SEG15 w module 7SG2; kolejna cyfra w lewo odpowiada wyjściom SEG16-SEG31; ostatnia cyfra po lewej stronie wyświetlacza odpowiada wyjściom SEG63-SEG48. Każdy moduł 7SG2 może sterować ośmioma 16-segmentowymi wyświetlaczami. 16-9
,2 Wyświetlacz z dekodowaniem: Wyświetla dane w odpowiednich segmentach z domyślnym kodowaniem W tym trybie moduł FBs-7SG2 wyposażony jest w 4 rejestry wyjściowe OR, do sterowania dwoma wyświetlaczami z ośmioma 7-segmentowymi LED-ami. Każda cyfra jest sterowana czterema bitami. Przecinek w 8-cyfrowej liczbie jest sterowany przez pierwszy rejestr wyjściowy. Każdy punkt jest sterowany przez odpowiadający mu bit. Poniżej przedstawione są zależności pomiędzy cyframi, przecinkiem a rejestrami wyjściowymi. OR jest pierwszym rejestrem wyjściowym zajmowanym przez moduł. Element RW D15~D12 D11~D8 D7~D4 D3~D0 Wspólny OR+0 P15~P8 P7~P0 CH0 OR +1 DIG3 DIG 2 DIG 1 DIG 0 OR +2 DIG 7 DIG 6 DIG 5 DIG 4 CH1 OR +3 DIG 3 DIG 2 DIG 1 DIG 0 OR +4 DIG 7 DIG 6 DIG 5 DIG 4 Pierwsze 8 cyfr Drugie 8 cyfr OR0 steruje wyświetlaniem przecinka dziesiętnego. Jeżeli wartością będzie 1, wyświetli się odpowiedni przecinek dziesiętny. OR1-OR4 sterują wyświetlaniem 16tu kombinacji wyświetleń. Każda kombinacja będzie sterowana czterema odpowiadającymi jej bitami. 16cie kombinacji tych bitów odpowiada poniższym wyświetleniom. Wyświetlenia 4-bitowych kombinacji na 7-segmentowym wyświetlaczu LED z dekodowaniem Segment: CIEMNY (0) Wartość półbajtu 7-segmentowy JASNY (1) wyświetlacz LED Szesnastkowa Binarna a b c d e f g 0 0000 1 1 1 1 1 1 0 1 0001 0 1 1 0 0 0 0 2 0010 1 1 0 1 1 0 1 3 0011 1 1 1 1 0 0 1 Cyfra 4 0100 0 1 1 0 0 1 1 a 5 0101 1 0 1 1 0 1 1 f b 6 0110 1 0 1 1 1 1 1 7 0111 g 1 1 1 0 0 1 0 8 1000 1 1 1 1 1 1 1 e 9 1001 1 1 1 1 0 1 1 d A 1010 0 0 0 0 0 0 1 B 1011 1 0 0 1 1 1 1 C 1100 0 1 1 0 1 1 1 D 1101 0 0 0 1 1 0 1 E 1110 0 0 0 1 1 1 1 F 1111 0 0 0 0 0 0 0 c P 16-10
Tabela zależności kodu ASCII i 16-segmentowego wyświetlacza M SB LSB x000 x001 x010 x011 x100 x101 x110 x111 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 16-11
16.7 Wymagania dotyczące mocy wejściowej FBs-7SG i pobór mocy Moduł FBs-7SG jest wyposażony w izolowane źródło zasilania DC24V wykorzystywane do przekonwertowania zewnętrznego wejścia 24V na źródło zasilania wewnętrznego obwodu i 7-segmentowego wyświetlacza LED w FBs-7SG. Zakres tolerancji na wejściu wynosi DC24V±20%. FBs-7SG w stanie jałowym pobiera 2Wmax. Pobór zwiększa się w zależności od ilości świecących się liczb 7-segmentowych. Natężenie prądu sterującego każdym wyświetlaczem w FBs-7SG wynosi 40mA. Pobór prądu do wyświetlenia jednej cyfry przy użyciu 8 segmentów wynosi 320mA. Maksymalny pobór mocy przez grupę oblicza się w następujący sposób: Pd = 320mA VIN (napięcie sterujące LED) 0.8 (wydajność energetyczna) W Całkowite zużycie = 2 + Pd n(w) Na przykład całkowite zużycie FBs-7SG2 (przy zastosowaniu obu kanałów) przy maksymalnej mocy (VIN = 12.5V, wszystkie 8 segmentów się świeci): 2W +(320mA 12.5V 8 )= 7W 16.8 Sterowanie wyświetlaną treścią za pomocą RW w FBs-7SG Istnieją dwa sposoby na zaświecenie diody LED za pomocą FBs-7SG. Niniejszy rozdział opisuje metodę zaświecania 7-segmentowego wyświetlacza cyfr poprzez programowanie wyjścia OR. W następnym rozdziale opisane jest wyświetlanie specjalnych symboli za pomocą FUN84. Przy wyświetlaniu numerów za pomocą OR, w trybie dekodowania, cyfry przed wyświetlaną liczbą będą zerami. Jeżeli do FBs PLC podłączone będą moduły rozszerzeń, to po połączeniu WinProladder z PLC, moduły te oraz zajmowane przez nie adresy we / wy (szczegóły w rozdziale 12, Instrukcja obsługi WinProladder) będą wypisane w pozycji I/O Numbering drzewka projektu. Jeżeli do FBs PLC podłączony będzie moduł FBs-7SG2, to po połączeniu WinProladder z PLC w drzewku projektu, pozycji I/O Numbering, zostanie wyświetlona informacja o tym, jakie adresy OR system automatycznie przypisał do modułu FBs-7SG2. Przykład programu 1 (Tryb wyświetlania z dekodowaniem) Dla sterowania 7-segmentowym 8-cyfrowym wyświetlaczem przez FBs-7SG1 z uwzględnieniem przecinka dziesiętnego, w tym przypadku, FBs-7SG1 należy ustawić w tryb dekodowania. M0 EN 08.MOV S : 00FFH D : R3904 08.MOV EN S : D : 5678H R3905 08.MOV EN S : 1234H D : R3906 16-12
Opis : Jeżeli M0=1, wartości zostaną przesłana do rejestrów OR. Zgodnie z powyższym schematem drabinkowym OR+0 (w przykładzie R3904) steruje wyświetlaniem przecinka dziesiętnego w trybie dekodowania; OR+1 (w przykładzie R3905) steruje wyświetlaniem niższymi czteroma cyframi, a RW+2 (R3906 w przykładzie) steruje wyświetlaniem wyższymi czteroma cyframi. Wyniki są następujące: RW R3904 R3905 R3906 Zawartość 00FFH 5678H 1234H Zawartość 7-segmentowego wyświetlacza: 1.2.3.4.5.6.7.8. Przykład programu 2 (Tryb wyświetlania bez dekodowania) Dla sterowania 7-segmentowym 8-cyfrowym wyświetlaczem przez FBs-7SG1 z uwzględnieniem przecinka dziesiętnego, w tym przypadku, FBs-7SG1 należy ustawić w tryb bez dekodowania. M0 EN 08.MOV S : EDB0H D : R3904 08.MOV EN S : D : B3F9H R3905 EN EN 08.MOV S : DFDBH D : R3906 08.MOV S : CFBDH D : R3907 Opis : Jeżeli M0=1, wartości zostaną przesłane do rejestrów OR. Zgodnie z powyższym schematem drabinkowym, RW+0 (w przykładzie R3904) steruje wyświetlaniem dwóch pierwszych cyfr; RW+1 (w przykładzie R3905) steruje wyświetlaniem trzeciej i czwartej cyfry, a RW+2 (w przykładzie R3906) steruje wyświetlaniem piątej i szóstej cyfry. Wyniki są następujące: RW R3904 R3905 R3906 R3907 Zawartość EDB0H B3F9H DFDBH CFBDH Zawartość 7-segmentowego wyświetlacza: E.d.6.5.4.3.2.1. 16.9 Komendy wyjściowe FBs-7SG FUN84: TDSP Komendy TDSP są opisane na następnej stronie. 16-13
TDSP FUN84 TDSP Komendy modułu wyświetlacza FBs-7SG Konwersja wyświetlania znaków i liczb na 7/16-segmentowym wyświetlaczu FUN84 TDSP Execution Wejście sterujące control All OFF Wejście Input sterujące control All Wejście ON Input sterujące control EN OFF ON Symbol Ladder drabinkowy symbol 84.TDSP Md : S : N S : Nl : D : N d : Argu ment Zakres Md S Ns Nl D Nd Md: Tryb pracy, 0~3 S: Adres początkowy znaków do przekonwertowania Ns: Numer znaku początkowego, 0~63 Nl: Liczba znaków, 1~64 D: Adres początkowy do zapisu przekonwertowanego układu wyświetlanych znaków Nd: Wskaźnik początku zapisu S może łączyć z V, Z, P0~P9 w celu zastosowania adresowania pośredniego. HR OR ROR DR K Indeks R3904 R5000 * D0 Dodatnia V, Z, liczba P 0~P 9 R3967 R8071 D3999 16/32-bitowa 0~3 0~63 1~64 0~63 R0 R3839 Funkcja ta jest wykorzystywana do wygenerowania odpowiedniego układu wyświetlania na 7- lub 16-segmentowym wyświetlaczu serii FBs, sterowanym modułem FBs-7SG1 lub FBs-7SG2. Jeżeli EN =1, OFF"=0 i ON"= 0, funkcja ta przeprowadzi konwersję układu wyświetlania, gdzie S jest początkowym adresem rejestrów zawierających informacje o znakach do przekonwertowania, Ns jest wskaźnikiem lokalizacji początkowego znaku w S, NI oznacza liczbę konwertowanych znaków z S, D jest początkowym adresem do zapisu wyniku konwersji, a Nd jest wskaźnikiem początku zapisu. Poniżej zostały opisane 4 tryby pracy funkcji: Md=0, konwersja układu wyświetlania na 16-segmentowym wyświetlaczu; znaki źródłowe zapisane są w 8-bitowym kodzie ASCII, natomiast przekonwertowany wynik jest 16-bitowym układem wyświetlania. Kierunek wyświetlania wyznacza M1990 (jeżeli M1990=0 wyświetlanie od prawej do lewej; jeżeli M1990=1 wyświetlanie od lewej do prawej). Md=1, konwersja układu wyświetlania na 16-segmentowym wyświetlaczu bez wiodących zer; znaki źródłowe zapisane są w 8-bitowym kodzie ASCII, natomiast przekonwertowany wynik jest 16-bitowym układem wyświetlania bez wiodących zer. Md=2, konwersja układu wyświetlania na 7-segmentowym wyświetlaczu bez dekodowania; znak źródłowy zapisany jest jako 4-bitowy półbajt, natomiast przekonwertowany wynik jest 8-bitowym układem wyświetlania. Md=3, konwersja układu wyświetlania na 7-segmentowym wyświetlaczu bez wiodących zer; znak źródłowy zapisany jest jako 4-bitowy półbajt, natomiast przekonwertowany wynik jest 4-bitowym układem wyświetlania bez wiodących zer. Bajt 0 lub półbajt 0 w S jest pierwszym wyświetlanym znakiem, Bajt 1 lub półbajt 1 w S jest drugim wyświetlanym znakiem,. Argument Ns jest wskaźnikiem lokalizacji w S pierwszego znaku do wyświetlenia. Argument Nl wskazuje na liczbę znaków z S do przekonwertowania. 16-14
TDSP FUN84 TDSP Komendy modułu wyświetlacza FBs-7SG Konwersja wyświetlania znaków i liczb na 7/16-segmentowym wyświetlaczu FUN84 TDSP Argument D jest początkowym adresem do zapisu przekonwertowanego układu wyświetlania. Jeżeli Md=0 lub 1, to jeden znak źródłowy w 8-bitowym kodzie ASCII wymaga 16-bitowej lokalizacji do zapisania wyniku. Jeżeli Md=2, to jeden znak źródłowy w postaci 4-bitowego półbajtu wymaga 8-bitowej lokalizacji. Jeżeli Md=3, to jeden znak źródłowy w postaci 4-bitowego półbajtu wymaga 4-bitowej lokalizacji. Argument Nd jest wskaźnikiem określającym miejsce rozpoczęcia zapisu w D przekonwertowanego układu. Jeżeli OFF"=1, ON"=0 i "EN"=0/1, argument D zostanie wypełniony układem wygaszającym pola znaków wyświetlacza, zgodnie z aktywnym trybem pracy, wskaźnikiem Nd i ilością określoną przez NI. Jeżeli ON"=1, OFF"=0/1 i EN"=0/1, argument D zostanie wypełniony układem rozświetlającym pola znaków wyświetlacza, zgodnie z aktywnym trybem pracy, wskaźnikiem Nd i ilością określoną przez NI. Dane zostaną przekonwertowane na różne sposoby w sposób zależny od wybranego trybu pracy. Poniższy opis opiera się na przykładzie 2. W przykładzie 2: MD=1; S=R0; Ns=0; Nl=8; D=R3904 i Nd=8. Poniżej przedstawiona została konwersja danych. Punkt Ns Punkt Nd = 8 NI=8 oznacza, że długość znaku wynosi 8 półbajtów Przykład1 Wyświetlanie tekstu składającego się z 8 znaków za pomocą modułu FBs-7SG2 i 16-segmentowego wyświetlacza. W przypadku takiego zastosowania moduł FBs-7SG2 musi pracować w trybie bez dekodowania. Program WinProladder obsługuje funkcje edycji za pomocą tabeli ASCII, co umożliwia łatwe wyświetlanie wiadomości tekstowej. Użytkownik może stworzyć jedną testową tabelę ASCII o zawartości WELCOME. Przy założeniu, że R5000 jest początkowym adresem tabeli, to R5000~R5007 będą miały następującą zawartość: 16-15
TDSP FUN84 TDSP Komendy modułu wyświetlacza FBs-7SG Konwersja wyświetlania znaków i liczb na 7/16-segmentowym wyświetlaczu R5000=2027H (20H=;27H=') R5001=4557H (45H=E;57H=W ) R5002=434CH (43H=C;4CH=L) R5003=4D4FH (4DH=M;4FH=O) R5004=2045H (20H=;45H=E) R5005=2C27H (2CH=,;27H=') R5006=4E45H (4EH=N;45H=E) R5007=0044H (00H=;44H=D) FUN84 TDSP S500 M1990 M100 M101 M102 EN OFF ON 84.TDSP MD: 0 S : R5000 NS: Nl : D : Nd: 2 8 R3904 0 Opis: Jeżeli M100=1, M101=0 i M102=0, FUN84 przeprowadzi konwersję układu wyświetlania, gdzie początkowym adresem (S) będzie R5000, wskaźnik Ns będzie wskazywał na bajt 2, a ilość NI będzie równa 8. Oznacza to, że wyświetlana będzie zawartość R5001~R5004, a przekonwertowany układ wyświetlania zostanie zapisany w rejestrach R3904~R3911 (argument D zaczyna się od R3904, argument Nd wskazuje słowo 0, a argument NI wynosi 8). Jeżeli M1990=1, to 16-segmentowy wyświetlacz wyświetli ciąg znaków WELCOME " ; Jeżeli M1990=0, to 16-segmentowy wyświetlacz wyświetli ciąg znaków EMOCLEW". Jeżeli M101=1, M102=0, to rejestry R3904~R3911 zostaną wypełnione układem wygaszającym pola LED. Jeżeli M102=1, to rejestry R3904~R3911 zostaną wypełnione układem rozświetlającym pola LED. Przykład 2 Wyświetlanie tekstu składającego się z 8 znaków bez zer wiodących, za pomocą drugiego modułu FBs-7SG2 i 16-segmentowego wyświetlacza. W przypadku takiego zastosowania moduł FBs-7SG2 musi pracować w trybie bez dekodowania. M110 EN OFF ON 84.TDSP MD: 1 S : NS: R0 0 Nl : 8 D : R3904 Nd: 8 16-16
TDSP FUN84 TDSP Komendy modułu wyświetlacza FBs-7SG Konwersja wyświetlania znaków i liczb na 7/16-segmentowym wyświetlaczu FUN84 TDSP Opis Jeżeli M110=1, FUN84 przeprowadzi konwersję układu wyświetlania, gdzie początkowym adresem (S) będzie R0, wskaźnik Ns będzie wskazywał na bajt 0, a ilość NI będzie równa 8. Oznacza to, że wyświetlana będzie zawartość R0~R3, a przekonwertowany układ wyświetlania zostanie zapisany w rejestrach R3912~R3919 (argument D zaczyna się od R3904, argument Nd wskazuje słowo 8, a argument NI wynosi 8). (1) R0=0008H R1=0506H R2=0304H R3=0102H Ciąg wyświetlany na 16-segmentowym wyświetlaczu: 12345608" (2) R0=0708H R1=0506H R2=0000H R3=0000H Ciąg wyświetlany na 16-segmentowym wyświetlaczu: 5678" (3) R0=3738H R1=3536H R2=3334H R3=3132H Ciąg wyświetlany na 16-segmentowym wyświetlaczu: 12345678" (4) R0=3038H R1=3536H R2=3334H R3=3030H Ciąg wyświetlany na 16-segmentowym wyświetlaczu: "345608" Adres OR FBs-7SG2 w przykładzie 2 musi być przypisany do R3912~R3919 w celu zapewnienia prawidłowego wyświetlania wiadomości/liczby (o długości 8), tzn. inne cyfrowe lub analogowe moduły muszą być podłączone przed rozpatrywanym modułem FBs-7SG2 (w tym przykładzie zakłada się, że do jednostki głównej podłączono dwa moduły FBs-7SG2, z których pierwszy otrzymał adresy OR: R3904~R3911, a kolejny R3912~ R3919 ). Przykład 3 Wyświetlanie 4 cyfr i sterownie 32-punktami na niezależnym wyświetlaczu LED, sterowane za pomocą modułu FBs-7SG1 z wykorzystaniem 4-cyfrowego 7-segmentowego wyświetlacza oraz 32 punktowego wyświetlacza LED, do kontroli którego wymagany jest dodatkowy obwód. W przypadku takiego zastosowania moduł FBs-7SG2 musi pracować w trybie bez dekodowania. 16-17
TDSP FUN84 TDSP Komendy modułu wyświetlacza FBs-7SG Konwersja wyświetlania znaków i liczb na 7/16-segmentowym wyświetlaczu FUN84 TDSP M 120 EN 08D.M OV S : W M0 D : R3904 EN OFF ON 84.TDSP M D: 2 S : N S: R0 0 Nl : 4 D : R3906 Nd: 0 Opis : Jeżeli M120=1, to stany M0~M31 zostaną przekopiowany do wyjściowych rejestrów R3904~R3905 w celu realizacja sterowania wyświetlaniem 32 niezależnych punktów LED. FUN84 przeprowadza także konwersję układu wyświetlania, gdzie początkowym adresem (S) jest R0, wskaźnik Ns wskazuje na półbajt 0, a ilość NI jest równa 4. Oznacza to, że wyświetlana będzie zawartość półbajtu0~półbajtu3 w R0, a przekonwertowany układ wyświetlania zostanie zapisany w rejestrach R3906~R3907 (argument D zaczyna się od R3906, argument Nd wskazuje bajt 0, a argument NI wynosi 4). R0=1024H Ciąg wyświetlany na 7-segmentowym wyświetlaczu: "1024" Przykład 4 Wyświetlanie ciągów 12-cyfrowych na wyświetlaczu numerycznym z kodowaniem bez początkowego zera sterowane za pomocą modułu FBs-7SG2 oraz 12-cyfrowych 7-segmentowych wyświetlaczy. W przypadku takiego zastosowania moduł FBs-7SG2 musi pracować w trybie z dekodowaniem. M 130 E N O F F O N 84.TD S P M D : 3 S : N S: R 0 0 N l : 12 D : R 3905 N d: 0 Opis:Jeżeli M130=1, FUN84 przeprowadzi konwersję układu wyświetlania, gdzie początkowym adresem (S) będzie R0, wskaźnik Ns będzie wskazywał na półbajt 0, a ilość NI będzie równa 12. Oznacza to, że wyświetlana będzie zawartość półbajtu0~półbajtu11 w R0~R2, a przekonwertowany układ wyświetlania zostanie zapisany w rejestrach R3905~R3907 (argument D zaczyna się od R3905, argument Nd wskazuje półbajt 0, a argument NI wynosi 12). (1). R2=1234H, R1=5678H, R0=9000H Ciąg wyświetlany na 7-segmentowym wyświetlaczu: 123456789000" (2). R2=0000H, R1=5678H, R0=9000H Ciąg wyświetlany na 7-segmentowym wyświetlaczu : 56789000" 16-18
Rozdział 17 Moduł wejściowy przełącznika tarczowego FBs-32DGI jest multipleksowym modułem wejściowym. Jeden moduł 32DGI może obsługiwać zadajnik tarczowy do 32 cyfr lub 128 wejść dyskretnych z przełączników. Dzięki wbudowanemu w moduł układowi we / wy czas aktualizacji stanów wejścia jest niezależny od skanu CPU i wynosi 10 ms. Jednak zasada wykonywania programu w sterowniku, opierająca się na wykonywaniu skanów, powoduje, że minimalny czas odświeżania odczytów jest ograniczony czasem skanu. Wygląd POW FBs-32DGI FG 24V- D0 D2 D4 D6 D8 D10 D12 D14 NC S2 S4 S6 S8 24V+ NC D1 D3 D5 D7 D9 D11 D13 D15 S1 S3 S5 S7 NC Dzięki zastosowaniu wejść multipleksowanych, wystarczy połączyć FBs-32DGI 24 przewodami w celu uzyskania odczytu 32 cyfr zadajnika tarczowego (lub 128 przełączników). FBs-32DGI ma jedynie 4cm szerokości i jest nisko kosztowym, kompaktowym rozwiązaniem, wymagającym minimalnego nakładu pracy. 17-1
17.1 Charakterystyki FBs-32DGI Element Charakterystyka Uwagi Punkty wejściowe Zajęte zasoby Złącze Sygnał sterujący Czas odświeżania Izolacja Wskaźnik stanu Zasilanie i pobór mocy Prąd wewnętrzny 32-cyfr. DIP/128 niezależnych pkt. przeł. 8 rejestrów wejściowych złącze 30-pinowe Wyjście kolumny 8 punktowe wyjście SINK (NPN) Wyjście wiersza 16 punktowe wyjście SOURCE 10ms Transformator (moc) i separacja optyczna (sygnał) Wskaźnik LED 5V 24V-15%/+20%, 40mA 5V, 14mA Temperatura robocza 0-60 C Temperatura przechowywania Wymiary 20-80 C 40(S) 90(W) 80(G) mm 17.2 Procedura stosowania modułu FBs-32DGI Start Podłączyć sygnały wejściowe do zadajnika DIP/przełączników, według rozmieszczenia pinów FBs-32DGI i podłączyć źródło 24VDC do modułu. Odczytać wartości z rejestrów wejściowych R3840~R3903 w celu uzyskania odczytu z zadajnika DIP/stanów przełączników. Koniec 17-2
17.3 Adresy we / wy FBs-32DGI Każdy moduł FBs-32DGI zajmuje 8 rejestrów wejściowych (R3840~R3903), w których zapisane są stany wejść. WinProladder automatycznie wykryje i obliczy rzeczywiste adresy wejściowe zajmowane przez moduł zainstalowany w systemie, po podłączeniu go do PLC. W celu odczytania przypisanych modułowi adresów, należy odwołać się do pozycji I/O Numbering w drzewku projektu programu WinProladder. 17.4 Opis sprzętu FBs-32DGI Rozmieszczenie pinów w FBs-32DGI Pin Nazwa sygnału Pin Nazwa sygnału 1 FG 2 24V+(zewn.) FBS-32DGI FG 24V- D0 D2 D4 D6 D8 D10 D12 D14 NC S2 S4 S6 S8 I 2 29 30 24V+ NC D1 D3 D5 D7 D9 D11 D13 D15 S1 S3 S5 S7 NC [Widok z góry] 3 24V-(zewn.) 4 Brak połączenia 5 D0 6 D1 7 D2 8 D3 9 D4 10 D5 11 D6 12 D7 13 D8 14 D9 15 D10 16 D11 17 D12 18 D13 19 D14 20 D15 21 Brak połączenia 22 S1 23 S2 24 S3 25 S4 26 S5 27 S6 28 S7 29 S8 30 Brak połączenia Układ sterujący we / wy wbudowany w moduł multipleksuje 32 cyfry zadajnika tarczowego lub 128 dyskretnych wejść z przełączników, za pomocą ośmiu skanów. Każdy skan odczytuje 4 cyfry zadajnika tarczowego lub 16 stanów przełączników. Sygnały S1~S8 wymienione w powyższej tabeli są sygnałami wyjściowymi o aktywnym potencjale masy (wyjście NPN). Sygnały danych multipleksowych D0~D15 są sygnałami wejściowymi typu sink. Podczas każdego skanu dane są odczytywane z wejść D0~D15 i zapisywane w układzie sterowania we / wy. Stany 32 cyfr zadajnika tarczowego lub 128 przełączników są bezpośrednio zapisywane w 8 wejściowych rejestrach, jak pokazano w poniższej tabeli. IR jest pierwszym rejestrem wejściowym przypisanym do odpowiedniego modułu (zakres IR to R3840~R3903). 17-3
Wejścia zadajnika DIP IR D15-D12 D11-D8 D7-D4 D3-D0 IR+0 DIG3 DIG2 DIG1 DIG0 IR+1 DIG7 DIG6 DIG5 DIG4 IR+2 DIG11 DIG10 DIG9 DIG8 IR+3 DIG15 DIG14 DIG13 DIG12 IR+4 DIG19 DIG18 DIG17 DIG16 IR+5 DIG23 DIG22 DIG21 DIG20 IR+6 DIG27 DIG26 DIG25 DIG24 IR+7 DIG31 DIG30 DIG29 DIG28 Wejścia pojedynczych przełączników IR D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 IR+0 I15 I14 I13 I12 I11 I10 I9 I8 I7 I6 I5 I4 I3 I2 I1 I0 IR+1 I31 - I16 IR+2 I47 - I32 IR+3 I63 - I48 IR+4 I79- I64 IR+5 I95 - I80 IR+6 I111- I96 IR+7 I127 - I112 17-4
17.5 Schemat obwodu wejściowego FBs-32DGI FG 1 24V- 24V+ 24V- D0 D2 D4 D6 D8 D10 D12 D14 NC S2 S4 S6 S8 D4 29 2 30 24V+ D12 D8 D4 D0 NC D1 D12 D8 D3 D5 D7 D9 D11 D13 D15 S1 S3 S5 S7 NC Thumbwheel switch module D12 D8 D4 D0 S8 Connection for independent switch input 8 8 8 8 S2 S3 S4 S5 S6 S7 D0 Podłączenie wejścia pojedynczych przełączników 8 8 8 8 S1 Moduł zadajnika tarczowego 17-5
Rozdział 18 Moduł AIO 18.1 Analogowy moduł wejściowy FBs-6AD FBs-6AD jest jednym z analogowych modułów wejściowych stosowanych w PLC FATEK serii FBs. Moduł ten jest wyposażony w 6-kanałowe wejście A/C o rozdzielczości efektywnej 12 lub 14 bitów. Moduł, bazując na różnych ustawieniach zworki, może dokonywać pomiarów sygnałów prądowych i napięciowych. Odczyt jest reprezentowany przez 14-bitową wartość niezależnie od tego, czy efektywna rozdzielczość jest ustawiona na 12, czy 14 bitów. Moduł jest wyposażony także w funkcję umożliwiającą przefiltrowanie zakłóceń sygnału. 18.1.1 Charakterystyki FBs-6AD Element Charakterystyki Uwagi Ilość kanałów Wartość cyfrowa Zakres wejścia analog. Rozdzielczość Bipolarne* 6 kanałów wejściowych 8192~+8191 lub 0~16383(14 bitów) 2048~+2047 lub 0~4095(12 bitów) 10V* *1. Napięcie: 10~10V 5.Prąd: 20~20mA 5V 2. Napięcie: 5~5V 6. Prąd: 10~10mA Unipolarne 10V 3. Napięcie:0~10V 7. Prąd:0~20mA 5V 4. Napięcie:0~5V 8. Prąd:0~10mA Najmniejsza rozdzielczość Ilość zajętych punktów we / wy Dokładność Czas przetwarzania Maksymalny bezwzględny sygnał wejściowy Rezystancja wejściowa 14 lub 12 bitów Napięcie:0.3mV Prąd:0.61µA 6 IR (rejestrów wejściowych) ±1% pełnego zakresu Aktualizacja przy każdym skanie Napięcie:±15V(maks) Prąd:±30mA(maks) 63.2kΩ(Wejście napięciowe) 250Ω(Wejście prądowe) *:Ustawienie domyślne = Sygnał na wejściu analogowym / 16383 Przekroczenie tej wartości może prowadzić do uszkodzenia sprzętu. Izolacja Transformator (moc) i fotoogniwo (sygnał) Wskaźnik(i) Wskaźnik LED 5V Zasilanie 24V-15%/+20%, 2VA Wewnętrzny pobór mocy 5V, 100mA Temperatura pracy 0 ~ 60 C Temperatura przechowywania Wymiary -20 ~ 80 C 40(S)x90(W)x80(G) mm 18-1
18.1.2 Procedura stosowania modułu FBs-6AD Start Przed rozpoczęciem instalacji ustawić napięcie/prąd we / wy (V/I), polaryzację (B/U) i zakres V/I każdego punktu. Podłączyć szeregowo FBs-6AD do interfejsu rozszerzeń w PLC i podłączyć zewnętrzne źródło 24VDC oraz przewody analogowe do modułu. ------- Szczegóły dotyczące sprzętu opisane są w rozdziale 18.1.4. Bezpośrednio odczytać wartości z sześciu rejestrów wejściowych w celu uzyskania odczytu z wejścia analogowego CH0~CH63 Koniec 18.1.3 Alokacja adresu wejść analogowych FBs-PLC Adresowanie we / wy na wejściach FBs-6AD rozpoczyna się od modułu znajdującego się najbliżej jednostki głównej. Wejścia są numerowane jako CH0~CH5 (pierwszy moduł), CH6~CH11 (drugi moduł), CH12~CH17 (trzeci moduł) i są zwiększane o aktualną wartość, tj. dla każdego modułu wartość zwiększa się o 6, co daje całkowitą ilość 64 wejść CH0~CH63 odpowiadającą ilości wszystkich wewnętrznych rejestrów analogowych PLC (nazywanych rejestrami IR) R3840~R3903. Po podłączeniu FBs-6AD do interfejsu rozszerzeń PLC FBs-PLC automatycznie wykryje ilość (IR) punktów AD. Po podłączeniu do PLC WinProladder automatycznie wykryje i obliczy ilość rejestrów wejściowych w systemie. W celu odnalezienia odpowiedniego adresu we / wy każdego modułu rozszerzeń i ułatwienia sobie programowania, użytkownicy mogą skorzystać z funkcji konfiguracji liczby modułów we / wy dostępnej w WinProladder. Znacznik Numeryczny Zawartość IR (CH0~CH63) wejściowy rejestr wejściowy B FBs-6AD 1 5 B 1 4 B 1 3 B1 2 B11 B 1 0 B 9 B8 B 7 B 6 B5 B4 B 3 B 2 B 1 B0 IR+0 14/12 bit ; 14-bit, B14~ B15= B13 ; 12-bit, B12~ B15= B11 CH0 IR +1 14/12 bit ; 14-bit, B14~ B15= B13 ; 12-bit, B12~ B15= B11 CH1 IR +2 CH2 FBs-6AD IR +3 CH3 IR +4 CH4 IR +5 CH5 IR +6 Zależy od typu modułu CHX 18-2
~ ~ IR +7 Zależy od typu modułu CHX IR +8 CHX ~. IR +9 CHX R3896 CHX R3897 CHX R3898 CHX R3899 CHX R3900 CHX R3901 CHX R3902 Zależy od typu modułu CHX.. ~ Inne moduły R3903 Zależy od typu modułu CHX 18-3
18.1.4 Opis sprzętu FBs-6AD 2 1 6 7 8 24V IN AG V I U B 5V 10V I0+ I1+ I0- I1- FBs-6AD zawiera 3 PCB zachodzące na siebie. Najniższa płytka stanowi jednostkę zasilającą (izolowane źródło zasilania). Środkową jest płytą we / wy (w tej warstwie znajdują się złącza). Górny jest płytą sterującą (połączenia sterujące / rozszerzeń we / wy) zgodnie z rysunkiem poniżej: 4 POW 3 FBs-6AD I2+ I3+ I4+ I5+ I2- I3- I4- I5-5 9 10 11 12 Widok z góry,1 Złącze wejściowe zasilania zewnętrznego: Zasilanie obwodu analogowego FBs-6AD. Wartość napięcia 24VDC±20%; moc co najmniej 4W.,2 Ochronne złącze uziemiające:połączyć z ekranem kabla sygnałowego.,3 Kabel wejścia rozszerzeń: Połączyć z przednim modułem rozszerzeń lub złączem rozszerzeń jednostki głównej.,4 Złącze wyjścia rozszerzeń:stanowi połączenie kolejnej jednostki rozszerzeń.,5 Wskaźnik zasilania: Wskazuje, czy wartość zasilania obwodu analogowego i zewnętrznego źródła wejściowego jest normalna.,6 Uziemienie: Na ogół nie jest wymagane żadne połączenie, oprócz sytuacji, w której wartość sygnału w trybie wspólnym jest zbyt wysoka. Szczegóły w przykładach.,7~,12:złącze wejściowe CH0~CH5. 18-4
18.1.4.1 Ustawienia zworek w FBs-6AD JP5 V I B U JP1 B U JP3 JP4 V I JP2 5V 10V V I V I JP7 JP8 V I V I JP6 JP9 V I Rozmieszczenie pinów w płycie sterującej (widok po otwarciu górnej obudowy) Rozmieszczenie pinów w płycie we / wy (widok po wyjęciu płyty sterującej) 1. Wybór formatu kodu wejściowego (JP1) Użytkownicy mogą wybierać pomiędzy kodami uni- i bipolarnymi. Zakres kodów unipolarnych i bipolarnych wynosi odpowiednio 0~16383 i 8192~8191. Na przykład jeżeli typ sygnału wejściowego zostanie ustawiony na -10V~ +10V, unipolarnym kodem odpowiadającym danemu wejściu będzie 8192, natomiast bipolarnym kodem dla wejścia 0V będzie 0. Jeżeli napięcie na wejściu wynosi 10V, unipolarnym kodem odpowiadającym wejściu jest 16383, natomiast bipolarnym 8191. Na ogół format kodu wejściowego jest wybierany na podstawie formy sygnałów wejściowych; tj. kody unipolarne dla unipolarnych sygnałów wejściowych. Dzięki temu korelacje stają się bardziej heurystyczne. Jeżeli nie ma potrzeby przeprowadzania konwersji za pomocą funkcji FUN33, nie należy wybierać bipolarnych kodów dla unipolarnych sygnałów wejściowych (szczegóły w opisie FUN33). Format kodów wejściowych dla wszystkich kanałów jest wybierany za pomocą zworki JP1. Opis lokalizacji zworki JP1 przedstawiony jest w poniższej tabeli: Format kodu wejściowego Ustawienie JP1 Zakres wartości wejściowych Odpowiednie sygnały wejściowe Bipolarny -8192~8191-10V~10V(-20mA~20mA) -5V~5V(-20mA~20mA) Unipolarny 0~16383 0V~10V(0mA~20mA) 0V~5V(0mA~10mA) 18-5
2. Ustawienie formy sygnału wejściowego (JP2 i JP3) Użytkownicy mogą ustawiać formę sygnału (napięciowy / prądowy) dla poszczególnych kanałów. Polaryzacja i amplituda są standardowe. Ustawienia zworek przedstawione są w tabeli poniżej: Forma sygnału Ustawienie JP3 Ustawienie JP2 0~10V lub 0~20mA 0~5V lub 0~10mA -10~+10V lub -20~+20mA -5~+5V lub -10mA~+10mA ~ Zworki JP2 i JP3 są wspólne dla kanałów CH0~CH5. Dlatego też wszystkie te kanały muszą być tego samego typu spośród czterech typów wymienionych z powyższej tabeli. Jedynie typ prądowy/napięciowy może być ustawiany dowolnie: 3. Ustawienie typu napięciowego lub prądowego (JP4~JP9) Typ sygnału Ustawienie JP4(CH0) JP9(CH5) Napięciowy Prądowy *Domyślne ustawienia analogowego modułu wejściowego 6AD są następujące: Format kodu wejściowego Bipolarny (-8192~+8191) V I Typ i zakres sygnału wejściowego Bipolarny (-10V ~ +10V) W przypadku zastosowań wymagających ustawień innych niż domyślne użytkownik powinien zmodyfikować położenie zworek według powyższych tabel. Oprócz ustawienia zworek należy także przeprowadzić konfigurację wszystkich modułów w programie WinProladder. 18-6
18.1.5 Schemat obwodu wejściowego FBs-6AD FBs-6AD Wejścia Inputs +15V 15V 24V+ 24V 24VDC Zewnętrzne External power źródło supply zasilania V I I0+ I0 V CH0 Wejście Input Ch0 (Voltage source) (Źródło napięcia) V I I1+ I1 I CH1 Wejście Input Ch1 (Current source) (Źródło prądu) AG I I5+ V I5 V CH5 Wejście InputCh5 (Voltage source) (Źródło napięcia) Wybór Voltage/ nap./ Current prąd. selection Twisted Ekranowana pair with skrętka shielding 18.1.6 Charakterystyki wejść FBs-6AD i ustawienia zworek Użytkownicy mogą wybierać zakresy wejściowe FBs-6AD na podstawie wyżej opisanych zworek, tj. V/I, U/B (kody we / wy), U/B (forma sygnału), 5V/10V, itp. Różne formy wejściowe można ustawiać za pomocą krzywej konwersji i różnych ustawień V/I (wejście napięciowe/prądowe). Szczegóły dotyczące ustawień V/I zostały opisane w rozdziale 18.1.4: 18-7
Schemat 1:Sygnał bipolarny 10V(20mA) Zakres Napięcie 10V~10V wejściowy Prąd 20mA~20mA Ustawienie zworki 14-bitowy format wejścia Wejście analogowe (Max.) Bipolarny(B) Unipolarny(U) Wartość w rejestrze wejściowym (14-bitowa) Wejście analogowe (Min.) 12-bitowy format wejścia Wejście analogowe (Max.) Bipolarny(B) Unipolarny(U) Wartość w rejestrze wejściowym (12-bitowa) Wejście analogowe (Min.) 18-8
Schemat 2:Sygnał bipolarny 5V(10mA) Zakres Napięcie 5V~5V wejściowy Prąd 10mA~10mA Ustawienie zworki 14-bitowy format wejścia Wejście analogowe (Max.) Bipolarny(B) Unipolarny(U) Wartość w rejestrze wejściowym (14-bitowa) Wejście analogowe (Min.) 12-bitowy format wejścia Wejście analogowe (Max.) Bipolarny(B) Unipolarny(U) Wartość w rejestrze wejściowym (12-bitowa) Wejście analogowe (Min.) 18-9
Schemat 3:Sygnał unipolarny 10V(20mA) Zakres Napięcie 0V~10V wejściowy Prąd 0mA~20mA Ustawienie zworki 14-bitowy format wejścia Wejście analogowe (Max.) Bipolarny(B) Unipolarny(U) Wartość w rejestrze wejściowym (14-bitowa) Wejście analogowe (Min.) 12-bitowy format wejścia Wejście analogowe (Max.) Bipolarny(B) Unipolarny(U) Wartość w rejestrze wejściowym (12-bitowa) Wejście analogowe (Min.) 18-10
Schemat 4:Sygnał unipolarny 5V(10mA) Zakres wejściowy Napięcie 0V~5V Ustawie nie zworki Prąd 0mA~10mA 14-bitowy format wejścia Wejście analogowe (Max.) Bipolarny(B) Unipolarny(U) Wartość w rejestrze wejściowym (14-bitowa) Wejście analogowe (Min.) 12-bitowy format wejścia 18-11
Wejście Analog analogowe Input(MAX.) (Max.) +5V(+10mA) Bipolarny(B) Bipolar(B) Unipolarny(U) Unipolar(U) Wartość w Input rejestrze Register wejściowym Value 0 (12-bitowa) (12 bit) -2048 +2047 +4095 0V(0mA) Wejście Analog analogowe Input(Min.) (Min.) 18.1.7 Konfiguracja wejścia analogowego Wartość odczytu wejścia analogowego w PLC serii FBs jest reprezentowana przez 3 rodzaje formatów danych. Formaty są zgodne z zewnętrznymi wyjściami analogowymi. Przy odczycie stosowana jest metoda uśredniania pozwalająca na odsunięcie wartości odczytu od zakłóceń lub niestabilnego pierwotnego sygnału analogowego. WinProladder jest wyposażony w przyjazny użytkownikowi interfejs umożliwiający konfigurację wejścia analogowego. Konfigurowane wartości to: format danych wejścia analogowego, istotne bity i liczba uśrednień. Procedury konfiguracji wejść analogowych za pomocą WinProladder Kliknąć I/O Configuration w menu Project okna głównego programu : Project name System Configuration I/O Configuration Wybrać AI Configuration Jeżeli jednostka główna FBs jest połączona z modułem rozszerzeń AD, nastąpi automatyczne wykrycie i przydzielenie zasobów systemu (IR). 18-12
Opis ekranu konfiguracji: AI Data Format : Wszystkie wejścia analogowe mogą być ustawione na format danych o rozdzielczości 12 bitów lub 14 bitów. AI Modules : W tym oknie wyświetlane są informacje dotyczące zainstalowanych analogowych modułów wejściowych. Kliknięcie wybranego modułu spowoduje wyświetlenie się w oknie ustawień istotnych bitów i liczby uśrednień. AI Setup : Po ustawieniu formatu danych o rozdzielczości 12 bitów dla każdego kanału wejścia analogowego można będzie ustawić liczbę uśrednień. Po ustawieniu formatu danych o rozdzielczości 14 bitów dla każdego kanału wejścia analogowego można będzie ustawić istotne bity oraz liczbę uśrednień. Opcja AI Data Format 12-bitowa rozdzielczość z reprezentacją znaku (-2048~2047): B15 B14 B13 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 B11 B11 B11 B11 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 *B11 = 0--------- Dodatnia wartość odczytu 18-13