Bloga Dön
Robot Programlama9 dk

ABB RAPID Programlama: Başlangıç ve İleri Düzey için Temel Bilgiler

RAPID, ABB'nin robot dilidir; ifade gücü yüksek, yapılandırılmış ve pek çok açıdan KRL'den daha modern. Bu rehber etkili programlama yapmanızı göstermektedir.

ABB RAPID'e Giriş

RAPID (Robot Application Programming Interactive Design), ABB IRC5 denetleyicisinin programlama dilidir. KUKA KRL ile kıyaslandığında RAPID çok daha yapılandırılmıştır ve özyinelemeli fonksiyonlar, yapılandırılmış veri türleri ve istisna işleme gibi gerçek yüksek düzey dil yapıları sunar. RAPID'i bir kez öğrenenler, bakımı yapılabilir, yeniden kullanılabilir ve ölçeklenebilir karmaşık robot programları geliştirebilir.

Temel Yapı: Modüller, Prosedürler ve Fonksiyonlar

Bir RAPID programı bir veya daha fazla modülden oluşur. Her modül veri bildirimleri ve rutinler içerir.

MODULE MainModule
  ! Global değişkenler
  PERS tooldata MyTool := [TRUE, [[0,0,100],[1,0,0,0]], [2,[0,0,50],[1,0,0,0],0,0,0]];
  PERS wobjdata MyWobj := [FALSE, TRUE, "", [[0,0,0],[1,0,0,0]],[[0,0,0],[1,0,0,0]]];

  PROC main()
    ! Ana program
    InitRobot;
    RunPickPlace;
  ENDPROC

  PROC InitRobot()
    AccSet 80, 80;
    VelSet 80, 1000;
  ENDPROC

ENDMODULE

RAPID'de üç tür rutin bulunur:

  • PROC: Prosedür, dönüş değeri yok (alt rutin gibi)
  • FUNC: Dönüş değeri olan fonksiyon
  • TRAP: Harici olaylarla tetiklenen kesme rutini

Temel Veri Türleri

robtarget – Hedef Konumu

RAPID'deki en önemli veri türü. Bir robtarget, TCP konumunu ve yönünü, eksen yapılandırmasını ve harici eksenleri tanımlar:

CONST robtarget pHome := [[500,0,600],[0.707,0,0.707,0],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];

Dört alan: [öteleme vektörü], [kuaterniyon yönü], [eksen yapılandırması], [harici eksenler]. 9E9, mevcut olmayan harici eksenler için "tanımsız" anlamına gelir.

jointtarget – Eksen Konumu

Tanımlı eksen konumlarına (örn. ev konumu) yapılan hareketler için:

CONST jointtarget jHome := [[0,-30,30,0,90,0],[9E9,9E9,9E9,9E9,9E9,9E9]];

tooldata – Takım Verisi

Dinamik hesaplama için Takım Merkez Noktasını (TCP) ve takım kütlesini tanımlar:

PERS tooldata tGripper := [TRUE,[[0,0,150],[1,0,0,0]],[3,[0,0,75],[1,0,0,0],0,0,0]];

wobjdata – İş Nesnesi

İş parçasının koordinat sistemini tanımlar. Bir iş parçasına göre programlandığında, programlar tablo konumu değiştiğinde wobjdata güncellenerek kolayca ayarlanabilir.

Hareket Komutları

MoveL – Doğrusal Hareket

MoveL pTarget, v500, z10, tGripper WObj:=MyWobj;

Parametreler: hedef nokta, hız (v500 = 500 mm/s), bölge (z10 = 10 mm köşe yuvarlama yarıçapı), takım, isteğe bağlı: iş nesnesi.

MoveJ – Eklem Enterpolasyonlu Hareket

MoveJ pHome, v1000, z50, tGripper;

En hızlı hareket türü. Tüm eksenler eş zamanlı hareket eder ve hedefe aynı anda ulaşır. Hassas yol kontrolü için uygun değildir.

MoveC – Dairesel Hareket

MoveC pVia, pEnd, v300, z5, tGripper;

Üç nokta yayı tanımlar: başlangıç noktası (mevcut konum), geçiş noktası, bitiş noktası. Not: TCP, üç noktanın tümüne aynı takım koordinat sisteminde yaklaşmalıdır.

MoveAbsJ – Mutlak Eksen Hareketi

MoveAbsJ jHome, v500, fine, tGripper;

Robotu tanımlı bir eksen konumuna taşır. TCP ve takım verilerinden bağımsız; ev konumları ve kalibrasyon hareketleri için idealdir.

Hız ve Bölge Verileri

RAPID'de önceden tanımlanmış hız verileri:

  • v5'ten v7000'e: mm/s cinsinden hız
  • vmax: maksimum robot hızı
  • v500: yaygın kullanılan orta hız (500 mm/s)

Bölge verileri, zincirleme hareketlerde köşe yuvarlama yarıçapını belirler:

  • fine: hedef noktada tam duruş (köşe yuvarlama yok)
  • z0'dan z200'e: mm cinsinden köşe yuvarlama yarıçapı
  • z10: zincirleme al-yerleştir hareketleri için tipik bölge

ERROR İşleyiciyle Hata Yönetimi

RAPID, ERROR işleyicileriyle zarif istisna yönetimi sağlar:

PROC SafeMove(robtarget pTarget)
  MoveL pTarget, v500, fine, tGripper;
  ERROR
    IF ERRNO = ERR_PATH_STOP THEN
      ! Hareket kesildi, güvenli park et
      MoveAbsJ jHome, v200, fine, tGripper;
      TPWrite "Hareket hatası oluştu, eve gidildi";
      RAISE;  ! Hatayı ilet
    ENDIF
ENDPROC

Yaygın hata sabitleri: ERR_PATH_STOP, ERR_MAXSPEED, ERR_OUTOFREACH, ERR_ROBLIMIT.

Kesmeler ve TRAP Rutinleri

Harici sinyallere zaman açısından kritik tepkiler için:

VAR intnum iStopSignal;

PROC main()
  CONNECT iStopSignal WITH TrapStop;
  ISignalDI di_EmergencyInput, 1, iStopSignal;
  ! ... ana program
ENDPROC

TRAP TrapStop
  StopMove;
  TPWrite "Acil stop etkinleştirildi!";
ENDTRAP

FlexPendant ve RobotStudio

FlexPendant (öğretme kollu cihaz), jog modunda konumları öğretmeye olanak tanır. En iyi uygulama: FlexPendant'ı yalnızca konumları ölçmek için kullanın. Gerçek program mantığı RobotStudio'da geliştirilmelidir. RobotStudio sözdizimi denetimi, hata ayıklama, simülasyon ve uygun bir geliştirme ortamı sağlar. Değiştirilen modüller RAPID dosya paylaşımı üzerinden denetleyiciye aktarılabilir.

En İyi Uygulamalar

  • Konum adlandırma: Tutarlı adlandırma: pPickReady, pPickApproach, pPickGrab
  • Modül yapısı: İşlev başına bir modül (tutucu, kamera, taşıma)
  • PERS ve CONST: Öğretilen konumlar PERS olarak (FlexPendant üzerinden değiştirilebilir), sabit parametreler CONST olarak
  • AccSet ve VelSet: Her zaman program başlangıcında tanımlayın, döngülerin içinde değil
  • fine ve bölge: fine'ı yalnızca gerçekten gerekli olduğunda kullanın; tam duruş nedeniyle zaman maliyeti vardır

Sonuç

RAPID, endüstriyel robot programlama için olgun, iyi tasarlanmış bir dildir. Temel kavramları (modüller, veri türleri, hareket komutları, hata yönetimi) öğrenenler karmaşık uygulamaları bile yapılandırılmış biçimde geliştirebilir. Geliştirme ve simülasyon aracı olarak RobotStudio, en başından iş akışına entegre edilmelidir.

Benzer bir sorununuz mu var?

Uzmanlarımız size hızlı ve doğrudan yardımcı olur. Çağrı merkezi yok, bilet sistemi yok.

İletişime Geç