Ana sayfa › Rehber › ABB RAPID Programlama Rehberi
ABB RAPID Programlama Rehberi
Rotosis Robotics · Yayın: 28 Ekim 2026
RAPID, ABB endüstriyel robotların programlama dilidir. Bu rehberde bir RAPID programının temel yapısını, en sık kullanılan hareket komutlarını ve doğru programlamanın temeli olan alet (TCP) ile iş nesnesi kavramlarını sade bir örnekle anlatıyoruz.
RAPID nedir, nerede kullanılır?
RAPID, ABB'nin IRC5 ve OmniCore kontrolörlerinde kullanılan, okunması kolay, yapılandırılmış bir programlama dilidir. Daha eski S4C+ kontrolörlerde de RAPID kullanılır. Programlar el kumanda paneli (FlexPendant) üzerinden yazılıp düzenlenebileceği gibi, bilgisayarda RobotStudio ile çevrim dışı (offline) hazırlanıp robota yüklenebilir. RobotStudio'da sanal kontrolör üzerinde programı ve hareketleri önceden denemek, sahada geçen süreyi kısaltır.
Program yapısı: görev, modül, rutin
Bir RAPID programı modüllerden oluşur. Modüller ikiye ayrılır:
- Program modülleri: Uygulamaya özgü hareketleri, rutinleri ve verileri içerir. Ana program genellikle bunlardan birindedir.
- Sistem modülleri: Robot sistemiyle birlikte gelen veya her programda ortak kullanılan veri ve rutinleri barındırır.
Modüllerin içinde rutinler bulunur. Üç rutin türü vardır:
PROC(prosedür): Değer döndürmeyen, komut dizisi çalıştıran rutin. Programmainadlı prosedürden başlar.FUNC(fonksiyon): Bir değer döndüren rutin; hesaplamalar için kullanılır.TRAP: Bir kesme (interrupt) olayına bağlanan, olay gerçekleştiğinde çalışan rutin.
Veriler üç şekilde tanımlanır: CONST sabit değerler içindir, VAR program çalışırken değişen değişkenlerdir, PERS (kalıcı) ise değeri program durdurulup yeniden başlatıldığında da korunan verilerdir. Alet ve iş nesnesi tanımları genellikle PERS olarak yapılır.
Hareket komutları: MoveJ, MoveL ve diğerleri
MoveJ: Eksen hareketi. Robot hedefe en rahat eksen hareketiyle gider; yol düz çizgi değildir. Boşlukta hızlı geçişler için uygundur.MoveL: Doğrusal hareket. TCP hedefe düz bir çizgi üzerinde gider. Parçaya yaklaşma, alma, bırakma ve kaynak gibi işlerde kullanılır.MoveC: Dairesel hareket; bir ara nokta ve bitiş noktası ile yay çizer.MoveAbsJ: Eksen açılarıyla tanımlı mutlak konuma hareket. Ev (home) konumuna gitmek için sık kullanılır.
Her hareket komutu dört temel bilgi alır: hedef (ör. pAl), hız (ör. v200, TCP hızı mm/s), bölge (ör. fine veya z50) ve alet (ör. tTutucu). fine robotun noktaya tam olarak varıp durmasını sağlar; z50 gibi bölge değerleri ise robotun noktanın yakınından yumuşak bir köşe dönerek geçmesine izin verir. Alma ve bırakma noktalarında fine, ara geçişlerde bölge değeri kullanmak yaygın bir yaklaşımdır.
TCP ve alet verisi (tooldata)
TCP (Tool Center Point), aletin çalışan ucudur: kaynak torcunun teli, vakum tutucunun merkezi gibi. Robot, hedef noktalara aslında bu noktayı götürür. TCP, tooldata içinde robot flanşına göre konum ve yönelim olarak tanımlanır; ayrıca aletin kütlesi ve ağırlık merkezi de bu veride yer alır. Yük bilgisinin doğru girilmesi, robotun hareketi doğru planlaması için önemlidir. TCP yanlışsa robot noktaları doğru öğretilse bile beklenen yerden geçmez; bu yüzden alet değiştiğinde ya da çarpma sonrası TCP mutlaka yeniden kontrol edilmelidir.
İş nesnesi (wobjdata)
İş nesnesi, noktaların hangi koordinat sistemine göre tanımlandığını belirler: bir masa, bir fikstür ya da konveyör. Noktaları iş nesnesine göre öğretmenin en büyük faydası şudur: fikstür kayarsa veya hücre taşınırsa, tüm noktaları yeniden öğretmek yerine yalnızca iş nesnesinin yeniden tanımlanması çoğu zaman yeterli olur. İş nesnesi kullanılmazsa noktalar robotun temel koordinat sistemine göre kaydedilir.
Sade bir örnek: al ve bırak
Aşağıdaki örnek, bir parçayı masadaki bir noktadan alıp başka bir noktaya bırakan basit bir programdır. Koordinatlar yalnızca örnek amaçlıdır; gerçek uygulamada noktalar robotun üzerinde öğretilir, alet ve iş nesnesi ölçülerek tanımlanır.
MODULE Ornek
! Alet: tutucu ucu, flanşa göre 150 mm ileride; yük 5 kg
PERS tooldata tTutucu:=[TRUE,[[0,0,150],[1,0,0,0]],[5,[0,0,60],[1,0,0,0],0,0,0]];
! İş nesnesi: masanın köşesi robot tabanına göre tanımlanır
PERS wobjdata wMasa:=[FALSE,TRUE,"",[[800,0,200],[1,0,0,0]],[[0,0,0],[1,0,0,0]]];
CONST jointtarget jEv:=[[0,0,0,0,30,0],[9E9,9E9,9E9,9E9,9E9,9E9]];
CONST robtarget pAl:=[[100,50,0],[0,0,1,0],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];
CONST robtarget pBirak:=[[400,50,0],[0,0,1,0],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];
PROC main()
MoveAbsJ jEv\NoEOffs, v1000, z50, tTutucu;
AlVeBirak;
ENDPROC
PROC AlVeBirak()
MoveJ Offs(pAl,0,0,100), v1000, z50, tTutucu\WObj:=wMasa;
MoveL pAl, v200, fine, tTutucu\WObj:=wMasa;
SetDO doTutucu, 1;
WaitTime 0.5;
MoveL Offs(pAl,0,0,100), v500, z20, tTutucu\WObj:=wMasa;
MoveJ Offs(pBirak,0,0,100), v1000, z50, tTutucu\WObj:=wMasa;
MoveL pBirak, v200, fine, tTutucu\WObj:=wMasa;
SetDO doTutucu, 0;
WaitTime 0.5;
MoveL Offs(pBirak,0,0,100), v500, z20, tTutucu\WObj:=wMasa;
ENDPROC
ENDMODULE
Ne yapıyor? Robot önce eksen açılarıyla tanımlı ev konumuna gider. Ardından alma noktasının 100 mm üstüne eksen hareketiyle (MoveJ) yaklaşır; Offs fonksiyonu bir noktaya X, Y, Z ofseti ekler. Sonra doğrusal hareketle (MoveL) noktaya iner ve fine ile tam durur. SetDO ile tutucuyu kapatan dijital çıkış verilir, kısa bir bekleme yapılır ve robot yukarı çıkar. Bırakma tarafında aynı sıra tersine uygulanır.
doTutucu sinyali örnektir; gerçek sistemde I/O konfigürasyonunda tanımlı olan sinyal adı kullanılmalıdır. Pratikte sabit bekleme yerine tutucudan gelen bir sensör sinyalini WaitDI ile beklemek daha güvenlidir.
Sahada dikkat edilecekler
- Yeni veya değiştirilmiş programı önce düşük hızda ve adım adım çalıştırın.
- Değişiklikten önce mutlaka yedek alın.
- Alet ve iş nesnesi tanımlarını doğrulamadan noktaları yeniden öğretmeyin.
- Rutinleri küçük ve anlaşılır tutun; aynı hareket dizisini tekrar yazmak yerine prosedür olarak çağırın.
- Hücredeki güvenlik ekipmanlarının (çit, ışık perdesi, acil durdurma) çalıştığından emin olun.
Mevcut bir programın iyileştirilmesi, PLC haberleşmesi veya yeni bir hücrenin devreye alınması gerekiyorsa ABB robot programlama hizmetimize bakabilirsiniz. Robotunuzda arıza veya bakım ihtiyacı varsa ABB IRC5 bakım ve ABB robot bakımı sayfaları yardımcı olur. Komple hücre projeleri için ABB robot entegrasyonu.
ABB robot programlama desteği
Robot modelini, kontrolör tipini ve yapılacak işi kısaca yazın; size dönelim. Fiyat teklifle yazılı verilir.
Teklif iste+90 332 265 39 50