Integration ESP32 as Client to PLC Siemens as Server Using PLCSIM


Tujuan
- Mengintegrasikan ESP32 sebagai perangkat IoT untuk mengirim data ke PLC Siemens.
- Menggunakan PLCSIM untuk mensimulasikan PLC Siemens tanpa perangkat keras fisik.
- Mengirimkan data menggunakan protokol komunikasi (Modbus/TCP atau UDP).
Peralatan dan Perangkat Lunak
- Hardware: ESP32 dengan akses Wi-Fi.
- Software:
- Arduino IDE (untuk memprogram ESP32).
- TIA Portal (untuk konfigurasi PLC Siemens).
- PLCSIM Advanced (untuk simulasi PLC).
- Wireshark (opsional, untuk memonitor paket komunikasi).
Langkah-langkah
- Persiapan ESP32
- Konfigurasi ESP32:
- Sambungkan ESP32 ke komputer menggunakan kabel USB.
- Pastikan driver ESP32 sudah diinstal di komputer.
- Program ESP32:
- Buka Arduino IDE dan pastikan ESP32 sudah terdeteksi di port COM.
- Tambahkan library komunikasi Modbus: ModbusRTU atau ModbusTCP.
- Tuliskan kode ESP32 untuk mengirim data (contoh: data sensor suhu).
Contoh kode dasar:
#include <WiFi.h>
#include <ModbusTCP.h>
const char* ssid = "Your_SSID";
const char* password = "Your_PASSWORD";
ModbusTCPClient modbus;
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected!");
modbus.begin();
}
void loop() {
if (modbus.connected()) {
modbus.writeSingleRegister(1, 123); // Kirim data ke register
} else {
modbus.begin();
}
delay(1000);
}
-
Upload Program:
- Pastikan board ESP32 dan port COM sesuai dengan pengaturan di Arduino IDE.
- Klik tombol Upload.
- Cek Output ESP32:
- Gunakan Serial Monitor untuk memastikan data dikirim.
- Konfigurasi PLCSIM
- Buka TIA Portal:
- Buat proyek baru untuk PLC Siemens.
- Pilih model PLC, misalnya S7-1200 atau S7-1500.
- Konfigurasi PLCSIM:

-
- Hubungkan PLCSIM dengan proyek di TIA Portal.
- Atur IP address untuk PLC (contoh: 192.168.0.10).
- Aktifkan simulasi pada PLCSIM.
- Tambahkan Blok Modbus TCP:

-
- Gunakan TIA Portal Instruction Library dan tambahkan blok MB_SERVER atau MB_CLIENT.
- Konfigurasi parameter blok dengan:
- IP ESP32: 192.168.0.x (disesuaikan dengan ESP32).
- Port Modbus: 502.
- Buat Logika Program:

-
- diatas adalah function block dari modbus server TCP.
- Setup dan Setting Seperti gambar diatas.
- Download Program ke PLCSIM:

-
- Pastikan PLC virtual berjalan di PLCSIM.
- Unduh program dari TIA Portal ke PLCSIM.
- Pengujian Komunikasi
- Cek Koneksi ESP32 ke PLC:
- Gunakan ping untuk memastikan ESP32 dapat berkomunikasi dengan IP PLC.
- Jika ada masalah, pastikan subnet mask dan gateway diatur dengan benar.
- Monitor Data:
- Gunakan Online Monitoring di TIA Portal untuk melihat data yang diterima PLC dari ESP32.
- Debugging:
- Gunakan Wireshark untuk memastikan paket Modbus/TCP dikirim dan diterima dengan benar.
Catatan Penting
- Pastikan ESP32 dan komputer berada di jaringan Wi-Fi yang sama.
- Jika menggunakan firewall, pastikan port Modbus (502) tidak diblokir.
- Gunakan power supply yang stabil untuk ESP32 agar menghindari restart yang tidak diinginkan.
🌐 Menemukan dan Mengatur IP Address PLC Siemens
Salah satu tahap kritis dalam integrasi ESP32 dengan PLC Siemens adalah memastikan alamat IP kedua perangkat berada dalam satu subnet yang sama. Jika Anda belum familiar dengan cara menentukan atau mencari IP address PLC Siemens, silakan simak panduan wiring PLC S7-1200 sekaligus cara cepat menemukan IP PLC Siemens. Setelah IP address PLC diketahui, sesuaikan pengaturan Wi-Fi ESP32 agar berada di jaringan yang sama, lalu uji konektivitas dasar menggunakan perintah ping dari komputer sebelum melanjutkan ke tahap pemrograman komunikasi Modbus TCP.
🔄 Alternatif Integrasi: Node.js untuk Akses Data Block
Selain menjadikan ESP32 sebagai client Modbus TCP, ada cara lain untuk mengintegrasikan perangkat eksternal dengan PLC Siemens S7-1500, yaitu melalui akses Data Block PLC Siemens S7-1500 menggunakan Node.js. Pendekatan ini cocok jika Anda membutuhkan komputer atau server sebagai perantara antara PLC dan sistem lain seperti database atau dashboard web, sementara pendekatan ESP32 pada tutorial ini lebih cocok untuk kebutuhan IoT berskala kecil dengan biaya hardware yang jauh lebih murah dibanding PC industri.
🖥️ Monitoring Lanjutan dengan WinCC dan PLCSIM Advanced
Setelah komunikasi ESP32-PLC berhasil, Anda bisa melangkah lebih jauh dengan menambahkan visualisasi SCADA menggunakan setting dan konfigurasi TIA Portal WinCC dengan PLCSIM Advanced RT. Dengan begitu, data yang dikirim ESP32 tidak hanya bisa dilihat lewat Online Monitoring di TIA Portal, tetapi juga ditampilkan dalam bentuk dashboard visual yang lebih informatif, lengkap dengan alarm dan tren historis data yang berguna untuk keperluan pemantauan proses secara berkelanjutan.
⚖️ Kapan Memilih ESP32 dan Kapan Memilih PLC?
Integrasi ESP32 dengan PLC seperti pada tutorial ini sering menimbulkan pertanyaan: mengapa tidak menggunakan PLC saja untuk semuanya? Jawabannya ada pada studi perbandingan ESP32 vs PLC untuk aplikasi IoT skala kecil, yang menjelaskan bahwa ESP32 unggul dalam hal biaya dan fleksibilitas konektivitas (Wi-Fi, Bluetooth, cloud), sementara PLC tetap menjadi pilihan utama untuk kontrol proses kritikal yang membutuhkan keandalan tinggi di lingkungan industri berat. Kombinasi keduanya, seperti pada tutorial integrasi ini, sering menjadi solusi paling efisien untuk proyek monitoring IoT skala kecil-menengah.
🛡️ Keamanan Jaringan saat Menghubungkan ESP32 ke PLC
Menghubungkan perangkat IoT seperti ESP32 langsung ke jaringan yang sama dengan PLC industri membawa risiko keamanan siber yang perlu diperhatikan. Sebaiknya gunakan VLAN terpisah atau firewall khusus untuk membatasi akses ESP32 hanya ke port Modbus TCP (502) yang diperlukan, bukan ke seluruh jaringan kontrol. Ganti juga kredensial default pada ESP32 dan pastikan firmware selalu diperbarui, karena perangkat IoT yang terhubung ke jaringan industri sering menjadi celah masuk yang dimanfaatkan untuk serangan siber jika tidak dikonfigurasi dengan benar. Audit berkala terhadap perangkat yang terhubung ke jaringan OT juga sangat disarankan agar tidak ada perangkat asing yang tersambung tanpa sepengetahuan tim.



