Lompat ke kandungan utama
ENGINEERING IDEAS INTO REALITY

Sistem pemantauan 7 mesin larik CNC melalui OPC UA dan rekod nilai ukuran penggelek pada Grafana untuk kilang pengeluaran di Thailand

Pelanggan: Kumpulan pembuatan besar di Thailand

Kes ini ialah sistem yang menghimpunkan status 7 mesin larik CNC dan nilai ukuran penggelek pada papan pemuka Grafana di pelayan dalaman kilang. Node-RED membaca nilai mesin melalui OPC UA setiap 5 saat dan menulis nilai ukuran daripada tablet kembali ke pangkalan data Roller sedia ada milik kilang. Kami menyerahkan sistem bersama dokumen penutupan projek kepada kilang pengeluaran di Thailand pada September 2026.

Ilustrasi konsep: integrasi data mesin CNC melalui OPC UA ke papan pemuka Grafana, membolehkan status mesin dilihat secara masa nyataBesarkan imej
Ilustrasi konsep yang dijana dengan AI untuk menerangkan kerja dalam kes ini
Industri
Pembuatan am
Tahun
2025–2026
Skop pekerjaan
2 halaman Grafana (Overview dan Input) bersama Custom Plugin untuk menghantar data, API pada Node-RED yang menghubungkan Grafana dengan pangkalan data MS SQL Server, pembacaan data 7 mesin CNC melalui OPC UA setiap 5 saat ke dalam InfluxDB, pengujian sistem dan penyediaan dokumen projek. Termasuk kerja tambahan pada tahun 2026: analisis dan penulisan arahan pengambilan data (Query) daripada pangkalan data sedia ada milik kilang.

Ringkasan

  • Kami menghubungkan 7 mesin larik CNC di barisan pelarikan penggelek melalui OPC UA supaya Node-RED membaca nilai setiap 5 saat dan menyimpannya ke dalam InfluxDB pada pelayan dalaman kilang.
  • Halaman Overview pada Grafana memaparkan lampu status motor utama, status program, Alarm dan Cycle Time (masa setiap kitaran kerja) dalam minit bagi setiap mesin pada satu skrin.
  • Bahagian QC (pemeriksaan kualiti) merekod diameter, lebar dan nilai kesipian penggelek melalui halaman Input pada tablet, dan API pada Node-RED menulis nilai itu kembali ke pangkalan data Roller sedia ada pada MS SQL Server.
  • Semasa projek, pelanggan bersetuju untuk memaparkan Cycle Time menggantikan masa siap kerja kerana OPC UA tidak dapat menghantar data yang digunakan untuk pengiraan daripada G-code (set arahan yang digunakan mesin CNC untuk melarik bahan kerja).
  • Kerja utama bermula pada tahun 2025, pelanggan menempah kerja tambahan analisis pangkalan data sedia ada pada tahun 2026, dan kami menyerahkan sistem bersama dokumen penutupan projek pada September 2026.
01

Masalah di tapak

Status 7 mesin larik CNC di barisan pelarikan penggelek (Roller) terdapat dalam perisian I-Link yang disambungkan pada mesin, manakala saiz penggelek yang diukur selepas pelarikan perlu direkodkan dalam pangkalan data Roller sedia ada milik kilang pada MS SQL Server. Pasukan pelanggan mahu melihat status mesin, saiz penggelek dan masa pengeluaran dari satu tempat, serta mahu nilai dalam pangkalan data sepadan dengan saiz yang benar-benar diukur.

02

Apa yang kami lakukan

Kami memasang Node-RED (alat penyambungan dan pemprosesan data) pada pelayan dalaman kilang untuk membaca nilai mesin CNC melalui OPC UA (piawaian bersama untuk pertukaran data mesin) setiap 5 saat, kemudian menyimpannya ke dalam InfluxDB (pangkalan data untuk data mengikut masa). Grafana (program pembinaan papan pemuka) mempunyai 2 halaman, iaitu halaman Overview untuk melihat status mesin dan halaman Input pada tablet untuk merekod nilai ukuran daripada angkup vernier digital. Nilai ukuran ditulis kembali ke pangkalan data Roller sedia ada melalui API (saluran untuk program bertukar data) yang kami bina pada Node-RED.

03

Hasil

Kami menyerahkan sistem bersama dokumen penutupan projek pada September 2026. Halaman Overview memaparkan status, Alarm dan Cycle Time (masa setiap kitaran kerja) bagi kesemua 7 mesin CNC pada satu skrin, dan nilai ukuran penggelek daripada halaman Input ditulis kembali ke pangkalan data Roller sedia ada.

Latar belakang masalah

Cabaran kes ini ialah melihat status 7 mesin larik CNC (mesin larik yang dikawal oleh komputer) dan nilai ukuran penggelek dari satu tempat. Kedua-dua bahagian data sudah wujud, tetapi berada dalam sistem yang berasingan. Status mesin terdapat dalam perisian I-Link yang disambungkan pada mesin, manakala saiz penggelek yang diukur selepas pelarikan perlu direkodkan dalam pangkalan data Roller sedia ada milik kilang pada MS SQL Server.

Pelanggan mahu pengguna dapat melihat saiz penggelek, nilai ukuran dan masa pengeluaran dengan jelas, serta mahu nilai dalam pangkalan data Roller sepadan dengan saiz yang benar-benar diukur pada setiap kali. Dalam barisan yang mempunyai banyak mesin, jika data berada di tempat berasingan, untuk mengetahui mesin mana yang beroperasi, mesin mana yang berhenti atau mempunyai Alarm (isyarat amaran kelainan mesin), setiap titik perlu dibuka dan disemak satu demi satu.

Apakah itu OPC UA

OPC UA ialah piawaian bersama untuk pertukaran data antara mesin industri dengan perisian. Jika mesin atau perisian kawalan mesin menyediakan data melalui OPC UA, sistem luaran boleh membaca status, Alarm dan pelbagai pembilang tanpa perlu menulis penyambung khusus bagi setiap jenama.

Keperluan dan kekangan

Sistem perlu berfungsi dengan perisian dan pangkalan data yang sedang digunakan oleh kilang, dan perlu mematuhi dasar bahagian IT pelanggan. Keperluan dan kekangan utama adalah seperti berikut:

  • Dipasang pada pelayan dalaman kilang dan beroperasi dalam rangkaian pelanggan
  • Membaca data mesin melalui OPC UA daripada perisian I-Link yang sudah disambungkan pada mesin CNC
  • Dasar pelanggan tidak membenarkan pengambilan data secara langsung daripada pangkalan data sedia ada. Pembacaan dan penulisan pangkalan data Roller mesti melalui API
  • Nilai ukuran mesti direkodkan dalam pangkalan data Roller sedia ada supaya nilai dalam pangkalan data sepadan dengan saiz yang benar-benar diukur
  • Grafana bukan aplikasi web yang dibina khusus sepenuhnya. Rupa bentuk dan pengisian data tertakluk kepada kekangan Grafana

Bagaimana sistem membaca status mesin CNC dan menerima nilai ukuran penggelek

Sistem membaca status mesin melalui OPC UA dan menerima nilai ukuran penggelek melalui halaman Input pada Grafana yang dibuka daripada tablet. Data dari kedua-dua arah dipaparkan pada satu papan pemuka. Kami membaca data mesin melalui OPC UA daripada perisian I-Link yang sudah disambungkan pada mesin, dan menulis nilai ukuran melalui API pada Node-RED kerana dasar pelanggan tidak membenarkan pengambilan data secara langsung daripada pangkalan data.

  1. 1

    Membaca status mesin melalui OPC UA

    Node-RED mengambil nilai daripada kesemua 7 mesin CNC melalui OPC UA setiap 5 saat, seperti status program, Alarm, kelajuan putaran dan Cycle Time, kemudian menyimpannya ke dalam InfluxDB.

  2. 2

    Memaparkan gambaran keseluruhan pada halaman Overview

    Setiap mesin mempunyai lampu status motor utama (hijau bermaksud beroperasi), status program Run/Stop, lampu Alarm (merah bermaksud mesin bermasalah) dan Cycle Time yang ditukar daripada saat kepada minit sebelum dipaparkan.

  3. 3

    QC merekod nilai ukuran penggelek melalui halaman Input

    Selepas pelarikan selesai, bahagian QC (pemeriksaan kualiti) memilih mesin, penggelek dan kedudukan pada penggelek. Nilai diameter dan lebar diterima daripada angkup vernier digital, manakala nilai kesipian pada kedua-dua sisi diisi pada tablet. Sistem mengira perbezaan nilai kesipian serta-merta.

  4. 4

    Menulis kembali ke pangkalan data sedia ada

    Apabila butang simpan ditekan, API pada Node-RED akan merekod nilai baharu atau mengemas kini nilai sedia ada dalam pangkalan data Roller pada MS SQL Server.

  5. 5

    Melihat jadual nilai ukuran terkini

    Jadual pada Grafana memaparkan nilai terkini bagi setiap kedudukan penggelek, termasuk saiz semasa, jumlah yang dilarik keluar (Cutdown), serta diameter dan lebar terkini.

Hasil penyerahan

Kami menyerahkan keseluruhan set perisian pada pelayan dalaman kilang, bersama pengujian sistem dan dokumen projek. Senarai penyerahan adalah seperti berikut:

  • Halaman Overview pada Grafana: status motor utama, status program, Alarm dan Cycle Time bagi kesemua 7 mesin CNC
  • Halaman Input pada Grafana bersama Custom Plugin (komponen tambahan yang kami tulis) untuk menghantar nilai ukuran penggelek
  • Jadual nilai ukuran terkini bagi setiap kedudukan penggelek
  • Pembacaan data mesin melalui OPC UA dengan Node-RED dan penyimpanan ke dalam InfluxDB
  • API pada Node-RED yang menghubungkan Grafana dengan pangkalan data Roller sedia ada pada MS SQL Server
  • Kerja tambahan pada tahun 2026: analisis pangkalan data sedia ada milik kilang dan penulisan arahan pengambilan data (Query)

Bagaimana skop kerja berubah semasa projek

Skop kerja berubah dari segi skrin dan jadual nilai ukuran, dan semua perubahan berpunca daripada kekangan data atau alat yang ditemui semasa pembangunan. Setiap perubahan direkodkan dalam dokumen penutupan projek, seperti berikut:

  • Cycle Time menggantikan masa siap kerja: rancangan asal adalah untuk mengira masa siap kerja daripada G-code (set arahan yang digunakan mesin CNC untuk melarik bahan kerja), tetapi OPC UA tidak dapat menghantar data tersebut. Oleh itu, halaman Overview memaparkan Cycle Time setiap mesin sebagai gantinya.
  • Beberapa lajur dalam jadual nilai ukuran dibuang: lajur yang perlu merujuk kembali kepada saiz penggelek dalam pangkalan data sedia ada dibuang kerana struktur pangkalan data sedia ada tidak membenarkan rujukan sedemikian.
  • Medan input disatukan dalam satu panel: Plugin piawai Grafana tidak dapat menghantar data dalam bentuk teks, jadi kami menyatukan medan input dalam satu panel dan menulis Custom Plugin untuk menghantar data.

Kerja utama bermula pada tahun 2025. Kemudian, pada tahun 2026, pelanggan menempah kerja tambahan untuk menganalisis pangkalan data sedia ada milik kilang dan menulis arahan pengambilan data (Query).

Hasil yang dapat disahkan daripada penyerahan

Bukti hasil kerja ini ialah dokumen penutupan projek (Product Document) yang merekodkan skrin yang diserahkan dan perubahan skop skrin semasa projek. Selain halaman Overview dan halaman Input, dokumen ini turut menunjukkan jadual nilai ukuran terkini bagi setiap kedudukan penggelek. Jadual ini memaparkan saiz semasa, jumlah yang dilarik keluar, serta diameter dan lebar terkini.

Kes ini tidak mempunyai angka pengukuran perniagaan, seperti pengurangan masa henti mesin. Oleh itu, kami hanya melaporkan perkara yang diserahkan dan mempunyai dokumen pengesahan.

Apakah yang kita pelajari

Kerja ini memberikan prinsip berikut untuk kerja integrasi data mesin dengan sistem sedia ada kilang:

  • Semak senarai Tag (item data) yang benar-benar dapat dihantar oleh mesin melalui OPC UA sebelum mereka bentuk skrin. Nilai yang perlu dikira daripada data yang tidak dihantar oleh mesin tidak dapat dipaparkan. Dalam kes ini, masa siap kerja terpaksa ditukar kepada Cycle Time.
  • Persetujui kaedah akses pangkalan data sedia ada dengan bahagian IT sebelum pembangunan bermula. Dalam kes ini, dasar tidak membenarkan pengambilan data secara langsung daripada pangkalan data, jadi kerja penyambungan terpaksa menunggu API, dan mesyuarat tentang penyambungan antara pasukan IT dengan pihak di tapak kerja ditangguhkan.
  • Reka bentuk skrin mengikut kekangan alat dan struktur pangkalan data sedia ada, dan nyatakan skop skrin dengan jelas secara bertulis. Grafana bukan aplikasi web yang dibina khusus sepenuhnya, dan pangkalan data sedia ada menentukan lajur mana yang benar-benar boleh dipaparkan.

Cara menggunakan pendekatan ini di kilang anda

Jika mesin CNC atau perisian kawalan mesin anda menyediakan data melalui OPC UA, anda boleh menggunakan pendekatan yang sama seperti kes ini, iaitu membaca status mesin ke dalam Node-RED, menyimpannya dalam InfluxDB, memaparkannya pada Grafana dan menulis nilai ukuran kembali ke pangkalan data yang sedia ada di kilang. Bahagian yang perlu disesuaikan ialah senarai Tag mesin dan kaedah akses pangkalan data sedia ada anda.

Bahagian yang boleh digunakan semula dan bahagian yang perlu diubah suai

Bahagian sistemBoleh digunakan semulaPerlu diubah suai apabila
Pembacaan data mesinPembacaan nilai melalui OPC UA dengan Node-RED dan penyimpanan ke dalam InfluxDBMesin atau perisian kawalan mesin tidak menyediakan data melalui OPC UA, atau menyediakan set Tag yang berbeza; tinjauan di tapak kerja perlu dibuat terlebih dahulu
Halaman OverviewLampu status motor utama, status program, Alarm dan Cycle Time bagi setiap mesinAnda memerlukan nilai yang tidak dihantar oleh mesin, seperti masa siap kerja; perlu disemak sama ada terdapat data yang menyokongnya
Halaman InputPenerimaan nilai daripada angkup vernier digital pada tablet melalui Custom PluginBahan kerja atau nilai yang perlu diukur berbeza daripada penggelek; medan input dan pengiraan perlu ditetapkan semula
Penulisan kembali ke pangkalan dataAPI pada Node-RED yang merekod atau mengemas kini nilai dalam pangkalan data sedia adaPangkalan data anda ialah sistem lain, atau bahagian IT menetapkan kebenaran yang berbeza daripada kes ini; jadual dan kaedah penyambungan perlu dipersetujui semula
  • Dapatkan senarai Tag yang benar-benar boleh dihantar oleh mesin melalui OPC UA sebelum memuktamadkan skrin
  • Selesaikan persetujuan dengan bahagian IT tentang kebenaran akses, jadual dan kaedah penyambungan pangkalan data sedia ada sebelum memulakan pembangunan
  • Rumuskan secara bertulis skrin dan data yang diperlukan pada papan pemuka, dengan membandingkannya dengan had Grafana

Teknologi yang digunakan

OPC UANode-REDInfluxDBGrafana + Custom PluginMS SQL Server (pangkalan data Roller sedia ada)Tablet + angkup vernier digital

Soalan Sering Ditanya

Sistem ini boleh digunakan dengan mesin CNC jenis apa?

Sistem ini boleh digunakan apabila mesin atau perisian kawalan mesin mendedahkan data melalui OPC UA. Dalam kes ini, sistem membaca daripada OPC UA perisian I-Link yang sedia disambungkan kepada mesin. Bagi mesin lain, tinjauan di tapak dan semakan senarai Tag perlu dilakukan terlebih dahulu sebelum pengesahan dapat diberikan.

Adakah pangkalan data atau program sedia ada kilang perlu ditukar?

Dalam kes ini, pangkalan data sedia ada tidak ditukar. Sistem menulis nilai ukuran kembali ke pangkalan data Roller sedia ada pada MS SQL Server melalui API pada Node-RED, hanya pada jadual dan lajur yang dipersetujui, serta beroperasi mengikut dasar rangkaian pelanggan. Sambungan bagi sistem anda bergantung pada struktur dan kebenaran akses yang dipersetujui dengan bahagian IT.

Mengapa Cycle Time dipaparkan dan bukannya masa kerja akan siap?

Kerana OPC UA tidak dapat menghantar data yang digunakan untuk mengira masa kerja akan siap daripada G-code. Pelan asal adalah untuk mengira nilai ini, tetapi semasa projek, pelanggan bersetuju untuk memaparkan Cycle Time setiap mesin dalam minit sebagai gantinya.

Di manakah data disimpan?

Data disimpan pada pelayan dalaman kilang. Data mesin berada dalam InfluxDB, manakala nilai ukuran penggelek berada dalam pangkalan data Roller sedia ada milik pelanggan.

Berapakah harga dan tempohnya?

Tiada harga tetap; harga bergantung pada bilangan mesin, data yang perlu dibaca dan sistem sedia ada yang perlu disambungkan. Hubungi kami untuk mendapatkan sebut harga selepas tinjauan di tapak.

Mahukan sistem seperti ini dalam kerja anda?