Sunday, June 8, 2008

Koneksi Wonderware InTouch ke Database

Database yang disupport:
  • Microsoft SQL Server 2000, 2005, 2008
  • Oracle
  • Access
Database teknologi:

ODBC -> Harus bikin koneksi terlebih dahulu di Control Panel

OLE DB -> Tidak perlu bikin koneksi, cukup menggunakan driver (connection string)

Dua cara untuk connect ke database:

  • Menggunakan Custom Query
  • Menggunakan Bind List
Contoh koneksi ke database Ms SQL Server menggunakan Bindlist:


Bikin Database di MS SQL Server.
Untuk SQL Server 2005, klik SQL Server Management Studio.
Klik kanan di bagian Database, pilih New Database. Jika sudah ada database, bisa langsung ke bikin tabel. Expand database, pilih table, klik kanan, pilih New Table.

Masukkan nama kolom, typenya.

Kolom:
Tanggal
Level
Temp
Pressure


Setelah selesai, close, dan save nama tabel.
Misalkan:

Nama Tabel: table_1

Save tabel.

InTouch
Bikin bindlist di InTouch (via SQL Access Manager)
Contoh:
Nama Bindlist: My_Bindlist
Isinya adalah pemetaan tagname ke kolom di database.
Misalkan:

Tagname.field Collumn Name
Tanggal Tanggal
Level Level
Temperature Temp
Pressure Pressure

Bikin script di Intouch untuk connect ke SQL Database, menggunakan script SQLConnect

Langkah selanjutnya untuk save data dari InTouch ke Database, bisa menggunakan tombol dan di Link ke Action script.
Isi scriptnya:

SQLInsert( ConnectionId, "Table_1", "my_bindlist" );

ConnectionId: Tagname type integer
Table_1: Nama Tabel dimana data akan di save
my_bindlist: bindlist yang tadi kita bikin

Jika terjadi error, bisa cek ke SMC (System Management Console)

Beberapa script yang sering digunakan: SQLSelect(), SQLDelete(), SQLFirst(), SQLNext, SQLLast.

Untuk menampilkan data yang sudah di save ke tabel di InTouch, dibutuhkan add on yang bernama Generic SQL Grid. Software ini diinstall terpisah dari InTouch.
Jika software ini sudah terinstall, bisa diambil pada Wizard -> ActiveX -> WWGenericSQLGrid

Cukup pasang GenericSQLGrid pada window, kemudian bikin satu tombol, Action Script, scriptnya sebagai berikut:

#Grid1.ServerName = "localhost";
#Grid1.DatabaseName = "tes";
#Grid1.UserName = "sa";
#Grid1.Password ="sa";
#Grid1.SQLString = "select * from Table_1";

#Grid1.Connect();

Note: Grid1: Nama SQL Grid