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,
Access, atd.) včetně dalších aplikací PROMOTIC.
Pokud se má sdílet skupina proměnných, pak 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): obvykle 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í proměnné (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 použít k mnoha účelům ale pro technologické řízení je nejčastějším použitím
získávání dat z PLC automatu. Systém PROMOTIC má sice pro běžné PLC automaty
vlastní ovladače, ale tyto nepokrývají zcela všechny PLC automaty. Pro komunikaci aplikace PROMOTIC s PLC automaty pak lze zakoupit software od jiné firmy (obvykle přímo výrobce PLC automatu). Tento software je aplikace, která může komunikovat s PLC automaty 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
DDE server. Takový
DDE server je tedy software, který z jedné strany komunikuje s PLC automaty 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
PmaData 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 dat mezi různými aplikacemi). Pokud bychom chtěli přenášet tisíce hodnot za krátký časový úsek, pak vzniknou problémy. Další nevýhodou (pro projektanty často dost podstatnou) je (obvykle) 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 konfiguračním okně
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řednastaveno: text
"PROMOTIC") a
topic (text
"OBJECT"). Je nutno:
Nyní však je nutno 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
PmaData a pro
DDE server je určeno
ExtDdeServer.
2) Zastaralý způsob: provádí se v objektech
PmaNumber nebo
PmaData v kartě "
DDE". Zde v části
Konfigurátory "DDE server" je nutno:
- 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 položek se však pro jeden daný
topic a
service nesmí shodovat.
Nastavení jako DDE klient
V konfiguračním okně
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
PmaData a pro
DDE klienta je určeno
ExtDdeClient.
2) Zastaralý způsob: provádí se v objektech
PmaNumber nebo
PmaData v kartě "
DDE". Zde v části
Konfigurátory "DDE klient" nastavíme:
DDE skupina -
DDE klientská skupina, ve které chceme proměnnou sdílet.
Položky v okně "
DDE server" pro nastavení
DDE klienta nemají význam.