53
Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Zygmunt Kubiak 1

Zygmunt Kubiak Instytut Informatyki Politechnika …fc.put.poznan.pl/materials/84--5-modbus-zkubiak-.pdf · Rozwiązania sprzętowe (przykłady) Sterownik PLC Twido (TWD LCAA 24DRF)

  • Upload
    trannga

  • View
    222

  • Download
    0

Embed Size (px)

Citation preview

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Zygmunt Kubiak 1

Sieć Modbus w dydaktyceSieć Modbus w dydaktyce

Protokół Modbus

Rozwiązania sprzętowe

Rozwiązania programowe

Podsumowanie

Zygmunt Kubiak 2

Protokół Modbus

Opracowany w firmie Modicon do tworzenia sieci sterowników PLC

Organizacja Modbus-IDA skupia niezależnych użytkowników i producentów urządzeń automatyzacji i zajmuje się prawidłowym rozwojem standardu i jego popularyzacją

Zygmunt Kubiak 3

Protokół Modbus

Zygmunt Kubiak 4

Protokół Modbus

Zygmunt Kubiak 5

Protokół Modbus

Zygmunt Kubiak 6

Protokół Modbus

Zygmunt Kubiak 7

Protokół Modbus

Zygmunt Kubiak 8

Protokół Modbus

Zygmunt Kubiak 9

Protokół Modbus

Zygmunt Kubiak 10

Protokół Modbus

Zygmunt Kubiak 11

Protokół Modbus

Zygmunt Kubiak 12

Protokół Modbus

Przykładowe rozwiązanie połączenia między węzłami sieci Modbus (max 247 węzłów slave)

Zygmunt Kubiak 13

Protokół Modbus

Ramka protokołu Modbus

PDU (ang. Protocol Data Unit) Adres węzłów slave z zakresu 1 – 247 Adres 0 jest adresem rozgłoszeniowym; w tym przypadku żaden

węzeł slave nie generuje odpowiedzi W protokole Modbus przewidziano dwa podstawowe tryby

transmisji: RTU oraz ASCII

Zygmunt Kubiak 14

Protokół Modbus

Formaty jednostki informacyjnej w trybie Modbus RTU

Tryb RTU jest najczęściej stosowany Każdy znak składa się z 11 bitów Znak może być zabezpieczony bitem parzystości;

w przeciwnym przypadku występują dwa bity stopu

Zygmunt Kubiak 15

Protokół Modbus

Ramka Modbus w trybie RTU

Ramka może zawierać maksymalnie 256 bajtów i dlatego pole danych zostało ograniczone do 252 bajtów.

Zabezpieczeniem integralności ramki jest dwubajtowe słowo CRC – mniej znaczący bajt transmitowany jest jako pierwszy.

Ponieważ w Modbus jest transmisja znakowa, zostały przyjęte kryteria czasowe pozwalające określić ciągłość znaków.

Zygmunt Kubiak 16

Protokół Modbus

Zależności czasowe transmisji w trybie RTU

W trybie RTU odległość między ramkami powinna wynosić minimum 3,5 znaku.

Przerwa między znakami wewnątrz ramki nie może przekroczyć 1,5 znaku.

Zygmunt Kubiak 17

Protokół Modbus

Typy danych standardu Modbus

W protokole Modbus przyjęto analogiczne typy danych jak dla sterowników PLC; wzorem były sterowniki Modicon.

Dostęp do określonego typu danych realizowany jest użycie odpowiednich funkcji protokołu.

Zygmunt Kubiak 18

Protokół Modbus

Wybrane kody funkcji protokołu Modbus

Zygmunt Kubiak 19

Rozwiązania sprzętowe (przykłady)

Uniwersalne rozwiązania przemysłowe Sterownik PLC Twido (TWD LCAA 24DRF) firmy

Telemecanique

Specjalizowane moduły Modbus Moduł slave AMB300 – konwerter protokołów, firmy

Alfine

Uniwersalne moduły rozwojowe Moduły Toolstick firmy Silicon Labs.

Zygmunt Kubiak 20

Rozwiązania sprzętowe (przykłady)

Sterownik PLC Twido (TWD LCAA 24DRF)

Zygmunt Kubiak 21

Rozwiązania sprzętowe (przykłady)

Sterownik PLC Twido (TWD LCAA 24DRF) Wbudowana obsługa protokołu Modbus Dwa interfejsy szeregowe, które można skonfigurować w

standardzie Modbus Możliwość konfiguracji urządzenia jako slave lub master Obsługiwane funkcje: 1, 2, 3, 4, 5, 6, 15 i 16 Dostępne tryby RTU i ASCII; prędkość transmisji do

38,4 kb/s Obsługiwane języki: Lista Instrukcji, Schemat

Drabinkowy, Grafcet TwidoSoft – narzędzie do tworzenia i uruchamiania

aplikacji użytkownika.

Zygmunt Kubiak 22

Rozwiązania sprzętowe (przykłady)

Moduł slave AMB300 – konwerter protokołów

Zygmunt Kubiak 23

Rozwiązania sprzętowe (przykłady)

Moduł RS232/RS485

Zygmunt Kubiak 24

Rozwiązania sprzętowe (przykłady)

Uniwersalne moduły firmy Silicon Labsz mikrokontrolerami C8051Fxxx

Zygmunt Kubiak 25

Rozwiązania sprzętowe (przykłady)

University Daughter Card firmy Silicon Labsz mikrokontrolerami C8051F020

Zygmunt Kubiak 26

Rozwiązania sprzętowe (przykłady)

Wirtualne narzędzia Toolstick University:Terminal

Zygmunt Kubiak 27

Rozwiązania sprzętowe (przykłady)

Wirtualne narzędzia Toolstick University:Virtual LCD

Zygmunt Kubiak 28

Rozwiązania sprzętowe (przykłady)

Wirtualne narzędzia Toolstick University:Virtual Oscilloscope

Zygmunt Kubiak 29

Rozwiązania programowe. Rozwiązania programowe. Dokumentacja Modbus

Dokumentacja standardu Modbus Całkowicie zmodyfikowane dokumenty zostały wydane w

grudniu 2006 r. MODBUS over Serial LineSpecification and

Implementation Guide V1.02, Modbus-IDA.ORG, 20.10.2006.

MODBUS Application Protocol Specification V1.1b, Modbus-IDA.ORG, 28.10.2006.

Zygmunt Kubiak 30

Rozwiązania programowe. Rozwiązania programowe. Dokumentacja Modbus

Przykłady: Diagram stanów węzła Slave

Zygmunt Kubiak 31

Dokumentacja Modbus

Przykłady: Diagram stanów transmisji w trybie RTU

Zygmunt Kubiak 32

Rozwiązania programowe. Rozwiązania programowe. Dokumentacja Modbus

Przykłady: Diagram stanów odczytu wejść

Zygmunt Kubiak 33

Rozwiązania programowe. Rozwiązania programowe. Oprogramowanie MBed

Dwie aplikacje: ModbusMaster i ModbusSlave Obsługa 10 funkcji Modbus – kody 01, 02, 03, 04,

05, 06, 08, 0F, 10, 11 w obu trybach transmisji (ASCII i RTU)

Dobór parametrów transmisji na poziomie bitowym Zmiana parametrów połączenia i maksymalnego

czasu oczekiwania na odpowiedź Szablony ramek oraz zaawansowany edytor ich

zawartości z podpowiedziami i kontrola błędów

Zygmunt Kubiak 34

Rozwiązania programowe. Rozwiązania programowe. Oprogramowanie MBed

Podgląd przesyłanych ramek Opis przesyłanych ramek W aplikacji Master, na podstawie otrzymywanych

odpowiedzi, tworzony jest automatycznie bieżący obraz rejestrów węzłów slave

Prezentowane mogą być cztery typy danych dostępne w Modbus a ponadto zawartości rejestrów diagnostycznych (funkcja 0x08) i także opis urządzeń slave (funkcja 0x11)

W aplikacji Slave, funkcja wypełniania rejestrów losowymi wartościami

Zygmunt Kubiak 35

Rozwiązania programowe. Rozwiązania programowe. Aplikacja ModbusMaster

Okno główne programu ModbusMaster

Zygmunt Kubiak 36

Rozwiązania programowe. Rozwiązania programowe. Aplikacja ModbusMaster

ModbusMaster – historia transmisji

Zygmunt Kubiak 37

Rozwiązania programowe. Rozwiązania programowe. Aplikacja ModbusMaster

ModbusMaster – rejestry urządzenia slave

Zygmunt Kubiak 38

Rozwiązania programowe. Rozwiązania programowe. Aplikacja ModbusMaster

Przebieg transmisji w programie ModbusMaster

Zygmunt Kubiak 39

Rozwiązania programowe. Rozwiązania programowe. Aplikacja ModbusSlave

Przebieg transmisji w programie ModbusSlave

Zygmunt Kubiak 40

• Kreskowane połączenie bloków – wyświetlanie ramek w historii transmisji

PodsumowaniePodsumowanie

Przedstawione środowisko sprzętowo-programowe umożliwia badanie różnorodnych aspektów protokołu Modbus.

Umożliwia organizację interesujących, w pełni poznawczych zajęć laboratoryjnych i projektowych z zakresu zarówno sieci przemysłowych jak i systemów wbudowanych.

Zygmunt Kubiak 41

PodsumowaniePodsumowanie

Przykłady ćwiczeń (konfiguracje) komputer Master – komputer Slave, komputer Master – sterownik Twido Slave, komputer Master – moduł Slave, sterownik Twido Master – komputer Slave, sterownik Twido Master – moduł Slave, SCADA iFIX Master (komputer) – sterownik Twido

Slave, sieć Modbus – komputer Monitor Modbus, SCADA iFIX Master – sieć Modbus

Zygmunt Kubiak 42

PodsumowaniePodsumowanie

SCADA iFix 3.5 PL firmy GE Fanuc

Zygmunt Kubiak 43

Zygmunt Kubiak 44

Oprogramowanie

Diagram stanów węzła master

Zygmunt Kubiak 45

Oprogramowanie

Diagram stanów węzła slave

Zygmunt Kubiak 46

Oprogramowanie

Podstawowe funkcje aplikacji ModbusSlave: Transmisja w trybie ASCII oraz RTU, Podgląd przesyłanych ramek, Opis przesyłanych ramek, Historia transmisji, Sygnalizacja i opis błędów, Bieżący podgląd Rejestrów Diagnostycznych, Obsługa 10 funkcji Modbus: 1, 2, 3, 4, 5, 6, 8, F, 10, 11, Obsługa podstawowych rejestrów: Discrete Inputs, Coils, Input

Registers, Holding Registers, Obsługa rejestrów diagnostycznych poprzez funkcję 0x08 oraz opisu

urządzenia slave – funkcja 0x11, Dowolne tworzenie mapy adresów rejestrów, Funkcja wypełniania rejestrów losowymi wartościami, Możliwość zapisu i odczytu rejestrów, Wpisywanie wartości w systemach: dziesiętnym, szesnastkowym oraz

binarnym.

Zygmunt Kubiak 47

Oprogramowanie

Podstawowe funkcje aplikacji ModbusMaster: Transmisja w trybie ASCII oraz RTU, Podgląd przesyłanych ramek, Opis przesyłanych ramek, Historia transmisji, Sygnalizacja i opis błędów, Szablony do obsługi 10 funkcji Modbus: 1, 2, 3, 4, 5, 6, 8,

F, 10, 11, Możliwość wysłania dowolnego zapytania, Dynamiczne tworzenie map rejestrów urządzeń slave na

podstawie uzyskanych odpowiedzi na zapytania. Oprócz standardowych rejestrów Discrete Inputs, Coils, Input Register, Holding Register również rejestrów diagnostycznych (funkcja 0x08) oraz opisu urządzenia slave (funkcja 0x11),

Dowolna konfiguracja parametrów transmisji (parametry połączenia, maksymalny czas oczekiwania na odpowiedź).

Zygmunt Kubiak 48

Protokół Modbus

Przykład użycia funkcji zapisu rejestrów (kod 0x10)

Zygmunt Kubiak 49

Przykłady transmisji

Zygmunt Kubiak 50

Przykłady transmisji

Zygmunt Kubiak 51

Przykłady transmisji

Zygmunt Kubiak 52

Przykłady transmisji

Zygmunt Kubiak 53