Chengdu Ingchuan Information Technology Co., Ltd.
Home>Produkty>Pakiet protokołu ModBus
Pakiet protokołu ModBus
Protokół Modbus to powszechny protokół komunikacyjny, który jest szeroko stosowany w dzisiejszych systemach sterowania przemysłowym i oferuje pakiety
Szczegóły produktu

Protokół komunikacji ModBus

Modbus to powszechny protokół komunikacji, który jest szeroko stosowany w dzisiejszych systemach sterowania przemysłowym. Za pomocą tego protokołu kontrolery mogą komunikować się ze sobą lub z innymi urządzeniami za pośrednictwem sieci (np. Ethernet). Protokół Modbus wykorzystuje technologię komunikacji z głównego urządzenia, czyli aktywne zapytanie i obsługa z urządzenia głównego. Protokół używany przez urządzenie główne nazywany jest Modbus Master, a protokół używany przez urządzenie nazywany jest Modbus Slave. Typowe urządzenia główne obejmują kontrolery przemysłowe i kontrolery przemysłowe; Typowe z urządzeń takich jak PLC programowalne sterowniki itp. Interfejs fizyczny komunikacji Modbus może być wybrany za pomocą portów seryjnych (w tym RS232 i RS485) lub portów Ethernet. Komunikacja odbywa się zgodnie z następującym procesem:

• Urządzenie główne wysyła żądania z urządzenia

Analizuj i przetwarzaj żądania z urządzenia głównego, a następnie wysyłaj wyniki do urządzenia głównego

● Jeśli pojawi się jakikolwiek błąd, z urządzenia zwróci się kod funkcjonalny wyjątkowy


Informacje o oprogramowaniu do protokołu komunikacyjnego ModBus

Oprogramowanie do protokołu komunikacyjnego ModBus wprowadzone przez InGen jest stosowane głównie w środowisku płyt głównych wbudowanych ARM9 InGen, które posiadają bogate porty seryjne, zasoby sieciowe, uniwersalny interfejs GPIO itp., a także potężną wydajność przetwarzania. W połączeniu z oprogramowaniem do protokołu komunikacyjnego ModBus można łatwo utworzyć platformę aplikacyjną Master (Master) i Slave (Slave) zgodną ze specyfikacją komunikacyjną ModBus. W odniesieniu do głównego sposobu komunikacji ModBus, pakiet oprogramowania ModBus podzielony jest na dwie niezależne części, a mianowicie „ModBus Master Protocol Software” (skrót modbus_Master) i „ModBus Device Side Protocol Software” (skrót modbus_Slave). Obecnie oprogramowanie ModBus działa w środowisku WinCE i jest dostępne dla klientów w formie funkcji C plus biblioteki LIB statycznej. Jego główne cechy są następujące:

Doskonale nadaje się do zastosowań przemysłowych w czasie rzeczywistym

Można obsługiwać aplikacje ModBus oparte na portach seryjnych lub aplikacje ModBus oparte na TCP

Tryb transmisji RTU

Obsługa większości operacji kodu funkcjonalnego Modbus, w tym operacji bitowych na cewkach, przełącznikach dyskretnych i operacji bajtów rejestru

• Obsługa adresów nadawczych

Elastyczne ustawienie czasu ukończenia komunikacji ModBus

● Można uzyskać szczegółowe informacje o kodach błędów protokołu transmisji w komunikacji


Diagram komunikacji oprogramowania ModBus


Kody funkcjonalne obsługiwane przez oprogramowanie ModBus

Kod funkcjonalny

Opis

1

Czytaj pojedynczą cewkę

2

Odczytaj wejście dyskretnego

3

Odczytaj wiele rejestrów

4

Czytanie rejestru wejściowego

5

Napisz pojedynczą cewkę

6

Napisanie pojedynczego rejestru

15

Napisz wiele cewek

16

Napisanie wielu rejestrów

22

Blokowanie rejestru zapisu

23

Rejestr odczytu/zapisu


Podstawowe sposoby używania oprogramowania

Aby ułatwić obsługę aplikacji i zachować spójną formę kodu dla różnych mediów komunikacyjnych, funkcje API w oprogramowaniu ModBus (w tym modbus_Master i modbus_Slave) oferowane przez InGen mogą obsługiwać zarówno protokół Modbus oparty na portach seryjnych, jak i TCP. Aplikacja musi tylko rozróżnić się różnymi parametrami podczas wywoływania funkcji inicjalizacyjnej. Informacje o parametrach znajdują się w odpowiednich nagłówkach: modbus_Master.h i modbus_Slave.h


Zastosowanie modbus_master

Zastosowanie jako tryb klienta Modbus jest głównie przygotowywanie żądań i wysyłanie żądań do urządzenia serwera i oczekiwanie na odpowiedź serwera. Przy opracowywaniu takich aplikacji, użytkownicy mogą odwołać się do literatury standardowej Modbus oraz podręcznika danych interfejsu komunikacyjnego oskarżonego urządzenia i bezpośrednio wywołać pakiet modbus_Master dostarczany przez Intel zapewniający odpowiednią funkcję operacyjną API w celu uzyskania dostępu i kontroli nad urządzeniem serwerowym. Przy tworzeniu takich aplikacji użytkownicy muszą tylko zawrzeć modbus_master.h/modbus_master.lib.


Zastosowanie modbus_slave

Jako aplikacja w trybie serwera ModBus, głównie potrzeba realizacji analizy i odpowiedzi na wiadomości aplikacji ModBus, ale jest to tylko część całej komunikacji ModBus, a druga część wymaga dostępu do danych aplikacji, która część musi być zdefiniowana przez użytkownika. Aby ułatwić użytkowanie klienta, automatyczne ładowanie tych funkcji interfejsu użytkownika w pakiecie modbus_Slave w postaci wskaźnika funkcji jest realizowane, łącząc przetwarzanie danych aplikacji użytkownika z odpowiedzią na wiadomość aplikacji ModBus. Użytkownik musi tylko zdefiniować te funkcje interfejsu w zależności od potrzeb, aby zrealizować odpowiednie funkcje, a konkretna definicja każdej funkcji jest realizowana za pośrednictwem specjalnego pliku CPP: DataProvider.cpp.


Z tego wynika, że podczas tworzenia takich aplikacji należy zawierać dwie części zawartości, część jest funkcją API zdefiniowaną przez modbus_slave.h/modbus_slave.lib; Inną częścią jest funkcja interfejsu danych użytkownika zdefiniowana w DataProvider.h / DataProvider.cpp, gdzie funkcja interfejsu wymaga od użytkownika konkretnej implementacji w DataProvider.cpp.


Aby warto odpowiedzieć na wiadomości aplikacji ModBus, należy pamiętać, że podczas programowania należy zaprojektować wątek, który wielokrotnie wywołuje funkcję wykonywania modbus_Slave, która jest w trybie blokowania.


Na przykład:

(1) Uruchomienie protokołu strony urządzenia modbus

hPort = mbusSlave_StartupServer(_T)'*'), 1, 10000, mbusSlave_Interface );

Albo...

hPort=mbusSlave_StartupServer(_T)"COM3:9600-8-1-0"),1,10000, mbusSlave_Interface );


(2) wywołanie funkcji wykonywania w wątku Serverloop w odpowiedzi na żądanie

podczas gdy( 1 )

{

//Wywołanie funkcji wykonywania do analizy i reagowania na wiadomości ModBus.

wynik = mbusSlave_ServerLoop( hPort );

    jeśli(wynik!=0)//Sprawdź, czy zwrócił błąd

{

      //Rozwiązywanie błędów: Ten przykład to informacja tekstowa o pobieraniu i wydrukowaniu kodu błędu

wcscpy( szText, mbusSlave_GetErrorText( wynik));

i1 = wcslen( szText );

      jeśli(i1>0)

{

wcstombs( strText, szText, i1 );

printf ()kod błędu: %s! n'Stretex);

}

}

}


Poprzednie oprogramowanie do protokołu komunikacyjnego ModBus dostarczane przez Intel było dostępne dla klientów w formie funkcji C plus biblioteki statycznej (pliki modbus.lib lub libmodbus.a). Wraz z coraz większą liczbą klientów, Intel wstępnie zainstalowała protokół ModBus, w szczególności oprogramowanie do protokołu głównego (modbus_Master) w formie biblioteki dynamicznej (plik modbus_Master.dll lub libmbusmaster.so) w systemie jądra Intel Embedded Industrial Control Board w celu ułatwienia wywoływania aplikacji klienta. Preinstalacja protokołu Modbus obejmuje wszystkie płyty główne z serii ESM (ESM6802, ESM6800, ESM335x, ESM928x itp.).


Odnośniki


Aplikacje do pobierania pierścienia prądu 4-20mA Oprogramowanie do protokołu komunikacyjnego Modbus pod WinCE

Oprogramowanie Modbus dla WinCE Wbudowana płyta główna Linuxa obsługuje oprogramowanie Modbus Master

Przedstawienie oprogramowania Modbus dla systemu Linux ESM6802 wspiera rozwój programów Qt MODBUS

Preinstalacja protokołu Modbus na płycie głównej
Zapytanie online
  • Kontakty
  • Firma
  • Telefon
  • E-mail
  • WeChat
  • Kod weryfikacji
  • Zawartość wiadomości

Udana operacja!

Udana operacja!

Udana operacja!