DDE ozancza dynamiczną wymianę danych i jest przeznaczone do współdzielenia danych pomiędzy kilku aplikacjami na jednym komputerze. Mogą to być różne aplikacje wykorzystujące
DDE (
Excel,
Access, itd.) włącznie dalszych aplikacji PROMOTIC.
Jeżeli ma być współdzielona grupża zmiennych, wtedy dla takiej grupy musi istnieć jeden DDE serwer i jeden lub większa ilość DDE klientów. DDE serwer "posiada" wszystkie zmienne, klienci odwoływują się do tych zmiennych, mogą te zmienne odczytywać i zapisywać do nich, jeżeli jest to dozwolone.
Adres współdzielonej zmiennej składa się z trzech części:
- service (aplikacja): w większości przypadków nazwa aplikacji (w systemie PROMOTIC jest to słowo "PROMOTIC" lecz można to zmienić)
- topic (temat): nazwa strefy danych (w systemie PROMOTIC jest to słowo "OBJECT" i nie można go zmienić)
- item (pozycja): nazwa konkretnej zmiennej (w systemie PROMOTIC określa projektant aplikacji)
DDE jest przeznaczone do współdzielenia danych na jednym komputerze. Po uruchomieniu sieciowego rozszerzenia
NetDDE jest jednak możliwe współdzielenie danych pomiędzy aplikacjami uruchomionymi na różnych komputerach podłączonych w jednej sieci komputerowej. Na tych komputerach musi być uruchomione oprogramowanie
NetDDE.exe (jest zawarty w
SO Windows), który jest sieciowym
DDE agentem, który umożliwia transmisję wybranych danych pomiędzy komputerami. Patrz:
Ustawienie NetDDE.
Współdzielenie danych przy pomocy
DDE można zastosować do najróżniejszych celów lecz w sterowaniu technologicznym jest jego najczęstszym wykorzystaniem
pozyskiwanie danych ze sterownika PLC. System PROMOTIC wprawdzie posiada dla najczęściej wykorzystywanych sterowników
własne drivery, lecz te nie pokrywają wszystkich sterowników PLC. Do komunikacji aplikacji PROMOTIC ze sterownikami PLC można wtedy zakupić oprogramowanie firmy trzeciej (najczęściej bezpośrednio od producenta PLC). Takie oprogramowanie jest aplikacją, która potrafi komunikować się ze sterownikami PLC i może być wykorzystana przez inne aplikacje (włącznie z aplikacjami PROMOTIC) jako serwer danych. Według interfejsu można zakupić dla sterowników PLC
OPC serwery lub/i DDE serwery. OPC jest lepszym i szybszym interfejsem niż
DDE, lecz w niektórych przypadkach OPC serwer może nie być do dyspozycji i istnieje tylko DDE serwer. Taki DDE serwer jest więc oprogramowaniem, który z jednej strony komunikuje się ze sterownikami PLC a ze strony drugiej komunikuje poprzez interfejs
DDE z innymi aplikacjami - w naszym przypadku z aplikacją PROMOTIC.
Zastosowanie DDE jest bardzo proste dla projektanta i wystarczy tylko w wybranych zmiennych w obiekcie PmaData wytworzyć ExtDdeClient i wypełnić parametry adresu DDE.
Niekorzystnym jest względna powolność przekazu pomiędzy DDE serwerem i aplikacją (chodzi o transmisję wartości pomiędzy różnymi aplikacjami). Jeżeli chcielibyśmy przekazywać tysiące wartości w krótkim okresie czasu, wtedy problemy nastaną. Dalszą niekorzystną właściwością (dla projektantów często bardzo ważną) jest (w większości) niemożliwość konfiguracji poszczególnych komunikatów. Nie można na przykład ustawić, że wartości analogowe mają być przekazywane raz za minutę a wartości binarne raz za sekundę.
W aplikacji PROMOTIC można przy pomocy
DDE nie tylko współdzielić dane, lecz takżemożna do DDE serwera wysłać polecenie (patrz metoda
Pm.DdeExecute).
Ustawienie jako DDE serwer
W karcie "
PmaRoot > DDE" w części
DDE serwer można zdefiniować pozycję
Aplikacja 'service'. Wszystkie współdzielone wartości oferowane aplikacją PROMOTIC jako DDE serwer będą oferowane pod adresem
service (domyślnie: tekst
"PROMOTIC") oraz
topic (tekst
"OBJECT"). Jest konieczne:
- NIE zaznaczać opcję "
Współdziel wszystko oprócz zakazanych". Jeżeli ta opcja zostanie zakreślona, wtedy będzie współdzielone wszystko wyraźnie niezakazane, co w większości przypadków nie jest odpowiednie.
Z kolei jest konieczne ustawić, które pozycje (które konkretne dane) mają być współdzielone. Do dyspozycji są dwa sposoby:
1)
Rozszerzenie danych: Zastosowanie
Rozszerzenie danych jest bardzo dogodnym sposobem, jak zdefiniować dane, którymi chcemy komunikować się. Definicję można wykonać dla pozycji danych obiektu
PmaData i dla DDE serwera jest przeznaczone
ExtDdeServer.
2) Przestarzały sposób: To wykonuje się w obiektach
PmaNumber lub
PmaData w ich kartach
DDE. Tutaj w części
Konfiguratory "DDE serwer" jest konieczne:
- konfigurator "
DDE pozycja (item)" - ustawić nazwę (identyfikator) danej. Pod tą nazwą dana pozycja będzie dostępna w innych aplikacjach. Nazwy żadnych dwu pozycji nie mogą być zgodne dla jednego
topic oraz
service.
Ustawienie jako DDE klient
W karcie "
PmaRoot > DDE" w części
Grupy klienckie DDE można zdefiniować grupy klienckie, przy pomocy których poszczególne pozycje są współdzielone. Pozycje w jednej grupie mają wspólne
service oraz
topic. To ustawienie musi być zgodne z
service oraz
topic serwera, z którym mają być dane współdzielone.
Ustawieniem grupy
DDE określa się, z którym DDE serwerem jest wymagana komunikacja. Oprócz tego jest jeszcze konieczne zdefiniować, które pozycje (które konkretne dane) mają być współdzielone.
1)
Rozszerzenie danych: Wykorzystanie
Rozszerzenie danych jest bardzo dogodnym sposobem, jak zdefiniować, którymi danymi chcemy komunikować się. Definicję można wytworzyćdla pozycji danych obiektu
PmaData i dla DDE klienta jest przeznaczone
ExtDdeClient.
2) Przestarzały sposób: To wykonuje się w obiektach
PmaNumber lub
PmaData w ich kartach
DDE. Tutaj w części
Konfiguratory "DDE klient":
Grupa DDE - należy ustawić grupę, w której chcemy współdzeilić zmienną.
Pozycje w oknie "DDE serwer" przy ustawianiu DDE klienta nie mają sensu.