Zadanie Rozwiązanie - Automatyka

Transkrypt

Zadanie Rozwiązanie - Automatyka
s
FAQ: 00000068/PL
Data: 30/01/2015
WinCC Professional – Swobodny zrzut ekranu
System wizualizacji WinCC posiada szerokie oraz elastyczne metody konfiguracji
sprawozdań procesowych. Często jednak odzwierciedlenie wartości poszczególnych
parametrów zawartych na ekranie synoptycznym w formie raportu jest trudna bądź wymaga
dużego nakładu pracy. Bardzo często najprostszym i w zupełności wystarczającym
mechanizmem jest wykonanie sprawozdania w formie graficznej na ekranie procesowym, a
następnie w odpowiednim momencie wykonanie jego zrzutu. Funkcja taka dostępna jest
zarówno przez standardowe mechanizmy systemu operacyjnego jak i w obszarze funkcji
systemowych WinCC. W takim wypadku najczęściej pojawiającą się niedogodnością jest
brak możliwości ograniczenia obszaru przechwytywanego przez system.
Zadanie
Niniejszy dokument ma na celu przedstawienie prostej możliwości wykonania zrzutu
ekranu podczas pracy aplikacji wizualizacyjnej w trybie Runtime. Cechą odróżniającą tą
funkcjonalność od standardowego zrzutu ekranu, jest sposobność wskazania wybranego
obszaru ekranu procesowego, który ma zostać przechwycony oraz wydrukowany w formie
pliku lub bezpośrednio na drukarkę.
Rozwiązanie
W tym przypadku kluczem do osiągnięcia przedstawionego zadania jest
wykorzystanie standardowej funkcji systemu operacyjnego z uwzględnieniem parametryzacji
jej przez skrypt wywołany w WinCC – w trybie pracy aplikacji. Załóżmy więc, że chcemy
przechwycić część wyświetlanego ekranu, gdzie punktem odniesienia będzie lewy górny
wierzchołek prostokąta (x, y), natomiast jego zakres wskażą parametry (w, h) zgodnie z
poniższym zrzutem ekranu:
W celu uzyskania pożądanego efektu wykorzystamy zdarzenie skryptowe języka
ANSI C, które pozwoli nam wywołać oraz sparametryzować odpowiednią aplikację systemu
operacyjnego. Formuła naszego zdarzenia może wyglądać, np. w następujący sposób:
www.siemens.pl/simatic
Doradztwo techniczne: [email protected]
1
s
FAQ: 00000068/PL
Data: 30/01/2015
WinCC Professional – Swobodny zrzut ekranu
Uwagi:
 Funkcja WinExec pozwala na uruchomienie dowolnej aplikacji. Jako parametry
przyjmuje ona nazwę aplikacji (oraz jej ewentualne atrybuty), a także tryb
wyświetlania okna wywoływanej aplikacji. Drugi parametr może przyjąć kilkanaście
wartości w zależności od tego czy okno ma być zmaksymalizowane,
zminimalizowane, ukryte, w trybie domyślnym (SW_SHOWNORMAL), etc. Więcej
informacji na temat tego parametru można odszukać w następującej lokalizacji
sieciowej:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms633548(v=vs.85).aspx
 Aplikacja, która została wykorzystana, czyli PrtScr.exe pozwala na wykonanie zrzutu
ekranu oraz jego wydruk na domyślną drukarkę, może być to urządzeni fizyczne lub
plik graficzny. Informacje na temat poprawnej parametryzacji odszukać można w
poniższej lokalizacji sieciowej:
http://support.automation.siemens.com/WW/view/en/22055344
 Zastosowany atrybut C wraz z informacją na temat pozycji startowej oraz szerokości i
wysokości przechwytywanego obrazu pozwala swobodnie wykonać zrzut ekranu oraz
automatycznie wydrukować go na domyślną drukarkę. Więcej informacji na temat
dostępnych atrybutów znajduje się w poniższej dokumentacji:
https://www.automation.siemens.com/mdm/default.aspx?DocVersionId=1648442612
3&TopicId=2371018251
Rezultat
Wynikiem pracy naszego krótkiego skryptu jest zrzut ekranu, którego lewy górny
narożnik stanowi współrzędne na ekranie (x, y) = (20, 10), o wymiarach (w, h) = (800, 400).
Wydruk do pliku PDF widoczny jest na zdjęciu poniżej:
www.siemens.pl/simatic
Doradztwo techniczne: [email protected]
2
s
FAQ: 00000068/PL
Data: 30/01/2015
WinCC Professional – Swobodny zrzut ekranu
Przykład został przygotowany w środowisku WinCC Professional V12 SP1 pod Windows
7x64. Może on być jednak swobodnie zaadoptowany do klasycznej wersji WinCC v7.x.
Więcej informacji na temat konfiguracji systemu WinCC można uzyskać w regionalnych
biurach sprzedaży Siemens lub kontaktując się bezpośrednio z działem wsparcia
technicznego Simatic.
www.siemens.pl/simatic
Doradztwo techniczne: [email protected]
3