Na początku chciałem zaznaczyć, że w ostatnim czasie (od ok. roku) z OPC raczej miałem mało wspólnego z racji zmiany pracodawcy i odejściu od zagadnień związanych z automatyką przemysłową (teraz zajmują się tworzeniem oprogramowania dla instytucji finansowych). W związku z tym moja wiedza może być odrobinę nieaktualna, ale z drugiej strony chyba aż tak dużo się nie zmieniło.
Przejdźmy jednak do tematu, czyli możliwości dostępu do danych procesowych z poziomu systemu Android. Na starcie od razu stwierdzę, że nie jest to proste zagadnienie. Trzeba tutaj przeanalizować przynajmniej dwa przypadki, mianowicie czy jest to:
- OPC DA 2 lub OPC DA 3 (zwane coraz częściej Classic)?
- A może jest to OPC UA?
Mówiłem wcześniej o dwóch przypadkach, jeden już omówiłem, ale warto jeszcze wspomnieć o OPC UA. W tym przypadku nie jest wykorzystywany DCOM, komunikacja może odbywać się po dobrze zdefiniowanych binarnych strumieniach lub soap'owych webserwisach (!). Te dużo łatwiej obsłużyć z poziomu aplikacji Java. Zresztą (dla celów niekomercyjnych) jest również dostępne SDK dla Javy. Na stronie OPC Foundation znaleźć można informację "A non-commercial JAVA Sample Client and Server are available from VTT Technical Research Centre of Finland. Please email Matti.Paljakka_AT_vtt.fi.". Wydaje mi się również, że są dostępne komercyjne SDK, niestety żadnych nie znam, więc nic nie polecę
Na koniec chciałbym jeszcze wspomnieć, że po wpisaniu w Google (OPC Android), pojawia się m.in. link do firmy Unified Automation, która zajmuje się tworzeniem aplikacji wspierającej standard OPC. Niestety opisywane "coś" nie wygląda na skończony produkt, ale przecież zawsze można spróbować się z nimi jakoś skontaktować (wśród różnych firm związanych OPC, z którym miałem okazję się kontaktować, ich można uznać za dość doświadczonych w temacie OPC).
Polecam również przeczytanie na moim blogu pewnych postów (a może one podpowiedzą jeszcze jakieś rozwiązanie):"Dostęp do danych procesowych", "OPC – a programowanie – jak zacząć?".
Chciałbym zacząć naukę programowania chodzi o programowanie abap z tego co słyszałem ta materia jest mega trudna, moje doświadczenie ograniczało się do C++
OdpowiedzUsuńTo prawda, ta cała materia jest dosyć skomplikowana, więc na początek zacząć od czegoś łatwiejszego. Aczkolwiek, jeżeli masz już podstawy C++ to trochę będzie Ci łatwiej niż osobie która się nigdy tym nie zajmowała. Co nie oznacza że będzie dużo łatwiej.
UsuńJeżeli posiadamy serwer OPC, który implementuje standard XML DA, to również mamy dostęp poprzez web service :)
OdpowiedzUsuńJesli chodzi o naukę programowania to warto zacząć od nauki podstaw. Dobrze nauczyć się Pythona jest dość prosty a przy tym bardzo uniwersalny. Polecam, jest wiele kursów do pomocy w internecie.
OdpowiedzUsuńAndroid jest systemem na którym obecnie działa już chyba wszystko. Robi się na niego programy, aplikacje, nakładki. Najlepsze jest to, że nie tylko na telefonie on działa, ale również na TV czy na tabletach.
OdpowiedzUsuńNiestety nauka oprogramowania nie jest taka łatwa. Ciężko jest się nauczyć jednego języka oprogramowania, a teraz standardem jest znajomość kilku. Niestety na obecnym rynku pracy dla automatyki i innych dziedzin ciężko jest znaleźć pracę jako programista.
OdpowiedzUsuńKwestia automatyki przemysłowej jest bardzo ważna
OdpowiedzUsuńCiekawy i pomocny wpis
OdpowiedzUsuń