využívať i prostredníctvom lokálnej siete, kde klienti dokážu spracovávať údaje zo vzdialeného
počítača, na to je však nutné použiť, konfiguračné nástroje (dodávane s MS Windows), ktoré tieto
údaje zviditeľnia. Nástroje ktoré dokážu využívať rozhranie DDE sú napr. Visual C, Visual Basic,
Delphi, MS Office, Matlab, InTouch, atď.
DDE komunikácia sa delí na tri typy:
• horúce spojenie - hot link (automatic) - v prípade, že sa dáta na serveri zmenia, zmena sa
automaticky prenesie na klienta
• teplé spojenie - warm link (notify) - pri zmene dát sprístupňovaných na serveri je klientovi
zaslaná správa o zmene a ten má možnosť rozhodnúť sa, či zmenené dáta príjme (ak áno,
vyžiada si ich od servera),
• studené spojenie - cold link (manual) - klient pošle žiadosť serveru pre prenos zmenených dát
(pri zmene dát na serveri klient nie je upozornený a je plne zodpovedný za aktualizáciu
svojich dát)
Klient pri otváraní spojenia zo serverom musí zadať tri dátové položky:
• server - názov servera, s ktorým chce klient komunikovať, väčšinou je to názov programu
(napr. Excel, alebo View), ale táto a ostatné dátové položky sú závislé na konkrétnom serveri.
V prípade komunikácií cez sieť je názov servera rozšírený o názov sieťového uzla, napr.
\\uzol1\Excel
• topic - názov predmetu komunikácie; do tejto položky sa zadáva napr. názov súboru v Exceli,
ktorý obsahuje požadované dáta, ale táto hodnota je taktiež závislá na serveri, napr. pre prístup
ku I/O premenným InTouchu je potrebné zadať tagname
• item - názov konkrétnej sprístupňovanej položky, napr. názov I/O premennej v InTouchi,
alebo bunky v zošite Excelu.
Klient má ďalej možnosť odoslať zmenené dáta na server (opačný smer komunikácie - poke), či
požiadať server o vykonanie nejakého makra. Toto makro je definované serverom, napr. presun
kurzora v Exceli.
6 Popis realizácie DDE komunikácie medzi prostredím Matlab a MS Excel
Na zabezpečenie dynamickej výmeny dát nám poskytuje balík Matlab sadu DDE funkcií, takže
priamo v Matlabe môžeme nadviazať spojenie s inou MS Windows DDE aplikáciou. V našom prípade
sme potrebovali zabezpečiť výmenu dát medzi Matlabom a MS Excelom
Spojenie je realizované typu klient - server pričom Matlab sa tvári ako klient. Klient nadviaže
spojenie a server - MS Excel, prijíma požiadavky od klienta. Spojenie je typu cold-link, čiže Matlab
v určitej perióde žiada klienta o dáta. Pokúšali sme sa vytvoriť aj spojenie hot-link, ale vyskytli sa
komplikácie s ich aktualizáciu v bežiacej simulácii v simulinku.
6.1 MS Excel ako DDE server
Jedným z hlavných bodov práce bolo vyriešiť komunikáciu medzi reálnym zariadením a jeho
3D modelom. Prenos dát medzi riadiacim počítačom a zariadením je realizovaný cez CAN zbernicu.
Výhodou CAN je, že údaje zo zbernice je možne prijímať všetkými zariadeniami (po nastavení
správnej masky prijímania správ), bez ovplyvnenia samotného riadenia. Počítač, na ktorom bežala
vizualizácia sme pripojili na zbernicu zásuvnou kartou PCI 7841.
Samotný komunikačný modul sme riešili v prostredí jazyka Visual Basic for Application (VBA)
podporovaného aplikáciou MS Excel. V kancelárskom balíku MS Office a aj v ďalších aplikáciach sa
tento jazyk používa pre tvorbu makier. DDE server by bolo možné riešiť aj v iných vývojových
prostrediach, ale zvolili sme MS Excel z dôvodu veľmi jednoduchej implementácie a grafickej
prehľadnosti. Pri programovaní sme využili dodávanú knižnicu funkcií (DLL) ku CAN karte, ktorú
sme importovali do prostredia VBA.
Kommentare zu diesen Handbüchern