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 PmOpcClient. W tym obiekcie należy wybrać dany OPC serwer (jeżeli jest poprawnie zainstalowany, wtedy pojawi się w ofercie).) Do obiektu PmOpcClient należy z kolei włożyć wymaganą ilość obiektów PmOpcClientData. 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 poprzey metodę PmOpcClientData.Read-PmOpcClientData.Write.

 
Z kolei jest konieczna 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 PmData i dla OPC jest przeznaczone ExtOpcClient.
2) Definicja danych bezpośrednio w obiekcie PmOpcClientData: W zakładce Dane można definiować zmienne, które są nakonfigurowane w podobny sposób jak na przykład w obiekcie PmData. Dodatkowo trzeba ustawić na każdej pozycji dwie wartości dotyczące komunikacji OPC. Są to ItemID i AccesPath. Te dwie wartości przedstawiają adres danej pozycji w OPC serwerze. Jeżeli OPC serwer wspiera OPC w wersji 2, wtedy przy konfiguratorach działają przyciski (z trzemi kropkami) umożliwiające wybór danych bezpośrednio z OPC serwera. Jeżeli ta funkcja nie działa, wtedy jest konieczne ręczne wpisanie tych wartości.

Dostęp do pozycji danych w obiekcie PmOpcClientData jest taki sam jak w obiekcie PmData, tzn. na przykład poprzez właściwość PmOpcClientData.Item. Właściwość ta udostępni jedną zmienną jako obiekt Var, u której można stwierdzić standardowe dane (przedewszystkim wartość zmiennej właściwości Value) lecz w obiekcie PmOpcClientData posiada obiekt Var jeszcze dalsze 2 właściwości specyficzne wyłącznia dla OPC. Chodzi o właściwość Var.Quality, przy pomocy której można stwierdzić ważność odebranej wartości i 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 PmOpcClient. Do konfiguratora 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 PmOpcClient wytwórz nowy obiekt PmOpcClientData.
3. W obiekcie PmOpcClientData przekonaj się, że konfiguratory Aktywny po starcie i Odświeżenie z serwera przy zmianie na serwerze są zakreślone.
4. W zakładce PmOpcClientData > Dane wytwórz jedną zmienną: naciśnij przycisk "Nowa". Zostanie otwarte okno do ustawienia nowej zmiennej. Ustaw wymagany typ danych.
5. Wypałnij konfigurator ItemID wymaganym OPC adresem wartości. 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 "PmRoot" i tam przejdź do obiektu PmOpcClientData, 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 danego 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