Systemy mikroprocesorowe - projekt



Podobne dokumenty
Instalacja. Zawartość. Wyszukiwarka. Instalacja Konfiguracja Uruchomienie i praca z raportem Metody wyszukiwania...

PERSON Kraków

CZYTNIK ZBLIŻENIOWY RFID-UR80D

REJESTRATOR RES800 INSTRUKCJA OBSŁUGI

VinCent Office. Moduł Drukarki Fiskalnej

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy

INSTRUKCJA DO PROGRAMU LICZARKA 2000 v 2.56

Instrukcja programu PControl Powiadowmienia.

Opis obsługi systemu Ognivo2 w aplikacji Komornik SQL-VAT

Sieci komputerowe. Definicja. Elementy

Instrukcja wgrywania synoptyki pola (wersja modelu danych do 634)

Spis treści. Rozdział 1 ewyniki. mmedica - INSTR UKC JA UŻYTKO W NIKA

INSTRUKCJA DO ĆWICZENIA NR 4

INSTRUKCJA WebPTB 1.0

Instrukcja obsługi panelu operacyjnego XV100 w SZR-MAX-1SX

Poniżej instrukcja użytkowania platformy

Zainstalowana po raz pierwszy aplikacja wymaga aktualizacji bazy danych obsługiwanych sterowników.

Polityka prywatności strony internetowej wcrims.pl

Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych ul. Koszykowa 75, Warszawa

Komunikacja w sieci Industrial Ethernet z wykorzystaniem Protokołu S7 oraz funkcji PUT/GET

Chmura obliczeniowa. do przechowywania plików online. Anna Walkowiak CEN Koszalin

Opis zmian funkcjonalności platformy E-GIODO wprowadzonych w związku z wprowadzeniem możliwości wysyłania wniosków bez podpisu elektronicznego

Oprogramowanie klawiatury matrycowej i alfanumerycznego wyświetlacza LCD

Regulamin rekrutacji i udziału w projekcie

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia:

Instrukcja obsługi Norton Commander (NC) wersja 4.0. Autor: mgr inż. Tomasz Staniszewski

Instalacja programu. Omówienie programu. Jesteś tu: Bossa.pl

OptiMore Importer Rejestru VAT. Instrukcja obsługi programu

Pierwsze kroki. Krok 1. Uzupełnienie danych własnej firmy

INSTRUKCJA OBSŁUGI URZĄDZENIA: HC8201

Kancelaris - Zmiany w wersji 2.50

Instrukcja do Arkusza kosztorysowania sieci klasy NGA na obszarach wymagających wsparcia publicznego.

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla uŝytkowników modułu wyszukiwania danych Warszawa 2007

PODRĘCZNIK UŻYTKOWNIKA

Microsoft Management Console

Składanie wniosku przez bankowość elektroniczną

epuap Ogólna instrukcja organizacyjna kroków dla realizacji integracji

Rozliczenia z NFZ. Ogólne założenia. Spis treści

SPECYFIKACJA ISTOTNYCH WARUNKÓW ZAMÓWIENIA. na obsługę bankową realizowaną na rzecz Gminy Solec nad Wisłą

raceboard-s Szybki start

Tytuł pracy. Praca dyplomowa inżynierska. Filip Piechocki. Tytuł Imię i Nazwisko

PL XPRESS I440PL04_15 Oprogramowanie do ustawień i zdalnej kontroli INSTRUKCJA OBSŁUGI

KLAUZULE ARBITRAŻOWE

Ostatnia cena sprzeda y klienta 1.0 dodatek do Symfonia Faktura dla 1 firmy

Firma Informatyczna JazzBIT

Audyt SEO. Elementy oraz proces przygotowania audytu. strona

Opisy. Ikona: Polecenie: STCFG Menu: Stal Konfiguracja

Type ETO2 Controller for ice and snow melting

SKRÓCONA INSTRUKCJA OBSŁUGI ELEKTRONICZNEGO BIURA OBSŁUGI UCZESTNIKA BADANIA BIEGŁOŚCI

AKADEMIA MORSKA W SZCZECINIE

Specyfikacja usługi CCIE R&S

Automatyzacja procesu publikowania w bibliotece cyfrowej

Instrukcja obsługi. Sterownik ścienny KJR10B/DP

8. Konfiguracji translacji adresów (NAT)

Instrukcja Obsługi STRONA PODMIOTOWA BIP

Oprogramowanie FonTel służy do prezentacji nagranych rozmów oraz zarządzania rejestratorami ( zapoznaj się z rodziną rejestratorów FonTel ).

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego. Specyfikacja warunków zamówienia

Budowa systemów komputerowych

Ogólne warunki skorzystania z Oferty Promocyjnej. Tabela nr [1]: Kwoty zobowiązań w zależności od wybranego Planu Taryfowego.

Zarządzanie Zasobami by CTI. Instrukcja

VLAN Ethernet. być konfigurowane w dowolnym systemie operacyjnym do ćwiczenia nr 6. Od ćwiczenia 7 należy pracować ć w systemie Linux.

Przypomnienie najważniejszych pojęć z baz danych. Co to jest baza danych?

DOTACJE NA INNOWACJE. Zapytanie ofertowe

MySource Matrix CMS - PROSTY INTERFEJS UŻYTKOWNIKA. INSTRUKCJA ver 1.2

Wskazówki dotyczące przygotowania danych do wydruku suplementu

Rachunek_UCP. C e l. Zarejestrowanie rachunku do umowy cywilnoprawnej w systemie SAP. Wymagania wstępne

WYMAGANIA OFERTOWE. Przetarg nr PZ-451

PROGRAM ZAPEWNIENIA I POPRAWY JAKOŚCI AUDYTU WEWNĘTRZNEGO

Tomasz Greszata - Koszalin

Administrator Konta - osoba wskazana Usługodawcy przez Usługobiorcę, uprawniona w imieniu Usługobiorcy do korzystania z Panelu Monitorującego.

Jak usprawnić procesy controllingowe w Firmie? Jak nadać im szerszy kontekst? Nowe zastosowania naszych rozwiązań na przykładach.

SINAMICS G120C STARTER. Tworzenie nowego projektu w trybie online.

CHEVROLET MYLINK. Krótki przewodnik

Wdrożenie modułu płatności eservice dla systemu Virtuemart 2.0.x

Utrzymanie aplikacji biznesowych SI PSZ

I. Zakładanie nowego konta użytkownika.

Instrukcja obsługi. Oprogramowanie SAS 31

Aktualizacja CSP do wersji v7.2. Sierpień 2014

Waldemar Pietrzak s5207. Projekt Wypożyczalnia Samochodów

Konfiguracja historii plików

Cennik Planów Taryfowych en' zwanych dalej en świadczonych przez Virtual Line Sp. z o.o..

Ogólna charakterystyka kontraktów terminowych

Ogłoszenie o zwołaniu Zwyczajnego Walnego Zgromadzenia IDM Spółka Akcyjna w upadłości układowej z siedzibą w Krakowie na dzień 30 czerwca 2015 roku

Tester pilotów 315/433/868 MHz MHz

Zmiany w wersji 1.18 programu VinCent Office.

SZABLONY KOMUNIKATÓW SPIS TREŚCI

db powernet Instalacja czytnika kart mikroprocesorowych (instrukcja)

ECDL Advanced Moduł AM3 Przetwarzanie tekstu Syllabus, wersja 2.0

PRZEMYSŁOWY ODTWARZACZ PLIKÓW MP3 i WAV

emszmal 3: Automatyczne księgowanie przelewów w menedżerze sprzedaży BaseLinker (plugin dostępny w wersji ecommerce)

Posiadane punkty lojalnościowe można również wykorzystać na opłacenie kosztów przesyłki.

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia:

INSTRUKCJA OBS UGI

API transakcyjne BitMarket.pl

Warsztat naukowca a problem formatu informacji bibliograficznej generowanej przez systemy informacyjne. Remigiusz Sapa IINiB UJ

Regulamin organizacji przetwarzania i ochrony danych osobowych w Powiatowym Centrum Kształcenia Zawodowego im. Komisji Edukacji Narodowej w Jaworze

Platforma Aukcyjna Marketplanet. Podręcznik Oferenta. Aukcja dynamiczna zniŝkowa

PRESTASHOP INTEGRATOR XL BY CTI INSTRUKCJA

BCS Manager Instrukcja Obsługi

Transkrypt:

Politechnika Wrocławska Systemy mikroprocesorowe - projekt Modbus master (Linux, Qt) Prowadzący: dr inż. Marek Wnuk Opracował: Artur Papuda Elektronika, ARR IV rok

1. Wstępne założenia projektu Moje zadanie w na tym projekcie polegało na stworzeniu programu działającego jako obsługa protokołu modbus po stronie komputera czyli mastera. Protokół modbus działa na zasadzie mastera wydającego rozkazy i slave a, który te rozkazy wykonuje. Najbardziej standardowymi komendami tego protokołu są: - Read n Registers odczyt pewnej liczby rejestrów ze Slave a - Write n Registers zapis pewnej liczby rejestrów ze Slave a - Slave identify identyfikacja urządzenia Slave Inne rozkazy najczęściej okazują się zbędne, a często nie zostają nawet zaimplementowane w niektórych Slave ach. Dlatego też w tworzonym przeze mnie modbus masterze zaimlementowałem funkcje Czytaj n rejestrów i zapisz n rejestrów. Program o którym mówię napisałem pod Linuxa, gdyż takie były założenia. Pod tym systemem niestety wciąż jest za mało przydatnych programów narzędziowych tego typu. Poza tym program modbusa może okazać się przydatny w sali robotyki naszego instytutu. Program modbusa miał działać w systemie okien Linuxa. Dlatego wykorzystałem bibliotekę QT w wersji 2.3 firmy Troll Tech. Biblioteka ta jest obiektowo zorientowana na tworzenie okien i używanych w niech gadgetów. Dla potrzeb instytutu modbus master obsługuje tryb ASCII protokołu modbus. Ważnym elementem programu powinny być opcje pozwalające na konfigurację parametrów portu, przez który ma odbywać się transmisja danych. Po pierwsze należało by móc ustawiać numer portu oraz prędkość transmisji. Innymi ważnymi parametrami obsługi danych jest parzystość, liczba bitów stopu oraz liczba bitów danych. Ustawianie tych parametrów za każdym razem dla różnych urządzeń typu Slave, które mogą mieć transmisję różnego typu, mogło by okazać się dość uciążliwe dlatego pomyślałem o możliwości wprowadzania ustawień z zewnętrznych plików. 2. Informacje o modbusie Protokół modbus opiera się o architekturę Master Slave. Master wydaje polecenia w postaci ramek, a Slave je wykonuje oraz zwraca odpowiedź Masterowi. Master wysyła numer rozkazu oraz adres slave a do którego ten rozkaz jest kierowany. Na jednej linii szeregowej może być umieszczonych do 247 Slave ów. Wszystkie slave y ignorują rozkaz od mastera jeśli nie został podany ich adres \. Na rozkaz odpowiada tylko ten slave, którego adres został określony.

Format tamki w trybie ASCII Adres slave dwu-bajtowy Kod funkcji dwu-bajtowy Pole danych liczba bajtów zależy od ilości przesyłanych danych Suma kontrolna dwu-bajtowa CR kontrola parzystości LF liczba bitów stopu w zależności od kontroli parzystości Odpowiedź slave a: Ramka pochodząca od slave a zawiera jego adres, kod funkcji którą slave miał wykonać, następne pola to pola danych lub w przypadku błędu kod funkcji błędu oraz na samym końcu suma kontrolna i CR, LF. 3. Tworzenie programu: Całą komunikacje przez port szeregowy oparłem o gotową bibliotekę napisaną przez pana Grzegorz Pietkiewicza. Takie rozwiązanie pozwoliło mi ułatwić sobie prace, gdyż nie musiałem martwić się o takie zagadnienia związane z transmisją przez port szeregowy jak prędkość danych, ich parzystość, liczbę bitów danych i bitów stopu. Biblioteka ta pozwoliła mi również na wprowadzenie opcji wyboru portu szeregowego. Rozwiązania związane z trybem ASCII Modbus a po stronie tworzonego mastera pozwoliłem sobie zaczerpnąć z prostego Modbus Mastera działającego w trybie tekstowym, którego otrzymałem od prowadzącego ten projekt dr inż. Marka Wnuka. Część dotyczącą interfejsu oparłem o bibliotekę QT. Stworzyłem trzy okna. W oknie głównym umieściłem gadgety umożliwiające ustawianie parametrów transmisji szeregowej, a także obsługę plików konfigurujących te ustawienia. Rozkazy Write n reg. oraz Read n reg. rozwiązałem na zasadzie otwierania nowych okien, w których można określić jakie rejestry mają zostać odczytane lub zapisane w slave.

Dostęp do tych okien zrobiłem poprzez odpowiednie klawisze umieszczone w oknie głównym. 4. Instrukcje obsługi programu: Program uruchamiany jest komendą ModbusM. Po uruchomieniu programu otwiera się przyjazny dla użytkownika interfejs okna głównego. W programie użyłem języka angielskiego, ponieważ jest standardowym językiem używanym w komputerach. Okno głowne: Okno główne, które widzimy powyżej podzielone jest na cztery sekcje oraz pasek narzedzi. Pasek narzędzi zawiera trzy klawisze: - otwórz otwiera okno dialogowe pozwalające wybrać plik w którym zawarte są parametry portu i transmisji danych - zapisz otwiera okno dialogowe pozwalające zapisać do wybranego pliku aktualnie ustawione parametry programu Modbus Master - zamknij zakończenie programu

W sekcji pierwszej możemy ustawiać parametry portu: - numer portu [1..4] - prędkość transmisji [300..115200] - parzystość [0,1,2] W sekcji drugiej możemy ustawiać parametry Modbus Mastera: - numer slave [0..247] - czas oczekiwania [1..3] - liczba powtórzeń [1..3] W sekcji trzeciej możemy ustawić parametry transmisji danych: - bity danych [7,8] - bity stopu [1,2} Sekcja czwarta to polecenia otwierające nowe okna: - klawisz otwierający okno odczytu danych: - klawisz otwierający okno zapisu danych: Okno odczytu danych:

Okno odczytu zawiera cztery sekcje: Sekcja pierwsza pozwala ustawić, które rejestry mają zostać odczytane - początkowy odczytywany rejestr - liczba rejestrów do odczytania W sekcji drugiej możemy ustawić format przychodzących danych: - szesnastkowy - dziesiętny Sekcja trzecia odpowiedzialna jest za wysłanie rozkazu odczytu: - przycisk wysyłający rozkaz odczytu za każdym jego naciśnięciem - przycisk wysyłający rozkaz odczytu w sposób ciągły co krótki okres czasu - przycisk zatrzymujący ciągłe odczytywanie - przycisk zamykający okno odczytu Sekcja czwarta jest polem w którym wyświetlane są odczytywane ze slave rejestry Okno zapisu danych:

Okno podzielone jest na trzy sekcje: Sekcja pierwsza pozwala na określenie rejestrów, które mają zostać zapisane - początkowy rejestr przeznaczony do zapisu - liczba rejestrów do zapisu W sekcji drugiej możemy nadać wartość każdemu z wybranych w sekcji pierwszej rejestrów: - numer rejestru któremu chcemy przypisać nową wartość - nowa wartość do zapisania w ustawionym rejestrze Sekcja trzecia: - przycisk wysyłający rozkaz zapisu rejestrów ustawionych we wcześniejszych sekcjach - przycisk zamykający okno zapisu Odnośnie plików pozwalających na ustawienie parametrów transmisji w programie ModbusM, to są one w formacie ASCII. Poszczególne parametry mają wartość liczbową i są podzielone spacjami. Ich kolejność jest następująca: - Numer portu [1..4] - Predkosc portu [300..115200] - Parzystość [0,1,2] - Bity danych [7,8] - Bity stopu [1,2] - Numer Slave [0..247] - Timeout [1..3] - Liczba powtórzeń [1..3] 5. Trudności w realizacji projektu: Największe trudności sprawiło mi ustalenie techniki liczenia sumy kontrolnej wymaganej przez ramkę modbusa. Znalazłem w dokumentacji dwa algorytmy liczenia tej sumy, jednakże oba okazały się wadliwe. Straciłem bardzo dużo czasu na ustaleniu gdzie jest błąd. I w ostateczności nie udało mi się poprawić tego błędu. Błędów szukałem w niepoprawnym formacie ramek, które składałem w swoim programie, jednakże znalazłem go w sumie kontrolnej. Muszę stwierdzić, że ten projekt kosztował mnie dużo czasu i energii.