1. Datalogger

Datalogger, apa itu?
Sesuai dengan namanya, datalogger adalah alat untuk "data logging" atau pencatat data.  Dengan datalogger, kita dapat melakukan pengawasan dan analisa data, mencari faktor-faktor yang mengakibatkan perubahan data tersebut, dan juga dapat digunakan untuk keperluan dokumentasi. Dalam contoh di sini, data yang akan di-"log" adalah data dari 5 buah sensor suhu, yang dibaca menggunakan modul YC104, dan dihubungkan ke HMI Haiwell melalui komunikasi modbus RTU. Jadi di sini, dataloggernya adalah HMI Haiwell. 

Mengapa menggunakan HMI Haiwel, mengapa tidak menggunakan alat lain?
Saya memilih menggunakan HMI Haiwell karena software HMI Haiwell itu GRATIS, dan aplikasi datalogger telah tersedia di software HMI Haiwell, kita hanya tinggal pakai, tidak ada pemrograman diperlukan (NO-CODE). Pengaturan dataloggernya juga cukup MUDAH. Kita bisa membuat log datanya dilakukan secara berkala mulai dari satuan detik hingga jam, dengan lama penyimpanan bisa diatur dengan batas waktu mulai dan batas waktu akhir (bisa tahunan - angka tahun bisa diatur). Jadi mengapa menggunakan HMI Haiwell untuk pembuatan datalogger ini? Jawabannya adalah karena GRATIS, NO-CODE, MUDAH, dan aplikasi dataloggernya juga sangat KEREN menurut saya. Di samping itu, ketika software HMI Haiwell ini nanti diterapkan pada hardware HMI Haiwell untuk keperluan yang riil di lapangan, kita bisa meng-uploadnya dengan banyak cara: bisa menggunakan flashdisk, bisa juga dengan kabel Ethernet/LAN yang terhubung ke komputer kita, atau melalui koneksi Wi-Fi, semuanya serba mudah, praktis dan menyenangkan. Dan kalau saat ini kita belum memiliki hardware HMI Haiwell, tidak apa-apa, karena kita bisa menggunakan komputer kita sebagai ganti hardware HMI Haiwell. Cukup instal software HMI Haiwell yang gratis, maka komputer kita sudah bisa bekerja layaknya hardware HMI Haiwell, yaitu dengan pilihan Online Simulation, apabila terhubung dengan rangkaian sensor dan aktuator di luar komputer, sedangkan bila tidak terhubung dengan alat apapun, bisa memilih Offline Simulation.  

Berikut ini link download software HMI Haiwell: http://en.haiwell.com/download/361.html
(Tekan tombol dengan tulisan Korea, di bawah tulisan Type: zip).

Agar lebih mudah dipahami, saya membagi penjelasan di bagian ini menjadi 5 tahap berikut ini:
1. Pengawatan rangkaian.
2. Pembacaan data modbus modul YC104 menggunakan Modbus Poll.
3. Pembuatan tampilan data sensor suhu di HMI Haiwell.
4. Pembuatan tampilan grafik sensor suhu di HMI Haiwell. 
5. Pembuatan datalogger di HMI Haiwell.

Berikut ini uraian masing-masing tahapan:

1. Pengawatan Rangkaian

Di tahap ini, saya akan menunjukkan bagaimana rangkaian untuk menghubungkan 5 buah sensor suhu ke software HMI Haiwell di komputer, melalui modul YC104. Oya, sebelum menunjukkan rangkaian tersebut, teman-teman perlu mengetahui, apa itu modul YC104? 

Gambar 1. Modul akuisisi data YC104 

Modul YC104 ini adalah sebuah modul akuisisi data yang dapat membaca sensor suhu sebanyak 16 buah sensor sekaligus. Jenis sensor suhu yang bisa dibaca adalah sensor suhu jenis Termokopel, meliputi tipe K (-270°C ~ 1350°C), J (-200°C ~ 1150°C), E (-200°C ~ 900°C), dan T (-200°C ~ 400°C). Keuntungan sensor suhu jenis Termokopel ini adalah memiliki rentang pembacaan suhu yang sangat lebar, hingga ratusan derajat Celsius, seperti terlihat pada angka suhu di dalam tanda kurung. Karena jangkauan pembacaan suhunya sangat lebar, maka biasa digunakan untuk pengukuran suhu-suhu yang ekstrim, di mana sensor ini tahan terhadap suhu yang ekstrim, baik yang sangat dingin maupun sangat panas. Di samping itu, karena pembuatannya sangat mudah, yaitu hanya menggabungkan salah satu ujung dari 2 buah penghantar yang berbeda jenis, maka harganya relatif cukup murah.

Gambar 2. Sensor suhu Termokopel dengan jenis K, J, E dan T

Dalam contoh di sini, sensor suhu Termokopel yang digunakan adalah jenis T (berwarna biru).
Keuntungan penggunaan modul YC104, selain bisa membaca banyak sensor suhu sekaligus, dan dilengkapi dengan protokol RS485, juga output pembacaan yang dihasilkan langsung dalam satuan derajat Celsius, tidak perlu pusing dengan konversi nilai tegangan output ke nilai derajat Celsius.

Gambar 3. Karakteristik hubungan antara nilai suhu yang terbaca oleh Termokopel dengan tegangan output yang dihasilkan, sumber: https://en.wikipedia.org/wiki/Thermocouple

Setelah mengetahui sekilas tentang modul YC104, pertanyaan penting berikutnya, bagaimana kalau saya tidak memiliki modul tersebut? Apakah saya masih bisa membuat datalogger?
Jawabannya: tentu saja bisa, (hahaha, bertanya sendiri dan menjawab sendiri). 

Jadi modul YC104 ini hanya sebagai contoh riil sensor. Di topik-topik selanjutnya, saya akan menggantikan modul YC104 ini dengan sensor-sensor yang banyak tersedia di pasaran, seperti LM35, DHT11, DS18B0 dll, dan menariknya, pembaca tidak perlu membeli sensor-sensor tersebut, karena semuanya bisa disimulasikan dengan Proteus. Jadi sensor-sensor tersebut akan bisa dibaca dan disimpan dengan datalogger HMI Haiwell. Tidak hanya sensor, tetapi aktuator seperti motor dc, motor servo, motor stepper, juga dapat kita hubungkan dengan HMI Haiwell, baik terhubung secara RS232 maupun RS485, dan semuanya itu akan kita simulasikan dengan Proteus. Selain tidak keluar biaya, tidak ada resiko rusak, sehingga kita bisa tidur nyenyak, tidak merepotkan, bisa disimpan dengan mudah, bisa kita hapus dengan cepat apabila tidak suka, hahaha, dll. 

Baiklah, supaya tidak terlalu panjang lebar, berikut ini gambar pengawatan rangkaiannya:

Gambar 4. Pengawatan rangkaian 5 buah sensor suhu ke HMI Haiwell melalui YC104 dan USB RS485

Tampak dari Gambar 4 di atas, agar bisa menghubungkan Modul YC104 ke komputer, perlu tambahan alat berupa USB to RS485. Terminal A dan B USB to RS485 dihubungkan ke terminal A dan B Modul YC104 (A terhubung ke A, B terhubung ke B). Kemudian hubungkan port USB to RS485 ke USB komputer.

Kemudian untuk sensor suhu Termokopelnya, ada 2 kawat yang harus dihubungkan ke terminal TD+ dan TD-. Kaki sensor yang berwarna lebih gelap (coklat) dihubungkan ke terminal TD+, sedangkan kaki sensor yang berwarna lebih cerah (putih) dihubungkan ke kaki TD-.

Sampai di sini, pengawatan rangkaian untuk datalogger 5 buah sensor suhu telah selesai.


2. Pembacaan modul YC104 menggunakan Modbus Poll.

Setelah sensor suhu dihubungkan seperti Gambar 4 di atas, langkah berikutnya adalah membaca sensor suhu tersebut dengan Modbus Poll. Modbus Poll ini adalah software untuk Master pada protokol modbus. Jadi modul YC104 menjadi Slave sedangkan Modbus Poll menjadi Master. Bagi rekan-rekan yang belum memiliki Modbus Poll, rekan-rekan dapat mengunduh softwarenya di sini: https://plc247.com/download-modbus-poll-v9-5-full-version/

Software Modbus Poll ini sangat bagus. Ini salah satu software yang "harus punya", khususnya apabila rekan-rekan bermain dengan komunikasi modbus, karena memiliki fitur yang memudahkan kita untuk membaca dan menulis data di protokol modbus, baik modbus RTU maupun TCP. 

Di samping Modbus Poll, rekan-rekan perlu juga menginstal Modbus Slave, yang dapat diunduh  di link ini: https://plc247.com/download-modbus-slave-v7-3-1-full-version/

Setelah rekan-rekan bisa mengunduh kedua software di atas, silahkan diinstal softwarenya (tersedia Key atau kode lisensi yang bisa dimasukkan agar software bisa digunakan seterusnya), dan kemudian ikuti langkah-langkah berikut ini.

Berikut ini langkah-langkah pembacaan modul YC104 menggunakan Modbus Poll:
1. Buka software Modbus Poll. Berikut ini tampilan software Modbus Poll:

Gambar 5. Tampilan software Modbus Poll

Keterangan:
  • Terlihat sekilas, tampilan software Modbus Poll mirip dengan tampilan software Excel, berbentuk tabel, hanya saja, kolom yang tersedia hanya 2. Kolom pertama biasanya digunakan untuk memberi label atau nama data (bisa diketik langsung), sedangkan kolom kedua berisi data modbus. Data Modbus terbagi menjadi 4 tipe: Coil, Input Diskrit, Input Register dan Holding Register, dengan alokasi alamat seperti terlihat pada tabel berikut ini:

Tabel 1. Alamat dan Tipe Data Modbus

Keterangan:
  • Seperti terlihat pada Tabel 1 di atas, ijin akses untuk keempat tipe data di atas berbeda-beda. Tipe data Coil dan Holding Register bisa di-Read & Write, sedangkan tipe data Input Diskrit dan Input Register hanya bisa di-Read saja. Kemudian alokasi memori data untuk Coil dan Input Diskrit hanya bisa 1 bit (jenis data digital), sedangkan untuk Input Register dan Holding Register, alokasi memori datanya bisa 16 bit (jenis data analog). 
  • Pada Gambar 5 di atas, setiap tabel hanya bisa menampilkan satu tipe data. Tipe data dapat diketahui dari kode F, yang berisi angka 03, yang berarti Baca data Holding Register. Lebih jelas mengenai arti dari kode F (Function Code), dapat dilihat pada Tabel 2 berikut:

Tabel 2. Kode fungsi pada protokol Modbus

2. Setelah mengetahui arti dari kode fungsi seperti terlihat pada Tabel 2 di atas, maka langkah selanjutnya adalah menerapkan kode fungsi yang sesuai agar dapat membaca data sensor suhu pada Modul YC104. Namun sebelum menerapkan kode fungsi pembacaan tersebut, rekan-rekan perlu mendapatkan alamat untuk ketiga data berikut ini:
  • Data Seting komunikasi serial yang digunakan, termasuk baudrate, parity dan stop bit.
  • Data seting nomor ID Slave untuk Modul YC104.
  • Data sensor yang akan dibaca.
Alamat untuk ketiga data di atas dapat diperoleh dari datasheet yang disertakan dengan Modul YC104 berikut ini:

Tabel 3. Alamat untuk seting parameter Modul YC104 

Tabel 4. Alamat untuk data sensor Modul YC104 

Keterangan Tabel 3 & 4:
  • Tabel 3 di atas menunjukkan alamat untuk pengaturan seting komunikasi, yang ditempatkan di alamat 10H (heksadesimal) = 16 (desimal), di mana untuk 8 bit data pertama, digunakan untuk seting komunikasi, sedangkan 8 bit kedua, digunakan untuk pengaturan no ID Slave. Secara default, seting komunikasi serialnya adalah 0, yaitu dengan baudrate = 9600 dan no parity (dan stop bit = 2). Sedangkan untuk no ID Slave-nya, secara default no ID nya adalah 01. Apabila ada Slave lain yang terhubung, maka no ID Slave yang lain tersebut harus berbeda dengan no ID Slave ini. Penggantian no ID Slave ini bisa dilakukan dengan menerapkan kode fungsi 06H, pada alamat memori 10H, dengan isi data 0200H apabila no ID nya mau diubah ke nomor 2, atau 0300H apabila mau diubah ke nomor 3, dan seterusnya. No ID Slave maksimum yang diijinkan adalah 250, yaitu dengan isi data FA00H, di mana FA adalah angka untuk no ID Slave, dan 00 adalah angka untuk pengaturan baudrate yang besarnya 9600, no parity.
  • Tabel 4 menunjukkan alamat data sensor, yang dimulai dari alamat 20H = 32 (desimal) untuk sensor di channel pertama, hingga 2FH = 48 (desimal) untuk sensor di channel ke-16.
  • Baik Tabel 3 maupun Tabel 4, semua data ditempatkan di Holding Register. Semua data di Holding Register harusnya bisa dibaca dan bisa ditulis. Untuk pembacaan, kode fungsinya adalah 03, dan untuk penulisan kode fungsinya adalah 06. Hanya saja, karena nilai sensor tidak bisa ditulis, hanya bisa dibaca, maka khusus untuk Tabel 4, kode fungsi yang bisa diterapkan hanyalah kode fungsi 03. 

3. Setelah mengetahui alamat dari ketiga data yang diperlukan, maka langkah berikutnya adalah melakukan koneksi antara Modul YC104 dengan Modbus Poll. Untuk itu, buka menu Connection, pilih Connect.

Gambar 6. Pilih menu Connection, klik Connect

4. Di jendela Connection Setup, pilih Connection = Serial Port, dan isi Serial Settings dengan nama COM yang digunakan oleh Modul YC104 (jangan lupa menghubungkan USB to RS485 ke port USB komputer). Berikutnya pilih 9600, 8 bit, no parity, 2 stop bit, kemudian klik OK. 

Gambar 7. Pilih Connection = Serial Port, pilih nama COM, 9600, 8 bit data, no parity dan 2 stop bit 

Catatan: Untuk mengetahui nama port COM yang digunakan oleh Modul YC104, rekan-rekan dapat melihatnya di Device Manager. Klik kanan pada tombol Start Menu Windows, di pojok kiri bawah, kemudian pilih Device Manager. Di bawah folder Ports (COM & LPT), rekan-rekan dapat melihat nama COM yang digunakan.

Gambar 8. Nama port COM yang digunakan oleh Modul YC104 dapat dilihat di Device Manager

5. Ketika di-klik OK di jendela Connection, maka akan terlihat tampilan berikut ini:

Gambar 9. Muncul error: Illegal Function

6. Ternyata muncul error 01 Illegal Function. Error ini disebabkan penerapan kode fungsi yang salah, atau karena tidak ada data di alamat itu. Seperti diketahui, data alamat untuk sensor dimulai dari 20H sampai dengan 2FH. Untuk membuat pembacaan bisa dimulai dari alamat 20H, buka menu Setup, kemudian pilih Read/Write Definition.

Gambar 10. Pilih menu Setup, klik pada Read/Write Definition

7. Di jendela Read/Write Definition, pastikan Slave ID = 1 (sesuai dengan no ID yang digunakan), Function = 03 (untuk pembacaan data di Holding Register), dan pilih Address mode = Hex, dan isi di kolom Address = 20. Klik OK.

Gambar 11. Pengaturan alamat pembacaan, dimulai dari alamat 20H sebanyak 10 data

8. Ketika di-klik OK, maka akan terlihat data di kolom kedua, mulai dari baris pertama hingga baris ke - 10, seperti terlihat pada tampilan berikut:

Gambar 12. Terlihat muncul data di kolom kedua, mulai dari baris 20H hingga baris ke 29H

9. Berikutnya buka kembali jendela Read/Write Definition di menu Setup, dan ubah nilai Quantity-nya dari 10 menjadi 32. Klik OK, maka terlihat tampilan data seperti berikut:

Gambar 13. Terlihat muncul data di kolom kedua, mulai dari alamat 20H - 3FH

10. Berikutnya buka kembali jendela Read/Write Definition di menu Setup, dan ubah nilai Quantity-nya dari 32 menjadi 35. Klik OK, maka terlihat muncul error 01 Illegal Function. Error ini dikarenakan tidak ada data di alamat 40H - 42H.

Gambar 14. Terlihat muncul error 01 Illegal Function

Catatan penting:
  • Jadi ketika tidak ada data di alamat yang kita minta, akan muncul error Illegal Function. Untuk itu kita perlu memastikan bahwa data yang akan dibaca, berada di alamat yang sesuai dengan yang kita isikan. 
  • Data di alamat 20H hingga 24H berada di sekitar angka 300, sedangkan data di alamat 25H - 3FH bernilai -1000. Hal ini berkaitan dengan 5 buah sensor suhu yang dihubungkan ke Modul YC104. 
  • Dari Gambar 13, nilai yang ditampilkan secara berturut-turut adalah 335, 322, 339, 359, 327. Nilai-nilai ini sebenarnya adalah nilai suhu, yang secara berturut-turut adalah sebesar: 33,5 °C, 32,2 °C, 33,9 °C, 35,9 °C, dan 32,7 °C. Jadi nilai suhu dapat diperoleh dengan membagi angka pada tampilan Modbus Poll dengan angka 10, kecuali untuk angka -1000, di mana nilai -1000 ini menandakan bahwa tidak ada sensor suhu yang terpasang di channel itu.
11. Sampai di sini pembacaan modul YC104 menggunakan Modbus Poll telah selesai. Di tahap berikutnya akan dibuat tampilan data dari kelima sensor tersebut di HMI Haiwell.


3. Pembuatan tampilan data sensor suhu di HMI Haiwell.

Sebelum memulai langkah-langkah pembuatan di tahap ketiga ini, pastikan bahwa rekan-rekan sudah menginstal software HMI Haiwell SCADA. Setelah terinstal, akan ada 3 software, yaitu:
  • Haiwell Cloud SCADA Develop
  • Haiwell Cloud SCADA Runtime
  • Haiwell Cloud HMI Manager
Keterangan:
  • Haiwell Cloud SCADA Develop digunakan untuk membuat tampilan SCADA termasuk komunikasi datanya dengan alat-alat input (sensor) dan alat-alat output (aktuator), dan pengaturan fitur-fitur lainnya yang diperlukan untuk aplikasi SCADA. Hal yang menarik di sini, adalah adanya tombol Online Simulation yang bisa membuat komputer menjalankan simulasi, hingga berfungsi seperti hardware HMI, yang bisa menampilkan hasil pembacaan dan tampilan kontrol alat-alat hardware di luar, dan juga pilihan Offline Simulation untuk mensimulasikan aplikasi HMI SCADA yang tidak melibatkan alat-alat input output di luar.
  • Haiwell Cloud SCADA Runtime digunakan untuk menjalankan atau menampilkan hasil program SCADA di komputer. Ketika tombol Online Simulation atau Offline Simulation ditekan akan membuat software Haiwell Cloud SCADA Runtime ini bekerja.
  • Haiwell Cloud HMI Manager digunakan untuk pengaturan koneksi serta upload program dari komputer ke HMI melalui jaringan lokal atau dari Cloud. 
Berikut ini langkah-langkah pembuatan tampilan data sensor suhu menggunakan software HMI Haiwell:
1. Buka software HMI Haiwell Cloud SCADA Develop (icon software berwarna biru). Di halaman yang terbuka, pilih Create a new project ...

Gambar 15. Klik Create a new project 

2. Pilih salah satu tipe HMI, dalam contoh di sini, Haiwell HMI B7 dipilih.

Gambar 16. Pilih salah satu tipe HMI

3. Muncul halaman Project profile, yang menampilkan garis besar urutan pembuatan projek dari atas ke bawah, yang dimulai dari pengaturan Device, kemudian pengaturan Display, dilanjutkan penambahan Task, Event, UserGroup, dll. Untuk membuat tampilan data suhu, pembuatan projeknya hanya sampai di pengaturan Display saja. Penambahan Task, Event dan UserGroup akan diperlukan untuk pembuatan aplikasi SCADA yang lebih kompleks. Karena hanya untuk menampilkan data, maka pembuatan projeknya hanya di pengaturan Device dan Display saja.

Gambar 17. Di halaman Project Profile terlihat jelas urutan pembuatan projek dari atas ke bawah

4. Klik 2 kali pada gambar + di Device. Maka akan muncul halaman Add Device. Pada Daftar Choose device, pilih pilihan Common (urutan yang paling bawah), kemudian klik 2 kali pada pilihan Modbus Master (RTU/ASCII). Di kolom Device Properties, di Communication port, isi COM port = COM2, Device station number = 1, Communication Type = RS-485, Protocol = Modbus, Baud rate = 9600, Data bits = 8, Parity check = None, Stop bit = 2, Flow control = None. Klik OK.

Gambar 18. Pilih Common, pilih Modbus Master (RTU/ASCII), isi COM port = COM2, Device station number = 1, Communication Type = RS-485, Protocol = Modbus, Baud rate = 9600, Data bits = 8, Parity check = None, Stop bit = 2, Flow control = None.

Catatan Penting:
a. Untuk bisa menggunakan komunikasi Modbus RS-485 di HMI Haiwell, syaratnya adalah, port COM yang digunakan haruslah COM2 (sedangkan apabila menggunakan RS-232, maka bisa menggunakan COM1). Sementara itu, ketika kita memasukkan USB to RS232 ke port USB komputer, maka biasanya secara otomatis komputer akan memilihkan port COM yang tidak sedang digunakan, yang kemungkinan besar bukan port COM2. Apabila terjadi hal demikian, maka perlu pengaturan port COM secara manual, untuk mengganti COM yang dipilihkan komputer ke port COM2. 
b. Berikut ini langkah-langkah pengaturan port COM secara manual:  
i. Buka Device Manager dengan meng-klik kanan tombol Start Menu Windows di pojok kiri bawah, dan pilih Device Manager.
ii. Di Device Manager, buka folder Ports (COM & LPT), maka akan terlihat COM yang digunakan oleh USB to RS485 (apabila tidak muncul, pastikan USB to RS485 dihubungkan ke port USB komputer). Dalam contoh di sini, terlihat COM yang digunakan adalah COM8, untuk itu perlu pengaturan agar COM yang digunakan adalah COM2. Untuk menggantinya, klik 2 kali pada port COM tersebut.  
Gambar 19. Buka Device Manager, di Ports (COM&LPT), maka terlihat port COM yang digunakan. Apabila port COM yang digunakan bukan COM2, ganti port COM tersebut
 
iii. Muncul jendela USB-SERIAL Properties. Klik pada Tab Port Settings, dan kemudian klik tombol Advanced. 
Gambar 20. Di jendela USB-SERIAL Properties, pilih Port Settings, klik tombol Advanced

iv. Di Jendela Advanced Settings, pilih COM2 dari kotak drop down di COM Port Number. Klik OK, maka port COM yang digunakan oleh USB to RS485 sekarang adalah COM2.
Gambar 21. Di jendela Advanced Settings, pilih COM2 dari kotak drop down COM Port Number

5. Setelah jendela Add Device di-klik OK, maka akan muncul pesan yang menanyakan apakah akan mengatur variabel untuk Device yang baru saja ditambahkan tersebut? Pilih Yes.

Gambar 22. Setelah Device ditambahkan, langkah berikutnya adalah mengatur variabel untuk Device yang baru tersebut, pilih Yes pada kotak pertanyaan yang muncul

6. Maka akan muncul jendela Variable Add. Di jendela Variable Add ini kita perlu mengisikan satu persatu alamat dari kelima data sensor, yang dimulai dari alamat 20H hingga 24H. Berhubung alamatnya dalam desimal, maka untuk alamat 20H = 32(desimal), 21H = 33(desimal), 22H = 34(desimal), 23H = 35(desimal), dan 24H = 36(desimal). Isikan alamat tersebut di kolom Address, mulai dari 32, sedangkan di kolom Register type, pilih Holding Register, dengan kode 4X/(Analog output, Function code 03 06). Ketika kita sudah mengisi Address dan Register type, secara otomatis Variable name akan terisi dengan Register type diikuti dengan Address. Klik tombol Save and Continue, maka akan muncul kotak Prompt Save success. Klik OK, maka di Tab Modbus (di belakang jendela Variable Add), di kolom Variable name, akan muncul variabel 4X32. 

Gambar 23. Di jendela Variable Add, pilih Register type = 4X, dan isi Address = 32 (alamat 20H)

7. Dengan menekan tombol Save and Continue, secara otomatis jendela Variable Add akan melanjutkan ke alamat berikutnya.  

Gambar 24. Klik tombol Save and Continue, maka akan melanjutkan ke alamat berikutnya

8. Setelah 5 kali meng-klik tombol Save and Continue dan meng-klik OK pada kotak Save success, maka akan muncul Variable 4X32, 4X33, 4X34, 4X35 dan 4X36 di daftar External variables Modbus_1.

Gambar 25. Di daftar variable, muncul 5 buah variabel dengan alamat 32, 33, 34, 35 dan 36.

9. Setelah penambahan Device dan variable selesai, maka langkah berikutnya adalah menampilkan data variable tersebut di Display HMI. Untuk itu klik 2 kali pada tulisan 1:Main_display di Project browser, hingga menampilkan halaman Display seperti gambar berikut. 

Gambar 26. Klik 2 kali 1:Main_display, maka muncul halaman 1:Main_display

10. Di kotak Graphics library, klik pada Functional components, pilih Numeric input/display, dan tempatkan di halaman Display. Kemudian klik 2 kali objek Numeric input/display hingga muncul jendela Numeric input/display.

Gambar 27. Pilih Numeric input/display dari Graphics library, di kategori Functional components dan tempatkan di halaman Display

11. Di jendela Numeric input/display, di kolom Read variable, klik tombol titik 3 kali, maka muncul jendela Variable selector. Pilih Variable Modbus_1, 4X32. Klik Confirm, kemudian klik OK.

Gambar 28. Di jendela Numeric input/display, di kolom Read variable, klik tombol titik 3 kali 

Gambar 29. Pilih variable Modbus_1, 4X32, klik Confirm

Gambar 30. Di kolom Read variable terisi Modbus_1.4X32, klik OK

12. Berikutnya, ulangi langkah 10 dan 11 di atas untuk keempat variabel yang lain. Tambahkan 4 buah objek Numeric input/display, dan isi Read variable dengan variabel 4X33, 4X34, 4X35 dan 4X36 secara berturut-turut. Setelah kelima objek Numeric input/display diberi variable, jalankan software HMI dengan menekan tombol Online simulation. Muncul jendela Compile, diikuti jendela CollectionEdit. Klik OK, maka HMI Cloud SCADA Runtime (icon software berwarna hijau) akan bekerja, menampilkan data kelima sensor suhu di kelima objek Numeric input/display. 

Gambar 31. Klik tombol Online simulation, kompilasi terjadi, klik OK pada jendela CollectionEdit

Gambar 32. Software HMI Cloud SCADA Runtime bekerja menampilkan data sensor suhu pada kelima objek Numeric input/display

13. Sama seperti pada pembacaan data sensor dengan Modbus Poll, yaitu ketika ada satu saja data yang salah alamat, di mana alamat yang diberikan tidak berisi data, maka semua data yang lain akan ditampilkan dengan angka 0. Sebagai contoh di sini, variabel 4X32 diganti alamatnya, dari yang semula 32, diganti menjadi 30. Maka ketika Online simulation dijalankan, muncul pesan Modbus_1 not online, dan semua objek Numeric input/display menampilkan angka 0, sekalipun yang salah alamat hanya 1 data.

Gambar 33. HMI Runtime menampilkan pesan error Modbus_1 Device is not online, dan semua objek Numeric input/display menampilkan angka 0, sekalipun yang salah alamat hanya 1 data.

14. Sampai di sini pembuatan tampilan data kelima sensor di HMI Haiwell telah selesai. Di tahap berikutnya akan dibuat tampilan grafik dari data kelima sensor tersebut di HMI Haiwell.



4. Pembuatan tampilan grafik sensor suhu di HMI Haiwell.

1. Setelah data kelima sensor berhasil ditampilkan dalam bentuk tampilan angka (Numeric display), maka di tahap keempat ini, akan ditunjukkan bagaimana menampilkan data kelima sensor tersebut dalam bentuk grafik. Untuk membuat tampilan grafik, gunakan objek Real Time Trend, yang terdapat di Graphics Library, di kategori Advanced controls. Tempatkan objek Real Time Trend di halaman Display, perlebar ukurannya sehingga memenuhi halaman, seperti gambar berikut:

Gambar 34. Ambil dan tempatkan objek Real Time Trend di halaman Display

2. Klik 2 kali objek Real Time Trend. Pada jendela yang terbuka, namai atau beri judul grafik (Trend Tittle), dan sumbu X (X-axis title) serta sumbu Y (Y-axis title).
 
Gambar 35. Beri judul atau nama grafik, dan sumbu X serta sumbu Y

3. Berikutnya klik pada tombol CollectionEdit. Di jendela CollectionEdit, klik tombol Add sebanyak 5 kali, maka akan muncul 5 buah Item.

Gambar 36. Klik tombol CollectionEdit, kemudian tekan Add sebanyak 5 kali hingga muncul 5 item

4. Berikutnya klik pada item1, kemudian klik tombol titik 3x di kolom Variable. Ketika jendela Variable selector terbuka, pilih variable 4X32. Kemudian klik pada Trend color, pilih warna Merah. 

5. Ulangi langkah no. 4 di atas untuk item2, item3, item4 dan item5, yang secara berturut-turut diisi dengan variable 4X33, 4X34, 4X35, dan 4X36, serta buat warnanya berbeda-beda, seperti ditunjukkan pada gambar berikut. Klik OK.

Gambar 37. Buat kelima item tersebut diisi dengan variabel 4X32, 4X33, 4X34, 4X35, 4X36, dan buat warna kelimanya berbeda-beda

6. Klik OK pada jendela Real Time Trend, maka di halaman Display, di objek Real Time Trend akan muncul grafik 5 buah sinus dengan warna yang berbeda-beda. 

Gambar 38. Muncul grafik 5 buah sinus, yang menunjukkan bahwa grafik akan menampilkan 5 buah data

7. Tekan tombol Online simulation untuk menjalankan HMI Runtime. Terlihat bahwa grafik kelima data sensor suhu muncul. Hanya saja karena nilai sensor suhu lebih dari 100, maka grafik tidak bisa menampilkan datanya (batas maksimum nilai sumbu Y grafik adalah 100).  

Gambar 39. Grafik menampilkan data kelima buah sensor suhu, hanya saja nilainya melebihi batas maksimum sumbu Y 

8. Untuk membuat grafik bisa menampilkan data kelima buah sensor suhu yang nilainya melebihi batas maksimum sumbu Y, ada 2 cara bisa dilakukan: cara pertama, mengubah batas maksimum sumbu Y dari 100 menjadi 1000, sedangkan cara kedua: membagi nilai suhu tersebut dengan 10. 

Berikut ini langkah-langkah untuk cara pertama:
a. Klik pada Tab NumColor. Kemudian ganti angka 100 di Maximum Value dengan 1000. 

Gambar 40. Klik pada Tab NumColor. Di kolom Maximum value, ubah angka 100 menjadi 1000

b. Berikutnya, agar angka pada tampilan grafik tetap 100, ubah pilihan di Display mode, dari  Numerical mode menjadi Percentage mode.

Gambar 41. Ubah pilihan di Display mode, dari Numerical mode menjadi Percentage mode

c. Berikutnya sebelum menjalankan HMI Runtime, tampilan angka pada kelima objek Numerical display perlu dibuat agar menampilkan nilai suhu yang riil. Untuk mengubah tampilan angka tersebut, klik 2 kali pada objek Numerical display. Kemudian ubah angka 5 di Integer digits menjadi 4, dan angka 0 di Decimal digits menjadi 1. Nilai 1 di Decimal digits berarti ada 1 angka pecahan, atau 1 digit di belakang titik. Angka 4 di Integer digits, berarti disediakan 4 angka di depan titik. Jadi untuk angka 327, akan ditampilkan menjadi 32.7.  

Gambar 42. Agar tampilan angka di Numeric display bisa menampilkan nilai suhu yang riil, ubah angka 5 di Integer digits menjadi 4, dan ubah angka 0 di Decimal digits menjadi 1.

d. Jalankan HMI Runtime dengan menekan tombol Online simulation. Maka terlihat tampilan objek grafik bisa menampilkan data kelima buah sensor suhu, dan juga tampilan angka pada kelima objek Numerical display bisa menampilkan nilai suhu yang riil, dengan 1 digit angka pecahan

Gambar 43. Objek Real Time Trend bisa menampilkan grafik dari kelima buah sensor suhu, juga objek Numerical display bisa menampilkan data kelima buah sensor suhu dengan nilai yang riil

Berikut ini langkah-langkah untuk cara kedua:
a. Kembalikan nilai batas maksimum sumbu Y dari 1000 menjadi 100. Kembalikan pula pilihan Percentage mode di Display mode menjadi Numerical mode. Untuk nilai Integer digits dan Decimal digits di objek Numerical input/display, tidak perlu diubah, karena nilai yang akan ditampilkan nanti, juga pecahan.

b. Tambahkan 5 buah variabel internal untuk menampung nilai pembagian. Untuk menambahkan variabel internal, klik kanan pada tulisan InternalVariable, di bawah folder Variable, pilih Add Internal variable group. Klik OK pada jendela Property Setting yang muncul.

Gambar 44. Klik kanan IntervalVariable, pilih Add Internal variable group, klik OK

c. Pada halaman Internal Variable, klik tombol Add. Di jendela Variable Edit, atur Register type = W dan Data type = Float. Klik tombol Save and Continue.

Gambar 45. Klik Add, isi Register type = W, Data type = Float, dan klik Save and Continue

d. Pada jendela Prompt Save success, klik OK, dan ulangi langkah c di atas sebanyak 4 kali, sehingga muncul daftar 5 buah variable internal.

Gambar 46. Klik OK pada Save success, ulangi tekan tombol Save and Continue sebanyak 4 kali

Gambar 47. Maka akan muncul 5 buah variabel internal dengan nama Variable1 - Variable5

d. Setelah 5 buah variable berhasil ditambahkan, langkah berikutnya menambahkan Event, yang akan menjalankan pembagian nilai External variable (data sensor suhu) dengan 10. Untuk itu klik kanan pada Start execution event, pilih Add event. Pilih Event execution = Each terminal, kemudian klik pada tombol titik 3x di kolom  Execute task.

Gambar 48. Tambahkan Event untuk menjalankan operasi pembagian data sensor suhu dengan 10

e. Berikutnya, di jendela Task selector yang muncul, isi halaman Script dengan pembagian data sensor (Modbus_1.4X32 - Modbus1.4X36) dengan angka 10, dan hasil baginya disimpan di Variabel1 - 5, seperti berikut ini:

$InternalVariable_1.Variable1=$Modbus_1.4X32/10;
$InternalVariable_1.Variable2=$Modbus_1.4X33/10;
$InternalVariable_1.Variable3=$Modbus_1.4X34/10;
$InternalVariable_1.Variable4=$Modbus_1.4X35/10;
$InternalVariable_1.Variable5=$Modbus_1.4X36/10;

Gambar 49. Di halaman script, isi dengan pembagian data sensor (Modbus_1.4X32 sampai Modbus1.4X36) dengan angka 10, dan hasil baginya disimpan di Variabel1 - 5.

f. Copy script di atas dan tempel di halaman script. Rekan-rekan juga bisa juga meng-klik 2 kali nama variabel di kolom sisi kanan, secara otomatis, nama variabel yang diklik 2 kali tersebut akan muncul di halaman script. Setelah penulisan script untuk pembagian selesai, sebelum menutup, tekan tombol compile diikuti dengan tombol test untuk memastikan bahwa script yang dibuat tidak menghasilkan error. Apabila muncul pesan Passed the syntax checking, berarti kode script benar, klik tombol OK, dan Save the current file.

Gambar 50. Klik Yes untuk menyimpan file dan klik OK untuk menutup script

g. Kembali ke jendela Event selection, atur Execution mode = Execution interval, dengan interval diisi 100 milidetik. Klik OK.

Gambar 51. Buat kode script dijalankan terus-menerus dengan interval 100 milidetik

h. Setelah 5 buah variabel berhasil ditambahkan, dan juga Event untuk operasi pembagian berhasil dibuat, maka berikutnya, ganti semua variabel di objek Numeric display dan juga objek Real Time Trend, dengan variabel internal yang digunakan untuk menampung hasil pembagian.  Klik 2 kali pada setiap objek Numeric display, klik tombol titik 3x, dan isi satu persatu dengan Variable1 - Variable5.

Gambar 52. Ganti variabel Modbus1_4X32 dengan InternalVariable_1.Variable1

i. Setelah variable di kelima objek Numeric display diganti dengan Variable1 - Variable5, berikutnya, ganti juga variabel di CollectionEdit (objek grafik) dengan Variable1 - Variable5.

Gambar 53. Ganti kelima variabel di CollectionEdit dengan Variable1 - Variable5

j. Berikutnya tekan tombol Online simulation untuk menjalankan HMI Runtime. Perhatikan bahwa tampilan angka di objek Numeric Display dan tampilan grafik sudah benar, yaitu nilai suhunya sudah sesuai dengan nilai suhu yang riil.

Gambar 54. Jalankan Online simulation, maka terlihat tampilan angka dan grafik sudah benar

12. Sampai di sini pembuatan tampilan grafik dari data kelima sensor di HMI Haiwell telah selesai. Di tahap berikutnya akan dibuat datalogger kelima sensor tersebut di HMI Haiwell.


5. Pembuatan datalogger di HMI Haiwell.

1. Setelah data sensor yang riil berhasil ditampilkan, baik dalam bentuk tampilan angka maupun tampilan grafik, maka di tahap terakhir ini, akan ditunjukkan cara membuat penyimpanan data atau datalogger di HMI Haiwell. Untuk membuat datalogger ini, kita dapat menggunakan objek Historical data report table. Namun sebelum menambahkan objek ini, kita perlu menyiapkan halaman Display yang baru, dan membuat grup variable untuk memilih variable-variable yang akan disimpan di datalogger. Untuk menyiapkan halaman Display yang baru, klik kanan pada Display di Project Browser, pilih Add Display. Klik OK pada jendela Property Setting yang muncul.  

Gambar 55. Klik kanan Display, pilih  Add Display untuk menambahkan halaman Display kedua

2. Berikutnya kita perlu menambahkan tombol untuk bisa berpindah dari halaman Display pertama ke halaman Display kedua. Gunakan objek Picture operation button (berwarna hijau) di Graphics library, di kategori Functional components. Tempatkan objek ini di pojok kanan bawah.

Gambar 56. Tempatkan objek Picture operation button untuk berpindah dari Display1 ke Display2

3. Klik 2 kali pada objek Picture operation button. Di jendela yang muncul, di kolom function, pilih Jump to the next display. 

Gambar 57. Pilih function = Jump to the next display

4. Agar mudah dipahami fungsinya, ganti shape objek Picture operation button, dari bentuk kotak menjadi tanda panah ke kanan. Klik pada Tab Shape, kemudian tekan tombol Shape untuk membuka Shape library. Di jendela Shape library, pilih Default vector library, pilih Sign, pilih gambar tanda panah ke kanan. Klik tombol Select.

Gambar 58. Klik Shape, tekan tombol Shape untuk membuka Shape library, pilih Sign, pilih gambar tanda panah ke kanan, klik tombol Select

5. Maka seharusnya objek Picture Button berubah dari bentuk kotak menjadi tanda panah ke kanan. Copy objek ini dengan memilih objek diikuti dengan menekan tombol Ctrl+V. 

Gambar 59. Objek Picture operation button diubah bentuknya dari kotak ke tanda panah ke kanan

6. Setelah objek Picture operation button di-copy, berikutnya klik 2 kali halaman Display kedua, kemudian tekan tombol Ctrl+V untuk menempelkan objek di halaman Display kedua ini. Tempatkan di pojok kanan bawah. 

Gambar 60. Objek Picture operation yang di-copy, ditempel di pojok kanan bawah Display2

7. Diinginkan agar objek Picture operation button di halaman Display2  ini, berbentuk tanda panah ke kiri, dan ketika ditekan, akan membuat halaman Display1 muncul. Untuk itu klik kanan objek Picture operation button di Display2 ini. Di jendela yang muncul, pilih function = Jump to previous display.

Gambar 61. Klik 2 kali objek Picture operation button, pilih function = Jump to previous display

8. Berikutnya klik pada Tab Shape, tekan tombol Shape untuk membuka Shape library. Di jendela Shape library, pilih Default vector library, pilih Sign, pilih gambar tanda panah ke kiri. Klik Select.

Gambar 62. Klik Tab Shape, klik Shape, pilih Sign, pilih tanda panah ke kiri, klik Select

9. Maka tombol berpindah halaman, baik dari Display1 ke Display2 (tombol panah ke kanan), maupun dari Display2 ke Display1 (tombol panah ke kiri) sudah selesai dibuat.

Gambar 63. Tombol untuk berpindah dari Display2 ke Display1 siap digunakan

10. Berikutnya, masih di Display2, ambil dan tempatkan objek Historical data report table, yang ada di kategori Advanced control. Perlebar ukuran objek sehingga memenuhi halaman Display.

Gambar 64. Ambil dan tempatkan objek Historical data report table di Display2, perlebar ukurannya

11. Objek Historical data report table ini hanya akan menampilkan variabel-variabel yang dimasukkan di Data group. Untuk itu klik 2 kali pada Data group. Di halaman Data group, klik tombol Add. Di jendela Data Group, isi Group Name = tabel. Kemudian pilih Storage mode = Local storage. Karena ada 5 variabel yang akan disimpan, atur Channel count = 5. Tekan tombol Apply. Kemudian di kolom Channel Variable, mulai dari baris pertama hingga baris kelima, klik tombol titik 3x, dan isi dengan variabel internal Variable1 - Variable5 satu persatu secara berurutan. Setelah itu, terakhir, di Record mode, pilih Interval record, dan atur interval penyimpanannya, apakah mau menyimpan setiap jam sekali, atau setiap menit, atau setiap detik, atau setiap 30 detik, dst.nya. Dalam contoh di sini, dibuat interval penyimpanannya setiap menit. sehingga di isian Minute, diisi 1, sedangkan yang Hour dan Second diisi 0. Klik OK untuk menutup jendela Data group.

Gambar 65. Kelima variable harus dimasukkan dalam satu Data group (dalam contoh di sini nama Data groupnya = tabel). Atur juga mode penyimpanan dan interval penyimpanannya

12. Setelah di-klik OK, maka di halaman Data group akan ada 1 Data group, dengan nama tabel, dengan jumlah variabel yang disimpan, dan mode penyimpanannya.

Gambar 66. Di halaman Data group, muncul sebuah data group, dengan nama tabel, jumlah variabel yang disimpan serta mode penyimpanannya

13. Setelah Data group selesai dibuat, buka halaman Display2. Klik 2 kali pada objek Historical data report table. Di jendela yang terbuka, klik pada tombol titik 3x. Di jendela yang terbuka, di kolom History group, tekan tombol titik 3x, klik 2 kali pada nama Data group yang sudah dibuat sebelumnya (dalam contoh di sini namanya = tabel), maka di kolom History group akan muncul nama tabel, disertai dengan daftar 5 channel di kolom Channel setting.

Gambar 67. Di objek Historical data report table, isi History group dengan nama Data group yang dibuat sebelumnya (dalam contoh di sini namanya = tabel)

14. Tekan tombol Online simulation. Buka halaman Display2 dengan menekan tombol panah ke kanan di pojok kanan bawah. Di objek Historical data report table, di pojok kiri atas, terlihat 3 buah tombol. Ketiga tombol tersebut berturut-turut mulai dari kiri adalah tombol Time Interval, tombol Time Set dan tombol Save. Ketika tombol Time Interval ditekan, akan muncul jendela yang menampilkan 2 batas waktu, yaitu waktu mulai dan waktu akhir.  Isi kedua batas waktu tersebut, tekan tombol Confirm, maka secara otomatis, penyimpanan data akan dilakukan. Interval waktu penyimpanan akan mengikuti seting pada Record mode yang diisikan di Data group. Dalam contoh di sini, interval waktu telah diisi setiap menit, dengan batas waktu awal dan waktu akhir memiliki rentang waktu 20 menit. Maka seharusnya akan menghasilkan 20 buah data. 

Gambar 68. Ketika tombol Time Interval ditekan, muncul jendela dengan isian waktu mulai dan waktu akhir. Dalam contoh di sini, waktu mulai = 07.00.55 dan waktu akhir = 07.20.55 di tanggal yang sama

15. Klik tombol Confirm, maka datalogger akan berjalan. Terlihat objek Historical data report table menampilkan data penyimpanan setiap menit (perhatikan kolom Time). Klik tombol panah ke kiri dan panah ke kanan di pojok kanan atas objek untuk berpindah ke halaman yang lain. 

Gambar 69. Objek Historical data report table menampilkan data penyimpanan seetiap menit sesuai dengan seting isian di Record mode di Data group

16. Tekan tombol ketiga, yaitu tombol Export untuk mengirimkan data tabel ke dalam Drive. File Export ini akan tersimpan dalam format csv, yang membuat kita mudah untuk menampilkan datanya di software Excel.

Gambar 70. Tekan tombol Export, maka data yang ditampilkan di objek Historical data report table akan dapat disimpan ke dalam Drive komputer dalam format csv, yang bisa dibuka dengan software Excel

17. Berikut ini tampilan data hasil Export yang dibuka di software Excel. Perhatikan bahwa jumlah data yang tersimpan adalah sebanyak 20 data, yang mana sesuai dengan batas waktu mulai dan akhir yang diisikan di Time Interval, dengan interval waktu per menit, sesuai dengan seting interval yang diisikan di Record mode di Data group.

Gambar 71. Data hasil datalogger ditampilkan di software Excel, terlihat datanya sebanyak 20 baris

Catatan Penting:
Ada 2 mode waktu pengambilan data pada objek Historical data report table, yaitu:
      1. Mode Time Interval
Mode Time Interval akan membuat data yang ditampilkan di tabel mengikuti batas waktu mulai, dan batas waktu akhir sesuai data yang diisikan di kotak Time Interval, dengan interval waktu antar pengambilan mengikuti isian data di Record mode Data group. Apabila batas waktu akhir sudah dilewati, maka pengambilan data akan berhenti, dan data di tabel tidak akan berubah, dan tidak akan diupdate lagi.

     2. Mode Time Set
Secara default, ketika Time Interval tidak diisi, maka objek Historical data report table akan menjalankan Mode Time Set. Mode Time Set ini akan mempertahankan rentang waktu sesuai dengan nilai yang diisikan di kolom Time Set. Secara default nilai rentangnya adalah 5 menit. Hal yang menarik di mode Time Set ini, data di urutan pertama, akan selalu di-update dengan data yang terbaru, sedangkan data di urutan yang terakhir, akan terhapus apabila rentang waktunya dengan data di urutan pertama, sudah melebihi nilai yang diisikan di kolom Time Set.

18. Terakhir, fitur yang tidak kalah menarik di software HMI Haiwell adalah "Generate run file" dan "Generate U disk run file" yang ada di menu File. Fitur "Generate run file" akan bisa membangkitkan file aplikasi, yang dapat dijalankan tanpa perlu membuka software HMI Haiwell SCADA Develop.  Jadi ketika file aplikasi yang dihasilkan ini di-klik 2 kali, software HMI Haiwell SCADA Runtime akan langsung berjalan. Di samping lebih praktis, juga membuat file aplikasi kita tidak dapat di-"otak-atik" isinya. Pengguna hanya bisa menjalankan file tanpa bisa membuka "isi di dalamnya". Jadi file aplikasi ini sangat bermanfaat ketika kita ingin mendistribusikan file aplikasi yang kita buat. Wow KEREN sekali kan 👍👍👍. Berikutnya untuk fitur "Generate U disk run file", fitur ini akan membangkitkan file yang digunakan untuk menjalankan aplikasi yang kita buat di hardware HMI Haiwell. Jadi tidak perlu menggunakan bantuan komputer untuk meng-upload program, cukup mengirimkan file hasil "Generate U disk run file" ini ke pengguna, maka aplikasi yang kita buat akan dapat dijalankan di hardware HMI Haiwell. Wow MANTAP 👍👍👍.

Gambar 72. Fitur Generate run file dan Generate U disk run file

19. Agar lebih jelas mengenai materi Datalogger menggunakan HMI Haiwell ini, rekan-rekan dapat melihat video berikut ini.

Video pembuatan datalogger menggunakan HMI Haiwell

20. Sampai di sini materi tentang Datalogger menggunakan HMI Haiwell, dengan data yang di-"log" berupa 5 buah sensor suhu Termokopel, yang dibaca dengan Modul YC104 melalui protokol modbus RTU. File-file yang diperlukan dalam pembuatan datalogger ini, dan juga file aplikasi yang dihasilkan, dapat rekan-rekan unduh di link ini: 

No comments:

Post a Comment