Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Komunikace pomocí standardního rozhraní DDE

DDE je dynamická výměna dat a slouží ke sdílení proměnných mezi několika aplikacemi na jednom počítači. Mohou to být různé aplikace využívající DDE (Excel, Acces, atd.) včetně dalších aplikací PROMOTIC.

Pokud se má sdílet skupina proměnných, tak pro tuto skupinu musí být jeden DDE server a jeden nebo více DDE klient. DDE server "vlastní" všechny proměnné, klienti se na tyto proměnné odkazují, mohou je číst i do nich zapisovat, pokud je toto dovoleno.

Adresa sdílené proměnné se skládá ze tří částí:

- service (aplikace): většinou název aplikace (v systému PROMOTIC je to slovo "PROMOTIC" ale lze změnit)
- topic (námět): název oblasti dat (v systému PROMOTIC je to slovo "OBJECT" a nelze změnit)
- item (položka): název konkrétní datové položky (v systému PROMOTIC zadává projektant aplikace)
 
DDE slouží ke sdílení dat na jednom počítači. Po spuštění síťové nádstavby NetDDE je však umožněno sdílet data mezi aplikacemi běžícími na různých počítačích zapojených do stejné počítačové sítě. Na těchto počítačích musí být spuštěn program NetDDE.exe (je obsažen v OS Windows), což je síťový DDE agent, který zajišťuje přenos vybraných DDE dat mezi počítači. Viz: Nastavení NetDDE.
 
Sdílení dat pomocí DDE lze využít k mnoha účelům ale pro technologické řízení je nejčastějším použitím získávání dat z PLC automatů. Systém PROMOTIC má sice pro běžné automaty vlastní ovladače, ale tyto nepokrývají zcela všechny PLC automaty. Pro komunikaci s PLC pak lze zakoupit software od jiné firmy (většinou přímo výrobce PLC). Tento software je aplikace, která s PLC umí komunikovat a může pak sloužit jiným aplikacím (včetně aplikace PROMOTIC) jako SERVER dat. Podle rozhraní se dají koupit pro PLC automaty OPC Servery nebo/a DDE Servery. OPC je lepší a rychlejší rozhraní než DDE ale někdy OPC server nemusí být k dispozici a je jen server DDE. Takový DDE Server je tedy software, který z jedné strany komunikuje s PLC automatem a z druhé strany komunikuje přes rozhraní DDE s jinými aplikacemi - v našem případě s aplikací PROMOTIC.

Použití DDE je pro projektanta velmi jednoduché a stačí například pouze u zvolených proměnných v objektu PmData vytvořit ExtDdeClient a vyplnit parametry DDE adresy.

Nevýhodou je relativní pomalost přenosu mezi DDE serverem a aplikací (jedná se o přenos hodnot mezi různými aplikacemi). Pokud bychom chtěli přenášet tisíce hodnot za krátký časový úsek, tak vzniknou problémy. Další nevýhodou (pro projektanty často dost podstatnou) je (většinou) nemožnost konfigurace jednotlivých zpráv. Nelze například zadat že analogové vstupy se mají přenášet jednou za minutu a digitální jednou za sekundu.

 
V aplikaci PROMOTIC lze pomocí DDE komunikace nejen sdílet data, ale lze do DDE serveru poslat povel (Viz metoda Pm.DdeExecute).
 

Nastavení jako DDE server

V záložce PmRoot > DDE se v části DDE Server definuje položka Aplikace 'service'. Všechny sdílené proměnné poskytované aplikací PROMOTIC jako DDE serverem budou nabízeny pod adresou service (přednastaven text "PROMOTIC") a topic (text "OBJECT"). Je nutné:
- zatrhnout volbu "DDE povoleno"
- nezatrhnout volbu "Zakázat jakékoliv sdílení dat"
- nezatrhnout volbu "Kromě zakázaných dat sdílet vše". Pokud ji zatrhnete, pak bude sdíleno vše explicitně nezakázané, což běžně není vhodné.
 
Nyní je však ještě potřeba definovat, které položky (která konkrétní data) se mají sdílet. Jsou dva způsoby:
1) Datové rozšíření: Použít Datové rozšíření je velmi vhodný způsob jak definovat s kterými daty chceme komunikovat. Definuje se v datové položce objektu PmData a pro DDE server je určeno ExtDdeServer.
2) Zastaralý způsob: provádí se v objektech PmNumber nebo PmData v jejích záložkách DDE. Zde v části Konfigurátory 'DDE server' je potřeba:
- konfigurátor "Sdílení položky" nastavit na Sdílet
- konfigurátor "DDE položka (item)" - nastavit název (identifikátor) data. Pod tímto názvem bude položka přístupná jiným aplikacím. Jména žádných dvou itemu se však pro jeden daný topic a service nesmí shodovat.

Nastavení jako DDE klient

V záložce PmRoot > DDE se v části DDE klientské skupiny definují DDE klientské skupiny, pomocí kterých jsou položky sdíleny. Položky v jedné skupině mají společný service a topic. Toto nastavení se musí se shodovat se service a topic serveru, s nímž mají být data sdíleny.
 
Nastavením DDE skupiny je definováno, s kterým DDE serverem je požadováno komunikovat. Je však ještě potřeba definovat, které položky (která konkrétní data) se mají sdílet.
1) Datové rozšíření: Použít Datové rozšíření je velmi vhodný způsob jak definovat s kterými daty chceme komunikovat. Definuje se v datové položce objektu PmData a pro DDE klient je určeno ExtDdeClient.
2) Zastaralý způsob: provádí se v objektech PmNumber nebo PmData v jejích záložkách DDE. Zde v části Konfigurátory 'DDE klient' nastavíme:
DDE skupina - DDE klientská skupina, ve které chceme proměnnou sdílet.
DDE položka (item) - pod jakým názvem bude položka sdílena.

Položky v okně DDE server pro nastavení DDE klienta nemají význam.

© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice