Sistem pemantauan 7 mesin bubut CNC melalui OPC UA dan pencatatan hasil ukur rol di Grafana untuk pabrik manufaktur di Thailand
Pelanggan: Grup manufaktur besar di Thailand
Kasus ini adalah sistem yang menyatukan status 7 mesin bubut CNC dan hasil ukur rol pada dasbor Grafana di server internal pabrik. Node-RED membaca nilai mesin melalui OPC UA setiap 5 detik dan menulis hasil ukur dari tablet kembali ke basis data Roller yang sudah ada di pabrik. Kami menyerahkan sistem beserta dokumen penutupan proyek kepada pabrik manufaktur di Thailand pada September 2026.

- 7 mesin bubut CNCMengirim status melalui OPC UA
- Node-REDMembaca nilai mesin dan berfungsi sebagai API
- InfluxDB + basis data Roller yang sudah adaMS SQL Server
- Halaman Overview dan Input di GrafanaMenerima hasil ukur dari jangka sorong digital pada tablet
- Industri
- Manufaktur umum
- Tahun
- 2025–2026
- lingkup pekerjaan
- 2 halaman Grafana (Overview dan Input) beserta Custom Plugin untuk mengirim data, API di Node-RED yang menghubungkan Grafana dengan basis data MS SQL Server, pembacaan data 7 mesin CNC melalui OPC UA setiap 5 detik ke InfluxDB, pengujian sistem, dan penyusunan dokumen proyek. Termasuk pekerjaan tambahan pada tahun 2026: analisis dan penulisan perintah pengambilan data (Query) dari basis data pabrik yang sudah ada.
Ringkasan
- Kami menghubungkan 7 mesin bubut CNC di lini pembubutan rol melalui OPC UA agar Node-RED membaca nilainya setiap 5 detik dan menyimpannya ke InfluxDB di server internal pabrik.
- Halaman Overview di Grafana menampilkan lampu status motor utama, status program, Alarm, dan Cycle Time (waktu per siklus kerja) dalam menit untuk setiap mesin dalam satu layar.
- Divisi QC (pemeriksaan kualitas) mencatat diameter, lebar, dan nilai eksentrisitas rol melalui halaman Input pada tablet, dan API di Node-RED menulis nilai tersebut kembali ke basis data Roller yang sudah ada di MS SQL Server.
- Selama proyek berlangsung, pelanggan menyetujui agar Cycle Time ditampilkan sebagai pengganti waktu selesai pekerjaan karena OPC UA tidak dapat mengirim data yang diperlukan untuk perhitungan dari G-code (rangkaian perintah yang digunakan mesin CNC untuk membubut benda kerja).
- Pekerjaan utama dimulai pada tahun 2025, pelanggan memesan tambahan pekerjaan analisis basis data yang sudah ada pada tahun 2026, dan kami menyerahkan sistem beserta dokumen penutupan proyek pada September 2026.
Permasalahan di lapangan
Status 7 mesin bubut CNC di lini pembubutan rol (Roller) berada di perangkat lunak I-Link yang terhubung ke mesin, sedangkan ukuran rol yang diukur setelah pembubutan harus dicatat dalam basis data Roller milik pabrik yang sudah ada di MS SQL Server. Tim pelanggan ingin melihat status mesin, ukuran rol, dan waktu produksi dari satu tempat, serta ingin nilai dalam basis data sesuai dengan ukuran yang benar-benar terukur.
Apa yang kami lakukan
Kami memasang Node-RED (alat untuk menghubungkan dan memproses data) di server internal pabrik untuk membaca nilai mesin CNC melalui OPC UA (standar umum untuk pertukaran data mesin) setiap 5 detik, lalu menyimpannya ke InfluxDB (basis data untuk data deret waktu). Grafana (perangkat lunak pembuat dasbor) memiliki 2 halaman, yaitu halaman Overview untuk melihat status mesin dan halaman Input pada tablet untuk mencatat hasil ukur dari jangka sorong digital. Hasil ukur ditulis kembali ke basis data Roller yang sudah ada melalui API (jalur pertukaran data antarprogram) yang kami bangun di Node-RED.
Hasil
Kami menyerahkan sistem beserta dokumen penutupan proyek pada September 2026. Halaman Overview menampilkan status, Alarm, dan Cycle Time (waktu per siklus kerja) dari seluruh 7 mesin CNC dalam satu layar, dan hasil ukur rol dari halaman Input ditulis kembali ke basis data Roller yang sudah ada.
Latar belakang permasalahan
Tantangan dalam kasus ini adalah melihat status 7 mesin bubut CNC (mesin bubut yang dikendalikan komputer) dan hasil ukur rol dari satu tempat. Kedua bagian data sebenarnya sudah ada, tetapi berada di sistem yang berbeda. Status mesin berada di perangkat lunak I-Link yang terhubung ke mesin, sedangkan ukuran rol yang diukur setelah pembubutan harus dicatat dalam basis data Roller milik pabrik yang sudah ada di MS SQL Server.
Pelanggan ingin pengguna dapat melihat ukuran rol, hasil ukur, dan waktu produksi dengan jelas, serta ingin nilai dalam basis data Roller selalu sesuai dengan ukuran yang benar-benar terukur. Pada lini dengan banyak mesin, jika data berada di tempat yang berbeda, untuk mengetahui mesin mana yang bekerja, mesin mana yang berhenti, atau mesin mana yang mengalami Alarm (sinyal peringatan kelainan mesin), pengguna harus memeriksa satu per satu.
Apa itu OPC UA
OPC UA adalah standar umum untuk pertukaran data antara mesin industri dan perangkat lunak. Jika mesin atau perangkat lunak pengendali mesin membuka data melalui OPC UA, sistem eksternal dapat membaca status, Alarm, dan berbagai penghitung tanpa perlu menulis konektor khusus untuk merek tertentu.
Persyaratan dan batasan
Sistem harus bekerja dengan perangkat lunak dan basis data yang digunakan pabrik saat ini, serta harus mengikuti kebijakan divisi IT pelanggan. Persyaratan dan batasan utama adalah sebagai berikut.
- Dipasang di server internal pabrik dan beroperasi dalam jaringan pelanggan
- Membaca data mesin melalui OPC UA dari perangkat lunak I-Link yang sudah terhubung ke mesin CNC
- Kebijakan pelanggan tidak mengizinkan pengambilan data langsung dari basis data yang sudah ada; pembacaan dan penulisan basis data Roller harus melalui API
- Hasil ukur harus dicatat dalam basis data Roller yang sudah ada agar nilai dalam basis data sesuai dengan ukuran yang benar-benar terukur
- Grafana bukan aplikasi web yang dibuat khusus secara utuh; tampilan dan pengisian data mengikuti batasan Grafana
Bagaimana sistem membaca status mesin CNC dan menerima hasil ukur rol
Sistem membaca status mesin melalui OPC UA dan menerima hasil ukur rol melalui halaman Input di Grafana yang dibuka dari tablet. Data dari kedua jalur ditampilkan pada satu dasbor. Kami membaca data mesin melalui OPC UA dari perangkat lunak I-Link yang sudah terhubung ke mesin, dan menulis hasil ukur melalui API di Node-RED karena kebijakan pelanggan tidak mengizinkan pengambilan data langsung dari basis data.
- 1
Membaca status mesin melalui OPC UA
Node-RED mengambil nilai dari seluruh 7 mesin CNC melalui OPC UA setiap 5 detik, seperti status program, Alarm, kecepatan putaran, dan Cycle Time, lalu menyimpannya ke InfluxDB.
- 2
Menampilkan gambaran umum di halaman Overview
Setiap mesin memiliki lampu status motor utama (hijau berarti bekerja), status program Run/Stop, lampu Alarm (merah berarti mesin bermasalah), dan Cycle Time yang dikonversi dari detik ke menit sebelum ditampilkan.
- 3
QC mencatat hasil ukur rol melalui halaman Input
Setelah pembubutan selesai, divisi QC (pemeriksaan kualitas) memilih mesin, rol, dan posisi pada rol. Nilai diameter dan lebar diterima dari jangka sorong digital, sedangkan nilai eksentrisitas kedua sisi diisi pada tablet. Sistem langsung menghitung selisih nilai eksentrisitas.
- 4
Menulis kembali ke basis data yang sudah ada
Saat tombol simpan ditekan, API di Node-RED menyimpan nilai baru atau memperbarui nilai lama dalam basis data Roller di MS SQL Server.
- 5
Melihat tabel hasil ukur terbaru
Tabel di Grafana menampilkan nilai terbaru untuk setiap posisi rol, meliputi ukuran saat ini, jumlah yang dibubut (Cutdown), serta diameter dan lebar terbaru.
Hasil serah terima
Kami menyerahkan seluruh perangkat lunak di server internal pabrik, beserta pengujian sistem dan dokumen proyek. Daftar serah terima adalah sebagai berikut.
- Halaman Overview di Grafana: status motor utama, status program, Alarm, dan Cycle Time dari seluruh 7 mesin CNC
- Halaman Input di Grafana beserta Custom Plugin (ekstensi tambahan yang kami tulis) untuk mengirim hasil ukur rol
- Tabel hasil ukur terbaru untuk setiap posisi rol
- Pembacaan data mesin melalui OPC UA dengan Node-RED dan penyimpanan ke InfluxDB
- API di Node-RED yang menghubungkan Grafana dengan basis data Roller yang sudah ada di MS SQL Server
- Pekerjaan tambahan pada tahun 2026: analisis basis data pabrik yang sudah ada dan penulisan perintah pengambilan data (Query)
Bagaimana cakupan pekerjaan berubah selama proyek
Cakupan pekerjaan berubah dalam hal layar dan tabel hasil ukur, dan semuanya berasal dari batasan data atau alat yang ditemukan selama pengembangan. Setiap perubahan dicatat dalam dokumen penutupan proyek, sebagai berikut.
- Cycle Time sebagai pengganti waktu selesai pekerjaan: rencana awalnya adalah menghitung waktu selesai pekerjaan dari G-code (rangkaian perintah yang digunakan mesin CNC untuk membubut benda kerja), tetapi OPC UA tidak dapat mengirim data bagian tersebut, sehingga halaman Overview menampilkan Cycle Time setiap mesin sebagai gantinya.
- Menghapus beberapa kolom pada tabel hasil ukur: kolom yang perlu merujuk balik ke ukuran rol dalam basis data yang sudah ada dihapus karena struktur basis data tersebut tidak memungkinkan rujukan seperti itu.
- Menggabungkan kolom isian dalam satu panel: Plugin standar Grafana tidak dapat mengirim data berupa teks, sehingga kami menggabungkan kolom isian dalam satu panel dan menulis Custom Plugin untuk mengirim data.
Pekerjaan utama dimulai pada tahun 2025. Kemudian pada tahun 2026, pelanggan memesan pekerjaan tambahan untuk menganalisis basis data pabrik yang sudah ada dan menulis perintah pengambilan data (Query).
Hasil yang dapat dikonfirmasi dari serah terima
Bukti dari pekerjaan ini adalah dokumen penutupan proyek (Product Document) yang mencatat layar yang diserahkan dan perubahan cakupan layar selama proyek. Selain halaman Overview dan halaman Input, dokumen ini juga menampilkan tabel hasil ukur terbaru untuk setiap posisi rol. Tabel ini menampilkan ukuran saat ini, jumlah yang dibubut, serta diameter dan lebar terbaru.
Kasus ini tidak memiliki angka pengukuran hasil bisnis, seperti waktu henti mesin yang berkurang, sehingga kami hanya melaporkan hal yang telah diserahkan dan didukung dokumen.
Pelajaran yang kita dapatkan
Pekerjaan ini memberikan prinsip-prinsip berikut untuk pekerjaan menghubungkan data mesin dengan sistem pabrik yang sudah ada.
- Periksa daftar Tag (daftar data) yang benar-benar dapat dikirim mesin melalui OPC UA sebelum merancang layar. Nilai yang harus dihitung dari data yang tidak dikirim mesin tidak dapat ditampilkan. Dalam kasus ini, waktu selesai pekerjaan karenanya harus diganti dengan Cycle Time.
- Sepakati cara mengakses basis data yang sudah ada dengan divisi IT sebelum pengembangan dimulai. Dalam kasus ini, kebijakan tidak mengizinkan pengambilan data langsung dari basis data, sehingga pekerjaan integrasi harus menunggu API, dan rapat mengenai koneksi antara tim IT dan tim di lokasi kerja tertunda.
- Rancang layar sesuai batasan alat dan struktur basis data yang sudah ada, serta tuliskan cakupan layar secara jelas dan tertulis. Grafana bukan aplikasi web yang dibuat khusus secara utuh, dan basis data yang sudah ada menentukan kolom mana yang benar-benar dapat ditampilkan.
Cara menerapkan pendekatan ini di pabrik Anda
Jika mesin CNC atau perangkat lunak pengendali mesin Anda membuka data melalui OPC UA, Anda dapat menggunakan pendekatan yang sama dengan kasus ini, yaitu membaca status mesin ke Node-RED, menyimpannya di InfluxDB, menampilkannya di Grafana, dan menulis hasil ukur kembali ke basis data yang sudah dimiliki pabrik. Bagian yang perlu disesuaikan adalah daftar Tag mesin dan cara mengakses basis data Anda yang sudah ada.
Bagian yang dapat digunakan kembali dan bagian yang perlu disesuaikan
| Bagian sistem | Dapat digunakan kembali | Perlu disesuaikan ketika |
|---|---|---|
| Pembacaan data mesin | Pembacaan nilai melalui OPC UA dengan Node-RED dan penyimpanan ke InfluxDB | Mesin atau perangkat lunak pengendali mesin tidak membuka data melalui OPC UA, atau membuka kumpulan Tag yang berbeda; perlu survei lokasi terlebih dahulu |
| Halaman Overview | Lampu status motor utama, status program, Alarm, dan Cycle Time per mesin | Anda memerlukan nilai yang tidak dikirim mesin, seperti waktu selesai pekerjaan; perlu diperiksa apakah ada data yang mendukungnya |
| Halaman Input | Penerimaan nilai dari jangka sorong digital pada tablet melalui Custom Plugin | Benda kerja atau nilai yang perlu diukur berbeda dari rol; kolom isian dan perhitungan perlu ditentukan ulang |
| Penulisan kembali ke basis data | API di Node-RED yang menyimpan atau memperbarui nilai dalam basis data yang sudah ada | Basis data Anda merupakan sistem lain, atau divisi IT menetapkan hak akses yang berbeda dari kasus ini; tabel dan cara integrasi perlu disepakati ulang |
- Mintalah daftar Tag yang benar-benar dapat dikirim mesin melalui OPC UA sebelum menetapkan tampilan layar.
- Sepakati dengan tim TI mengenai hak akses, tabel, dan cara menghubungkan basis data yang sudah ada hingga tuntas sebelum pengembangan dimulai.
- Tuangkan tampilan layar dan data yang dibutuhkan pada dasbor secara tertulis, dengan membandingkannya terhadap batasan Grafana.
Baca selengkapnya
- Layanan pengembangan sistem inspeksi dan kontrol khusus
- Layanan integrasi data dan pengembangan AI untuk organisasi
- InGauge: konverter sinyal alat ukur digital ke USB
- Studi kasus pengiriman nilai dari jangka sorong digital ke laporan QC otomatis
- Kasus yang menyatukan jalur masuk data produksi pada server pusat
- Artikel: menyimpan data pabrik di server internal atau cloud
Teknologi yang digunakan
Pertanyaan yang Sering Diajukan
Sistem ini dapat digunakan pada mesin CNC jenis apa?
Dapat digunakan apabila mesin atau perangkat lunak pengendali mesin membuka data melalui OPC UA. Dalam kasus ini, sistem membaca dari OPC UA perangkat lunak I-Link yang sudah terhubung dengan mesin. Untuk mesin lain, kondisi di lokasi dan daftar Tag perlu disurvei terlebih dahulu sebelum dapat dipastikan.
Apakah basis data atau program pabrik yang sudah ada harus diganti?
Dalam kasus ini, basis data yang sudah ada tidak diganti. Sistem menulis nilai hasil ukur kembali ke basis data Roller yang sudah ada di MS SQL Server melalui API pada Node-RED, hanya pada tabel dan kolom yang telah disepakati, serta berjalan sesuai kebijakan jaringan pelanggan. Koneksi di tempat Anda akan bergantung pada struktur dan hak akses yang disepakati dengan tim TI.
Mengapa yang ditampilkan adalah Cycle Time, bukan waktu selesainya pekerjaan?
Karena OPC UA tidak dapat mengirim data yang diperlukan untuk menghitung waktu selesainya pekerjaan dari G-code. Rencana awal adalah menghitung nilai ini, tetapi selama proyek berjalan, pelanggan menyetujui untuk menampilkan Cycle Time setiap mesin dalam satuan menit sebagai gantinya.
Di mana data disimpan?
Data disimpan di server internal pabrik. Data mesin berada di InfluxDB, sedangkan nilai hasil ukur roller berada di basis data Roller milik pelanggan yang sudah ada.
Berapa harga dan durasinya?
Tidak ada harga tetap. Harga bergantung pada jumlah mesin, data yang ingin dibaca, dan sistem yang sudah ada yang perlu dihubungkan. Hubungi kami untuk meminta penawaran harga setelah survei lokasi.



