Author
letruc
View
216
Download
0
Embed Size (px)
Uniwersalny serwer do monitorowania urzdze przemysowych za pomoc przegldarki internetowej 15
MARIAN HYLA
W artykule przedstawiono realizacj uniwersalnego serwera poredniczcego w procesiemonitorowania urzdze przemysowych wykorzystujcych protok Modbus TCP. Apli-kacja udostpnia wybrane informacje za pomoc protokou HTTP akceptowanego przezprzegldarki internetowe. Zaprezentowano moliwo konfiguracji oprogramowaniaoraz przykadowe strony generowane przez serwer. Przedstawiono wyniki testw wydajno-ciowych poczenia Modbus TCP.
Sowa kluczowe: monitorowanie, zdalny dostp, Modbus TCP, HTTP, WWW
MINING INFORMATICS, AUTOMATION AND ELECTRICAL ENGINEERING No. 2 (530) 2017
!"
Nowoczesne technologie informatyczne daj szero-kie moliwoci transmisji danych z wykorzystaniemkomputerowych sieci lokalnych, jak i globalnej sieciInternet. W dobie powszechnego dostpu do Inter-netu coraz wicej urzdze przemysowych wyposaasi w interfejsy sieciowe, wykorzystywane do zdalnegosterowania i monitorowania stanu pracy. Praktycznieprzestaje mie znaczenie zarwno lokalizacja monito-rowanych urzdze, jak i lokalizacja uytkownika.
Jednym z najczciej implementowanych proto-kow urzdze przemysowych z moliwoci cz-noci przez sie Ethernet/Internet jest protok Mod-bus TCP [13]. Od strony uytkownika powszechnymi oglnie dostpnym narzdziem dostpu do siecis przegldarki internetowe wykorzystujce protokHTTP (Hypertext Transfer Protocol) [11].
Zarwno Modbus TCP, jak i HTTP s protokoamiwarstwy aplikacji stosu protokow TCP/IP i do trans-portu wykorzystuj protok TCP (Transmission Con-trol Protocol) oraz warstwy nisze [37, 11, 13, 18, 19].Aby umoliwi prezentacj danych z urzdze Mod-bus TCP za pomoc przegldarki internetowej, ko-nieczne jest jednak zastosowanie odpowiedniego na-rzdzia (aplikacji) umoliwiajcego konwersj danychpomidzy obydwoma protokoami.
#$ "%& &'()*&+, -"
Protok Modbus [12, 14] zosta opracowanyw 1979 r. przez firm Modicon, przejt w poowielat 90. ubiegego wieku przez Schneider Electric. Po-mimo gwatownego rozwoju nowych technik komuni-kacji i opracowania nowych protokow transmisyjnychjest on w dalszym cigu jednym z najpopularniejszychprotokow przemysowych i z powodzeniem stoso-wany jest do lokalnej komunikacji z urzdzeniamiwyposaonymi w szeregowe asynchroniczne interfejsytransmisji danych w modelu komunikacji typu Master--Slave.
Powszechny dostp do Internetu oraz moliwoimplementacji stosu protokow TCP/IP [36, 18, 19]w urzdzeniach przemysowych przyczyniy si doopracowania nowej wersji protokou Modbus dlasieci pakietowych nazwanej Modbus TCP lub ModbusTCP/IP [13]. Protok ten bazuje na odmianie proto-kou Modbus RTU i jest jego implementacj dla sie-ci IP. Porwnanie struktury ramki Modbus RTU orazModbus TCP przedstawiono na rysunku 1.
Ramka protokou Modbus TCP (Application DataUnit) skada si z nagwka (Modbus Application Head-er) oraz waciwej czci danych (Protocol Data Unit).
Transmisja danych przez sie datagramow wiesi z moliwoci odebrania danych przez urzdzenie
16 M. Hyla
odbiorcze w innej kolejnoci, ni zostay wysane przezurzdzenie nadawcze. Z tego wzgldu w nagwkuprotokou Modbus TCP wprowadzono dwubajtowepole identyfikatora transakcji Transaction ID zawiera-jce numer transmitowanej ramki. Pozwala ono naidentyfikacj polecenia urzdzenia Master, na ktreodebrano odpowied od urzdzenia Slave.
Dwubajtowe pole Protocol ID zawiera identyfikatorprotokou (dwa bajty o wartoci 0).
Dwubajtowe pole Length zawierajce informacjo dugoci pozostaej czci ramki pozwala na rozdzie-lenie poszczeglnych ramek zgromadzonych w bufo-rze odbiorczym urzdzenia.
Adres urzdzenia podrzdnego Slave ID zastpio-no identyfikatorem urzdzenia Unit ID.
Jednostka danych protokou Protocol Data Unit Mod-bus TCP jest zgodna z formatem PDU protokouModbus RTU [1214].
Ramka Modbus TCP nie zawiera sumy kontrolnej,gdy prawidowo dostarczenia danych gwarantujprotokoy warstw niszych [36, 18, 19].
.$ "%& &'()/ "
Protok HTTP wykorzystywany jest do przesyaniadokumentw hipertekstowych pomidzy przegldar-kami internetowymi a serwerami sieci WWW (WorldWide Web) [7, 11]. Zasoby HTTP znajdujce si w sieciidentyfikowane s przez adresy zasobw sieciowychw konwencji URI (Universal Resource Identifier). Ad-resy URI mog wskazywa nie tylko na pliki utworzo-ne w formacie HTML (HyperText Markup Language)[2, 15, 17, 20], lecz na dowolne zasoby sieci. Do identy-fikacji przesyanych danych uywany jest podzbirMIME (Multipurpose Internet Mail Extensions). Proto-koem HTTP mona wic przesya pliki o dowolnymformacie i zawartoci, jeeli tylko serwer bdzie w sta-nie je udostpni [7, 11].
Pobierane mog by dane przechowywane na ser-werze lub wygenerowane dynamicznie na danieuytkownika. Dynamiczne tworzenie witryn moe byrealizowane po stronie serwera, np. skrypty CGI(Common Gateway Interface), interpretery PHP (Per-sonal Home Page), servlety, ASP (Active Server Pages)lub po stronie klienta, np. JavaScript, applety, DHTML(Dynamic HTML), technologia Flash itp. [2, 8, 1517, 20].Zwykle czy si wybrane technologie po stronieserwera z tymi po stronie klienta. Moliwo dyna-micznego generowania zawartoci strony wywietla-nej w przegldarce internetowej moe by wykorzystanaw systemach monitorowania. Aktualizacja zawartociokna przegldarki zgodnie ze stanem monitorowane-go urzdzenia moe by realizowana bez koniecznociodwieania strony przez uytkownika. danie prze-sania aktualnych danych moe by generowane przezskrypt po stronie klienta.
Komunikacja pomidzy przegldark internetowa serwerem WWW odbywa si w modelu klient--serwer. Klient otwiera poczenie, wysya danie doserwera, a serwer przetwarza je, zwraca odpowiedi zazwyczaj zamyka poczenie. Komunikaty przesya-ne przez HTTP skadaj si z dwch elementw: na-gwka (header) i ciaa (body) [7, 11]. danie klientazawarte jest w nagwku HTTP. W odpowiedzi serwerzwraca swj nagwek i, jeeli jest to wymagane, ciaokomunikatu. Na rysunkach 2 i 3 przedstawiono przy-kadow komunikacj pomidzy przegldark inter-netow a serwerem WWW.
Protok HTTP uywa omiu metod (GET, POST,HEAD, PUT, DELETE, OPTIONS, TRACE, CON-NECT) przesyanych w nagwkach i okrelajcychdane akcje [7, 11]. Aplikacja uniwersalnego serweramonitorowania wykorzystuje metod GET, a danezwizane ze sterowaniem przez uytkownika informa-cjami wywietlanymi w oknie przegldarki realizowa-ne jest przez przesyanie parametrw z ukrytych for-mularzy zawartych na stronie.
Rys. 1. Struktura ramki Modbus RTU i Modbus TCP
Uniwersalny serwer do monitorowania urzdze przemysowych za pomoc przegldarki internetowej 17
Protok HTTP jest protokoem bezstanowym, tzn.po zamkniciu poczenia serwer nie przechowujeadnych informacji o poprzednich transakcjach [7, 11].Z tego powodu kade zapytanie traktowane jest przezserwer jako nowe i niemoliwe do powizania z in-formacjami o poprzednio przesanych danych. W celuzapamitania stanw zwizanych z poprzednim po-czeniem najczciej wykorzystuje si mechanizm cia-steczek (cookies). Informacje o ciasteczkach mog byzawarte w nagwkach przesyanych komunikatw.Inn metod jest przesyanie ukrytych parametrwz formularzy zawartych na stronie lub umieszczenieparametrw w adresie URL zapytania. Aplikacja uni-wersalnego serwera monitorowania wykorzystuje cia-
steczka do przesyania informacji o statusie zalogowa-nia uytkownika oraz elementach wybranych przezuytkownika do wywietlenia w oknie przegldarki.Ciasteczka wykorzystywane s take w zapytaniachgenerowanych automatycznie przez skrypty JavaScript[8, 1517] aktualizujce zawarto strony monitoro-wanego urzdzenia.
0$ '&1-2"-34 5 2*
Na rysunku 4 przedstawiono koncepcj systemucznoci.
Rys. 2. Przykadowe zapytanie HTTP klienta
Rys. 3. Fragment przykadowej odpowiedzi HTTP serwera
!"#$%&'($)$'*(+",-./0"
--1 2!11-!32!11-!(456277(458
--19!:! 12;(452(45!->1--.521--.522!!5
>?1
>-=
1+
=
1+:59'
18 M. Hyla
Elementem poredniczcym pomidzy urzdzenia-mi pracujcymi z protokoem Modbus TCP [13]a urzdzeniami wykorzystujcymi przegldark inter-netow jest stworzona w tym celu aplikacja serwerowawsppracujca z baz danych SQL Firebird [1]. Apli-kacja serwerowa pracuje ze staym, globalnym adre-sem IP oraz otwiera dwa porty nasuchujce: jedendo obsugi pocze realizowanych za pomoc proto-kou HTTP, a drugi do komunikacji z urzdzeniamiModbus TCP.
Rol aplikacji jest odczyt danych z urzdze Mod-bus TCP oraz udostpnianie ich klientom w formieakceptowanej przez przegldarki internetowe.
Wsppraca z baz danych pozwala na archiwizo-wanie danych odebranych z urzdze oraz udostp-nianie danych archiwalnych urzdzeniom klienckim.
6$ 4"78'4-34 2%2%4
Aplikacja serwerowa zostaa stworzona dla systemuWindows w postaci pojedynczego pliku wykonywal-nego z moliwoci uruchomienia jako usuga syste-mowa. Jest aplikacj autonomiczn, niewymagajc in-stalacji innych serwerw WWW, takich jak np. Apache,Nginx czy ISS.
Zaoeniem przy opracowywaniu aplikacji byostworzenie uniwersalnego serwera wsppracujcegoz dowolnego typu urzdzeniami Modbus TCP. Pro-tok Modbus TCP [13] nie narzuca powizaniainformacji zawartej w rejestrze z adresem rejestru.
Dopuszcza take rny sposb kodowania wartocizawartych w rejestrach (liczby staoprzecinkowe zeznakiem lub bez znaku, liczby zmiennoprzecinkowe)oraz rozmiar kodowanych liczb (liczby o zakresie szer-szym ni 16 bitw mog by umieszczane w kilku reje-strach). Dodatkowo w ramach jednego urzdzeniamoliwy jest rny sposb kodowania zawartoci po-szczeglnych rejestrw.
Z tego wzgldu konieczne jest udostpnienie mo-liwoci okrelenia zakresu rejestrw i formatu danychdla kadego z wprowadzanych do systemu urzdze.Na rysunku 5 przedstawiono okno aplikacji serwero-wej umoliwiajce konfiguracj rejestru urzdzeniaModbus TCP. Mona wprowadzi adres rejestru, na-zw, symbol i jednostk, typ kodowania danych, in-formacj, czy odczyt rejestru ma by archiwizowanyw bazie danych oraz czy moliwa bdzie edycja zawar-toci rejestru.
Rys. 5. Konfiguracja rejestru urzdzenia Modbus TCP
Rys. 4. Koncepcja systemu cznoci
Uniwersalny serwer do monitorowania urzdze przemysowych za pomoc przegldarki internetowej 19
Rejestry grupowane s w zestawy. Zdefiniowanezestawy rejestrw mona przypisa do urzdze Mod-bus TCP wprowadzanych do systemu. Na rysunku 6przedstawiono przykadowy zestaw rejestrw.
Rys. 6. Definiowanie zestawu rejestrw
Kolejnym etapem jest zdefiniowanie urzdzeModbus TCP polegajce na wprowadzeniu identyfi-katora urzdzenia wykorzystywanego w polu Unit IDprotokou Modbus TCP, przypisanie nazwy urzdze-nia, zestawu rejestrw oraz okrelenia czstotliwociodpytywania urzdzenia przez aplikacj serwerow.
Po nawizaniu przez urzdzenie poczenia z serwe-rem aplikacja serwerowa automatycznie co zadany czaskomunikuje si z urzdzeniem, odczytujc zawartorejestrw zdefiniowanych w przypisanym zestawie, -czc w miar moliwoci grupy rejestrw w pojedyn-cze ramki w celu optymalizacji czasu wymaganego naprzesanie wszystkich danych [9, 10], dekoduje ich war-to zgodnie z wprowadzonym typem oraz rejestrujeodczyt w bazie danych. Umoliwia take zapis warto-ci do rejestrw, dla ktrych ustalono tak moliwo.
Konfiguracja serwera od strony pocze przegldar-ki internetowej wymaga wprowadzenia listy uytkowni-kw, hase dostpu oraz przypisania urzdze, do ktrychdany uytkownik moe uzyska dostp. Na rysunku 7przedstawiono okno konfiguracji listy uytkownikw.
Rys. 7. Okno konfiguracji listy uytkownikw
W obecnej wersji aplikacja serwera generuje stro-ny WWW wedug jednego, wbudowanego szablonu.Umoliwia jednak konfiguracj sposobu wywietlaniawybranych elementw strony. Na rysunku 8 przed-stawiono okno konfiguracji elementw wizualnychstrony WWW generowanej przez serwer oraz formatupliku CSV (Comma-separated values) zawierajcegoarchiwalne dane udostpniane przez serwer.
Rys. 8. Okno konfiguracji elementw strony WWWgenerowanej przez serwer
Po skonfigurowaniu wymaganych opcji aplikacjaserwera nie wymaga reakcji uytkownika i moe byuruchomiona w trybie usugi systemowej.
9$ "%:2;7
20 M. Hyla
Rys. 9. Lista urzdze dostpnych dla zalogowanegouytkownika wygenerowana przez aplikacj serwera
Wybr urzdzenia przez uytkownika powodujewygenerowanie strony z przebiegami pomiarowymizarejestrowanymi przez serwer. Na podstawie danychzawartych w bazie aplikacja serwera tworzy plik gra-ficzny w formacie PNG (Portable Network Graphics)z przebiegami czasowymi dla wybranego dnia i osadzajego URI w treci HTML strony przesyanej do klien-ta [2, 20]. Generowany jest take skrypt JavaScript[8, 1517] realizujcy automatyczn aktualizacj pli-ku PNG wywietlanego w przegldarce internetowejklienta, daty, czasu oraz wartoci chwilowych wielkocipomiarowych podczas ostatniej aktualizacji danych,a take statusu poczenia urzdzenia z serwerem.Operacje te odbywaj si bez koniecznoci podejmo-wania dodatkowych dziaa przez uytkownika. Narysunku 10 przedstawiono przykadowy widok stronymonitorowania pomiarw odczytanych z urzdzenia.
Ikona kalendarza umieszczona w grnej czci stro-ny pozwala na uruchomienie skryptu wywietlajcegokalendarz i umoliwia pobranie z serwera danych dlainnego dnia. Pola wyboru umieszczone pod wykresempozwalaj na uwzgldnienie w generowanym przezserwer pliku PNG wybranych wielkoci pomiarowych.
Ikona dyskietki umieszczona w grnej czci stronypozwala na wysanie do serwera dania pobrania da-nych pomiarowych dla wybranego dnia. Aplikacja serwe-ra na podstawie dania klienta generuje odpowiedniedane w formie pliku SCV i przesya je do klienta. Prze-gldarka internetowa umoliwia zapis pobranych da-nych do pliku na komputerze klienta w celu dalszej ichanalizy z wykorzystaniem powszechnie dostpnychnarzdzi, np. oprogramowania Microsoft Excel.
= 2 55+431&>-8
"&)
Uniwersalny serwer do monitorowania urzdze przemysowych za pomoc przegldarki internetowej 21
Na rysunku 11 przedstawiono ilustracj sposobu -czenia ramek protokou Modbus TCP oraz pomiaruczasu odpowiedzi. W przypadku transmisji osobnychpakietw dla kadej z ramek nastpne zapytanie wysy-ane byo niezwocznie po otrzymaniu odpowiedzi napoprzedni rozkaz. Rejestrowano czas od chwili zaini-cjowania transmisji do chwili odebrania kompletnejodpowiedzi zawierajcej dane wszystkich rejestrw.Sekwencja testowa bya powtarzana co 200 ms. Testyprowadzone byy w ramach sieci skadajcej si zarw-no z urzdze warstwy Ethernet zbudowanej z wyko-rzystaniem przewodw miedzianych, jak i urzdzewarstwy internetowej wykorzystujcej wiatowody.Trasa pakietw wioda przez 11 wzw sieciowychidentyfikowanych programem tracert. Pomiary testo-we wykonano kilkanacie razy w rnych okresachdoby, a czas pojedynczego testu wynosi 5 min. Testo-wanym urzdzeniem Modbus TCP by sterownik prze-mysowy typu STPC-09 firmy ENEL-PC.
Tabela 1
Wyniki testw wydajnociowych
Jak mona zauway na podstawie tabeli 1 redniczas odpowiedzi przy wysyaniu trzech osobnych pa-kietw jest duszy ni trzykrotna warto czasu zmie-rzonego podczas wysyania jednego pakietu zawiera-jcego trzy ramki protokou Modbus TCP. Rnica tawynika ze sposobu odbierania, identyfikowania zapy-tania i zwracania odpowiedzi przez testowane urz-dzenie Modbus. Naley rwnie wzi pod uwag, eobsuga cznoci interfejsu Modbus TCP nie jest
gwnym zadaniem testowanego urzdzenia i prawdo-podobnie realizacja tego zadania nie jest traktowanapriorytetowo.
Na podstawie przeprowadzonych testw monastwierdzi, e idea czenia ramek protokou ModbusTCP we wsplnym pakiecie warstwy Ethernet zwik-sza wydajno systemu w wyniku skrcenia czaswuzyskania odpowiedzi na wysyane rozkazy oraz po-zwala na zmniejszenie natenia ruchu sieciowego.Ma to szczeglne znaczenie w przypadku, gdy aplikacjaserwerowa monitoruje stan wielu urzdze. Niezbd-na jest jednak moliwo odbioru i prawidowej iden-tyfikacji tego typu zapyta w urzdzeniu Modbus TCP.
? "&+*&4182
Celem prac przedstawionych w artykule byosprawdzenie koncepcji oraz wydajnoci uniwersalne-go serwera poredniczcego pomidzy urzdzeniamirealizujcymi transmisj danych z wykorzystaniemprotokou Modbus TCP a przegldark internetow.
Dziki moliwoci konfiguracji w aplikacji ser-wera adresw rejestrw i sposobu kodowania danychniezalenie dla kadego ze zdefiniowanych urzdzeModbus TCP uzyskano uniwersalno systemu. Mo-liwa jest realizacja cznoci i interpretacja danych dladowolnego urzdzenia pracujcego z tym protokoem.Wymagana jest jedynie moliwo zainicjowania po-czenia do serwera przez monitorowane urzdzenie.
Realizowane przez aplikacj automatyczne grupowa-nie rejestrw przesyanych w pojedynczej ramce trans-misyjnej pozwala na ograniczenie iloci przesyanychdanych zwizanych z nagwkami niszych warstw sto-su protokow sieciowych i zwiksza wydajno systemu.
Opracowana niezalena aplikacja serwera ma po-sta pojedynczego pliku wykonywalnego, a generowa-nie stron dla przegldarek internetowych nie wymagainstalacji zewntrznych serwerw WWW.
Rys. 11. Ilustracja sposobu czenia ramek oraz pomiaru czasu odpowiedzi tr
Tryb testu Maksymalny
czas odpowiedzi [ms]
odpowiedzi [ms]
Trzy ramki w osobnych pakietach
132 88,6
Trzy ramki we wsplnym pakiecie
28,4 13,8
22 M. Hyla
Kolejnym etapem prac bdzie wprowadzenie mo-liwoci definiowania komunikatw tekstowych po-wizanych ze stanem wybranych rejestrw. Umoliwito wywietlenie na stronach WWW generowanychprzez serwer sownego opisu stanu pracy monitoro-wanych urzdze.
Trwaj take prace nad wczeniem do systemustarszych urzdze z tradycyjnym protokoem Modbus,nieobsugujcych pocze w sieci IP. Transmisja danychw sieci IP moliwa jest w takim przypadku w wynikuzastosowania sprztowego konwertera RS-232/RS-485 TCP/IP, np. urzdze z serii NPort firmy Moxa.
Motywacj do podjcia tematu byy liczne zapyta-nia z orodkw przemysu dotyczce moliwoci moni-torowania stanu urzdze za pomoc przegldarki in-ternetowej, a dotychczasowe wdroenia potwierdzajprawidowe dziaanie przyjtej koncepcji.
Literatura
[1] Borrie H.: The Firebird Book. A Reference for Database Deve-lopers, Apress 2004.
[2] Castro E.: HTML 4, Helion, Gliwice 2003.[3] Comer D.E.: Sieci komputerowe TCP/IP. Tom 1. Zasady, pro-
tokoy i architektura, WNT, Warszawa 1997.[4] Comer D.E., Stevens D.L.: Sieci komputerowe TCP/IP. Tom 2.
Projektowanie i realizacja protokow, WNT, Warszawa 1997.[5] Comer D.E., Stevens D.L.: Sieci komputerowe TCP/IP. Tom 3.
Programowanie w trybie klientserwer, WNT, Warszawa 1997.[6] Fall K.R., Stevens W.R.: TCP/IP od rodka: protokoy, He-
lion, Gliwice 2013.[7] Gourley D., Totty B., Sayer M.: HTTP: The Definitive Guide,
OReilly Media 2002.
[8] Jakut T.: JavaScript: programowanie zaawansowane, Helion,Gliwice 2006.
[9] Jestratjew A., Kwiecie A.: Performance of HTTP Protocol inNetworked Control Systems, IEEE Transactions on IndustrialInformatics, 2013, 9, 1: 271276.
[10] Joelianto E., Hosana H.: Performance of an industrial datacommunication protocol on Ethernet network, 5th IFIP Inter-national Conference on Wireless and Optical Communica-tions Networks (WOCN 08), Surabaya 2008: 15.
[11] Krishnamurthy B., Rexford J.: Web protocols and practice:HTTP/1.1, networking protocols, caching, and traffic measure-ment, Addison-Wesley Professional, Boston 2001.
[12] MODBUS application protocol specification V1.1b, Modbus-IDA, 2006.
[13] MODBUS Messaging on TCP/IP Implementation GuideV1.0b, Modbus-IDA, 2006.
[14] Modicon MODBUS Protocol Reference Guide, Modicon Inc.,USA 1993.
[15] Radziszewski B.: HTML, JavaScript i Java od podstaw, Wyd.Politechniki witokrzyskiej, Kielce 2002.
[16] Resig J., Ferguson R., Paxton J.: Zaawansowane techniki j-zyka JavaScript, Helion, Gliwice 2016.
[17] Romowicz W.: HTML i JavaScript, Helion, Gliwice 1998.[18] Scrimger R., LaSalle P., Leitzke C., Parihar M., Gupta M.:
TCP/IP: biblia, Helion, Gliwice 2002.[19] Siyan K.S., Parker T.: TCP/IP. Ksiga eksperta, Helion, Gliwi-
ce 2002.[20] Strychalski R.: HTML: tworzenie stron www i programw de-
sktopowych, Nakom, Pozna 2015.
dr in. MARIAN HYLAWydzia ElektrycznyPolitechnika lska
ul. B. Krzywoustego 2, 44-100 [email protected]
mailto: [email protected]
/ColorImageDict > /JPEG2000ColorACSImageDict > /JPEG2000ColorImageDict > /AntiAliasGrayImages false /CropGrayImages true /GrayImageMinResolution 150 /GrayImageMinResolutionPolicy /OK /DownsampleGrayImages true /GrayImageDownsampleType /Bicubic /GrayImageResolution 300 /GrayImageDepth -1 /GrayImageMinDownsampleDepth 2 /GrayImageDownsampleThreshold 1.50000 /EncodeGrayImages true /GrayImageFilter /DCTEncode /AutoFilterGrayImages true /GrayImageAutoFilterStrategy /JPEG /GrayACSImageDict > /GrayImageDict > /JPEG2000GrayACSImageDict > /JPEG2000GrayImageDict > /AntiAliasMonoImages false /CropMonoImages true /MonoImageMinResolution 1200 /MonoImageMinResolutionPolicy /OK /DownsampleMonoImages true /MonoImageDownsampleType /Bicubic /MonoImageResolution 1200 /MonoImageDepth -1 /MonoImageDownsampleThreshold 1.50000 /EncodeMonoImages true /MonoImageFilter /CCITTFaxEncode /MonoImageDict > /AllowPSXObjects false /CheckCompliance [ /None ] /PDFX1aCheck false /PDFX3Check false /PDFXCompliantPDFOnly false /PDFXNoTrimBoxError true /PDFXTrimBoxToMediaBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXSetBleedBoxToMediaBox true /PDFXBleedBoxToTrimBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXOutputIntentProfile (None) /PDFXOutputConditionIdentifier () /PDFXOutputCondition () /PDFXRegistryName () /PDFXTrapped /False
/Description >>> setdistillerparams> setpagedevice