Obsługa zmiany czasu na zimowy/letni w InTouch`u 7.1
Transkrypt
Obsługa zmiany czasu na zimowy/letni w InTouch`u 7.1
INFORMATOR TECHNICZNY WONDERWARE Informator Techniczny nr 45 23-11-1999 Obsługa zmiany czasu na zimowy/letni w InTouch’u 7.1 Podstawą prawidłowego działania wszystkich zagadnień związanych z obsługą daty i czasu w programie Wonderware InTouch 7.0/7.1 jest spójność ustawienia strefy czasowej w systemie Windows z ustawieniem zmiennej środowiskowej o nazwie TZ (Time Zone), która jest wykorzystywana przez InTouch’a a takŜe ustawieniami czasu w biosie komputera. W niektórych komputerach np. HP Vectra naleŜy czasami ustawić parametr Standard Application aby InTouch prawidłowo odczytywał czas. Ustawianie strefy czasową w systemie Windows • • Uruchomić Panel Sterowania (menu Start/ Ustawienia/ Panel Sterowania). Uruchomić aplet Data/Godzina i wybrać zakładkę Strefa czasowa. KaŜda ze stref czasowych ma określone przesunięcie czasowe względem uniwersalnego czasu Greenwich (Greenwich Mean Time - GMT), które moŜna odczytać przy kaŜdej strefie. W Polsce najczęściej uŜywaną strefą czasową jest strefa Bruksela, Berlin, Berno, Rzym, Sztokholm, Wiedeń. Z punktu widzenia pracy programu InTouch wybór strefy czasowej nie jest istotny o ile tylko jest on spójny z ustawieniem zmiennej TZ (serwis techniczny firmy Wonderware zaleca jednak ustawienie strefy czasowej (GMT) Casablanca, Monrovia ze względu na to, Ŝe czas tej strefy pokrywa się z czasem Greenwich oraz nie ma zmiany czasu letniego na zimowy i odwrotnie). Ustawianie zmiennej środowiskowej TZ • dla systemu Windows 95/98 W pliku autoexec.bat naleŜy dodać linię o treści: SET TZ=GMT<x> ASTOR Sp. z o.o. Dział Oprogramowania Przemysłowego ul. Smoleńsk 29, 31-112 Kraków tel.: 012 428-63-30 fax: 012 428-63-09 e-mail: [email protected] http://www.astor.com.pl gdzie: <x> - oznacza przesunięcie względem czasu GMT strefy czasowej aktualnie ustawionej w systemie Windows, np. dla strefy czasowej (GMT) Casablanca, Monrovia przesunięcie wynosi GMT0, a więc linia dodawana do pliku autoexec.bat powinna wyglądać następująco: SET TZ=GMT0 • dla systemu Windows NT 4.0 Uruchomić Panel Sterowania (menu Start/ Ustawienia/ Panel Sterowania). Uruchomić aplet System i wybrać zakładkę Środowisko. Do listy zmiennych uŜytkownika naleŜy dodać zmienną o nazwie TZ i wartości odpowiadającej przesunięciu czasowemu strefy czasowej aktualnie ustawionej w Windows NT Automatyczna zmiana czasu na letni czy zimowy w systemie Windows powoduje zmianę przesunięcia ustawionej strefy czasowej względem czasu GMT, dla strefy czasowej (GMT) Casablanca, Monrovia system nie dokonuje automatycznie zmiany czasów w związku z tym moŜna to zrobić w najodpowiedniejszym dla procesu momencie z poziomu skryptów InTouch’a. Aby temu zaradzić w aplikacjach wizualizacyjnych Wonderware InTouch zaleca się wykonanie następujących kroków: • Wyłączyć automatyczną zmianę czasu (Panel Sterowania, aplet Data/Czas) • (dla strefy czasowej (GMT) Casablanca, Monrovia to pole jest nieaktywne) W aplikacji InTouch’a utworzyć 2 skrypty warunkowe (Condition Scripts), które będą zmieniać czas z zimowego na letni i z letniego na zimowy. ZałoŜeniem działania skryptów podanych poniŜej są następujące zasady: • czas zmienia się z zimowego na letni w ostatnią niedzielę marca, o godzinie 2 w nocy – zmienia się wtedy czas na godzinę 3. • czas zmienia się z letniego na zimowy w ostatnią niedzielę października, o godzinie 2 w nocy – zmienia się wtedy czas na godzinę 1. • Zmienia się stan dyskretnej flagi pomocniczej (zmienna typu Memory Discrete) o przykładowej nazwie CzasLetni odpowiednio do dokonywanej zmiany czasu Skrypty będą wykorzystywać następujące funkcje skryptowe InTouch’a: • StringFromTime – funkcja standardowo zawarta w InTouch’u konwertująca czas na łańcuch tekstowy (potrzebna do zdeterminowania dnia tygodnia). • ITXCreateDateTime – funkcja pomocnicza, konwertująca czas z postaci osobno podawanych roku, miesiąca, dnia, godziny, minuty, sekundy na czas w postaci liczby sekund jakie upłynęły od 1 stycznia 1970 roku. Funkcja zawarta na jest na krąŜkach CD-ROM Kompleksowego serwisu 2 • technicznego (Comprehensive Support CD) w dziale Free Applications and Add-ons/ Scripts and Script Functions/ ITExtras Script Functions. Funkcja dostępna jest dla wszystkich klientów mających wykupiony Kompleksowy serwis techniczny dla InTouch’a lub FactorySuite. SetDT – funkcja zmieniająca czas komputera. Funkcja jest dostępna darmowo na stronie www firmy Astor: www.astor.com.pl. Pierwszy ze skryptów będzie uruchamiany w ostatnią niedzielę marca, o godzinie 2 w nocy. Warunek wykonania skryptu: Condition: $Month==3 AND $Day>=25 AND $Hour==2 AND CzasLetni==0 Condition Type: On True Treść skryptu: IF StringFromTime( ITXCreateDateTime( $Year, $Month, $Day, $Hour, $Minute, $Second), 5)=="Sunday" THEN SetDT($Year,$Month,$Day,$Hour + 1,$Minute,$Second); CzasLetni=1; ENDIF; Drugi skrypt będzie uruchamiany w ostatnią niedzielę października, o godzinie 2 w nocy. Warunek wykonania skryptu: Condition: $Month==10 AND $Day>=25 AND $Hour==2 AND CzasLetni==1 Condition Type: On True Treść skryptu: IF StringFromTime( ITXCreateDateTime( $Year, $Month, $Day, $Hour, $Minute, $Second), 5)=="Sunday" THEN SetDT($Year,$Month,$Day,$Hour - 1,$Minute,$Second); CzasLetni=0; ENDIF; 3