25 Sep
Print This Post
Supertag + Indirect Tag = OOP

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

Di artikel supertag kita telah belajar struktur dan penggunaan tagname-tagname yang digabungkan menjadi supertag. Kali ini toekang akan memberikan contoh program yang sedikit OOP dengan menggabungkan dua fitur InTouch yaitu Supertag dan Indirect Tag.

Di InTouch sendiri sebenarnnya ngak ada konsep programing yang benar-benar OOP. Kalau teman-teman ngotot pingin ber-OOP di Wonderware, ada baiknya migrasi saja ke IAS/System Platform. InTouch sendiri tetap pada prinsipnya ..kesederhanaan, tapi walau sederhana bukan berarti tidak bisa menangani yang sedikit komplek.

OK, ngak perlu banyak cincong, langsung saja ke aplikasi nyata !
Seandainya kita punya 3 buah motor/drive M101, M102, M103 dengan variabel yang disediakan adalah Current(PV), Torque(TQ), Run Feedback(Run), Overload(OL), Start Command(Start) dan Stop Command(Stop). Ada request juga agar start/stop motor bisa dilakukan di HMI. Apa yang musti kita lakukan ?

Pertama soal layout di HMI, agar simple di main screen gambarkan object motor plus nilai Current dan Torsi-nya saja, sedang semua command bisa kita buat satu dan cukup satu saja faceplate(pop-up menu) yang bisa mewakili command ke-tiga motor tadi. Kira-kira seperti gambar dibawah ini :
graphics

Kedua masalah tagname, tentu saja sesuai judul kita buat versi supertag yaitu : M101\OL, M101\Start, M101\Stop, M101\Run dengan tipe discrete dan M101\PV dan M101\TQ dengan tipe real. Buat juga tagname-tagname untuk motor M102 dan M103 dengan pola yang sama. Kemudian untuk tagname yang dipakai di faceplate buat indirect tag yang mewakili properti-properti motor tadi : indMotor\OL, indMotor\Start, indMotor\Stop, indMotor\Run dengan tipe Indirect Discrete dan indMotor\PV, indMotor\TQ dengan tipe Indirect Analog.

Ketiga buat grafik HMI dengan layout seperti gambar diatas plus satu buah faceplate. Buat link-link untuk masing-masing motor (ngak perlu dikasih tau kan gimana caranya, dah pada pinter semua kok !).
Khusus untuk faceplate link-link-nya menggunakan indirect tagname ya !

Nah tiba pada bagian yang paling krusial :
Yaitu bagaimana caranya agar pada saat motor M101 di klik, tampil faceplate dimana semua aspek Motor 101 yang ditampilkan. Caranya mudah saja, bikin ‘action script’ seperti ini :

Begini ceritanya skrip diatas : mula-mula ganti semua indirect tag dengan tagname-tagname motor M101 kemudian buka faceplate. Maka semua yang ada di-faceplate akan diarahkan ke motor M101. Mudah bukan, dengan cara yang sama buat juga untuk motor M102 dan M103.

Sebenarnya karena baik riil tag (M101, M102 dan M103) dan Indirect Tag (indMotor) sama-sama bertipe supertag maka skrip diatas bisa disederhanakan menjadi :

Gimana keren ngak ?

Keren keren … jadi ngak perlu nulis semuanya ya? cukup tulis parent-nya saja !

Yup betul sekali, dengan begini si supertag akan mempunyai makna lebih daripada sekadar sebuah genk(baca sekumpulan) tagname. Dan kita lebih mudah menerjemahkan maunya si-skrip yaitu : ‘sebelum buka faceplate ganti dulu objectnya dengan motor M101′ !

Sampel project dalam artikel ini dapat didownload di sini :
1. HMI project (InTouch ver 9.5) di sini.

2 Responses to “Supertag + Indirect Tag = OOP”

  1. artha says:

    Mantap banget, simple jadinya. Makasih pencerahannya.
    Berguna banget.

  2. grandys says:

    Faceplatenya itu bisa buka bersamaan atau cuma satu-satu?
    ijinkan pemula belajar disini ya pak,terima kasih..

Leave a Reply