Mateusz Kołodziejczyk (PB, UwB) Projekt i uruchomienie prostego serwera OPC UA w oparciu o oprogramowanie szkieletowe Quasar opracowane w CERN Julian Sacharczuk (UR) Opiekunowie: mgr inż. Jolanta Olszowska dr Elżbeta Banaś Konsultacja: mgr inż. Piotr Nikiel (CERN)
SPIS TREŚCI CZYM JEST SERWER? STANDARD OPC UA QUASAR ATLAS DETECTOR CONTROL SYSTEM ATLAS TRANSITION RADIATION TRACKER HIGH VOLTAGE SYSTEM HV SYSTEM QUASAR SERVER RCE QUASAR SERVER Gwarantujemy brak histogramów 1/19
CELE: STWORZENIE SERWERA O PODSTAWOWEJ FUNKCJONALNOŚCI WYKORZYSTANIE NARZĘDZIA QUASAR DO BUDOWY SZKIELETU SERWERA MOTYWACJA: DUŻY, ROZPROSZONY SYSTEM KONIECZNOŚĆ STANDARYZACJI UŁATWIENIE WDRAŻANIA ROZWIĄZAŃ BAZUJĄCYCH NA SERWERACH OPC UA 2/19
SERWER (SOFTWARE) SERWER (HARDWARE) 3/19
OPEN PLATFORM COMMUNICATION UNIFIED ARCHITECTURE OTWARTY STANDARD KOMUNIKACYJNY HIERARCHICZNA PRZESTRZEŃ ADRESOWA OBIEKTÓW SZYFROWANIE I UWIERZYTELNIANIE DANYCH ARCHITEKTURA ZORIENTOWANA NA USŁUGI DOSTĘPNY NA RÓŻNYCH PLATFORMACH 4/19
Quasar (PIOTR NIKIEL & QUASAR TEAM) 5/19
GENERUJE PLIK WYKONYWALNY SERWERA NA PODSTAWIE OBIEKTOWO ZORIENTOWANEGO MODELU INFORMACYJNEGO 6/19
7/19
DETECTOR CONTROL SYSTEM 8/19
ATLAS TRT DETECTOR OK. 300000 SŁOMEK WYPEŁNIONYCH MIESZANKĄ XE, CO 2 I O 2 KAŻDA SŁOMKA ZASILONA WYSOKIM NAPIĘCIEM OK. 1500 V 9/19
10/19
pcatltrttest4 RS232 płytka frontendowa SC508 11/19
12/19
Model informacyjny Konfiguracja sprzętowa Reprezentacja obiektowa (klient OPC UA) 13/19
Wymiana informacji z urządzeniem mechanizm odczytu i zapisu zmiennych 14/19
Nasza praca 15/19
WYZWANIA: ZAPOZNANIE SIĘ ZE SPRZĘTEM I DOKUMENTACJĄ MODELOWANIE PRZESTRZENI NAZW TWORZENIE FUNKCJI DO KOMUNIKACJI ZE SPRZĘTEM PO RS232 CROSS-COMPILING I PRZENIESIENIE SERWERA NA RCE W ARCHITEKTURZE ARM KONFIGURACJA SKALOWANIA ODCZYTU Z PRZETWORNIKÓW A/C ORAZ C/A PERSPEKTYWY: DALSZY ROZWÓJ SERWERA I OBUDOWANIE GO W DODATKOWE FUNKCJE PROPAGACJA STANDARDU WYKORZYSTYWANIA QUASARA W CERN UZUPEŁNIENIE DOKUMENTACJI QUASARA 16/19
DZIĘKUJEMY ZA UWAGĘ BIBLIOGRAFIA: QUASAR DOCUMENTATION https://github.com/quasar-team/quasar/wiki A GENERIC FRAMEWORK FOR RAPID DEVELOPMENT OF OPC UA SERVERS https://accelconf.web.cern.ch/accelconf/icalepcs2015/talks/web3o02_talk.pdf THE ATLAS TRANSITION RADIATION TRACKER (TRT) DETECTOR CONTROL SYSTEM. http://accelconf.web.cern.ch/accelconf/icalepcs2011/talks/wemau005_talk.pdf ATLAS DETECTOR SYSTEMS https://atlasop.cern.ch/sys/ MULTI-CHANNEL HIGH VOLTAGE SYSTEM CONTROLLER SC508 USER MANUAL HIGH VOLTAGE CELL CA2K USER MANUAL OPTION FOR TRT, ATLAS EXPERIMENT 17/19
NIE TYLKO SPRZĘT MA PROBLEMY Z KOMUNIKACJĄ 18/19
Quasar Dependencies Mandatory: Suitable C++ compiler (gcc is assumed by default) The Unified Automation OPC UA Toolkit in versions 1.3.x, 1.4.x or 1.5.x. Note that a version with alternative backend (open62541) is available. Boost development libraries. (In principle, boost-regex, boost-devel and boost-program-options should be sufficient) XSLT processor capable of XSLT2.0 processing. We use The Saxon XSLT and XQuery Processor from Saxonica Limited which is re-distributed with the Quasar package (version 9.5 HE). Conditions of redistribution are explained at this link. Java run time environment, to run the Saxon XSLT Processor. Cmake version 2.8 or later. Available in SLC6 as cmake28 package. Recommended: Schema-aware XML editor. We use Eclipse, as can be seen in the screencasts. Good C++ IDE / editor. We use Eclipse, as can be seen in the screencasts. Good merge tool. We use kdiff3 (available as kdiff3 RPM in SLC6 Linux). ArtisticStyle ( http://astyle.sourceforge.net/ ) for automatic formatting of generated code. If you don't use it, the generated code will look like a shipwreck (but will still work). ArtisticStyle RPM for SLC6 can be obtained from Piotr Nikiel, or you can compile it yourself from sources. graphviz, if you want to visualize your object design in UML-alike class diagram. Available in SLC6 as graphviz RPM package. UnifiedAutomation UaExpert or any other OPC UA Client for exploring OPC UA address space. Valgrind, for checking memory-related problems. (valgrind RPM in SLC6) PDF viewer for opening UML-like diagrams created from design file. Doxygen for generating documentation. RPM Build tools for RPM generation 19/19