Archestra Graphics: Symbol Template dengan Satu Tag Assignment


Dalam membuat HMI, pertama kali yang dilakukan adalah membuat symbol template atau  symbol typical. Symbol template atau typical ini maksudnya adalah simbol dasar yang akan kita pakai berkali-kali di HMI. Misalkan kita perlu membuat analog indicator dengan aturan warna-warna alarm dan animasi tertentu. Tentu aturan animasi ini akan sama untuk setiap analog indicator, jadi kita hanya perlu membuat satu template untuk simbol ini dan selebihinya tinggal copy paste plus mengganti tag assignment-nya.

Walaupun sudah dimudahkan dengan membuat symbol template/typical, kita tetap repot karena harus meng-assign tag-tag ke setiap symbol tersebut, dan satu symbol biasanya membutuhkan lebih dari satu tag. Sebagai contohnya analog input indicator. Biasanya setiap analog input memiliki alarm (HiHi, Hi, Lo, dan LoLo). Belum lagi status input fault, berarti satu simbol analog input indicator sudah membutuhkan 6 tag untuk di-assign (value, 4 buah alarm, dan fault status).

Jika kita men-develop HMI dengan Archestra symbol, kita bisa membuat symbol yang hanya perlu di-assign satu tagname saja. Tagname-tagname lainnya (alarm, dll) bisa otomatis di-assign oleh script di symbol tersebut. 

Kita pakai contoh analog input indicator lagi. Misalkan attribute/property symbol ini adalah:

  • Value (nilai analog inputnya)
  • AlarmHiHi (alarm High High)
  • AlarmHi (alarm High)
  • AlarmLo (alarm Low)
  • AlarmLoLo (alarm Low Low)
  • Fault (status input fault)

Jika tag-tag tersebut harus kita assign manual (ketik tag-nya ke dalam symbol), berarti kita harus memasukkan 6 tag untuk setiap 1 analog input. Kita bisa membuat tag-tag tersebut meng-assign sendiri dengan script di symbol template/typical sehingga kita hanya perlu memasukkan I/O tagname saja ketika menaruh symbol di display. Namun, syaratnya adalah cara penamaan tag-tag tambahan (alarm dan fault) itu haruslah seragam (misalkan jika I/O tagname-nya LT_101, alarm HiHi nya jadi LT_101_HiHi).

Pada symbol archestra, kita menggunakan custom property untuk menganimasikan symbol dengan tag. Dan ternyata, symbol archestra bisa dibuatkan script on show. Jadi, ketika symbol muncul (on show), custom property bisa di-assign secara otomatis dengan script itu. Namun ingat, penamaan tag harus seragam.

Kembali ke contoh analog input indicator tadi, kita tentukan penamaan tag-tag-nya untuk keenam custom properties:

  • Value = tagname (e.g. LT_101)
  • AlarmHiHi = tagname_HiHi (e.g. LT_101_HiHi)
  • AlarmHi = tagname_Hi (e.g. LT_101_Hi)
  • AlarmLo = tagname_Lo (e.g. LT_101_Lo)
  • AlarmLoLo = tagname_LoLo (e.g. LT_101_LoLo)
  • Fault = tagname_Fault (e.g. LT_101_Fault)

Lalu pada script on show, kita assign custom properties tersebut dengan fungsi SetCustomPropertyValue().

SetCustomPropertyValue("Value", "InTouch:"+Tagname, FALSE);
SetCustomPropertyValue("AlarmHiHi", "InTouch:"+Tagname+"_HiHi", FALSE);
SetCustomPropertyValue("AlarmHi", "InTouch:"+Tagname+"_Hi", FALSE);
SetCustomPropertyValue("AlarmLo", "InTouch:"+Tagname+"_Lo", FALSE);
SetCustomPropertyValue("AlarmLoLo", "InTouch:"+Tagname+"_LoLo", FALSE);
SetCustomPropertyValue("Fault", "InTouch:"+Tagname+"_Fault", FALSE);

Custom property yang harus kita define di symbol adalah:

  • Tagname [string][public]
  • Value [float][private]
  • AlarmHiHi [boolean][private]
  • AlarmHi [boolean][private]
  • AlarmLo [boolean][private]
  • AlarmLoLo [boolean][private]
  • Fault [boolean][private]

Semua properties dibuat private, hanya tagname yang dibuat public karena hanya inilah yang kita assign di InTouch. Sisanya diassign otomatis dengan script on show tadi di dalam symbol.

Ketika kita menaruh symbol ini di InTouch, kita hanya perlu menuliskan tagname I/O di symbol ini deh, lalalalala…. Ohya, teknik ini bisa juga untuk meng-assign tag dengan dotfield-nya lho.

About Junot D. Ojong

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

4 Responses to Archestra Graphics: Symbol Template dengan Satu Tag Assignment

  1. e.one says:

    salam kenal mas …
    Saya kurang setuju kalau Wonderware InTouch tidak punya cara untuk membuat assign suatu template dengan mudah. Kombinasi Indirecttag dan supertag itu bisa membuat assign tagname komplek dengan hanya sebaris skrip ini : “itagAnalog.name = TI500.name”. Itu akan menggantikan semua tag itagAnalog\PVH, itagAnalog\PVL ….. itagAnalog\HYS dgn TI500\PVH, TI500\PVL …TI500\HYS

  2. e.one says:

    yang namanya faceplate itu kan hanya dipakainya pas perlu saja. sedangkan dalam kondisi normal hanya tag Value dan Fault saja yg dipakai, sedangkan _HiHi, Hi, Lo & LoLo itu kan tidak dipakai. Nah dari 6 I/O tag hanya 2 saja yg benar2 diperlukan, itu baru 1 object analog bagaimana kalau 100? apakah ini bukannya pemborosan mengingat Application Server dijual berdasarkan jumlah I/O Tag. Menurut hemat saya, akan lebih baik bila ditinjau dari sudut pandang ini, untuk masing2 object hanya dibuat tag Value dan Fault saja, nah untuk facaplate dibuat saja object AnalogFaceplate yg scr default di-assign ke I/O tag temporary. Pada saat memanggil object tag tertentu baru object AnalogFaceplate diisikan dgn address2 sebenarnya yg langsung diambil ke object DAServer. Dengan demikian I/O tag yg ter-count hanyalah 2 untuk masing2 object dan hanya memboroskan sejumlah I/O tag untuk satu object AnalogFaceplate.
    Atau mungkin diversi terbaru ada cara yg lebih baik, karena teknik ini saya lakukan dulu semasa Application Server masih bernama IAS (IAS 2.1 waktu itu, yg setau saya belum ada konsep indirect object)

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