Untuk implementasi IoT pada mesin produksi, kesalahan yang paling sering terjadi adalah langsung membeli sensor, gateway, atau membuat dashboard. Padahal langkah pertama bukan memilih teknologi, tetapi menentukan data apa yang ingin diketahui dan masalah apa yang ingin diselesaikan.
Untuk sistem industri, saya sarankan pendekatannya seperti ini:
Problem → Data → Connectivity → Gateway → MQTT/OPC UA → Server → Database → Dashboard → Improvement
Berikut step-by-step dari nol sampai menjadi sistem monitoring yang bisa digunakan.
1. Tentukan Tujuan Monitoring Terlebih Dahulu
Ini adalah langkah pertama dan paling penting.
Jangan mulai dengan:
"Saya mau pasang IoT."
Tetapi mulai dengan:
"Apa yang ingin saya monitor dan mengapa?"
Contohnya sebuah mesin produksi ingin diketahui:
- Mesin sedang RUN atau STOP
- Berapa jumlah produksi
- Berapa jumlah NG
- Berapa lama mesin berhenti
- Berapa cycle time
- Berapa temperatur
- Berapa tekanan
- Berapa konsumsi listrik
- Kapan terjadi alarm
- Siapa operatornya
- Berapa OEE
Misalnya tujuan awal:
Mengetahui status mesin dan jumlah produksi secara realtime.
Maka kita tidak perlu langsung memasang 20 sensor.
2. Survey Kondisi Mesin
Setelah menentukan tujuan, lakukan machine survey.
Cari tahu:
Apakah mesin sudah memiliki PLC?
Misalnya:
Siemens
Mitsubishi
Omron
Keyence
Allen-Bradley
Schneider
dll.
Jika sudah ada PLC, biasanya ini menjadi sumber data utama.
Apakah mesin sudah memiliki HMI?
Periksa:
- Brand
- Model
- Communication port
- Ethernet
- RS-485
- USB
- Protokol yang tersedia
Apakah mesin memiliki sensor?
Contohnya:
Proximity
Photoelectric
Pressure
Temperature
Flow
Encoder
Current
Voltage
Apakah mesin memiliki inverter/servo?
Periksa apakah data seperti:
- Frequency
- Speed
- Current
- Alarm
- Running status
bisa dibaca melalui komunikasi.
3. Buat Daftar Data yang Dibutuhkan
Setelah survey, buat Data Point List.
Contohnya:
| No | Data | Sumber | Satuan | Kebutuhan |
|---|---|---|---|---|
| 1 | Machine Status | PLC | - | Realtime |
| 2 | Production Count | PLC | pcs | Realtime |
| 3 | NG Count | PLC | pcs | Realtime |
| 4 | Cycle Time | PLC | sec | Realtime |
| 5 | Temperature | Sensor | °C | 1 sec |
| 6 | Pressure | Sensor | bar | 1 sec |
| 7 | Motor Current | Energy Meter | A | 5 sec |
| 8 | Energy | Energy Meter | kWh | 10 sec |
| 9 | Alarm | PLC | - | Event |
Ini akan menjadi blueprint data IoT kita.
4. Jangan Semua Data Dikirim ke Cloud
Ini juga penting.
Misalnya PLC memiliki:
1000 register
bukan berarti semuanya harus dikirim ke server.
Pilih data yang memang diperlukan.
Contoh:
PLC
│
├── Machine Status ✓
├── Production Count ✓
├── NG Count ✓
├── Alarm ✓
├── Cycle Time ✓
├── Internal Register 1 ✕
├── Internal Register 2 ✕
├── Temporary Data ✕
└── Debug Data ✕
Dengan demikian sistem menjadi lebih ringan dan mudah dikelola.
5. Tentukan Sumber Data
Setelah Data Point List dibuat, tentukan dari mana masing-masing data diperoleh.
Misalnya:
Machine Status
↓
PLC
Production Count
↓
PLC
Temperature
↓
Temperature Sensor
Pressure
↓
Pressure Sensor
Energy
↓
Power Meter
Jadi jangan langsung berasumsi bahwa semua data membutuhkan sensor baru.
Jika PLC sudah mempunyai datanya, manfaatkan data tersebut.
6. Tentukan Cara Mengambil Data
Sekarang kita masuk ke bagian komunikasi.
Misalnya PLC memiliki Ethernet.
Kita bisa menggunakan:
PLC
↓
Ethernet
↓
Gateway
Untuk PLC dan perangkat lain, protokol yang mungkin digunakan antara lain:
- Modbus TCP
- Modbus RTU
- PROFINET
- EtherNet/IP
- OPC UA
- CC-Link
- dan lainnya
Contoh sederhana:
Energy Meter
│
RS-485
│
▼
Gateway
atau:
PLC
│
Ethernet
│
▼
Gateway
7. Tentukan Arsitektur IoT
Setelah tahu data dan sumbernya, baru kita menentukan arsitektur.
Untuk sistem produksi, arsitektur yang cukup fleksibel adalah:
┌───────────────┐
│ MESIN │
│ │
│ Sensor / PLC │
└───────┬───────┘
│
│ Industrial Protocol
▼
┌───────────────────┐
│ Industrial Gateway│
└─────────┬─────────┘
│
│ MQTT
▼
┌───────────────────┐
│ MQTT Broker │
└─────────┬─────────┘
│
▼
┌───────────────────┐
│ Application Server│
└───────┬───────────┘
│
├──── Database
│
└──── Dashboard
Ini merupakan salah satu pola arsitektur yang umum untuk sistem IIoT.
8. Gunakan Gateway sebagai Jembatan
Gateway sangat penting ketika mesin menggunakan protokol industri sedangkan server menggunakan protokol IoT.
Contohnya:
PLC
│
│ Modbus TCP
▼
Gateway
│
│ MQTT
▼
MQTT Broker
Gateway melakukan pekerjaan seperti:
Mengambil data dari dunia mesin → mengubah/mengemas data → mengirimkannya ke sistem IoT.
Contoh:
PLC memiliki:
MW100 = Production Count
MW102 = NG Count
M100 = Machine Run
Gateway membaca data tersebut.
Kemudian Gateway mengirim:
{
"machine": "M01",
"production": 1250,
"ng": 12,
"status": "RUN"
}
9. Tentukan MQTT Topic
Jika menggunakan MQTT, buat struktur topic sejak awal.
Jangan membuat topic secara sembarangan.
Contoh:
factory/line01/machine01/status
factory/line01/machine01/production
factory/line01/machine01/alarm
atau menggunakan satu topic data:
factory/line01/machine01/data
dengan payload JSON:
{
"status": "RUN",
"production": 1250,
"ng": 12,
"temperature": 32.5,
"pressure": 5.2
}
10. Pasang MQTT Broker
MQTT Broker menjadi pusat lalu lintas data.
Contohnya:
Machine 01 ──┐
Machine 02 ──┤
Machine 03 ──┼──> MQTT Broker
Machine 04 ──┤
Machine 05 ──┘
Broker dapat ditempatkan:
On-premise
Machine
↓
Local Network
↓
MQTT Broker
↓
Local Server
Cocok ketika data harus tetap berada di jaringan pabrik.
Cloud
Machine
↓
Gateway
↓
Internet
↓
Cloud MQTT Broker
Cocok untuk monitoring dari lokasi yang berbeda, dengan desain keamanan jaringan yang tepat.
11. Simpan Data ke Database
MQTT bukan database.
MQTT bertugas membawa data.
Database bertugas menyimpan data.
Arsitekturnya:
Machine
↓
Gateway
↓
MQTT Broker
↓
Application
↓
Database
Misalnya setiap 5 detik kita mendapatkan:
10:00:00 → 32.1°C
10:00:05 → 32.3°C
10:00:10 → 32.5°C
10:00:15 → 32.8°C
Data tersebut disimpan sehingga nanti dapat dianalisis.
12. Buat Dashboard
Setelah data tersedia, barulah kita membuat dashboard.
Contohnya:
┌────────────────────────────────────────┐
│ PRODUCTION MONITORING │
├───────────────┬────────────────────────┤
│ MACHINE │ M01 │
│ STATUS │ 🟢 RUNNING │
├───────────────┼────────────────────────┤
│ TARGET │ 1,500 pcs │
│ ACTUAL │ 1,250 pcs │
│ NG │ 12 pcs │
│ PROGRESS │ 83.3 % │
│ CYCLE TIME │ 4.2 sec │
├───────────────┴────────────────────────┤
│ Temperature 32.5 °C │
│ Pressure 5.2 bar │
│ Energy 12.4 kWh │
└────────────────────────────────────────┘
Dashboard bukan sekadar mempercantik data.
Tujuannya adalah membuat data menjadi informasi yang bisa digunakan untuk mengambil keputusan.
13. Tambahkan Historian / Trend
Realtime monitoring saja belum cukup.
Misalnya dashboard menunjukkan:
Temperature = 35°C
Lebih berguna jika kita juga bisa melihat:
Temperature Trend - 24 Hours
40°C ┤ ╭─╮
35°C ┤ ╭───────╯ ╰──
30°C ┤────────╯
25°C ┤
└──────────────────────
08 12 16 20 00
Dengan historical data kita dapat mengetahui:
- Kapan temperatur mulai naik
- Kapan mesin sering berhenti
- Jam produksi tertinggi
- Trend konsumsi energi
- Frekuensi alarm
- Downtime
14. Tambahkan Alarm
Sekarang sistem mulai menjadi lebih pintar.
Misalnya:
IF temperature > 40°C
THEN alarm
atau:
IF machine_status = STOP
AND production_order_active = TRUE
THEN downtime_alarm
Dashboard dapat menampilkan:
🔴 Machine M01 STOP
Bahkan sistem dapat mengirim notifikasi:
Machine M01 STOP
Line 1
Time: 14:35
ke aplikasi yang digunakan perusahaan, sesuai kebutuhan dan desain integrasinya.
15. Tambahkan Production Monitoring
Setelah status mesin berhasil dimonitor, kita dapat mengembangkan ke production.
Misalnya:
Target = 1,000 pcs
Actual = 750 pcs
NG = 15 pcs
Dashboard dapat menghitung:
Progress = 750 / 1000 × 100%
= 75%
Kemudian dapat dikembangkan menjadi:
- Production rate
- Cycle time
- Downtime
- Availability
- Performance
- Quality
- OEE
16. Tambahkan Energy Monitoring
Jika perusahaan ingin mengetahui konsumsi energi mesin, tambahkan:
Energy Meter
Contohnya:
Machine
│
├── PLC
│
└── Energy Meter
│
Modbus
│
▼
Gateway
│
MQTT
│
▼
Server
Dashboard dapat menampilkan:
Energy Today
125.4 kWh
Energy / Product
0.12 kWh/pcs
Ini jauh lebih berguna daripada hanya mengetahui:
"Mesin menggunakan listrik."
Kita mulai mendapatkan energy efficiency.
17. Tambahkan Traceability
Jika sistem produksi membutuhkan traceability, data mesin dapat dikaitkan dengan:
- Serial Number
- Model
- Work Order
- Operator
- Station
- Timestamp
- Torque
- Pressure
- Temperature
- Inspection result
Contohnya:
Engine S/N: ABC123456
Model : XYZ
Station : ST05
Operator : Operator01
Torque : 45.2 Nm
Result : OK
Date : 12-09-2026
Kemudian data tersebut masuk ke database.
Ini sudah mulai masuk ke area:
Manufacturing Data / MES / Traceability.
18. Implementasikan Security
Ini sering dilupakan.
Jangan membuat:
PLC
↓
Internet
secara langsung.
Sebaiknya:
INTERNET
│
Firewall
│
┌──────┴──────┐
│ IT Network │
└──────┬──────┘
│
MQTT / API
│
OT Network
│
Industrial
Gateway
│
PLC
Perhatikan:
- Firewall
- Network segmentation
- Authentication
- MQTT username/password
- TLS
- ACL
- VPN jika diperlukan
- Hak akses
- Backup
- Logging
Untuk sistem produksi, security harus dirancang sejak awal, bukan ditambahkan setelah sistem selesai.
19. Jangan Langsung Implementasi ke 100 Mesin
Ini juga sangat penting.
Buat Pilot Project terlebih dahulu.
Misalnya:
100 Mesin
↓
Pilot
↓
1 Mesin
Pilih satu mesin yang:
- Data relatif mudah diambil
- Tidak terlalu kritis
- PLC tersedia
- Jaringan tersedia
- Operator bersedia mencoba
- Masalah monitoringnya jelas
Kemudian implementasikan:
1 Machine
↓
Gateway
↓
MQTT
↓
Database
↓
Dashboard
Setelah berhasil, baru diperluas.
20. Lakukan Validasi Data
Jangan langsung percaya dashboard.
Bandingkan:
Data PLC
dengan:
Data Dashboard
Contoh:
PLC:
Production = 1,250
Dashboard:
Production = 1,250
Cek juga:
- Timestamp
- Data loss
- Duplicate data
- Delay
- Scaling
- Unit
- Reset counter
- Communication loss
21. Buat Standar Data
Ketika mesin sudah mulai banyak, standardisasi menjadi sangat penting.
Misalnya semua mesin menggunakan:
machine_status
production_count
ng_count
cycle_time
alarm_code
temperature
pressure
energy
Jangan sampai:
Machine 01 → prod_count
Machine 02 → production
Machine 03 → qty
Machine 04 → total_pcs
Padahal semuanya memiliki arti yang sama.
Buat standar sejak awal.
22. Setelah Stabil, Scale Up
Misalnya Pilot Project berhasil.
Baru dikembangkan:
1 Machine
↓
5 Machines
↓
20 Machines
↓
100 Machines
Arsitektur:
MQTT Broker
│
┌───────────┼───────────┐
│ │ │
Gateway Gateway Gateway
│ │ │
Line 1 Line 2 Line 3
│ │ │
Machine Machine Machine
01-10 11-20 21-30
Dengan arsitektur yang baik, penambahan mesin tidak perlu mengubah seluruh sistem.
23. Gambaran Lengkap Sistem IoT Mesin Produksi
Pada akhirnya sistem dapat menjadi seperti ini:
┌──────────────────────┐
│ MACHINE / OT │
│ │
│ Sensor │
│ PLC │
│ Inverter │
│ Energy Meter │
└──────────┬───────────┘
│
Industrial Protocol
│
▼
┌──────────────────────┐
│ INDUSTRIAL GATEWAY │
│ │
│ Data Acquisition │
│ Data Processing │
│ MQTT Client │
└──────────┬───────────┘
│
MQTT
│
▼
┌──────────────────────┐
│ MQTT BROKER │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ APPLICATION SERVER │
└──────────┬───────────┘
│
┌─────────┴─────────┐
│ │
▼ ▼
DATABASE ANALYTICS
│ │
└─────────┬─────────┘
▼
┌──────────────────────┐
│ DASHBOARD │
│ │
│ Production │
│ Machine Status │
│ Alarm │
│ Energy │
│ OEE │
│ Historical Data │
└──────────────────────┘
24. Urutan Implementasi yang Saya Rekomendasikan
Kalau benar-benar mulai dari nol, gunakan urutan ini:
STEP 1
Tentukan tujuan
Apa masalah yang ingin diselesaikan?
↓
STEP 2
Survey mesin
PLC apa? Sensor apa? Komunikasi apa?
↓
STEP 3
Buat Data Point List
Data apa yang diperlukan?
↓
STEP 4
Ambil data dari mesin
PLC / Sensor / Meter / Inverter
↓
STEP 5
Tentukan protokol
Modbus / PROFINET / OPC UA / lainnya
↓
STEP 6
Pasang Industrial Gateway
Mengambil data dari mesin
↓
STEP 7
Implementasikan MQTT
Gateway → MQTT Broker
↓
STEP 8
Simpan ke Database
Historical data
↓
STEP 9
Buat Dashboard
Realtime + historical
↓
STEP 10
Tambahkan Alarm & Notification
↓
STEP 11
Tambahkan Analytics
Downtime / OEE / Energy / Quality
↓
STEP 12
Pilot → Validasi → Scale Up
25. Contoh Project Sederhana untuk Mulai
Kalau saya membuat project pertama IoT untuk satu mesin produksi, saya tidak akan langsung membuat sistem yang kompleks.
Saya akan mulai dengan 5 data saja:
1. Machine Status
2. Production Count
3. NG Count
4. Cycle Time
5. Alarm
Arsitektur:
MACHINE
│
▼
PLC
│
Ethernet/Protocol
│
▼
Industrial Gateway
│
MQTT
│
▼
MQTT Broker
│
▼
Database
│
▼
Dashboard
Dashboard pertama cukup:
┌─────────────────────────────┐
│ MACHINE MONITORING │
├─────────────────────────────┤
│ STATUS 🟢 RUNNING │
│ │
│ TARGET 1,000 PCS │
│ ACTUAL 750 PCS │
│ NG 12 PCS │
│ │
│ CYCLE TIME 4.2 SEC │
│ │
│ ALARM NONE │
└─────────────────────────────┘
Kalau ini sudah stabil, baru tambahkan temperature, pressure, energy, OEE, traceability, dan seterusnya.
🎯 Inti dari implementasi IoT
Jangan berpikir:
"Saya mau memasang IoT pada mesin."
Ubahlah cara berpikir menjadi:
"Saya ingin mendapatkan data mesin → mengubahnya menjadi informasi → menggunakan informasi tersebut untuk meningkatkan produksi."
Jadi teknologi hanyalah alat.
Urutan berpikir yang benar adalah:
Problem → Data → Communication → Processing → Storage → Visualization → Action → Improvement.
Untuk sistem seperti ini, MQTT hanyalah salah satu bagian. PLC tetap dapat menangani kontrol mesin, sedangkan IoT mengambil data dan membawanya ke level monitoring, analitik, dan integrasi sistem.
Berikut contoh dashboard implementasi IoT pada line produksi :