Fluid Monitoring Masuk dasbor

Data fluida dari lapangan, sampai ke layar — dan berbunyi saat berhenti.

Temperatur, tekanan, dan debit dibaca instrumen, dikumpulkan PLC, dikirim gateway, lalu disimpan, dinilai, dan dialarmkan di server ini. Yang paling sering gagal di sistem seperti ini bukan sensornya — melainkan jalur komunikasinya, dan satu-satunya gejalanya adalah dasbor yang membeku sambil terlihat normal. Karena itu alarm pertama yang dipasang di sini adalah alarm data basi.

Alur sistem: lapangan → PLC → gateway → server

RTD/PT100 temperatur Pressure transmitter 4–20 mA Flowmeter RS-485 / pulsa PLC / RTU skala ke °C, bar, m³/h holding register 4xxxx Modbus TCP Gateway 4G buffer ≥ 24 jam dual-SIM, watchdog MQTT/WSS atau HTTPS Broker + mesin ingest validasi rentang · kualitas · dedup stempel lapangan vs stempel server PostgreSQL time-series mentah 90 hari · agregat 5 mnt 2 tahun Dasbor · alarm · notifikasi deadband · tunda konfirmasi · data basi

Yang dikerjakan sistem ini

Dua pintu masuk

MQTT (QoS 1, LWT, store-and-forward) untuk gateway yang mendukungnya, dan HTTPS POST /v1/ingest bertoken untuk yang tidak. Keduanya masuk ke satu fungsi ingest yang sama — tidak ada aturan validasi yang menyimpang diam-diam antar jalur.

Kualitas, bukan penyaringan

Nilai di luar rentang teknis, loop 4–20 mA putus (<3,5 mA), dan debit di bawah cutoff tetap disimpan — dengan tanda kualitas. "Tidak ada data karena sensor rusak" harus bisa dibedakan dari "tidak ada data karena jaringan putus".

Alarm yang masih dibaca orang

Ambang + dead band + tunda konfirmasi, supaya nilai yang bergetar di sekitar ambang tidak melahirkan puluhan notifikasi per jam. Alarm pulih dan alarm terbit sama-sama diberitakan.

Alarm data basi

Tidak ada publikasi selama 3× interval = gateway, SIM, atau PLC bermasalah. Ini alarm yang menangkap mayoritas kegagalan nyata, dan satu-satunya yang berbunyi justru ketika tidak ada data sama sekali.

Totalizer tahan reset

Volume harian dihitung dari selisih antar bacaan, dan counter yang berputar atau direset teknisi dicatat sebagai rollover — bukan dijumlahkan jadi angka negatif raksasa yang merusak total selamanya.

Jejak yang jujur

Payload yang DITOLAK ikut tercatat lengkap dengan alasannya. Tanpa itu, "gateway sudah kirim kok" tidak pernah bisa diadu dengan bukti.

Sisi lapangan

Parameter gateway

Polling PLC1–5 detik
Publish5–10 detik, QoS 1
Keepalive60 detik
Buffer offline≥ 24 jam, dikirim ulang saat pulih
LWTplant/<situs>/<perangkat>/status → offline, retained
Topik dataplant/<situs>/<perangkat>/telemetry

Contoh payload

{
  "ts": 1758000000,
  "device": "PLC-01",
  "temp_c": 78.4,
  "press_bar": 3.21,
  "flow_m3h": 12.7,
  "total_m3": 145890.5,
  "loop_ma": 12.1,
  "quality": "good"
}

Stempel ts boleh detik maupun milidetik. Yang melenceng >60 detik dari server ditandai ragu, bukan dibuang.

Risiko yang sudah dipasangi penjaga

Sudah ditangani

  • Jalur komunikasi mati → alarm data basi (3× interval)
  • Gateway mati mendadak → Last Will retained
  • Sinyal 4G putus → buffer gateway + deduplikasi di server
  • Loop 4–20 mA putus/korslet → deteksi <3,5 / >20,5 mA
  • Jam gateway ngawur → dua stempel waktu, selisih ditampilkan
  • Counter flowmeter direset → rollover dicatat, bukan dijumlah
  • Alarm fatigue → dead band + tunda konfirmasi + redaman notifikasi
  • Disk penuh → retensi partisi 90 hari, agregat 2 tahun, log payload 7 hari

Masih tanggung jawab manusia

  • Kalibrasi berkala instrumen — drift sensor tidak punya gejala di layar
  • Grounding & kabel shielded untuk sinyal 4–20 mA
  • UPS untuk panel & gateway saat PLN padam
  • Uji pemulihan cadangan, minimal tiap kuartal
  • Minimal dua orang paham cara memulihkan sistem ini