ED-7255 ( 5 eksen Robot Kol ) Fast and easy interface using 3D S/W GUI Environment High level of Motion Control using Dual CPU (ARM, DSP) Smooth and delicate operation according to 5ms DSP Sampling Time Apply the Absolute Encoder(Needless Homing Work) Real-Time Monitoring using Ethernet Supply the library for controlling Robot using C/C++ in Embedded environment Kinematics & Inverse Kinematics Application to be connected with peripheral application equipment(mps) Educate the ARM Linux using NFS(Network File System) Checking the state of robot into simulator ED-IRS (Value of PID Gain, Encoder value for each of Joint) ARM PROCESSOR CPU» 666MHz NAND FLASH» 128MByte NOR FLASH» 1MByte DRAM» 128MByte DPRAM I
» 128k : DSP PROCESSOR TMS320F2811» 150MHz Motion Control» Closed loop operation Avaliable motor 8-axis» CPLD Avaliable PWM Generation» 8 axis Absolute encoder counter» 8 channels DRIVER PACK Operating environment» 24V, 120W Max INTERFACE USB» USB 11 A-Type(Pendant)» USB 20 B-Type(Host PC) Ethernet» 10Base-T RTC» Real Time Clock State LED» Alarm, Start/stop Character LCD» 20 x 2 Digital Input / output» 0~24V Analog Input / output» 0~10V Relay Output» SC, OC ROBOT BODY Width : 280mm Depth : 280mm Height : Max 786mm Weight : 127kg Operating Part Link Number Operating Range Link Length Weight No 0(Base) 0 80mm 59kg No 1-175~+175 107mm 34kg No 2-30~+90 230mm 33kg No 3-0~+130 230mm 19kg No 4-90~+90 0mm 06kg No 5-170~+170 0mm 005kg No 6(Gripper) 0 ~ 80mm (Rubber Pad) 139mm 035kg II
TEACH PANT Display : 20 x 2 Character LCD Interface : USB 11 Key : 37 user key(emergency switch included) ROBOT CONTROLLER DIMENSION Width : 250mm Depth : 309mm Height : 881mm Weight : 38kg TEACH PANT DIMENSION Width : 138mm Depth : 190mm Height : 40mm Weight : 055kg SIMULATOR ENVIRONMENT CPU : Pentium IV 2GHz or higher Memory : Above 512MB Operating System : Windows XP Graphic Card» 3D accelerated graphic card AC Power Cord USB Cable Controller Connection Cable Teach Pendant Cable RJ-45 Cable Software and User Manual ED-IRS ( Industrial Robot Simulation ) programının kullanımı; MENÜLER ; III
IV
ED-IRS KOMUTLARI 1 Belirtme, Tanımlama Komutları; 11 : Tüm program yazılımı (script)bu komut ile başlar Programın ilk satırına program komutu yazılır Bu durumda derleyiciye (compiler)programın başlangıcı gösterilmiş olur MOVETO JPOS1 12 : Tüm program yazılımı (script)bu komut ile biter Programın son satırına end komutu yazılır Derleyici (compiler) bu komuttan sonra başka bir komutun olmadığı ve programın sonlandırıldığı bildirilir MOVETO JPOS1 13 REM : Bu komut ve ( )işareti ile başlayan satır bilgilendirme amacıyla kullanıcı tarafından yazılır Bu satırlar derleyici program tarafından dikkate alınmaz REM <bilgi amaçlı içerik> <bilgi amaçlı içerik> REM bu satır bilgi amaçlıdır bu satır bilgi amaçlı olmaya devam etmektedir 14 DIM: Komut tam sayı, gerçek sayı veya dizi gibi değerleri tanımlama amacıyla kullanılırdizi tanımlanırken işareti arasında gösterilmelidir Değişken tanımlama yapılırken mutlaka karakterle (harf) başlamalıdır Daha sonra bu karaktere sayı ile devam edilebilir Özel semboller kullanılmaz DIM VAR1 V
DIM VAR2, VAR3, VAR4 REM tam sayı VAR1 = 10 REM işlem VAR2 = 101+VAR1 REM dizi VAR3 = string REM tam sayı VAR4 = VAR1 Açıklama: DIM satırlarında, programda kullanılacak olan değişken isimleri tanıtılır Ardından bu değişken isimlere atanacak değerler bildirilir 15 DEFPOS, DEFPOSJ: Pozisyon değişkenlerini tanımlamada kullanılır Maniplatör hareket ettirilmek istendiğinde girilecek olan joint (eklem), yada cartesian (Kartezyen koordinat) değerleri için isim tanımlaması yapılır Ardından tanımlanan adres isimleri için koordinat verileri girilir DEFPOS Kartezyen tip pozisyon değişkeni için, DEFPOSJ ise Joint tip pozisyon değişkeni için kullanılır Eğer isim tanımlanacak pozisyon sayısı fazla ise, ile ayrılarak aynı satıra yazılabilir Yazılım ; DEFPOS <değişken adı> <değişken adı> = (<sayı>,<sayı>,<sayı>) DEFPOSJ <değişken adı> <değişken adı> = J(<sayı>,<sayı>,<sayı>,<sayı>,<sayı>)) DEFPOS POS1 DEFPOSJ JPOS4 POS1 = (10,10,0) JPOS4= J(10,10,10,10,10) 16 LABEL: GOTO komutu ile birlikte kullanılarak gönderilmesi istenilen satıra işlemin gönderilmesi için kullanılır Bu işlem için istenilen satırların başlangıcına etiket konulur <satır ismi> : <uygulanacak işlem> LABEL1 : MOVETO POS1 GOTO LABEL1 2 Kontrol Komutları; 21 GOTO: Bu komut, LABEL ile tanımlanmış olan ana program satırına yönlendirilir Gönderilen satır çalıştırılır komut kullanımında satır ismi LABEL komutu sonrasına eklenir VI
GOTO <satır ismi> LABEL1 : MOVETO POS1 GOTO LABEL1 22 GOSUB: Ana programdan, alt programa dallanma amacıyla kullanılır Alt fonksiyon kullanımı için satır tanımlaması SUB ile başlamalıdır Alt program SUB ile biter Alt program çalışmasını bitirdiğinde, alt programa gönderilen satıra geri dönülür GOSUB <sub-fonksiyon adı> IF var1>1 THEN GOSUB SUBFUNC SUB SUBFUNC SUB 23 IF THEN - ELSE: IF deyimi ardından gelen şart gerçekleştiğinde işlem yapılması isteniyorsa THEN, şart gerçekleşmediğinde işlem yapılması isteniyorsa ELSE deyimi IF den sonra kullanılır Fonksiyon, istenilen işlemi yaptıktan sonra bir sonraki satırdan program devam eder IF <izlenen durum> THEN <yapılması istenen eylem> ELSE <yapılması istenen eylem> IF VAR1>10 THEN MOVETO (101010) IF VAR2>=10 THEN GOTO LABEL1 ELSE GOTO LABEL2 Açıklama: ilk satırda var1 olarak tanımlanan değişken 10 değerinden büyük olursa kol (10,10,10) adresine gidecektir ikinci komut satırında ise program, var2 olarak tanımlanan değişken 10 değerine eşit veya büyükse label1 adresine, değilse label2 adresine yönlendirilir 24 IFINSIG: (D1) Dijital giriş sinyallerinin durumuna göre işlem yapılmasını sağlar Kontrolcüde DI1 DI8 arasında girişler vardır Eğer DI da bir sinyal varsa THEN, sinyal yoksa ELSE ile komutun devamı yazılır IF ON OFF <DI değişkeni> THEN <yapılması istenen eylem> ELSE <yapılması istenen eylem> VII
IFINSIG DI1 THEN GOTO LABEL1 IFINSIG OFF DI1 THEN GOTO LABEL2 ELSE GOTO LABEL1 Açıklama: ilk satırda DI1 on konumunda yani sinyal varsa label1 satırına yönlendirilir İkinci komut satırında ise DI1 off yani sinyal yoksa label2 adresine, on ise label1 adresine yönlendirilir 25 FOR - NEXT: Belirlenen bir değişkeni istenilen adımlarla, istenilen değere artırır Bu artırım esnasında komutun başlangıcı ile sonu arasında bulunan işlemler istenilen sayıda tekrarlanır Belirlenen değere ulaşıldığında döngüden çıkılır ve sıradaki komutlar işletilir Kullanıcı tarafından belirlenen şartlar meydana geldiğinde döngü sona gelmeden de bitirilebilir Bunun için EXITFOR kullanılır FOR VAR1=1 TO 10 STEP 1 IFINSIG DI1 THEN EXITFOR NEXT Açıklama: var1 değişkeni 1 den 10 a kadar 1 aralıkla artırılıyor 1, 10 değeri elde edilinceye kadar 1 er aralıkla artırılıyor Her bir artırımda next komutu görülünceye kadar aradaki komutlar işleniyor var1 değişkeni 10 değerine ulaştığında next komutundan geri dönüş gerçekleşmeden bir alt satıra geçiliyor Ancak bu işletim sırasında DI1 girişinden bir sinyal uygulanırsa var1 değişkeni 10 değerini beklemeden for-next döngüsünden çıkılır 26 DOWHILE DOUNTIL - LOOP: Belirlenen bir değişken istenilen değerde ise DOWHILE ile LOOP arasında kalan komutlar sürekli olarak tekrarlanmaya başlar Aksi olarak eğer belirlenen bir değişken istenilen değerde değil ise DOUNTIL ile LOOP arasında kalan komutlar sürekli olarak tekrarlanmaya başlar değişken değeri belirtilen değer dışına çıktıysa işlem sonlanır Ya da EXITDO komutu satırda okunursa LOOP tan sonraki satıra gidilir DOWHILE VAR1>10 IF VAR2==10 THEN EXITDO LOOP DOUNTIL VAR1<=10 IF VAR2==10 THEN EXIT DO LOOP VIII
Açıklama: İlk DO komut satırında var1 değişkeni 10 dan büyükse altındaki işlemler devamlı olarak tekrarlanır Bu arada var2 değişkeni 10 olursa işlem tekrarlanması (EXITDO ile)sona erdirilir İkinci DO satırında DOWHILE satır grubundaki işlem gerçekleştirilir 3 Robot Kol Komutları; 31 MOVETO / MOVE: MOVETO; programlama öncesinde girişi yapılmış mutlak koordinata dayalı olarak robotu taşıyan bir komuttur MOVE göreceli koordinata dayalı olarak robotu taşıyan bir komuttur Bu komut ile birlikte kolun istenilen noktaya ulaşırken interpolasyon seçeneklerine bağlı olarak hangi doğrultuda hareket edeceği ve adres bilgileri yazılımda girilir MOVETO MOVE <interpolasyon metodu>, <pozisyon değişkeni> <pozisyon değerleri>, <hız bilgisi> <interpolasyon metodu> : P PTOP L LINE <hız bilgisi> : S SPEED = <sayı> (bu değer kolun belirtilen adrese gidiş hızını tanımlar) <pozisyon değişkeni> <pozisyon değerleri> : kolun taşınacağı yeri tanımlayan adreslerdir Bu değerler önceden yüklenmiş adresler ya da yazılım satırında girilecek koordinatlar olabilir MOVE L, (50,50,50) MOVE P, J(50,10,30,40,20), SPEED=200 MOVETO J(10,10,10,10,10), S=100 MOVE J(10,10,10,10,10) MOVE JPOS3,S=100 MOVETO POS1 32 DEPART: Komut robot kolun bulunduğu konumdan Z ekseni boyunca belirtilen değerde hareket etmesini sağlar Komutun önüne interpolasyon metodu da eklenebilir DEPART <interpolasyon metodu>, yaklaşma mesafesi, hız değeri DEPART 10 (şimdiki konum (10,10,10) ise komut sonrası (10,10,20)adresine gider) DEPART L, 10, S=100 ((10,10,30) adresine interpolasyon ve 100 hız birimi ile gider) 33 HOME: HOME veya SETHOME komutları ile robot kolun park halinde bekletileceği konum seçilir Özellikle set edilmediğinde yazılım olarak J(0,0,0,0,0) adresi home set edilmiştir HOME SETHOME <joint pozisyon adı> <joint pozisyon değişkeni> JPOS1 = J(0,20,0,0,0) HOME JPOS1 IX
GOHOME 34 GOHOME: Robot kolun üretici tarafından önceden belirlenmiş başlangıç noktasına geri dönmesi için kullanılır MOVETO GOHOME JPOS1 35 OPEN: Robot kolun uc noktasına bağlanan yakalayıcının (gripper)hangi değere açılacağını tanımlamak için kullanılır (max: 100 tam açık değeri, min: 0 tam kapalı değeri) MOVETO JPOS1 OPEN 100 36 CLOSE: Robot kolun uc noktasına bağlanan yakalayıcının (gripper)hangi değere kapanacağını tanımlamak için kullanılır (max: 100 tam kapalı değeri, min: 0 tam açık değeri) MOVETO JPOS1 CLOSE 20 37 SET / RESET: Bu komut ile sayısal çıkış sinyalleri kontrol edilir SET belirtilen sayısal çıkışın 1, RESET ise belirtilen çıkışın 0 olmasına sağlar Komutta ALL kullanılırsa tüm sayısal çıkışlar kontrol edilir Çıkışın adresi belirtilirse sadece belirtilen adresler etkilenir SET RESET ALL <DO değişken no> OPEN RESET ALL MOVETO JPOS1 X
CLOSE 100 SET DO1,DO2 38 DELAY: Bu komut ile robot kontrol ilerlemesi belirli bir süre geciktirilir Set edilen süre 1/1000 saniye tabana göre hesaplanır DELAY <zaman> DELAY 1000 XI