Komunikacja Modbus w UniStream

14.08.2019 How to /
Wizerunek autora
Były pracownik Elmark Automatyka S.A.
Producent: UNITRONICS

UniLogic umożliwia łatwe wdrożenie komunikacji MODBUS poprzez konfigurację, zamiast programowania jej.

Większość wymagań aplikacji jest spełniana przez operacje periodyczne, które są uruchamiane zgodnie z ustawionymi interwałami czasowymi.

Można także uruchamiać operacje aperiodyczne. Za pośrednictwem aplikacji możesz uruchomić pojedynczą operację lub grupę operacji.

 

Oznacza to, że aplikacja może:

  • Użyć prostych operacji periodycznych do odczytu/zapisu danych z/do wielu czujników,
  • Użyć operacji aperiodycznej, aby zapisać pojedynczą wartość zadaną w wyniku warunku w czasie wykonywania,
  • Użyć operacji aperiodycznej, aby włączyć grupę wyjść w wyniku warunku w czasie wykonywania.

 

Pojedynczy UniStream może być zdefiniowany i działać jednocześnie jako Master lub Slave, a także może zawierać łączyć się do wielu Slave’ów.

 

Modbus TCP

W drzewku projektu wybierz opcję PLC Communications > Physical > Panel Ethernet i edytuj parametry w oknie Właściwości zgodnie z wymaganiami.

 

Modbus RTU

  • Port RS485 procesora

W drzewku projektu wybierz opcję PLC Communications > Physical  > RS485 Serial (COM1) i edytuj parametry w oknie Właściwości zgodnie z wymaganiami.

W trybie pracy wybierz MODBUS (panel).

 

  • Port Panel USB

Wybierz opcję Włącz USB dla urządzenia szeregowego, kliknij Ustawienia portu USB, a następnie kliknij opcję Zainicjuj port dla: i wybierz żądany typ komunikacji.

Należy pamiętać, że włączenie portu automatycznie dodaje strukturę Panel USB Port do użycia w programie.

 

Konfiguracja MODBUS Master

  1. W drzewie projektu kliknij PLC Communications, aby je rozwinąć, a następnie Protokoły > MODBUS > Master; otwiera to porty MODBUS.

 

  1. Wybierz żądany port i kliknij Dodaj nowy zdalny moduł podrzędny (Slave). Można także dodać zdalne urządzenia podrzędne, klikając prawym przyciskiem myszy port MODBUS w drzewie Eksploratora

 

  1. Okno właściwości urządzenia podrzędnego Slave otwiera się po prawej stronie ekranu, podobnie jak okno Dodaj nową operację na środku.

 

  1. Ustaw definicje urządzenia Slave w oknie Właściwości.

 

Parametry okna właściwości urządzenia MODBUS Slave:

a) Aktywuj periodyczność

 Ten bit kontroluje, dla tego konkretnego urządzenia podrzędnego, czy działają operacje periodyczne, czy nie.

Włącz go, aby uruchomić operacje periodyczne cewki i rejestru zgodnie z odstępem czasu ustawionym dla pojedynczej operacji.

Wyłącz go, aby zawiesić wszystkie operacje okresowe dla tego urządzenia Slave.

Pamiętaj, że:

  • Musisz utworzyć link do tego parametru; niezastosowanie się do tego spowoduje błąd kompilacji.
  • Możesz zawiesić wykonywanie określonej operacji poprzez parametr Active.

 

b) Komunikacja Modbus

 Użyj tego, aby wybrać port dla operacji MODBUS, klikając strzałkę rozwijaną.

 

c) Unikalny ID dla Slave

 Wprowadź numer ID dla Slave’a, do którego chcesz uzyskać dostęp. Zakres wynosi 1-255.

 

d) Nazwa dla Slave’a

 Przypisz nazwę, która pomoże Ci zidentyfikować Slave’a.

 

e) Limit czasu odpowiedzi (ms)

 Wartość domyślna to 500 ms. Kliknij pole, aby edytować wartość.

Określa jak długo kontroler będzie czekać na odpowiedź ze Slave’a.

 

f) Zaawansowane

 Opcje kolejki mogą być używane w niektórych programach korzystających z dużych ilości danych. Zostało to opisane w poniższej sekcji, Porzucone operacje.

 

  1. Dla każdego urządzenia podrzędnego dodaj nowe operacje zgodnie z poniższym opisem.

 

Ustawianie Slave ID z poziomu drabinki

Możesz zmieniać adres Slave ID w czasie rzeczywistym za pomocą bloku funkcyjnego MODBUS Set Slave ID.

 

Dodawanie operacji

Utworzone operacje MODBUS są ułożone w tabeli. Można tworzyć operacje periodyczne i aperiodyczne.

Aby dodać pojedynczą operację:

  1. Wybierz zakładkę z żądanym rodzajem operacji i kliknij Dodaj nową operację. UniLogic dodaje wiersz do tabeli.
  2. Kliknij pola, aby edytować i dokonać wyboru.

 

Należy pamiętać, że chociaż ustawienie Active Periodic określa, czy urządzenie główne będzie okresowo uruchamiać operacje, można zapobiec uruchamianiu poszczególnych operacji. Aby to zrobić, przypisz bit do parametru Active operacji. Aby uniemożliwić wykonanie operacji, należy wyłączyć ten bit.

 

Możesz konwertować operacje periodyczne na aperiodyczne i odwrotnie. Pamiętaj, że możesz także wybrać kilka operandów, przytrzymując klawisz CTRL podczas ich klikania, a następnie kliknąć je prawym przyciskiem myszy.

 

Należy pamiętać, że parametry ID umożliwiają użycie elementów Aperiodic Ladder do wykonywania operacji za pośrednictwem programu.

ID umożliwia wykonanie pojedynczej operacji. Group ID pozwala na uruchomienie całej grupy operacji.

W miarę dodawania/usuwania każdej operacji Modbus UniLogic zwiększa/zmniejsza ich liczbę.

 

Write/Read Multiple Registers – periodycznie oraz aperiodycznie

Operacje te wykonują kombinację jednej operacji odczytu i jednej operacji zapisu w pojedynczej transakcji MODBUS.

Operacja zapisu jest wykonywana przed odczytem. Adresowanie rejestrów holding rozpoczyna się od zera. (Rejestry holding 1-16 są adresowane w PDU jako 0-15.)

We rozkazie określa się:

- Adres początkowy i liczba rejestrów holding do odczytania

- Adres początkowy, liczba rejestrów holding i dane do zapisania.

 

Operacje pakietowe (Batch)

Aby dodać partię operacji:

  1. Wybierz kartę z żądanym typem operacji i kliknij strzałkę rozwijaną w obszarze „Add New Operation.
  2. Wybierz opcję Add New Operation Batch; UniLogic otwiera okno Dodaj, wyświetlając odpowiedni typ tagu.
  3. Wyświetl tagi w strukturach za pomocą ikon Rozwiń/Zwiń obok pola wyszukiwania lub klikając strzałki, aby je rozwinąć. Na następnym obrazie wybrane są Cewki, dlatego wyświetlane są tylko cewki, w tym cewki ze struktur.
  4. Zaznacz żądane tagi i kliknij Dodaj. W strukturze pokazanej poniżej wybrana jest tablica bitów wraz z dwoma pojedynczymi bitami.

 

Na poniższym obrazie widać , że adres Coil1 zaczyna się od zera, a Coil2 od 12. Przydziela to wystarczającą ilość miejsca na tablicę bitów 0-11.

 

Na kolejnym obrazie podczas dodawania struktury wybrano Aperiodic.

Tagi bitowe zostały automatycznie podzielone na cewki aperiodyczne, a rejestry na rejestry aperiodyczne.

 

Parametry operacyjne

Można wybrać operacje periodyczne lub aperiodyczne. Parametry różnią się, co przedstawiono w poniższej tabeli.

  • Nazwa - Dla wygody wprowadź identyfikującą nazwę.
  • Tag - Link do tagu zawierającego dane do operacji

Aby przypisać wektor, użyj tag danych Array.

Pamiętaj, że jeśli tag tablicy jest wyświetlany w nawiasie, należy nacisnąć klawisz Backspace, aby go usunąć i przypisać tablicę.

 

Pamiętaj, że możesz także łączyć się z elementami zadeklarowanej struktury.

 

  • Adres - Jest to adres w urządzeniu podrzędnym i mapy pomiędzy nim a tagiem.
  • Działanie - Kliknij, aby wybrać żądaną akcję (Odczyt/Zapis)
  • Operacja - Kliknij, aby wybrać działanie MODBUS.

Należy pamiętać, że lista poleceń jest filtrowana według typu taga.

 

Parametry periodyczne: istotne dla operacji Periodic

 

  • Every Period / Every Time Unit - Określa częstotliwość operacji periodycznych
  • Aktywny - Link do tagu, czy dana operacja zostanie uruchomiona.

 

Parametry aperiodyczne : istotne dla operacji aperiodycznych. Wyzwalanie poprzez funkcje aperiodyczne MODBUS

 

  • ID - Użyj numeru identyfikacyjnego w funkcji drabinowkowej
  • Identyfikator grupy - Użyj numeru identyfikacyjnego grupy w funkcji drabinowkowej.

 

Konfiguracja Modbus Slave

Jak wspomniano wcześniej, pojedynczy UniStream może działać zarówno jako Master, jak i Slave.

  1. W drzewie projektu kliknij PLC Communications, aby je rozwinąć, a następnie Protocols > MODBUS > Slave; otwiera to porty MODBUS.
  2. Wybierz żądany port i kliknij Add new Slave. Można także dodać urządzenie Slave, klikając prawym przyciskiem myszy port MODBUS w drzewie projektu.

 

  1. Okno Właściwości urządzenia Slave otwiera się po prawej stronie ekranu, natomiast adresy dodajemy na środku ekranu Add New Operation.
  2. Dla każdego urządzenia Slave dodaj nowe operacje w sposób opisany poniżej.

 

Dodawanie operacji

Utworzone operacje MODBUS są ułożone w tabeli. Aby dodać pojedynczą operację:

  1. Wybierz zakładkę z żądanym rodzajem operacji i kliknij Add new Operation. UniLogic dodaje wiersz do tabeli.
  2. Kliknij pola, aby edytować i dokonać wyboru. Należy pamiętać, że uprawnienia określają dostęp główny do urządzenia Slave w ramach operacji.

 

Aby dodać pakiet operacji:

  1. Wybierz kartę z żądanym typem operacji i kliknij strzałkę rozwijaną w obszarze Add New Operation.
  2. Wybierz opcję Add New Operation Batch; UniLogic otwiera okno Add, wyświetlając odpowiedni typ tagu.
  3. Wyświetl tagi w strukturach za pomocą ikon Rozwiń/Zwiń obok pola wyszukiwania lub klikając strzałki, aby je rozwinąć. Na następnym obrazie wybrane są Cewki, dlatego wyświetlane są tylko cewki, w tym cewki z struktur.
  4. Zaznacz żądane tagi i kliknij Dodaj. W strukturze pokazanej poniżej wybrana jest tablica bitów wraz z dwoma pojedynczymi bitami.

 

Aby dodać strukturę operacji:

  1. Wybierz kartę z żądanym typem operacji i kliknij strzałkę rozwijaną w obszarze Add new Operation.
  2. Wybierz opcję Add new Structs; UniLogic otwiera okno Dodaj, wyświetlając struktury.

 

Struktura Slave

Zdefiniowanie urządzenia Slave spowoduje automatyczne utworzenie struktury Slave.

  1. Session (UINT32) - Łączna liczba prób sesji
  2. Success (UINT32) - Całkowita liczba udanych sesji
  3. Fail (UINT32) - Całkowita liczba nieudanych sesji
  4. Number of Clients (UINT8) - Tylko do odczytu. Jest to liczba klientów aktualnie podłączonych do Slave.
  5. Port (UINT16) – Tylko do odczytu. Numer portu.
  6. Slave ID (UINT32) – Tylko do odczytu. Adres ID Slave’a.

 

Import/Eksport zbiorczy

Możesz eksportować i importować definicje urządzeń Slave UniStream MODBUS Master za pośrednictwem dedykowanego pliku Unitronics. Aby wyeksportować Slave:

  • Wszystkie Slave’y, kliknij prawym przyciskiem myszy Slaves i wybierz Eksportuj lub Importuj Slaves.
  • Pojedynczy Slave, kliknij prawym przyciskiem myszy nazwę Slave.

 

Eksport Slave'a

Możesz eksportować definicje lokalnych Slave do programu Excel. Aby wyeksportować definicje należy kliknąć prawym przyciskiem myszy na nazwę Slave’a.

 

 

MODBUS Master Debugging: Porzucone operacje

W niektórych przypadkach, np. przy dużym projekcie z dużą liczbą czujników, cała kolejka operacji może nie zostać uruchomiona podczas skanowania. Aby sprawdzić, czy tak jest, monitoruj parametr Dropped w strukturze Remote Slave i sprawdź, czy podczas skanowania nie zostały porzucone operacje.

Parametr Dropped to licznik stale rosnący, którego użytkownik nie może zresetować. Tylko reset PLC powoduje wyzerowanie rejestru.

Jeśli wartość Dropped rośnie, najpierw sprawdź swoją aplikację. Operacje, które podczas skanowania muszą być wykonywane tylko okazjonalnie, takie jak włączanie komputera, można wykonać jako operacje aperiodyczne za pomocą drabinki.

Jeśli to nie rozwiąże problemu, w oknie Właściwości Slave’a zaznacz opcję Add to queue Size i wprowadź wartość w obszarze Extended queue.

Należy pamiętać, że ponieważ wydłuży to czas skanowania, zaleca się dodawanie w małych odstępach co 2.

 

Sprawdzanie poprawności konfiguracji Modbus

Podczas edycji można wybrać kartę wstążkę Remote Slave i kliknąć ją, aby sprawdzić, czy adresy się pokrywają. Pomoże to uniknąć niezamierzonego nadpisania danych.

Skontaktuj się ze specjalistą Elmark

Masz pytania? Potrzebujesz porady? Zadzwoń lub napisz do nas!