Skip to main content

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.

image.png

13.1. Zastosowanie instrukcji FUN 151

13.1.1. Procedury

image.png

13.1.2. Opis trybów i zastosowań programu dla FUN 151

W niniejszym rozdziale opisane zostaną cztery tryby (MD0 do MD3) instrukcji FUN151 (CLINK) oraz przykłady praktycznego zastosowania programu.

13.2. Zastosowanie instrukcji FUN150 (Modbus)

13.2.1. Procedury zastosowania

image.png

13.2.2. Opis zastosowania FUN150 w programie

W niniejszym rozdziale opisane są przykłady praktycznych zastosowań instrukcji FUN150 (Modbus) w programach.

FUN 150 M-BUS

Instrukcja dla stacji master MODBUS RTU/ASCII

(PLC pracuje jako stacja master MODBUS RTU/ASCII za pośrednictwem portu 1~4)
FUN 150 M-BUS

image.png

 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

 

 Sygnały z interfejsu 

Przekaźniki i rejestry dedykowane do konkretnych portów :

image.png

 

 

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.

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 program (Automatyczna transmisja cykliczna)


image.png

 

 Przykład programu

 

 

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”::

image.png

 

image.png

 

● Table Type : Parametr zostanie ustawiony na „Modbus Master Table ”.

   ● Table Name : Nazwa tabeli dla edycji lub debugowania.  

   ● Table Starting address : Adres początkowego rejestru tabeli komunikacyjnej.

 

 

image.png

 

 Początkowy rejestr programu komunikacyjnego instrukcji M-BUS

SR Początkowy rejestr programu komunikacyjnego instrukcji M-BUS

 

image.png

 

 

 

l  Kod danych typ i numer referencyjny stacji MASTER (FATEK PLC)

Kod danych

         Typ danych

Numer referencyjny

1

     Y(Przekaźnik wyjściowy)

             0~255

2

     M(Wewnętrzny przekaźnik M)

             0~1911

3

     S(Przekaźnik krokowy)

             0~999

12

     R(Rejestr danych Rxxxx)

             0~3839

13

     D(Rejestr danych Dxxxx)

             0~3999

l  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

 

l  WR:Początkowy rejestr dla instrukcji M-BUS (FUN150)

 

image.png

 

A, Brak odpowiedzi ze stacji slave (błąd przerwy).

B, Błąd komunikacji (odebrano dane o błędzie lub nieprawidłowa odpowiedź )

 

 

●       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

image.png

 

※    WinProladder umożliwia łatwą edycję tabeli dla stacji MASTER M-BUS:

 

 

image.png


Modbus Slave

Instrukcja dla stacji master MODBUS RTU/ASCII

(PLC pracuje jako stacja master MODBUS RTU/ASCII za pośrednictwem portu 1~4)
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

image.png

 

Dostępny zakres ( kod 5 )

 

 

image.png

 

 Dostępny zakres (Kod 6)

 

image.png

 

 ※※ Dostępny zakres specjalnego rejestru i przekaźnika

 

image.png

 

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

 

image.png

 

 

image.png

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)

 

 

● Port 1~4 obsługuje protokół kom. MODBUS RTU/ASCII (Slave)

  

﹒Metoda 1 (Wszystkie wersje OS FBs PLC mnoga obsługiwać tą metodę)

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

                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

 

 

※     Umożliwia 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。

 

 

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

 

image.png