Ralat Suntingan Dalam Talian MicroLogix 1400 dengan Arahan MUL
Ralat suntingan dalam talian MicroLogix 1400 apabila menambah arahan MUL dengan operan pemalar. Betulkan dengan menggunakan alamat Float dan bukannya pemalar...
Mengedit MicroLogix 1400 secara dalam talian melalui EtherNet/IP boleh gagal dengan mesej “Program could not be compiled. Online edit error” apabila satu rung MUL menggunakan pemalar literal seperti 0.7 terhadap sumber integer. Projek yang sama mungkin berjaya disahkan di luar talian tanpa sebarang masalah. Pengkompil penyuntingan dalam talian pengawal menguatkuasakan peraturan operan yang lebih ketat berbanding laluan luar talian, dan literal titik apungan dalam arahan aritmetik sering menjadi punca masalah.
Gantikan literal tersebut dengan alamat fail Float yang telah menyimpan nilai 0.7, kemudian uji semula penyuntingan dalam talian sebelum mengubah perkara lain.
Gejala dan konfigurasi
| Item | Persediaan biasa yang gagal |
|---|---|
| Pengawal | MicroLogix 1400 Siri A atau B |
| Perisian | RSLogix 500 dengan penyuntingan dalam talian |
| Arahan | MUL |
| Sumber A | N7:2 (integer) |
| Sumber B | Pemalar 0.7 |
| Destinasi | N7:7 (integer) |
Punca utama
Penyuntingan dalam talian pada MicroLogix 1400 mengesahkan saiz dan jenis operan dengan lebih ketat berbanding penyusunan di luar talian. Pemalar titik apungan sebagai Sumber B diterima dalam sesetengah pengesahan luar talian, tetapi ditolak apabila penyuntingan perlu disusun ke dalam imej yang sedang berjalan. Mesej luar talian berkaitan seperti “Operand size does not match” menunjukkan kelompok ketidakpadanan jenis yang sama. Tidak semua perubahan MicroLogix dibenarkan dalam talian; sesetengah perubahan struktur masih memerlukan pengubahsuaian di luar talian dan muat turun.
Prosedur pembetulan
- Kenal pasti alamat Float yang tidak digunakan (contoh F8:7).
- Tetapkan nilai awal F8:7 kepada 0.7 semasa di luar talian atau melalui rung MOV/pemulaan sekali sahaja.
- Edit MUL: Sumber A kekal N7:2; Sumber B menjadi F8:7; Destinasi kekal N7:7 atau dipindahkan ke Float jika ketepatan penting.
- Terima penyuntingan dalam talian dan sahkan bahawa rung berjaya disusun.
- Paksa nilai Sumber A yang diketahui dan sahkan hasil darab semasa runtime.
MUL Source A: N7:2 Source B: F8:7 <-- Alamat Float, bukan literal 0.7 Dest: N7:7 <-- atau F8:8 untuk ketepatan penuh
Kesan jenis data
| Konfigurasi | Hasil |
|---|---|
| Sumber B = pemalar 0.7 | Ralat penyusunan penyuntingan dalam talian |
| Sumber B = F8:7, Dest = N7:7 | Penyuntingan berjaya; pemotongan/pembundaran integer |
| Sumber B = F8:7, Dest = F8:8 | Penyuntingan berjaya; ketepatan Float penuh |
Dengan N7:2 = 10 dan pengganda 0.7, destinasi integer menghasilkan 7 mengikut tingkah laku pembundaran/pemotongan—bukan nilai Float 7.0 yang dikekalkan. Pilih jenis destinasi dengan teliti apabila nilai tersebut digunakan untuk PID, penskalaan atau perbandingan.
Kekangan penyuntingan dalam talian berkaitan aritmetik
Sensitiviti pengkompil dalam talian yang sama turut muncul pada DIV, ungkapan gaya CPT jika tersedia, dan rantaian INT/Float bercampur yang dimasukkan dengan cepat semasa pelarasan langsung. Jurutera sering mencuba tiga penyuntingan dalam talian berturut-turut—menukar pemalar sahaja, kemudian jenis fail destinasi, dan akhirnya keseluruhan rung—tanpa pernah keluar daripada mod Run. Setiap penyusunan yang gagal meninggalkan baris gilir penyuntingan yang belum selesai dalam keadaan mengelirukan. Batalkan penyuntingan yang gagal dengan kemas, buat satu perubahan yang lengkap (literal kepada alamat Float), dan terima sekali sahaja. Jika MicroLogix melaporkan bahawa program tidak dapat disusun selepas beberapa percubaan, pergi ke luar talian, sahkan bahawa fail tersebut wujud (F8 dicipta dengan bilangan elemen yang mencukupi), kemudian muat turun imej yang diketahui baik sebelum mencuba kerja dalam talian lagi.
Pastikan juga fail Float tidak dilindungi oleh keistimewaan atau kata laluan jadual data yang membenarkan pengesahan luar talian tetapi menyekat pengubahsuaian dalam talian. Pengawal MicroLogix 1400 Siri A dan Siri B kedua-duanya menyokong penyuntingan dalam talian apabila versi perisian tegar dan RSLogix 500 sepadan; versi alat yang tidak sepadan boleh memaparkan teks “online edit error” yang sama atas sebab lain. Simpan imej pengawal uji yang menunjukkan MUL dengan operan Float yang berjaya supaya juruteknik boleh membuat perbandingan dengan projek di loji.
Pengesahan dan kekangan yang lebih luas
Selepas penyuntingan diterima, paksa N7:2 melalui beberapa nilai dan jejak atau pantau kedua-dua destinasi integer dan Float jika kedua-duanya wujud. Sahkan bahawa penyusunan penyuntingan dalam talian berlaku tanpa ralat, pastikan MUL dilaksanakan dengan betul semasa runtime, dan jika ketepatan penting, pindahkan destinasi ke Float seperti F8:8. Kegagalan berterusan selepas penggantian literal hendaklah dihasilkan semula di luar talian terlebih dahulu, kemudian dimuat turun. Utamakan nilai beralamat berbanding pemalar sebaris apabila penyuntingan langsung dijangka dilakukan. Dokumentasikan amalan pengaturcaraan MicroLogix bersebelahan dengan piawaian PLC dan PAC yang lain supaya juruteknik tidak mengejar masalah Ethernet sedangkan puncanya ialah peraturan operan.
Tentang Pengarang
Mark Townsend | Jurutera Automasi Kanan – Sistem Allen-Bradley
Mark Townsend ialah jurutera automasi kanan dengan pengalaman lebih 18 tahun menggunakan platform Allen-Bradley, merangkumi ControlLogix, CompactLogix dan SLC-500 legasi. Kerja hariannya melibatkan logik RSLogix / Studio 5000 dan penyediaan HMI FactoryTalk View pada armada sistem lama dan bercampur.