sobota, 30 lipca 2016

Protokoły komunikacyjne - wstęp do Modbus

Modbus to jeden z najczęściej spotykanych protokołów komunikacyjnych. To prosty i otwarty standard. Powiada wersje zarówno dla portów szeregowych jak i sieci ethernet.

WERSJE MODBUS
  • RTU - podstawowa wersja dla portów szeregowych
  • ASCII - alternatywna wersja dla portów szeregowych, wyróżnia się dodatkowym kodowaniem ASCII
  • TCP - podstawowa wersja dla sieci ethernet
  • OverTCP - alternatywna wersja dla sieci ethernet, gdzie ramka wersji RTU lub ASCII jest wysyłana po TCP

FUNKCJE MODBUS

Wszystkie wersje protokołu Modbus posiadają taki sam zestaw funkcji.

  • 01 - Read Coils
  • 02 - Read Discrete Inputs
  • 03 - Read Holding Registers
  • 04 - Read Input Registers
  • 05 - Write Single Coil
  • 06 - Write Single Register
  • 15 - Write Multiple Coils
  • 16 - Write Multiple Registers

Po przyjrzeniu się zestawowi funkcji nie jest trudno zauważyć 4 obszary pamięci.

Rodzaj zmiennej Odczyt Zapis
Coils 1-bitowy Tak Tak
Discrete Inputs 1-bitowy Tak Nie
Holding Registers 16-bitowy Tak Tak
Input Registers 16-bitowy Tak Nie


ADRES MODBUS

Adres Modbus, inaczej UnitID, to adres konkretnego urządzenia. Na linii musi być unikalny dla każdego slave'a i master'a. Jest szczególnie istotny przy komunikacji za pomocą portów szeregowych.

czwartek, 28 lipca 2016

TwinCAT - dodawanie modułów i podłączanie zmiennych

Sterownik PLC nie miałby sensu, gdyby nie podłączone moduły. Jest ich wiele rodzajów. Za przykład posłużą wejścia i wyjścia, zarówno cyfrowe jak i analogowe. Konfiguracja modułów podłączonych do sterownika odbywa się w trybie CONFIG.

WYKRYCIE MODUŁÓW
  1. gałąź I/O - Configuration
  2. gałąź I/O Devices
  3. opcja Scan Devices (po kliknięciu prawym przyciskiem myszy na gałęzi)
  4. potwierdzenie Scan Boxes
W efekcie powinna się pojawić lista modułów z domyślną nazwą Term i odpowiednim numerem, co najważniejsze w kolejności zgodnej z fizyczną. Ma ona formę drzewa, którego liście to faktyczne wartości. Wartości wejściowe są oznaczone kolorem żółtym, a wartości wyjściowe czerwonym. W zakładce Online można uzyskać podgląd wartości, a także ją wymusić lub wpisać.

DODANIE PROJEKTU
  1. gałąź PLC - Configuration
  2. opcja Append PLC Project(po kliknięciu prawym przyciskiem myszy na gałęzi)
Teraz wystarczy znaleść odpowiedni plik z rozszerzeniem TPY, który otrzymaliśmy po zbudowaniu projektu w PLC Control.

LINKOWANIE

Do zlinkowania zmiennych potrzebne są odpowiednio zadeklarowane zmienne w programie, na przykład:
wejscie_cyfrowe AT%I* : BOOL;
wyjscie_cyfrowe AT%Q* : BOOL;
wejscie_analogowe AT%I* : REAL;
wyjscie_analogowe AT%Q* : REAL;
Teraz wystarczy znaleść odpowiednią wartość w drzewie. Po kliknięciu na nią prawym przyciskiem myszy wybieramy opcję Change Link. Pokazuje się lista zmiennych z programu, które możemy zlinkować z wybraną wartością. Ten sam efekt przyniesie kliknięcie lewym przyciskiem myszy i użycie przycisku Linked to w zakładce Variable. Tutaj widać też jakiego typu zmienną należy zadeklarować w programie. Jeśli nie widać ostatnio dodanych zmiennych, należy w gałęzi PLC - Configuration wybrać projekt i nacisnąć przycisk ReScan.

AKTYWACJA

Ostatni krok to umieszczenie konfiguracji w sterowniku.
  1. przycisk Generate mappings
  2. przycisk Check configuration
  3. przycisk Activate configuration
W tym momencie, po zalogowaniu przy pomocy PLC Control i ewentualnemu uruchomieniu programu, powinno być widać odpowiednie wartości przypisane do zmiennych.