Komunikace pomocı seriove linky RS485 pod Windows 95/98/NT



Podobné dokumenty
Osnova přednášky. Informační a řídicí systémy I. Ovladače v OS a v ŘS REX. Ovladače ve Windows. Komunikace s ovladači v OS

Uživatelský manuál A4000BDL

A4300BDL. Ref: JC

Osciloskop. 4 kana lovy: Vzorkova ný(c asova za kladna)


Interface LPG / CNG Bluetooth. Instrukce k instalaci a konfiguraci zařízení v1.0 cz. U rozhraní bluetooth není instalace ovladače potřebná.

Novější verze Linuxu již ovladače pro obvody FTDI v sobě obsahují. Ovladač je potřeba nainstalovat pro každý používaný USB port

Algoritmizace a programování

Aplikace. Hlásič SMS

Knihovna GalaxyLib TXV druhé vydání srpen 2012 změny vyhrazeny

PES lib (C + PASCAL) KNIHOVNY KOMUNIKAÈNÍCH FUNKCÍ 03/ PESlib KOMUNIKAČNÍ KNIHOVNY C, PASCAL 03/ stran 1

Cvičení č. 6. Synchronizace ve Windows. 3 Body

ZÁKLADNÍ INSTRUKCE. od verze SW 10.7

MĚŘICÍ PŘÍSTROJ PRO PC. 4 VSTUPY: 0 10 V ZESÍLENÍ : 1x, 2x, 4x, 8x VÝSTUP: LINKA RS232 RS232 DRAK 4 U1 U2 U3 U4

Popis funkcí a parametrů programu. Reliance External communicator. Verze 1.5.0

Tento počítač. 1 Seznámení s programem. 2 Spuštění programu. Adresářové operace Popis programu Tento počítač, podstata adresářových operací.

Manager AP. Uživatelská p íru ka programu. zá í 2012 preliminary verze

8. Struktura údaj na LCD displeji

Stručný návod k obsluze Nainstalujte ovladač GW-7100PCI pro Windows 98, ME, 2000 and XP

2.1.2 V následujícím dialogovém okně zvolte Instalovat ze seznamu či daného umístění. stiskněte tlačítko Další

GRAPE SC IPTV. více než televize

dovolují dělení velkých úloh na menší = dekompozice

IP kamera. Uživatelský manuál

Instalace programu C-on

Uživatelský manuál. A4000 Download

Buffer 16kB pro sériovou linku RS232 s konverzí rychlosti, parity, počtu datových bitů a stopbitů

19 Jednočipové mikropočítače

Principy komunikace s adaptéry periferních zařízení (PZ)

AD4USB. měřící převodník. 4x vstup pro měření unifikovaného signálu 0 10 V, 0 20 ma, 4 20 ma. komunikace i napájení přes USB

VAR-NET INTEGRAL Manuál správce VNI 5.1 VAR-NET INTEGRAL. verze 0.2. Manuál správce VNI 5.1

Komunikační protokol pro Fotometr 2008

FIREMNÍ CERTIFIKÁT V APLIKACI PŘÍMÝ KANÁL NÁVOD PRO KLIENTY

TCP-Wedge ZDARMA. Přidává podporu TCP/IP: Sběr dat z adres portu IP na libovolné síti TCP/IP - ethernet / internet.

DUM 05 téma: Základy obsluha Gimp

CQ485. Opakovač a převodník linek RS485 a RS422. S aktivní i pasivní obnovou dat

1. Instalace programu LUPA

Přerušení POT POT. Přerušovací systém. Přerušovací systém. skok do obslužného programu. vykonávaný program. asynchronní událost. obslužný.

Popis programu EnicomD

TMU. USB teploměr. teploměr s rozhraním USB. měření teplot od -55 C do +125 C. 26. května 2006 w w w. p a p o u c h. c o m

SNÍMAČOVÝ EXPANDÉR TB8.1x2 RS232 - ASCII

KOMUNIKACE PC DAT 400/500. přes USB programem INOVATION

Nastavení služby T-Mobile GPRS. pro přístup na Internet z počítače s operačním systémem Windows

PU 01 komunikační kabel pro USB port

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ

OBD II kabel Fast KKL - USB, komp. s VAG-COM instalace ovladače pro Windows

Mikromarz. CharGraph. Programovatelný výpočtový měřič fyzikálních veličin. Panel Version. Stručná charakteristika:

MS WINDOWS I. řada operačních systémů firmy Microsoft *1985 -? Historie. Práce ve Windows XP. Architektura. Instalace. Spouštění

Soubory a databáze. Soubor označuje množinu dat, která jsou kompletní k určitému zpracování a popisují vybrané vlastnosti reálných objektů

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Technická dokumentace ČTEČKA ČIPŮ DALLAS. typ DSRS

FTC08 instalační manuál k dotykovému panelu systému Foxys

Komunikativní regulátor fancoilu s ventilátorem

USB485EG. Převodník USB/RS485,422 s galvanickým oddělením. Popis

Rozhraní PC - Sériové a paralelní

TRANSFORMACE. Verze 4.0

uбdajuй rоaбdneб cоi mimorоaбdneб uбcоetnуб zaбveоrky a oddeоleneб evidence naбkladuй a vyбnosuй podle zvlaбsоtnубho praбvnубho prоedpisu.

RE3USB programovatelné USB relé

Téma 10: Správa hardwarových zařízení a ovladačů II

udspt10r JEDNOTKA IMPLEMENTUJÍCÍ DISPLEJ VZDÁLENÉ VARIANTY TERMINÁLU TERM10 Příručka uživatele a programátora

4.3 Operace nad ordin ln mi datov mi typy Operace nad logick m datov m typem Operace nad celo seln mi datov mi typy

PCKEYB JEDNOTKA PRO OBSLUHU KLÁVESNICE TYPU PC AT. Příručka uživatele a programátora

P D S - 5 P. Psychologický diagnostický systém. Instalační manuál. Popis instalace a odinstalace programu Popis instalace USB driverů

Převodník na DIN lištu s frekvenčním výstupem typ RF1

VComNet uživatelská příručka. VComNet. Uživatelská příručka Úvod. Vlastnosti aplikace. Blokové schéma. «library» MetelCom LAN

Přerušovací systém s prioritním řetězem

PROGRAM AZA Control návod k použití

DRAK 3 INTELIGENTNÍ A/D PŘEVODNÍK. 3 VSTUPY: 0(4) - 20mA, 0-5/10V VÝSTUP: LINKA RS485 MODUL NA DIN LIŠTU RS485

Uživatelský manuál. KNXgal. řízení zabezpečovacích ústředen. Galaxy ze sběrnice KNX. napájeno ze sběrnice KNX. indikace komunikace na KNX

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

Sada 1 - Základy programování

Témata profilové maturitní zkoušky

ÚAMT FEKT VUT. mikroprocesor Rabbit. Diplomová prá ce. Tomá škreuzwieser. Brno

Modbus RTU v DA2RS. kompletní popis protokolu. 13. března 2018 w w w. p a p o u c h. c o m

Komunikační protokol MODBUS RTU v displejích TDS

Vzdálené ovládání dotykového displeje IDEC HG3G pomocí routeru VIPA TM-C VPN

Systém souborů vjj 1

DTX700 Konfigurační a programovací interface k regulátorům řady DTCxxx

Windows 2000 Čtecí a zapisovací zařízení karet. Krátký návod k obsluze Instalace CHIPDRIVE micro 100, 110 a 120. Obj. č.:

Knihovna DMX512lib Komunikace protokolem DMX512. TXV prvé vydání srpen 2010 změny vyhrazeny

OBSAH ÚVOD... 3 PŘIPOJENÍ SÍŤOVÉHO MODULU... 3 INSTALACE SÍŤOVÉHO MODULU... 3 PŘÍKLADY SÍŤOVÉHO PŘIPOJENÍ... 6 ZMĚNA IP ADRESY...

USB komunikační adaptér RS virtuální sériový port ELO E215. Uživatelský manuál

grafické vývojové prostředí pro vytváření aplikačního SW do centrál systému PROMOS line 2

TEPL2344 Technická dokumentace PŘEVODNÍK TEPLOTY. typ TEPL2344 s rozhraním RS232.

Metody připojování periferií BI-MPP Přednáška 2

SNÍMAČOVÁ JEDNOTKA TB2.310-USB2.0/1.2-ASCII

Novinky u zařízení pro sériovou komunikaci. Michal Kahánek

Převodník USB na RS232. Milan Horkel

Systém sběru dat z RS232 do MS Excel

1.11 Vliv intenzity záření na výkon fotovoltaických článků

3. Zprovozneni Call Bridge

PU001 Sweex 1 Port Parallel PCI Card. Pokud by některá z výše uvedených částí chyběla, obraťte se na svého dodavatele.

OBSAH.2 Ú VOD.3 POPIS VÝ ROBKU.4 PŘENOS KONFIGURACE DO VYSÍLAČ E TSM/Ú STŘEDNY AMOS.5 UPGRADE EPROM Z VERZE NIŽ Š Í NEŽ POZNÁ MKY.

Zranitelnosti ovladačů jádra v praxi Martin Dráb martin.drab@ .cz

R ÍDÍCÍ JEDNOTKA A0 NÁVOD K ZAPOJENÍ

Příručka pro rychlou instalaci E-MU 1212m

Téma 8: Konfigurace počítačů se systémem Windows 7 IV

Postup přechodu na podporované prostředí. Přechod aplikace BankKlient na nový operační systém formou reinstalace ze zálohy

Instalace a od-instalace aplikace Google / Android

idrn-st Převodník pro tenzometry

DELTA PANEL pro Windows

Transkript:

Komunikace pomocı seriove linky RS485 pod Windows 95/98/NT (obsluha komunikac nıch karet Tedia PCI585, PCI685 ve 32-bitovem prostredı) ZJISTE NI VOLNY CH PROSTR EDKU V PC 2 Windows 95/98 2 HARDWAROVA INSTALACE 2 INSTALACE OVLADAC E 2 Windows 95/98 2 ZA KLADNI PROCEDURY A FUNKCE PRO PRA CI SE SŽRIOVY M PORTEM RS485 V PROSTR EDI WIN32 3 CreateFile 4 CloseHandle 5 WriteFile 6 ReadFile 7 EscapeCommFunction 8 GetCommState / SetCommState 9 GetCommTimeouts / GetCommTimeouts 10 TVORBA APLIKACE VYUZIVAJICI RS485 11 KARTA PCI-685 11 KDE LZE KARTU PCI-685 OBJEDNAT 11 Adicom Praha, s.r.o. Strana 1 (celkem 11)

U vod Tento dokument je urc en vyvojovym pracovnıku m, kterı jsou postaveni pred š kol propojit zarızenı komunikujıcı s PC smyc kou RS485 s modernımi 32-bitovymi operac nımi systemy Windows 95/98/NT. Jeho š kolem je tento prechod zjednodusit co mozna nejvıce. Proto se zde krom deklaracı procedur a funkcı v jazyce C objevujı i deklarace a prıklady pro Borland Delphi. Jako hardwarovou platformu pro komunikaci predpoklada komunikac nı kartu Tedia PCI-685. Zjistenı volny ch prostredku v PC Pred vlastnı instalacı karty je nutno ujasnit si, kteresystemoveprostredky je moznekart priradit. Windows 95/98 Pravym tlacıtkem mysi klikneme na ikonu Tento pocıtac na pracovnı plose a vybereme polozku Vlastnosti. Zvolıme kartu Spravce zarızenı, ve stromu jednou klikneme na polozku Pocıtac (prvnı v poradı) a stiskneme tlacıtko Vlastnosti. Zde je treba vybrat volneirq a I/O adresu podle moznostı nastavenı karty. Zatımco IRQ muzeme zvolit takrka libovoln (pozor na IRQ9 Ř tam je mapovano IRQ2), bude vyhodnezvolit I/O adresu odpovıdajıcı b zneadrese pro COM3 (tj. 3E8h), popr. pro COM4 (tj. 2E8h). To vsak nenı podmınkou. Hardwarova instalace Podle navodu nastavıme na kart nasledujıcı parametry: I/O port a IRQ podle moznostı PC. Ty jsme zjistili v minulekapitole. Rızenı prenosu signalem DTR, resp. RTS, popr. automatickerızenı prenosu obvody ADFC (v zavislosti na konkretnı aplikaci Ř viz dale). Typ smyc ky RS422/485. Potezasuneme kartu do PC. Po ubezpec enı se, ze jsme zakrok provedli korektn, muzeme pustit PC. Instalace ovladace Komunikace s kartou PCI-685 bude probıhat pomocı standardnıho ovladac e serioveho portu. V dalsıch kapitolach si ukazeme, jak s tımto ovladac em pracovat a jakerozdıly se uplatn ujı pri praci s RS485. K tomu je nejprve potreba sd lit systemu, ze jsme nainstalovali novy port. Windows 95/98 Nenajde-li system Windows po spust nı port automaticky, je treba pridat jej ruc n volbou Pridat novy hardware v Ovladacıch panelech, ruc nı vyb r HW, komunikac nı zasuvka. Zm ny parametru (bazova adresa, IRQ) provedeme po instalaci ve Spravci zarızenı. Poklepeme na nov vytvoreny port a na kart Prostredky nastavıme patric nou konfiguraci. Zakladnı konfigurace 1..4 odpovıdajı b znym nastavenım pro COM1..COM4. Chceme-li vyuzıvat jineprostredky, je treba zvolit Zakladnı konfiguraci 8 a prostredky nadefinovat ruc n. Na zalozce nastavenı zasuvky pod tlacıtkem Upresnit zkontrolujeme, ze je zapnuto vyuzıvanı vyrovnavacı pam ti FIFO. Nasi volbu potvrdıme. Komunikac nı rychlost nebudeme nastavovat zde, provedeme to uvnitr aplikace. Adicom Praha, s.r.o. Strana 2 (celkem 11)

Zakladnı procedury a funkce pro praci se sžriovy m portem RS485 v prostredı Win32 Nejprve je treba podotknout, ze si tento dokument neklade v zadnem prıpad za cıl popsat do detailu nıze zmin ovanefunkce. Zde c tenare musım odkazat na referenc nı prıruc ky, bez kterych se pri hlubsım pronikanı do problematiky neobejde. Popis zde uvedeny se omezuje pouze na zakladnı obsluhu RS485 ve 32-bitovem operac nım systemu. Pro zkusen jsı vyvojare bych rad podotknul, ze prace s RS485 se pod 32-bitovymi Windows lisı jen nepatrn od prace s RS232 a dokonce se nemusı lisit vu bec. Definice procedur jsou uvedeny v jazyce C a Borland Delphi, prıklady jsou urc eny pro Borland Delphi (3.0 a vyssı). Adicom Praha, s.r.o. Strana 3 (celkem 11)

CreateFile HANDLE CreateFile( LPCTSTR lpfilename, // ukazatel na jm eno souboru DWORD dwdesiredaccess, // rezim prıstupu DWORD dwsharemode, // rezim sdılenı LPSECURITY_ATTRIBUTES lpsecurityattributes, // ukazatel na popisovac ochrany (security descriptor) DWORD dwcreationdistribution, // rezim vytvorenı DWORD dwflagsandattributes, // atributy souboru HANDLE htemplatefile // identifikator (handle) predlohy function CreateFile(lpFileName: PChar; dwdesiredaccess, dwsharemode: Integer; lpsecurityattributes: PSecurityAttributes; dwcreationdisposition, dwflagsandattributes: DWORD; htemplatefile: THandle): THandle; Otevıra prıstup k seriovemu portu. Pouzitı jednotlivych parametru : lpfilename Ř Ukazatel na jmeno portu (COM1, COM2, ť ). R et zec je ukonc en znakem nula (nullterminated string) dwdesiredaccess Ř Kombinace konstant GENERIC_READ a GENERIC_WRITE. dwsharemode Ř Vlozıme hodnotu 0. lpsecurityattributes Ř Vlozıme hodnotu NUL, resp. nil. dwcreationdistribution - Vlozıme hodnotu OPEN_EXISTING. dwflagsandattributes - Vlozıme hodnotu FILE_ATTRIBUTE_NORMAL + FILE_FLAG_WRITE_THROUGH. htemplatefile - Vlozıme hodnotu 0. Vracı identifikator (handle) na otevreny COM-port nebo hodnotu INVALID_HANDLE_VALUE. Na port se budeme nadale odvolavat pomocı teto hodnoty. Prıklad: Otevrenı portu COM3 pro c tenı i zapisř Borland Delphi 3.0 : var Soubor:THandle ; Soubor:=CreateFile( COM3ů,GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL or FILE_FLAG_WRITE_THROUGH, 0 Prestoze funkce ma relativn velky poc et parametru, nenıtreba se vsemi obsırn zabyvat. Je nutno mıt na zreteli, ze tato funkce slouzık otevıranımnoha typu komunikac nıch kanalu, aó to je soubor, seriovy kabel anebo vzdaleny pocıtac v Internetu. Pro nase šcely postacıpochopenı pouze prvnıho parametru, ve specifickych prıpadech i druheho. Adicom Praha, s.r.o. Strana 4 (celkem 11)

CloseHandle BOOL CloseHandle( HANDLE hobject // identifikator (handle) otev reneho portu function CloseHandle(hObject: THandle): BOOL; Uzavıra prıstup k portu, ktery byl otevren funkcı CreateFile. Pouzitı jednotlivych parametru : hobject Ř Identifikator (handle) otevreneho portu zıskany z funkce CreateFile. Prıklad: uzavrenı portu Ř Borland Delphi 3.0 : CloseHandle(Soubor V touto instrukcı jsme uzavreli port, ktery jsme otevreli v predchozım prıkladu. Adicom Praha, s.r.o. Strana 5 (celkem 11)

WriteFile BOOL WriteFile( HANDLE hfile, // identifikator (handle) portu LPCVOID lpbuffer, // adresa dat k odesl anı DWORD nnumberofbytestowrite, // pocet bytu k odeslanı LPDWORD lpnumberofbyteswritten, // adresa promýnne, do ktere se ulozı pocet odeslanych bitu LPOVERLAPPED lpoverlapped // ukazatel na strukturu pro overlapped I/O function WriteFile(hFile: THandle; const Buffer; nnumberofbytestowrite: DWORD; var lpnumberofbyteswritten: DWORD; lpoverlapped: POverlapped): BOOL; Provadı zapis dat na RS485. Pouzitı jednotlivych parametru : hfile Ř Identifikator (handle) otevreneho portu zıskany z funkce CreateFile. lpbuffer Ř Ukazatel na data, ktera majı byt odeslana. nnumberofbytestowrite Ř Poc et bytu, kteremajı byt odeslany. lpnumberofbyteswritten Ř Adresa prom nne(v Borland Delphi parametr volany odkazem), do kterebude ulozen poc et bytu, kterebyly odeslany. lpoverlapped Ř vlozıme hodnotu NUL, resp. nil. Prıklad: zapis ret zce Ř Borland Delphi 3.0 : function SendString(S:String):Boolean; var Pocet,Delka:Integer; Delka:=Length(S Result:=WriteFile(Soubor,S[1],Delka,Pocet, nil) and (Pocet=Delka end; Takto mu ze vypadat zapis na RS485, je-li tok dat rızen obvody ADFC integrovanymi na kart. Jak bude rutina vypadat, bude-li prenos rızen jednım ze signalu RTS/DTR, se dozvıme pozd ji. Poznamka: funkce WriteFile skoncı pote, co vysle kart poslednı znak. Znak se vsak teprve odesıla a z tohoto du vodu je seriovy port jest n jakou dobu zaneprazdn n a nelze na n j volat dalsı funkce. Adicom Praha, s.r.o. Strana 6 (celkem 11)

ReadFile BOOL ReadFile( HANDLE hfile, // identifikator (handle) portu LPVOID lpbuffer, // adresa pamýti pro prıjem dat DWORD nnumberofbytestoread, // pocet bytu k prectenı LPDWORD lpnumberofbytesre ad, // adresa promýnne, do nız se ulo zı pocet prectenych bytu LPOVERLAPPED lpoverlapped // adresa struktury pro overlapped I/O function ReadFile(hFile: THandle; var Buffer; NumberOfBytesToRead: DWORD; var lpnumberofbytesread: DWORD; lpoverlapped: POverlapped): BOOL; Provadı c tenı dat z RS485. Pouzitı jednotlivych parametru : hfile Ř Identifikator (handle) otevreneho portu zıskany z funkce CreateFile. lpbuffer Ř Ukazatel na vyrovnavacı pam ó, kam budou data zapsana. nnumberofbytestoread Ř Poc et bytu, kteremajı byt nac teny (popr. velikost vyrovnavacı pam ti). lpnumberofbytesread Ř Adresa prom nne(v Borland Delphi parametr volany odkazem Ř var), do kterebude ulozen poc et bytu, kterebyly nac teny. lpoverlapped Ř vlozıme hodnotu NUL, resp. nil. Prıklad: nac tenı kratkeret zcovezpravy z prıstroje Ř Borland Delphi 3.0 : function GetString:String; var Pocet:Integer; Buf:array[0..20] of Char; FillChar(Buf,SizeOf(Buf),#0 ReadFile(Soubor,Buf,SizeOf(Buf),Pocet, nil Result:=StrPas(@Buf end; Adicom Praha, s.r.o. Strana 7 (celkem 11)

EscapeCommFunction BOOL EscapeCommFunction( HANDLE hfile, // identifikator (handle) portu DWORD dwfunc // identifikace funkce function EscapeCommFunction(hFile: THandle; dwfunc: DWORD): BOOL; Zprostredkovava volanı specialnıch funkcı serioveho rozhranı. Umozn uje prımerızenı signalu DTR a RTS, coz lze pouzıt pro rızenı prenosu, nenı-li na kart nastaven automaticky rezim. Pouzitı jednotlivych parametru : hfile Ř Identifikator (handle) otevreneho portu zıskany z funkce CreateFile. dwfunc Ř Tento parametr urc uje, ktera funkce se ma provest. Obsahuje jednu z hodnot CLRDTR, CLRRTS, SETDTR, SETRTS, kterezpu sobı nastavenı, resp. vynulovanı prıznaku DTR (data-terminal-ready), resp. RTS (request-to send). Prıklad: vyslanı ret zce s vyuzitım ruc nıho ovladanı toku dat signalem DTR Ř Borland Delphi 3.0 : function SendString2(S:String):Boolean; var Pocet,Delka:Integer; { nazhavıme smycku } EscapeCommFunction(Soubor,SetDTR Sleep(10 { vyslanı dat } Delka:=Length(S Result:=WriteFile(Soubor,S[1],Delka,Pocet, nil) and (Delka=Pocet { uvolnıme smycku } Sleep(10 EscapeCommFunction(Soubor,ClrDTR end; U tohoto prıkladu si prosım vsimn te zpu sobu prace se signalem DTR, kterym je ovladan tok dat. Procedura Sleep pozastavuje proces na dobu specifikovanou jako parametr v milisekundach (obdoba funkce Delay z Borland Pascalu). Ostatnı procesy b zı nerusen dal. Moznostı se naskyta vıce, toto je vsak pro jednoduchou aplikaci zcela dostac ujıcı. Vzhledem k tomu, ze po ukonc enı funkce WriteFile port jest n jakou dobu pracuje, muze se zejmena na nizsıch rychlostech stat, ze 10 ms bude malo (problemy se zac nou objevovat pri komunikaci 1200 Bd a pomaleji) a c ekanı bude nutneprodlouzit. Naopak neš m rn dlouha doba muze ohrozit komunikaci s rychlejsı periferiı. Adicom Praha, s.r.o. Strana 8 (celkem 11)

GetCommState / SetCommState BOOL GetCommState( HANDLE hcommdev, // identifikator (handle) portu LPDCB lpdcb // adresa kontroln ıho bloku (device control block) BOOL SetCommState( HANDLE hcommdev, // identifikator (handle) portu LPDCB lpdcb // adresa kontroln ıho bloku (device control block) function GetCommState(hFile: THandle; var lpdcb: TDCB): BOOL; function SetCommState(hFile: THandle; const lpdcb: TDCB): BOOL; Umozn uje zjist nı, resp. nastavenı parametru serioveho rozhranı. Pouzitı jednotlivych parametru : hfile Ř Identifikator (handle) otevreneho portu zıskany z funkce CreateFile. lpdcb Ř adresa kontrolnıho bloku zarızenı (Borland Delphi - TDCB) Prıklad: Nastavenı parametru serioveho portu Ř Borland Delphi 3.0 : procedure SetupComm; var DCB:TDCB; GetCommState(Soubor,DCB DCB.BaudRate:=9600; DCB.ByteSize:=8; DCB.Parity:=NOPARITY; DCB.StopBits:=ONESTOPBIT; DCB.Flags:=1; SetCommState(Soubor,DCB end; Nejprve je tedy zjist no aktualnı nastavenı portu, ktereje nato zm n no podle potreby. Nastavene parametry zrejm nenı nutnepodrobn ji vysv tlovat. Za zmınku stojı snad pouze nastavenı parametru Flags Ř zde se volı binarnı (tedy nikoliv textovy) rezim prenosu, je vypnuto rızenı signalu DTR/RTS (ty mohou byt vyuzity pro rızenı toku dat) a je vypnut protokol Xon/Xoff. Struktura device control block (DCB) obsahuje jest mnoho dalsıch prıznaku, ty jsou vsak mimo ramec tohoto c lanku a jejich znalost nenı bezpodmınec n nutna. Potrebnekonstanty jsou k dispozici v helpech, popr. MSDN. Na tomto mıst bych rovn z rad zmınil jednu zkusenost: pouzitı teto funkce muze v n kterych prıpadech byt c asov naroc ne- pod Windows 95 nam reno v n kterych prıpadech az 200 ms (zm na prenosoverychlosti). Hodnoty b hem komunikace jsou sice radov mensı, mohou vsak presto prinest problemy. To muze pri praci s rychlejsımi periferiemi vest i ke ztrat casti prenasenych dat. Adicom Praha, s.r.o. Strana 9 (celkem 11)

GetCommTimeouts / GetCommTimeouts BOOL GetCommTimeouts( HANDLE hcommdev, // identifikator (handle) portu LPCOMMTIMEOUTS lpctmo // adresa struktury casovanı BOOL SetCommTimeouts( HANDLE hcommdev, // identifikator (handle) po rtu LPCOMMTIMEOUTS lpctmo // adresa struktury casovanı function GetCommTimeouts(hFile: THandle; var lpcommtimeouts: TCommTimeouts): BOOL; function SetCommTimeouts(hFile: THandle; const lpcommtimeouts: TCommTimeouts): BOOL; Umozn uje zjist nı, resp. nastavenı parametru c asovanı serioveho rozhranı. Pouzitı jednotlivych parametru : hfile Ř Identifikator (handle) otevreneho portu zıskany z funkce CreateFile. lpctmo Ř ukazatel na strukturu definujıcı c asovanı (Borland Delphi - TCommTimeouts) Prıklad: Vypnutı funkce timeout pro otevreny port Ř Borland Delphi 3.0 : procedure TurnOffTimeouts ; var Tim:TCommTimeouts; Tim.ReadIntervalTimeout:=MAXDWORD; Tim.ReadTotalTimeoutMultiplier:=0; Tim.ReadTotalTimeoutConstant:=0; Tim.WriteTotalTimeoutMultiplier:=0; Tim.WriteTotalTimeoutConstant:=0; SetCommTimeouts(Soubor,Tim end; Pro nejjednodussı zpu sob komunikace je moznehlıdanı c asovanı vypnout. Pri c tenı z portu funkcı ReadFile precte program prav tolik bytu, kolik jich vyslalo zarızenı. Neprovadı se kontrola vyslanı zpravy funkcı WriteFile. V opac nem prıpad c eka v zavislosti na nastavenych c asech na prıjem zadaneho mnozstvı dat. Pri nastavenı prılis dlouhec ekacı doby, resp. ponechanı na zakladnıch hodnotach, dojde v prıpad poruchy prenosu k zastavenı aplikace, aniz by to mohl programator jakkoliv ovlivnit. Proto je vyhodn jsı prıjem dat vlozit do procedury, ktera bude periodicky volana c asovac em Windows (funkce SetTimer, resp. komponenta Timer v Borland Delphi), bude obsahovat volanı funkce ReadFile (timeouty vypnuty funkcı SetCommTimeouts) a jez bude sama zajisóovat obsluhu kontroly prıjmu zpravy. Rovn z vysılanı zpravy je vhodneov rit podle poc tu odeslanych bytu. Podrobn jsı referenci najde c tenar v helpu k vyvojovym nastroju m, v MSDN a jinde. Adicom Praha, s.r.o. Strana 10 (celkem 11)

Tvorba aplikace vyuzıvajıcı RS485 Fragmentu kodu uvedenych jako prıklady k jednotlivym funkcım jiz lze vyuzıt pri tvorb konkretnı aplikace. Postup je nasledujıcı: 1. Otevrenı portu funkcı CreateFile. Test š sp snosti. 2. Nastavenı prenosovych parametru funkcı SetCommState 3. Zrusenı c ekanı na prıjem, resp. vyslanı znaku Ř funkce SetCommTimeouts 4. T lo programu 5. Uzavrenı portu funkcı CloseHandle Prestoze uvedenym prıkladu m je moznevytknout, ze postradajı moznost avıza o prıchozı zprav po seriovem portu a je tudız nutno vyuzıt poolingu, pro zakladnı seznamenı s moznostmi prechodu na 32bitovou platformu to, domnıvam se, pln postac uje. Karta PCI-685 PCI-685 je rozsirujıcı karta pro pocıtac e PC, ktera obsahuje dva porty seriovych komunikac nıch linek standardu RS422/485. Vyuzıva obvodu registrov kompatibilnıch se standardy 8250, resp. 16C550, jejichz podpora je zac len na do vsech b znych operac nıch systemu. Umozn uje vyuzitı men obsazenych kanalu prerusenı (IRQ) a v tsı vyb r adres I/O. S prıdavnych hodinovym generatorem je mozna komunikace na nestandardnıch rychlostech. Rezim prenosu je ovladatelny programov signaly DTR/RTS, nebo je rızen automaticky obvody ADFC. Svou koncepcı je karta urc ena zejmena pro: distribuovanesystemy rızenı procesu automatizac nı prostredky komunikace s m rıcımi systemy prenos dat mezi pocıtac i Kde lze kartu PCI-685 objednat Multifunkc nı komunikac nı kartu PCI-685 lze objednat na adrese: ADICOM Praha, spol. s r.o. Frantiska Kadlece 9 180 00 Praha 8 tel.: 02 / 83842047, 0603 / 475161, fax: 02 / 83841048 Internet: http://www.aditech.cz, email: info@aditech.cz Aktualnı ceny jsou k dispozici na nasich strankach WWW. Zde muzete zıskat i podrobn jsı informace o dalsıch m rıcıch zarızenıch a jejich podpore pro 32-bitoveoperac nı systemy. Mnoho š sp chu pri vyvoji 32-bitovych aplikacı preje Adicom Praha, s.r.o. V Praze 6. 2. 1999 Michal Bures Adicom Praha, s.r.o. Strana 11 (celkem 11)