- toekang scada - http://toekangscada.com -

InTouch – PLC, Monitoring Komunikasi

Posted By toekang On January 5, 2008 @ 3:12 pm In Automation,HMI/Scada,Wonderware | 34 Comments

icon

Ada dua cara untuk memonitor komunikasi antara InTouch dan PLC. Cara pertama yaitu dengan memanfaatkan item(bit) bawaan IO/DA Server yaitu $SYS$Status(DA Server) atau Status(IO Server) dan IOStatus. Cara kedua adalah dengan cara membuat PLC Heartbeat yang memanfaatkan scripting engine InTouch.

Saya selalu memakai kombinasi keduanya dengan cara kedua sebagai prioritas utama, sedang cara pertama sebagai pelengkap. Mengapa demikian ? Karena jika mengandalkan cara pertama saja, masih ada celah di mana cara ini tidak dapat memberikan informasi tengtang status PLC(STOP/RUN), untuk lebih jelasnya baca artikel ini [1]. Cara kedua sebenarnya sudah cukup ampuh untuk memonitor komunikasi InTouch-PLC. Masalahnya jika tidak digabungkan dengan bit IOStatus dan Status kita sulit menentukan siapa sebenarnya penyebab eror komunikasi ini, apakah IO/DAserver, kabel koneksi atau malah PLC-nya yang STOP.
Ada dua cara untuk memonitor komunikasi antara InTouch dan PLC. Cara pertama yaitu dengan memanfaatkan item(bit) bawaan IO/DA Server yaitu $SYS$Status(DA Server) atau Status(IO Server) dan IOStatus. Cara kedua adalah dengan cara membuat PLC Heartbeat yang memanfaatkan scripting engine InTouch.

Saya selalu memakai kombinasi keduanya dengan cara kedua sebagai prioritas utama, sedang cara pertama sebagai pelengkap. Mengapa demikian ? Karena jika mengandalkan cara pertama saja, masih ada celah di mana cara ini tidak dapat memberikan informasi tengtang status PLC(STOP/RUN), untuk lebih jelasnya baca artikel ini [1]. Cara kedua sebenarnya sudah cukup ampuh untuk memonitor komunikasi InTouch-PLC. Masalahnya jika tidak digabungkan dengan bit IOStatus dan Status kita sulit menentukan siapa sebenarnya penyebab eror komunikasi ini, apakah IO/DAserver, kabel koneksi atau malah PLC-nya yang STOP.

Bagaimana bit IOStatus, Status($SYS$Status) dan PLC Heartbeat memonitor status komunikasi antara InTouch, IO/DA Server dan PLC dapat digambarkan sebagai berikut :
graphics

  • Bit Status($SYS$Status) merupakan bawaan IO/DA Server, berfungsi untuk memonitor status komunikasi antara IO/DA Server dengan PLC.
  • Bit IOStatus yang juga bawaan IO/DA Server, berfungsi untuk memonitor status IO/DA Server itu sendiri. Bit ini juga dapat digunakan untuk memonitor komunikasi antar dua node InTouch atau InTouch dengan program yang suport DDE seperti Microsoft Excel.
  • PLC Heartbeat digunakan untuk memonitor komunikasi data antara InTouch dengan PLC.

Dalam contoh ini, PLC yang digunakan adalah Siemen S7 dan DA Server DASIDirect 1.5. Bagaimana cara membuat tag yang memanfaatkan IOStatus, $SYS$Status dan juga membuat Acces Name tidak dijalaskan di sini. Kalau kita instal InTouch di sana sudah buit-in manual yang cukup jelas membahas ini, masih kurang jelas bisa juga membaca artikel ini : Tech Node 118 [2]. Fokus kali ini hanya bagaimana membuat PLC Heartbeat dan mengkombinasikan dengan ke-dua bit bawaan IO/DA Server agar monitoring komuniksai InTouch – PLC lebih akurat.

Pilih Bit atau Interger ?
Bit(bolean) yang di InTouch lebih dikenal sebagai tag Discrete memang lebih sederhana dan sedikit memakai resource. Tapi memakai bit juga mengandung kekurangan terutama jika diterapkan pada PLC yang mempunyai akses data agak lambat contoh S7-300. Perhatikan gambar dibawah :
graphics
Kurva yang sebelah atas merupakan pulsa yang di-generate oleh PLC, sedangkan di bawahnya adalah update rate dari IO/DA Server. Nah pada posisi-posisi transisi yang ditandai oleh ‘dot’ itu sering-kali InTouch tidak dapat mendeteksinya. Semakin besar trafik data(semakin banyak IO Tag yang mengakses ke PLC) semakin sering lolos. Sebenarnya ada cara untuk meminimalisasi hal ini yaitu dengan membuat Topic khusus untuk deteksi komunikasi dan seting update-ratenya dengan angka unik, misalnya 1267ms.

Bagaimana kalau memakai nilai integer ? Perhatikan gambar di bawah :
graphics
Tag interger yang digunakan dibuat agar kontinyu berubah. Dengan cara ini menjamin nilai data selalu berubah setiap kali InTouch meng-update data. Dengan berubahnya nilai di tag ini, kita bisa yakin bahwa komunikasi berjalan baik. Jika data konstan untuk periode tertentu itu berarti terjadi masalah komunikasi antara InTouch dan PLC.

Prosedur
Buat empat tag seperti dalam tabel di bawah:
graphics
Hanya dua tag yang diperlukan untuk membuat PLC Heartbeat yaitu PLC01\iPulse dan PLC01\PulseCount, sisanya adalah tag PLC01\IOserver untuk memonitor status IO/DA Server dan terakhir PLC01\Comm untuk memonitor komunikasi IO/DA Server dengan PLC.

PLC01\PulseCount digunakan untuk membuat internal counter yang bertambah setiap detik. Buat Data Change Scripts seperti dibawah:
graphics

Counter tersebut akan direset setiap terjadi perubahan nilai pada tag PLC01\iPulse, buat Data Change Scripts seperti dibawah:
graphics

Komunikasi dianggap eror jika Counter melebihi nilai seting, nilai IOStatus false atau nilai $SYS$Status false. Satukan logika tersebut dan buat Condition Scripts seperti dibawah:
graphics
Skrip di atas dapat dijelaskan sebagai berikut: Jika Counter melebihi angka 20 atau nilai IOStatus = 0 atau nilai $SYS$Status = 0 maka komunikasi dianggab eror. Jika ini terjadi, setiap 5 detik status PLC (1 = RUN, 0 = STOP) di update dan memunculkan Pop-Up window “Common_Communiction” yang memuat semua status komunikasi.

Yang terakhir adalah melakukan update status PLC jika komunikasi sudah kembali normal (jika sebelumnya pernah eror). Masih di skrip yang sama buatlah skrip di bawah pada kondisi ‘While False’:
graphics

Pengujian
Jalankan PLC, aktivkan DA Server kemudian jalankan Window Viewer, jika komunikasi berjalan lancar maka pada window “Common_Communication” akan menampilkan IO Server, Cummunication dan PLC Status dalam kondisi normal:
graphics

Set PLC ke kondisi STOP mode, maka hasilnya seperti ini:
graphics
Set PLC ke posisi RUN tunggu sampai status kembali normal kemudian cabut kabel komunikasi (RJ45), hasilnya seperti ini:
graphics
Kondisi seperti di atas juga dapat terjadi jika salah konfigurasi di DA Server walaupun kabel koneksi sudah terhubung dengan benar.

Yang terakhir stop DA Server, hasil yang didapat adalah semuanya menjadi fail seperti di bawah:
graphics


Article printed from toekang scada: http://toekangscada.com

URL to article: http://toekangscada.com/2008/01/05/monitoring-komunikasi-antara-intouch-dan-plc/

URLs in this post:

[1] artikel ini: http://toekangscada.com/?p=9

[2] Tech Node 118: http://toekangscada.com/fileserver/files/ww_self_support/WW_Tech-Note-118.pdf

Copyright © 2008 toekangscada. All rights reserved.