Implementace aplikační vrstvy pro jednočipové mikrokontroléry

Podobné dokumenty
WOJCIASZYK, Petr Ing., Katedra ATŘ-352, VŠB-TU Ostrava, 17. listopadu, Ostrava Poruba, ,

Identifikátor materiálu: ICT-3-03

Prostředky automatického řízení Úloha č.5 Zapojení PLC do hvězdy

9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí,

MĚŘENÍ A REGULACE TEPLOTY V LABORATORNÍ PRAXI

DÁLKOVÁ SPRÁVA ŘÍDICÍCH SYSTÉMŮ V PROSTŘEDÍ CONTROL WEB 5

Prostředky automatického řízení

Komunikační sokety. teorie a implementace v C#, C++ a Javě. Aleš Keprt Katedra informatiky UP duben 2006, revize květen 2007

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

Profilová část maturitní zkoušky 2015/2016

Úvod Virtuální kanál TCP Datagramová služba UDP URL TCP, UDP, URL. Fakulta elektrotechnická

TÉMATICKÝ OKRUH Softwarové inženýrství

POČÍTAČOVÉ ŘÍZENÍ TECHNOLOGICKÝCH PROCESŮ

Profilová část maturitní zkoušky 2014/2015

POČÍTAČOVÉ ŘÍZENÍ TECHNOLOGICKÝCH PROCESŮ

Relační vrstva SMB-Síťový komunikační protokol aplikační vrstvy, který slouží ke sdílenému přístupu k souborům, tiskárnám, sériovým portům.

INOVACE PŘEDMĚTU MIKROELEKTRONICKÉ SYSTÉMY - LOKÁLNÍ A VZDÁLENÁ SPRÁVA ŘÍDICÍCH SYSTÉMŮ

ADMINISTRACE POČÍTAČOVÝCH SÍTÍ. OPC Server

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

POČÍTAČOVÉ ŘÍZENÍ TECHNOLOGICKÝCH PROCESŮ

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

EXTRAKT z technické normy ISO

Internet Information Services (IIS) 6.0

TGMmini. začínáme. komplexní dodávky a zprovoznění servopohonů dodávky řídicích systémů

Paralelizace datových přenosů

Počítačové sítě. Lekce 4: Síťová architektura TCP/IP

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Common Object Request Broker Architecture

Počítačová síť. je skupina počítačů (uzlů), popřípadě periferií, které jsou vzájemně propojeny tak, aby mohly mezi sebou komunikovat.

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

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

IPZ laboratoře. Analýza komunikace na sběrnici USB L305. Cvičící: Straka Martin, Šimek Václav, Kaštil Jan. Cvičení 2

Prostředí pro výuku vývoje PCI ovladačů do operačního systému GNU/Linux

POČÍTAČOVÉ SÍTĚ A KOMUNIKACE

POLOHOVÁNÍ ULTRAZVUKOVÉHO SENZORU

Programovatelné automaty SIMATIC S7 a S5

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

CAL (CAN Application Layer) a CANopen

CA21 PŘÍRUČKA UŽIVATELE

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Přednáška 3. Opakovače,směrovače, mosty a síťové brány

Na různých druzích počítačů se používají různé operační systémy. V průběhu času

CentraLine AX. Václav Matz

Implementace systémů HIPS: ve znamení 64bitových platforem. Martin Dráb

Maturitní témata pro 1.KŠPA Kladno, s.r.o. Počítačové sítě a komunikace

POČÍTAČOVÉ SÍTĚ A KOMUNIKACE OBOR: INFORMAČNÍ TECHNOLOGIE

7. Aplikační vrstva. Aplikační vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl. Představíme si funkci aplikační vrstvy a jednotlivé protokoly.

Seznámení s Quidy. vstupní a výstupní moduly řízené z PC. 2. srpna 2007 w w w. p a p o u c h. c o m

VÝVOJ ŘÍDICÍCH ALGORITMŮ HYDRAULICKÝCH POHONŮ S VYUŽITÍM SIGNÁLOVÉHO PROCESORU DSPACE

Karel Bittner HUMUSOFT s.r.o. HUMUSOFT s.r.o.

Mikrokontroléry. Doplňující text pro POS K. D. 2001

IntraVUE Co je nového

QTREE-DUMX4 Vícekanálový multiplexer pro připojení měřidel Mitutoyo na USB port PC Uživatelská příručka. Řízení jakosti podle norem ISO 9000

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

Komunikace s automaty MICROPEL. správa systému lokální a vzdálený přístup do systému vizualizace, umístění souborů vizualizace

Přístup k transportní vrstvě z vrstvy aplikační rozhraní služeb služby pro systémové aplikace, služby pro uživatelské aplikace DNS

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Controlweb. Úvod. Specifikace systému

1. Směrovače směrového protokolu směrovací tabulku 1.1 TTL

Úvod do informačních služeb Internetu

SIMATIC S IT. Micro Automation. Promoters Meeting October Představení CP IT SPIDER CONTROL TELESERVIS. TESTOVACÍ server.

DŮLEŽITÉ INFORMACE, PROSÍM ČTĚTE!

Vestavné systémy. BI-VES Přednáška 9. Ing. Miroslav Skrbek, Ph.D.

Elektronická pošta. elementární služba, výchozí pro některé další jedna z prvních síťových služeb vůbec. základní principy popisují

FVZ K13138-TACR-V004-G-TRIGGER_BOX

IT ESS II. 1. Operating Systém Fundamentals

Profilová část maturitní zkoušky 2013/2014

The Optimization of Modules for M68HC08 Optimalizace modulů pro M68HC08

Inovace výuky prostřednictvím šablon pro SŠ

Maturitní okruhy pro 1.KŠPA Kladno, s.r.o. Počítačové sítě a komunikace

APS Administrator.ST

Administrace služby - GTS Network Storage

Základní typy struktur výpočetních systémů

Profilová část maturitní zkoušky 2017/2018

Windows Server 2003 Active Directory

Témata profilové maturitní zkoušky

Počítačové sítě Transportní vrstva. Transportní vrstva

Vzdálený přístup k počítačům

Systémy PROMOS a programování v prostředí FRED ing. Miloslav Pátek, ing. Libor Beneš, ing. Jiří Vacek

VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU "HOST PC - TARGET PC" PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ

Systémy pro měření, diagnostiku a testování prototypů II. Odůvodnění vymezení technických podmínek podle 156 odst. 1 písm. c) ZVZ

Journal of Cybernetics and Informatics. Slovak Society for Cybernetics and Informatics

SSL Secure Sockets Layer

Software pro vzdálenou laboratoř

ZÁKLADY AUTOMATICKÉHO ŘÍZENÍ

Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP.

Inovace a zkvalitnění výuky prostřednictvím ICT Počítačové sítě Vrstvový model TCP/IP Ing. Zelinka Pavel

TC-502L TC-60xL. Tenký klient

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

TC-502L. Tenký klient

EXTRAKT z české technické normy

Knot DNS Resolver. Modulární rekurzivní resolver. Karel Slaný

Univerzita Jana Evangelisty Purkyně Automatizace Téma: Datová komunikace. Osnova přednášky

PROSTŘEDKY AUTOMATICKÉHO ŘÍZENÍ Úloha č. 4 Hierarchická struktura řízení

RE3USB programovatelné USB relé

BKD/ BKF 7000 tyristorové DC měniče od 5 do 1100 kw

Datum vytvoření. Vytvořeno 18. října Očekávaný výstup. Žák chápe pojmy URL, IP, umí vyjmenovat běžné protokoly a ví, k čemu slouží

12. Virtuální sítě (VLAN) VLAN. Počítačové sítě I. 1 (7) KST/IPS1. Studijní cíl. Základní seznámení se sítěmi VLAN. Doba nutná k nastudování

1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services

Transkript:

XXVIII. ASR '2003 Seminar, Instruments and Control, Ostrava, May 6, 2003 14 Implementace aplikační vrstvy pro jednočipové mikrokontroléry BABIUCH, Marek Ing., Ph.D, Katedra ATŘ-352, VŠB-TU Ostrava, 17. listopadu, Ostrava - Poruba, 708 33 marek.babiuch@vsb.cz, http://www.vsb.cz Abstrakt: Příspěvek popisuje implementaci aplikační vrstvy pro jednočipové mikrokontroléry. Konkrétně se jedna o aplikaci využívající mikrokontrolér řady PIC firmy microchip. V aplikacích často potřebujeme do mikrokontroléru předat parametry nebo upravit určitá konfigurační nastavení pomocí sítě LAN a protokolu TCP/IP. V příspěvku je popsána realizace aplikace předávání parametrů regulace do mikrokontroléru s využitím rozhraní winsock API. Prezentovaných výsledků bylo dosaženo v rámci řešení výzkumného záměru MSM 272300012 a projektu GAČR 102/03/0625. Klíčová slova: mikrokontrolér, PIC, winsock, TCP/IP 1 Úvod Mikrokontroléry znamenají v dnešní době důležitou pozici při realizaci číslicových regulátorů a logických automatů PLC a práce s nimi přispívá k výraznému zvýšení efektivity a kvality návrhu při realizaci měřicích a řídicích úloh. Při nasazení mikrokontrolérů do měřicích a řidících aplikací hraje důležitou roli komunikace těchto obvodových prvků s okolím. S tím také souvisí fakt, že pro každou takovou úlohu je nutné naimplementovat i uživatelské prostředí. Tento příspěvek je věnován využití winsock knihovny pro předání parametrů mikrokontroléru protokolem TCP/IP. 2 Modul nastavení parametrů mikrokontroléru po internetu Při realizaci aplikace regulace mikrokontrolérem byl vytvořen servisní program umožňující předávání parametrů regulace do paměti mikrokontroléru po sběrnici RS-485 z uživatelsky přívětivého prostředí PC. Při využití znalostí protokolů TCP/IP je vhodné tuto aplikaci zdokonalit např. tím, že uvedené parametry budeme předávat počítači, na kterém je připojen mikrokontrolér pomocí internetu. K tomu je zapotřebí ujasnit si síťový model architektury TCP/IP a také architekturu, pomocí níž bude další aplikace realizována. Rozhraní WinSocket Když už máte na svém počítači nainstalován (a také správně nakonfigurován) fungující TCP/IP protocol stack", máte vlastně již k dispozici základní komunikační mechanismy pro práci v Internetu, a můžete se začít ohlížet po konkrétních aplikacích. Těch opět existuje opravdu velký výběr, pokrývající všechny existující internetové služby, v provedení od volně šiřitelných programů až po čistě komerční produkty. Pro nás je ale velmi důležité vědět, zda jsme při jejich výběru nějak omezeni - zda například musíme používat TCP/IP protocol stack i jednotlivé aplikace od stejného výrobce, aby asi vzájemně rozuměly. Odpověď na tuto veledůležitou otázku je naštěstí záporná, alespoň pro prostředí MS Windows (všech současných verzí). Zde se totiž podařilo prosadit jednotné rozhraní mezi TCP/IP protocol stackem a aplikacemi, které chtějí využívat jeho služeb. Toto rozhraní se jmenuje (od: Windows Sockets), a jeho specifikace jsou poměrně důsledně dodržovány - což v praxi znamená, že když si pořídíte dva produkty od různých výrobců, které podporují toto rozhraní a komunikují spolu přes něj, máte rozumnou záruku toho, že si

XXVIII. ASR '2003 Seminar, Instruments and Control, Ostrava, May 6, 2003 15 budou vzájemně rozumět. No a rozhraní dnes podporují snad úplně všechny aplikace i protocol stacky pro prostředí Windows. 3 architektura Následující obrázek ilustruje, jak pracuje. Na nejvyšší úrovni (vrstvě) se nachází aplikace na aplikačním programovém rozhraní, které zpřístupňuje síťové služby a požadavky pro API dynamicky linkované knihovny (DLL) směrem k servisním požadavkům a tyto pak přidělují sockety příslušnému poskytovateli služeb (service provider). Service provider poté implementuje low-level specifikovaný síťový protokol a zpřístupňuje ho pomocí service provider interface (). Obr. 3-1. Architektura Následující tabulka popisuje komponenty architektury : Komponent Vrstva Popis aplikace DLL service provider Namespace service provider User API API Jakákoliv front-end Windows Socket uživatelská aplikace, která musí přenést data po síti. Aplikace musí znát pouze definici rozhraní, nemusí znát konkrétní transportní nebo tzv. namespace implementaci. Aplikační programové rozhraní, které využívá koncová aplikace pro získání přístupu síťových služeb, které jsou zabudovány do knihoven DLL. Knihovna transportních a namespace funkcí. DLL dovolují vrchní vrstvě aplikace a spodní vrstvě služeb se dynamicky propojit v běžícím čase. Aplikace potřebuje znát pouze definici rozhraní (v tomto případě API), ne již její implementaci (v tomto případě transport service providers nebo namespace service providers). Vrstva (Service Provider Interface), kterou využívá spodní vrstva pro zajištění transportních služeb, jako např. TCP/IP služeb pro horní aplikační vrstvu. vrstva zajišťující konkrétní rozlišení jmených služeb, jako např. namespace DNS, Novell Directory Services (NDS) a X.500. Low-level transport protokoly jako TCP/IP nebo Internetwork Packet Exchange/Sequenced Packet Exchange (IPX/SPX). namespace Low-level protokoly, jako např DNS, NDS, X.500, atd. Tab. 3-1. Komponenty architektury

XXVIII. ASR '2003 Seminar, Instruments and Control, Ostrava, May 6, 2003 16 API poskytuje kolekci funkcí, kterou implementované programy využívají při řešení různých úkolů. Specifikace winsock API rozděluje knihovnu do tří skupin: Funkce přenesené ze socketu Berkeley do API. Databázové funkce, umožňující programům získat internetovské informace o jménech domén, komunikačních službách a protokolech. Typicky windowsovské rozšíření původních funkcí. Následující tabulka popisuje funkce ze všech tří skupin. Webovské programování dělí dále tyto funkce na blokující a neblokující. Blokující funkce brání programu zavolat jakoukoliv další funkci z knihovny, dokud ona sama nedokončí své síťové operace. Neblokující funkce provedou okamžitě svou operaci nebo vrátí chybové hlášení. Neblokující operace tedy nenutí své okolí čekat na ukončení jejich činnosti. Funkce, které mohou blokovat API Accept Potvrzení příchozího spojení. Vytvoří nový socket a spojí je se vzdáleným počítačem, který požadoval spojení. Vrací původní socket do stavu naslouchání (čekání na další příkaz). Closesocket Uzavírá jeden konec soketového spojení. Connect Inicializuje spojení na konkrétním socketu. Recv Přijímá data ze spojeného socketu. Recvfrom Přijímá data jak ze spojeného, tak nespojeného socketu. Select Provádí synchronní vstupně/výstupní multiplexing monitorováním stavů všech socketů. Send Odešle data do připojeného socketu. Sendto Odešle data do připojeného i nepřipojeného socketu. Funkce, které neblokují API Bind Přiřadí místní jméno nepojmenovanému socketu. Getpeername Získá jméno vlastníka připojeného k udanému socketu. ukládá tyto informace do lokálních struktur. Getsocketname Vrátí místní jméno udaného socketu. getsockopt Získá parametry přiřazené konkrétnímu socketu. Htonl Převede 32bitové číslo z počítačového bytového řazení na síťové bytové řazení. Inet_adr Převede znakový řetězec představující IP adresu v tečkami oddělené notaci na 32 bitové binární číslo v řazení v síťovém pořadí bytů. Inet_ntoa Převede IP adresu do tečkami oddělené notace. Ioctlsocket Řídí různé parametry udávající, jak sockety operují a zpracovávájí síťový vstup a výstup. Listen Tato funkce uvede socket do naslouchacího režimu. Přikazuje udanému socketu čekat na příchozí spojení. Ntohl Převádí 32bitové číslo řazené v síťovém bytovém pořadí do počítačového bytového pořadí. Ntohs Převádí 16bitové číslo řazené v síťovém bytovém pořadí do počítačového bytového pořadí. Setsockopt Uloží parametry přiřazené konkrétnímu socketu. Shutdown Ukončí část plně duplexního spojení (pouze na straně místního počítače). Socket Vytvoří koncový bod komunikace a vrátí jednoznačný identifikátor socketu.

XXVIII. ASR '2003 Seminar, Instruments and Control, Ostrava, May 6, 2003 17 Gethostbyaddr Gethostbyname Gethostname Getprotobyname Getprotobynumber Getservbyname Getservbyport Databázové funkce ve API Vrátí doménové jméno a IP adresu odpovídající síťové adrese. Vrátí doménové jméno a IP adresu odpovídající jménu počítače. Vrátí doménové jméno lokálního počítače. Podle jména protokolu vrátí oficiální jméno a číslo jednoznačně identifikující protokol. Získá jméno a číslo protokolu odpovídající zadanému číslu. Získá jméno služby a číslo portu protokolu odpovídající jménu služby. Získá název služby a port odpovídající zadanému číslu portu. Tab. 3-2. Socketové funkce 4 Implementace aplikace nastavení parametrů regulace po internetu Socketových funkcí bylo s výhodou využito k napsaní aplikační vrstvy servisního programu nastavování parametru regulace pro mikrokontrolér s využitím internetu. Na následujícím obrázku je vytvořené schéma implementované aplikace. Známé regulační algoritmy jsou vytvořeny a implementovány přímo v paměti mikrokontroléru PIC 16C74A. Ten tvoří společně s převodníkem TTL/RS485 nejspodnější vrstvu síťového modelu TCP/IP, tedy jednak fyzickou, tak spojovou. Rozhranní WinSocket zajišťuje síťovou a transportní vrstvu celé aplikace. Je třeba vhodně naprogramovat formu UDP protokolu a využít socketové funkce pro správné fungování aplikace. Aplikační vrstvu tvoří program v prostředí operačního systému Windows, pomocí něhož příslušné parametry regulace zadáváme a následně odesíláme kliknutím myši vzdálenému počítači na který je připojený daný mikrokontrolér jako univerzální regulátor. Vzdálený počítač v síti internet jednoznačně určený IP adresou TTL/RS232 Converter RS 485 Aplikace server Lokální počítač Aplikace klient TTL Regulovaná soustava Obr. 4-1. Nastavení parametru mikrokontroléru po internetu Konkrétní aplikační vrstvu tvoří program Controller Client Application. Je jen na konkrétním programátorovi, jak svoji aplikaci napíše. Zde je pro jednoduchost nastavováno 6 parametrů: typ regulátoru, žádaná hodnota, vzorkovací perioda a parametry regulátoru: zesílení, derivační a integrační časová konstanta. Typ regulátoru je pro mikrokontrolér klíčový parametr, podle něj pak jsou zpracovány ostatní parametry. (Je zřejmé, že pro P regulátor jsou integrační a derivační konstanty ignorovány, obdobně u ostatních typů

XXVIII. ASR '2003 Seminar, Instruments and Control, Ostrava, May 6, 2003 18 regulátorů). Pak jen zadáme IP adresu cílového počítače a regulace je zahájena. Na následujícím obrázku je zobrazeno základní okno aplikace. 5 Závěr Servisní program je tedy vytvořen pro grafické ovládání uvedeného univerzálního regulátoru. Jeho výhodou je, že je rovněž použitelný i při různých modifikacích systému. Komunikuje s mikrokontrolérem prostřednictvím RS485 rozhraní po implementaci uvedené v minulých kapitolách. Pokud bychom implementovali regulační algoritmy do jiného mikrokontroléru, ať už z jakéhokoliv důvodu (rychlost výpočtu, vzorkování, pwm výstup, atd.) uvedený servisní program můžeme opětovně použít. Nastavení parametrů regulace s využitím knihoven winsock api je rozšířením stávající aplikace regulace na mikrokontroléru PIC 16C74A, jež vidíme na následujícím obrázku. V tomto případě je namísto servisního prográmku client server application použit jiný servisní program nastavení parametrů mikrokontroléru přímo z lokálního PC připojeného k mikrokontroléru. Uvedená aplikace je tedy modulární a můžeme dle potřeby měnit servisní programy ke konkrétní aplikaci. Power Supply TTL/RS232 Converter Servis programm under OS Windows w,kr,ti, TD I/O Setup Interrupt control. Configuration A/D Setup. PWM Setup. Communication Setup u Control System y TTL RS 485 System Setup Sample for AD convertion Mikrokontrolér - regulátor PWM Output PSD control algorithm Obr. 5-1. Nastavení parametrů regulace 6 Literatura BABIUCH, M. 2002 : Programová podpora mikropočítačových měřicích a řídicích systémů. Autoreferát disertační práce : VŠB-TU Ostrava, 2002, ISBN 80-248-0095-0. HRBÁČEK, J., 2002. Komunikace mikrokontrolérů s okolím PRAHA: BEN-technická literatura, ISBN 80-86056-42-2. MICROCHIP 2002. Pic Micro Devices. PIC16C7X Family Datasheets. 2002. Available from www: <URL:http//www.microchip.com>