Koneksi Wonderware InTouch dengan MS SQL Server Database

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.

14 thoughts on “Koneksi Wonderware InTouch dengan MS SQL Server Database

  1. deny

    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?

    Like

  2. e.one

    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.

    Like

    1. 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 🙂

      Like

  3. 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.

    Like

      1. 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 😀

        Like

  4. 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.

    Like

    1. 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

      Like

      1. 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 😦

        Like

      2. e.one

        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)

        Like

    2. 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..

      Like

Leave a comment