Thursday, May 27, 2010

HMI Report

HMI Report adalah software untuk design dan bikin report dimana user bisa mengambil data dari Wonderware InTouch, Historian, atau sumber lain dengan mudah.

Contoh Report:


Keuntungan HMI Report:
  • Waktu pembuatan report lebih cepat (drag and drop, template)
  • Integrasi dengan Historian, InTouch lebih mudah
  • Publish report ke Web Portal
Konektivitas:
  • Driver untuk InTouch dan Historian
  • Driver untuk Protocol ODBC, OLE DB, OPC, dan HMI vendor lain
Report:
  • Dalam bentuk PDF, Excel, Email
  • Reports berdasarkan Event (mis: Batch Complete), Schedule(mis: per Shift), dan On Demand
  • Suport Security untuk menentukan siapa saja yang bisa mengakses report, modifikasi, dan generate

Modul HMI Report:


  • HMI Reports Studio: Report Design & Development
  • HMI Reports Runtime: Generate & Distribute Report
  • HMI Reports Generator: Scheduling & Create Ad Hoc report
  • Web Portal: Share reports over intranet or internet

Diagram:

Wednesday, May 26, 2010

Basic Wonderware InTouch (HMI)

HMI:


Penjelasan HMI dapat di sederhanakan seperti gambar diatas:
1. Mata --> Visual
2. Tangan --> Control
3. Device --> PLC, DCS, Controller

Visual + Control ----> Devices


Penjelasan detail bisa dilihat pada gambar dibawah ini:


Contoh Wonderware InTouch HMI Screen:


Dari screen diatas, kita bisa melihat Proses yang terjadi di Plant (Visual), melakukan perubahan parameter (Control), melihat Trend (Nilai yang ditampilkan dalam bentuk grafik), dan Alarm yang terjadi di Plant.


General Diagram koneksi Wonderware InTouch ke Device:


Kabel yang digunakan, sesuai dengan device yang dihubungkan. Yang umum dipakai: Serial (RS 232, Ethernet, Special Bus).

Gambar di bawah adalah contoh koneksi yang menggunakan Special Bus (Modbus +, Profibus, DH+). Yang perlu diperhatikan, jika menggunakan Special Bus, di PC harus ada Card tambahan.


Koneksi beberapa PLC menggunakan Ethernet (PLC harus memiliki ethernet module)


Kita tahu, ada banyak sekali merk PLC, antara lain:


Dimana masing-masing PLC memiliki protocol berbeda:


Pertanyaannya: Bagaimana menghubungkan PLC dengan berbagai merk, ke Wonderware InTouch? Padahal masing - masing PLC punya protocol yang berbeda.


Sebelum menjawab pertanyaan diatas, kita perlu tahu terlebih dahulu, protocol apa yang digunakan oleh Wonderware InTouch:


Kalau digambarkan, secara diagram:


Karena beda protocol, antara Wonderware InTouch dan Device, belum bisa berkomunikasi.
Bagaimana solusinya?
Koneksi antara Wonderware dan Device bisa dianalogikan seperti koneksi PC dan Printer:


Supaya PC bisa mengenali printer, diperlukan "Driver". Demikian pula pada koneksi Wonderware InTouch dan Device. Supaya bisa berkomunikasi, mesti diinstall "Driver" yang sesuai. Driver inilah yang biasa dikenal sebagai IO Server / DA Server / OPC Server.


Tidak semua OPC Server support protocol DDE / Suitelink. Untuk OPC Server yang tidak support DDE / Suitelink, solusinya menggunakan OPC Link / FS Gateway.





Note:

IO Server, DA Server, OPC Server, FS Gateway, OPC Link: Software
DA Server merupakan versi terbaru dari IO Server, demikian pula FS Gateway, merupakan versi terbaru dari OPC Link.

IP Camera

Kita dapat mengakses IP Camera di PC dengan bantuan Web browser.
Caranya, cukup mengetik alamat IP Camera di browser. Misalkan IP Camera kita memiliki address 192.168.0.1, ketikkan 192.168.0.1 pada browser.

Pertanyaannya, bagaimana cara mengakses IP Camera di Wonderware InTouch?
Kita butuh bantuan ActiveX Web browser. Defaultnya, ActiveX ini belum terinstall di InTouch.
Nama ActiveX untuk Web browser: Microsoft Web Browser

Untuk menginstall ActiveX di InTouch, masuk ke Special - Configure - Wizard/ActiveX installation. Pilih tab ActiveX Control Installation, cari Microsoft Web Browser, klik install.


Microsoft Web Browser akan masuk ke list Installed ActiveX Control.



Setelah terinstall, langkah berikutnya adalah cara penggunaan Web Browser.

1. Pasang Web browser pada window InTouch, masuk ke Wizard, pilih Exporer.



2. Pasang script pada Windows Script - On Show, dengan cara klik Insert - ActiveX - Explorer1 - Navigate. Ganti bagian dalam Navigate dengan IP Address Kamera :)

Monday, May 24, 2010

Recipe Manager

Recipe Manager:
  • Komponen dari InTouch yang berfungsi membaca Data Recipe (csv).
  • Digunakan untuk load setpoint secara otomatis.
Contoh kasus:

Misalkan pada pabrik Coklat, ada dua produk: Light Chocolate, Dark Chocolate.
Bahan yg digunakan adalah campuran dari Chocolate, Sugar, dan Water.

Resep campuran untuk Dark Chocolate Bar:
Chocolate: 3000
Sugar: 2750
Water: 2000

Resep campuran untuk Light Chocolate Bar:
Chocolate: 2000
Sugar: 3250
Water: 2000

Untuk mengisi nilai setpoint di InTouch secara otomatis, kita bisa menggunakan Recipe Manager.

Jalankan Recipe Manager:
Start Program - Wonderware - InTouch - Recipe Manager.

Cek gambar di bawah untuk design recipe secara umum:



Untuk bikin recipe baru, masuk ke File - New.
Yang pertama kita lakukan adalah masuk ke Template Definition.
Masukkan nama bahan ke kolom item name, dan tipenya ke kolom item type.



Berikutnya adalah Recipe Definition. Masukkan resep untuk Light dan Dark Chocolate sesuai dengan campuran resep yang sudah didefinisikan.



Setelah selesai, masuk ke Unit Definition. Fungsi dari Unit Definition adalah menghubungkan proses parameter yang sudah kita bikin di template definition, dengan tag di InTouch.
Cek gambar dibawah, proses menggunakan 2 buah Mixer, Mixer_1 dan Mixer_2. Masing - masing Mixer memiliki tag sendiri - sendiri.

InTouch Tag untuk Mixer_1 misalkan:
Mixer_1_Chocolate_Amount
Mixer_1_Milk_Amount
Mixer_1_Water_Amount

InTouch Tag untuk Mixer_2 misalkan:
Mixer_2_Chocolate_Amount
Mixer_2_Milk_Amount
Mixer_2_Water_Amount


Langkah terakhir, Save Recipe :)

Bagaimana cara menggunakan Recipe di InTouch?
Pilih unit yang akan dipakai (Mixer) menggunakan script RecipeSelectUnit()
Contoh script:

RecipeSelectUnit( "C:\Chocolate.csv", UnitName, 131 );
UnitName: Message tag untuk menyimpan nama Unit yang sudah dipilih.


Panggil recipe dengan script RecipeSelectRecipe()
Contoh script:

RecipeSelectRecipe( "C:\Chocolate.csv", RecipeName, 131 );
RecipeName: Message tag untuk menyimpan nama Recipe yang dipilih. Lihat gambar dibawah, misalkan kita klik Dark Chocolate Bar, maka tagname RecipeName akan berisi Dark Chocolate Bar.


Load recipe menggunakan script RecipeLoad(), secara otomatis, nilai setpoint akan didownload ke InTouch tag yang sudah ditentukan.

Contoh Connection String

Ke MS Access menggunakan OLEDB
SQLConnect("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;User Id=admin;Password=;”);

Ke MSSQL Server menggunakan OLEDB
SQLConnect("Provider=SQLOLEDB.1;User ID=UserIDStr; Password=PasswordStr;Initial Catalog=DatabaseName;Data Source=ServerName;" );

Ke Oracle menggunakan Oracle OLEDB
SQLConnect(ConnectionId, "Provider=MSDAORA; Data Source=OracleServer; User ID=SCOTT; Password=TIGER;");

Ke MySQL menggunakan ODBC
SQLConnect(ConnectionId,“DSN=MySQLDB;DB=Sample;User ID=root;Password=root123");

Friday, May 7, 2010

Save Data ke CSV / TXT

Untuk save data dari InTouch ke CSV / TXT, bisa menggunakan script filewritemessage.

Syntax
[result = ] FileWriteMessage (filename, offset, messagetag, linefeed)

Parameters
filename:
Name of the file to write the data to. A literal string value, a message tagname, or a string expression.

offset:
Location (in bytes) in the file to start writing to. Set it to -1 to write data to the end of the file (append). A literal integer value, integer tagname, or integer expression.

messagetag:
Message tagname that contains the data to be written to the file.

linefeed:
Specifies whether to write a line feed (LF) character after writing the data to the file. Set to 1 to write a line feed character; otherwise, set it to 0. A literal Boolean value, discrete tagname, or Boolean expression.

Example(s)
This script writes the value of a message tagname MsgTag to the end of the file c:\Data\File.txt.

FileWriteMessage("c:\Data\File.txt",-1,MsgTag,1);


Yang perlu diperhatikan, script ini hanya bisa save data dalam bentuk message.
Pertanyaannya, bagaimana save data non message, misalkan integer, real?

Bisa menggunakan konversi, data integer / real kita konversi terlebih dahulu ke string dengan menggunakan script.

Script untuk konversi dari integer ke string:

Syntax
result = StringFromIntg (number, base)

Parameters
number:
A literal integer value, integer tagname, or integer expression.

base:
The base of the conversion. This is used for converting the value to a different base, such as binary (2), decimal (10) or hexadecimal (16). A literal integer value, integer tagname, or integer expression.

Example(s)
StringFromIntg(26,10) returns “26” (decimal).


Contoh kasus:
Kita ingin save nilai sebuah tagname integer ke csv file, misalkan nama tagname: level

Langkah yang dilakukan secara umum:
  • konversi tagname integer ke string
  • save nilai tagname ke file
script:
{bikin variabel lokal untuk menyimpan sementara nilai hasil konversi}
Dim temp_level as message;

{konversi dari integer ke string, hasilnya disimpan ke variabel lokal temp_level}
temp_level = stringfrominteger(level,10);

{simpan ke file.csv}
FileWriteMessage("c:\report.csv",-1,temp_level,1);

Troubleshooting Tips

Tips:
  • Before installing the Software: Check Hardware and Software requirements (readme.html)
  • Check any Patch / Service Pack
  • Using System Management Console (SMC) for error checking - Logger
  • Using Wonderware Knowledge Base CD - Tutorial, FAQ
  • Google is your best Friend :) - Search any error using Google
  • Contact Technical Support

Thursday, May 6, 2010

Alarm DB Logger Manager

Untuk menyimpan data alarm ke database, bisa menggunakan Alarm DB Logger Manager.
Software yang dibutuhkan:

- Wonderware InTouch
- SQL Server / MSDE

Note: MSDE: Versi free dari SQL Server.

Cara konfigurasinya:

Jalankan aplikasi Alarm DB Logger Manager: Start - All Program - Wonderware - InTouch - Alarm DB Logger Manager.


Berikutnya adalah konfigurasi Alarm DB Logger Manager, klik Settings.


Field yang harus diisi:
Server Name: Nama komputer dimana SQL Server diinstall.
Database: Nama Alarm Database, defaultnya adalah WWALMDB. Bisa kita ganti dengan nama yang lain.
User Name: User SQL Server.
Password: Password SQL Server.

Setelah diisi, klik Create untuk bikin database di SQL Server.


Database sudah berhasil dibikin.

Klik Test Connection untuk memastikan koneksi antara Alarm DB Logger Manager ke SQL Server sudah OK.


Lanjutkan dengan klik tombol Next.
Kita akan masuk ke Query Selection. Disini kita bisa memilih alarm priority yang akan disimpan ke database, dan Alarm Query (group).
Klik Next setelah selesai konfigurasi.


Advanced Setting:
Pilih Running Logger as: Windows Service supaya alarm logger otomatis running ketika Windows Start.
Klik finish.


Langkah terakhir, jalankan Alarm DB Logger Manager dengan cara klik Start :)


Untuk menampilkan Alarm dari database, kita perlu menggunakan AlmDBViewCtrl.
Bisa diambil dari Wizard - ActiveX Controls.


Cara konfigurasinya, klik dua kali AlmDBViewCtrl.


Kemudian pilih tab Database.
Setting sesuai dengan database yang sudah kita konfigurasi:

Server Name: Local
Database Name: WWalmdb
User: sa
Password: xxxx
AutoConnect: Yes

Untuk memastikan apakah konfigurasi yang kita masukkan sudah benar, klik Test Connection.



Untuk refresh display Alarm, bisa dengan cara klik kanan pada display, pilih refresh.
Atau bisa juga menggunakan script pada tombol.
Caranya, bikin tombol, klik dua kali, masuk ke action.
Kemudian pilih Insert - ActiveX.


Klik ControlName: AlmDbViewCtrl1 - Refresh()


Jangan lupa tambahkan titik koma (;) pada akhir script.


Error ketika menjalankan aplikasi: Access Denied

Jika kita ingin menjalankan aplikasi InTouch, tetapi ketika masuk ke Windowmaker / Viewer keluar error sebagai berikut:


Hal ini terjadi karena folder aplikasi InTouch masih dalam mode READ ONLY.
Browse folder aplikasi InTouch, klik kanan, uncheck read only :)