Integrasi PLC Siemens S7 1200 ke sistem IOT via Simatic IOT 2000 dan NodeRed (Bagian 2)

Setelah membahas pengenalan dan konfigurasi IOT 2000 pada posting sebelumnya, kali ini saya akan menghubungkan PLC Siemens S7 1200 dan IOT 2040 melalui NodeRed. NodeRed ialah sebuah flow-based programming tool yang dapat menghubungkan berbagai hardware IOT, API, dan online services.

Pada percobaan ini saya menggunakan beberapa peralatan berikut di laboratorium kami di Teknik Elektro UK Petra:

  • IOT 2040 yang memiliki 2 buah ethernet port
  • PLC Siemens S7 1200 tipe 1215C yang memiliki 2 buah ethernet port
  • 1 PC dengan 1 buah ethernet port

Berikut ini diagram blok dengan IP masing – masing device.

Seperti tampak pada gambar di atas, hubungan antar port dapat terjadi jika keduanya berada dalam 1 jaringan (lokal). Static IP pada port 1 dan port 2 dari IOT 2040 dapat diberikan berbeda satu dengan yang lain, bahkan yang berbeda jaringan sekalipun. Meskipun pada konfigurasi di atas jaringan dapat dilakukan secara ad hoc, akan lebih baik jika digunakan suatu switch di mana seluruh devices terhubung ke switch tersebut.

Sebelum dapat terhubung seluruh komponen sistem, ada tahapan konfigurasi dan pemrograman yang anda harus lakukan.

Konfigurasi

Konfigurasi perlu harus dilakukan di komputer, PLC dan IOT 2040.

Konfigurasi pada IOT 2040

Pastikan IOT 2040 anda terhubung dengan internet, lalu lakukan instalasi NodeRed (sekaligus Node.js) dengan benar pada IOT 2040. Meski anda dapat menginstall NodeRed versi terbaru (v0.20.5), sayangnya untuk Node.js masih akan mendapat versi lama (v6.12.3), karena keterbatasan hardware IOT 2040. Install  juga node yang akan menghubungkan PLC S7 1200 dengan NodeRed di sini.

Dengan melakukan akses pada “iot2000setup” (lihat posting sebelumnya), lakukan konfigurasi pada static IP dari port 1 dan 2 sebagai berikut:

  • X1P1LAN: 192.168.200.1 (disarankan beda jaringan dengan PLC, namun dalam jaringan yang sama dengan PC)
  • X2P1LAN: 192.168.0.2 (harus dalam jaringan yang sama dengan PLC)

Konfigurasi pada PLC S7 1200

Konfigurasi IP address PLC sesuai kebutuhan (memiliki jaringan yang sama dengan port 2 IOT 2000), misal: 192.168.0.20. Sebelum PLC dapat digunakan untuk bertukar data dengan SCADA software, lakukan 2 hal berikut.

Hal pertama, kita harus mengatur supaya PLC mengizinkan datanya diakses oleh alat atau software lain yang berada di jarak jauh. Caranya:

  • Klik kanan pada simbol “PLC”, pilih “Properties”
  • Pada bagian “Protection”, beri tanda centang pada “Permit access with PUT/GET communication from remote partner (PLC, HMI, OPC, ,,,)”

Hal berikutnya bersifat optional. Jika dalam pemrograman PLC, kita memiliki Data Block (DB), maka lakukan hal berikut.

  • Klik kanan pada “Data Block”, lalu pilih “Properties”
  • Pada bagian “Attributes”, hilangkan centang pada bagian “Optimized block accesss”

Konfigurasi pada PC

Pada PC, konfigurasi IP berikut:

  • Setting IP: 192.168.200.2 (1 jaringan dengan IOT 2000),
  • Subnet: 255.255.255.0,
  • Gateway: 192.168.200.1 (alamat IP X1P1LAN dari IOT 2000)

Pastikan seluruh kabel ethernet anda berfungsi dengan baik (lampu hijau muda dan oranye berkedip dua – duanya). Untuk pengecekan, dari komputer host lakukan hal berikut:

  • Ping alamat 192.168.200.1 (alamat IP X1P1LAN dari IOT 2000).
  • Ping alamat 192.268.0.2 (alamat IP X2P1LAN dari IOT 2000)

Kemudian lakukan “ssh root@….” dan lakukan hal berikut:

  • Ping alamat 192.268.0.1 (alamat IP PLC S7 1200)
  • Ping alamat 192.168.200.2 (alamat IP PC)

Jika tidak ada masalah, maka semua ping akan berhasil.

Pemrograman

Kita harus menyiapkan program sederhana di PLC dan NodeRed untuk dapat

Pemrograman pada PLC S7 1200

Sebelum membuat ladder diagram, saya harus membuat terlebih dahulu beberapa variabel pada Data Block yang akan ditampilkan di NodeRed. Ada beberapa hal yang harus ditentukan pada variabel tersebut:

  • Tipe data yang sesuai
  • Offset ditentukan otomatis oleh TIA Portal, parameter ini berkaitan dengan pengalamatan variabel di data block. 

Parameter offset (dan isinya) akan muncul jika setelah membuat variabel, kita tekan tombol “Compile”. Pengaturan pada data block harus dilakukan karena node S7 communication yang saya pakai sekarang tidak memungkinkan untuk langsung menampilkan alamat I/O PLC seperti: %I0.0 atau %Q0.1.

Setelah itu, saya membuat ladder diagram sederhana yang menghubungkan input diskrit %I0.1 ke variabel Data Block bertipe boolean (alamat %DB1.DB X0.0 atau simbol “Data_block_1”.Input).  Ladder diagram juga harus memindahkan data input analog  %IW64 ke variabel Data Block bertipe integer (alamat %DB1.DB W6 atau simbol “Data_block_1”.Mode).

Setelah selesai, lakukan download ladder diagram dan hardware configuration ke PLC. Nilai variabel data block akan berubah seiring dengan perubahan input diskrit dan input analog dari simulator hardware PLC S7 1200. Berikut ini tampilan di tabel data block saat dilakukan monitoring.

Pemrograman pada PC (NodeRed)

Langkah terakhir yang harus dilakukan ialah pemrograman NodeRed. Masuk “ssh” melalui terminal pada “root@192.168.200.1” dan jalankan “node /usr/lib/node_modules/node-red/red &”. Tunggu beberapa menit dan akan muncul pesan “Server now running at http://127.0.0.1:1880”. Berarti NodeRed sudah siap digunakan.

Setelah NodeRed server running, pada browser Google Chrome di komputer anda, ketikkan htttp://192.168.200.1:1880. Alamat ini berbeda dengan terminal di atas karena kita membuka NodeRed yang berada pada IOT 2040 dari komputer kita. Berikut ini contoh browser dengan NodeRed.

Berikutnya, kita akan membuat program dengan meletakkan beberapa node dan menghubungkannya satu dengan yang lain. Berikut ini beberapa node yang saya gunakan:

  • “S7 Read”: node untuk membaca data dari PLC S7 1200
  • “text”: node untuk menampilkan data pada dashboard NodeRed
  • “msg.payload”: node untuk membantu proses debugging
  • “StoreToFile”: node untuk menyimpan data ke dalam file txt (node terakhir ini bersifat opsional dan saya gunakan untuk eksperimen saja).

Pada mulanya, karena setting untuk terhubung dengan PLC masih salah, akan muncul tulisan “failure” pada node S7 Read.

Klik dua kali pada node S7 Read dan lakukan konfigurasi berikut.

Di halaman ini, tekan tombol dengan lambang pensil di sebelah kanan PLC untuk mengatur alamat dan port yang tepat.

Di halaman “Properties” masukkan IP address sesuai dengan IP address PLC (192.168.0.20) dan isikan Port: 102. Kemudian isikan Rack: 0 dan Slot: 1 (sesuaikan dengan konfigurasi PLC S7 1200 di TIA Portal). Isian yang lain bisa diubah atau dibiarkan. Lalu klik tab “Variables”, dan halaman berikut akan muncul.

Di halaman “Variables”, pada kolom pertama isikan nama Data Block, tipe data dan nilai offset dari variable tersebut. Sedang pada kolom ke 2 berikan nama variabel sesuai setting di TIA Portal.

Setelah selesai melakukan konfigurasi, tekan tombol “Deploy” yang berwarna merah di bagian kanan atas. Jika benar, maka pada node S7 Read akan muncul tulisan “online”. Berarti NodeRed sudah terhubung dengan PLC.

Selain itu, nilai variabel dari PLC dapat dilihat di tab “Debug” berikut, karena kita menggunakan  node debugging.

Kita juga dapat melihat hasilnya di “Dashboard” karena menggunakan node “text”. Caranya ialah dengan memilih “View” lalu memilih “Dashboard”.

Akan muncul tampilan sederhana berikut yang menunjukkan bahwa nilai input diskrit %I0.1 = 1 (Input: true) dan nilai input analog %IW64 = 5204 (Mode: 5204).

Demikian posting kali ini. Semoga bermanfaat!

5 thoughts on “Integrasi PLC Siemens S7 1200 ke sistem IOT via Simatic IOT 2000 dan NodeRed (Bagian 2)

    1. Febrian Zulmi

      mau nanya kan saya sudah berhasil komunikasi plc siemens 1200 dengan node red, nah terus ketika saya cabut kabel ethernet plc yang ke laptop, nodered saya terputus,. oleh karena itu ada cara ga agar plc siemens saya bisa terhubung ke node red tapi kabel ethernet tidak perlu terhubung ke laptop? mohon bantuannya

      Like

Leave a comment