4. Koneksi dengan Outseal

Bagi rekan-rekan yang tidak memiliki software simulator seperti Proteus, maka saya rekomendasikan untuk menggunakan Wokwi. Wokwi cukup menarik, gratis dan mudah digunakan, bahkan bisa digunakan untuk mensimulasikan Outseal Nano. Ok, seperti apakah cara penggunaannya, ikuti tulisan di bawah ini (oya, bagi rekan-rekan yang belum mengetahui apa itu Outseal, silahkan mengunjungi situs resminya di sini: www.outseal.com). 

Agar mempermudah pemahaman, maka saya akan membahas cara penggunaan Wokwi untuk simulasi Outseal Nano, mulai dari topik yang sederhana hingga kompleks. 

Berikut ini (rencana) beberapa topiknya:

  1. Membaca Tombol dan menyalakan LED
  2. Membaca Potensio dan memutar Motor Servo
  3. Komunikasi Modbus: Coil dan Input Diskrit
  4. Komunikasi Modbus: Input Register dan Holding Register
  5. Menampilkan data di 7-segmen 1 digit
  6. Menampilkan data di 7-segmen 4 digit
    1. Pewaktuan hitung naik (Count-up Timer)
    2. Pewaktuan hitung mundur (Countdown timer)
    3. Menggunakan 7-segmen 4-digit Common Cathode
    4. Menggunakan 7-segmen 8-digit untuk menampilkan 4 data
    5. Menampilkan data Modbus di 7-segmen 8-digit Common Cathode
  7. Simulasi Pengisian Botol dengan LabVIEW
  8. Kontrol & Monitor IO Outseal Nano dari Halaman Web
  9. Kontrol & Monitor IO Outseal Nano dari jarak jauh via Internet
  10. Kontrol & Monitor IO Outseal Nano dengan IoT MQTT Panel
  11. Simulasi Lift 5 lantai dengan EasyBuilder Pro, Outseal Nano & Wokwi
    1. Simulasi Lift 5 lantai dengan memori internal
    2. Simulasi Lift 5 lantai terpantau Outseal Nano
    3. Simulasi Lift 5 lantai terkontrol Outseal Nano
  12. Simulasi Proses Sorting dengan EasyBuilder Pro, Outseal Nano & Wokwi
  13. Simulasi Proses Distribusi dengan EasyBuilder Pro, Outseal Nano & Wokwi
  14. Simulasi Pengisian Botol dengan EasyBuilder Pro, Outseal Nano & Wokwi
Berikut ini uraian masing-masing topik di atas:




=========================================================================


1. Membaca tombol dan Menyalakan LED

Berikut ini langkah-langkahnya:
1. Buka Outseal Studio.
2. Klik tombol Settings, pilih Hardware: Nano V5. 
3. Munculkan sebuah anak tangga,  tempatkan Switch S.1 dan Relay R.1 seperti gambar berikut ini:

Gambar 1.1 Sebaris anak tangga dengan Switch S1 dan Relay R1

4. Perhatikan kaki Outseal S.1 dan R.1, terlihat bahwa S.1 berada di kaki A0 Arduino Nano, dan R.1 berada di kaki D13.
5. Kompilasi program Ladder Diagram di atas dengan menekan tombol Test. Apabila tidak muncul pesan kesalahan, maka hasil kompilasi (file Hasil.hex) akan muncul di lokasi direktori C:\Users\***\AppData\Local\Temp\Outseal\Hasil.hex, di mana *** adalah nama user. 

Gambar 1.2 Penekanan tombol Test menghasilkan file Hasil.hex yang berada di lokasi C:\Users\***\AppData\Local\Temp\Outseal\Hasil.hex

6. Berikutnya buka Wokwi, klik pada board Arduino, kemudian pilih Arduino Nano. 
7. Di rangkaian Arduino Nano Wokwi, tambahkan sebuah tombol dan sebuah LED dan resistor 330 ohm yang dihubung seperti gambar berikut ini. Untuk lebih cepatnya, rekan-rekan dapat meng-klik link berikut ini: https://wokwi.com/projects/425387968703558657

Gambar 1.3 Rangkaian Arduino Nano dengan Switch (S1), LED (R1) dan resistor 330 ohm

8. Berikutnya klik kanan halaman sketch.ino Wokwi, pilih Command Palette.

Gambar 1.4 Di halaman sketch, klik kanan, pilih Command Palette atau tekan tombol F1

9. Di kotak dialog yang muncul, pilih Upload Firmware and Start Simulation.

Gambar 1.5 Di kotak yang muncul, pilih Upload Firmware and Start Simulation

10. Arahkan kotak pencarian firmware ke file Hasil.hex, kemudian klik Open.

Gambar 1.6 Muncul kotak Open, arahkan ke lokasi file Hasil.hex, kemudian klik Open

11. Setelah file Hasil.hex dapat di-"upload", maka secara otomatis simulasi Wokwi bekerja.

Gambar 1.7 Setelah file Hasil.hex dapat di-"upload", secara otomatis simulasi Wokwi bekerja

12. Tekan tombol S1, maka R1 menyala, lepas tombol S1, maka R1 padam.

Gambar 1.8 Ketika tombol S1 ditekan, maka R1 menyala, dan R1 akan padam ketika tombol S1 dilepas

13. Berikutnya, agar semua kaki IO digital dapat diaktifkan, buat Ladder Diagram seperti Gambar 1.9 berikut ini. Buat 8 anak tangga, yang menghubungkan semua input Switch (S.1 - S8) Outseal Nano ke semua output Relay (R.1 - R.8). Untuk lebih cepatnya, rekan-rekan dapat mengunduh Ladder Diagram tersebut di: https://drive.google.com/file/d/1XKzlYwBJNYvJL2K8AZawlFwIKwxKpvLD/view?usp=sharing

Gambar 1.9 Menggunakan semua kaki Input Output Digital Outseal Nano

14. Setelah program selesai dibuat, tekan tombol Test, pastikan muncul pesan "Tidak terdapat kesalahan". 
15. Ganti tombol dengan Switch, dan perbanyak sebanyak 8 buah. Begitu pula untuk LED dan Resistor, perbanyak sebanyak 8 buah. Hubungkan seperti gambar rangkaian berikut ini, di mana S.1 - S.4 terhubung ke kaki A.0 - A.3, dan S.5 - S.8 terhubung ke kaki D.2 - D.5. Kemudian berturut-turut kaki D13, D12, D11, D6, D7, D8, D9 dan D10 terhubung ke kaki LED R.1 sampai R.8. Jalankan simulasi dengan menggunakan Upload Firmware and Start Simulation, arahkan ke lokasi file Hasil.hex.

Gambar 1.10 Upload Firmware and Start Simulation, kemudian geser Switch S.2, S.4. S.6 dan S.8 ke kanan, maka LED R.2, R.4, R.6 dan R.8 menyala

Catatan: Untuk menambahkan tulisan S1 - S8 dan R1 - R8 di gambar rangkaian Wokwi, tambahkan kode di Tab diagram.json, yaitu di bagian "parts", dengan kode seperti berikut ini:

{"type":"wokwi-text","id":"txt1","top":0,"left":0,"attrs":{"text":"R1"}},
{"type":"wokwi-text","id":"txt2","top":0,"left":20,"attrs":{"text":"R2"}},
{"type":"wokwi-text","id":"txt3","top":0,"left":40,"attrs":{"text":"R3"}},

dan seterusnya ...
Lebih jelasnya lihat gambar berikut ini:

Gambar 1.11 Penambahan kode di diagram.json untuk menampilkan teks S1 - S8 dan R1 - R8 di gambar rangkaian Wokwi

17. Apabila rekan-rekan menemui kesulitan dalam pembuatan rangkaian di atas, silahkan klik link Wokwi berikut ini: https://wokwi.com/projects/425124973404266497

18. Agar lebih jelas, berikut ini video pembuatan bagian 1 ini:

Video Bagian 1




=========================================================================


2. Membaca Potensio dan Memutar Motor Servo

Berikut ini langkah-langkahnya:
1. Buka Outseal Studio.
2. Klik tombol Settings, pilih Hardware: Nano V5. 
3. Buat Ladder Diagram untuk pembacaan potensio di A.1 (kaki A7 Arduino Nano), dan mengubahnya dari nilai 0 - 1023 menjadi 880 - 975. Nilai 880 - 975 ini merupakan nilai Duty Cycle untuk pengaturan posisi motor servo dari 0 - 180 derajat dengan bantuan SETPWM, dengan frekuensi pulsa 50Hz, seperti ditunjukkan pada gambar berikut. Untuk lebih cepatnya, rekan-rekan dapat mengunduh Ladder Diagram tersebut di: https://drive.google.com/file/d/15rGJzdMSRCL5B4PNAYWHaaRA03lHD5v0/view?usp=sharing

Gambar 2.1 Seting dan program Outseal Nano untuk pembacaan potensio yang digunakan untuk kontrol posisi motor servo

Gambar 2.2 Ladder Diagram untuk kontrol posisi motor servo dengan potensio

4. Setelah program selesai dibuat, tekan tombol Test, pastikan muncul pesan "Tidak terdapat kesalahan".
5. Berikutnya buka Wokwi, klik pada board Arduino, kemudian pilih Arduino Nano. 
6. Di rangkaian Arduino Nano Wokwi, tambahkan sebuah motor Servo dan sebuah Potensio putar, yang dihubung seperti Gambar 2.3 berikut ini, di mana kaki PWM motor Servo terhubung ke kaki D9 Arduino Nano (ini sama dengan kaki R.7 Outseal Nano, yang merupakan kaki khusus untuk PWM), dan kaki SIG Potensio terhubung ke kaki A6 Arduino Nano (ini sama dengan kaki A.1 Outseal Nano). Untuk lebih cepatnya, rekan-rekan dapat menggunakan rangkaian Wokwi di link berikut ini: https://wokwi.com/projects/425396501681053697
7. Klik kanan di halaman Sketch, pilih Command Palette, pilih Upload Firmware and Start Simulation, arahkan ke lokasi file Hasil.hex, yang ada di C:\Users\***\AppData\Local\Temp\Outseal\Hasil.hex, di mana *** adalah nama user. 

Gambar 2.3 Klik kanan, pilih Command Palettepilih Upload Firmware and Start Simulation, arahkan ke lokasi file Hasil.hex, maka simulasi Wokwi akan berjalan

8. Putar knob Potensio, maka seharusnya Servo ikut berputar. 
9. Berikutnya, tambahkan 5 buah LED yang dihubungkan ke kaki R.1 - R.5 Outseal Nano (berturut-turut berada di kaki D13, D12, D10, D6, dan D7). Tambahkan lagi sebuah Potensio geser, dan hubungkan ke kaki A7 Arduino Nano (ini sama dengan kaki A.2 Outseal Nano).  Buat rangkaiannya seperti Gambar 2.4 berikut ini (untuk lebih cepatnya, rekan-rekan dapat menggunakan rangkaian Wokwi berikut ini: https://wokwi.com/projects/425443518922675201).

Gambar 2.4 Penambahan Potensio geser yang dihubungkan ke kaki A.2 Outseal Nano, dan 5 buah LED yang dihubungkan ke kaki R.1 - R.5 Outseal Nano

10. Diinginkan penggeseran Potensio geser dari minimal hingga maksimal akan menyalakan kelima LED secara bergantian, mengikuti posisi knob Potensio. Berikut ini program Ladder Diagramnya:
Gambar 2.5 Ladder Diagram kontrol servo dengan potensio putar dan kontrol 5 buah LED dengan potensio geser

11. Untuk lebih cepatnya, rekan-rekan dapat mengunduh Ladder Diagram di atas di link ini: https://drive.google.com/file/d/1S6JU2hdz6YwVgFHisbmV8xLEoOrgEQNd/view?usp=sharing
12. Setelah program selesai dibuat, tekan tombol Test, pastikan muncul pesan "Tidak terdapat kesalahan".
13. Kembali ke Wokwi, klik kanan di halaman Sketch, pilih Command Palettepilih Upload Firmware and Start Simulation, arahkan ke lokasi file Hasil.hex, yang berada di C:\Users\***\AppData\Local\Temp\Outseal\Hasil.hex, di mana *** adalah nama user. Seharusnya simulasi Wokwi berjalan. Geser Potensio dari kiri ke kanan, maka seharusnya kelima LED nyala secara berurutan.

Gambar 2.6 Simulasi Wokwi memperlihatkan ketika Potensio geser berada di tengah, LED ketiga menyala

14. Agar lebih jelas, berikut ini video pembuatan bagian 2 ini:

Video Bagian 2




=========================================================================



3. Komunikasi Modbus: Coil dan Input Diskrit

Berikut ini langkah-langkahnya:
1. Melanjutkan rangkaian Wokwi sebelumnya, untuk baca dan tulis IO digital (di link ini: https://wokwi.com/projects/425124973404266497), diinginkan semua Switch (S.1 - S.8) dapat dimonitor kondisinya dari perangkat luar melalui Modbus Poll, dan semua Relay (R.1 - R.8) dapat dikontrol juga dari perangkat luar melalui Modbus Poll. Di sini Outseal Nano difungsikan sebagai Modbus Slave.
2. Perhatikan peta alamat Modbus di Outseal seperti terlihat dalam Tabel 1 berikut:

Tabel 1. Peta Alamat Modbus Outseal

3. Dari Tabel di atas, terlihat S.1 - S.8 berada di Input Diskrit 0 - 7, dan R.1 - R.8 berada di Coil 0 - 7. Baik S.1 - S.8 dan R.1 - R.8 hanya bisa dibaca (Read Only). Agar bisa juga ditulis (Write), untuk data digital, kita perlu menggunakan bantuan Binary/Memori Digital (B.1 - B.8). Untuk itu buat Ladder Diagram seperti Gambar 3.1 berikut ini:

Gambar 3.1 Baca dan tulis data Modbus di Outseal Nano

4. Untuk lebih cepatnya, rekan-rekan dapat mengunduh Ladder Diagram di atas, di link ini: https://drive.google.com/file/d/1QsJqSzxTbQwHfL-P8GQ31XnHDoIo8Fg9/view?usp=sharing
5. Buka Outseal Studio, buka Ladder Diagram di atas, tekan tombol Test, pastikan muncul pesan "Tidak terdapat kesalahan".
6. Berikutnya buka Modbus Poll. Rekan-rekan dapat mengunduh Modbus Poll di link ini: https://plc247.com/download-modbus-poll-v9-5-full-version/
7. Agar bisa membaca kondisi R.1 - R.8, pilih menu Setup, pilih Read/Write Definition, di jendela yang muncul, biarkan Slave ID = 1 (sesuai seting Slave ID di Outseal Studio), pilih Function = 01 Read Coils, isi Address = 0, Quantity = 8, dan pilih Fit to Quantity. Klik OK.

Gambar 3.2 Untuk pembacaan R.1 - R.8, atur Function = 01 Read Coils dengan alamat dimulai dari 0 (Address) sebanyak 8 (Quantity)

8. Berikutnya, agar bisa membaca kondisi S.1 - S.8, pilih menu Setup, pilih Read/Write Definition, di jendela yang muncul, biarkan Slave ID = 1 (sesuai seting Slave ID di Outseal Studio), pilih Function = 02 Read Discrete Inputs, isi Address = 0, Quantity = 8, dan pilih Fit to Quantity. Klik OK.

Gambar 3.3 Untuk pembacaan S.1 - S.8, atur Function = 02 Read Discrete Inputs dengan alamat dimulai dari 0 (Address) sebanyak 8 (Quantity)

9. Berikutnya, agar bisa mengatur kondisi R.1 - R.8 melalui B.1 - B.8, pilih menu Setup, pilih Read/Write Definition, di jendela yang muncul, biarkan Slave ID = 1 (sesuai seting Slave ID di Outseal Studio), pilih Function = 01 Read Coils, isi Address = 128, Quantity = 8, dan pilih Fit to Quantity. Klik OK.

Gambar 3.4 Agar bisa mengontrol R.1 - R.8 melalui B.1 - B.8, atur Function = 01 Read Coils dengan alamat dimulai dari 128 (Address) sebanyak 8 (Quantity)

10. Setelah pengaturan alamat Modbus, langkah berikutnya adalah melakukan sambungan. Untuk itu pilih menu Connection, pilih Connect, pilih Connection = Serial Port, pilih port COM yang berpasangan (dalam contoh di sini menggunakan COM5 dan COM6, COM5 untuk Modbus Poll, dan COM6 untuk Outseal Nano di Wokwi). Untuk mengetahui pasangan COM, gunakan Device Manager. Untuk seting baudrate dan lain-lain, gunakan pilihan default.

Catatan: Apabila tidak ada pasangan COM di Device Manager, rekan-rekan dapat menginstal software pembuat pasangan virtual serial port, salah satunya HHD Serial Port Virtual (https://hhdsoftware.com/virtual-serial-port-tools).

Gambar 3.5 Lakukan koneksi, pilih Connect, pilih Connection = Serial, pilih COM yang berpasangan, klik OK (gunakan default nilai untuk baudrate dan seting yang lain)

11. Berikutnya, buka Wokwi yang mensimulasikan rangkaian Outseal Nano di link berikut ini: 

Gambar 3.6 Rangkaian Outseal Nano dengan 8 buah IO digital di Wokwi

12. Agar Outseal Nano di Wokwi ini bisa terhubung dengan port COM 6 di komputer, tambahkan kode berikut ini di Tab diagram.json, seperti ditunjukkan pada Gambar 3.7 berikut.

Gambar 3.7 Penambahan kode untuk komunikasi serial di Tab diagram.json

Agar lebih jelas dengan kodenya, berikut ini dituliskan kembali kode untuk penambahan komponen serial port di bagian "parts" dan juga penambahan kode untuk sambungan di bagian "connections".
  • Tambahkan kode ini di bagian "parts":
    {
      "type": "wokwi-serial-port",
      "id": "serial",
      "attrs": {
        "baud": "9600"
      }
    },

  • Tambahkan kode ini di bagian "connections":
    ["nano:0","serial:TX","",[]],
    ["nano:1","serial:RX","",[]],

13. Setelah kode untuk komunikasi serial di atas selesai ditambahkan, langkah berikutnya, klik kanan di halaman Sketch, pilih Command Palette, pilih Upload Firmware and Start Simulation, arahkan ke lokasi file Hasil.hex, yang berada di C:\Users\***\AppData\Local\Temp\Outseal\Hasil.hex. Kemudian pastikan ketika simulasi Wokwi berjalan, muncul kotak dialog pemilihan Port COM seperti ditunjukkan pada Gambar 3.8 berikut ini. 

Catatan: Apabila kotak pemilihan Port COM tersebut tidak muncul, tekan tombol Stop, kemudian ulangi kembali Upload Firmware and Start Simulation (Seandainya kotak dialog masih tidak muncul, silahkan menggunakan browser Google Chrome).

Gambar 3.8 Ketika simulasi dijalankan dengan Upload Firmware and Start Simulation, pastikan kotak dialog pemilihan Port COM muncul, pilih port COM yang berpasangan dengan port COM yang digunakan di Modbus Poll

14. Apabila kotak dialog pemilihan port COM sudah muncul di Wokwi, pilih port COM yang berpasangan dengan port COM yang digunakan di Modbus Poll. Berikutnya buka Modbus Poll, ubah nilai B.1 - B.8 (jendela ketiga), dan perhatikan nyala LED R.1 - R.8 dan juga nilainya di Modbus Poll (jendela pertama). Ubah juga posisi Switch S.1 - S.8, dan perhatikan statusnya di Modbus Poll (jendela kedua).

Gambar 3.9a Lakukan pengubahan nilai B.1 - B.8 di Modbus Poll dan juga posisi Switch S.1 - S.8 di Wokwi, tampak nilai R.1 - R.8 = 10101011, S.1 - S.8 = 00000001, dan B.1 - B.8 = 10101010

Gambar 3.9b Pengubahan telah dilakukan, tampak nilai R.1 - R.8 = 11110011, S.1 - S.8 = 00000011, dan B.1 - B.8 = 11110000

15. Agar lebih jelas, berikut ini video pembuatan bagian 3 ini:

Video Bagian 3



=========================================================================
 

4. Komunikasi Modbus: Input Register dan Holding Register

Berikut ini langkah-langkahnya:
1. Diinginkan semua Potensio (A.1 - A.2) dapat dimonitor kondisinya dengan Modbus Poll, dan Output PWM (R.7) untuk kontrol motor servo, dan kelima LED di R.1 - R.5 dapat dikontrol dari Modbus Poll. Di sini Outseal Nano digunakan sebagai Modbus Slave.
2. Perhatikan Tabel Peta Alamat Modbus Outseal Nano di atas. Untuk Potensio, yang merupakan input analog, datanya berada di Input Register, sedangkan untuk PWM, dan kontrol kelima LED, dapat menggunakan data di Holding Register. Berikut ini contoh Ladder Diagram untuk pembacaan Potensio dan kontrol PWM serta kelima LED:

Gambar 4.1 Contoh Ladder Diagram untuk pembacaan Potensio dan Kontrol PWM dan LED melalui Modbus

Catatan: Ladder Diagram di atas akan membaca nilai Potensio yang memiliki jangkauan nilai 0 - 1023 (resolusi ADC 10 bit), dan untuk input kontrol motor servo memiliki jangkauan nilai 0 - 180, sedangkan untuk input kontrol LED memiliki jangkauan nilai 1 - 5.

3. Rekan-rekan dapat mengunduh Ladder Diagram di atas, di link ini: https://drive.google.com/file/d/1rQRtnZLkMs9iGqCRX7t2_yXPVPxXqSt4/view?usp=sharing
4. Buka Outseal Studio, buka Ladder Diagram di atas, tekan tombol Test, pastikan muncul pesan "Tidak terdapat kesalahan".
5. Berikutnya buka Modbus Poll. Agar bisa membaca kondisi A.1 - A.2, pilih menu Setup, pilih Read/Write Definition, di jendela yang muncul, biarkan Slave ID = 1 (sesuai seting Slave ID di Outseal Studio), pilih Function = 04 Read Input Registers, isi Address = 0, Quantity = 2, dan pilih Fit to Quantity. Klik OK.

Gambar 4.2 Untuk membaca A1 dan A2, pilih Function = Read Input Registers, isi Address = 0 dan Quantity = 2

6. Berikutnya, agar bisa mengontrol PWM dengan I.1 dan mengontrol 5 LED dengan I.3, pilih menu Setup, pilih Read/Write Definition, di jendela yang muncul, biarkan Slave ID = 1 (sesuai seting Slave ID di Outseal Studio), pilih Function = 03 Read Holding Registers, isi Address = 0, Quantity = 3, dan pilih Fit to Quantity. Klik OK.

Gambar 4.3 Untuk kontrol PWM dan 5 LED, pilih Function = Read Holding Registers, isi Address = 0 dan Quantity = 3

7. Berikutnya, agar bisa menampilkan kondisi kelima LED di R.1 - R.5, pilih menu Setup, pilih Read/Write Definition, di jendela yang muncul, Slave ID = 1 (sesuai seting Slave ID di Outseal Studio), pilih Function = 01 Read Coils, isi Address = 0, Quantity = 5, dan pilih Fit to Quantity. Klik OK.

Gambar 4.4 Untuk pembacaan R.1 - R.5, atur Function = 01 Read Coils dengan alamat dimulai dari 0 (Address) sebanyak 5 (Quantity)

8. Setelah pengaturan alamat Modbus, langkah berikutnya adalah melakukan sambungan. Untuk itu pilih menu Connection, pilih Connect, pilih Connection = Serial Port, pilih port COM yang berpasangan (dalam contoh di sini menggunakan COM5 dan COM6, COM5 untuk Modbus Poll, dan COM6 untuk Outseal Nano di Wokwi). Untuk mengetahui pasangan COM, gunakan Device Manager. Untuk seting baudrate dan lain-lain, gunakan pilihan default.

Gambar 4.5 Pilih Connection, pilih Connect, atur Connection = Serial Port, pilih COM yang berpasangan (lihat Device Manager)

9. Berikutnya, buka Wokwi yang mensimulasikan rangkaian Outseal Nano di link berikut ini: https://wokwi.com/projects/425443518922675201

Gambar 4.6 Rangkaian Outseal Nano dengan sebuah motor Servo, sebuah Potensio dan 5 buah LED dan resistor di Wokwi

Catatan: Agar simulasi Wokwi ini bisa terhubung dengan port serial di komputer, perhatikan bahwa ada tambahan kode di bagian "parts" dan di bagian "connections", dengan kode seperti terlihat di bawah ini.
  • Di bagian "parts":
    {
      "type": "wokwi-serial-port",
      "id": "serial",
      "attrs": {
        "baud": "9600"
      }
    },

  • Di bagian "connections":
    ["nano:0","serial:TX","",[]],
    ["nano:1","serial:RX","",[]],

10. Berikutnya, klik kanan di halaman Sketch, pilih Command Palette, pilih Upload Firmware and Start Simulation, arahkan ke lokasi file Hasil.hex, yang berada di direktori C:\Users\***\AppData\Local\Temp\Outseal\Hasil.hex, dengan *** adalah nama user.

Gambar 4.7 Upload hasil kompilasi Outseal Studio di Wokwi dengan meng-klik kanan halaman Code, pilih Command Palette, pilih Upload Firmware and Start Simulation, arahkan ke lokasi file Hasil.hex

11. Secara otomatis simulasi berjalan setelah Upload Firmware and Start Simulation. Pastikan ketika simulasi Wokwi berjalan, muncul kotak dialog pemilihan Port COM seperti ditunjukkan pada Gambar 4.8 berikut ini. 

Catatan: Apabila kotak pemilihan Port COM tersebut tidak muncul, tekan tombol Stop, kemudian ulangi kembali Upload Firmware and Start Simulation (Seandainya kotak dialog masih tidak muncul, silahkan menggunakan browser Google Chrome).

Gambar 4.8 Kotak dialog pemilihan Port COM muncul saat Upload Firmware and Start Simulation

12. Apabila kotak dialog pemilihan port COM sudah muncul di Wokwi, pilih port COM yang berpasangan dengan port COM yang digunakan di Modbus Poll. Berikutnya buka Modbus Poll, ubah nilai I.1 (jendela kedua) dari 0 - 180 untuk mengatur sudut lengan motor Servo. Atur juga nilai I.3 (jendela kedua) dari 1 - 5 untuk mengatur nyala kelima LED, dan perhatikan nilainya juga di Modbus Poll (jendela ketiga). Ubah juga knob Potensio putar dan Potensio geser di Wokwi, dan perhatikan nilainya di Modbus Poll (jendela pertama).

Gambar 4.9a Pembacaan nilai potensio putar dan potensio geser di Modbus Poll, dan kontrol sudut lengan motor Servo dan nyala kelima LED dari Modbus Poll

Gambar 4.9b Pengubahan telah dilakukan, perhatikan nilai potensio geser dan potensio putar di Modbus Poll, dan juga hasil kontrol sudut lengan motor servo dan kelima LED di Wokwi

13. Agar lebih jelas, berikut ini video pembuatan bagian 4 ini:

Video Bagian 4



=========================================================================


5. Menampilkan data di 7-segmen 1 digit

Berikut ini langkah-langkahnya:
1. Tampilan data yang lebih informatif seperti 7-segmen yang bisa menampilkan angka, tentu sangat dibutuhkan. Diinginkan Outseal Nano dapat menampilkan hitungan penekanan tombol di 7-segmen. Berhubung di sini hanya menggunakan 7-segmen 1 digit, maka penghitungan hanya bisa dilakukan dari 0 - 9 saja, setelah hitungan mencapai 9, angka di 7-segmen akan menjadi 0 kembali.
2. Salah satu contoh rangkaian untuk menampilkan data di 7-segmen 1 digit ini, rekan-rekan dapat menggunakan rangkaian di Wokwi di link ini: https://wokwi.com/projects/425503553358019585 
 
Catatan: Dalam rangkaian di bagian ini, digunakan IC Shift Register 74595. Tujuan penggunaan IC ini agar nantinya dapat digunakan untuk pembuatan tampilan 7-segmen 4 digit (lihat topik ke-6).


Gambar 5.1 Rangkaian Outseal Nano dengan sebuah tombol, sebuah IC 74595 dan sebuah 7-segmen

3. Berikut ini Ladder Diagram untuk menampilkan penghitungan jumlah penekanan tombol dengan tampilan 7-segmen 1 digit.
 
Gambar 5.2 Ladder Diagram Outseal untuk menampilkan angka 0 - 9 sesuai penekanan tombol 
 
Keterangan Ladder Diagram:
  1. Rung (anak tangga) 0 - 1 untuk membaca penekanan tombol dan memasukkan nilainya ke dalam Counter Up C.2. Ketika nilainya sudah mencapai 11 akan di-reset kembali ke 0. (Pertanyaan: mengapa angka terakhir C.2 adalah 11, bukan 10? Rekan-rekan akan dapat menjawab pertanyaan ini setelah mencoba hasil simulasinya. Silahkan mengganti angka 11 dengan 10, kemudian lihat hasil simulasinya, lalu bandingkan apabila angkanya dibuat 11) 
  2. Rung 2 - 11 untuk mengubah input angka 0 sampai 9 menjadi kode biner untuk ketujuh LED pada 7-segmen sehingga nyalanya membentuk angka yang sesuai.
  3. Rung 12 - 14 untuk menghasilkan pulsa Clock untuk kaki SHCP di IC 74595.
  4. Rung 15 - 23 untuk menghasilkan data serial dari nilai Counter C2 untuk kaki DS di IC 74595.
  5. Rung 24 untuk menghasilkan pulsa Latch untuk kaki STCP di IC74595, sekaligus me-reset pulsa Clock (Counter Up C.1).
4. Untuk memudahkan rekan-rekan dalam membuat Ladder Diagram di atas, silahkan mengunduhnya di link ini: https://drive.google.com/file/d/1HprC0VNADmnf39iM3t5jR64W5Gh6k9Ja/view?usp=sharing
5. Buka Outseal Studio, buka Ladder Diagram di atas, tekan tombol Test, pastikan muncul pesan "Tidak terdapat kesalahan".
6. Berikutnya, buka Wokwi di atas (link: https://wokwi.com/projects/425503553358019585). Klik kanan di halaman Sketch, pilih Command Palette, pilih Upload Firmware and Start Simulation, arahkan ke lokasi file Hasil.hex, yang ada di C:\Users\***\AppData\Local\Temp\Outseal\Hasil.hex, di mana *** adalah nama user. 
7. Tekan tombol beberapa kali dan perhatikan 7-segmen akan menampilkan angka sesuai jumlah penekanan tombol, seperti ditunjukkan gambar berikut ini. 

Gambar 5.3 Mula-mula, sebelum penekanan tombol, 7-segmen menampilkan angka 0
 
Gambar 5.4 Setelah tombol ditekan sebanyak 2 kali, maka 7-segmen menampilkan angka 2
 
Gambar 5.5 Setelah tombol ditekan sebanyak 9 kali, maka 7-segmen menampilkan angka 9. Penekanan berikutnya akan membuat angka di 7-segmen kembali ke 0.
 
Tantangan Aplikasi Timer: Diinginkan angka di 7-segmen bisa bertambah 1 angka setiap 2 detik tanpa perlu penekanan tombol. Ketika angka sudah mencapai 9, dan akan menjadi 10, angka akan kembali ke 0 dan berulang bertambah lagi 1 angka setiap 2 detik. Buat Ladder Diagram yang bisa menjawab tantangan ini.
Solusi: Apabila rekan-rekan menemui kesulitan, silahkan mengunduh Ladder Diagram untuk Tantangan tersebut di link ini: https://drive.google.com/file/d/1wvsMnfSS_30tMiyIqfwkJzQlutr5gl4b/view?usp=sharing

8. Agar lebih jelas, berikut ini video pembuatan bagian 5 ini:

Video Bagian 5




 
=========================================================================
 

6. Menampilkan data di 7-segmen 4 digit

Berikut ini langkah-langkahnya:
1. Diinginkan Outseal Nano dapat menampilkan nilai ADC pembacaan Potensio geser, yang memiliki jangkauan nilai dari 0 - 1023. Karena nilai maksimumnya 1023, maka diperlukan 7-segmen 4 digit. Agar Outseal Nano bisa menampilkan nilai pada tampilan 7-segmen 4 digit, 2 buah IC Shift Register 74595 perlu ditambahkan, seperti ditunjukkan pada rangkaian Wokwi di link ini: https://wokwi.com/projects/425647688512807937
 
Gambar 6.1 Rangkaian Outseal Nano dengan 2 buah IC Shift Register 74595, sebuah Potensio geser dan sebuah 7-segmen 4 digit
 
Catatan: Di sini menggunakan 2 buah IC Shift Register 74595. IC 74595 yang pertama digunakan untuk mengontrol nyala LED ketujuh segmen pada 7-segmen, sedangkan IC 74595 yang kedua digunakan untuk mengontrol digit (COM) pada keempat 7-segmen.
 
2. Berikut ini Ladder Diagram untuk menampilkan pembacaan nilai ADC Potensio geser pada 7-segmen 4 digit:

 
Gambar 6.2 Ladder Diagram untuk menampilkan nilai ADC potensio pada 7-segmen 4-digit
 
Keterangan Ladder Diagram:
  1. Rung (anak tangga) 0 - 1 untuk membaca nilai ADC Potensio di kaki A.1 Outseal Nano, dan hasilnya disimpan di memori I.11.
  2. Rung 2 - 7 untuk memisahkan angka yang disimpan di I.11 menjadi angka ribuan, angka ratusan, angka puluhan dan angka satuan. Angka ribuan disimpan di I.12, angka ratusan disimpan di I.15, angka puluhan disimpan di I.18 dan angka satuan disimpan di I.20.
  3. Rung 8 - 13 untuk menampilkan angka ribuan di digit pertama, angka ratusan di digit kedua, angka puluhan di digit ketiga dan angka satuan di digit keempat.
  4. Rung 14 - 23 untuk mengubah input angka 0 sampai 9 menjadi kode biner untuk ketujuh LED pada 7-segmen sehingga nyalanya membentuk angka yang sesuai.
  5. Rung 24 - 25 untuk menghasilkan pulsa Clock untuk kaki SHCP di IC 74595.
  6. Rung 26 - 40 untuk menghasilkan data serial dari nilai Counter C2 untuk kaki DS1 di IC 74595 yang pertama dan kaki DS2 di IC 74595 yang kedua.
  7. Rung 41 untuk menghasilkan pulsa Latch untuk kaki STCP di IC74595.
  8. Rung 42 untuk mereset Counter Up C.1.
4. Untuk memudahkan rekan-rekan dalam membuat Ladder Diagram di atas, silahkan mengunduhnya di link ini: https://drive.google.com/file/d/1y8UpX9EuGIhM53XKzgorfk4m9LMEjf34/view?usp=sharing
5. Buka Outseal Studio, buka Ladder Diagram di atas, tekan tombol Test, pastikan muncul pesan "Tidak terdapat kesalahan".
6. Berikutnya, buka Wokwi di atas (link: https://wokwi.com/projects/425647688512807937). Klik kanan di halaman Sketch, pilih Command Palette, pilih Upload Firmware and Start Simulation, arahkan ke lokasi file Hasil.hex, yang ada di C:\Users\***\AppData\Local\Temp\Outseal\Hasil.hex, di mana *** adalah nama user. 
7. Geser Potensio dan perhatikan tampilan 7-segmen 4 digit. Seharusnya ketika Potensio di posisi minimal, 7-segmen 4 digit menampilkan angka 0, dan ketika Potensio di posisi maksimal, 7-segmen 4 digit menampilkan angka 1023, seperti ditunjukkan dalam gambar berikut. 
 
Gambar 6.3a Potensio geser di posisi minimal, 7-segmen 4 digit menampilkan nilai 0

Gambar 6.3b Potensio digeser sedikit ke kanan, 7-segmen 4 digit menampilkan nilai 368

Gambar 6.3c Potensio digeser ke tengah, 7-segmen 4 digit menampilkan nilai 497

Gambar 6.3d Potensio digeser lebih jauh ke kanan, 7-segmen 4 digit menampilkan nilai 687

Gambar 6.3e Potensio geser di posisi maksimal, 7-segmen 4 digit menampilkan nilai 1023

Tantangan Aplikasi Timer: Diinginkan angka di 7-segmen 4 digit bisa bertambah 1 angka setiap 2 detik tanpa perlu penekanan tombol. Ketika angka sudah mencapai 9999, dan akan menjadi 10000, angka akan kembali ke 0 dan berulang bertambah lagi 1 angka setiap 2 detik. Buat Ladder Diagram yang bisa menjawab tantangan ini.
Solusi: Apabila rekan-rekan menemui kesulitan, silahkan mengunduh Ladder Diagram untuk Tantangan tersebut di link ini: https://drive.google.com/file/d/1AO98EdAS1ASir_Xegmuiw5wQcV6mLRQz/view?usp=sharing

8. Agar lebih jelas, berikut ini video pembuatan bagian 6 ini: 

Video Bagian 6




=========================================================================
 

6.1 Pewaktuan Hitung Naik (Count-up Timer)

Melanjutkan tantangan aplikasi Timer, diinginkan 7-segmen 4-digit bisa menampilkan nilai waktu dalam menit di 2 digit pertama, dan detik di 2 digit kedua, yang bertambah 1 setiap detiknya, dan bisa dijalankan dan dihentikan dengan penekanan tombol. 
 
Berikut ini langkah-langkah pembuatannya:
1. Untuk mudahnya, gunakan rangkaian Wokwi di link berikut ini: https://wokwi.com/projects/427353674099692545

Gambar 6.4 Rangkaian Wokwi untuk Count-up Timer pada 7-segmen 4-digit

2. Tabel berikut ini menunjukkan sambungan antara kaki-kaki kelima komponen pada gambar di atas:
 
Tabel 1. Sambungan kaki kelima komponen pada rangkaian Gambar 6.4
 

3. Dari rangkaian Wokwi di atas, berikut ini Ladder Diagram Outseal untuk membuat Count-up Timer dalam menit dan detik, dengan sebuah tombol untuk menjalankan dan menghentikannya.

Gambar 6.5 Ladder Diagram untuk Count-up Timer pada 7-segmen 4-digit
 
Keterangan Ladder Diagram:
  1. Rung (anak tangga) 0 untuk membuat Count-up Timer dapat dijalankan dan dimatikan dengan 1 tombol. Ketika tombol ditekan yang pertama kali, Count-up Timer berjalan, ketika tombol ditekan berikutnya, Count-Up Timer berhenti, demikian seterusnya.
  2. Rung 1-2 untuk membuat pulsa per detik, dan menghidup-matikan Colon (titik dua) yang ada di bagian tengah tampilan 7-segmen 4-digit. 
  3. Rung 3-8 untuk mengatur Counter menit (C4) dan detik (C3). Di sini nilai Preset Counter dibuat 61, bukan 60, karena ketika Counter direset, nilainya bukan menjadi 0 tetapi langsung 1. Maka agar bisa membuat nilai 0 muncul, nilai Preset dibuat 61. Ketika nilai Counter mencapai 60, nilai tersebut dibuat 0, dan nilai menit bertambah 1.
  4. Rung 9 - 14 untuk membuat nilai menit disimpan di I.15, dan nilai detik disimpan di I.11. Angka puluhan pada menit disimpan di I.16, angka satuan pada menit disimpan di I.18. Angka puluhan pada detik disimpan di I.12 dan angka satuan pada detik disimpan di I.14.
  5. Rung 15 - 20 untuk menampilkan angka puluhan menit di digit pertama, angka satuan menit di digit kedua, angka puluhan detik di digit ketiga dan angka satuan detik di digit keempat.
  6. Rung 21 - 30 untuk mengubah input angka 0 sampai 9 menjadi kode biner untuk ketujuh LED pada 7-segmen sehingga nyalanya membentuk angka yang sesuai.
  7. Rung 31 - 32 untuk menghasilkan pulsa Clock untuk kaki SHCP di IC 74595.
  8. Rung 33 - 47 untuk menghasilkan data serial dari nilai Counter C2 untuk kaki DS1 di IC 74595 yang pertama dan kaki DS2 di IC 74595 yang kedua.
  9. Rung 48 untuk menghasilkan pulsa Latch untuk kaki STCP di IC74595.
  10. Rung 49 untuk mereset Counter Up C.1.
4. Untuk memudahkan rekan-rekan dalam membuat Ladder Diagram di atas, silakan mengunduhnya di link ini: https://drive.google.com/file/d/1CtxGQjqjb7N3uVz_Lp17uJUQFwnQrTT6/view?usp=sharing
5. Buka Outseal Studio, buka Ladder Diagram di atas, tekan tombol Test, pastikan muncul pesan "Tidak terdapat kesalahan".
6. Berikutnya, buka Wokwi di atas (link: https://wokwi.com/projects/427353674099692545). Klik kanan di halaman Sketch, pilih Command Palette, pilih Upload Firmware and Start Simulation, arahkan ke lokasi file Hasil.hex, yang ada di C:\Users\***\AppData\Local\Temp\Outseal\Hasil.hex, di mana *** adalah nama user.
7. Tekan tombol untuk menjalankan pewaktuan dan tekan tombol lagi untuk menghentikannya. Gambar berikut menunjukkan tampilan simulasi hasil Ladder Diagram di atas.

Gambar 6.6 Simulasi Wokwi untuk Count-up Timer pada 7-segmen 4-digit

8. Agar lebih jelas, berikut ini video pembuatan bagian 6.1 ini:


Video Bagian 6.1
 
 
 

=========================================================================
 

6.2 Pewaktuan Hitung Mundur (Countdown Timer)

Melanjutkan tantangan aplikasi Timer, diinginkan aplikasi Timer hitung mundur atau Count-down Timer, yaitu 7-segmen 4 digit bisa menampilkan penghitungan waktu mundur dari nilai waktu yang telah ditentukan sebelumnya hingga mencapai nilai 00:00. Tambahkan sebuah tombol untuk menjalankan penghitungan, dan sebuah LED untuk menandai Timer sedang berjalan, dan akan padam ketika Timer berhenti.

Berikut ini langkah-langkah pembuatannya:
1. Untuk mudahnya, gunakan rangkaian Wokwi di link berikut ini: https://wokwi.com/projects/427347633887306753

Gambar 6.7 Rangkaian Wokwi untuk Count-down Timer pada 7-segmen 4-digit

2. Tabel berikut ini menunjukkan sambungan antara kaki-kaki keenam komponen pada gambar di atas:
 
 Tabel 2. Sambungan kaki keenam komponen pada rangkaian Gambar 6.7
 
 
Catatan: Resistor 330 ohm belum dicantumkan dalam Tabel. Sisipkan resistor 330 ohm pada LED seperti ditunjukkan pada Gambar 6.7 di atas.

3. Dari rangkaian Wokwi di atas, berikut ini Ladder Diagram Outseal untuk membuat Count-down Timer dalam menit dan detik, dengan sebuah tombol untuk menjalankan dan berhenti ketika nilai counter mencapai 0.



Gambar 6.8 Ladder Diagram untuk Countdown Timer pada 7-segmen 4-digit
 
Keterangan Ladder Diagram:
  1. Rung (anak tangga) 0-1 untuk membuat Countdown Timer dapat dijalankan dengan menekan  tombol, dengan nilai batas (setpoin) menit dapat diisikan di memori I.20. LED di R.2 menyala ketika Timer sedang berjalan, dan LED tersebut padam ketika Timer berhenti. Counter C4 harus di-reset agar Countdown Timer dapat dijalankan lagi ketika tombol ditekan.
  2. Rung 2-3 untuk membuat pulsa per detik, dan menghidup-matikan Colon (titik dua) yang ada di bagian tengah tampilan 7-segmen 4-digit. 
  3. Rung 4-10 untuk mengatur Counter menit (C4) dan detik (C3). Di sini nilai Preset Counter dibuat 61, bukan 60, karena ketika Counter direset, nilainya bukan menjadi 0 tetapi langsung 1. Maka agar bisa membuat nilai 0 muncul, nilai Preset dibuat 61. Ketika nilai Counter mencapai 60, nilai tersebut dibuat 0. Karena diinginkan penghitungan mundur, maka penghitungan dilakukan dengan mengurangkan angka 60 dengan nilai Counter, sehingga nilainya akan berjalan mulai dari 0, kemudian 59, 58, 57 dan seterusnya. Ketika nilai detik 0 berubah menjadi 59, maka nilai menit akan dikurangi 1. 
  4. Rung 11 - 14 untuk membuat nilai menit disimpan di I.15, dan nilai detik disimpan di I.11. Angka puluhan pada menit disimpan di I.16, angka satuan pada menit disimpan di I.18. Angka puluhan pada detik disimpan di I.12 dan angka satuan pada detik disimpan di I.14.
  5. Rung 15 - 20 untuk menampilkan angka puluhan menit di digit pertama, angka satuan menit di digit kedua, angka puluhan detik di digit ketiga dan angka satuan detik di digit keempat.
  6. Rung 21 - 30 untuk mengubah input angka 0 sampai 9 menjadi kode biner untuk ketujuh LED pada 7-segmen sehingga nyalanya membentuk angka yang sesuai.
  7. Rung 31 - 32 untuk menghasilkan pulsa Clock untuk kaki SHCP di IC 74595.
  8. Rung 33 - 47 untuk menghasilkan data serial untuk data 7-segmen ke kaki DS di IC 74595 yang bawah, dan untuk data 4-digit ke kaki DS di IC 74595 yang atas.
  9. Rung 48 untuk menghasilkan pulsa Latch untuk kaki STCP di IC74595.
  10. Rung 49 untuk mereset Counter Up C.1 yang digunakan untuk menghasilkan data segmen.
4. Untuk memudahkan rekan-rekan dalam membuat Ladder Diagram di atas, silahkan mengunduhnya di link ini: https://drive.google.com/file/d/1sV5U8u0AsHHYwWxzNU8Rd8C4urYycdha/view?usp=sharing
5. Buka Outseal Studio, buka Ladder Diagram di atas. Di rung 0, ubah angka 1 pada kolom Sumber di instruksi Copy/Salin dengan nilai batas waktu menit yang diinginkan, kemudian tekan tombol Test, pastikan muncul pesan "Tidak terdapat kesalahan".
6. Berikutnya, buka Wokwi di atas (link: https://wokwi.com/projects/427347633887306753). Klik kanan di halaman Sketch, pilih Command Palette, pilih Upload Firmware and Start Simulation, arahkan ke lokasi file Hasil.hex, yang ada di C:\Users\***\AppData\Local\Temp\Outseal\Hasil.hex, di mana *** adalah nama user. 
7. Tekan tombol Start untuk menjalankan Countdown Timer. LED akan menyala dan menjadi padam ketika tampilan di 7-segmen 4-digit menampilkan angka 00:00, seperti ditunjukkan pada Gambar berikut.

Gambar 6.9 Simulasi Wokwi untuk Count-down Timer pada 7-segmen 4-digit

8. Agar lebih jelas, berikut ini video pembuatan bagian 6.2 ini:

Video Bagian 6-2




=========================================================================
 

6.3 Menggunakan 7-segmen 4-digit Common Cathode

Komponen 7-segmen 4-digit yang digunakan sebelumnya menggunakan tipe Common Anode. Diinginkan mengganti tipe Common Anode tersebut dengan tipe Common Cathode. Perbedaan antara Common Anode dengan Common Cathode terletak pada sinyal untuk menyalakan segmen (a, b, c, d, e, f, g, dp). Apabila di Common Anode, segmen dinyalakan dengan memberi 0, maka di Common Cathode, segmen dinyalakan dengan memberi 1. Begitu pula untuk masing-masing digitnya, apabila di Common Anode, untuk menyalakan digit diberi 1, sebaliknya di Common Cathode, untuk menyalakan digit diberi 0. Begitu pula untuk kaki COM, di Common Anode kaki COM harus diberi 1 (+5V), sedangkan di Common Cathode, kaki COM harus diberi 0 (GND). 

Untuk lebih jelasnya, perhatikan Gambar 6.10 yang memperlihatkan rangkaian Outseal Nano dengan 7-segmen 4-digit Common Cathode dan Tabel 3 yang menampilkan perbandingan data segmen pada tipe Common Anode dan Common Cathode untuk menampilkan angka 0 sampai 9:

Gambar 6.10 Rangkaian Wokwi untuk Count-down Timer pada 7-segmen 4-digit Common Cathode

Tabel 3. Perbandingan Data segmen di 7-segmen tipe Common Anode dan Common Cathode


Berikut ini langkah-langkah penggunaannya:
1. Gunakan rangkaian Wokwi untuk membuat Countdown Timer seperti pada Gambar 6.7 di atas, hanya di sini 7-segmen 4-digit Common Anode diganti dengan 7-segmen 4-digit Common Cathode. Rekan-rekan dapat membukanya di link ini: https://wokwi.com/projects/427473091346684929
2. Berikutnya, untuk memudahkan pembuatan Ladder Diagram, gunakan Ladder Diagram yang sama seperti Ladder Diagram pada Gambar 6.8, hanya saja, di sini sinyal input ke 7-segmennya perlu dibalik, khususnya untuk CLN yang terhubung dengan kaki R.3, kaki segmen a-b-c-d-e-f-g-dp, yang disesuaikan dengan data seperti Tabel 3 di atas, dan terakhir kaki DIG1 - DIG4 yang terhubung dengan  kaki R.8 melalui IC74595. 

Gambar 6.11 Ladder Diagram untuk Countdown Timer pada 7-segmen 4-digit Common Cathode
 
Keterangan Ladder Diagram:
  1. Ladder Diagram Gambar 6.11 di atas hanya menampilkan instruksi yang berbeda dengan Ladder Diagram Gambar 6.8. 
  2. Ada 3 hal yang berbeda, yaitu pertama di Rung 3, di kontak P.1.ST menggunakan NC karena untuk menyalakan Colon (tanda titik dua di tengah 7-segmen 4-digit), perlu logika 1, di mana diinginkan ketika angka yang baru muncul, Colon juga muncul. 
  3. Hal yang kedua adalah data segmen a-b-c-d-e-f-g-dp yang diisikan pada Rung 21 - 30, diisi dengan data sesuai Tabel 3 untuk Common Cathode.
  4. Hal yang ketiga adalah data untuk DIG1, DIG2, DIG3 dan DIG4, yang dikontrol dari R.8 melalui IC74595. Karena tipe Cathode, maka R.8 harus dibuat 0 agar keempat digit tersebut dapat dinyalakan.
4. Untuk memudahkan rekan-rekan dalam membuat Ladder Diagram Gambar 6.11 di atas, silahkan mengunduhnya di link ini: https://drive.google.com/file/d/1v07MLkv4cfVM8sxVz_oW6Humi3A7XmBW/view?usp=sharing
5. Buka Outseal Studio, buka Ladder Diagram di atas. Di rung 0, ubah angka 5 pada kolom Sumber di instruksi Copy dengan nilai batas waktu menit yang diinginkan, kemudian tekan tombol Test, pastikan muncul pesan "Tidak terdapat kesalahan".
6. Berikutnya, buka Wokwi di atas (link: https://wokwi.com/projects/427347633887306753). Klik kanan di halaman Sketch, pilih Command Palette, pilih Upload Firmware and Start Simulation, arahkan ke lokasi file Hasil.hex, yang ada di C:\Users\***\AppData\Local\Temp\Outseal\Hasil.hex, di mana *** adalah nama user.
7. Tekan tombol Start untuk menjalankan Countdown Timer. LED akan menyala dan menjadi padam ketika tampilan di 7-segmen 4-digit menampilkan angka 00:00, seperti ditunjukkan pada Gambar berikut.

Gambar 6.12 Simulasi Wokwi untuk Countdown Timer pada 7-segmen 4-digit Common Cathode

8. Agar lebih jelas, berikut ini video pembuatan bagian 6.3 ini:

Video Bagian 6.3





=========================================================================
 

6.4 Menggunakan 7-Segmen 8-digit untuk menampilkan 4 data

Diinginkan untuk bisa menampilkan 4 buah data yang bernilai antara 0 - 99 pada 7-segmen 8 digit.

Berikut ini langkah-langkahnya:
1. Buka rangkaian Wokwi di link ini: https://wokwi.com/projects/427532181676518401

Gambar 6.13 Rangkaian Wokwi untuk menampilkan 4 buah data pada 7-segmen 8-digit Common Anode dengan Arduino Nano sebagai Outseal Nano

2. Gunakan Ladder Diagram berikut ini:
   
Gambar 6.14 Ladder Diagram untuk Countdown Timer pada 7-segmen 4-digit Common Cathode
 
Keterangan Ladder Diagram:
  1. Rung 0 - 3 untuk membuat keempat data secara berturut-turut diletakkan di I.11, I.15, I.19 dan I.23.
  2. Rung 4 - 11 untuk membuat pemisahan antara angka puluhan dengan angka satuan pada keempat data. Angka puluhan dan angka satuan pada data pertama disimpan di I.12 dan di I.14. Angka puluhan dan angka satuan pada data kedua disimpan di I.16 dan di I.18. Angka puluhan dan angka satuan pada data ketiga disimpan di I.20 dan di I.22. Angka puluhan dan angka satuan pada data keempat disimpan di I.24 dan di I.26. 
  3. Rung 12 - 21 untuk menempatkan angka puluhan dan angka satuan, dari data pertama hingga data keempat, pada kedelapan digit secara berurutan.
  4. Rung 22 - 31 untuk mengubah input angka 0 sampai 9 menjadi kode biner untuk ketujuh LED pada 7-segmen sehingga nyalanya membentuk angka yang sesuai.
  5. Rung 32 - 33 untuk menghasilkan pulsa Clock untuk kaki SHCP di kedua IC 74595.
  6. Rung 34 - 43 untuk menghasilkan data serial untuk data 7-segmen yang diberikan ke kaki DS (R.4) di IC 74595 yang bawah.
  7. Rung 44 - 52 untuk menghasilkan data serial untuk data 8-digit yang diberikan ke kaki DS (R.8) di IC 74595 yang atas.
  8. Rung 53 untuk menghasilkan pulsa Latch untuk kaki STCP di kedua IC 74595.
  9. Rung 54 untuk mereset Counter Up C.1 yang digunakan untuk membuat data 7-segmen.
4. Untuk memudahkan rekan-rekan dalam membuat Ladder Diagram Gambar 6.14 di atas, silahkan mengunduhnya di link ini: https://drive.google.com/file/d/1S1-DMKjSfNMin1ecfbyU5LcsR28_oD4u/view?usp=sharing
5. Buka Outseal Studio, buka Ladder Diagram di atas. Tekan tombol Test, pastikan muncul pesan "Tidak terdapat kesalahan".
6. Berikutnya, buka Wokwi di atas (link: https://wokwi.com/projects/427532181676518401). Klik kanan di halaman Sketch, pilih Command Palette, pilih Upload Firmware and Start Simulation, arahkan ke lokasi file Hasil.hex, yang ada di C:\Users\***\AppData\Local\Temp\Outseal\Hasil.hex, di mana *** adalah nama user.
7. Seharusnya 7-segmen 8-digit menampilkan angka 12345678. Untuk mengganti kedelapan angka tersebut, silahkan mengganti data yang disimpan di I.11, I.15, I.19 dan I.23 di Rung 0 - 3 pada Ladder Diagram.

Gambar 6.15 Simulasi Wokwi untuk menampilkan 4 buah data pada 7-segmen 8-digit Common Anode

8. Agar lebih jelas, berikut ini video pembuatan bagian 6.4 ini:

Video Bagian 6.4




=========================================================================
 

6.5 Menampilkan data Modbus di 7-Segmen 8-digit Common Cathode

Diinginkan untuk bisa menampilkan 4 buah data yang bernilai antara 0 - 99 pada 7-segmen 8 digit Common Cathode.

Berikut ini langkah-langkahnya:
1. Buka rangkaian Wokwi di link ini: https://wokwi.com/projects/427561760081577985

Gambar 6.16 Rangkaian Wokwi untuk menampilkan 4 buah data pada 7-segmen 8-digit Common Cathode dengan Arduino Nano sebagai Outseal Nano

2. Gunakan Ladder Diagram Gambar 6.14 di atas, dengan beberapa pengubahan khususnya pada Rung 22 - 31 dan 52, seperti ditunjukkan pada Gambar 6.17 berikut ini:

Gambar 6.17 Pengubahan pada rung 22 - 31 untuk data 7-segmen dan rung 52 untuk data 8-digit untuk Ladder Diagram 7-segmen 8-digit Common Cathode
 
Keterangan Ladder Diagram:
  1. Ladder Diagram untuk menampilkan 4 data pada 7-segmen 8-digit Common Cathode sama seperti Ladder Diagram Gambar 6.14, hanya berbeda pada data untuk 7-segmen dan 8-digitnya. Gambar 6.17 di atas menunjukkan hal yang berbeda tersebut, yaitu di rung 22 - 31 dan rung 52. 
  2. Rung 22 - 31 mengisikan data untuk ketujuh segmen (a-b-c-d-e-f-g) sesuai Tabel 3 untuk Common Cathode.
  3. Rung 52 mengatur R.8 untuk data 8-digit. Karena tipe Cathode, maka R.8 harus dibuat 0 agar kedelapan digit tersebut dapat dinyalakan.
4. Untuk memudahkan rekan-rekan dalam membuat Ladder Diagram Gambar 6.14 di atas, silahkan mengunduhnya di link ini: https://drive.google.com/file/d/1Amx0jqt8Y32giT08NwD5uujRFm1uvmF7/view?usp=sharing
5. Buka Outseal Studio, buka Ladder Diagram di atas. Di rung 0-3, terlihat angka pada instruksi Copy, yaitu di data Sumber berturut-turut 98, 76, 54 dan 32. Kemudian tekan tombol Test, pastikan muncul pesan "Tidak terdapat kesalahan".
6. Berikutnya, buka Wokwi di atas (link: https://wokwi.com/projects/427561760081577985). Klik kanan di halaman Sketch, pilih Command Palette, pilih Upload Firmware and Start Simulation, arahkan ke lokasi file Hasil.hex, yang ada di C:\Users\***\AppData\Local\Temp\Outseal\Hasil.hex, di mana *** adalah nama user.
7. Seharusnya 7-segmen 8-digit menampilkan angka 98765432, sesuai dengan 4 buah data yang ditempatkan di I.11, I.15, I.19 dan I.23 (lihat rung 0 - 3 Ladder Diagram).

Gambar 6.18 Simulasi Wokwi untuk menampilkan 4 buah data pada 7-segmen 8-digit Common Cathode

8. Anggap data Modbus yang ingin ditampilkan adalah data Holding Register 0, 1, 2 dan 3, yang ditempatkan di memori I.1 - I.4. Untuk itu, di rung 0 - 3, ganti angka 98 dengan I.1, angka 76 dengan I.2, angka 54 dengan I.3 dan angka 32 dengan I.4, seperti ditunjukkan pada Gambar 6.19 berikut. 
Gambar 6.19 Rung 0 - 3 membuat data modbus Holding Register 0 - 3 ditampilkan di 7-segmen 8 digit 

9. Setelah selesai mengganti keempat angka dengan I.1 - I.4 , tekan tombol Test.  
10. Berikutnya, agar Outseal Nano di Wokwi ini bisa berkomunikasi dengan protokol Modbus RTU via port COM di komputer, tambahkan kode berikut ini di bagian "parts" dan di bagian "connections", dengan kode seperti terlihat di bawah ini di diagram.json
  • Di bagian akhir "parts":
,{
      "type": "wokwi-serial-port",
      "id": "serial",
      "attrs": {
        "baud": "9600"
      }
    }
  • Di bagian "connections":
    ["nano:0","serial:TX","",[]],
    ["nano:1","serial:RX","",[]],

11. Berikutnya buka Modbus Poll. Agar bisa mengirimkan data I.1 - I.4, pilih menu Setup, pilih Read/Write Definition, di jendela yang muncul, biarkan Slave ID = 1 (sesuai seting Slave ID di Outseal Studio), pilih Function = 03 Read Holding Registers, isi Address = 0, Quantity = 4, dan pilih Fit to Quantity. Klik OK.

Gambar 6.20 Pengaturan Modbus Poll untuk data modbus Holding Register di I.1 - I.4

12. Berikutnya, lakukan koneksi dengan memilih menu Connection, pilih Connect, pilih Connection = Serial Port, pilih port COM yang berpasangan (dalam contoh di sini menggunakan COM5 dan COM6, COM5 untuk Modbus Poll, dan COM6 untuk Outseal Nano di Wokwi). Untuk mengetahui pasangan COM, gunakan Device Manager. Klik OK untuk menyambungkan.

Gambar 6.21 Pilih Connect, isi Connection = Serial Port, pilih COM yang berpasangan (lihat di Device Manager), klik OK

13. Berikutnya buka Wokwi berdampingan dengan Modbus Poll. Klik kanan di halaman Sketch, pilih Command Palette, pilih Upload Firmware and Start Simulation, arahkan ke lokasi file Hasil.hex. 
14. Secara otomatis simulasi Wokwi akan berjalan setelah Upload Firmware and Start Simulation. Pastikan ketika simulasi Wokwi berjalan, muncul kotak dialog pemilihan Port COM.

Catatan: Apabila kotak pemilihan Port COM tersebut tidak muncul, tekan tombol Stop, kemudian ulangi kembali Upload Firmware and Start Simulation (Seandainya kotak dialog masih tidak muncul, silahkan menggunakan browser Google Chrome).

15. Isi kolom I.1 - I.4 dengan angka antara 0 - 99. Seharusnya keempat data tersebut ditampilkan secara berurutan dari digit 1 - 8 di 7-segmen 8 digit.

Gambar 6.22 Data dari modbus di I.1 - I.4 ditampilkan di 7-segmen 8-digit

16. Agar lebih jelas, berikut ini video pembuatan bagian 6.5 ini: 

Video Bagian 6.5





=========================================================================

 

7. Simulasi Pengisian Botol dengan LabVIEW

Berikut ini langkah-langkahnya:
1. Unduh program LabVIEW simulasi pengisian botol yang ditautkan di deskripsi video berikut ini: https://youtu.be/LuoIE-HcOUM?feature=shared

Gambar 7.1 Download program LabVIEW untuk simulasi pengisian botol

2. Setelah ter-download, buka program LabVIEW tersebut, dan tekan tombol Run (panah ke kanan) untuk menjalankan simulasi. Tekan tombol S1, S2 dan S3 secara berurutan dan perhatikan jalannya simulasi pengisian botol. Kemudian naikkan tuas saklar untuk menjalankan proses secara otomatis, seperti ditunjukkan gambar berikut ini:

Gambar 7.2 Jalankan program LabVIEW simulasi pengisian botol

3. Diinginkan ketiga tombol (S1, S2, S3) dan Saklar Manual/Auto dapat dikontrol dari Outseal Nano. Kemudian Conveyor1, Conveyor2, Valve dan gerak pemutar piringan serta jumlah botol yang telah diisi dapat dimonitor dari Outseal Nano. Untuk merealisasikan hal ini, berikut ini beberapa hal yang perlu diperhatikan:
  • Ketiga tombol (S1, S2, S3) dan Saklar Manual/Auto dapat dibaca dan disimpan datanya di I.1, di mana secara berturut-turut memiliki nilai mulai dari 1 - 5 (S1 = 1, S2 = 2, S3 = 3, S4 = Man = 4, S5 = Auto = 5).
  • Indikator Conveyor1 ditampilkan dalam bentuk Relay R.1, yang diaktifkan dengan Coil di B.7.
  • Indikator Valve atau katup pengisian ditampilkan dalam bentuk Relay R.2, yang diaktifkan dengan Coil di B.8.
  • Indikator Conveyor2 ditampilkan dalam bentuk Relay R.3, yang diaktifkan dengan Coil di B.9.
  • Indikator pemutar piringan ditampilkan dalam bentuk simulasi Motor Stepper, yang dikontrol oleh B.10 dan SPWM melalui R.4.
  • Jumlah botol yang diisi ditampilkan di 7-segmen 4 digit, melalui R5 - R8, dengan bantuan 2 buah IC Shift Register. Data untuk tampilan 7-segmen ini dapat dimasukkan melalui I.11 (lihat Ladder Diagram untuk menampilkan data potensio di 7-segmen 4 digit, di mana hasil pembacaan potensio disimpan di I.11).
4. Untuk mempercepat pembuatan, maka silahkan rekan-rekan dapat mengunduh program LabVIEW yang sudah diberi tambahan komunikasi modbus untuk keperluan di atas di link ini: https://drive.google.com/file/d/1YVrKRpBxiV49WruhSvHRGwtkjOu2ynTx/view?usp=sharing
5. Sedangkan untuk program Outseal Nano, berikut ini Ladder Diagram untuk keperluan di atas:

Gambar 7.3 Ladder Diagram Outseal Nano di Wokwi untuk terhubung dengan Simulasi Pengisian Botol di LabVIEW

Keterangan Ladder Diagram:
  1. Rung (anak tangga) 0 - 4 untuk menyediakan memori modbus I.1 sebagai alternatif input untuk S1, S2, S3 dan Saklar Man/Auto. Apabila I.1 diisi 1, ini berarti S1 ditekan, apabila diisi 3, ini berarti S3 ditekan, apabila diisi 5, ini berarti Saklar di posisi Auto.
  2. Rung 5 untuk mengaktifkan indikator R.1 (Conveyor1) dengan memori modbus B.7.
  3. Rung 6 untuk mengaktifkan indikator R.2 (Valve) dengan memori modbus B.8.
  4. Rung 7 untuk mengaktifkan indikator R.3 (Conveyor2) dengan memori modbus B.9.
  5. Rung 8 - 9 untuk memberikan pulsa ke indikator R.4 (membuat Stepper berputar) dengan memori modbus B.10.
  6. Rung 10 - 50 untuk menampilkan data jumlah botol ke 7-segmen 4 digit.
6. Untuk memudahkan rekan-rekan dalam membuat Ladder Diagram di atas, silahkan mengunduhnya di link ini: https://drive.google.com/file/d/1bd7eeNQtuZCzcN3oaGVo2PnPGaM4d0La/view?usp=sharing

Catatan: Bagi rekan-rekan yang belum memiliki software LabVIEW dan library (add-on) yang diperlukan, silahkan bisa menginstal ketiga software berikut ini. 
(Keterangan: Software pertama adalah software pemrograman LabVIEW. Software kedua adalah driver untuk berkomunikasi secara serial. Sedangkan software ketiga adalah library untuk protokol komunikasi termasuk Modbus RTU).

7. Buka Outseal Studio, buka Ladder Diagram di atas, tekan tombol Test, pastikan muncul pesan "Tidak terdapat kesalahan".
8. Buka rangkaian Outseal Nano di link Wokwi ini: https://wokwi.com/projects/425668658334464001 

Gambar 7.4 Rangkaian Outseal Nano di Wokwi untuk terhubung dengan Simulasi Pengisian Botol di LabVIEW

9. Klik kanan di bagian Code Wokwi, pilih Command Palette, pilih Upload Firmware and Start Simulation, arahkan ke lokasi Hasil.hex di C:\Users\***\AppData\Local\Temp\Outseal\Hasil.hex, dimana *** adalah nama user. 
10. Secara otomatis simulasi berjalan setelah Upload Firmware and Start Simulation memilih file Hasil.hex. Pastikan ketika simulasi Wokwi berjalan, muncul kotak dialog pemilihan Port COM seperti ditunjukkan pada Gambar 7.5 berikut ini. 

Catatan: Apabila kotak pemilihan Port COM tersebut tidak muncul, tekan tombol Stop, kemudian ulangi kembali Upload Firmware and Start Simulation (Seandainya kotak dialog masih tidak muncul, silahkan menggunakan browser Google Chrome).

Gambar 7.5 Pastikan kotak pilihan port COM muncul, pilih COM yang berpasangan, dalam contoh di sini digunakan COM5 dan COM6, COM5 untuk Wokwi dan COM6 untuk LabVIEW

11. Setelah simulasi Wokwi berjalan, buka program LabVIEW yang telah diunduh di langkah no. 4 di atas. Sebelum tombol Run LabVIEW ditekan, atur Port COM sesuai dengan COM yang berpasangan dengan COM di Wokwi. Kemudian tekan tombol Run LabVIEW, dan lakukan penekanan tombol S1, S2, S3 di rangkaian Outseal Nano di Wokwi secara bergantian, kemudian pindahkan Saklar ke atas untuk menjalankan mode otomatis, dan perhatikan tampilan indikator Conveyor1, Valve, Conveyor2, Stepper dan tampilan 7-segmen 4 digit yang menampilkan jumlah botol yang telah diisi, seperti ditunjukkan pada Gambar 7.6 berikut ini:

Catatan Penting: Wokwi hanya aktif apabila muncul atau terlihat di layar. Ketika Wokwi tidak muncul di layar, komunikasi Modbus dari Wokwi juga tidak akan dijalankan. Untuk itu, agar data bisa muncul di kolom debug, simulasi rangkaian Outseal Nano di Wokwi juga harus dimunculkan.


Gambar 7.6a Indikator Conveyor1 dan Motor Stepper di Wokwi bekerja sesuai dengan simulasi konveyor dan putaran piringan di LabVIEW

Gambar 7.6b Indikator Valve dan Conveyor2 di Wokwi bekerja sesuai dengan simulasi pengisian botol di LabVIEW, begitu pula tampilan 7-segmen 4 digit di Wokwi menampilkan data jumlah botol sebanyak 16 sesuai dengan jumlah botol di simulasi LabVIEW

Gambar 7.6c Terlihat jumlah botol yang telah diisi mencapai 17, baik di Wokwi maupun di LabVIEW

Gambar 7.6d Terlihat jumlah botol yang telah diisi mencapai 22, baik di Wokwi maupun di LabVIEW

12. Agar lebih jelas, berikut ini video pembuatan bagian 7 ini: 

Video Bagian 7




=========================================================================
 

8. Kontrol & Monitor IO Outseal Nano dari Halaman Web

Berikut ini langkah-langkahnya:
1. Gunakan rangkaian Arduino Nano (sebagai Outseal Nano) di link Wokwi ini: https://wokwi.com/projects/426038969590719489

Gambar 8.1 Rangkaian Arduino Nano sebagai Outseal Nano dengan IO Digital dan Analog (Dip Switch 8 jalur, 2 Potensio, 2 Relay, Motor Servo, 7-segmen 4-digit dan Motor Stepper) 

2. Diinginkan data input output digital dan analog pada rangkaian di atas dapat ditampilkan di halaman Web, untuk dikontrol dan dimonitor. Cara mudah menampilkan data di halaman Web adalah menggunakan bantuan Node-RED. Sebelum membuka Node-RED, berikut ini Ladder Diagram untuk rangkaian Outseal Nano di atas:

Gambar 8.2 Ladder Diagram untuk rangkaian Outseal Nano di Gambar 8.1 

Keterangan Ladder Diagram:
  1. Input digital berupa Dip Switch, dengan variabel S.1 - S.8 berada di memori Input Diskrit di alamat (indeks) 0 - 7. 
  2. Rung 0 - 7 membaca kondisi S.1 - S.8 dan menampilkannya di memori B.1 - B.8. 
  3. Output digital berupa 2 buah Relay dan sebuah Motor Stepper, dengan variabel kontrol B.15 - B.17 berada di memori Coil di alamat 142 - 144. 
  4. Rung 8 - 11 membaca kondisi B.15 - B.17 untuk mengontrol 2 buah Relay di R.1 - R.2, dan Motor Stepper di R.3.
  5. Input analog berupa Potensio Putar dan Potensio Geser dengan variabel A.1 - A.2 berada di memori Input Register di alamat 0 - 1. 
  6. Rung 12 mengaktifkan input analog, termasuk A.1 dan A.2.
  7. Output analog berupa kontrol Motor Servo dan data 7-segmen 4 digit, dengan variabel I.1 - I.2 berada di memori Holding Register di alamat 0 - 1. 
  8. Rung 13 - 14 untuk mengatur sudut servo dengan data input Holding Register indeks 0 (I.1), dengan nilai antara 0 - 180. Nilai ini diubah menjadi 880 - 975 untuk nilai duty cycle pwm servo di alamat I.3. 
  9. Rung 15 untuk mengisi I.11 dengan isi memori Holding Register indeks 1 (I.2).
  10. Rung 16 - 56 untuk menampilkan data I.11 di 7-segmen 4-digit.
6. Untuk memudahkan rekan-rekan dalam membuat Ladder Diagram di atas, silahkan mengunduhnya di link ini: https://drive.google.com/file/d/1p_o244KLRod6Dt-n6fo7Kcn64_cpztMj/view?usp=sharing
7. Buka Outseal Studio, buka Ladder Diagram di atas, tekan tombol Test, pastikan muncul pesan "Tidak terdapat kesalahan".
8. Berikutnya, sebelum menampilkan data rangkaian tersebut ke halaman Web melalui Node-RED, diinginkan untuk memastikan data Modbus dari rangkaian di atas dapat diakses. Untuk itu kita gunakan bantuan Modbus Poll. Buka Modbus Poll, dan buat 5 buah jendela baru. Kemudian di menu Setup, pilih Read/Write Definition, dan atur kelima jendela seperti berikut:
  1. Jendela pertama adalah Coil dengan alamat 0 - 2, untuk menampilkan data 2 buah Relay (R.1, R.2) dan Motor Stepper (R.3).
  2. Jendela kedua adalah Input Diskrit dengan alamat 0 - 7, untuk menampilkan data Dip Switch 8 jalur (S.1 - S.8).
  3. Jendela ketiga adalah Input Register, dengan alamat 0 - 1, untuk menampilkan data Potensio putar (A.1) dan Potensio geser (A.2).
  4. Jendela keempat adalah Holding Register, dengan alamat 0 - 1, untuk mengatur data sudut Motor Servo (I.1) dan menampilkan data untuk 7-segmen 4 digit (I.2).
  5. Jendela kelima adalah Coil, dengan alamat 142 - 144 untuk mengatur data R.1, R.2 dan R.3.
Gambar 8.3 Pengaturan Read/Write Definition di menu Setup 

9. Berikutnya, lakukan koneksi, pilih Connection = Serial, pilih port COM yang berpasangan (lihat Device Manager), kemudian klik OK.

Gambar 8.4 Lakukan koneksi, pilih Serial Port, pilih Port COM yang berpasangan (lihat Device Manager), dalam contoh di sini, menggunakan COM5 untuk Modbus Poll dan COM6 untuk Wokwi

10. Buka kembali rangkaian Outseal Nano di link Wokwi ini: https://wokwi.com/projects/426038969590719489
9. Klik kanan di bagian Code Wokwi, pilih Command Palette, pilih Upload Firmware and Start Simulation, arahkan ke file Hasil.hex di C:\Users\***\AppData\Local\Temp\Outseal\Hasil.hex, dimana *** adalah nama user. 
10. Secara otomatis simulasi berjalan setelah Upload Firmware and Start Simulation memilih file Hasil.hex. Pastikan ketika simulasi Wokwi berjalan, muncul kotak dialog pemilihan Port COM seperti ditunjukkan pada Gambar 8.5 berikut ini. 

Gambar 8.5 Pastikan muncul kotak dialog pemilihan Port COM, apabila belum muncul, ulangi Upload

11. Setelah Kotak Port COM muncul. pilih Port COM yang berpasangan dengan COM yang digunakan di Modbus Poll (lihat pasangan COM di Device Manager). Dalam contoh di sini, digunakan pasangan COM5 dan COM6; COM5 untuk Modbus Poll dan COM6 untuk Wokwi. Gambar 8.6 berikut ini menunjukkan komunikasi Modbus antara Modbus Poll dengan rangkaian Outseal Nano di Wokwi. 

Gambar 8.6 Komunikasi antara rangkaian Outseal Nano di Wokwi dengan Modbus Poll

12. Di Wokwi, geser beberapa tuas Dip Switch ke atas dan putar Potensio A.1, serta geser Potensio A.2, dan perhatikan data S.1 - S.8 di jendela kedua, dan data A.1 - A.2 di jendela ketiga di Modbus Poll.
13. Begitu pula di Modbus Poll, lakukan perubahan nilai I.1 dan I.2 di jendela keempat, isi I.1 = 150, maka terlihat lengan servo berputar ke 150 derajat. Isi I.2 = 1234, maka terlihat 7-segmen 4-digit menampilkan angka 1234. Ubah pula nilai B.15, B.16 dan B.17 dari 0 menjadi 1, maka terlihat LED di kedua Relay menyala, dan Motor Stepper berputar.
14. Dari sini terlihat bahwa komunikasi Modbus RTU di rangkaian Outseal Nano telah berjalan baik. Langkah berikutnya adalah mengganti Modbus Poll dengan Node-RED. Tutup Modbus Poll, kemudian buka Node-RED. Bagi rekan-rekan yang belum menginstal Node-RED, silahkan teman-teman bisa menginstal Node,js. Setelah Node.js terinstal, barulah Node-RED bisa diinstal, dengan mengetikkan kode berikut ini di Command Prompt: 

npm install -g --unsafe-perm node-red 

Catatan: Untuk lebih jelasnya mengenai instalasi Node-RED, silahkan membuka link ini: Running on Windows : Node-RED

15. Setelah Node-RED ter-instal, untuk membukanya, ketik node-red di Command Prompt. Tunggu hingga muncul tulisan "Started flows", seperti terlihat pada gambar berikut ini:

Gambar 8.7 Cara membuka Node-RED, mula-mula ketik node-red di command prompt hingga muncul tulisan Started flows

16. Berikutnya, setelah tulisan "Started flows" muncul, ketik di kolom browser: "localhost:1880", maka halaman Node-RED akan terbuka, seperti terlihat pada gambar berikut ini.

Gambar 8.8 Setelah tulisan "Started flows" muncul, ketik "localhost:1880" di  kolom browser, maka halaman Node-RED muncul

17. Untuk bisa berkomunikasi dengan Outseal Nano melalui Modbus, instal modul atau node Modbus. Untuk menginstalnya, klik pada menu (1), pilih Manage palette (2), klik Tab Install (3), ketik "modbus" pada kolom search modules (4), tekan Enter, pilih node-red-contrib-modbus (5), tekan tombol Install. Kemudian klik tombol Close untuk menutup jendela.

Gambar 8.9 Instal palet node-red-contrib-modbus agar bisa berkomunikasi dengan rangkaian Outseal Nano melalui protokol modbus

18.  Berikutnya, di kolom filter nodes, ketik "modbus", tekan Enter, maka di kotak palet muncul node-node Modbus. Ambil node Modbus-Flex-Getter dan node Modbus-Flex-Write, dan tempatkan di halaman Flow.

Gambar 8.10 Ambil node Modbus-Flex-Getter dan node Modbus-Flex-Write

19.  Klik 2 kali node Modbus-Flex-Getter. Di jendela Edit Node, di kolom Server, klik tombol bergambar pensil. Di jendela yang baru, pilih Type = Serial, Serial port = isi dengan COM yang digunakan Modbus Poll.

Gambar 8.11 Klik 2 kali node Modbus-Flex-Getter, klik tombol pensil di kolom Server, pilih Type = Serial, Serial port = COM yang berpasangan dengan COM di Wokwi 

20.  Ulangi hal yang sama untuk node Modbus-Flex-Write. Perhatikan bahwa tanda segitiga merah kecil di atas kedua node sekarang telah hilang, yang berarti setup kedua node sudah berhasil. Klik pada node Modbus-Flex-Getter, kemudian klik tombol bergambar buku, maka muncul informasi tentang node Modbus-Flex-Getter.

Gambar 8.12 Klik tombol bergambar buku, muncul informasi tentang node yang dipilih

21.  Agar node Modbus-Flex-Getter bisa bekerja, tambahkan node function, dengan isi node berupa kode program yang disalin dari informasi pada node Modbus-Flex-Getter, seperti yang ditunjukkan pada gambar berikut ini. Copy kode program tersebut.

Gambar 8.13 Agar node Modbus-Flex-Getter bisa bekerja, perlu diberi input node function dengan isi node diisi kode yang ditandai pada gambar di atas

22.  Untuk langkah-langkah berikutnya, ikuti gambar-gambar di bawah ini:

Gambar 8.14 Ambil sebuah node function, klik 2 kali node tersebut, isi di Tab On Message dengan kode yang di-copy dari info node Modbus-Flex-Getter. Buat kode program tersebut disusun seperti gambar di atas, tekan Enter agar kode turun ke bawah.

Gambar 8.15 Di Tab On-Message, isi Name = baca_R1-R3, kemudian isi "fc" : 1, "unitid" : 1, "address": 0, "quantity" : 3. Hubungkan output node function ke input node Modbus-Flex-Getter.

Gambar 8.16 Perbanyak (Copy Paste) node function, kemudian klik 2 kali node function yang baru, isi Name = baca_S1-S8, kemudian isi "fc" : 2, "unitid" : 1, "address": 0, "quantity" : 8. Hubungkan output node function ini ke input node Modbus-Flex-Getter.

Gambar 8.17 Perbanyak (Copy Paste) node function lagi, kemudian klik 2 kali node function yang baru, isi Name = baca_I1-I3, kemudian isi "fc" : 3, "unitid" : 1, "address": 0, "quantity" : 3. Hubungkan output node function ini ke input node Modbus-Flex-Getter.

Gambar 8.18 Perbanyak (Copy Paste) node function lagi, kemudian klik 2 kali node function yang baru, isi Name = baca_A1-A2, kemudian isi "fc" : 4, "unitid" : 1, "address": 0, "quantity" : 2. Hubungkan output node function ini ke input node Modbus-Flex-Getter.

Gambar 8.19 Perbanyak (Copy Paste) node function lagi, kemudian klik 2 kali node function yang baru, isi Name = tulis_B15 (kontrol R1), kemudian isi "fc" : 5, "unitid" : 1, "address": 142, "quantity" : 1. Hubungkan output node function ini ke input node Modbus-Flex-Write.

Gambar 8.20 Perbanyak (Copy Paste) node function lagi, kemudian klik 2 kali node function yang baru, isi Name = tulis_B16 (kontrol R2), kemudian isi "fc" : 5, "unitid" : 1, "address": 143, "quantity" : 1. Hubungkan output node function ini ke input node Modbus-Flex-Write.

Gambar 8.21 Perbanyak (Copy Paste) node function lagi, kemudian klik 2 kali node function yang baru, isi Name = tulis_B17 (kontrol R3), kemudian isi "fc" : 5, "unitid" : 1, "address": 144, "quantity" : 1. Hubungkan output node function ini ke input node Modbus-Flex-Write.

Gambar 8.22 Perbanyak (Copy Paste) node function lagi, kemudian klik 2 kali node function yang baru, isi Name = tulis_I1 (kontrol Servo), kemudian isi "fc" : 6, "unitid" : 1, "address": 0, "quantity" : 1. Hubungkan output node function ini ke input node Modbus-Flex-Write.

Gambar 8.23 Perbanyak (Copy Paste) node function lagi, kemudian klik 2 kali node function yang baru, isi Name = tulis_I2 (7-segmen 4-digit), kemudian isi "fc" : 6, "unitid" : 1, "address": 1, "quantity" : 1. Hubungkan output node function ini ke input node Modbus-Flex-Write.

Gambar 8.24 Agar node-node function tersebut dapat diteruskan ke node Modbus-Flex-Getter dan node Modbus-Flex-Write, perlu diberi triger, Untuk node-node function yang terhubung ke node Modbus-Flex-Getter, gunakan node Inject. Tempatkan node Inject, klik 2 kali, buat msg.payload berisi data string kosong, dan atur kolom Repeat = Interval, every = 5 seconds.

Gambar 8.25 Hubungkan output node inject setiap 5 detik tersebut ke keempat node function untuk node Modbus-Flex-Getter. Kemudian agar data yang diperoleh oleh node Modbus-Flex-Getter dapat ditampilkan di kolom debug, tambahkan node Debug, hubungkan output node Modbus-Flex-Getter ke input node Debug

Gambar 8.26 Berikutnya agar flow atau program Node-RED tersebut bisa bekerja, tekan tombol Deploy, pilih Modified Flows

Gambar 8.27 Sementara simulasi rangkaian Outseal Nano di Wokwi masih berjalan, buat Wokwi dan Node-RED saling berbagi layar, dan perhatikan bahwa kolom debug menampilkan 4 buah data sekaligus, yang terdiri dari data Coil (R1-R3), Input Diskrit (S1-S8), Holding Register (I1-I3), dan Input Register (A1-A2).

Catatan Penting: Wokwi hanya aktif apabila muncul atau terlihat di layar. Ketika Wokwi tidak muncul di layar, komunikasi Modbus dari Wokwi juga tidak akan dijalankan. Untuk itu, agar data bisa muncul di kolom debug, simulasi rangkaian Outseal Nano di Wokwi juga harus dimunculkan.

Catatan tambahan: Node Modbus-Flex-Getter akan memberikan 8 bit atau 8 data boolean sekaligus untuk data Coil maupun Input Diskrit, sekalipun data yang diminta hanya 3. Seperti terlihat pada Gambar 8.27 di atas, data Coil yang diminta hanya 3 (R1-R3), tetapi node Modbus-Flex-Getter memberikan 8 data. 

Gambar 8.28 Agar keempat jenis data (Coil, Input Diskrit, Holding Register, Input Register) tidak ditampilkan sekaligus, tetapi satu persatu secara bergantian, maka tambahkan pembatas laju data, menggunakan node delay. Ambil node delay, sisipkan di antara keempat node function dengan node Modbus-Flex-Getter.

Gambar 8.29 Klik 2 kali node delay, di kolom Action pilih Rate Limit, dengan default Laju data (Rate) 1 data per detik, klik Done

Gambar 8.30 Tekan tombol Deploy, dan perhatikan sekarang data yang muncul satu persatu tiap detik, mulai dari data Coil di detik pertama, data Input Diskrit di detik kedua, data Holding Register di detik ketiga, data Input Register di detik keempat, dan berulang demikian seterusnya

Gambar 8.31 Untuk membuat kolom Debug tidak menampilkan data lagi, matikan node Debug dengan meng-klik tombol di kanan node Debug sehingga node Debug menjadi tidak aktif (deactivated)

Gambar 8.32 Berikutnya ambil 2 buah node Inject, buat node Inject yang pertama menghasilkan True dan node Inject kedua menghasilkan False. Untuk membuat hal ini, klik 2 kali node tersebut, di kolom msg.payload, pilih tipe data boolean, dan pilih True atau False. Hubungkan kedua output node Inject tersebut ke node Function tulis_B15 (kontrol R1) 

Gambar 8.33 Ulangi langkah di atas, tambahkan node Inject True dan False sebanyak 2 pasang, hubungkan ke node Function tulis_B16 (kontrol R2) dan juga ke node Function tulis_B17 (kontrol R3)

Gambar 8.34 Tambahkan node Inject sebanyak 4 buah, gunakan tipe data number, dengan nilai 60 dan 120 untuk dihubungkan ke node Function tulis_I1 (kontrol Servo), dan nilai 1234 dan 5678 untuk dihubungkan ke node Function tulis_I2 (7-segmen 4-digit)

Gambar 8.35 Tekan tombol Deploy (Modified Flows) untuk menjalankan flow atau program Node-RED. Jangan lupa untuk mengaktifkan kembali node Debug, agar data yang dibaca node Modbus-Flex-Getter dapat ditampilkan di kolom debug

Gambar 8.36 Setelah node Debug diaktifkan, munculkan tampilan simulasi Wokwi, maka seharusnya di kolom debug tampil data pembacaan Coil, Input Diskrit, Holding Register dan Input Register secara berurutan satu per satu setiap detik

Catatan: Apabila kolom debug bisa menampilkan data pembacaan tanpa error, ini berarti bahwa komunikasi modbus RTU antara rangkaian Outseal Nano di Wokwi dengan Node-RED telah berhasil dan berjalan lancar. Langkah berikutnya adalah membuat tampilan data di kolom debug, dan juga kontrol data melalui node Inject di halaman Node-RED, untuk ditampilkan di halaman Web.

Gambar 8.37 Agar data bisa ditampilkan di halaman Web, diperlukan node-node Dashboard. Untuk itu instal node-red-dashboard. Klik tombol menu, pilih Manage palette, klik tab Install, ketik dahsboard, kemudian pilih node-red-dashboard, klik Install  

Gambar 8.38 Setelah terinstal, ketik "ui" di kolom filter nodes, kemudian ambil node Switch sebanyak 3 buah, sebuah node Slider dan sebuah node Numeric. Secara berturut-turut, hubungkan node Switch ke node Function tulis_B15 (kontrol R1), tulis_B16 (kontrol R2), tulis_B17 (kontrol R3), kemudian hubungkan node Slider ke node Function tulis_I1 (kontrol Servo) dan node Numeric ke node Function tulis_I2 (7-segmen 4-digit)

Gambar 8.39 Buat ketiga node Switch dan kedua node Slider ini berada dalam Grup [Home] Kontrol. Klik tombol pensil, di kolom Name isi dengan Kontrol, dan di kolom Tab, klik tombol pensil, isi kolom Name dengan Home, klik tombol Add, klik tombol Add lagi. Seharusnya di kolom Grup terisi [Home] Kontrol. Isi Label = R1. Klik Done. Ulangi hal ini untuk node Switch kedua dan ketiga. Beri nama Label R2 untuk node Switch kedua dan R3 untuk node Switch ketiga. 

Gambar 8.40 Klik 2 kali node Slider, pilih nama Grup = [Home] Kontrol, isi Label = Servo, isi max = 180, isi Output = only on release, klik Done

Gambar 8.41 Klik 2 kali node Numeric, pilih nama Grup = [Home] Kontrol, isi Label = 7-Segmen 4-digit, isi max = 9999, klik Done

Gambar 8.42 Berikutnya, tambahkan 11 buah node LED, 3 buah node Gauge dan sebuah node Text. Semua node tersebut digunakan untuk menampilkan data R1-R3 (3 buah LED), data S1-S8 (8 buah LED), data I1 (Gauge), data I2 (Text), data A1-A2 (2 buah Gauge). Semua data tersebut diperoleh dari node Modbus-Flex-Getter, yang diuraikan dengan bantuan node Switch dan node Split

Gambar 8.43 Node Switch pertama digunakan untuk memisahkan data dari node Modbus-Flex-Getter menjadi 4 data berdasarkan fc, yaitu 1 untuk jenis Coil (R1-R3), 2 untuk jenis Input Diskrit (S1-S8), 3 untuk Holding Register (I1-I2) dan 4 untuk Input Register (A1-A2)

Gambar 8.44 Output dari node Switch yang pertama berupa array. Untuk memisahkan array menjadi data tunggal yang berurutan, digunakan node Split. Dari node Split ini, setiap data yang dihasilkan akan diberi index. Dengan menambahkan node Switch dengan pemisahan berdasarkan indeks (msg.parts.index), akan bisa diperoleh data tunggal dari R.1-R.3 dan S.1-S.8, yang terhubung dengan node dashboard LED, dan data I.1, A.1, A.2 yang terhubung dengan node Gauge, dan I.2 yang terhubung dengan node Text

Gambar 8.45 Untuk node LED R.1-R.3, buat Group baru dengan nama [Home] Monitor, beri label sesuai nama datanya, pilih bentuk Shape = square, klik OK.

Gambar 8.46 Untuk node LED S.1-S.8, pilih Group = [Home] Monitor, beri label sesuai nama datanya, pilih bentuk Shape = circle, klik OK.

Gambar 8.46 Untuk node Gauge Servo, A.1 dan A.2, pilih Group = [Home] Monitor, pilih Type = Gauge, beri label sesuai nama datanya, isi nilai max 180 untuk Servo, nilai max 1023 untuk A.1 dan A.2, atur nilai Sector mengikuti warna yang diinginkan, apabila diinginkan hanya warna kuning, tempatkan nilai min dan max pada daerah warna kuning

Gambar 8.47 Untuk node Text 7-Segmen 4-Digit, pilih Group = [Home] Monitor, beri label 7-Segmen 4-Digit, klik Done

Gambar 8.48 Untuk mengatur layout Dashboard, klik Menu, pilih View, pilih Dashboard

Gambar 8.49 Klik tombol layout di samping nama Home (1), maka akan muncul halaman pengaturan dashboard. Atur Width di Group Monitor (2) dan di Group Kontrol (3), atur juga ukuran objek-objek di dalamnya dengan meng-klik gambar gembok, kemudian tekan tombol panah di pojok kanan bawah objek, geser tepi kotaknya untuk memperbesar/memperkecil ukurannya, klik Done (4). Berikutnya, klik tombol Deploy (5), kemudian tekan tombol tautan (6) untuk membuka Dashboard Node-RED

Gambar 8.50 Terlihat Dashboard Node-RED terbuka, yang berbagi layar dengan simulasi Outseal Nano. Ubah posisi kedelapan tuas Dip Switch, putar Potensio A.1 dan geser Potensio A,3, dan perhatikan tampilan objek di Group Monitor di Dashboard Node-RED

Gambar 8.51 Berikutnya, ubah status ketiga Switch di Group Kontrol, dan juga nilai di 7-segmen 4-digit, serta posisi knob Servo dan perhatikan tampilan Relay R.1, R.2, putaran Motor Stepper, Motor Servo dan tampilan 7-Segmen 4-Digit di simulasi Wokwi

23. Apabila rekan-rekan menemui kesulitan dalam pembuatan program Node-RED di atas, silahkan men-download file program Node-RED (sering disebut flow) di link ini: https://drive.google.com/file/d/1B6vqUy8dsXZPLrQWJAw9-4tZ0nuWLeN_/view?usp=sharing
24. Setelah ter-download, cara membukanya di Node-RED, klik Menu, pilih Import, kemudian klik tombol select a file to import, kemudian tekan tombol Import di pojok kanan bawah, maka program akan terbuka. Sebelum meng-klik tombol Deploy, sesuaikan Port COM yang digunakan untuk Server di node Modbus-Flex-Getter dan Modbus-Flex-Write.

24. Agar lebih jelas, berikut ini video pembuatan bagian 8 ini: 

Video Bagian 8




=========================================================================
 

9. Kontrol & Monitor IO Outseal Nano jarak jauh via Internet

Melanjutkan kontrol dan monitor IO Outseal Nano yang telah dibahas pada Bagian 8 di atas, diinginkan agar kontrol & monitor itu tidak hanya bisa dilakukan secara lokal, tetapi bisa dari jarak jauh melalui internet. Agar bisa membuat hal ini (bisa diakses dari jarak jauh), salah satu cara adalah menggunakan socketxp. Berikut ini langkah-langkah pembuatannya. Secara garis besar ada 5 langkah diperlukan, yaitu:
1. Download file program Node-RED ini (file program Node-RED ini sama seperti file program Node-RED di bagian 8 di atas): https://drive.google.com/file/d/1B6vqUy8dsXZPLrQWJAw9-4tZ0nuWLeN_/view?usp=sharing 
2. Buka link ini: https://www.socketxp.com, download dan instal socketxp di komputer, 
3. Sign up portal socketxp di internet, copy kode token otentifikasi.
4. Buka command prompt, arahkan direktori ke lokasi tempat file socketxp diletakkan (instruksi cd).
5. Ketik "socketxp login" diikuti kode token otentifikasi.
6. Setelah login sukses, langkah terakhir, ketik "socketxp connect http://127.0.0.1:1880", maka seharusnya muncul URL publik, yang bisa diakses dari mana saja.

Berikut ini gambar-gambar langkah pembuatan sesuai urutan di atas:

Gambar 9.1 Buka link https://www.socketxp.com, kemudian klik Download and install

Gambar 9.2 Setelah terdownload, klik 2 kali file, pilih Run anyway

Gambar 9.3 Setelah isntal berhasil, langkah berikutnya masuk atau sign up ke portal socketxp

Gambar 9.4 Pilih login dengan salah satu email

Gambar 9.5 Klik Auth token, kemudian tekan tombol copy untuk meng-copy seluruh kode token

Gambar 9.6 Buka command prompt, arahkan direktori ke lokasi file socketxp diletakkan, gunakan instruksi cd diikuti nama folder untuk berpindah ke folder tertentu, gunakan instruksi cd.. untuk berpindah ke folder di atasnya 

Gambar 9.7 Setelah berhasil berada di direktori yang sama dengan socketxp diletakkan, langkah berikutnya, ketik "socketxp login" diikuti kode token yang telah di-copy sebelumnya

Gambar 9.8. Apabila login berhasil, langkah terakhir, ketik "socketxp connect http://127.0.0.1:1880", maka akan muncul Public URL, yang mana URL tersebut dapat diakses dari mana saja, asal terhubung dengan internet

Catatan: Jangan lupa membuka Node-RED dan servernya di command prompt. Sama seperti Node-RED, socketxp akan berhenti bekerja ketika command prompt yang menjalankan socketxp ini ditutup. 
 
Agar lebih jelas, berikut ini video pembuatan Publik URL untuk akses jarak jauh ini menggunakan socketxp: 

Video Bagian 9




=========================================================================
 

10. Kontrol & Monitor IO Outseal Nano dengan IoT MQTT Panel

Aplikasi IoT MQTT Panel di HP Android, cukup menarik untuk dijadikan alat kontrol sekaligus pemantau kondisi dari IO Outseal Nano. Selain handal, juga cukup mudah pembuatan tampilan Dashboardnya. Berikut ini tampilan IoT MQTT Panel untuk kontrol dan monitor IO Outseal Nano yang akan dibuat di bagian ini:

Gambar 10.1 Tampilan Wokwi, Dashboard Node-RED, dan IoT MQTT Panel di HP

Berikut ini langkah-langkah pembuatannya:
1. Instal aplikasi IoT MQTT Panel dari Playstore.
2. IoT MQTT Panel bekerja dengan data MQTT. Sama seperti Node-RED, ada 2 bagian objek (diistilahkan panel di IoT MQTT Panel) yang akan dibuat, yang pertama bagian Monitor dan yang kedua bagian Kontrol. Berikut ini daftar panel di kedua bagian tersebut:

Panel di bagian Monitor:
  • 3 LED Indicator dengan data Coil: R.1 - R.3, dengan topik MQTT: "outseal/mon/coil"
  • 8 LED Indicator dengan data Input Diskrit S.1 - S.8, dengan topik MQTT: "outseal/mon/idis"
  • 2 Gauge dengan data Input Register A.1 - A.2, dengan topik MQTT: "outseal/mon/ireg"
  • 1 Gauge dengan data Holding Register I.1, dengan topik MQTT: "outseal/mon/hreg"
  • 1 Text Log dengan data Holding Register I.2, dengan topik MQTT: "outseal/mon/hreg"
Panel di bagian Kontrol:
  • 3 Switch dengan data Coil: B.15 - B.17, dengan topik MQTT: "outseal/kon/coil"
  • 1 Slider dengan data Holding Register I.1, dengan topik MQTT: "outseal/kon/hreg"
  • 1 Text Input dengan data Holding Register I.2, dengan topik MQTT: "outseal/kon/hreg"
3. Jadi agar IoT MQTT Panel bisa memonitor dan mengontrol Outseal Nano, diperlukan jembatan yang menghubungkan protokol Modbus RTU yang digunakan Outseal Nano dengan protokol MQTT yang digunakan oleh IoT MQTT Panel. Penghubung yang digunakan di sini adalah Node-RED. Berikut ini kode program atau flow Node-RED yang dapat menghubungkan Modbus RTU ke MQTT. 

Gambar 10.2 Program atau flow Node-RED untuk menghubungkan Modbus RTU Outseal Nano ke IoT MQTT Panel

4. Untuk mempercepat pembuatan program, digunakan flow yang sudah dibuat di pembahasan sebelumnya. Klik link ini untuk mengunduh file program atau flow tersebut: 
5. Buka flow tersebut, tambahkan 4 buah node MQTT Out untuk mengirimkan data ke panel di bagian Monitor, dengan topik secara berturut-turut: outseal/mon/coil, outseal/mon/idis, outseal/mon/ireg dan outseal/mon/hreg. 

Gambar 10.3 Penambahan 4 buah Node MQTT Out, dengan topik secara berturut-turut: outseal/mon/coil, outseal/mon/idis, outseal/mon/ireg dan outseal/mon/hreg

6. Hubungkan kaki input keempat node MQTT Out tersebut ke kaki output node Switch yang memiliki 4 kaki output, seperti ditunjukkan gambar berikut ini:

Gambar 10.4 Hubungkan kaki input keempat node MQTT Out ke kaki output node Switch

Gambar 10.5 Klik 2 kali node MQTT Out, isi topik mengikuti langkah no. 5 di atas

7. Tambahkan 2 buah node MQTT In untuk menangkap data dari panel di bagian Kontrol IoT MQTT Panel, dengan topik secara berturut-turut: outseal/kon/coil, dan outseal/kon/hreg. Tambahkan node Switch dan node Change untuk menguraikan data dari MQTT In ke node-node di bagian Kontrol, seperti ditunjukkan gambar berikut ini:

Gambar 10.6 Penambahan 2 buah Node MQTT In, dengan topik secara berturut-turut: outseal/kon/coil, dan outseal/kon/hreg

Gambar 10.7 Tambahkan node Switch, klik 2 kali node Switch, buat 3 jalur, masing-masing diisi rule: "has key", dengan isi key (tipe string) secara berturut-turut: a, b, dan c

8. Berikutnya, klik 2 kali node Change yang terhubung dengan kaki output node Switch yang pertama. Isi Set = msg.payload, to the value = msg.payload.a. Untuk node Change di kaki output node Switch yang kedua, isi Set = msg.payload, to the value = msg.payload.b. Untuk node Change di kaki output node Switch yang ketiga, isi Set = msg.payload, to the value = msg.payload.c. 

Catatan: node Switch membuat pemisahan data objek, sedangkan node Change mengubah data objek menjadi data nilai. Contoh data objek: {"a":true}, sedangkan data nilai: true. Untuk mengetahui lebih jauh mengenai output dari node-node ini, tambahkan node debug, deploy, dan perhatikan data yang muncul di kolom Debug Messages.

Gambar 10.8. Tambahkan node Change, klik 2 kali node Change, isi Set = msg.payload, to the value = msg.payload.a

9. Ulangi hal yang sama untuk node MQTT in yang kedua (outseal/kon/hreg)

Gambar 10.9 Klik 2 kali node MQTT In, isi Topic =  outseal/kon/hreg

Gambar 10.10 Tambahkan node Switch, klik 2 kali node Switch, buat 2 jalur, masing-masing diisi rule: "has key", dengan isi key (tipe string) secara berturut-turut: a, dan b

Gambar 10.11 Tambahkan node Change, klik 2 kali node Change, isi Set = msg.payload, to the value = msg.payload.a

10. Apabila rekan-rekan menemui kesulitan dalam pembuatan program Node-RED di atas, silahkan men-download flow Node-RED tersebut di atas di link ini: 
11. Berikutnya, buka aplikasi IoT MQTT Panel. 
12. Tambahkan koneksi (Add Connection), seperti ditunjukkan Gambar 10.12. Isi Connection name dengan nama bebas, (contoh: mqtt), kemudian isi Broker Web/IP address = broker.emqx.io, berikutnya klik tombol + untuk menambah Dashboard. Beri nama Dashboard dengan nama bebas (contoh: outseal), klik Save.


Gambar 10.12(a) Membuka IoT MQTT Panel, (b) menambahkan koneksi, mqtt broker dan Dashboard, (c) memberi nama Dashboard

13. Klik Save, maka muncul di daftar Connections, nama koneksi yang telah dibuat. Klik pada nama koneksi tersebut, maka akan terbuka nama Dashboard, Klik tombol Add Panel, maka akan terbuka daftar objek atau panel yang bisa ditempatkan pada Dashboard.

Catatan: Di IoT MQTT Panel ini kita bisa membuat lebih dari 1 koneksi, yang mengacu pada mqtt broker yang digunakan. Kemudian di setiap koneksi yang kita buat tersebut, kita bisa membuat lebih dari 1 Dashboard. Berikutnya, di setiap Dashboard yang kita buat, kita bisa menambahkan lebih dari 1 objek panel yang ditampilkan di Dashboard.

Gambar 10.13(a) Muncul daftar koneksi yang telah dibuat, (b) klik nama koneksi tersebut, maka muncul daftar Dashboard, (c) klik pada Add panel untuk menambahkan objek/panel pada Dashboard

14. Klik pada panel Layout Decorator, beri nama panel: Monitor, klik tombol Create, maka di Dashboard akan muncul kotak panel decorator dengan nama Monitor. Klik tombol + untuk menambahkan objek panel yang lain.

Gambar 10.14(a) Pilih Layout Decorator, (b) Isi nama panel: Monitor, (c) klik tombol + untuk menambahkan objuek panel yang lain

15. Muncul daftar panel, klik LED indicator, maka muncul jendela Edit Panel. Isi nama panel = R1, isi Topic = outseal/mon/coil, isi Payload on = true, Payload off = false, kemudian beri centang pada opsi Payload is JSON Data, isi JsonPath = $.[0]. Klik tombol Create, maka muncul objek panel R1 di bawah objek decorator Monitor.

Gambar 10.15(a) Pilih objek panel LED indicator, (b) isi nama = R1, isi Topic = outseal/mon/coil, isi Payload on = true, isi Payload off = false, centang pada Payload is JSON Data, isi Jsonpath = $.[0], klik tombol Create, (c) muncul objek panel R1, buat ukurannya menjadi 1/3 lebar layar

16. Klik 2 kali objek panel R1, muncul kotak Edit Panel, ubah Full screen menjadi 1/3 screen width. Tambahkan 2 buah LED indicator lagi, secara berturut-turut beri nama panel = R2 dan R3, isi Topic sama yaitu outseal/mon/coil, isi Payload on = true, Payload off = false, kemudian beri centang pada opsi Payload is JSON Data, untuk R2 isi JsonPath = $.[1], dan untuk R3 isi JsonPath = $.[2].

Gambar 10.16(a) Pilih ukuran panel 1/3 lebar layar, (b) tambahkan lagi 2 buah panel LED indicator, isi nama = R2, isi Topic = outseal/mon/coil, isi Payload on = true, isi Payload off = false, centang pada Payload is JSON Data, isi Jsonpath = $.[1], (c) ulangi hal yang sama untuk R3, hanya berbeda di JsonPath, isi dengan = $.[2]

17. Berikutnya, tambahkan lagi 8 buah LED indicator untuk S1 - S8. Buat ukurannya 1/4 lebar layar. Isi kedelapan panel tersebut dengan Topic yang sama, yaitu = outseal/mon/idis, dan untuk JsonPath, isi secara berturut-turut satu persatu mulai dari $.[0] hingga $.[7], klik tombol Create.

Gambar 10.17(a) Tambahkan 8 buah LED indicator, beri nama S1 - S8, isi Topic = outseal/mon/idis, isi JsonPath secara berturut-turut mulai dari $.[0] hingga $.[7], (b) buat ukuran kedelapan LED tersebut sebesar 1/4 lebar layar, (c) terlihat tampilan 8 buah LED indicator untuk S1 - S8

 
Gambar 10.18(a) Isi panel LED Indicator S3, (b) isi panel LED Indicator S4, (c) tampilan Dashboard setelah 8 LED Indicator S1-S8 ditambahkan

18. Berikutnya, tambahkan sebuah objek panel Gauge dan sebuah objek panel Text Log. Buat ukurannya 1/2 lebar layar. Isi nama panel berturut-turut: I1 dan I2. Isi Topic keduanya = outseal/mon/hreg. Kemudian untuk I1, isi Payload max = 180, centang Payload is JSON Data, dan isi JsonPath = $.[0]. Untuk I2, beri centang pada opsi show last message only, dan beri centang pada Payload is JSON Data, dan isi JsonPath = $.[1]. Klik tombol Save.

Gambar 10.19(a) Tampilan Dashboard ketika objek panel Gauge dan Text Log ditambahkan, (b) Isi nama panel I1, Topic = outseal/mo/hreg, beri centang pada Payload is JSON Data, dan isi JsonPath = $.[0], (c) Isi nama panel = I2, centang opsi Show last message only, beri centang pada Payload is JSON Data, dan isi JsonPath = $.[1], klik tombol Save

19. Berikutnya, tambahkan 2 buah objek panel Gauge. Buat ukurannya 1/2 lebar layar. Isi nama panel berturut-turut: A1 dan A2. Isi Topic keduanya = outseal/mon/ireg. Untuk A1, isi Payload max = 1023, centang Payload is JSON Data, dan isi JsonPath = $.[0]. Untuk A2, isi Payload max = 1023, centang Payload is JSON Data, dan isi JsonPath = $.[1]. Klik tombol Save.

Gambar 10.20(a) Tampilan Dashboard ketika 2 buah objek panel Gauge ditambahkan, (b) isi nama panel A1, Topic = outseal/mon/ireg, beri centang pada Payload is JSON Data, dan isi JsonPath = $.[0], (c) isi nama panel A2, Topic = outseal/mon/ireg, beri centang pada Payload is JSON Data, dan isi JsonPath = $.[1], klik tombol Save

20. Berikutnya, tambahkan objek panel Layout decorator. Beri nama panel Kontrol, buat ukurannya Full screen. Berikutnya tambahkan 3 buah objek panel Switch. Buat ukuran ketiganya 1/3 lebar layar.

Gambar 10.21 Tambahkan panel Layout decorator, beri nama Kontrol. Tambahkan 3 objek panel Switch, beri nama B15, B16 dan B17. Buat ukuran ketiganya 1/3 lebar layar.

21. Isi panel B15, B16 dan B17, beri nama Topic ketiganya = outseal/kon/coil, dan beri centang pada Payload is JSON Data, isi JsonPath di B15 = {"a":<payload>}, isi JsonPath di B16 = {"b":<payload>}, isi JsonPath di B17 = {"c":<payload>}.

Gambar 10.22(a) Di B15, beri nama Topic = outseal/kon/coil, beri centang pada Payload is JSON Data, dan isi JsonPath di B15 = {"a":<payload>}, (b) ulangi untuk B16, isi JsonPath di B16 = {"b":<payload>}, (c) Ulangi untuk B17, isi JsonPath di B17 = {"c":<payload>}.

22. Tambahkan objek panel Slider dan Text Input. Untuk objek Slider, isi nama = I1, Topic = outseal/kon/hreg, isi Payload max = 180, beri centang pada opsi Payload is JSON Data, dan isi JsonPath = {"a":<payload>). Untuk objek Text Input, isi nama = I2, Topic = outseal/kon/hreg, beri centang pada opsi Payload is JSON Data, dan isi JsonPath = {"b":<payload>). 

Gambar 10.23(a) Tambahkan objek panel Slider dan Text Input, (b) untuk objek Slider, isi nama = I1, Topic = outseal/kon/hreg, isi Payload max = 180, beri centang Payload is JSON Data, dan isi JsonPath = {"a":<payload>), (c) untuk objek Text Input, isi nama = I2, Topic = outseal/kon/hreg, beri centang Payload is JSON Data, dan isi JsonPath = {"b":<payload>). 

23. Berikutnya, jalankan rangkaian Outseal Nano di link Wokwi ini: 
https://wokwi.com/projects/426038969590719489Klik kanan di bagian Code Wokwi, pilih Command Palette, pilih Upload Firmware and Start Simulation, arahkan ke file Hasil.hex di C:\Users\***\AppData\Local\Temp\Outseal\Hasil.hex, dimana *** adalah nama user. Pastikan muncul kotak dialog pemilihan Port COM. Pilih COM yang berpasangan dengan COM yang digunakan di server Node-RED.
24. Deploy Node-RED, dan buka Dashboard Node-RED. Lakukan pengubahan objek panel Kontrol di aplikasi IoT MQTT Panel, dan amati komponen-komponen output Outseal Nano di Wokwi. Berikutnya, lakukan pengubahan komponen-komponen input di Wokwi, dan amati objek panel di bagian Monitor IoT MQTT Panel, dan juga tampilan Dashboard di Node-RED. Gambar berikut ini menunjukkan kontrol dan monitor rangkaian Outseal Nano di Wokwi menggunakan aplikasi IoT MQTT Panel dan tampilan Dashboard di Node-RED:

Gambar 10.24 Terlihat objek panel di bagian Monitor di aplikasi IoT MQTT Panel berubah ketika komponen input di rangkaian Outseal Nano di Wokwi (Dip Switch 8 jalur, potensio putar dan geser) diubah

Gambar 10.25 Terlihat komponen output (Servo, 7-segmen 4 digit, Stepper dan Relay) di rangkaian Outseal Nano di Wokwi mengalami perubahan ketika objek panel Kontrol di aplikasi IoT MQTT Panel diubah

25. Agar lebih jelas, berikut ini video pembuatan kontrol dan monitor Outseal Nano menggunakan IoT MQTT Panel.

Video Bagian 10




=========================================================================
 

11. Simulasi Lift 5 lantai dengan EasyBuilder Pro, Outseal Nano & Wokwi 

Pembuatan simulasi lift 5 lantai dengan EasyBuilder Pro akan dibuat dalam 3 tahapan, dengan perincian sebagai berikut:
1. Tahap 1: Simulasi lift 5 lantai dengan memori internal
2. Tahap 2: Simulasi lift 5 lantai terpantau Outseal Nano
3. Tahap 3: Simulasi lift 5 lantai terkontrol Outseal Nano

Berikut ini uraian masing-masing tahapan:

---------------------------------------------------------------------------------------------------------------------------

Tahap 1: Simulasi Lift 5 Lantai dengan Memori Internal

Berikut ini langkah-langkahnya:
1. Buka EasyBuilder Pro, pilih New, pilih MT8071iE. Layar MT8071iE memiliki ukuran 800x480.

Gambar 11.1 Pilih New, pilih model MT8073iE, pilih Landscape

2. Di jendela System Parameter, karena hanya menggunakan memori internal (local), klik OK

Gambar 11.2 Di jendela System Parameter, klik OK

3. Berikut ini contoh tampilan Lift 5 lantai yang bisa dibuat. Ada 34 objek yang ditempatkan di  layar WINDOW_010 (lihat kolom Windows Tree). 

Gambar 11.3 Contoh tampilan Lift 5 lantai dengan 34 objek

4. Mulai dari objek pertama, yaitu objek Table. Ambil objek Table, isi Vertical=5, Horizontal=1, Border Width=4, Grid Width=4, pilih warna, beri centang pada Fill, klik OK. Berikutnya klik 2 kali objek Table, maka Tab Profile akan muncul. Isi x=340, y=15, Width=200, Height=450. 

Gambar 11.4 Ambil objek Table, isi nilai properties seperti gambar di atas

5. Berikutnya, ambil objek Moving Shape di kategori Animation. Isi Address: LW-0 , No. of states:7, Mode: Y axis only, Max Y: 479, klik OK. 

Gambar 11.5 Ambil objek Moving Shape, isi properties seperti gambar di atas

6. Berikutnya, buka Tab Shape, klik Picture/Library, klik Project, tekan tombol New, arahkan pada lokasi gambar Lift. Rekan-rekan dapat mengunduh 7 buah gambar Lift di link ini: https://drive.google.com/file/d/17f9agQdkpVSjsA20Hep-pBdKOtByoD0F/view?usp=sharing. Ekstrak file tersebut, dan gunakan ketujuh file gambar tersebut untuk membuat animasi Lift dari saat Lift tertutup hingga terbuka.

Gambar 11.6 Menambahkan gambar animasi Lift, ada 7 gambar yang memperlihatkan kondisi pintu Lift tertutup hingga terbuka

7. Berikutnya, klik Tab Profile, isi x:380, y:0, width: 120, height: 80, klik OK.

Gambar 11.7 Klik Tab Profile, isi x:380, y:0, width: 120, height: 80, klik OK

8. Berikutnya, dari daftar di Windows Tree, objek ketiga adalah Bit Lamp. Ambil objek Bit Lamp, isi Address: LB-0, klik OK.

Gambar 11.8 Ambil objek Bit Lamp, isi address LB-0, klik OK

9. Berikutnya, klik Tab Shape, klik Picture/Library, pilih System Check Box, pilih Flat. Klik OK. 

Gambar 11.9 Pilih Picture/Library System Check Box, pilih Flat, pilih salah satu jenis, klik OK.

10. Klik tab Profile, isi x: 10, y:5, width: 20, height: 20, klik OK.

Gambar 11.10 Di Tab Profile, x:10, y:5, width:20, height:20, klik OK

11. Objek ke-4 hingga ke-21 juga merupakan objek Bit Lamp, dengan bentuk Check Box. Copy dan Paste objek ke-3, perbanyak hingga menjadi 19 Check Box, dan isi properties masing-masing objek seperti Tabel 4 berikut ini:

Tabel 4. Isian Properties objek Bit Lamp dari objek ke-3 sampai ke-21


12. Objek ke-22 berupa text. Klik huruf A, kemudian isi di kolom Content secara berturut-turut: panel, tbl_1, tbl_2, tbl_3, tbl_4, tbl_5, tbl_buka, tbl_tutup, ind_1, ind_2, ind_3, ind_4, ind_5, ind_buka, ind_tutup, ind_naik, ind_turun, proses, dan terakhir flag. Pilih font: Arial Narrow, Size: 16, Multiline: Left, klik OK. Berikutnya klik Tab Profile, isi x: 38, y: 0, klik OK. Buat agar ke-19 kata tersebut berada tepat di samping ke-19 objek Bit Lamp, seperti ditunjukkan pada gambar berikut ini. 

Gambar 11.12 Tambahkan objek Text (huruf A), beri keterangan untuk setiap objek Check Box

13. Untuk objek ke-23 sampai ke-25, merupakan objek Numeric. Ambil 3 buah objek Numeric, susun bertingkat seperti gambar berikut. Isi ketiga properties objek sesuai dengan Tabel 5.

Gambar 11.13 Ambil 3 buah objek Numeric, susun seperti gambar di atas

Tabel 5. Isian properties untuk ketiga objek Numeric


14. Berikutnya, tambahkan keterangan pada ketiga objek Numeric tersebut dengan objek Text. Objek ke-26 merupakan objek Text. Klik pada huruf A untuk mengambil objek Text, isi di kolom Content: state, posisi, dan lantai. Pilih font: Arial Narrow, Size: 16, Multiline: Left, klik OK. Buat ketiga kata tersebut berada tepat di samping ketiga objek Numeric, seperti ditunjukkan pada gambar berikut ini.

Gambar 11.14 Ambil objek Text (A), isi Content dengan 3 kata: state, posisi, dan lantai, tempatkan ketiga kata tersebut tepat di samping ketiga objek Numeric

15. Objek ke-27 hingga ke-31 menggunakan objek Set Bit, yang berfungsi sebagai tombol di kelima lantai Lift. Tempatkan kelima objek tersebut di samping objek Tabel seperti gambar berikut, dan isi propertiesnya sesuai dengan Tabel 6.

Gambar 11.15 Ambil 5 buah objek Set Bit, tempatkan di samping objek Table, dan fungsikan kelima tombol tersebut sebagai tombol di setiap lantai Lift

Tabel 6. Isian properties untuk kelima objek Set Bit


16. Berikutnya, objek ke 32 merupakan objek Numeric, yang menampilkan posisi lantai Lift, dengan alamat memori LW-2. Objek ke-32 ini sama seperti objek ke-25, hanya ukuran font-nya lebih besar.

Gambar 11.16 Ambil objek Numeric, isi address: LW-2 dan ukuran font = 50

17. Objek ke-33 dan ke-34 merupakan objek Bit Lamp, yang nilainya sama seperti objek ke-18 dan ke-19, dengan address LB-15 dan LB-16, hanya berbeda bentuk saja. Agar bisa memperlihatkan kondisi Lift sedang naik, atau sedang turun, maka bentuk objek menggunakan tanda panah ke atas dan ke bawah, yang diambil dari library System Icon, dengan kategori Arrow. 

Gambar 11.17 Objek ke 33 dan ke-34 merupakan objek Bit Lamp dengan bentuk panah ke atas dan ke bawah, untuk menampilkan kondisi gerakan Lift, apakah sedang naik atau sedang turun

18. Agar bisa membuat panel di dalam Lift muncul ketika pintu Lift dibuka, dan menghilang ketika pintu Lift ditutup, digunakan layar kedua, yaitu Window_011. Klik kanan angka 11 di kolom Windows Tree, pilih New. Di jendela Window Settings, isi width: 200, height: 290, x: 130, y: 105. Klik OK.

Gambar 11.18 Tambahkan layar Window_011 untuk menampilkan panel di dalam Lift, buat ukuran width: 200, height: 290, x: 130, y: 105 

19. Di jendela Window 011, ada 7 buah tombol, gunakan Set Bit tipe Keyboard Flat, dan beri label secara berturut-turut, mulai dari atas ke bawah: 5, 3, 4, 1, 2, buka dan tutup. Isi address secara berturut-turut: LB-5, LB-3, LB-4, LB-1, LB-2, LB-6 dan LB-7. Kemudian tambahkan objek Numeric, isi address: LW-2, di mana objek ini digunakan untuk menampilkan posisi lantai Lift. Terakhir, tambahkan keterangan dengan objek Text, isi Content: Panel di dalam Lift, seperti ditunjukkan dalam gambar berikut.

Gambar 11.19 Isi Window 011 dengan 7 buah objek Set Bit (tombol 1-5, tombol buka dan tutup) dan sebuah objek Numeric (menampilkan posisi lantai Lift), serta objek Text

20. Agar Window_011 hanya muncul ketika nilai memori LB-0 bernilai True, maka klik 2 kali Common Window di kolom Windows Tree, kemudian pilih menu Object, pilih Embed Window, pilih Direct Window, di jendela yang muncul, isi Window No.: Window_011, kemudian isi Address: LB-0, klik OK.

Gambar 11.20 Untuk memunculkan panel dengan trigger LB-0, buka Common Window, pilih Direct Window, isi Window No.: Window_011, dan isi Address: LB-0, klik OK

21. Berikutnya, atur posisi dan ukuran Window_011, klik pada Tab Position, beri centang pada Auto. adjust window size, pilih Alignment di pojok kiri atas, kemudian di Tab Profile, isi x: 130, y: 105, width: 200, height: 290. 

Gambar 11.21 Atur posisi dan ukuran Window_011

22. Terakhir, tambahkan Macro agar objek-objek tersebut bisa bekerja sesuai dengan yang diinginkan. Buka menu Project, klik pada Macro, di jendela Macro Manager, pilih New, isi dengan kode seperti gambar di bawah ini (unduh kode tersebut di link ini: https://drive.google.com/file/d/1fYHrl3Fci7Dabp5njnaCRrMKmHdG7Oz3/view?usp=sharing), beri centang pada opsi Execute one time when HMI starts, kemudian klik tombol Save & Compile, pastikan tidak ada error pada kotak pesan.

Gambar 11.22 Buat Macro pertama (macro_0) untuk inisialisasi bentuk dan posisi Lift

23. Buat kode Macro kedua (macro_1) untuk menjalankan Lift sesuai dengan penekanan tombol, buka jendela Macro Manager, klik tombol New, isi dengan kode seperti gambar di bawah ini (unduh kode tersebut di link ini: https://drive.google.com/file/d/1U0CjQBfU-vbe2kAhgq2m4D1V5i2nm8jb/view?usp=sharing), beri centang pada Periodical execution, isi Time Interval: 1x100ms, kemudian klik tombol Save & Compile, pastikan tidak ada error pada kotak pesan.

Gambar 11.23 Tambahkan Macro kedua (macro_1) untuk menjalankan simulasi Lift sesuai penekanan tombol

24. Jangan lupa tekan tombol Save untuk menyimpan project sebelum simulasi dijalankan. Untuk menjalankan simulasi, pada menu Project, klik tombol Offline Simulation. Gambar berikut menampilkan hasil simulasi. Untuk mempercepat pembuatan, rekan-rekan dapat mengunduh file EasyBuilder Pro yang dibuat di bagian ini di link ini: 

Gambar 11.24a Lift berhenti di Lantai 4

Gambar 11.24b Lift sedang turun

Gambar 11.24c Lift sedang naik

25. Agar lebih jelas, berikut ini video pembuatan simulasi Lift 5 lantai dengan memori internal.

Video Bagian 11.1


---------------------------------------------------------------------------------------------------------------------------


Tahap 2: Simulasi Lift 5 Lantai terpantau Outseal Nano

Melanjutkan pembuatan simulasi Lift 5 lantai, pada tahap ini, ditambahkan koneksi ke Outseal Nano melalui protokol Modbus RTU. Dengan koneksi ke Outseal Nano ini, diharapkan posisi Lift, dan kondisi pintu Lift dapat ditampilkan di penampil 7-segment (posisi lantai dan step), dan disimulasikan dengan motor Stepper (simulasi Lift naik/turun) dan motor Servo (simulasi pintu Lift buka/tutup). 

Berikut ini langkah-langkah pembuatannya:
1. Buka rangkaian Outseal Nano di link Wokwi ini: https://wokwi.com/projects/428704979448017921

Gambar 11.25 Rangkaian Outseal Nano di Wokwi untuk menampilkan dan mensimulasikan posisi lift dan kondisi pintu lift dengan 7-segmen dan motor stepper serta motor servo

2. Berikutnya, buka EasyBuilder Pro, dengan file projek yang telah dibuat di tahap sebelumnya (unduh file projek di langkah no. 24 di Tahap 1 di atas).

3. Setelah EasyBuilder Pro terbuka, di menu Home, klik pada System Parameters, di jendela yang terbuka, klik New Device/Server.

Gambar 11.26 Di jendela System Parameters, klik New Device/Server

4. Tekan tombol Device type, pilih MODBUS RTU (Zero-based Addressing), klik tombol Settings, pilih COM yang berpasangan (lihat di Device Manager). Dalam contoh di sini, digunakan pasangan COM COM5 dan COM6. COM5 digunakan untuk EasyBuilder Pro, sedangkan COM6 digunakan untuk Outseal Nano di Wokwi. Klik OK.

Gambar 11.27 Pilih Device: MODBUS RTU (Zero-based Addressing) dan atur port COM, pilih COM yang berpasangan (lihat Device Manager)

5. Berikutnya, buka menu Project, pilih Macro. Di jendela Macro manager, hapus (delete) 2 macro yang ada di dalam daftar. Kemudian klik New untuk membuat macro yang baru, dan isi dengan kode di link ini: 

Gambar 11.28 Hapus 2 macro yang ada, kemudian buat macro yang baru, isi dengan kode di link ini: 

6. Beri centang pada opsi Periodical execution, isi Time interval: 1x100ms. Tekan tombol Save & Compile. Apabila tidak ada error (0 error), klik tombol On-line Simulation untuk menjalankan simulasi EasyBuilder Pro dengan koneksi online ke device Modbus RTU.

Gambar 11.29 Pilih Periodical execution, isi Time interval = 1x100ms, klik tombol Save & Compile, apabila tidak ada error, klik tombol On-line Simulation

7. Sementara simulasi EasyBuilder Pro berjalan, unduh file Ladder Diagram Outseal Nano di link ini: 
https://drive.google.com/file/d/1QCOgDKP3OPYk_-3g8cYB13s2yGz6a1op/view?usp=sharing. Buka Ladder Diagram tersebut dengan Outseal Studio. Pastikan hardware yang digunakan adalah Outseal Nano dan alamat Modbus = 1.

Gambar 11.30 Buka Ladder Diagram di Outseal Studio, yang filenya dapat diunduh di link ini: 

8. Setelah Ladder Diagram terbuka, klik tombol Test, pastikan tidak terdapat kesalahan.

Gambar 11.31 Tekan tombol Test untuk kompilasi Ladder Diagram, pastikan tidak ada kesalahan

9. Buka kembali rangkaian Wokwi di atas  (https://wokwi.com/projects/428704979448017921)Klik kanan bagian kode, pilih Command Palette, pilih Upload Firmware and Start Simulation.

Gambar 11.32 Klik kanan bagian kode, pilih Command Palette, pilih Upload Firmware and Start Simulation

10. Arahkan pencarian file Firmware ke lokasi file Hasil.hex, yang berada di direktori: C:/Users/nama_user/AppData/Local/Temp/Outseal.

Gambar 11.33 Arahkan pencarian ke C:/Users/nama_user/AppData/Local/Temp/Outseal

11. Ketika simulasi Wokwi berjalan, pastikan muncul kotak pilihan port COM seperti ditunjukkan gambar berikut ini. Apabila kotak pilihan COM tersebut tidak muncul, ulangi melakukan Upload Firmware and Start Simulation hingga kotak pilihan port COM tersebut muncul. 

Gambar 11.34 Pastikan kotak pilihan port COM muncul saat simulasi dijalankan

12. Pilih port COM yang berpasangan dengan port COM di EasyBuilder Pro. Buka Device Manager untuk mengetahui Port COM yang berpasangan. Dalam contoh di sini digunakan COM5 untuk EasyBuilder Pro dan COM6 untuk Wokwi.

Catatan: Simulasi Wokwi tidak aktif apabila berada di belakang atau tertutup software lain. Untuk itu,  buat agar Wokwi dan EasyBuilder Pro ditempatkan secara berdampingan seperti ditunjukkan gambar berikut ini.

Gambar 11.35 Buat Wokwi dan EasyBuilder Pro dijalankan secara berdampingan

13. Gambar-gambar berikut ini menunjukkan simulasi EasyBuilder Pro dan Wokwi saat tombol 4 di EasyBuilder Pro ditekan.

Gambar 11.36(a) Ketika tombol 4 ditekan, Lift naik dari lantai 1 ke lantai 4, motor Stepper berputar searah jarum jam

Gambar 11.36(b) Saat Lift sudah mencapai lantai 4, LED indikator Proses padam, pintu Lift terbuka

15. Untuk mempercepat pembuatan, rekan-rekan dapat mengunduh file EasyBuilder Pro yang dibuat di bagian ini di link ini: https://drive.google.com/file/d/1tVaH_ddTIf2Phx5VuIKb34aa96UCHaL4/view?usp=sharing

16. Agar lebih jelas, berikut ini video pembuatan simulasi Lift 5 lantai terhubung Outseal Nano dengan Modbus RTU:

Video Bagian 11.2




---------------------------------------------------------------------------------------------------------------------------

Tahap 3: Simulasi Lift 5 Lantai terkontrol Outseal Nano





=========================================================================
 

12. Simulasi Proses Sorting dengan EasyBuilder Pro, Outseal Nano & Wokwi

Pembuatan simulasi proses sorting dengan EasyBuilder Pro




=========================================================================
 

13. Simulasi Proses Distribusi dengan EasyBuilder Pro, Outseal Nano & Wokwi

Pembuatan simulasi proses distribusi dengan EasyBuilder Pro




=========================================================================
 

14. Simulasi Pengisian Botol dengan EasyBuilder Pro, Outseal Nano & Wokwi

Pembuatan simulasi pengisian botol dengan EasyBuilder Pro


















No comments:

Post a Comment