Showing posts with label InTouch. Show all posts
Showing posts with label InTouch. Show all posts

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 :)

Thursday, March 12, 2009

Menampilkan Database Access ke SQL GRID

Untuk menampilkan data base Access yg di password ke SQL Grid, dapat menggunakan perintah sebagai berikut:

#Grid1.SQLString ="Select * from NamaTabel";
#Grid1.ConnectWithString( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Path ke file MDB;Jet OLEDB:Database Password=Password;");

:)

Untuk tipe connection strings yg laen, bisa cek juga ke http://www.connectionstrings.com/access

Thursday, October 9, 2008

OLE DB Connection

SQLConnect( ConnectionId,"Provider=SQLOLEDB.1;Password='sa';Persist Security Info=True;User ID='sa';Initial Catalog='coba';Data Source=trimaxindo");

Initial Catalog: Nama Database
Data Source: Nama PC dimana SQL Server diinstall

Thursday, September 25, 2008

Insert Data to Microsoft Access (ODBC)

Langkah2 untuk tulis data ke MS Access:

1. Bikin database, tabel di MS Access.

2. Bikin DSN untuk database yang sudah kita bikin di langkah 1. Misalkan, nama DSN = oky

3. Di InTouch, pakai script SQLConnect untuk connect ke Access database.

DIM error AS INTEGER;
error = SQLConnect( ConnectionId, "DSN=oky" );
error_con = SQLErrorMsg( error );

4. Bikin Bind List di InTouch.
Masuk ke SQL Access Manager, create new Bindlist.
Bindlist ini fungsinya untuk memetakan Tagname ke kolom pada Database.

Yg perlu diingat, pada kolom harus menggunakan [], misalkan nama kolomnya Level, di bindlist harus ditulis [Level]

5. Bikin script untuk insert data ke database:

DIM error AS INTEGER;

error = SQLInsert( ConnectionId, "Tes", "Level" );

error_ins = SQLErrorMsg( error );

*Beta version

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

Tuesday, January 22, 2008

Dongle / Hardware Key rusak?

Jika InTouch dijalankan, dan tidak mendeteksi dongle, kemungkinan donglenya rusak.

Bisa di cek di SMC (System Management Console). Jika ada error message spt dibawah ini, berarti memang donglenya rusak.


3917 1/15/2008 10:03:21 AM 3108 2256 Info intouch WWLicRequest InTouch Invalid host (-9,57


Ada kasus juga, Sentinel Driver terlambat "load".

Ini bisa diatasi dengan mengubah setting startup untuk Sentinel Driver.
Caranya masuk ke Device Manager -> View -> Show Hidden Devices -> Non-Plug and Play Drivers -> Sentinel -> Driver -> Rubah Bagian Startup dari Automatic ke Boot

Thursday, September 6, 2007

InTouch 9.0 Patch 03

Untuk download Patch 03, klik link dibawah:

Klik Disini

Thursday, August 30, 2007

Heartbeat antara 2 InTouch

Contoh kasus:
Misalkan ada 2 InTouch, sebut saja PC 1 dan PC 2. PC 1 sebagai client, PC 2 merupakan server.
Kita ingin memonitor dari PC 1, apakah koneksi antara InTouch PC 1 dan PC 2 dalam keadan online.

Langkah-langkah:
  1. Pada PC 1 (client), bikin tag dengan nama counter (memory integer) dan set initial valuenya = 0.
  2. Masih pada PC 1, bikin tag dengan name heartbeat dan link ke:
    1. Application name: \\node2\view -> node2 = nama pc 2
    2. Topic: tagname
    3. Item: $second
  3. Bikin datachange script untuk heartbeat. Pada script, set nilai counter = 0. counter = 0;
  4. Bikin datachange script untuk $second. Pada script, increment nilai counter. counter = counter + 1;
Ketika komunikasi antara PC 1 dan PC 2 putus, nilai tag heartbeat tidak berubah (karena nilainya mengambil dari PC 2), maka script datachange heartbeat tidak akan jalan. Nilai tag counter tidak akan tereset, dan akan terus naik karena increment pada script "$second".

Kemudian, bikin animasi, bisa pakai rectangle, atau light dari wizard. Pada expression, masukkan counter >= 10. Pada fill color, True = merah, False = Hijau.
Maka pada saat koneksi putus ( counter >10 ), akan berwarna merah.


*from wonderware KBCD


Selain itu, bisa juga menggunakan IOStatus.
Jika kita menggunakan remote reference pada PC 1, maka pasti sudah ada access name untuk remote tag. Misalkan aja namanya "remote".
Jika belum ada, bikin access name untuk memantau tag secara remote, tanpa bikin tag di client.
Setingannya:
Name: remote
Node Name: (nama PC 2 - server)
Application Name: view
Topic Name: tagname
Protocol: Suitelink

Setelah itu, pada PC 1 (client) kita bikin access name baru dengan nama iostatus.
Setingannya:
Name: iostatus
Node name: (nama PC 1 - client, karena lokal, bisa saja tidak diisi)
Application name: view
Topic Name: iostatus
protocol: DDE

Kemudian, bikin value display - discrete. Pada expression, isi dengan iostatus:remote.
Ini artinya, bahwa access name iostatus memonitor koneksi remote, apakah connect atau tidak. Jika connect, maka nilainya satu. Jika tidak, nilainya nol.


Tuesday, August 28, 2007

InTouch 10 Preview

Ada 3 mode pada InTouch 10:

* Stand Alone (Arsitektur mirip dengan InTouch v9.x)
* Managed (Menggunakan ArchestrA Graphics, dan didevelop via IDE)
* Unmanaged

Fitur-fitur baru pada Windowmaker InTouch 10:

* New View / Organization Methods
  • Project View
  • Hierarchical Window Organization


* XML Application import

* Alarming updates
  • Alarm Viewer Control
    • New Property and Event
  • Runtime Language Switching
    • Alarm Comment Language Switching
    • New Property on Alarm Viewer
* Multi Monitor Enhancements

* Other Technology and Performance update
  • Vista Support
  • Bussines Edition Recommended
  • Terminal Server Capability
* Default Font changed to Tahoma

* ArchestrA Graphics
Vector based graphic, not bitmap based like current version.
ArchestrA graphics will:
  • Have resolution independent, means you can convert it to any resolution, and still looks nice
  • Have built in communication status, include quality issues, communication problem, security issues
  • Have easy editing not like "cell" or "symbol" graphic for current InTouch , with ArchestrA graphics you can edit the graphic without break it down.
  • Support custom properties.
  • Have built in intelligent animation, like zooming the object when mouse over it.

Thursday, August 23, 2007

OCX - ActiveX

Apa itu OCX? OCX (Ole Control Extension) adalah independent program modul, yang dapat diakses oleh program lain dalam Windows. Extensionnya adalah .OCX.
OCX sekarang digantikan oleh ActiveX control, namun ActiveX container (program yang bisa "ditempeli" oleh ActiveX) masih support OCX, dalam kata lain, backward compatible. Contoh dari ActiveX container misalnya Internet Explorer, InTouch.

Bagaimana InTouch mengenali ActiveX / OCX?
Syaratnya, ActiveX tersebut harus dikenali oleh Windows (di register dulu).
Cara register OCX:

Masuk ke Run pada Start Menu, ketik:

regsvr32 (path atau nama file ocx)

misal : regsvr32 c:\calendar.ocx

Setelah diregister pada Windows, masuk ke InTouch untuk instalasi ActiveX.
Di windowmaker, pilih tab Special > Configure > Wizard/ActiveX Installation
Pilih Tab ActiveX Control Installation. Jika ActiveX sudah di register di Windows, maka akan muncul di bagian Available ActiveX Control. Pilih ActiveX tersebut, klik Install.

Nanti ActiveX tersebut akan muncul di bagian Installed ActiveX Control, dan kita dapat menggunakannya via Wizard.

Beda InTouch dan InTouch View

Perbedaan utama, InTouch View hanya bisa berkomunikasi dengan Industrial Application Server (IAS).
InTouch View didesign hanya sebagai user interface. Semua script, tag, alarm, dilakukan di IAS.
Kita tidak bisa membuat access name lain di InTouch View, jadi kita tidak akan bisa connect ke data source yang lain.

Tuesday, August 21, 2007

Tidak bisa edit aplikasi InTouch

Jika kita mau melakukan edit aplikasi InTouch, tetapi tidak bisa dan keluar error message:

Nodename is currently editing the application

Solusinya:
Masuk ke folder aplikasi InTouch yang akan diedit tersebut. Cari dan hapus file appedit.lok