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: wonderware1@astor.com.pl
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
3
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;