Katedra Inżynierii Systemów Sterowania WEiA PG. Przemysłowe Sieci Informatyczne Laboratorium

Podobne dokumenty
Materiały dodatkowe Krótka charakterystyka protokołu MODBUS

Materiały dodatkowe. Konfiguracja sterownika programowalnego Siemens do obsługi protokołu MODBUS. Opracowali: mgr inż.

Przemysłowe Sieci Informatyczne - Laboratorium nr 2 protokół MODBUS - Instrukcja. Opracowali: Tomasz Karla, mgr inż., Jarosław Tarnawski, dr inż.

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

1. Cel ćwiczenia. Celem ćwiczenia jest zestawienie połączenia pomiędzy dwoma sterownikami PLC za pomocą protokołu Modbus RTU.

Ćwiczenia z S Komunikacja S z miernikiem parametrów sieci PAC 3200 za pośrednictwem protokołu Modbus/TCP.

Spis treści. 1 Moduł Modbus TCP 4

Panele operatorskie PanelView Plus 6 Komunikacja

Protokół MODBUS. Przemysłowe Sieci Informatyczne (PSI)

Katedra Inżynierii Systemów Sterowania WEiA PG. Przemysłowe Sieci Informatyczne Laboratorium

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji.

INFORMATOR TECHNICZNY HORNER. Konfiguracja komunikacji GPRS pomiędzy sterownikiem XLe i oprogramowaniem Proficy HMI/SCADA Cimplicity

Instrukcja do oprogramowania ENAP DEC-1

Protokół MODBUS. Przemysłowe Sieci Informatyczne (PSI)

Spis treści. Tworzenie projektu z protokołem Modbus TCP w S PLC

Konfiguracja panelu ASTRAADA HMI z sterownikiem ASTRADA ONE

DATAPROVIDER DLA PROTOKOŁU MODBUS (RS) - INSTRUKCJA

1. Aplikacja LOGO! App do LOGO! 8 i LOGO! 7

Funkcje sterownika CellBOX-UxR ModBUS RTU

FAQ: /PL Data: 9/04/2013 WinCC v7 Wymiana danych ze sterownikiem serii S poprzez protokół Modbus TCP

MODBUS RTU wersja M1.14 protokół komunikacyjny wyświetlaczy LDN

Konfiguracja serwera OPC/DDE KEPSServerEX oraz środowiska Wonderware InTouch jako klienta DDE do wymiany danych

Politechnika Śląska w Gliwicach Instytut Automatyki 2005/2006

Bit 11 pierwszego słowa komunikacji acyklicznej ustawny jest na wartość 0 i nie podlega modyfikacji.

Konfigurowanie sterownika CP6601 firmy Beckhoff wprowadzenie

1 Moduł Modbus ASCII/RTU 3

Komunikacja sterownika PLC Fatek jako master w protokole ModBus RTU

Konfiguracja sterowników Horner APG do pracy w trybie Modbus RTU Master

FAQ: /PL Data: 3/07/2013 Konfiguracja współpracy programów PC Access i Microsoft Excel ze sterownikiem S7-1200

ADVANCE ELECTRONIC. Instrukcja obsługi aplikacji. Modbus konfigurator. Modbus konfigurator. wersja 1.1

Komunikacja Master-Slave w protokole PROFIBUS DP pomiędzy S7-300/S7-400

Konfigurowanie sterownika CX9000 firmy Beckhoff wprowadzenie

Katedra Inżynierii Systemów Sterowania WEiA PG. Przemysłowe Sieci Informatyczne Laboratorium

Poniższy przykład przedstawia prosty sposób konfiguracji komunikacji między jednostkami centralnymi LOGO! w wersji 8 w sieci Ethernet.

POLITECHNIKA WARSZAWSKA Wydział Elektryczny Instytut Elektroenergetyki Zakład Elektrowni i Gospodarki Elektroenergetycznej

Instrukcja użytkownika ARSoft-WZ1

Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski SYSTEMY SCADA

Konfigurowanie sterownika CX1000 firmy Beckhoff wprowadzenie. 1. Konfiguracja pakietu TwinCAT do współpracy z sterownikiem CX1000

Materiały dodatkowe. Simulink PLC Coder

Konfiguracja sterowników Horner APG do pracy w trybie Modbus RTU Master

1 Moduł Modbus ASCII/RTU

Ćwiczenia z S S jako Profinet-IO Controller. FAQ Marzec 2012

ArtPlayer oprogramowanie do odtwarzania plików video sterowane Artnet/DMX V1.0.1

TwinCAT 3 konfiguracja i uruchomienie programu w języku ST lokalnie

cmt + CODESYS, oraz zdalne wejścia/ wyjścia

Podstawy programowania w środowisku Totally Integration Automation Portal

MODBUS 40. Instrukcja instalatora modułu komunikacyjnego IHB

Instrukcja użytkownika ARsoft-CFG WZ1 4.0

Tytuł: Instrukcja obsługi Modułu Komunikacji internetowej MKi-sm TK / 3001 / 016 / 002. Wersja wykonania : wersja oprogramowania v.1.

INFORMATOR TECHNICZNY GE FANUC

Instrukcja obsługi Konfigurator MLAN-1000

Sterowania rozproszone z wykorzystaniem protokołu EGD (Ethernet Global Data)

CLIMATE 5000 VRF. Karta bramki systemu zarządzania budynkiem (Modbus) BMS-MOD. Instrukcja montażu (2015/07) PL

FAQ: /PL Data: 09/06/2012. Zastosowanie zmiennych Raw Data Type WinCC v7.0

Moduł Ethernetowy. instrukcja obsługi. Spis treści

Site Installer v2.4.xx

Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy

Instrukcja połączenia z programem Compas LAN i import konfiguracji

Materiały dodatkowe. Simulink Real-Time

Przykładowa konfiguracja komunikacji pomiędzy oprogramowaniem Wonderware i Codesys z wykorzystaniem sieci LAN lub modułu GSM

Konfigurowanie sterownika BX9000 firmy Beckhoff wprowadzenie. 1. Konfiguracja pakietu TwinCAT do współpracy ze sterownikiem BX9000

FAQ: /PL Data: 2/07/2013 Konfiguracja współpracy programów PC Access i Microsoft Excel ze sterownikiem LOGO!

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA

Kod produktu: MP-W7100A-RS232

Laboratorium A: Zarządzanie drukowaniem/klucz do odpowiedzi

SERWER AKTUALIZACJI UpServ

INSTRUKCJA OBSŁUGI OPROGRAMOWANIA VMS. Spis treści Instalacja Instrukcje użytkowania i obsługi... 3

Rozdział ten zawiera informacje o sposobie konfiguracji i działania Modułu OPC.

Zadania do ćwiczeń laboratoryjnych Systemy rozproszone automatyki - laboratorium

Laboratorium - Podgląd informacji kart sieciowych bezprzewodowych i przewodowych

FAQ: /PL Data: 14/06/2007 Konfiguracja współpracy programów PC Access i Microsoft Excel ze sterownikiem S7-200

Instrukcja podstawowego uruchomienia sterownika PLC LSIS serii XGB XBC-DR20SU

Zdalny podgląd wizualizacji z panelu XV100 przez przeglądarkę internetową (WebServer)

SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE

SKRó CONA INSTRUKCJA OBSŁUGI

Wymagania programowe: STEP 7 STEP 7-Micro/Win

1. Opis. 2. Wymagania sprzętowe:

Instrukcja aktualizacji oprogramowania. Wersja dokumentu: 01i00 Aktualizacja:

Politechnika Wrocławska

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

PROTOKÓŁ MQTT (uzupełnienie do instrukcji obsługi miernika ND30)

Siemens S Konfiguracja regulatora PID

Przejrzystość, intuicyjny charakter i łatwość oprogramowania sterowników FATEK.

UNIPROD GLIWICE ul. Sowińskiego 3 tel: , fax kontakt@uniprod.pl

Autorzy. Zespół SABUR Sp. Z o.o. Wydanie Data. Sierpień SABUR Sp. Z o. o. Wszelkie prawa zastrzeżone

Lumel Proces pierwsze kroki

Instrukcja obsługi symulatora linii produkcyjnej Komunikacja Modbus RTU (sterowniki PSW, Beckhoff)

Kod produktu: MP-W7100A-RS485

INSTRUKCJA INSTALACJI WEB SERWER STW

Instrukcja EQU Kantech

Laboratorium Komputerowe Systemy Pomiarowe

OPTIMA PC v Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA ELFON. Instrukcja obsługi. Rev 1

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

System obsługi wag suwnicowych

Program dla praktyki lekarskiej

GRM-10 - APLIKACJA PC

HOTSPOT. [ konfiguracja, rejestracja, użytkowanie ]

4. Podstawowa konfiguracja

Dla tego poniższy przykład obrazuje ogólne założenia parametryzacji, konfiguracji oraz aktywacji serwera sieciowego w sterowniku PLC.

Sterownik Spid Pant 8 i Ant 8. Podręcznik użytkowania

Transkrypt:

Katedra Inżynierii Systemów Sterowania WEiA PG Przemysłowe Sieci Informatyczne Laboratorium Instrukcja do ćwiczenia: Komunikacja z wykorzystaniem protokołu MODBUS Opracowali: Mgr inż. Tomasz Karla Dr inż. Jarosław Tarnawski na podstawie: [1] MODBUS APPLICATION PROTOCOL SPECIFICATION V1.1b3 - www.modbus.org [2] MODBUS FAQ - www.modbus.org [3] Instrukcja PSI Protokół Modbus 2012-2013, mgr inż. Paweł Ilczyszyn, mgr inż. Paweł Dobrowolski [4] http://www.simplymodbus.ca/faq.htm#modbus (z dnia 19.03.2014) Zawartość 1. Cele laboratorium... 2 2. Charakterystyka protokołu Modbus [2]... 2 2.1 Protokół Modbus wykorzystujący transmisję szeregową... 2 2.1.1 Tryby transmisji szeregowej Modbus... 3 2.2. Modbus TCP/IP... 4 3. Zadania do wykonania... 4 3.1 Modbus RTU i Modbus Tester... 4 3.2 Konfiguracja sterownika programowalnego Siemens.... 5 3.3 Klient Modbus w środowisku MATLAB.... 9 3.4 Pętla sterowania z wykorzystaniem protokołu Modbus (opcjonalne)... 10 4. Przydatne informacje... 10 4.1 Komendy MATLAB.... 10 4.2 Formaty PDU poszczególnych funkcji Modbus.... 10 1

1. Cele laboratorium Celem laboratorium jest zapoznanie się z protokołem komunikacyjnym Modbus oraz nabycie umiejętności wykorzystania protokołu Modbus do odczytu i zapisu danych binarnych i analogowych zawartych w sterownikach programowalnych firm Siemens i GE Fanuc będących typowymi przedstawicielami przemysłowych urządzeń sterujących. W trakcie realizacji laboratorium należy wykonać następujące zadania: OBOWIĄZKOWE a) zestawić połączenie wykorzystujące transmisję szeregową pomiędzy sterownikiem programowalnym GeFanuc i programem MBus (Modbus Tester), dokonać odczytu wskazanych wejść binarnych i rejestrów, zapisać stan wyjść binarnych i rejestrów, przeanalizować i zanotować w sprawozdaniu strukturę ramki protokołu komunikacyjnego Modbus/RTU, b) zestawić połączenie wykorzystujące transmisję sieciową TCP/IP pomiędzy sterownikiem programowalnym Siemens i środowiskiem MATLAB za pomocą skryptu definiującego ramkę MODBUS, dokonać odczytu wskazanych wejść binarnych i rejestrów, zapisać stan wyjść binarnych i rejestrów, przeanalizować i zanotować strukturę ramki protokołu komunikacyjnego Modbus TCP, c) uzupełnić opracowany w zadaniu b) skrypt o funkcjonalność odczytu i zapisu danych ze sterowników wykorzystywanych przez innych Studentów (co najmniej dwa inne sterowniki) oraz sterownik i adresy rejestrów wskazane przez Prowadzącego zajęcia. OPCJONALNE d) zrealizować układ sterowania z modelem obiektu symulowanym w środowisku MATLAB i regulatora zaimplementowanego w sterowniku programowalnym z wykorzystaniem protokołu komunikacyjnego MODBUS. 2. Charakterystyka protokołu Modbus [2] Protokół komunikacyjny MODBUS jest definicją, opisem struktury komunikatów opracowaną przez firmę Modicon (obecnie Schneider Electric) w 1979 roku. Jest on wykorzystywany do ustanowienia komunikacji wg modelu masterslave/client-server pomiędzy urządzeniami. Stanowi de facto otwarty standard, i jest to najczęściej stosowany protokół sieciowy w środowisku przemysłowym. Został zaimplementowany przez setki producentów w tysiącach różnych urządzeń sterujących w celu transferu dyskretnych i analogowych wejść i wyjść oraz danych rejestrowych. Protokół MODBUS jest wspólnym językiem komunikacji wśród urządzeń różnych producentów. W raportach technicznych napotyka się na określenia "standard integracji urządzeń wielu producentów". W raportach przemysłowych można znaleźć udokumentowane ponad 7 milionów węzłów (urządzeń z zaimplementowanym protokołem) w Europie i USA. Po wielu latach rozwijania protokołu MODBUS firma Schneider przekazała pieczę nad tym zadaniem organizacji typu non-profit pod nazwą Modbus Organization. 2.1 Protokół Modbus wykorzystujący transmisję szeregową Komunikacja pomiędzy urządzeniami odbywa się asynchronicznie, z wykorzystaniem interfejsu RS232 lub zgodnych RS- 422, RS-485. Protokół Modbus zajmuje trzy warstwy w modelu ISO/OSI: - warstwa 1 (fizyczna) definiuje w jaki sposób wysyłane i odbierane są sygnały, przy wykorzystaniu specyfikacji RS-232, RS-422 lub RS-485. - warstwa 2 (łącza danych) nadzoruje ruch w oparciu o protokół typu Master-Slave, wykorzystywane są ramki typu RTU lub ASCII. - warstwa 7 (aplikacji) określa w jaki sposób następuje komunikacja : klient-serwer. 2

2.1.1 Tryby transmisji szeregowej Modbus Protokół Modbus Serial umożliwia komunikację za pomocą dwóch typów ramek: Tryb ASCII (znakowy) - Każdy bajt w wiadomości wysyłany jest w postaci dwóch znaków ASCII Rys.1. protokołu Modbus - tryb ASCII. Tryb RTU (binarny) - Pomiędzy ramkami wymagana jest przerwa trwająca co najmniej 3.5 x T, gdzie T czas trwania pojedynczego znaku. Dodatkowo odstępy pomiędzy kolejnymi znakami w jednej ramce nie mogą być większe niż 1.5 x T. Rys.2. protokołu Modbus - tryb RTU. Szczegółowy opis ramki (na podstawie RTU). Adres adres urządzenia slave z którym ma nastąpić komunikacja, zakres od 1 do 247. Dodatkowo adres 0 wykorzystywany jest jako adres rozgłoszeniowy, wykorzystywany do komunikacji ze wszystkimi urządzeniami. Funkcja kod rozkazu, który określa konkretne polecenie żądane przez Mastera. Zakres funkcji zawiera się od 1 do 255. Kod Kod (hex) Opis 1 01h Odczyt wyjść bitowych 2 02h Odczyt wejść bitowych 3 03h Odczyt n rejestrów 4 04h Odczyt n rejestrów wejściowych 5 05h Zapis 1 bitu 6 06h Zapis 1 rejestru 7 07h Odczyt statusu urządzenia slave 8 08h Test diagnostyczny 15 0Fh Zapis n bitów 16 10h Zapis n rejestrów 17 11h Identyfikacja urządzenia slave 128-255 80h-FFh Zarezerwowane dla błędnych Dane pole to zawiera dodatkowe dane potrzebne do wykonania przez urządzenie Slave. Mogą to być adresy rejestrów, liczba bajtów lub też inne dane. Przykładowo przy zapisie danych (kod funkcji 10h) wymagane jest podanie adresu rejestru początkowego, ilość rejestrów, ilość pozostałych bajtów w polu danych oraz dane przeznaczone do zapisu. Kontrola danych odbywa się w celu weryfikacji poprawności wysyłanych danych. W przypadku ramki RTU wykorzystywane jest CRC (Cyclical Redundancy Check), czyli 16 bitowe słowo kontrolne. CRC zajmuje 2 bajty i dołączane jest na końcu ramki. 3

2.2. Modbus TCP/IP RAMKA TCP RAMKA MODBUS PDU 2 Bajty 2 Bajty 2 Bajty 1 Bajt 1 Bajt Różnie Identyfikator transakcji Identyfikator protokołu Pole długości Identyfikator jednostki Kod funkcji Dane Rys.3. Modbus TCP/IP. podobna jak w trybie RTU, pozbawiona pola kontroli danych lecz rozszerzona o parametry: Identyfikator transakcji dwubajtowe pole identyfikujące zapytanie w celu powiązania z ą. Najczęściej pozostawiane jako 0. Identyfikator protokołu dwubajtowe pole zarezerwowane dla przyszłych rozszerzeń. Aktualnie przyjmuje wartość 0. Pole długości dwubajtowe pole określające liczbę bajtów w komunikacie (wszystkie dane występujące po tym polu). Identyfikator jednostki jednobajtowe pole zastępujące adres urządzenia slave, służące do identyfikowania poszczególnych jednostek slave. 3. Zadania do wykonania 3.1 Modbus RTU i Modbus Tester Należy nawiązać łączność ze sterownikiem programowalnym GeFanuc za pomocą programu Mbus (Modbus Tester), który powinien znajdować się na pulpicie. Pozwala on wysyłać do sterownika programowalnego (SP) wykorzystując protokół Modbus RTU oraz podglądać formaty ramek, zarówno wysyłanych jak i otrzymywanych. Każde stanowisko składa się z dwóch komputerów, na których zostały już przygotowane odpowiednie konfiguracje dla SP w oprogramowaniu Proficy (projekty o nazwie PSI MODBUS). Prowadzący wskaże, na których komputerach mają być uruchomione programy Mbus. W zakładce Modbus Settings należy ustawić odpowiednie parametry komunikacji poprzez port szeregowy (numer portu COM zależy od komputera, pozostałe parametry to standardowo 19.2 kbps, 8 bitów, ODD parity i 1 bit stopu). W zakładce View Data wybiera się komendy do wysłania do SP. Aby możliwe było łatwe zarejestrowanie ramek komunikacyjnych należy ustawić Scan rate na więcej niż 5 sekund a następnie wybrać odpowiednią komendę (w programie wybiera się typ rejestru na który chcemy wpłynąć, 0:Coils to wyjścia cyfrowe, 1: Input wejścia cyfrowe, 3: Input registers to wejścia analogowe zaś 4: Holding registers to rejestry pamięci SP). Po wyborze komendy należy przejść na zakładkę Communication Spy, połączyć się za sterownikiem i zarejestrować ramki komunikacyjne. Po udanej komunikacji najlepiej rozłączyć połączenie. W czasie ćwiczenia należy zarejestrować ramki następujących poleceń i ich : 1. Odczytanie wejścia cyfrowego numer [1 plus reszta z dzielenia liczby liter w nazwisku studenta przez 8 ], 2. Aktywacja wyjścia cyfrowego numer [1 plus reszta z dzielenia liczby liter w imieniu studenta przez 8], 3. Zapis wybraną wartością rejestru numer [1 plus reszta z dzielenia liczby liter w nazwisku studenta przez 8], 4. Odczyt wartości rejestru numer [1 plus reszta z dzielenia liczby liter w imieniu studenta przez 8] po wcześniejszym zapisaniu go wybraną wartością za pomocą oprogramowania Proficy. Ramki poleceń i ich zwrotne od SP należy umieścić w sprawozdaniu. 4

W przypadku sterowników firmy GE-Fanuc, występują następujące zależności pomiędzy obszarami pamięci, a kodowaniem danych w ramce: %Qxxxx numeracja od 0xxxx (np. %Q0001 00 000), %Ixxxx numeracja od 1xxxx (np. %I0001 10 000), %AIxxxx numeracja od 3xxxx (np. %AI0001 30 000), %Rxxxx numeracja 4xxxx (np. %R0001 40 000). 3.2 Konfiguracja sterownika programowalnego Siemens. Aby była możliwa komunikacja (SP) z komputerem należy najpierw skonfigurować SP zgodnie instrukcją [Instrukcja S7-1200] Cz.1 - Pierwsze kroki. UWAGA: Numery IP dla poszczególnych SP są opisane w pliku E200.pdf. Po skonfigurowaniu SP oraz utworzeniu nowego projektu należy przygotować program w języku drabinkowym, umożliwiający komunikację komputera z SP wykorzystując protokół Modbus TCP. W tym celu należy w oknie Program blocks-> Main dodać blok funkcyjny MB_SERVER. Będzie on odpowiadał za komunikację z wykorzystaniem protokołu Modbus TCP. Należy uzupełnić pola CONNECT_ID oraz MB_HOLD_REG. W pierwszym należy wpisać liczbę, która będzie identyfikatorem użytym w czasie połączenia. Standardowo można ustawić 1. W MB_HOLD_REG będą znajdowały się rejestry modyfikowane i odczytywane w czasie używania modbusowych funkcji numer 3, 6 i 16. Aby zadeklarować obszar pamięci dla serwera Modbusa należy w zakładce Program blocks dodać nowy blok (Add new block). W otwartym oknie należy kliknąć Data block, wybrać typ Global DB oraz zaznaczyć Standard compatible with S7-300/400 (patrz rysunek 4). Rys.4. Tworzenie bloku danych. 5

Po utworzeniu bloku należy w nim ustawić odpowiednią strukturę rejestrów. Na potrzeby serwera należy zadeklarować 11 rejestrów typu WORD. Rys.5. Zadeklarowane rejestry. Po zadeklarowaniu obszaru pamięci należy dodać do niego odwołanie w MB_HOLD_REG. Należy tam wpisać formułę wg wzoru P#[ID bloku pamięci].dbx0.0 WORD 11. W tym przykładzie jest to P#DB1.DBX0.0 WORD 11 (patrz rysunek). Rys.6. Deklarowanie obszaru pamięci dostępnego dla serwera Modbus. W ten sposób został przygotowany moduł alny za komunikację wykorzystującą protokół Modbus TCP. Należy jeszcze sprawdzić, które obszary pamięci są powiązane z analogowymi i cyfrowymi wejściami/wyjściami w SP. 6

Aby to zrobić, należy przejść do zakładki Device configuration. W oknie z wizualizacją SP należy kliknąć na środkowy, kwadratowy panel sterownika. W tabeli poniżej pokażą się informacje związane z przydzielonymi rejestrami pamięci dla poszczególnych modułów wejść/wyjść. Należy odszukać moduły związane z wyjściami i wejściami cyfrowymi/analogowymi. W przykładzie (patrz rysunek 7) były to DI14/DQ10_1 (moduł wejść/wyjść cyfrowych), AI2_1 (moduł wejść analogowych) oraz AQ1 (moduł wyjścia analogowego). W kolumnach I Address oraz Q Address znajdują się przypisane im obszary pamięci sterownika. Należy je zapamiętać/zapisać. Rys.7. Konfiguracja poszczególnych modułów. Kolejnym krokiem jest połączenie jednego z rejestrów serwera Modbusa z analogowym wyjściem, aby możliwe było sterowanie jego wartością. Najpierw należy zadeklarować odpowiednie tagi do rejestrów odnoszących się do wejść/wyjść. W zakładce PLC tags->show all tags należy dodać dwa nowe tagi np. input i output jak w przykładzie (patrz rysunek 8). Jako typ należy wybrać WORD zaś w adresie należy wpisać wcześniej sprawdzone adresy dla analogowych modułów wejść/wyjść. Należy wybrać odpowiedni typ rejestru (I lub Q) oraz określić rejestr (w tym przypadku były to I 64 dla wejść analogowych i Q 80 dla wyjścia). W tym przykładzie utworzono jeden tag input dla pierwszego z dwóch wejść analogowych oraz tag output dla jedynego wyjścia analogowego. W razie potrzeb można jeszcze zadeklarować tagi dla pozostałych wejść analogowych oraz wejść/wyjść cyfrowych, jednak nie jest to teraz konieczne. 7

Rys.8. Deklarowanie tagów. Po zadeklarowaniu tagów należy powiązać wyjście analogowe z serwerem Modbus. W tym celu dodano dwa bloki MOVE przed i po bloku MB_SERVER (patrz rysunek 9). W wejściu IN górnego bloku należy wpisać tag związany z analogowym wyjściem, w tym wypadku jest to output. W OUT należy wybrać pierwszy rejestr bloku pamięci zadeklarowanego dla serwera Modbus. W tym wypadku blok pamięci nazywa się Data_block_2, zaś pierwszy rejestr nosi nazwę MB, więc cały wpis to Data_block_2.MB. W czasie wpisywania nazwy bloku pamięci pojawi się lista dostępnych nazw, po wybraniu odpowiedniej pokaże się lista dostępnych w danym bloku pamięci rejestrów. Po wybraniu pierwszego rejestru pole powinno uzupełnić się automatycznie. Podobnie należy wpisać wartości w bloku MOVE pod MB_SERVER jednak trzeba zamienić miejscami wartości wpisywane do IN i OUT (rysunek 9). Rys.9. Dodawanie bloków MOVE. Pozostało utworzyć jeszcze tablicę do podglądania wartości poszczególnych rejestrów. W tym celu należy w zakładce Watch and force tables utworzyć nową tablicę i zadeklarować w niej rejestry do podglądu. W niej trzeba umieścić wszystkie rejestry bloku pamięci serwera Modbus oraz rejestry output i input (patrz rysunek 10). W polu Modify value można wpisywać wartości, które będą wymuszane na danych rejestrach. Monitor value podaje aktualną wartość rejestru. Jednak aby zapisać/odczytać rejestry należy wybrać odpowiednią opcję z menu, które pokaże się po kliknięciu prawym przyciskiem myszy w oknie. 8

Rys.10. Podgląd rejestrów. Należy teraz skompilować utworzony program i załadować do sterownika klikając odpowiednie przyciski w górnym menu. 3.3 Klient Modbus w środowisku MATLAB. Zadaniem jest napisanie skryptu, pozwalającego na komunikację z wcześniej przygotowanym sterownikiem programowalnym z wykorzystaniem protokołu Modbus. Skrypt ma za zadanie wysyłać odpowiednio sformatowaną ramkę do SP oraz odebrać i wyświetlić od niego odpowiedź. Przydatne funkcje znajdują się w rozdziale 4. tej instrukcji. Po opracowaniu skryptu należy wykonać zestaw następujących poleceń za pomocą odpowiednich ramek i funkcji protokołu Modbus: 1. Zapalić jedną komendą wyjścia cyfrowe numer: [reszta z dzielenia liczby liter w nazwisku studenta przez 8], [reszta z dzielenia liczby liter w imieniu studenta przez 8] oraz [reszta z dzielenia roku urodzenia studenta przez 8]. W jakiej kolejności aktywują się wyjścia cyfrowe? 2. Aktywować przełącznikami losowe wejścia cyfrowe (co najmniej 2) i odczytać za pomocą jednej komendy wartość wszystkich wejść cyfrowych modułu. W jaki sposób interpretować odpowiedź serwera Modbus? 3. Ustawić za pomocą potencjometru wartość [reszta z dzielenia liczby liter w nazwisku studenta przez 8] napięcia na wejściu analogowym SP i odczytać wartość tego wejścia. UWAGA. Numer rejestru do sprawdzenia przez Modbus jest równy połowie zadeklarowanego adresu w SP. 4. Ustawić na wyjściu analogowym wartość napięcia równą [reszta z dzielenia liczby liter w imieniu studenta przez 8]. UWAGA. Nie należy zapisywać w rejestrze powiązanym z wyjściem analogowym wartości liczbowych większych niż 30000. 5. Zapisać jedną komendą 5 rejestrów serwera Modbus poczynając od [1 plus reszta z dzielenia liczby liter w imieniu studenta przez 5] i odczytać je z tablic obserwacji wartości rejestrów wcześniej zadeklarowanych i widocznych w programie TIA. 6. Aktywacja wyjścia cyfrowego numer [reszta z dzielenia roku urodzenia studenta przez 8] na stanowisku obok i odczyt rejestru numer [liczba liter w nazwisku studenta] na SP wskazanym przez prowadzącego. Należy zapisać ramki poszczególnych komend oraz serwera Modbus na kartce wraz z podziałem ramki na poszczególne części i ich ewentualną analizą. 9

3.4 Pętla sterowania z wykorzystaniem protokołu Modbus (opcjonalne). Należy zamodelować prosty obiekt sterowania np. inercję pierwszego rzędu. Następnie zaimplementować dla danego obiektu regulator w SP i zapewnić komunikację między obiektami z wykorzystaniem protokołu Modbus. 4. Przydatne informacje 4.1 Komendy MATLAB. Poniżej znajdują się komendy przydatne do napisania skryptu wymaganego w punkcie 3.2. Po szczegółowe opisy należy sięgnąć do dokumentacji MATLAB. echotcpip tcpip fopen set(con,'timeout',.5); fwrite fread fclose Wł/wył echo serwer Tworzy obiekt tcp/ip Otwiera zadeklarowany strumień Ustawia czas oczekiwania na odpowiedź Zapisuje dane do strumienia Odczytuje dane ze strumienia Zamyka otwarty strumień 4.2 Formaty PDU poszczególnych funkcji Modbus. Więcej informacji na http://www.simplymodbus.ca/faq.htm#modbus (z dnia 18.03.2014) 1) Odczyt wyjść bitowych funkcja 01h 10

2) Odczyt wejść cyfrowych funkcja 02h 3) Odczyt n rejestrów funkcja 03h 11

4) Odczyt n rejestrów wejściowych funkcja 04h 5) Zapis 1 bitu funkcja 05h 12

6) Zapis 1 rejestru funkcja 06h 7) zapis n bitów funkcja 0Fh 13

8) zapis n rejestrów funkcja 10h 14

SPRAWOZDANIE PSI 2 PROTOKÓŁ MODBUS Imię Nazwisko Data Godzina Liczba liter w imieniu (LLI) Reszta z dzielenia LLI przez 8 Liczba liter w nazwisku (LLN) Reszta z dzielenia LLN przez 8 Rok urodzenia (RU) Reszta z dzielenia RU przez 8 Reszta z dzielenia LLI przez 5 Poniżej należy umieścić zarejestrowane ramki i zaznaczyć ich podział na poszczególne części składowe. Ramki 3.1.1. Ramki 3.1.2. Ramki 3.1.3. Ramki 3.1.4. Ramki 3.3.1. 15

Ramki 3.3.2. Ramki 3.3.3. Ramki 3.3.4. Ramki 3.3.5. Ramki 3.3.6. 16