Roboty Przemysłowe. laboratorium. Budowa silnika bezszczotkowego i sterowanie silnikiem bezszczotkowym. Autorzy:



Podobne dokumenty
Programowanie w C. dr inż. Stanisław Wszelak

Przegląd i ewaluacja narzędzi do szybkiego tworzenia interfejsu użytkownika (RAD).

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Komputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy

Król Łukasz Nr albumu:

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

2.1 Porównanie procesorów

Zacznij Tu! Poznaj Microsoft Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski

Tworzenie oprogramowania

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

Opracował: Jan Front

Licznik energii typu KIZ z zatwierdzeniem typu MID i legalizacją pierwotną. Instrukcja obsługi i instalacji

Programowanie proceduralne w języku C++ Podstawy

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym

AUTOMATYKA I STEROWANIE W CHŁODNICTWIE, KLIMATYZACJI I OGRZEWNICTWIE L1 BUDOWA TERMOSTATU ELEKTRONICZNEGO

Biomonitoring system kontroli jakości wody

E-TRONIX Sterownik Uniwersalny SU 1.2

Serwonapędy AC Serie EDC, EDB, ProNet

SILNIK KROKOWY. w ploterach i małych obrabiarkach CNC.

Inż. Kamil Kujawski Inż. Krzysztof Krefta. Wykład w ramach zajęć Akademia ETI

LABORATORIUM PODSTAW ELEKTRONIKI MATERIAŁY POMOCNICZE SERIA PIERWSZA

Przetworniki pomiarowe liniowego przesunięcia Enkoder linkowy D135

Enkoder magnetyczny AS5040.

Wyjścia analogowe w sterownikach, regulatorach

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Języki i paradygmaty programowania - 1

Silniki prądu stałego z komutacją bezstykową (elektroniczną)

Przetworniki pomiarowe liniowego przesunięcia Enkoder linkowy A50

1.2. Architektura rdzenia ARM Cortex-M3...16

PRODUCT INFORMATION INTERROLL ROLLERDRIVE EC310 SYNONIM INTELIGENTNEJ LOGISTYKI

Przetworniki pomiarowe liniowego przesunięcia Enkoder linkowy B80

Podstawy Programowania 2

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

Rotor RAS

Seria Jubileuszowa. Rozwiązania informatyczne. Sprężarki śrubowe Airpol PRM z przetwornicą częstotliwości. oszczędność energii. ochrona środowiska

1. Podstawowe wiadomości Możliwości sprzętowe Połączenia elektryczne Elementy funkcjonalne programów...

Programowanie mikrokontrolerów AVR

Modułowy programowalny przekaźnik czasowy firmy Aniro.

PRODUCT INFORMATION INTERROLL CONVEYORCONTROL NOWY WYMIAR W BEZDOTYKOWEJ AKUMULACJI TOWARU (ZPA)

Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu.

SiMod-X-(A1) Przetwornik parametrów powietrza z interfejsem RS485 (MODBUS RTU) oraz wyjściem analogowym (dotyczy wersji -A1)

Newsletter 3/2016. Zminiaturyzowane elektroniczne regulatory proporcjonalne. elektronika w pneumatyce.

CRUSB KONWERTER CAN / USB

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

Systemy Wbudowane. Arduino dołączanie urządzeń Wersja Arduino więcej portów I/O. Układy serii 74. Układy serii 74xx a seria 40xx

Szczegółowy Opis Przedmiotu Zamówienia: Zestaw do badania cyfrowych układów logicznych

Sterowanie urządzeniami elektronicznymi przy użyciu portu LPT

UKŁAD AUTOMATYCZNEJ REGULACJI SILNIKA SZEREGOWEGO PRĄDU STAŁEGO KONFIGUROWANY GRAFICZNIE

RSD Uniwersalny rejestrator danych Zaprojektowany do pracy w przemyśle

Instrukcja obsługi GEN2 Regulowany generator przebiegów prostokątnych

oznaczenie sprawy: CRZP/231/009/D/17, ZP/66/WETI/17 Załącznik nr 6 I-III do SIWZ Szczegółowy opis przedmiotu zamówienia dla części I-III

Kontroler Xelee Master DMX64/512 - Instrukcja obsługi. Kontroler Xelee Master DMX64/512 Firmware 1.1 Instrukcja Obsługi.

Gdańsk: Zestaw do akwizycji danych 8/SK/2009. Numer ogłoszenia BZP: ; data zamieszczenia: OGŁOSZENIE O ZAMÓWIENIU - dostawy

Programowanie komputerów

Systemy wbudowane. Paweł Pełczyński

ASTOR IC200ALG320 4 wyjścia analogowe prądowe. Rozdzielczość 12 bitów. Kod: B8. 4-kanałowy moduł ALG320 przetwarza sygnały cyfrowe o rozdzielczości 12

Cyfrowy wzmacniacz AED dla przetworników tensometrycznych.

Laboratorium Informatyka (I) AiR Ćwiczenia z debugowania

Terminal TR01. Terminal jest przeznaczony do montażu naściennego w czystych i suchych pomieszczeniach.

Wstęp Architektura... 13

Moduł wejść/wyjść VersaPoint

Badanie napędu z silnikiem bezszczotkowym prądu stałego

Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r.

Cel ćwiczenia. Przetwornik elektromagnetyczny. Silniki krokowe. Układ sterowania napędu mechatronicznego z silnikiem krokowym.

Laboratorium Komputerowe Systemy Pomiarowe

Generator przebiegów pomiarowych Ex-GPP2

OPBOX ver USB 2.0 Miniaturowy Ultradźwiękowy system akwizycji danych ze

WPW-1 ma 2 wejścia sygnalizacyjne służące do doprowadzenia informacji o stanie wyłącznika.

ActiveXperts SMS Messaging Server

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

PRZEWODNIK PO PRZEDMIOCIE

Magistrale i gniazda rozszerzeń

Wirtualne przyrządy kontrolno-pomiarowe

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

DTR PICIO v Przeznaczenie. 2. Gabaryty. 3. Układ złącz

ICD Wprowadzenie. Wprowadzenie. Czym jest In-Circuit Debugger? 2. O poradniku 3. Gdzie szukać dodatkowych informacji? 4

Załącznik nr 1 Do Umowy nr z dnia. . Wymagania techniczne sieci komputerowej.

Java jako język programowania

PROGRAM TESTOWY LCWIN.EXE OPIS DZIAŁANIA I INSTRUKCJA UŻYTKOWNIKA

Instrukcja obsługi GEN2 Regulowany generator przebiegów prostokątnych

Zrób to sam : generowanie ruchu, światła i dźwięku za pomocą Arduino i Raspberry Pi / Simon Monk. Gliwice, Spis treści

ĆWICZENIE 15 BADANIE WZMACNIACZY MOCY MAŁEJ CZĘSTOTLIWOŚCI

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Czujniki podczerwieni do bezkontaktowego pomiaru temperatury. Czujniki stacjonarne.

MiAcz3. Elektryczne maszynowe napędy wykonawcze

Research & Development Ultrasonic Technology / Fingerprint recognition

Mikrosilniki prądu stałego cz. 2

Systemy Czasu Rzeczywistego (SCR)

Układy VLSI Bramki 1.0

Laboratorium 2 Sterowanie urządzeniami z wykorzystaniem systemu plików Intel Galileo

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Jednostka centralna. Miejsca na napędy 5,25 :CD-ROM, DVD. Miejsca na napędy 3,5 : stacja dyskietek

Aplikacja dla eksperymentu identyfikacyjnego z wykorzystaniem układu PAIO. Wykonał : Marcin Cichorowski Prowadzenie : dr inż.

Programowanie obiektowe

Instrukcja Obsługi. Modułu wyjścia analogowego 4-20mA PRODUCENT WAG ELEKTRONICZNYCH

RSD Uniwersalny rejestrator danych Zaprojektowany do pracy w przemyśle

Transkrypt:

Roboty Przemysłowe laboratorium Budowa silnika bezszczotkowego i sterowanie silnikiem bezszczotkowym Autorzy: Piotr Sokół Paweł Szymański Rafał Wareliś

1. Karta AD/DA Karta PCI -1710 firmy Advantech jest urządzeniem do gromadzenia i sterowania przepływem informacji przeznaczonym do współpracy z magistralą PCI. Jej głównymi cechami są: unikalny projekt karty, pełny zestaw funkcji do zbierania danych i ich kontrolowania, możliwość konwersji sygnałów analogowych na cyfrowe i odwrotnie, oprócz wyjść i wejść cyfrowych i analogowych posiada również timery i liczniki, dostarcza specyficzne funkcje wymagane przez użytkownika. Karta ta dostarcza użytkownikowi najczęściej wymaganych funkcji pomiarowych dzięki następującym cechom: Rozdzielczość przetwornika A/C: 12 bitów Szybkość przetwornika A/C: 100kHz Pojemność pamięci FIFO: 4k próbek Liczba kanałów A/C: 16 SE (ze wspólną masą) lub max. 8 DIFF (różnicowych) Wejściowe zakresy napięciowe unipolarne: 0 10, 0 5, 0 2.5, 0 1.25 [V] Wejściowe zakresy napięciowe bipolarne: ±10, ±5, ±2.5, ±1.25, ±0.625 [V] Wyzwalanie konwersji: programowe, wewnętrznym generatorem lub sygnałem zewnętrznym Transmisja danych z karty: programowa lub na przerwaniu Rozdzielczość przetwornika C/A: 12 bitów Liczba kanałów C/A: 2 Wyjściowe zakresy napięciowe: 0 5V, 0 10V Przepustowość: 38kHz 16 wejść i 16 wyjść cyfrowych TTL 1 szesnastobitowy licznik Złącze doprowadzenia sygnałów: SCSI-II 68 pinów Wymiary: 175x100mm Dostępne akcesoria: PCLD-8710, PCL-10168, ADAM-3968 Karta PCI-1710 wykrywana jest w systemie Windows jako urządzenie Plug&Play. Po zainstalowaniu sterowników karty możliwa jest jej konfiguracja programowa w dostarczonym przez producenta programie narzędziowym. Dołączone biblioteki DLL pozwalają na tworzenie własnych aplikacji współpracujących z kartą. 1

2. C++ Język C++ jest wieloparadygmatowym językiem programowania, m.in. również obiektowo zorientowanym. Obecnie stanowi jeden z najpopularniejszych standardów programowania. Początkowo język C++ był dostępny w takim standardzie, w jakim opracowano ostatnią wersję kompilatora Cfront (tłumaczący C++ na C), później opublikowano pierwszy nieformalny standard zwany ARM (Annotated Reference Manual), który sporządzili Bjarne Stroustrup i Margaret Ellis. Standard języka C++ powstał w 1998 roku (ISO/IEC 14882-1998 "Information Technology - Programming Languages - C++"). Standard ten zerwał częściowo wsteczną zgodność z ARM w swojej bibliotece standardowej; jedyne, co pozostało w stanie w miarę nienaruszonym to biblioteka iostream. Nazwa języka została zaproponowana przez Ricka Mascitti w 1983 roku, kiedy to po raz pierwszy użyto tego języka poza laboratorium naukowym. Odzwierciedla ona fakt, że język ten jest rozszerzeniem języka C (w C wyrażenie zmienna++ oznacza inkrementację czyli zwiększenie o jeden). Wcześniej używano nazwy "C z klasami". Na język C++ wpływ miały, poza językiem C, jako jego podstawą, przede wszystkim Simula, z której zaczerpnął właściwości obiektowe, a także języki takie, jak Algol, Ada, ML i Clu. Początkowo najważniejszą rzeczą wprowadzoną w C++ w stosunku do C było programowanie obiektowe, później jednak wprowadzono do niego mnóstwo ulepszeń, czyniąc ten język wygodniejszym i bardziej elastycznym od swojego pierwowzoru. Nie od rzeczy jest też wspomnieć, że niektóre zmiany w standardzie języka C były w większości zainspirowane językiem C++. Kompilacja Każdy program komputerowy musi w momencie wykonania składać się z instrukcji zrozumiałych dla procesora. Niewielu jest jednak ludzi potrafiących zapisać w kodzie maszynowym choćby najprostsze instrukcje, nie mówiąc o całych programach. Dlatego właśnie wymyślono języki programowania, które pozwalają tworzyć aplikacje w sposób wiele bardziej zrozumiały dla człowieka. Niestety, to, co dla człowieka jest oczywiste, dla procesora jest tylko "bełkotem". Kompilacja jest swego rodzaju tłumaczeniem pomiędzy językami zrozumiałymi dla człowieka i maszyny. Polega na zamianie ciągu liter, którego używa człowiek do reprezentacji jakiejś operacji na odpowiadający mu ciąg instrukcji w postaci zer i jedynek. W zależności od złożoności języka, proces ten jest mniej lub bardziej skomplikowany. Dla języków niskiego poziomu (np. asemblera) kompilacja wygląda tak, jak tłumaczenie dosłowne ze słownikiem. Przy czym dany "wyraz" ma tylko jeden odpowiednik w kodzie maszynowym. Języki wyższego poziomu wymagają czegoś, co można przyrównać do tłumaczenia kontekstowego, gdzie w zależności od poprzednich i następnych poleceń, aktualnie analizowane przyjmuje inną reprezentację w kodzie maszynowym. Pierwsze kompilatory języka C++, podobnie jak Cfront, były wyłącznie translatorami na język C. Kompilatory takie dostępne są i dziś. Jednym z nich jest Comeau C++ - jeden z niewielu kompilatorów oferujących pełne wsparcie dla standardu języka. Pierwszym 2

kompilatorem natywnym (produkującym od razu kod asemblerowy) dla języka C++ był g++ z pakietu GCC, którego pierwszym autorem był Michael Tiemann, założyciel Cygnus Solutions. Środowisko projektowe Rynek oprogramowania oferuje wiele profesjonalnych a co najważniejsze darmowych (dosyć często rozprowadzanych na zasadach licencji GNU) narzędzi z którymi warto rozpocząć swoją przygodę z programowaniem. Często są to całe środowiska projektowe łączące w sobie edytor kodu, kompilator, debugger i inne narzędzia ułatwiające projektowanie aplikacji. Dla początkujących programistów ważną częścią takiego pakietu jest bardzo dobrze opracowana pomoc, z której często od podstaw poznamy elementy programowania. Oto kilka pozycji godnych polecenia: Dev-C++ Zintegrowane środowisko programistyczne na licencji GNU, dla programistów języka C i C++. Jest zintegrowany z kompilatorem MinGW, czyli windowsowym odpowiednikiem linuksowego GCC. Program jest napisany w Delphi, a jego linuksowy odpowiednik w Kylix. Program jest przechowywany na witrynie Sourceforge. Dev-C++ został pierwotnie stworzony przez programistę Colina Laplace'a i jego zespół - Bloodshed Software. Dev-C++ działa pod Windowsem, posiada też linuksowy odpowiednik, jednak ten projekt został niedawno zawieszony. Aktualna wersja 4.9.9.2 Producent Bloodshed Software Licencja GPL Platforma systemowa Windows Oficjalna witryna http://www.bloodshed.net/dev Visual Studio 2005 Microsoft Visual Studio to zestaw narzędzi programistycznych (IDE), w skład którego wchodzi: Microsoft Visual C# Microsoft Visual C++ Microsoft Visual Basic Microsoft Visual J# Microsoft Visual Studio pozwala na pisanie aplikacji graficznych systemu windows (tzw. Winapi), posiada on zestaw klas ułatwiajacych pisanie kodu. Najnowsza wersja Visual Studio 2005 jest przeznaczona wyłącznie dla systemów MS Windows 2000/XP/2003. Na witrynie Microsoftu dostępna jest wersja Express Edition przeznaczona dla hobbystów i małych firm, może być używana bezpłatnie bez ograniczeń czasowych. Najbardziej istotnymi zmianami w stosunku do poprzedniej wersji są: 3

zastosowanie wersji 2.0.NET Framework, a co za tym idzie zmiany w językach programowania możliwość kompilacji dla procesorów 64-bitowych różnych typów Aktualna wersja 2005 (27 października 2005) Producent Microsoft Licencja Komercyjna Platforma systemowa Windows 98/ME/2000/XP/2003 Oficjalna witryna msdn.microsoft.com/vstudio Borland C++ Builder Borland C++ Builder to narzędzie programistyczne typu RAD firmy Borland do tworzenia aplikacji w języku C++. Zaletą tego IDE jest wykorzystanie dostępnej również w środowisku Delphi, w pełni obiektowej biblioteki VCL, znacznie ułatwiającej budowę interfejsu użytkownika w systemie Windows. Obecnie dostępna jest wersja 2006 tego środowiska. C++ Builder, do samej budowy programu wykorzystuje kompilator BCC32 oraz linker ILINK32 firmy Borland. Alternatywną wersją C++ Builder jest C++ Builder X, które nie zawiera biblioteki VCL. Środowisko, to pozwala na stosunkowo łatwe tworzenie programów wieloplatformowych. Wersja Borland C++ Builder Personal przeznaczona jest do zastosowaniach niekomercyjnych (przede wszystkim edukacyjnym), można ją nabyć bezpłatnie - po zarejestrowaniu się na stronie Borlanda. Aktualna wersja 6 Producent Borland Licencja Komercyjna Platforma systemowa Windows 98/ME/2000/XP Oficjalna witryna http://www.borland.com 4

3. Silniki bezszczotkowe Z pojęciem tym zetknęła się zapewne większość z Was. Czym naprawdę są te silniki i jak działają? Jak nazwa wskazuje - nie ma w nich szczotek ani komutatorów - czyli elementów podlegających najszybszemu zużyciu w tradycyjnych silnikach. Szczotki i komutatory są przedmiotem ciągłej troski użytkowników - podczas pracy silnika występuje na nich ciągłe iskrzenie - czyli łuk elektryczny temperaturze kilku tysięcy stopni. Mimo stosowania materiałów odpornych na wysokie temperatury (spieki grafitowe) lub dobrze rozpraszających energię cieplną (miedź), to elementy te szybko się wypalają i trzeba je regenerować/wymieniać na nowe. Iskrzenie powoduje wydzielanie dużych ilości ciepła - silnik może nabrać wysokiej temperatury, co może doprowadzić do stopienia izolacji na drutach nawiniętych na rdzeń - w efekcie zwarcia i zniszczenia silnika. Iskrzenie to również strata energii - silniki szczotkowe nie są zbyt sprawne. Silniki bezszczotkowe, poza ceną, wydają się mieć same zalety - nie ma w nich ani szczotek, ani komutatorów - nie ma się więc co zużywać, nie ma co iskrzyć czyli zwiększać temperatury, powodować straty energii. Dzięki temu silniki pracują długotrwale bezobsługowo. Mogą być więc też stosowane w miejscach, które po montażu są niedostępne. Jak zbudowany jest silnik bezszczotkowy i jak działa? W tradycyjnych silnikach cewki elektryczne nawinięte są na rdzeń i wirują ich ruch obrotowy powoduje "przełączanie" się zasilania cewek, które odpychane są lub przyciągane przez magnesy, które są na stałe przymocowane wewnątrz obudowy silnika. W silniku bezszczotkowym role zostały odwrócone - to cewki są nieruchome wewnątrz obudowy, a magnes osadzono na obracającym się rdzeniu. Prąd na cewki podawany jest przez regulator obrotów - oczywiście musi to być specjalny regulator - po pierwsze ze względu na to, że silniki bezszczotkowe mają trzy bieguny (fazy), a nie dwie, jak zwykłe, szczotkowe silniki, a po drugie musi to być regulator "wiedzący" w jakim położeniu względem cewek znajduje się aktualnie magnes, aby móc podać napięcie na odpowiednie cewki i w odpowiednią "stronę". Silnik, którym się zajmiemy (patrz rysunek 1) to silnik prądu stałego z komutacją elektroniczną opracowany przez firmę Dunkermotoren z serii BG44SI zawierający cyfrowy wzmacniacz regulujący prędkość obrotową silnika. Silnik wyposażony jest w przekładnie planetarną PLG42S pozwalającą uzyskiwanie przełożeń od 4:1. W standardowym wykonaniu obudowa chroni silnik i zintegrowaną elektronikę zgodnie z normą IP40 przed kurzem i wilgocią. Silniki podłącza się poprzez okrągłe 8-stykowe złącze o stopniu ochrony IP65 (rysunek 2). 5

Rysunek 1. Silnik firmy Dunkenmotoren z serii BG44SI wyposażony w przekładnie planetarną PLG42S Rysunek 2. Ośmiostykowe złącze silnika Dwa przewody elektryczne doprowadzają napięcie zasilania odpowiednio o wartości 12 lub 24V. Poprzez cyfrowe wejście sterujące można odpowiednio ruch silnika wystartować lub zatrzymać, poprzez drugie wejście kontrolować kierunek obrotów. Na innym przewodzie sterującym napięcie o wartości od 0V do 10V decyduje o prędkości obrotowej napędu. Dodatkowe dwa wyjścia cyfrowe dostarczają odpowiednio 12 impulsów na obrót rotora na jednym, a sygnału błędu na drugim. Wyjście impulsowe pozwala na monitorowanie prędkości obrotowej lub osiąganej przez napęd pozycji. Dane (przy temperaturze otoczenia 20 C dla pracy ze standardową elektroniką) BG44x25SI BG44x50SI Napięcie znamionowe 24V DC 24V DC Moc znamionowa Ok. 20 W Ok. 40 W Moment znamionowy 6 Ncm 11 Ncm Znamionowy prąd 1,5 A 2,6 A Prędkość znamionowa 3300obr/min 3600obr/min Prędkość biegu jałowego 5400obr/min 4900obr/min Prąd biegu jałowego 0,2 A 0,3 A Moment startowy 17 Ncm 37 Ncm Moment bezwładności 34 gcm2 64 gcm2 Waga Ok. 470g Ok. 660g 6

4. Sterowanie silnikiem bezszczotkowym z użyciem języka C/C++ Poniżej zamieszczony został kod źródłowy prostego programu w języku C++, którym możemy posłużyć się w celu sterowania silnikiem bezszczotkowym. Aby porozumieć się z silnikiem użyliśmy karty analogowej PCI 1710 firmy Advantech opisanej w pierwszym rozdziale. Po to by skompilować i uruchomić aplikację potrzebny będzie zestaw bibliotek łącznie z biblioteką driver.h dostarczana wraz ze sterownikiem urządzenia. Do sterowania silnikiem potrzebujemy dwóch wyjść cyfrowych jedno do uruchomienia i zatrzymania silnika, drugie do sterowania obrotami lewo, prawo i jednego wyjścia analogowego do regulacji prędkości obrotowej. Prędkość znamionowa silnika wynosi 3600 [obr/min] a jej regulacji dokonujemy w zakresie 0 10 V. #include <stdio.h> #include "..\include\driver.h" void main() { DWORD dwerrcde; ULONG ldevnum=0x60, OutVel=800; long ldriverhandle; PT_DioWriteBit DOut[2]; PT_AOVoltageOut AOut; // numer urządzenia (karta PCI-1710) // prędkość obrotowa silnika // Szukanie urządzenia dwerrcde = DRV_DeviceOpen(lDevNum, &ldriverhandle); if (dwerrcde!= SUCCESS) { ErrorHandler(dwErrCde); printf("nie znaleziono PCI-1710. Program zakonczony!\n"); exit(1); } // ustawianie wyjść cyfrowych DOut[0].port = 0; // port: 0 DOut[0].bit = 0; // kanał: 0 DOut[0].state = 1; // stan: 1 DOut[1].port = 0; // port: 0 DOut[1].bit = 1; // kanał: 1 DOut[1].state = 1; // stan: 1 // wyjscie analowowe AOut.chan = 0; // kanał: 0 AOut.OutputValue = 10.0*OutVel/3600; // wartość wyjściowa napięcia proporcjonalna do prędkości obrotowej // koniec pracy z urządzeniem DRV_DeviceClose(&lDriverHandle); } 7

Program najpierw szuka urządzenie PCI 1710 i próbuje nawiązać z nim połączenie. Jeżeli go nie znajdzie wyświetli odpowiedni komunikat. Następnie ustawia dwa wyjścia cyfrowe w stan wysoki, a na wyjście analogowe podaje napięcie proporcjonalne do zadeklarowanej na początku programu prędkości obrotowej (stała OutVel). Na zakończenie program zamyka urządzenie. I to wszystko. Ta prosta aplikacja pokazuje tylko niewielką część możliwości karty AD/DA. Zachęcam do zapoznania się z kodem przykładowych aplikacji dostarczonych wraz ze sterownikiem karty i poszerzenia możliwości pokazanego programu. W razie problemów proszę zapoznać się z plikiem pomocy sterownika. 8