KUKA KRC4 $POS_ACT Position Mismatch After Loop: Advance Run Troubleshooting — figure 1

Ketidaksesuaian Posisi KUKA KRC4 $POS_ACT Setelah Loop: Pemecahan Masalah Advance Run

KUKA KRC4 $POS_ACT mengembalikan nilai offset A pada data alat dua kali lipat setelah siklus loop program pertama. Akar masalahnya ditelusuri ke perilaku Adv...

Pada pengendali KUKA KRC4 yang menjalankan KSS 8.2 atau 8.3, programmer terkadang mengamati $POS_ACT melaporkan offset A alat kira-kira dua kali lipat dari nilai yang dimaksud setelah iterasi pertama dari rutinitas gerakan. Robot tidak benar-benar melompat; Advance Run Pointer terus berjalan ke instruksi berikutnya sementara $POS_ACT masih mencerminkan pose yang diperintahkan dan bergantung pada alat serta basis, yang tidak lagi sesuai dengan pengukuran yang diharapkan programmer untuk dicatat atau digunakan sebagai referensi frame.

Ketidaksesuaian Posisi $POS_ACT KUKA KRC4 Setelah Loop: Pemecahan Masalah Advance Run — gambar 1 Tampilan teach pendant KUKA KRC4 yang membandingkan $POS_ACT yang diperintahkan dengan $POS_ACT_MES yang diukur selama program gerakan berulang.

$POS_ACT adalah posisi aktual yang diperintahkan dalam arti pose terprogram pada pengendali, yang ditransformasikan melalui alat dan basis aktif. Karena itu, nilainya sensitif terhadap waktu interpreter bergerak maju. $POS_ACT_MES adalah posisi yang diukur dari jalur umpan balik robot dan merupakan variabel yang lebih aman ketika Anda memerlukan pose fisik pada titik sinkronisasi. Kesalahan membedakan keduanya menghasilkan gejala “offset ganda” yang tampak seperti kesalahan kalibrasi alat setelah siklus pertama, terutama ketika offset alat pada sumbu A diterapkan di dalam loop yang sudah dievaluasi sebagian oleh advance run.

Advance Run Pointer sebagai mekanismenya

Advance run KUKA mengeksekusi pernyataan berikutnya sebelum robot mencapai ujung gerakan saat ini secara tepat. Prefetch ini penting untuk pencampuran lintasan, tetapi berarti penetapan dan perhitungan frame yang membaca $POS_ACT dapat dijalankan lebih awal daripada pemahaman manusia tentang “saat kita tiba”. Pada iterasi pertama, waktunya mungkin secara kebetulan terlihat benar. Pada iterasi kedua, offset yang diterapkan relatif terhadap $POS_ACT yang dibaca terlalu dini dapat bertumpuk dengan transformasi alat dan tampak sebagai sekitar 2× komponen offset A pada tampilan atau rekaman.

Ketidaksesuaian Posisi $POS_ACT KUKA KRC4 Setelah Loop: Pemecahan Masalah Advance Run — gambar 2 Ilustrasi Advance Run Pointer yang terus berjalan ke logika loop sementara robot masih menyelesaikan segmen gerakan sebelumnya.

Teknik korektif

  • Sisipkan WAIT SEC 0 pada titik sinkronisasi tempat Anda harus menghentikan advance run sebelum membaca atau menulis data terkait pose.
  • Panggil BAS(#INITMOV,0) saat menginisialisasi ulang parameter gerakan agar gerakan berikutnya dimulai dari kondisi basis yang bersih, bukan mewarisi konteks yang baru dievaluasi sebagian.
  • Atur $ADVANCE=0 di bagian yang melakukan pengambilan pose penting, perhitungan offset alat, atau pembaruan frame yang dibawa loop; pulihkan nilai advance bukan nol setelahnya untuk meningkatkan throughput produksi.
  • Gunakan $POS_ACT_MES jika aplikasi memerlukan pose Kartesius yang diukur, bukan nilai yang diperintah dan bergantung pada pointer.
; Contoh pola sinkronisasi (konseptual)
$ADVANCE=0
WAIT SEC 0
; Sekarang ambil pose yang diukur
DECL FRAME MySnap
MySnap = $POS_ACT_MES
BAS(#INITMOV,0)
; Pulihkan advance untuk pencampuran sesuai kebutuhan sel
$ADVANCE=3

Urutan diagnostik

  1. Catat $POS_ACT dan $POS_ACT_MES pada baris program yang sama pada iterasi 1 dan iterasi 2 dari loop yang bermasalah.
  2. Pastikan nomor alat dan basis aktif tidak berubah di antara iterasi.
  3. Atur sementara $ADVANCE=0 lalu uji ulang; jika offset A ganda menghilang, interaksi advance run telah terkonfirmasi.
  4. Ganti pembacaan pose yang digunakan untuk perhitungan offset dengan $POS_ACT_MES atau lindungi pembacaan tersebut menggunakan WAIT SEC 0.
  5. Aktifkan kembali advance run hanya di luar bagian kritis, lalu validasi waktu siklus dibandingkan dengan kualitas lintasan.
Variabel / panggilan Makna Kapan digunakan
$POS_ACT Pose yang diperintahkan (bergantung pada alat/basis) Konteks gerakan umum; berhati-hati terhadap advance run
$POS_ACT_MES Pose yang diukur Pencatatan, inspeksi, perhitungan offset pada titik sinkronisasi
WAIT SEC 0 Menghentikan advance run Sebelum pembacaan/penulisan penting
BAS(#INITMOV,0) Menginisialisasi ulang basis gerakan Setelah sinkronisasi atau perubahan mode
$ADVANCE=0 Menonaktifkan advance Bagian ketat yang kritis terhadap pose (KSS 8.2/8.3)

Konfirmasikan pose yang diukur versus pose yang diperintahkan setelah sinkronisasi

Mengkalibrasi ulang alat karena $POS_ACT “terlihat ganda” dapat merusak TCP yang sebenarnya masih baik secara permanen. Demikian pula, menambahkan offset kompensasi di PLC atau interpreter submit tanpa memahami advance run akan menciptakan solusi sementara yang terikat versi. Dokumentasikan versi KSS yang digunakan sel—8.2 atau 8.3—saat mengambil rekaman untuk dukungan vendor, dan catat apakah opsi akurasi absolut atau basis khusus sedang aktif.

Sel integrasi robot dan PLC yang bertukar pose melalui fieldbus harus menetapkan apakah frame bersama tersebut berasal dari pose yang diperintahkan atau yang diukur, lalu mencantumkan definisi itu dalam spesifikasi antarmuka. Menyelaraskan kontrak tersebut sejak awal mencegah kejadian produk ditolak secara keliru ketika sequencer sistem PLC & PAC terpicu oleh pose yang sebenarnya belum dicapai oleh advance run.

Tentang Penulis

Elena Vogt | Insinyur Integrasi Robotika – KUKA / Sel Diskret

Elena Vogt mengkhususkan diri dalam komisioning KUKA KRC4/KSS, diagnostik frame alat, dan handshake PLC–robot pada sel diskret campuran. Pekerjaannya berfokus pada efek samping advance run, variabel pose yang diukur versus yang diperintahkan, serta kompromi waktu siklus yang stabil.

Ketidaksesuaian Posisi KUKA KRC4 $POS_ACT Setelah Loop: Pemecahan Masalah Advance Run

KUKA KRC4 $POS_ACT mengembalikan nilai offset A pada data alat dua kali lipat setelah siklus loop program pertama. Akar masalahnya ditelusuri ke perilaku Advance Run Pointer.

Pada pengendali KUKA KRC4 yang menjalankan KSS 8.2 atau 8.3, programmer terkadang mengamati $POS_ACT melaporkan offset A alat kira-kira dua kali lipat dari nilai yang dimaksud setelah iterasi pertama dari rutinitas gerakan. Robot tidak benar-benar melompat; Advance Run Pointer terus berjalan ke instruksi berikutnya sementara $POS_ACT masih mencerminkan pose yang diperintahkan dan bergantung pada alat serta basis, yang tidak lagi sesuai dengan pengukuran yang diharapkan programmer untuk dicatat atau digunakan sebagai referensi frame.

Ketidaksesuaian Posisi $POS_ACT KUKA KRC4 Setelah Loop: Pemecahan Masalah Advance Run — gambar 1 Tampilan teach pendant KUKA KRC4 yang membandingkan $POS_ACT yang diperintahkan dengan $POS_ACT_MES yang diukur selama program gerakan berulang.

$POS_ACT adalah posisi aktual yang diperintahkan dalam arti pose terprogram pada pengendali, yang ditransformasikan melalui alat dan basis aktif. Karena itu, nilainya sensitif terhadap waktu interpreter bergerak maju. $POS_ACT_MES adalah posisi yang diukur dari jalur umpan balik robot dan merupakan variabel yang lebih aman ketika Anda memerlukan pose fisik pada titik sinkronisasi. Kesalahan membedakan keduanya menghasilkan gejala “offset ganda” yang tampak seperti kesalahan kalibrasi alat setelah siklus pertama, terutama ketika offset alat pada sumbu A diterapkan di dalam loop yang sudah dievaluasi sebagian oleh advance run.

Advance Run Pointer sebagai mekanismenya

Advance run KUKA mengeksekusi pernyataan berikutnya sebelum robot mencapai ujung gerakan saat ini secara tepat. Prefetch ini penting untuk pencampuran lintasan, tetapi berarti penetapan dan perhitungan frame yang membaca $POS_ACT dapat dijalankan lebih awal daripada pemahaman manusia tentang “saat kita tiba”. Pada iterasi pertama, waktunya mungkin secara kebetulan terlihat benar. Pada iterasi kedua, offset yang diterapkan relatif terhadap $POS_ACT yang dibaca terlalu dini dapat bertumpuk dengan transformasi alat dan tampak sebagai sekitar 2× komponen offset A pada tampilan atau rekaman.

Ketidaksesuaian Posisi $POS_ACT KUKA KRC4 Setelah Loop: Pemecahan Masalah Advance Run — gambar 2 Ilustrasi Advance Run Pointer yang terus berjalan ke logika loop sementara robot masih menyelesaikan segmen gerakan sebelumnya.

Teknik korektif

  • Sisipkan WAIT SEC 0 pada titik sinkronisasi tempat Anda harus menghentikan advance run sebelum membaca atau menulis data terkait pose.
  • Panggil BAS(#INITMOV,0) saat menginisialisasi ulang parameter gerakan agar gerakan berikutnya dimulai dari kondisi basis yang bersih, bukan mewarisi konteks yang baru dievaluasi sebagian.
  • Atur $ADVANCE=0 di bagian yang melakukan pengambilan pose penting, perhitungan offset alat, atau pembaruan frame yang dibawa loop; pulihkan nilai advance bukan nol setelahnya untuk meningkatkan throughput produksi.
  • Gunakan $POS_ACT_MES jika aplikasi memerlukan pose Kartesius yang diukur, bukan nilai yang diperintah dan bergantung pada pointer.
; Contoh pola sinkronisasi (konseptual)
$ADVANCE=0
WAIT SEC 0
; Sekarang ambil pose yang diukur
DECL FRAME MySnap
MySnap = $POS_ACT_MES
BAS(#INITMOV,0)
; Pulihkan advance untuk pencampuran sesuai kebutuhan sel
$ADVANCE=3

Urutan diagnostik

  1. Catat $POS_ACT dan $POS_ACT_MES pada baris program yang sama pada iterasi 1 dan iterasi 2 dari loop yang bermasalah.
  2. Pastikan nomor alat dan basis aktif tidak berubah di antara iterasi.
  3. Atur sementara $ADVANCE=0 lalu uji ulang; jika offset A ganda menghilang, interaksi advance run telah terkonfirmasi.
  4. Ganti pembacaan pose yang digunakan untuk perhitungan offset dengan $POS_ACT_MES atau lindungi pembacaan tersebut menggunakan WAIT SEC 0.
  5. Aktifkan kembali advance run hanya di luar bagian kritis, lalu validasi waktu siklus dibandingkan dengan kualitas lintasan.
Variabel / panggilan Makna Kapan digunakan
$POS_ACT Pose yang diperintahkan (bergantung pada alat/basis) Konteks gerakan umum; berhati-hati terhadap advance run
$POS_ACT_MES Pose yang diukur Pencatatan, inspeksi, perhitungan offset pada titik sinkronisasi
WAIT SEC 0 Menghentikan advance run Sebelum pembacaan/penulisan penting
BAS(#INITMOV,0) Menginisialisasi ulang basis gerakan Setelah sinkronisasi atau perubahan mode
$ADVANCE=0 Menonaktifkan advance Bagian ketat yang kritis terhadap pose (KSS 8.2/8.3)

Konfirmasikan pose yang diukur versus pose yang diperintahkan setelah sinkronisasi

Mengkalibrasi ulang alat karena $POS_ACT “terlihat ganda” dapat merusak TCP yang sebenarnya masih baik secara permanen. Demikian pula, menambahkan offset kompensasi di PLC atau interpreter submit tanpa memahami advance run akan menciptakan solusi sementara yang terikat versi. Dokumentasikan versi KSS yang digunakan sel—8.2 atau 8.3—saat mengambil rekaman untuk dukungan vendor, dan catat apakah opsi akurasi absolut atau basis khusus sedang aktif.

Sel integrasi robot dan PLC yang bertukar pose melalui fieldbus harus menetapkan apakah frame bersama tersebut berasal dari pose yang diperintahkan atau yang diukur, lalu mencantumkan definisi itu dalam spesifikasi antarmuka. Menyelaraskan kontrak tersebut sejak awal mencegah kejadian produk ditolak secara keliru ketika sequencer sistem PLC & PAC terpicu oleh pose yang sebenarnya belum dicapai oleh advance run.

Tentang Penulis

Elena Vogt | Insinyur Integrasi Robotika – KUKA / Sel Diskret

Elena Vogt mengkhususkan diri dalam komisioning KUKA KRC4/KSS, diagnostik frame alat, dan handshake PLC–robot pada sel diskret campuran. Pekerjaannya berfokus pada efek samping advance run, variabel pose yang diukur versus yang diperintahkan, serta kompromi waktu siklus yang stabil.

Tinggalkan komentar

Harap diperhatikan, komentar perlu disetujui sebelum dipublikasikan.