16 Jan
Print This Post
Sulphurising HMI – kisah di balik layar

:: i design Add comments

Sampai saat ini kita telah membahas Fitur Standard, Fitur Andalan serta yang unik dan yang agak berlebihan dari project HMI Sulphurising ini. Itu semua adalah bagian permukaan, yang tampak dari luar aja. Pada bagian ini, kita akan membahas ‘jeroan’ HMI ini.

Recipe, kenapa pakai SQL Server ?
Semua recipe project ini memakai SQL Server sebagai engine-nya. Padahal InTouch sendiri telah menyediakan Recipe Manager yang dibuat dengan flat-file dalam format CSV. Tentunya akan lebih simple dan tidak banyak makan resource jika memakai cara ini. Saya memilih SQL Server dengan mempertimbagkan kekurangan CSV file berikut:

  • CSV file sekuritinya lemah, siapapun bisa membuka dan mengedit file ini. Pernah suatu kejadiaan ada rekan membuka file recipe ini dari komputer lain dan dia lupa memutupnya, praktis si-HMI tidak dapat mengedit isi recipe ini.
  • Dalam kasus multi node, jika file ini disimpan di lokal maka besar kemungkinan masing-masing node memiliki nilai parameter yang berbeda. Bisa juga file ini disimpan di satu komputer lalu dishare, masalahnya kita harus konsisten dengan nama node, nama file yang di share dan tentunya user/pasword komputer harus sama.
  • Dalam kasus data yang relational, dengan CSV file menjadi tidak mudah.

Ditambah lagi sejak InTouch 8.0 alarm kan sudah dianjurkan migrasi ke format AlarmDB yang notabenenya membutuhkan SQL Server, jadi mengapa tidak memanfaatkan SQL Server yang dipakai alarm ini untuk recipe juga?.

Sekarang mari membahas recipe ini, masih ingat fitur-fitur HMI ini yang dibahas sebelumnya ? dibagian mana recipe ini di pakai ? Jawabannya pada hampir semua object ! Step program, analog, PID, trending, valve dan motor. Padahal masing-masing object masih dijejali oleh atribut-atribut yang lumayan komplek. Jadi ruwet dong bikin skrip-nya ? ya lumayan. Apalagi InTouch tidak dipersenjatai dengan “user archive” seperti punya WinCC-nya Siemens, ada juga sih tapi itu kalo kita pakai IAS (Industrial Aplication Server) .. yang ini mahal. Jadi untuk urusan akses ke SQL Server, di InTouch kita harus buat sendiri skrip-skripnya. Coba lihat struktur data yang dipakai untuk recipe project ini:
graphics
Lho kenapa sampai ada stored procedure di SQL itu? memangnya perlu ? Begini, saya sebenarnya lebih memilih skrip-skrip ini dibungkus ke dalam satu ActiveX Control saja sehingga di InTouch tidak dipusingkan urusan dengan akses ke SQL. Masalahnya si tonai partner saya itu protes keras, entar bagaimana kalau ada probem ? ada modif ? kan harus bongkar ActiveX Control-nya dong ! Bener juga sih, padahal kalau dipikir-pikir jika aplikasi sudah stabil si ActiveX Control ini sangat kecil kemungkinan dioprek lagi. Okelah saya kompromi aja, cuman hasilnya lumayan mengejutkan, skrip yang harus dibuat di InTouch jadi banyak dan lumayan panjang.
graphicsNah stored procedure itu membantu agar skrip-skrip dibuat inTouch lebih simple dan lebih mudah memanage-nya.

Pop-up menu tanpa title-bar !
Theme yang digunakan di project ini terinspirasi oleh design iTunes-nya Apple plus sedikit dibumbui pernak-pernik Window Vista. Untuk itu semua pop-up menu yang digunakan haruslah tanpa title bar, sebab jika maksain ada title bar hasilnya bakalan aneh seperti ini:
graphics
Jadi dengan terpaksa title bar itu dipangkas. Nah problemnya jika tanpa title bar, pop-up menu itu menjadi tidak dapat di-drag (geser), padahal fasilitas ini kadang sangat diperlukan. Sebenarnya sederhana saja untuk mengatasi hal ini, andai saja InTouch menyediakan skrip untuk mengetahui posisi kursor. Ternyata tidak ditemukan skrip untuk itu, ya sudah kita kompromi aja, jadinya ActiveX Control yang dipakai untuk mengatasi hal ini. Buat ActiveX Control, tempelkan di Title Bar(agar selalu aktif) dan buat QuickFunction script berikut:
graphics
Di masing-masing pop-up diberi icon, selanjutnya buat action script pada icon tersebut untuk memanggil QuickFunction di atas. Hasilnya adalah Pop-Up menu tanpa title-bar ini:
graphics

Lain-lain
Dalam project ini sudah include dengan fitur redudansi terhadap IO/DA Server dan SQL Server yang merupakan instrument fital. Secara umum project HMI ini semaksimal mungkin memanfaat dua fitur InTouch yang menurut saya adalah fitur terbaik InTouch, yaitu QuickFunctions dan Indirect Tag. QuickFunction semacam procedure/function dalam bahasa pemrograman seperti C, Pascal, VB dll. Sedangkan Indirect Tag kira-kira seperti pointer dalam bahasa C/C++, dengan Indirect Tag mudah sekali kita berganti-ganti object untuk tampilan(Pop-Up) yang sama.

Yang masih perlu dikembangkan
Umumnya fitur-fitur yang masih perlu dikembangkan adalah untuk kepentingan maintenance saja seperti:

  • Fasitas untuk Restore dan Backup database saat runtime.
  • Program untuk membuat tag dalam format CSV dan item database otomatis, ini berguna jika ada penambahan object baru yang selama ini masih di-create manual ke file CSV dan Database.

Sayangnya karena sangat sibuk dua fitur diatas belum sempat didevelop.

4 Responses to “Sulphurising HMI – kisah di balik layar”

  1. fathoni says:

    pak iwan, request donk IAS SPV dibahas, biar tau apa dulu masalahya, jgn yg baek2 aja dibahas, yg gagal juga hehehehe

  2. e.one says:

    Sabar ton, masih ngumpulin tenaga dan bahan. Membahas ini tidak simple .. :)

  3. Juni says:

    setelah membaca ini saya jadi kagum sekaligus pusing yah ….
    kagum lihat faceplatenya yang keren dan
    pusing lihat scriptnya …. udah tingkat tinggi …. :)

    moga2 saya masih bisa ngikutin … :D

  4. e.one says:

    ah Mas Jun pusing karena dah lama ngak liat layar monitor yg gambarnya InTouch … di monitor mas Jun ini gambar $ melulu ..:)

Leave a Reply