Przesył informacji przy wykorzystaniu interfejsu RS232 J Szewczyk

background image

KATEDRA AUTOMATYKI NAPĘDU ELEKTRYCZNEGO

Laboratorium Przemysłowych Sieci Informatycznych

Przesył informacji przy wykorzystaniu

interfejsu RS232

Instrukcja do ćwiczenia laboratoryjnego nr 6

Gdańsk 2009

Opracował : Janusz Szewczyk
Wersja 1.0 (10.2009)

1

background image

Spis treści

1. Cel ćwiczenia
2. Ogólna charakterystyka interfejsu RS232
3. Moduł komunikacyjny ADAM 4570

3.1.

Ogólna charakterystyka modułu

3.2.

Konfiguracja modułu

4. Połączenie komputera z przekształtnikiem MMB10 za pośrednictwem wirtualnego portu

COM komputera i modułu ADAM 4570

4.1.

Obsługa portu RS232 przy wykorzystaniu WindowsAPI

4.2.

Kod źródłowy programu w środowisku Borland Builder

5. Przebieg ćwiczenia

2

background image

1. Cel ćwiczenia

Celem ćwiczenia jest zapoznanie się z szeregowym interfejsem RS232. Obsługa interfejsu

od strony komputera PC w taki sposób aby możliwa była transmisja danych pomiędzy komputerem
a przekształtnikiem wykorzystującym do komunikacji interfejs szeregowy. Do połączenia
komputera z przekształtnikiem wykorzystywany jest moduł komunikacyjny firmy Advantech model
ADAM-4570.

W ramach ćwiczenia należy

skonfigurować konwerter Ethernet na RS232/RS485 firmy Advantech model ADAM-4570

napisać prosty program obsługujący port COM komputera, wysyłający określone dane do
przekształtnika

zarejestrować na oscyloskopie i zdekodować przesyłane dane (pomiędzy komputerem a
przekształtnikiem)

2. Ogólna charakterystyka interfejsu RS232

RS 232 – ( Recommended Standard ) jest najpopularniejszym najpowszechniej stosowany

standardem do szeregowej wymiany danych cyfrowych pomiędzy urządzeniami. Dane przesyłane
są pomiędzy urządzeniem które jest odbiorcą danych DTE(ang. Data Terminal Equipment), zwykle
komputer, oraz urządzeniem komunikacyjnym DCE(Data Communications Equipment) np.
modem. Standard RS232 określa wszystkie elementy potrzebne do zestawienia komunikacji
pomiędzy urządzeniami tzn. nazwy styków, złącz, kabli oraz format pojedynczych bajtów w
przesyłanych ramkach.

W komputerach typu PC interfejs ten występuje jako jeden port lub szereg portów COM.

Popularność interfejsu sprawiła iż istnieje szereg konwerterów różnych protokołów na RS232 np.
RS232 na Ethernet, Wi-Fi, Bluetooth, Can, ProfiBus, RS485, USB, ZigBee itd.

Dane przesyłane są w postaci ramki zwanej SDU ( Seria Data Unit ). Jest to najmniejsza

porcja danych, która może zostać wysłana jednorazowo przez łącze szeregowe. Na ramkę składają
się: bity danych, bit startu ( znacznik początku ramki ), bit parzystości oraz bity stopu ( znacznik
końca ramki ).

Bit startu służy do sygnalizacji początku ramki. Dane przesyłane są asynchronicznie (tzn.

bez zegara taktujące poszczególne bity) zatem jest on obowiązkowy, bez niego urządzenie
odbierające nie rozpoznałoby początku ramki. Bit startu zawsze przyjmuje wartość zero, natomiast
linia łącza danych w stanie spoczynku utrzymywana jest w stanie logicznym 1. Dzięki temu bit
startu jest wyraźnym wskaźnikiem początku transmisji. Bit startu jest jałowy z punktu widzenia
przesyłanej informacji, służy jedynie celom synchronizacyjnym.

Po bicie startu przesyłane są bity danych. Ramka może zawierać od 5 do 8 bitów danych.

Bity te są przesyłane w kolejności od najmniej znaczącego, do najbardziej znaczącego.

Po bitach danych może wystąpić bit parzystości. Bit parzystości jest wykorzystywany do

zabezpieczenia danych przed przekłamaniem podczas przekazu. Bit parzystości ma wartość
logiczną równą sumie modulo 2 wszystkich bitów danych. Może oznaczać parzystą lub nieparzystą
liczbę ustawionych bitów w polu danych. Kontrola parzystości polega na sprawdzeniu ilości
jedynek na polu danych i ustawieniu bitu kontrolnego na "1", w przypadku nieparzystej ilości
jedynek, lub na "0" w przypadku parzystej ilości jedynek. Podczas kontroli nieparzystości bit
zabezpieczający ustawia się na jeden, w przypadku parzystej ilości jedynek na polu danych, lub na
zero, jeżeli ilość jedynek jest nieparzysta. Bit kontroli parzystości pozwala wykryć fakt
przekłamania znaku na polu danych, pod warunkiem, że ilość przekłamań jest nieparzysta. Bit ten
może być ustawiony na stałe lub też może być na stałe wyzerowany, może być także pominięty.

3

background image

Ramka zakończona jest bitami stopu. Liczba bitów stopu może wynosić 1, 1.5, lub 2. Bit

stopu zamyka ramkę po czym łącze wraca do spoczynku lub realizuje kolejną transmisje.

1 bit startu
(obowiązkowy)

5-8bitów danych
(obowiązkowe)

1 bit parzystości
(opcjonalny)

1-2 bity stopu
(obowiązkowe)

Rys. 1. Format ramki RS232.

Rys. 2. Przykład ramki SDU. 7 bitów danych, 1 bit parzystości, 2 bity stopu

Czas trwania bitu w jednostce informacyjnej nazywa się odstępem jednostkowym i jest

oznaczany przez Tb. Jego odwrotność ( f = 1/Tb ) określa szybkość transmisji w bodach ( 1 bd = 1
bit/s ). Typowe wartości szybkości transmisji przy asynchronicznej transmisji znakowej wynoszą:
1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200 bd, co przy założeniu 10-bitowej
długości jednostki informacyjnej i przesyłaniu znaków bezpośrednio jeden za drugim odpowiada
120, 240, 480, 960 itd. znakom na sekundę. Przy asynchronicznej transmisji znakowej przyjmuje
się, że zarówno odbiornik jak i nadajnik pracują z tą samą częstotliwością, jakkolwiek takty
nadawania i odbioru nie są zsynchronizowane. Ze względu na małą długość jednostki
informacyjnej, niewielka różnica częstotliwości generatorów taktu w nadajniku i odbiorniku nie
powoduje błędnego odbioru znaków. Wspomniany bit kontrolny jest najczęściej bitem parzystości,
którego stan określa się według jednej z dwóch zasad: kontrola parzystości ( even parity ), kontrola
nieparzystości ( odd parity ).

Od strony komputera PC najbardziej rozpowszechnionym portem z interfejsem RS232 jest

port COM ze złączem DB9. W starszych rozwiązaniach używane były również złącza DB25.
Wykorzystywane są również inne rozwiązania złącz jak RJ45 lub RJ11. Na złącze DB9 składa się 9
pinów opisanych w tabeli poniżej.

Nr pinu
DB9

Oznaczenie Opis

1

DCD

Data Carrier Detected. Sygnał wykrycia nośnej.

2

RxD

Receive Data. Linia do odbioru danych.

3

TxD

Transmit Data. Linia do nadawania danych.

4

DTR

Data Terminal Ready. Sygnał gotowości do odbioru danych.

5

GND

Signal Ground. Masa sygnałów.

6

DSR

Data Set Ready. Gotowość do transmisji danych.

7

RTS

Request to Send Data. Żądanie wysłania danych.

8

CTS

Clear to Send Data. Zezwolenie na wysłanie danych.

9

RING

Ring indicator. Wskaźnik dzwonka.

4

background image

Komunikacja pomiędzy urządzeniem nadawczym – DTE ( Data Terminal Equipment – np.
komputer ) i odbiorczym – DCE ( Data Communication Equipment – np. modem ) może odbywać
w trojaki sposób:

tryb simpleks – łącze skonfigurowane jest na stałe na jeden z możliwych kierunków
transmisji: DTE

DCE lub DCE

DTE. W tym przypadku jedno z urządzeń nie

uwzględnia sygnałów od drugiego.

tryb półdupleks – zarówno DTE jak i DCE mogą być stroną nadającą oraz odbierającą,
jednak nie mogą transmitować danych w tym samym czasie. Urządzenia do dyspozycji
posiadają jeden kanał, który wykorzystywany jest naprzemiennie w obydwu kierunkach
( pytanie – odpowiedź ).

tryb dupleks – dane mogą być przekazywane jednocześnie w obu kierunkach pomiędzy DTE
oraz DCE. Żadna ze stron nie musi uzyskać zezwolenia na nadawanie, kanał logiczny
połączenia jest otwarty na stałe w obie strony.

Przykład transmisji półdupleks z wykorzystaniem wszystkich linii RS232 pomiędzy komputerem z
podłączonym przez port COM modemem, komunikujący się z innym urządzeniem np. odległym
komputerem:
Po nawiązaniu połączenia komputer przechodzi do trybu przesyłania danych. Zakłada się istnienie
jednej tylko linii transmisyjnej pomiędzy komputerami, po której oba komputery mogą przesyłać
dane, oczywiście niejednocześnie. Sterowanie transmisją na dwukierunkowym, półdupleksowym
łączu jest następujące: komputer, który chce wysłać dane zawiadamia o tym współpracujący z nią
modem uaktywniając sygnał RTS ( Request To Send). Modem po stwierdzeniu aktywnego stanu na
linii RTS musi sprawdzić, czy łącze nie jest zajęte przez odległy komputer. O zajętości łącza
świadczy sygnał DCD ( Data Carrier Detected), uaktywniany przez modem w sytuacji, gdy odległy
komputer przesyła dane do modemu. Załączony sygnał DCD oznacza, że odległy komputer
transmituje dane i że on właśnie posiada kontrolę nad łączem. W takim przypadku lokalny
komputer nie może transmitować danych. Jeżeli sygnał DCD wystawiany przez modem jest
wyłączony ( a zatem łącze jest wolne ), to modem zezwala na wysłanie danych uaktywniając
sygnał CTS ( Clear To Send). Od tej chwili lokalny komputer może nadawać dane przez wyjście
TxD.

Tryb półdupleks może także odbywać się bez wykorzystania dodatkowych linii

występujących w interfejsie RS232 (DCD, DSR, RTS, CTS oraz RING). Ma to miejsce np. w
przypadku komunikacji między urządzeniami na zasadzie MASTER-SLAVE. Współpraca urządzeń
na tej zasadzie polega na tym iż urządzenie MASTER wysyła ramkę zapytania do urządzenia
SLAVE, po czym urządzenie SLAVE odpowiada urządzeniu MASTER na zapytanie. Urządzenie
SLAVE nie może bez zapytania wysyłać danych do urządzenia MASTER. Z tego względu na
liniach danych oba urządzenia nie wysyłają danych jednocześnie i możliwe jest istnienie tylko
jednego kanału transmisji. W ćwiczeniu wykorzystano właśnie ten typ współpracy pomiędzy
urządzeniami. Urządzeniem MASTER jest komputer PC, a urządzeniem SLAVE jest przekształtnik
odpowiadający na zapytania wysyłane przez komputer. Linie, dodatkowe, występujące w interfejsie
RS232 nie są wykorzystane.

3. Moduł komunikacyjny ADAM 4570

3.1.

Ogólna charakterystyka modułu

Moduł ADAM 4570 jest urządzeniem które za pośrednictwem sieci Ethernet przekazuje dane
wysyłane na wirtualny port COM komputera PC do odległego urządzenia obsługującego jeden z
interfejsów szeregowych RS232, RS422, RS485. Dla oprogramowania komunikującego się z
odległym urządzeniem moduł jest niewidoczny. Oprogramowanie wysyła dane do odległego

5

background image

urządzenia w taki sam sposób jakby było podłączone bezpośrednio do komputera PC. W
rzeczywistości dane wysyłane są przez kartę sieciową komputera do modułu ADAM który
konwertuje odebrane dane na jeden z wybranych interfejsów np. RS232.

Moduł komunikacyjny ADAM 4570 charakteryzuje się następującymi parametrami :

2 porty konwersji Ethernet

RS232/RS422/RS485 ;

protokół transmisji TCP, UDP, IP ;

port sieciowy : 10 Base-T IEEE 802.3 ; 100 Base-TX IEEE 802.3u ; RJ-45 ;

port szeregowy : RS-232/485/422 ;

szybkość transmisji : RS-232 : 300 bps

115.2 Kbps ; RS-485 : 300 bps

230.4 Kbps ;

format transmisji : kontrola parzystości , kontrola nieparzystości , brak kontroli

liczba bitów danych : 5, 6, 7, 8 ;

liczba bitów stopu : 1, 1.5, 2 ;

kontrola modemu : pełna , RS-232 ;

kompatybilność : Ethernet version 2.0/IEEE 802.3 , IEEE 802.3u

Rys. 3. Moduł komunikacyjny ADAM 4570

3.2.

Konfiguracja modułu

Do konfiguracji modułu należy użyć następującego oprogramowania: EDG COMPort

Configuration Utility oraz EDG COMPort Mapping Utility. Przebieg konfiguracji przy użyciu
tych programów został opisany poniżej.

6

background image

Konfigurację modułu rozpoczyna się od programu EDG COMPort Configuration Utility. Po

uruchomieniu aplikacji pojawia się ekran startowy (Rysunek 3.), na którym widać pasek postępu
podczas wyszukiwania wszystkich urządzeń typu EDG ( Ethernet Data Gateway ). Są to urządzenia
podłączone do sieci komputerowej przewodowej lub bezprzewodowej.

Rys. 4. Ekran startowy po uruchomieniu programu EDG COMPort Configuration Utility

Po uruchomieniu programu po lewej stronie (Rysunek 5) widoczne są nazwy wszystkich urządzeń
EDG. Możemy teraz przystąpić do konfiguracji modułu. Klikając na nazwę urządzenia, ADAM-
4570-H11W-12
, przechodzi się do ustawień dotyczących wybranego sprzętu. Do dyspozycji są
cztery zakładki Device Properties dotyczące ustawień ADAMa: System, Network, Port, Security.
Widok zawartości zakładki System przedstawia rysunek 5.

W zakładce SYSTEM widoczna jest

nazwa urządzenia w polu Device Name. Nie należy zmieniać domyślnej nazwy.

7

background image

Rys. 5. Przykładowy wygląd okna programu EDG Configuration Utility - zakładka System

Rys. 6. Przykładowy wygląd okna programu EDG Configuration Utility - zakładka Network

8

background image

Zakładka Network służy do konfiguracji ustawień połączenia sieciowego. Nie należy zmieniać
domyślnych ustawień, tylko upewnić się czy są one następujące:

Opcja

Wartość

MAC Address

00 D0 C9 A2 57 25

Link Speed

Auto Mode

Duplex Mode

Auto Mode

IP Address

192.168.41.12

Subnet Mask

255.255.255.0

Default Gateway

192.168.41.1

W następnej zakładce Port należy dokonać zmian ustawienia portu szeregowego PORT1. Należy
wpisać ustawienia portu takie same jakie zostały wybrane przy tworzeniu programu testowego.
Domyślnie są to następujące ustawienia portu pierwszego (PORT 1):

Opcja

Wartość

Rodzaj portu
szeregowego

RS485

Prędkość transmisji

19200

Liczba bitów stopu

2

Kontrola parzystości

Brak

Kontrola transmisji

Brak

Liczba bitów danych

8


Jako rodzaj portu szeregowego należy wybrać RS485, ponieważ przekształtnik do którego
podłączony jest moduł ADAM obsługuje właśnie ten rodzaj portu. W tym przypadku ramka danych
dla tego portu jest taka sama jak dla portu RS232. Różnica jest w poziomie napięć na liniach szyn
danych.

9

background image

Rys. 7. Przykładowe okno programu EDG Configuration Utility - zakładka Port

Ostatnia zakładka Security umożliwia zdefiniowanie numerów IP komputerów, które mogą
łączyć się z modułem ADAM. Należy zaznaczyć opcje „Allow any IP access” która umożliwi
łączenie się z modułem z każdego komputera w sieci, w laboratorium.

Rysunek 8. Przykładowe okno programu EDG Configuration Utility - zakładka Security.

10

background image

Po odpowiednim skonfigurowaniu modułu, należy przycisnąć przycisk Apply. Można przejść do
sprawdzenia komunikacji z Adamem poprzez wykorzystanie sieci Ethernetowej. W systemie
Windows przechodzimy do trybu wiersza poleceń (Start->Uruchom->”cmd”) wpisujemy komendę
„ping 192.168.41.12” ( jest to numer IP modułu ADAM ). W przypadku prawidłowej komunikacji
odpowiedzią wynikową od modułu jest 0% utraconych pakietów
Po wykonaniu konfiguracji modułu możemy przejść do ustawiania portu COM przy użyciu
programu EDG COMPort Mapping Utility (Rysunek 9). Program ten pozwoli na stworzenie
wirtualnego portu COM z którego korzystać będzie przykładowy program komunikujący się z
przekształtnikiem. Po lewej stronie okna głównego dostępne są informacje na temat obecnie
używanych portów COM ( Used Ports ), wolnych portów ( Unused Ports ) oraz portów używanych
przez moduły Adam. W celu stworzenia portu COM, który będzie obsługiwany przez ADAM’a np.
COM5 , klikamy na (unused Ports) wybieramy COM5, podajemy następujące informacje:
model ADAM’a(ADAM 4570) który będzie wykorzystywał w/w port, numer IP modułu
(192.168.41.12) oraz wybieramy port (Port1), który w module będzie przypisany do portu COM5
komputera. Po ustawieniu klikamy Apply. W programie EDG COMPort Mapping Utility w
zakładce modułu Adam 4570 powinien pojawić się COM5 wcześniej przez nas skonfigurowany.
ADAM 4570 jest gotowy do pracy.

Opcja

Wartość

Model of Installed Device

ADAM 4570

IP Address of Installed Device 192.168.41.12
Port of Installed Device

Port 1

Rysunek 9. Przykładowe okno programu EDG COMPort Mapping Utility - przyporządkowanie

portu COM3 do portu1 Adama.

11

background image

4. Połączenie komputera z przekształtnikiem MMB10 za pośrednictwem wirtualnego

portu COM komputera i modułu ADAM 4570

Jednym z zadań jakie należy wykonać w ramach ćwiczenia jest napisanie prostego

programu obsługującego port COM komputera. Program powinien wysyłać ramkę RS232 złożoną z
pięciu bajtów do przekształtnika MMB10 firmy MMB Drives. Ramka wysyłana powinna być na
wirtualny port COM stworzony przy pomocy oprogramowania modułu ADAM. Przekształtnik po
odebraniu ramki odsyła ją z powrotem do komputera w celu potwierdzenia odebrania danych. Cała
ramka przesyłana jest za pośrednictwem modułu ADAM 4570 połączonym z jednej strony do sieci
Ethernet laboratorium a z drugiej strony do przekształtnika za pośrednictwem interfejsu RS485
(rysunek 10). Dane zawarte w wysyłanej do przekształtnika ramce są dowolne. Program należy
napisać w środowisku Borland Builder według opisu znajdującego się w podpunkcie 4.2.

Rys. 10. Połączenie komputera z przekształtnikiem MMB10

4.1.

Obsługa portu RS232 przy wykorzystaniu WindowsAPI

W systemie Windows zaimplementowano funkcje, dostępne za pośrednictwem interfejsu
programistycznego WinAPI, do obsługi portów COM. Funkcje te są łatwe w implementacji i
pozwalają na pełną kontrolę nad danymi przesyłanymi za pośrednictwem portu COM. Opis
podstawowych funkcji API potrzebnych do napisania prostego programu wysyłającego paczkę
danych przez port COM przedstawiono poniżej:

„CreateFile” - funkcja otwierająca port. Parametrami funkcji są między innym: numer portu
jaki ma zostać otwarty oraz rodzaj dostępu do portu (zapis/odczyt). Funkcja zwraca uchwyt
który wykorzystywany jest do uzyskania dostępu do portu. Przykładowe wywołanie funkcji
w celu otwarcia portu nr 5 w celu zapisu i odczytu danych
CreateFile("COM5",GENERIC_READ|
GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);

GetCommState oraz SetCommState – funkcja odczytująca i ustawiająca podstawowe
parametry portu takie jak prędkość transmisji, ilość bitów danych itd.

GetCommTimeouts oraz SetCommTimeouts – funkcje ustawiające timeout portu np. czas
oczekiwania na dane od urządzeń połączonych do portu COM. Bez ustawienia czasu
oczekiwania na dane jakie ma odebrać komputer przez port, jeśli z jakiś przyczyn dane
zwrotne nie zostaną wysłane (np. ponieważ przekształtnik zostanie wyłączony) program

12

Komputer PC

ADAM 4570

MMB10

Sieć H11W

Ethernet
TCP/IP

Ethernet
TCP/IP

RS485

background image

przestanie reagować.

WriteFile – funkcja wysyłająca określoną tablice danych poprzez port.

ReadFile – funkcja odczytując dane jakie zostają wysłane na port komputera

4.2.

Programowanie

Należy uruchomić program Borland Builder a następnie utworzyć nowy projekt. W tym celu
należy z menu File wybrać New Application.

Na formie Form1 umieścić kontrolkę przycisku. W tym celu z zakładki Standard wybrać
Button i przeciągnąć ją na formę. Przycisk posłuży później do wysyłania ramki poprzez port
COM.

Na formie umieścić kontrolkę Memo. W tym celu z zakładki Standard wybrać Memo i
przeciągnąć ją na formę. Kontrolka memo posłuży później do wyświetlenia danych
odebranych z przekształtnika.

Przy pomocy przycisku F12 przełączyć się do widoku kodu źródłowego

Zadeklarować następujące zmienne na samej górze pliku źródłowego
HANDLE hCom;
DCB dcb;
COMMTIMEOUTS CommTimeouts;

13

background image

W konstruktorze klasy Tform1 pomiędzy znakami {} wpisać następujący kod

// wyczyszczenie kontrolki memo
Memo1->Lines->Clear();

// otwarcie portu nr 5
hCom=CreateFile("COM5",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);

// sprawdzenie czy port został prawidłowo otwarty
if (hCom == INVALID_HANDLE_VALUE)
{
Application->MessageBoxA("Nie otworzono portu","error",0);
}
else
{
// ustawienie parametrów portu
GetCommState(hCom,&dcb);
dcb.BaudRate = CBR_19200;
dcb.ByteSize = 8;
dcb.Parity = NOPARITY;
dcb.StopBits = TWOSTOPBITS;
SetCommState(hCom,&dcb);

// ustawienie timeout-ów portu
GetCommTimeouts(hCom,&CommTimeouts);
CommTimeouts.ReadIntervalTimeout = 150;
CommTimeouts.ReadTotalTimeoutMultiplier = 1;
CommTimeouts.ReadTotalTimeoutConstant = 150;
CommTimeouts.WriteTotalTimeoutMultiplier = 10;
CommTimeouts.WriteTotalTimeoutConstant = 150;
SetCommTimeouts(hCom,&CommTimeouts);
}

14

background image

Przycisnąć przycisk F12 aby Przejść do widoku Formy

Przejść do zakładki Events w panelu Object Inspector znajdujący się po lewej stronie.

Dwukrotnie przycisnąć opcje OnDestroy. Widok automatycznie zostanie przeniesiony do
widoku kodu źródłowego, co pozwoli na obsługę funkcji OnDestroy.

15

background image

W funkcji OnDestroy wpisać następujący kod:

CloseHandle(hCom);

funkcja OnDestroy jest wykonywana na zakończenie programu, w funkcji tej wykonywany
jest powyższy kod który zamyka port po wyłączeniu programu.

16

background image

Ponownie przejść do widoku formy przyciskiem F12

Dwukrotnie przycisnąć postawiony wcześniej przycisk (Button). Spowoduje to
automatyczne przeniesienie do widoku kodu źródłowego i możliwość oprogramowania
funkcji związanej z naciśnięciem przycisku. W programie tym, po naciśnięciu przycisku ma
zostać wysłana ramka danych przez port COM. W tym celu należy wpisać następujący kod

char do_wyslania[5];

// deklaracja tablicy z elementami do wysłania

char odebrane[5];

// dekalracja tablicy z elementami odebranymi

unsigned long zapisano_bajtow,odczytano_bajtow;

//zmienne określające ile danych odebrano i

zapisano poprzez port COM

Memo1->Lines->Clear(); // wyczyszczenie kontroli memo
if (hCom == NULL) return; // sprawdzenie czy port został wcześniej prawidłowo otwarty

do_wyslania[0] = 1;

// jedna z pięciu danych wysyłanych poprzez port COM

do_wyslania[1] = 85;

// jedna z pięciu danych wysyłanych poprzez port COM

do_wyslania[2] = 0;

// jedna z pięciu danych wysyłanych poprzez port COM

do_wyslania[3] = 255 ;

// jedna z pięciu danych wysyłanych poprzez port COM

do_wyslania[4] = 1 ;

// jedna z pięciu danych wysyłanych poprzez port COM

WriteFile(hCom,do_wyslania,5,&zapisano_bajtow,NULL); // wysłanie bufora
ReadFile(hCom,odebrane,5, &odczytano_bajtow,NULL);

// odbiór bufora

if (odczytano_bajtow!=0)

// sprawdzenie czy przyszło potwierdzeni ramki z przekształtnika

for (int i=0; i< 5; i++)

// wyświetlenie odebranych danych w kontrolce memo

Memo1->Lines->Add((int)odebrane[i]);
else Memo1->Lines->Add("Brak odpowiedzi");

Uruchomić program naciskając klawisz F9 lub przyciskając zielony przycisk Run

17

background image

5. Przebieg ćwiczenia

Zapoznać się z budową stanowiska laboratoryjnego (załączyć zasilanie modułu ADAM oraz
przekształtnika podłączonego do modułu)

Skonfigurować moduł ADAM 4570 według opisu z rozdziału 3 (skonfigurować port modułu
oraz stworzyć wirtualny port COM)

Napisać program testujący komunikacje z przekształtnikiem według opisu z rozdziału 4.

Zarejestrować, za pomocą oscyloskopu, pojedynczą paczkę danych SDU (1 bajt).
Zdekodować poszczególne bity i sprawdzić czy zdekodowana wartość pokrywa się z
wartością jaka jest wysyłana przez program testujący

Zarejestrować, za pomocą oscyloskopu, całą ramkę (5 bajtów), sprawdzić czy wartości
poszczególnych bajtów w ramce odpowiada wartością przesyłanym przez program testujący

Zmienić w programie testującym oraz w konfiguracji modułu ilość bajtów stopu

Zarejestrować ponownie, za pomocą oscyloskopu, pojedynczą paczkę danych SDU i
porównać ją z wcześniej zarejestrowaną

18


Document Outline


Wyszukiwarka

Podobne podstrony:
Zwiększenie wydajności komputera przy wykorzystaniu zasobów płyty głównej, edukacja i nauka, Informa
POPRAWA SPRAWNOŚCI OCENIANIA NAUCZYCIELI AKADEMICKICH PRZY WYKORZYSTANIU NARZĘDZI I TECHNIK INFORMAT
Zdalna edukacja przy wykorzystaniu platformy elektronicznej MOODLE, Ogrodnictwo 2011, INFORMATYKA, i
Społeczeństwo wiedzy i informacji Przesyłanie informacji drogą sms i e meil
Nowoczesne metody leczenia skolioz przy wykorzystaniu ćwiczeń w wodzie, Fizjoterapia
INSTRUKCJE, lab3, Wykorzystanie interfejsu graficznego
INSTRUKCJE, lab5, Wykorzystanie interfejsu graficznego
ZADANIA OBLICZENIOWE PRZY WYKORZYSTANIU STECHIOMETRII REAKCJI
INSTRUKCJE, lab4, Wykorzystanie interfejsu graficznego
INSTRUKCJE, lab1, Wykorzystanie interfejsu graficznego
INSTRUKCJE, lab.2, Wykorzystanie interfejsu graficznego
Pomiar średnicy bardzo małych otworów przy wykorzystaniu dyfrakcji - FUSIARZ, Pracownia Zak˙adu Fizy
kształtowanie pojęc porównywania różnicowego i ilorazowego przy wykorzystaniu zadań tekstowych (2)
Przesyl informacji w sieciach w Nieznany
27 Scharakteryzuj schemat przesylania informacji
Pomiar średnicy bardzo małych okrągłych otworów przy wykorzystaniu dyfrakcji światła, Fizyka
Budowa oczka wodnego przy wykorzystaniu folii, Architektura Krajobrazu, woda w ogrodzie
16 stykowa klawiatura z interfejsem RS232 (2)
Analiza Wrażliwości przy wykorzystaniu VBA

więcej podobnych podstron