Kesalahan Penyuntingan Online MicroLogix 1400 dengan Instruksi MUL
Kesalahan pengeditan online MicroLogix 1400 saat menambahkan instruksi MUL dengan operand konstan. Perbaiki dengan menggunakan alamat Float, bukan konstanta,...
Mengedit MicroLogix 1400 secara online melalui EtherNet/IP dapat gagal dengan pesan “Program could not be compiled. Online edit error” ketika sebuah rung MUL menggunakan konstanta literal seperti 0.7 terhadap sumber bertipe integer. Proyek yang sama mungkin berhasil diverifikasi secara offline tanpa masalah. Kompiler edit online pada controller menerapkan aturan operand yang lebih ketat daripada jalur offline, dan literal pecahan dalam instruksi aritmetika sering menjadi pemicu masalah.
Ganti literal tersebut dengan alamat file Float yang sudah berisi 0.7, lalu uji kembali edit online sebelum mengubah hal lain.
Gejala dan konfigurasi
| Item | Konfigurasi yang biasanya gagal |
|---|---|
| Controller | MicroLogix 1400 Seri A atau B |
| Perangkat lunak | RSLogix 500 dengan edit online |
| Instruksi | MUL |
| Sumber A | N7:2 (integer) |
| Sumber B | Konstanta 0.7 |
| Tujuan | N7:7 (integer) |
Penyebab utama
Edit online pada MicroLogix 1400 memvalidasi ukuran dan tipe operand dengan lebih ketat daripada kompilasi offline. Konstanta pecahan sebagai Sumber B dapat diterima dalam beberapa verifikasi offline, tetapi ditolak ketika edit harus dikompilasi ke dalam image yang sedang berjalan. Pesan offline terkait seperti “Operand size does not match” mengarah pada kelompok ketidakcocokan tipe yang sama. Tidak semua perubahan MicroLogix dapat dilakukan secara online; beberapa perubahan struktural tetap memerlukan modifikasi offline dan pengunduhan.
Prosedur perbaikan
- Identifikasi alamat Float yang tidak digunakan, misalnya F8:7.
- Atur nilai awal F8:7 menjadi 0.7 saat offline atau melalui rung MOV/inisialisasi satu kali.
- Edit MUL: Sumber A tetap N7:2; Sumber B menjadi F8:7; Tujuan tetap N7:7 atau dipindahkan ke Float jika presisi diperlukan.
- Terima edit online dan pastikan rung berhasil dikompilasi.
- Berikan nilai Sumber A yang diketahui dan verifikasi hasil perkalian saat runtime.
MUL Sumber A: N7:2 Sumber B: F8:7 <-- alamat Float, bukan literal 0.7 Tujuan: N7:7 <-- atau F8:8 untuk presisi penuh
Konsekuensi tipe data
| Konfigurasi | Hasil |
|---|---|
| Sumber B = konstanta 0.7 | Kesalahan kompilasi edit online |
| Sumber B = F8:7, Tujuan = N7:7 | Edit berhasil; terjadi pemotongan/pembulatan ke integer |
| Sumber B = F8:7, Tujuan = F8:8 | Edit berhasil; presisi Float penuh |
Dengan N7:2 = 10 dan pengali 0.7, tujuan integer menghasilkan 7 berdasarkan perilaku pembulatan/pemotongan—bukan nilai Float 7.0 yang dipertahankan. Pilih tipe tujuan dengan sengaja ketika nilainya digunakan untuk PID, penskalaan, atau perbandingan.
Batasan edit online terkait aritmetika lainnya
Kepekaan kompiler online yang sama juga muncul pada DIV, ekspresi bergaya CPT jika tersedia, serta rangkaian INT/Float campuran yang dimasukkan dengan cepat saat melakukan penyesuaian langsung. Teknisi sering mencoba tiga edit online berturut-turut—hanya mengubah konstanta, lalu tipe file tujuan, kemudian seluruh rung—tanpa pernah keluar dari mode Run. Setiap kompilasi yang gagal dapat meninggalkan antrean edit tertunda dalam keadaan membingungkan. Batalkan edit yang gagal dengan benar, lakukan satu perubahan yang koheren (literal menjadi alamat Float), lalu terima satu kali. Jika MicroLogix melaporkan bahwa program tidak dapat dikompilasi setelah beberapa percobaan, beralihlah ke offline, pastikan file tersebut ada (F8 dibuat dengan jumlah elemen yang memadai), lalu unduh image yang sudah dipastikan benar sebelum mencoba pekerjaan online lagi.
Pastikan juga file Float tidak dilindungi oleh hak akses atau kata sandi tabel data yang mengizinkan verifikasi offline tetapi memblokir modifikasi online. Controller MicroLogix 1400 Seri A dan Seri B sama-sama mendukung pengeditan online jika versi firmware dan RSLogix 500 sesuai; versi perangkat lunak yang tidak cocok dapat menampilkan teks “online edit error” yang sama karena alasan lain. Simpan image controller bench yang menunjukkan MUL dengan operand Float berhasil agar teknisi dapat membandingkannya dengan proyek di pabrik.
Verifikasi dan batasan yang lebih luas
Setelah edit diterima, berikan beberapa nilai pada N7:2 dan pantau atau awasi tujuan integer serta Float jika keduanya tersedia. Pastikan kompilasi edit online berlangsung tanpa kesalahan, verifikasi bahwa MUL berjalan dengan benar saat runtime, dan jika presisi penting, pindahkan tujuan ke Float seperti F8:8. Kegagalan yang terus terjadi setelah literal diganti harus direproduksi terlebih dahulu secara offline, kemudian diunduh. Gunakan nilai beralamat, bukan konstanta inline, jika edit langsung diperkirakan akan dilakukan. Dokumentasikan praktik pemrograman MicroLogix di samping standar PLC dan PAC lainnya agar teknisi tidak memburu masalah Ethernet untuk sesuatu yang sebenarnya merupakan aturan operand.
Tentang Penulis
Mark Townsend | Insinyur Otomasi Senior – Sistem Allen-Bradley
Mark Townsend adalah insinyur otomasi senior dengan pengalaman lebih dari 18 tahun pada platform Allen-Bradley, yang mencakup ControlLogix, CompactLogix, dan SLC-500 lama. Pekerjaan sehari-harinya meliputi logika RSLogix / Studio 5000 serta commissioning HMI FactoryTalk View pada armada perangkat lama dan campuran.