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