Dalam buku saya tentang dasar pemrograman Wonderware InTouch, saya sempat menuliskan tentang koneksi antara InTouch dengan MS Access Database beserta pemrogramannya. Bagaimana jika program tersebut dihubungkan dengan MS SQL Server Database?
Secara umum, untuk tersambung dengan Database, berikut ini langkah – langkah umum yang harus kita lakukan :
1. Koneksi dengan Database
Hal ini dilakukan dengan instruksi SQLConnect() dan SQLDisconnect(). Prinsipnya di sini kita memilih database yang ingin kita hubungkan dengan InTouch. Untuk MS Access, hal ini dilakukan dengan pengaturan DSN (Data Source Name) di ODBC.
2. Memilih tabel dalam suatu Database
Setelah memilih database, tentunya kita perlu memilih tabel (ataupun rows dari tabel) yang akan kita tuju. Hal ini dapat dilakukan dengan perintah SQLSelect(). Perintah ini memilih 1 tabel penuh, atau beberapa rows dari tabel dengan syarat yang kita tentukan.
3. Menampilkan isi tabel
Kita bisa menampilkan isi tabel di InTouch dengan menggunakan perintah seperti : SQLFirst(), SQLNext(), SQLPrev(), dan SQLLast(). Sebelum menggunakannya, pastikan sudah dilakukan SQLSelect() terlebih dahulu pada tabel yang dituju.
4. Memodifikasi isi tabel
Untuk memodifikasi baris – baris pada tabel, kita dapat menggunakan perintah – perintah berikut :
- SQLInsert(), untuk menambahkan baris baru dalam tabel
- SQLUpdateCurrent(), untuk melakukan update terhadap perubahan pada suatu row
- SQLDelete(), untuk menghapus row tertentu (note : perubahan yang sudah saya coba masih terbatas dengan memberikan syarat secara hardcode)
Kemudian, apa beda koneksi antara InTouch dengan MS Access dan MS SQL Server? Ternyata hampir semua proses sama, hanya dalam hal koneksi saja yang berbeda. Berikut ini penjelasannya.
MS Access Database
Berikut ini contoh instruksi SQLConnect() beserta parameternya pada MS Access :
SQLConnect(ConnectionId,”DSN=MSACC”);
Parameter “ConnectionId” adalah variabel dengan nilai integer, yang akan diberikan setiap InTouch melakukan koneksi. Sedang “DSN=MSACC” adalah nama DSN yang telah diatur di ODBC (melalui Control Panel > Administrative Tools > ODBC).
MS SQL Server
Berikut ini contoh instruksi SQLConnect() beserta parameternya pada MS SQL Server :
Provider=SQLOLEDB.1; User ID=UserIDStr;
Password=PasswordStr;InitialCatalog=DatabaseName; Data Source=ServerName;
Parameter “Provider” selalu diisikan SQLOLEDB, “UserID” dan “Password” diberikan sesuai dengan user name dan password pada aplikasi MS SQL Server yang bersangkutan. Sedang “Initial Catalog” diisikan nama database yang kita pilih untuk disambungkan dengan InTouch, sedang “DataSource” menunjuk pada nama komputer dalam jaringan (dapat dilihat pada Control Panel > System > Advanced System Settings).
Untuk penjelasan lebih lengkap, silahkan membaca pada manual book yang tersedia saat Anda meng-install WW InTouch.
Semoga bermanfaat!
Sumber : “InTouch® HMI Supplementary Components Guide“, Invensys System Inc.
Mas punya tutorialnya gak, untuk menyimpan file trending pada historical trend supaya tersimpan ke file .CSV,?
saya sudah coba buat, dan lakukan settingan pada configurasi historical trend, hanya file .csv nya tidak keluar mas.
apakah ada yang bisa bantu tutorial sampai dengan menghasilkan file.csv?
LikeLike
artikelnya bgus gan, sangat bermanfaat buat kita2 yg baca.. Mampir juga yuk ke blog saya.. Itung2 buat tuker ilmu di seputaran sql server , ini gan cekidot..http://blog.jaringanhosting.com/index.php/category/sqlhosting/
LikeLike
Baik MSACCESS maupun SQL Server bisa dikonfigurasi dgn ODBC or OLEDB. Saya sendiri lebih suka OLEDB karena semua seting dapat dilakukan didalam InTouch. OLEDB untuk MSAccess tinggal menyesuaikan Connectring-nya menjadi “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:Database Password=MyDbPassword;”, untuk database yg lain silahkan liat di http://www.connectionstrings.com/ dan banyak situs lain yg menyediakan hal ini.
Dan jangan lupa untuk pada setiap transaksi didahului dgn Connect ke Database dan diakhir transaksi lakukan disconnect (seperti kaidah database programing umumnya). Karena saya liat banyak programmer Wonderware yg hanya melakukan koneksi diawal (start-up) dan diskoneksi saat shutdown, walau bisa ini merupakan cara yg buruk karena koneksi akan selalu terjadi antara DB dan Aplikasi(InTouch) … salah satu akibatnya kita tidak akan pernah bisa me-restore database saat InTouch running.
LikeLike
wahh,,pelajaran baru nih pak :D. terimakasih bgt atas ilmunya pak iwan., salam kenal pak
iya, biasanya saya juga gitu , melakukan koneksi di saat start dan akan berakhir setelah logout, klo resiko nya sih belum pernah saya alami 🙂 , masalahnya baru melakukan perekaman untuk beberapa data saja 🙂
LikeLike
Sipp mas Iwan.. Thanks share-nya..
LikeLike
tambahan pak 😀
apakah pada “alarm DB Logger manager”-configuration. tidak mendukung SQL server 2008 ?
saya sudah melakukan config, tapi selalu ga berhasil. padahal untuk SQL server nya dan user info sudah cocok. tetapi saat saya lakukan test connection selalu gagal,
dan saya coba untuk menjalan kan server dari SQL langsung ternyata bisa run. kira2 masalahnya apa ya pak ?
saya ingin melakukan perekaman alarm ke data base.
LikeLike
seharusnya untuk Intouch v10.1 dan v10.5 udah support SQL 2008, baik itu untuk WW Alarm DB Logger atau untuk SQL Access Manager
LikeLike
ternyata waktu itu masalahnya pengaturan security pada SQLServernya pak thoni..hehehe…
dimana account yang saya gunakan untuk link dari intouch ke sql default database name nya adalah master, (bawaan default instalation nya ), sedangkan database yang saya panggil waktu itu database yg bru saya create 😀
LikeLike
pagi pak Handy.
saya ingin bertanya, gimana cara membuat fasilitas perekaman aktivitas di intouch .
di mulai dari user dan apa saja yang di lakukan oleh user tersebut pada sistem, dan sistem.
apa intouch mempunyai fasilitas untuk mendukung hal itu pak? saya cari2 kok ga ketemu ya..
tujuan saya, membuat sistem seperti itu supaya bila ada kesalahan yang dilakukan oleh operator, saat di lakukan review maka akan ketauan user mana yang login pd saat itu dan apa yang dilakukannya.(record log data) dan berguna untuk perbaikan di waktu kedepannya.
yang saya baca di data managemen user guide nya baru nemu historycal log nya yaitu berupa trend.. adakah bapak punya referensi nya ?
mohon pencerahannya pak.
terima kasih.
LikeLike
sorie kalo ikut nimbrung mas handy,,,,
jadi inget dulu TA saya 🙂
mas ravindra, banyak caranya untuk membuat event log seperti itu :
– memanfaatkan alarm/event viewer dengan mencentang log event di tag yang akan di log, misal tag “run_process_A”, di commentnya ditulis : “process A running”, maka di alarm/event viewernya akan muncul saat tag tersebut aktif dibagian comment dan user
– bikin sendiri log ke notepad , tambahan sedikit srcipt untuk create file dan add di file tersebut (nama operator bisa diambil dari string user yang login)
– bikin sendiri log ke database (SQLServer misalnya),, kemudian buat tampilan di untuk menampilkannya di InTouch dengan memanfaatkan script SQL
– yang paling keren ya bikin OCX (Active X Control) kemudian panggil di InTouch
LikeLike
klo pake ocx itu keren sih pak, dan saya udah nyobain pake wwgeneric. tapi ga bisa di oprek2 tampilannya 😀
akhirnya saya sekarang lagi belajar penggunaan listbox n combo. lumayan ribet sih pak 😦
LikeLike
mas tonai, baru tau klo InTouch bisa acara beginian “bikin sendiri log ke notepad”. Selama ini saya hanya bisa bikin file dgn ekstensi .txt baru dibuka dinotepad. Saya hanya nambahin … gabungan dr alarm/event + Alarm Printer bisa bikin alarm log ke file (xtension terserah …saya saranin .csv) ..nah ini bisa bikin file log dgn waktu tak terbatas tanpa membebani system jika dibandingkan dgn membuat log ke Database bawaan wonderware (Alarm WWLogger DB Manager)
LikeLike
hahahaha iye maksudnya ke file .txt 🙂
LikeLike
Mas Ravindra, wah sudah dijawab dengan jelas…las…las.. oleh pakar – pakarnya 😀 . Thanks mas Fathoni dan mas Iwan yang sudah nimbrung dengan banyak ilmu yang bermanfaat..
LikeLike