Izinkan saya mulai dengan sebuah angka: 214-219. Itu adalah rentang halaman dalam manual V6.2.2 di mana blok floating-point berada. Anda mungkin berpikir vendor menyembunyikannya di sana karena tidak ada yang menggunakannya. Salah. Mereka menyembunyikannya di sana karena matematika integer baik untuk sembilan puluh persen pekerjaan — dan sepuluh persen terakhir adalah tempat mesin nyata berada.
Sebuah Micro-PLC melakukan SIN, COS, TAN, LN, EXP, SQRT, perbandingan angka nyata dan perpindahan angka nyata. Sepuluh tahun yang lalu kalimat itu akan menjadi lelucon. Hari ini, itu dikirim dalam modul DIN-rail 35mm yang harganya kurang dari probe osiloskop yang layak.
Ketika Matematika Integer Berbohong kepada Anda
Ini adalah jebakan. Mengskalakan input analog 0-10V dengan matematika integer berhasil — sampai Anda membagi. 6V ke dalam rentang 0-1000: pembagian integer menghilangkan sisa, dan tiba-tiba pembacaan level Anda menyimpang satu unit setiap pemindaian. Selama satu shift, penyimpangan itu terakumulasi. Selama seminggu, tangki Anda meluap karena PLC mengira levelnya baik-baik saja.
Floating point memperbaikinya. Satu blok skala, angka nyata dari ujung ke ujung, dan suara pembulatan menghilang. Itu bukan kemewahan. Itu yang menjaga pompa Anda tetap kering dan pelanggan Anda tenang.
Kasus Konkret: Kontrol Suhu PID dengan Matematika Nyata
Siapkan loop PID pada PR-18: input analog membaca PT100 melalui pemancar 0-10V, blok PID menghitung dengan keuntungan angka nyata, output menggerakkan saluran PWM untuk pemanas. Mesin floating-point menjaga istilah integral tetap stabil. Pada perangkat keras yang hanya mendukung integer, loop yang sama memerlukan penjadwalan keuntungan manual dan masih berosilasi pada kesalahan rendah.
Saya melihat seorang insinyur commissioning mengejar osilasi 0,4 derajat selama dua hari pada PID integer. Mengganti CPU dengan model floating-point, menyetel dalam satu jam. Perbedaan biaya perangkat kerasnya sangat lucu. Perbedaan waktu rekayasa tidak.
Blok yang Sebenarnya Akan Anda Gunakan
Jadilah jujur: Anda akan menggunakan ADD-R, SUB-R, MUL-R, DIV-R, dan SQRT. Mungkin ROUND dan TRUNC saat menyerahkan nilai ke HMI. Fungsi trig ada untuk proyek yang benar-benar aneh — perhitungan aliran, volume tangki dari level, kompensasi sudut konveyor. Ketika permintaan aneh itu datang, Anda tidak ingin menjelaskan bahwa PLC Anda tidak dapat melakukan kosinus.
Dan konversi string lebih penting daripada yang Anda kira. Real-ke-string, integer-ke-ASCII — begitulah cara Anda membangun pesan alarm dan log data yang dapat dibaca tanpa bahasa skrip HMI.
Apa Biayanya
Tidak ada yang ekstra, setelah Anda memilih CPU yang tepat. Blok floating-point adalah bagian dari pustaka standar dalam revisi manual saat ini, dan perangkat lunaknya gratis. Satu-satunya biaya nyata adalah perubahan kebiasaan: berhenti berpikir dalam integer, mulai berpikir dalam unit rekayasa.
Pengukuran yang Dilakukan dengan Benar
Pengukuran adalah tempat floating point mendapatkan tempatnya, dan itu juga tempat sebagian besar bug pengukuran berada. Kesalahan klasik: mengukur nilai mentah dengan matematika integer dan kehilangan sisa pada setiap pembagian. Perbaikan klasik: lakukan matematika dalam angka nyata dan konversi sekali, di batas, di mana HMI atau SCADA mengharapkan integer. Satu blok skala, angka nyata dari ujung ke ujung, dan suara pembulatan menghilang.
Tulis konstanta skala di tempat yang bisa ditemukan insinyur berikutnya. Pemancar 4-20mA membaca 0-10 bar: rumus, rentang mentah, rentang rekayasa — semuanya harus ada dalam komentar pada blok skala. Nilai "terlihat benar" selama berbulan-bulan sampai tidak, dan orang yang memperbaikinya akan membutuhkan konstanta, bukan ingatan orang yang memilihnya.
Uji batasan saat commissioning: minimum, maksimum, dan titik tengah. Blok skala yang benar pada 50% tetapi salah pada 0% akan lolos dari pandangan sekilas dan gagal dalam proses nyata. Tiga titik uji, lima menit, dan pengukuran selesai.
Kekeliruan Hanya Integer
Ada sekolah pemikiran yang mengatakan bahwaMicro PLCharus tetap hanya integer karena itulah yang dilakukan pengontrol kecil. Itu adalah posisi yang dapat dipertahankan dari sudut pandang biaya dan tidak dapat dipertahankan dari sudut pandang rekayasa pada saat proses Anda melibatkan pembagian, rasio, atau apa pun yang menyerupai unit nyata. Perangkat keras floating-point tidak memerlukan biaya tambahan di platform ini; kemampuannya ada di pustaka blok, bukan tingkat premium.
Biaya nyata dari pemikiran hanya integer muncul dalam pemeliharaan: jalan keluar — integer terukur, desimal yang digeser, matematika fixed-point yang dibuat sendiri — adalah kode yang tidak dipahami siapa pun enam bulan kemudian. Floating point terbaca seperti proses: suhu dalam derajat, level dalam meter, aliran dalam liter per menit. Kode yang dapat dibaca adalah kode yang dapat dipelihara, dan kode yang dapat dipelihara adalah yang menjaga kontrak layanan tetap menguntungkan.
Gunakan integer di mana mereka adalah alat yang tepat — penghitung, bendera, nilai indeks. Gunakan float di mana prosesnya berada. Platform memberi Anda keduanya; disiplin adalah memilih per sinyal, bukan per agama.
Angka Nyata di HMI
Layar HMI dan SCADA harus menunjukkan unit rekayasa, bukan integer mentah — dan pengukuran berada di sisi PLC. Lakukan konversi sekali, dalam satu blok skala, dan tampilan membaca derajat, bar, dan liter per menit di mana-mana. Alternatifnya — pengukuran di setiap layar, setiap tag, setiap laporan — adalah kesalahan formula yang menunggu untuk terjadi. Satu titik konversi per sinyal, didokumentasikan dalam komentar blok, dan seluruh sistem berbicara dalam bahasa operator.
Itulah pergeseran. Perangkat keras sudah membuatnya. Gaya pemrograman Anda adalah bagian terakhir dari peningkatan.












