Promotic

Komunikacja poprzez interfejs OPC DA

Zasady transmisji danych po OPC DA:
Jest konieczny OPC serwer. OPC serwer możnesz uzyskać od różnych firm, które produkują takie oprogramowanie. Często producentem takiego oprogramowania jest producent sterowników PLC. OPC serwer jest aplikacją dla SO Windows, która jest uruchomiona jako samodzielne oprogramowanie lub może być również w formie na przykład biblioteki DLL. Taki OPC serwer na przykład potrafi komunikować się ze sterownikami PLC po łączu szeregowym komputera i równocześnie potrafi dane (które uzyska ze sterownika PLC) oferować poprzez interfejs OPC innym aplikacjom w SO Windows. W tym przypadku jest taką aplikacją aplikacja PROMOTIC.
W aplikacji PROMOTIC, która chce pozyskiwać (zapisywać) dane z danego sterownika PLC jest konieczne założenie obiektu PmaOpcDaClient. W tym obiekcie należy wybrać dany OPC serwer (jeżeli OPC jest poprawnie zainstalowany, wtedy pojawi się w ofercie).) Do obiektu PmaOpcDaClient jest konieczne z kolei włożyć wymaganą ilość obiektów PmaOpcDaClientGroup. Te obiekty przedstawiają grupy danych, które będą transmitowane. Jest koniecznym ich odpowiednie ustawienie. Możesz określić, czy grupa danych ma być automatycznie odczytywana czy też zapisywana. Jeżeli nie chcesz odczytywać-zapisywać dane automatycznie, wtedy można to wykonywać w skrypcie poprzez metodę PmaOpcDaClientGroup.Read-PmaOpcDaClientGroup.Write.

Z kolei jest konieczne dafinicja, które dane chcemy transmitować. To można wykonać na dwa sposoby:
1) Rozszerzenie danych: Zastosowanie Rozszerzenie danych jest bardzo dogodnym sposobem, jak określać dane, którymi chcemy komunikować się. Dane te można ydefiniować dla pozycji danych obiektu PmaData i dla OPC jest przeznaczone ExtOpcDa.
2) Definicja danych bezpośrednio w obiekcie PmaOpcDaClientGroup: W karcie "Dane" można określić zmienne, które są nakonfigurowane podobnie jak na przykład w obiekcie PmaData. Dodatkowo jest konieczne ustawić na każdej pozycji dwie wartości dotyczące komunikacji OPC. Są to ItemId oraz AccesPath. Te dwie wartości przedstawiają adres danej zmiennej w OPC serwerze. Jeżeli OPC serwer wspiera OPC w wersji 2, wtedy wybór danych powinien działać bezpośrednio z OPC serwera (przy pomocy przycisku z trzemi kropkami). Jeżeli ta funkcja nie działa, wtedy jest konieczne określić ręczne tych wartości.
Dostęp do pozycji danych w obiekcie PmaOpcDaClientGroup jest taki sam jak w obiekcie PmaData, tzn. na przykład przy pomocy metody PmaOpcDaClientGroup.Item. Ta właściwość udostępni jedną zmienną jako obiekt PmVar, u której można stwierdzić standardowe dane (przedewszystkim wartość zmiennej właściwością Value) lecz w obiekcie PmaOpcDaClientGroup posiada obiekt PmVar jeszcze dalsze 2 właściwości specyficzne tylko dla OPC. Chodzi o właściwość PmVar.Quality, przy pomocy której można stwierdzić ważność odebranej wartości oraz właściwość ExtOpcDa.TimeStamp, przy pomocy której można stwierdzić znacznik czasu ostatniej aktualizacji wartości.


OPC DA Pojęcia podstawowe:
CACHE: Pomocnicza pamięć OPC serwera, do której serwer na bieżąco zapisuje dane, które uzsykuje z innych źródeł danych (np. ze sterownika PLC, DEVICE - patrz dalej). Jeżeli OPC klient wymaga danych, wtedy nie musi je uzyskiwać powoli ze sterownika PLC, lecz może je szybko odczytać z tej pamięci w OPC serwerze.
DEVICE: Źródło danych, z którego OPC serwer pozyskuja dane. Dostęp do tych danych jest zazwyczaj wyraźnie wolniejszy niż do danych w CACHE.
Transmisja asynchroniczna: Sposób transmisji danych pomiędzy klientem i serwerem. Klient odeśle żądanie do OPC serwera (zapis, odczyt) i NIE CZEKA na koniec obsługi żądania. OPC serwer obsłuży żądanie w przeciągu pewnego czasu i jego wynik zostanie przesłany do klienta. Klient w czasie między odesłaniem żądania i otrzymaniem wyniku może wykonywać inne operacje. Ten sposób transmisji danych jest odpowiedni dla długotrwałych operacji, na przykład odczyt lub zapis danych z DEVICE.
Transmisja synchroniczna: Sposób transmisji danych pomiędzy klientem i serwerem. Klient odeśle żądanie do OPC serwera (zapis, odczyt) i CZEKA na koniec obsługi żądania. Ten sposób transmisji danych jest odpowiedni dla bardzo szybkich operacji, na przykład odczyt lub zapis danych z CACHE jeżeli OPC serwer znajduje się na tym samym komputerze co klient.


Instrukcja do prostej próby komunikacji OPC:
1. Wytwórz pusty projekt (lub wykorzystaj już istniejący) i w nim wytwórz obiekt PmaOpcDaClient. W konfiguratorze "OPC serwer - CLSID/ProgID" wprowadź OPC serwer, do którego chcesz się podłączyć (serwer można wybrać przy pomocy przycisku po prawej). Jeżeli wymagany serwer nie jest oferowany, wtedy to znaczy, że nie jest na Twoim komputerze poprawnie zainstalowany.
2. W obiekcie PmaOpcDaClient wytwórz nowy podobiekt PmaOpcDaClientGroup.
3. W obiekcie PmaOpcDaClientGroup przekonaj się, że konfiguratory Aktywny po starcie oraz Odśwież z serwera przy zmianie na serwerze są zakreślone.
4. W karcie "PmaOpcDaClientGroup > Dane" wytwórz jedną zmienną: naciśnij przycisk "". Zostanie otwarte okno do ustawienia nowej zmiennej. Ustaw wymagany typ danych.
5. Wypałnij konfigurator "ItemId" wymaganym OPC adresem zmiennej. Ten konfigurator można wypełnić przy pomocy przycisku po prawej - wtedy uruchamia się OPC serwer i sam zaoferuje zmienne, które może transmitować (funkcję tą wspierają tylko OPC serwery z interfejsem OPCv2.0 i nowsze - starsze OPC serwery nie posiadają tej funkcji).
6. Niektóre typy adresacji wymagają oprócz konfiguratora "ItemId" dodatkowo wypełnienie konfiguratora AccessPath (do wprowadzania wykonaj taki sam proces jak w poprzednim punkcie). U większości OPC serwerów jednak można ten konfigurator pozostawić pusty.
7. Zakończ wprowadzanie zmiennej i uruchom aplikację (runtime).
8. W celu prób nie musisz wytwarzać żadnych ekranów, wszystko możesz stwierdzić w INFO systemie. Otwórz okno INFO systemu, przejdź do pozycji "PmaRoot" i tam przejdź do obiektu PmaOpcDaClientGroup, który wytworzyłeś.
W karcie "Vars" zobaczysz bieżącą wartości i stany zmiennych.
W karcie "Object" możesz zobaczyć statystykę transmisji OPC tego obiektu.
9. Jeżeli transmisja danych nie działa, wtedy spojrzyj do karty "Errors" w INFO systemie.

Historia:
Pm8.00.04: Udoskonalono dostęp do OPC-DA serwerów na innym komputerze: teraz nie jest koniecznym równoległa instalacja zdalnego OPC serwera na komputerze z aplikacją PROMOTIC. Patrz Konfiguracja interfejsu DCOM dla OPC-DA serwera.
© MICROSYS, spol. s r.o.