Promotic

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, 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:
- 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ž obvykle není vhodné.


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 "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 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.
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.