DDE ozancza dynamiczną wymianę zmiennych i służy do współdzielenia zmiennych 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 grupa zmiennych, wtedy dla takiej grupy musi być jeden
DDE serwer i jeden lub więcej
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): zazwyczaj nazwa aplikacji (w systemie PROMOTIC jest to słowo "PROMOTIC" lecz to można 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 służy 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 zapewnia 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 (zazwyczaj bezpośrednio od producenta sterownika 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 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 (zazwyczaj) niemożliwość konfiguracji poszczególnych wiadomości. Nie można na przykład ustawić, że analogowe wejścia mają być przekazywane raz za minutę a binarne wejścia 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 oknie konfiguracyjnym
DDE w części
DDE serwer można zdefiniować pozycję
Aplikacja 'service'. Wszystkie współdzielone zmienne 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 zazwyczaj 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 karcie "
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 oknie konfiguracyjnym
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 karcie "
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" do ustawienia
DDE klienta nie mają sensu.