Archestra Graphics: Memanggil Pop-ups/Faceplate


Pada HMI, faceplates banyak digunakan untuk keperluan monitoring dan control. Dalam aplikasi HMI dengan Wonderware InTouch, faceplate bisa dibuat dengan menggunakan window jenis pop-up. Namun, cara ini membuat window di InTouch menjadi banyak karena kita perlu membuat satu window minimal untuk setiap jenis faceplate.

Dengan mengkombinasikan InTouch dengan Archestra, kita bisa memanggil pop-up/faceplate tanpa perlu membuat window pop-up di InTouch. Caranya adalah dengan membuat graphic indicator atau tombol dengan Archestra dan membuat faceplate/pop-up windownya juga di Archestra. Untuk lebih detilnya, seperti ini caranya:

Pertama kita perlu membuat graphic Archestra untuk memanggil faceplate dan juga faceplatenya. Misalkan kita mau membuat analog input indicator yang ketika diklik akan memanggil faceplate analog input.

 Kedua object ini dibuat dengan Archestra Symbol. Untuk bisa memanggil faceplate, pada indicator kita buatkan action script yang dieksekusi ketika indicator diklik:

Dim graphicInfo as aaGraphic.GraphicInfo; 
graphicInfo.Identity = TagName; 
graphicInfo.GraphicName = "P_AI_face"; 
graphicInfo.WindowType = aaGraphic.WindowType.Modeless; 
graphicInfo.WindowRelativePosition = aaGraphic.WindowRelativePosition.WindowXY; 
graphicInfo.WindowLocation = aaGraphic.WindowLocation.RightOf; 

Dim cpValue[6] as aaGraphic.CustomPropertyValuePair;
cpValue[1] = new aaGraphic.CustomPropertyValuePair("PV", "InTouch:"+Tagname ,false);
cpValue[2] = new aaGraphic.CustomPropertyValuePair("EU", EU ,true);
cpValue[3] = new aaGraphic.CustomPropertyValuePair("HHLim", "InTouch:"+TagName+"_HHLim" ,false); 
cpValue[4] = new aaGraphic.CustomPropertyValuePair("HiLim", "InTouch:"+TagName+"_HiLim" ,false); 
cpValue[5] = new aaGraphic.CustomPropertyValuePair("LLLim", "InTouch:"+TagName+"_LLLim" ,false); 
cpValue[6] = new aaGraphic.CustomPropertyValuePair("LoLim", "InTouch:"+TagName+"_LoLim" ,false); 

graphicinfo.CustomProperties = cpValue;
ShowGraphic( graphicInfo);

Baris pertama s/d ketiga adalah mendefine faceplate yang akan dipanggil. graphicInfo.Identity adalah nama instance dari faceplate (bisa berupa tagname dari analog indicator). graphicInfo.GraphicName adalah nama symbol faceplate yang akan dipanggil.

Baris keempat menentukan tipe window. Modeless berarti ketika faceplate muncul, window di belakangnya masih bisa diklik. Modal berarti faceplate harus ditutup terlebih dahulu untuk bisa mengklik window di belakangnya.

Baris kelimat dan keenam menentukan posisi faceplate ketika dibuka. Dalam contoh ini, faceplate akan muncul di sebelah kanan analog indicator.

Baris ketujuh s/d tiga belas adalah mem-passing parameter ke faceplate (men-set custom property si faceplate). Contohnya di sini faceplate membutuhkan parameter value-nya, engineering unit, dan alarm limit.

 

Argumen pertama adalah custom property yang didefine ketika membuat symbol faceplate. Argumen kedua adalah tagname InTouch yang ingin dimasukkan ke custom property tersebut. Lalu argumen yang terakhir adalah tipe passing tagname InTouch tersebut. Jika false, berarti pass by reference (berguna untuk nilai yang tidak konstan selama faceplate dibuka, misalkan nilai process value). Jika true, berarti pass by value (berguna untuk nilai-nilai yang konstan, misalkan engineering units).

Akhirnya, baris terakhir pada script untuk memanggil faceplate adalah berguna untuk memanggil faceplate-nya.

Dengan menggunakan teknik ini, kita jadi tidak perlu membuat window-window untuk faceplate di InTouch. Kita hanya perlu memasukkan analog indicator Archestra ini di process display. Ketika runtime dan analog indicator diklik, script yang di atas akan membuat instance baru untuk menampilkan faceplate.

Referensi:

Invensys Systems, Inc. 19 Sept 2011. Archestra IDE Help.

About Junot D. Ojong

Author is a control systems engineer at a private company in Jakarta.
This entry was posted in teknik and tagged , , , , , , , , , , . Bookmark the permalink.

4 Responses to Archestra Graphics: Memanggil Pop-ups/Faceplate

  1. e.one says:

    Wah Application Server sekarang sudah bisa membuat Instan Window ya? Berdasarkan keyword “new” itu ..:)
    btw rasanya kurang tepat kalau Wonderware InTouch tidak bisa membuat faceplate hanya dengan satu Windows Pop-Up saja. Itu bisa kok :
    Cara 1. di pop-up itu yang ditempatkan hanyalah Indirect tag saja, nah selanjutnya sebelum membuka faceplate, assign dulu indirect2 tag tersebut dengan tag sebenarnya.
    Cara 2. di pop-up itu di assign I/O tag dengan address/item temporary, nah sesaat sebelum membuka pop-up ganti item2 tag tersebut dengan item2 yg sebenarnya dengan bantuan skrip IOSetItem().
    Cuman tentu saja pop-up2 tersebut hanya berlaku untuk satu object saja dalam satu waktu(bergantian), beda dgn yg di App. Server dgn kemampuan membuat Instan Window.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s