07 Dec
Print This Post
Date-Time Universal di Intouch – Wonderware

:: Automation :: HMI/Scada :: Wonderware Add comments
icon

Untuk menampilkan informasi tanggal atau waktu, di aplikasi Intouch sebenarnya sudah disediakan tagname-tagname standard. Dalam kondisi tertentu demi kenyamanan khususnya bagi seorang development atau maintenance tidaklah cukup hanya mengandalkan tag-tag standard tersebut. Sebagai contoh dalam kasus saya, awalnya sering sekali dikomplain user atau operator karena beberapa PC mempunyai tampilan date-time yang berbeda. Hal ini wajar karena saya waktu itu masih memakai tag-tag standard dari Intouch untuk menampilkan informasi tanggal dan waktu. Seperti diketahui tag-tag tersebut terutama format tampilannya masih tergantung seting local time masing-masing PC.

Perhatikan tabel dibawah yang berisi semua tagname standard yang memuat informasi tanggal dan waktu:
graphics

Tag nomer 1 dan 2 sudah dalam format string dan dapat langsung digunakan. Tag nomer 3 sampai 5 masih perlu diolah dengan memanfaatkan fungsi StringFromTime agar tampilan sesuai dengan yang diinginkan. Sedangkan sisanya adalah tagname-tagname bagian dari date-time.

Perhatikan dua contoh berikut:
Skrip 1 :

PCTime = $DateString + ” ” + $TimeString;

Skrip 2 :

PCTime = StringFromTime($Date * 86400,1) + ” ” + StringFromTime($Time/1000, 2);

Jika menggunakan seting regional ‘English(United States)’ dengan format default ‘M/d/yyyy’ untuk tanggal dan ‘h:mm:ss tt’ untuk waktu, maka kedua skrip diatas akan menghasilkan tampilan seperti ini:
graphics

Dengan mengganti seting regional ke ‘Indonesian’ yang memakai format ‘dd/MM/yyyy’ untuk tanggal dan ‘H:mm:ss’ untuk waktu, hasilnya adalah :
graphics

Jadi setiap pergantian format date-time dari Control Panel baik yang dilakukan oleh operator, teknisi atau karena kita lupa setting standard yang kita tentukan akan mengakibatkan tampilan tidak sesuai dengan kenginginan. Ini dapat dicegah dengan membuat format sendiri tanggal-waktu dengan memanfaatkan tag-tag standard nomer 6 s/d 12.

Buatlah QuickFunction, isi dengan skrip dibawah :

{**********************************************************************
Script : Convert PC Time to Standart Time
Create : 2007 by e-one
**********************************************************************}
{Local Variable}
DIM Tahun AS MESSAGE;
DIM Bulan AS MESSAGE;
DIM Hari AS MESSAGE;
DIM Jam AS MESSAGE;
DIM Menit AS MESSAGE;
DIM Detik AS MESSAGE;
DIM MDetik AS MESSAGE;

{Convert Date-Time PC}
Tahun = StringFromIntg( $Year, 10 );
Bulan = StringFromIntg( $Month, 10 );

IF $Month < 10 THEN
Bulan = “0″ + Bulan;
ENDIF;

Hari = StringFromIntg( $Day, 10 );
IF $Day < 10 THEN
Hari = “0″ + Hari;
ENDIF;

Jam = StringFromIntg( $Hour, 10 );
IF $Hour < 10 THEN
Jam = “0″ + Jam;
ENDIF;

Menit = StringFromIntg( $Minute, 10 );
IF $Minute < 10 THEN
Menit = “0″ + Menit;
ENDIF;

Detik = StringFromIntg( $Second, 10 );
IF $Second < 10 THEN
Detik = “0″ + Detik;
ENDIF;

MDetik = StringFromIntg( $Msec, 10 );

{Transfer to Standard Time }
PCTime = Hari + “/” + Bulan + “/” + Tahun + ” ” + Jam + “:” +
Menit + “:” + Detik;

Maka hasil yang didapat adalah :
graphics

Perbedaan seting regional atau format date-time sudah tidak lagi berpengaruh terhadap tampilan tanggal dan waktu di dalam aplikasi.

Leave a Reply