Niniejszy wpis
jest zainspirowany pytaniami dotyczącymi OPC, jakie otrzymuję od
czasu do czasu poprzez email, fora itp... Są one mniej więcej
takie:
- W jakim języku najlepiej napisać oprogramowanie wykorzystujące OPC?
- Czy możesz mi doradzić w kwestii zrobienia oprogramowania w środowisku C++/ Visual C#. NET z wykorzystaniem standardu OPC?
- Co potrzebuję, żeby zacząć tworzyć oprogramowanie zgodne z OPC? Gdzie szukać informacji na ten temat?
- Zamierzam napisać prace magisterska na temat wykorzystania standardu OPC w zastosowaniu w automatyce przemysłowej. Rozważam kwestie opracowania własnej aplikacji w środowisku Visual C#.NET do komunikacji np. przez internet z jakimś układem automatyki (może sterownikiem PLC). Bardzo proszę o wszelkie sugestie.
Nie są to
pytania, na które odpowiedź jest jednoznaczna i oczywista, a
odpowiedzi można pewnie znaleźć tylu co odpowiadających. Postaram
się jednak coś podpowiedzieć.
Niestety na samym
początku muszę stwierdzić, że samodzielne (bez wykorzystania
jakiś dodatkowych bibliotek lub pakietów typu SDK) napisanie
oprogramowania wspierającego standard OPC nie jest proste. Trzeba
najpierw przebrnąć przez różne specyfikacje opisujące standard
OPC (niestety aktualnie specyfikacje są dostępne tylko dla członków
OPC
Foundation), a później napisać całą masę kodu. O wstępnych
zagadnieniach, z tym związanym pisałem już w serii artykułów
pod tytułem „OPC,
DCOM, .NET i C# w jednym stali domu”. Zagadnienia poruszone w
tamtym artykule pozostają cały czas aktualne dla oprogramowania
wykorzystującego tzw. OPC Classic (czyli oparte o DCOM). Oczywiście
pewne ułatwienia w postaci kodu źródłowego dla oprogramowania
typu serwer, czy klient są dostępne, jednak albo odpłatnie, albo
tylko dla członków OPC
Foundation.
Więcej na temat różnic, pomiędzy odmianami OPC można znaleźć,
w artykułach: „Co
to jest OPC? (w prostych żołnierskich słowach)” oraz
„Porównanie
Xi z innymi standardami (OPC DA, OPC XML DA, OPC UA, ...)”.
Trochę inaczej ma
się sprawa z innymi odmianami OPC. W przypadku OPC .NET 3.0
(wcześniej OPC eXpress Interface) pewien „wstępny” kod źródłowy
można znaleźć na stronie
http://www.expressinterface.com/DownloadDialog.aspx,
ale więcej znów tylko na stronach OPC
Foundation. Podobnie wygląda sprawa w przypadku OPC UA, tutaj
również najwięcej przykładów i najbardziej zaawansowany pakiet
SDK (C# i C++) dla OPC UA jest dostępny na stronach OPC
Foundation. Podobno jest również dostępny pakiet OPC UA SDK
dla Java,a na stronach OPC można znaleźć informacje: "A
non-commercial JAVA Sample Client and Server are available from VTT
Technical Research Centre of Finland. Please email
Matti.Paljakka_AT_vtt.fi." (kod dla Java miał być również
dostępny tutaj: http://code.google.com/p/opc-ua/,
ale projekt tylko utworzono i cisza ...). Oczywiście fakt, że coś
jest dostępne tylko dla członków OPC
Foundation, nie jest aż takie „straszne”. Przecież można
stać się członkiem OPC Foundation, by uzyskać dostęp do
wszystkich wspomnianych wcześniej materiałów (specyfikacji, czy
kodów źródłowych). Ponadto trzeba wiedzieć, że oprócz firm,
członkami OPC Foundation mogą być również na uproszczonych
warunkach uniwersytety.
W tym
miejscu chciałbym zwrócić uwagę na jeszcze jeden fakt, a
mianowicie potrzebę przetestowania i certyfikacji utworzonego
rozwiązania, tak aby można było później mówić, że
oprogramowanie wspiera technologię OPC. Na temat certyfikacji,
dlaczego i jak się ona odbywa, pisałem już we wcześniejszym cyklu
wpisów pod tytułem: „Certyfikacja
OPC”.
Inne możliwości
Jaki więc
proponuje alternatywy wobec powyższych rozwiązań? Otóż
wydaje mi się, że dobrym pomysłem może być wykorzystanie
gotowego rozwiązania, certyfikowanego i wspierającego technologię
OPC, a które jednocześnie pozwala na proste rozszerzenie
funkcjonalności i dopasowanie do własnych potrzeb i do własnej
aplikacji. Przykładem takiego rozwiązania jest oprogramowanie z
rodziny
CommServer, dzięki któremu można:
- opracować serwer OPC dla własnego urządzenia, czy protokołu (z wykorzystaniem CommServer'a lub CommServer'a UA),
- opracować klienta OPC dla własnej aplikacji (z wykorzystaniem DataPorter'a).
Wykorzystując oprogramowanie z rodziny
CommServer można stworzyć własne aplikacje wspierające OPC.
Na temat odczytu
danych z OPC poprzez DataPorter'a pisałem już we wcześniejszym
artykule: „OPC
Client .NET (w języku C# (csharp))”. Dlatego teraz skupię
się na pierwszej możliwości.
CommServer jako serwer OPC dla własnego urządzenia.
Przy pomocy
CommServer'a (dla OPC Classic lub UA) można opracować serwer OPC
dla własnego urządzenia, czy protokołu. W tym celu należy
wykorzystać mechanizm pluginów CommServer'a, w którym każdy
protokół jest obsłużony przez tzw. dostawcę danych
(DataProvider). Mechanizm ten opisany jest pod adresem:
http://www.commsvr.com/Howitworks/Technologie/Multidataproviders.aspx.
Dodatkowo dostępny jest pakiet „DataProvider
Rapid Development Kit (DP RDK)”, który jest zestawem narzędzi,
kodu źródłowego oraz dokumentacji, pozwalających na przygotowanie
wtyczek w postaci DataProvider ’ów dla programu CommServer'a.
Pakiet RDK (kod + manual) dostępny jest na stronie:
http://www.commsvr.com/DownloadCenter/ProductSoftware/PR2905DataProvider_RDK_Software.aspx.
Dodatkowo pod następującym adresem, znajduje się pewien opis co i
jak:
http://www.commsvr.com/DownloadCenter/Manuals/PR290203DataProviderRDKWalkthrough.aspx.
Sporo informacji znajduje się też w helpie dla oprogramowania
CommServer:
http://www.commsvr.com/OPC-Help/Index.aspx?topic=html/2dea0752-d490-47e6-8444-ac73e07601fc.htm.
Polecam również obejrzenie filmów instruktażowych
przedstawiających jak konfigurować oprogramowanie CommServer:
http://www.youtube.com/cascommserver.
Licencje na oprogramowanie z rodziny CommServer
Oczywiście, aby
wykorzystać oprogramowanie z rodziny CommServer, potrzebna jest na
nie licencja. Jest ona odpłatna dla końcowego użytkownika, ale dla
partnerów (akademickich, integratorów, itp ...) może zostać
udzielona licencja specjalna. Więcej na ten temat można znaleźć
pod adresami:
- ogólnie o programach partnerskich: http://www.commsvr.com/Partnershipprogram.aspx
- program dla partnerów VAR (w tym integratorów) http://www.commsvr.com/Partnershipprogram/IntegratorsVAR.aspx
- program akademicki dla uczelni wyższych: http://www.commsvr.com/Partnershipprogram/AcademicAlliance.aspx
Najłatwiejsze
jest uzyskanie licencji specjalnej dla programu akademickiego, w
takim przypadku wystarczy wypełnić prosty formularz:
http://www.commsvr.com/Partnershipprogram/AcademicAlliance/Academicallianceform.aspx.
Podsumowanie
W ramach
podsumowania chciałbym wspomnieć jeszcze o jednym pytaniu, jakie od
czasu do czasu przewija się przez otrzymywane przeze mnie email'e, a
mianowicie „gdzie szukać informacji na temat OPC?”. Tym, którzy
jeszcze nie wiedzą gdzie, polecam przeczytanie wpisu: „OPC,
OPC UA, OPC XI – gdzie szukać informacji?”.
Na zakończenie
chciałbym jeszcze raz podkreślić, że samodzielne (bez pomocy
żadnych obcych bibliotek, czy kodu) tworzenie oprogramowania
wykorzystującego OPC może być trudne. Warte przemyślenia jest
skorzystanie z profitów członkostwa w OPC Foundation, ale może
prościej wykorzystać oprogramowanie firmy trzeciej (np. w tym
przypadku firmy CAS
producenta oprogramowania z rodziny CommServer),
by szybciej osiągnąć założony cel – integrację i komunikację.
Brak komentarzy:
Prześlij komentarz