Promotic
WikipediaLinkedInYoutubeTwitterFacebook

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 potrafi na przykład komunikować się ze sterownikiem 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 PmaOpcClient. W tym obiekcie należy wybrać dany OPC serwer (jeżeli jest poprawnie zainstalowany, wtedy pojawi się w ofercie).) Do obiektu PmaOpcClient jest konieczne z kolei włożyć wymaganą ilość obiektów PmaOpcClientGroup. Obiekty te 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ę PmaOpcClientGroup.Read-PmaOpcClientGroup.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 ExtOpcClient.
2) Definicja danych bezpośrednio w obiekcie PmaOpcClientGroup: W zakładce "Dane" można określić zmienne, które są nakonfigurowane w podobny sposób 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 ręczne wpisanie tych wartości.

Dostęp do pozycji danych w obiekcie PmaOpcClientGroup jest taki sam jak w obiekcie PmaData, tzn. na przykład poprzez metody PmaOpcClientGroup.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 PmaOpcClientGroup 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ść ExtOpcClient.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 OPC serwera.
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 jest odpowiedni dla długotrwałych operacji, na przykład zapis lub odczyt 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 jest odpowiedni dla bardzo szybkich operacji, na przykład zapis lub odczyt 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 PmaOpcClient. 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 PmaOpcClient wytwórz nowy podobiekt PmaOpcClientGroup.
3. W obiekcie PmaOpcClientGroup przekonaj się, że konfiguratory Aktywny po starcie oraz Odświeżenie z serwera przy zmianie na serwerze są zakreślone.
4. W zakładce "PmaOpcClientGroup > 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. Konfigurator ten 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 rodzaje 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 PmaOpcClientGroup, który wytworzyłeś. W zakładce Vars zobaczysz bieżącą wartość i stan zmiennej. W zakładce Object możesz zobaczyć statystykę transmisji OPC tego obiektu.
9. Jeżeli transmisja danych nie działa, wtedy spojrzyj do zakładki Errors w INFO systemie.
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice