You are on page 1of 18

Robot cng nghip

58

Chng V ngn ng lp trnh robot (Robot Programming Languages )

5.1. Gii thiu chung v lp trnh iu khin robot : Lp trnh iu khin robot th hin mi quan h gia ngi iu khin v robot cng nghip. Tnh phc tp ca vic lp trnh cng tng khi cc ng dng cng nghip i hi s dng ng thi nhiu robot vi cc my t ng kh lp trnh khc to nn h thng sn xut t ng linh hot. Robot khc vi cc my t ng c nh tnh linh hot, ngha l c th lp trnh c (Programmable : kh lp trnh). Khng nhng ch c cc chuyn ng ca robot m ngay c vic s dng cc cm bin cng nh nhng thng tin quan h vi my t ng khc trong phn xng cng c th lp trnh. Robot c th d dng thch nghi vi s thay i ca nhim v sn xut bng cch thay i chng trnh iu khin n. Khi xem xt vn lp trnh cho robot, chng ta nn nh rng robot l mt thnh phn ca mt qu trnh c t ng ho. Thut ng, workcell c dng m t mt tp hp cc thit b m n bao gm mt hoc nhiu robot, h thng bng chuyn, cc c cu cp phi v g. mc cao hn, Workcell c th c lin kt trong mng li cc phn xng v th my tnh iu khin trung tm c th iu khin ton b cc hot ng ca phn xng. V vy, vic lp trnh iu khin robot trong thc t sn xut cn phi c xem xt trong mi quan h rng hn. bc u lm quen vi vic lp trnh iu khin robot, chng ny cng gii thiu tm tt phng php lp trnh iu khin robot TERGAN-45 thng qua ngn ng ASPECT ca phn mm Procomm Plus for Window 5.2. Cc mc lp trnh iu khin robot : Ngi s dng c th c nhiu kiu giao din lp trnh iu khin robot. Trc s pht trin nhanh chng ca cc loi my vi tnh dng trong cng nghip v cc ngn ng lp trnh ngy cng c nhiu tin ch cao, vic lp trnh iu khin robot ngy cng d dng v thun tin hn.

TS. Phm ng Phc

Robot cng nghip

59

5.2.1. Lp trnh kiu Dy - Hc : Cc robot th h u tin c lp trnh bng mt phng php m chng ta gi l : dy bng ch dn (Teach by showing), robot c iu khin di chuyn n cc im mong mun v cc v tr c ghi li trong b nh ca my tnh, sau cc d liu s c c tun t v robot thc hin li cc ng tc c hc. dy robot, ngi s dng c th hng dn robot bng tay hoc thng qua mt thit b dy hc gi l Teach pendant. Thit b dy hc gm mt hp nh cm tay (teaching box) c cc nt bm v card iu khin m n cho php iu khin cc khp ca robot t c cc gi tr mong mun. 5.2.2. Dng cc ngn ng lp trnh : Cng vi qu trnh pht trin ngy cng r hn v mnh hn ca my tnh,, chng trnh iu khin robot c pht trin theo hng vit cc chng trnh bng cc ngn ng lp trnh ca my tnh. Thng cc ngn ng lp trnh ny c nhng c im m chng ta c th ng dng vit cc phn mm hay chng trnh iu khin robot, v chng c gi l ngn ng lp trnh robot. Hu ht cc h thng iu khin dng ngn ng lp trnh robot vn duy tr kiu giao din Teach pendant (dy- hc). Ngn ng lp trnh robot c nhiu dng khc nhau. Chng ta phn chng thnh ba loi nh sau : a) Ngn ng robot chuyn dng : nhng ngn ng lp trnh robot ny c xy dng bng cch to ra mt ngn ng mi hon ton. C php (Syntax) v ng ngha (Semantics) ca cc ngn ng ny cn phi rt n gin v ngi lp trnh cho cc ng dng cng nghip khng phi l mt chuyn gia v lp trnh. V d nh ngn ng VAL (VAL 2) c dng iu khin cc robot cng nghip ca hng Unimation (Hoa k); hoc mt ngn ng robot chuyn dng khc gi l AL c xy dng i hc Stanford (hoa k)... b) To ra cc th vin robot cho mt ngn ng lp trnh cp cao c sn : Nhng ngn ng lp trnh robot ny c xy dng bng cch da trn cc ngn ng lp trnh cp cao thng dng (v d nh Pascal) v thm vo mt th vin cc th tc v hm c bit dng cho robot. Khi vit cc chng trnh Pascal iu khin robot, ngi s dng s gi cc hm hoc th tc nh ngha trc trong th vin x l cc ni dung c lin quan n vic tnh ton hoc iu khin robot. V d PASRO (Pascal for Robot) l mt th vin dng cho lp trnh robot, cung cp nhiu th tc v hm c bit tnh ton v iu khin robot dng trong mi trng ngn ng Turbo Pascal, hoc PASRO/C l pht trin ca PASRO, nhng c vit trn c s ca ngn ng Turbo C. c) To ra cc th vin robot cho mt ngn ng hoc phn mm a dng (Robot library for a new general - purpose language) : Nhng ngn ng lp trnh robot ny c xy dng bng cch s dng cc ngn ng hoc phn mm dng

TS. Phm ng Phc

Robot cng nghip

60

chung cho nhiu mc ch nh l mt chng trnh c bn, sau cung cp thm mt th vin cha cc th tc c bit dng cho robot. V d nh ngn ng lp trnh robot AML ca hng IBM v RISE ca hng Silma, ngn ng Aspect ca phn mm Procomm Plus ... 5.2.3. Ngn ng lp trnh theo nhim v (Task-level programming language) Mc th ba ca phng php lp trnh robot l to ra cc ngn ng lp trnh theo nhim v. Nhng ngn ng ny cho php ngi s dng ra cc lnh robot thc hin mt cng vic mong mun mt cch trc tip m khng cn xc nh mt cch chi tit cc hot ng ca robot nh cc ngn ng lp trnh thng thng. Mt h thng lp trnh robot theo nhim v phi c kh nng th hin nhiu cng vic mt cch t ng. Chng hn, nu mt ch th Grasp the bolt (cm ly bulong) c to ra, h thng phi vch ra c mt qu o ca tay my m n trnh c s va chm vi bt k chng ngi vt no chung quanh, chn c v tr tt nht cm ly bulong mt cch t ng. Ngc li, trong ngn ng lp trnh robot thng thng tt c nhng s la chn ny phi c thc hin bi ngi lp trnh. Trong thc t, ngn ng lp trnh theo nhim v cha c dng trong sn xut, n cn l mt lnh vc ang c nghin cu. Sau y ta s nghin cu mt phn mm a dng dng truyn d liu v iu khin thit b c th dng iu khin robot. 5.3. Gii thiu tm tt phn mm Procomm Plus For Windows : Procomm Plus l phn mm dng truyn d liu v iu khin trc tip cc thit b qua cng COM ca my tnh c nhn. Vi Procomm Plus ta c th s dng my tnh nh mt Terminal hoc thc hin cc Scrip files vit bng ngn ng lp trnh Aspect. chy phn mm Procomm Plus ch Terminal ta c th dng mt s cch sau : a) S dng Desktop Windows : n p chut trn biu tng ca Procomm Plus terminal Windows. b) T mc Run... trong Start ca Windows, g lnh : pw3 , chn OK. c) Vo Start ca Windows, chn Programs, chn Procomm Plus 3, chn Data Terminal... Menu chnh ca Procomm Plus c nhiu tin ch, rt thun tin khi iu khin cc thit b giao din vi my tnh kiu RS 232. Ca s chnh ca phn mm Procomm plus ch Terminal nh hnh 5.1.

TS. Phm ng Phc

Robot cng nghip

61

Thanh cng c

Menu chnh

Ca s nhp - xut d liu .

Meta keys

Thanh trng thi

Dng chn nhanh kiu giao din

Hnh 5.1 : Ca s chnh ca Procomm Plus for Windows, Version 3.0 Menu chnh : Cung cp cc tin ch cn thit trong qu trnh s dng, menu chnh c cc menu ko xung (Pulldown) tng t nh nhiu phn mm thng dng khc. Ni dung ca Menu chnh c th thay i c theo mc ch s dng. Mt s ni dung ca menu chnh c th dng trong qu trnh iu khin robot nh sau : Menu Setup : Dng xc nh cu hnh ca Terminal Windows v ch giao din gia my tnh vi thit b. Trong menu ny cn c th s dng mc con Action Bars chn file cha ni dung ca thanh cng c v cho th hin trn mn hnh. Menu Data : Trong menu ny ta c th dng cc menu con sau : + Clear screen (Alt+C): Xo mn hnh nhp xut d liu; + Reset terminal (Alt+U): Xo mn hnh v b m (buffer) ca Procomm. Menu Scripts : Trong menu ny ta c th dng cc menu con sau : + Start scrips (Alt+.) : Thc hin mt Aspect scrips file, c tn c th hin trn thanh cng c. + Run... (Alt+F5) : M hp hi thoi Run ASPECT file , chng ta c th chn tn file, thc hin vic dch cc file ngun trc khi chy chng trnh. + Compile / Edit... (Alt+F3) : M hp hi thoi son tho v dch cc file ngun.

TS. Phm ng Phc

Robot cng nghip

62

+ Start recorder... : bt u t ng to ra mt scrips file bng cc ghi li tt c cc lnh th hin trn mn hnh (nhp t bn phm). Khi chn mc ny s xut hin mc Stop recorder, dng khi mun kt thc vic ghi t ng scrips file. C th chn mc ny trn thanh cng c bng cch n chut vo biu tng . Menu Tools : Trong menu ny ta c th dng cc menu con sau : + Action bar Edition : Dng son tho hay thay i ni dung thanh cng c cho ph hp vi mc ch s dng. + Aspect Editor : M ca s son tho script files bng ngn ng Aspect, chng ta c th to mi, xem hoc sa i ni dung ca mt file (dng Text). + Dialog Editor : M ca s son tho hp hi thoi, cho php ta to ra cc hp hi thoi bng phng php trc quan (Visual). Thanh cng c (Tool bar) : c nhiu Icon (biu tng) gip ngi s dng c th thc hin nhanh mt cng vic bng cch bm chut trn biu tng tng ng, thay v phi vo Menu chnh. Ni dung ca thanh cng c cng c th thay i d dng ph hp vi mc ch s dng (mc Action bar Edition). Ca s nhp - xut d liu : l phn mn hnh ngi s dng nhp vo cc d liu, cc lnh iu khin v cc th hin thng bo tr v t cc thit b c iu khin. Meta Keys : Dng ci t sn cc ng dng thng hay thc hin. Ni dung ca cc Meta Keys c th thay i c ph hp vi tng mc ch s dng. Khi mun thc hin mt cng vic gn cho Meta Key ch cn n chut vo Meta key . Mun son tho hay thay i nhim v ca Meta Keys ta thc hin nh sau : Cch 1 : n phm ALT+M . Cch 2 : Chn mc Meta Keys Editor t Tool menu . Dng chn nhanh kiu giao din : Cho php ngi s dng chn nhanh kiu thng s giao din gia thit b iu khin v my tnh nh : cng giao din, tc truyn thng tin, kiu x l d liu ... bng cch n nt chut tri ln cc mc. 5.4. Ngn ng lp trnh ASPECT trong Procomm : 5.4.1. Gii thiu : Mt ASPECT script file l mt file dng text c to ra cha cc lnh c thc hin bi Procomm Plus. Ging nh nhiu ngn ng lp trnh khc, ASPECT yu cu phi dch chng trnh son tho. Mt script file cha dch, hay cn gi l file ngun, c ui l .was (Windows Aspect Source); cn mt script file dch c ui l .wax (Windows Aspect eXecutable). Khi mt script c dch, th cc d liu v cc cu lnh cha trong file ngun s c chuyn sang m m Procomm c th c v x l mt cch nhanh chng. Sau khi dch th file dch (.wax) c kch thc nh hn so vi file ngun. Tm li : mt script file phi c dch trc khi c th thc hin. Mt file c dch khng th dch ngc tr li thnh file ngun.

TS. Phm ng Phc

Robot cng nghip

63

Chng ta c th to mi v son tho file ngun (.was) bng trnh ASPECT Editor hay bt k mt trnh son tho dng text no khc, nhng phi t tn tp c ui l . was. to mi mt file ngun hoc thay i b sung ni dung ca mt file c, t menu chnh ca Procomm, chn Scripts | Compile/Edit... hoc n chut vo biu tng trn thanh cng c. Hp hi thoi dng son tho v dch cc script files nh hnh 5.3. Mun to mt file mi ta chn nt lnh New; mun sa i ni dung mt file c (tn file chn trc trong mc File name) ta chn nt lnh Edit; mun thot khi ca s son tho ta chn nt lnh Exit. Khi chn nt lnh New hoc Edit, trn mn hnh s xut hin ca s son tho ta vit hoc s i chng trnh. Sau khi son tho xong, mun ghi vo a ta chn File | Save hoc File | Save as ... Ta cng c th chn biu tung Ghi v dch (Save and Compile) trn thanh cng c ghi vo a ng thi dch thnh file .wax.

Hnh 5.3 : Ca s son tho v dch cc script file chy mt Aspect script file c th thc hin bng nhiu cch : + Chn mc Script trn Menu chnh, tip theo chn mc Run... Lc ny s xut hin hp hi thoi chn file mun thc hin. + n chut trn mc Script file ca thanh cng c, sau chn tn file mun thc hin. Nu mt file chy, tn vn cn trong mc Script file, mun chy li trn thanh cng c. th n chut vo biu tng + C th chy mt script file t ca s Compile/Edit ASPECT file (Chn mc RUN) (hnh 5.3).

TS. Phm ng Phc

Robot cng nghip

64

5.4.2. Kiu d liu v khai bo bin trong ASPECT : a) Kiu d liu : ASPECT cung cp cc kiu d liu nh sau : integer (kiu nguyn) : C gi tr t -32768 n 32767. float (kiu s thc) : C gi tr t 2.22507385072014e-308 n 1.797693134862315e+308. long (kiu nguyn di) : C gi tr t -2147483648 n 2147483647. String (kiu chui) : C th cha t 0 n 256 k t. Tt c tn ca cc phn t trong ASPECT, nh tn t lnh, tn hm v th tc, tn nhn (label) v bin ... c chiu di khng qu 30 k t. b) Cc loi bin : Trong ASPECT c cc loi bin sau : + Bin h thng : Bin h thng l cc bin ch c (read-only) m ASPECT v Procomm Plus c th n nh cc gi tr c bit. V d : chng ta khng th thay i gi tr ca bin h thng $ROW m n lun lun bng v tr dng hin ti ca con tr trn mn hnh, ta ch c th c gi tr ca n bt k ni no trong chng trnh v x l khi cn thit. Bin h thng lun c du $ u. + Bin do ngi dng nh ngha , c hai loi : - Bin ton cc (Global variables) : Bin ton cc c th c nh ngha bt k ni no trong chng trnh nhng phi bn ngoi cc khi Th tc v Hm. Ph bin , cc bin ton cc thng c khai bo u chng trnh. Bin ton cc c th c tham chiu n t bt c hm hay th tc no ca chng trnh, Nu mt th tc hoc hm lm thay i gi tr ca mt bin ton cc th gi tr vn c duy tr cho n khi no c mt lnh khc lm thay i gi tr ca n. - Bin a phng (Local variables) : Khng ging nh bin ton cc, bin a phng ch c tham kho n trong phm vi ca th tc v hm m n c nh ngha. Gi tr ca n s b xo khi ra khi th tc v hm . Ta c th t tn cc bin a phng ging nhau trong cc th tc v hm khc nhau ca chng trnh, nhng iu khng c ngha l gi tr ca bin c ghi nh gia cc th tc hoc hm khc nhau. + Tham bin (Parameter variables): Bt c th tc no, ngoi tr chng trnh chnh (Proc main) u c th khai bo (nh ngha) n 12 tham bin. Cc tham bin tng t nh cc bin a phng, ngha l n ch c tham chiu n trong phm vi th tc hoc hm m n c nh ngha, tuy nhin khc vi bin a phng, cc tham bin nhn cc gi tr ban u mt cch t ng khi cc th tc hoc hm c gi, cc ga tr s dng c cung cp bi cu lnh gi. Cc tham bin phi c khai bo u mi th tc hoc hm, trc bt c lnh no hoc cc bin a phng. Mt tham bin c khai bo

TS. Phm ng Phc

Robot cng nghip

65

ging nh bin a phng. Th t m cc tham bin c nh ngha xc nh th t m chng s c gi bi cc th tc hoc hm. c) Khai bo (nh ngha) cc bin : Tt c cc loi bin dng trong chng trnh phi c khai bo (nh ngha) trc. Nu cc bin c cng kiu d liu, ta c th khai bo trn mt dng cch nhau bi du phy ( , ). V d : Integer sokhop, Tong, i = 1 Float Goc Integer A[4][4] Trong v d trn ta khai bo cc bin : sokhop, Tong, i l cc bin nguyn, trong bin i c gn gi tr ban u l 1. Goc l bin thc. A l bin mng (array) c kch thc 4x4 , cc phn t ca mng kiu nguyn. Cch khai bo tham bin trong th tc v hm nh sau : param (kiu d liu ) (tn) [, tn] . . . V d : param Integer X, Y, Z Chng trnh v d : ; Vi du ve khai bao bien. Proc main ; Chng trnh chnh. integer A,B,C ; Khai bo 3 bin nguyn. integer Tong ; Tng ca 3 s (bin nguyn). A=2, B=4, C=8 ; Gn gi tr cho cc bin. Tong = Sum(A,B,C) ; Gi hm Sum cng cc s. Usermsg Tong = %d. Tong ; Cho hin tng ca cc s ln mn hnh Endproc ; Ht chng trnh chnh. Func Sum : Integer Param integer X, Y, Z integer Tong Tong= X+Y+Z return Tong Endfunc ; nh ngha hm Sum tnh tng. ; Khai bo cc tham bin kiu nguyn. ; Khai bo bin Tong (bin a phng). ; Tng ca 3 s. ; Tr v gi tr ca tng ca 3 s. ; ht phn nh ngha hm

(Ghi ch : du ; dng ghi ch trong chng trnh, cc ni dung sau du ; khng c dch). 5.4.3. Cu trc ca chng trnh : Cu trc chng trnh ca mt ASPECT script file gn ging nh mt file vit bng ngn ng Pascal, ngha l c mt chng trnh chnh v cc th tc hoc hm khc. Ch khc nhau c bn l chng trnh chnh c vit trc, chng trnh chnh c th gi n cc hm hoc th tc c nh ngha sau . Trong chng trnh chnh khng c khai bo cc tham bin. Khi thc hin chng trnh, n s ln lt thc hin cc lnh t dng u tin n ht chng trnh.

TS. Phm ng Phc

Robot cng nghip

66

Khi kt thc mt hm hoc th tc c gi, n t ng tr v dng lnh tip theo. Cu trc chung ca mt chng trnh nh sau : ; Dng u tin dng ghi ch v ni dung chng trnh, dng ny s th hin trong ; hp hi thoi Compile/Edit ngi s dng d nhn bit v ni dung ca chng ; trnh. Proc main ; bt u chng trnh chnh (Khai bo bin) (cc cu lnh th hin ni dung chng trnh) ..... Endproc ; ht chng trnh chnh. Proc (tn th tc) ; Bt u mt th tc (khai bo cc tham bin nu c) (khai bo cc bin a phng) (cc cu lnh th hin ni dung th tc) ..... Endproc ; ht mt th tc Func (tn hm) ; Bt u mt hm (khai bo cc tham bin nu c) (khai bo cc bin a phng) (cc cu lnh th hin ni dung ca hm) ..... return (bin) ; tr gi tr ca bin v th tc gi Endproc ; kt thc hm 5.4.4. Mt s php tnh dng trong ASPECT : ASPECT s dng nhiu php tnh s hc v logic khc nhau, di y gii thiu mt s php tnh hay dng : +, -, *, / Php ton cng, tr, nhn, chia. >, <, >=, <= Ln hn, nh hn, ln hn hoc bng, nh hn hoc bng. != Khc vi ! NOT && AND || OR ++, -Tng hoc gim mt n v. ?: Thc hin mt iu kin .v.v... V d 1 : Cho A=2, B=4 A+B-- = 6 : A c cng vi B trc, v ri B gim i 1 (B=3). A+ --B = 5 : Trc tin B gim i 1, sau cng A vi B. V d 2 :

TS. Phm ng Phc

Robot cng nghip

67

Proc main integer A,B,C,D integer Tong A=2, B=4 C=A+B Tong = A+ --B D=(tong < C) ? tong : C ; nu Tong < C th D=Tong, nu sai D=C Usermsg " D = %d , C = %d" D,C Endproc Kt qu D = 5 v C = 6.

5.4.5. Mt s t lnh trong ASPECT hay dng khi iu khin robot: Ngn ng ASPECT c hn 600 t lnh, dng vi nhiu mc ch khc nhau. Phn ny ch gii thiu s lt mt s lnh hay dng khi lp trnh iu khin robot. Ngi c c th s dng mc Help trn menu ca s son tho bit thm chi tit. * Cc lnh cn bn : call : Gi mt th tc hoc hm t chng trnh chnh hoc t mt th tc khc. C php : Khi gi mt hm : call <tn> [WITH <danh sch tham bin>] [INTO <bin>] Khi gi mt th tc : call <tn> [WITH <danh sch tham bin>] tn : tn th tc hoc hm c gi. Danh sch tham bin : Tn cc tham bin trong th tc hoc hm. INTO <bin> : Ch dng khi gi mt hm, bin s cha gi tr tr li ca hm. case/endcase : Cu lnh la chn, dng vi t lnh Switch. C php : switch <bin> (string | integer | long) case <gi tr so snh> (string | integer | long) ... [exitswitch] ; thot khi khi lnh switch khng ... iu kin. [endcase] [default] ; thc hin khi cc trng hp so snh ... u khng ng. endcase

TS. Phm ng Phc

Robot cng nghip

68

endswitch V d : proc main integer Alpha = 2 switch Alpha case 0 usermsg "Alpha = 0" Endcase case 1 usermsg "Alpha = 1" endcase case 2 usermsg "Alpha = 2" endcase endswitch endproc ; gn gi tr ban u cho bin Alpha=2. ; tm gi tr ca bin s ; Trng hp bin c gi tr bng 0. ; Xut kt qu trn ca s mn hnh. ; Ht trng hp so snh th nht. ; tng t nh trn . . .

; lun i km vi switch kt thc khi lnh switch.

if / endif : Cu lnh iu kin. C php : if <iu kin 1> ... [elseif <iu kin 2] ... [else] ... endif ; kt thc khi lnh if. (Lnh ny gn ging nh lnh if trong Pascal, khng c t then). while/endwhile : Lp li mt s cu lnh cho n khi iu kin kim tra l sai. V d : proc main integer SoLanLap = 0 ; Bin nguyn dng m s ln lp

while (SoLanLap++) < 3 ; Mi ln lp bin tng gi tr thm mt endwhile ; Kt thc khi lnh while. usermsg "Toi da lap %d lan" SoLanLap endproc for/endfor : Cu lnh lp theo mt s ln nht nh C php : for <bin m>=<gi tr ban u> UPTO | DOWNTO <gi trcui> [BY <bc>] . [exitfor] ; Chuyn iu khin thot khi cu lnh lp for . ; n dng lnh sau endfor

TS. Phm ng Phc

Robot cng nghip

69

endfor Return : Thot khi th tc hoc hm hin ti, tip tc cu lnh tip theo ca th tc gi. * Cc lnh khc : transmit : Gi mt dng k t (lnh) n cng ang hot ng.

V d : proc main transmit "B-250~C-200~F-240~~P+200 endproc

; Chuyn lnh iu khin robot TG-45

Pause : Tm dng thc hin chng trnh trong mt s giy qui nh. C php : pause <s giy | FOREVER> V d : Pause 5 : tm dng thc hin chng trnh 5 giy Pause Forever : Dng vi thi gian khng xc nh. Lnh Pause c th c hu b khi n Ctl-Break. K t ~ thay cho lnh pause vi gi tr dng bng 0,5 giy. V d : Transmit B+200~~E-100 Sau khi truyn lnh B+200 s tm dng 1 giy (2 k t ~) mi truyn tip lnh E-100. chdir : V d : Chdir C:\ procom3\Robot copyfile : Copy mt file theo ng dn hoc vi mt tn khc. C php : copyfile <file ngun> <file ch> V d : copy C:\ Procom3\ aspect\ robot.was C:\ tam\ robot1.txt delfile : Xo mt file theo ch nh. C php : delfile <tn file> mkdir : To mt th mc mi. C php : mkdir <tn th muc> rmdir : Xo mt th mc (trng) Thay i ng dn n mt a hoc th mc khc. C php : chdir <Tn ng dn>

TS. Phm ng Phc

Robot cng nghip

70

C php :

rmdir <tn th mc>

rename : i tn mt file. C php : rename <tn file c> <tn file mi> Fopen : M mt file c hoc ghi. C php : fopen <s hiu file> <tn file> READ | WRITE | READWRITE | CREATE | APPEND | READAPPEND Cc tu chn : READ : ch c; READWRITE : c th c v ghi; CREATE : To mi; APPEND : Ghi tip vo cui file; READAPPEND : C th c v ghi tip vo cui file. Fclose : ng mt file m. C php : Fclose <s hiu file> fputs : Ghi mt chui k t ln file. C php : fputs <s hiu file> <chui k t> ; Tn file c m.

V d : proc main string Fname = "Vidu.txt"

if fopen 0 Fname CREATE ; To mi v m mt file c tn Vidu.txt fputs 0 "Day la file moi duoc mo !" ; Ghi mt chui ln file. fclose 0 ; ng file c to mi v m. else errormsg "Couldn't open file `"%s`"." Fname endif endproc feof : Kim tra iu kin cui mt file. C php : feof <s hiu file> [bin nguyn] [bin nguyn] : c gi tr 0 nu cha kt thc file, bng 1 nu kt thc file.

Fgets : c mt dng k t t mt tp m ghi vo mt bin. C php : fgets <s hiu file> <tn bin kiu string> V d : proc main string Fname = "Vidu.txt" ; Tn file cn c string chuoi ; Bin chuoi nhn gi tr c t file. if fopen 0 Fname READ while not feof 0 fgets 0 FInput ; M file ch c (s hiu file id=0). ; Lp li khi cha kt thc file. ; c mt dng t file

TS. Phm ng Phc

Robot cng nghip

71

usermsg FInput ; Th hin dng c endwhile fclose 0 ; ng file else errormsg "Can't open `"%s`" for input." Fname ; bo li nu file khng tn ti. endif endproc usesmsg : th hin mt dng thng bo hay kt qu trn ca s. C php : usermsg <:dng thng bo> [bin1, ...] Xem cc v d trn. termwrites : Vit mt dng k t ln ca s nhp xut d liu. C php : termwrites <bin hoc dng k t> Run : Thc hin mt chng trnh bn ngoi (ui COM, EXE hoc BAT). C php : run <tn chng trnh> V d : proc main string Prog = "C:\ windows\ pbrush.exe" ; Chng trnh cn thc hin. run Prog ; Thc hin chng trnh PaintBrush ca Windows. Endproc Ngoi cc t lnh gii thiu trn, cn c rt nhiu lnh khc..., ngi s dng c th tham kho trc tip trong mc HELP ca c s son tho khi cn thit. Ngn ng ASPECT khng c sn cc hm ton hc nh sin, cos, ... nn khi mun thc hin cc tnh ton phc tp ta phi dng cc phn mm khc. 5.5. Lp trnh iu khin robot TERGAN - 45 : Nh ni trn, iu khin robot TERGAN-45 ta c th dng phn mm Procomm Plus for Windows iu khin trc tip hoc vit cc chng trnh bng ngn ng ASPECT. 5.5.1. Gii thiu robot TERGAN 45 (TG-45): TERGAN 45 l mt loi robot dng dy hc do Php sn xut. y l loi robot ton khp quay, c 4 bc t do. i km vi robot gm c mt b ngun v mt mun iu khin. Mun iu khin cho php iu khin robot trn cc Terminal hoc my tnh c giao din kiu RS-232. Cu hnh ca robot nh hnh 5.2 :
Vai o Cnh tay

o
Thn

o C tay
Bn tay

Hnh 5.3 : S ng Robot TG-45

TS. Phm ng Phc

Robot cng nghip

72

Cc khp quay ca robot c dn ng bng cc ng c in mt chiu c gn cc potentionmeter, ngoi ra ng m bn tay ca robot ngi ta dng truyn ng vit-me c gn c hnh trnh, vn tc ng m cc ngn tay c th iu chnh c. Cc gc quay gii hn ca cc khu trn robot l : + Chuyn ng ca thn 2610. + Chuyn ng ca vai 850. + Chuyn ng ca cnh tay 2490. + Chuyn ng ca c tay 1800. Tc truyn thng tin qua moun iu khin t 50 n 9600 bauds vi b vi x l 8 bits, Stop bit l 1 hoc 2. in p ngun cung cp l 110V/220V, 50HZ. in p iu khin 12V. Trn mun iu khin c thm cc u vo v ra giao din vi cc thit b khc (nh cc cm bin, iu khin bng ti nh, ...). Moun iu khin robot TG-45 c thit k giao din vi my tnh bng cc lnh c bn sau : BXXX : iu khin thn (Base), EXXX : iu khin vai (paule), CXXX: iu khin cnh tay (Coude), FXXX : iu khin c tay (Poignet), PXXX : ng m bn tay (Pince), SXXX : iu khin cc tn hiu ra, IXXX : iu khin cc tn hiu vo. Chiu di ca cc lnh iu khin l 5 k t m ASCII. K hiu XXX biu din cc ch s t 000 n 511. V du : Lnh B-200 s iu khin thn robot quay sang phi mt gc : 1 = (261o/2) x 200 / 511 51004 Lnh C+200 s iu khin cnh tay robot quay ln pha trn mt gc : 3 = (249o/2) x 200 / 511 48043 (so vi vai). Lnh P+200 s ng bn tay (dng khi mun nm mt vt) , vn tc ng m thay i c theo gi tr t 001 n 511. V d P+100 s ng chm hn P+200. Cc lnh c chuyn n t my tnh s c mun iu khin x l sau tr li cc thng bo thc hin (message) trn mn hnh. 5.5.2. iu khin trc tip robot TG-45 nh phn mm Procomm :

TS. Phm ng Phc

Robot cng nghip

73

ch TERMINAL ca Procomm Plus ta c th iu khin trc tip robot Tergan 45 bng cch g trc tip cc lnh lm quay cc khp ca robot, v d : B+200 C-250 E-100 F-250 P+200 Ta c th ghi li cc lnh va nhp vo mt file thc hin li sau ny, nu trc khi nhp cc lnh ta chn mc START RECORDER trn menu hoc Icon tng ng. 5.5.3. Vit chng trnh iu khin robot TERGAN-45 : Ta c th iu khin robot Tergan-45 bng cch vit cc chng trnh bng ngn ng ASPECT. Mt chng trnh v d n gin nh sau : proc main transmit "E-100~B-250~F-180~C-200~B-300~~~P+150~~~ transmit E+000~C-150~B+300~~C-180~~~~P-200~~~" transmit "E+200~B-400~~~E-000~~~C-300~~~F-080~~~B-450~~~P+150~~~ transmit C-260~~E+100~~B+300~~~~~~P-200~~" transmit "F+200~C-130~B-350~F-300~~E-180~~B-400~~~P+100~~" transmit "E+200~~B+300~~~~E-100~~~F-230~~~~P-200~~~~ transmit C-000~F-000~E-000~B-000~P-200~" pause 50 clear termwrites "Da thuc hien xong, xin cho lenh !" endproc Khi son tho xong chng trnh ta phi t tn v ghi vo a, v d tn chng trnh l DEMO.WAS. Sau ta phi dch chng trnh to ra file DEMO.WAX lc mi c th chy c trong Procomm Plus. Tuy nhin, nh gii thiu trn, mun iu khin robot TG-45 ch c cc lnh n gin iu khin cc mt dn ng cc khp quay. Nu ch iu khin robot bng cc lnh n th khng th m rng kh nng lm vic ca robot c, hn na vic lp trnh cng mt nhiu cng sc v kh xc nh c cc to m ta yu cu bn tay robot phi t ti. Do vic lp trnh iu khin robot phi to ra cc chc nng khc khi iu khin robot nh : 1) Chng trnh c th gip ngi s dng dy robot hc m robot c th lp li cc chuyn ng c dy-hc mt cch chnh xc.

TS. Phm ng Phc

Robot cng nghip

74

2) Thit k iu khin ng hc thun : ngha l chng trnh cho php ngi s dng iu khin robot theo gi tr cc gc quay ca khp (tnh bng ) khi xc nh trc mt cu hnh no ca robot. 3) Thit k iu khin ng hc ngc : ngha l ngi s dng chng trnh c th iu khin robot theo cc to v tr v hng ca bn tay c xc nh trc. Khi ta nhp cc gi tr v to v hng ca bn tay th chng trnh t ng tnh ton cc gc quay ca cc khp robot chuyn ng n v tr yu cu vi hng c xc nh. 4) Thit k cc tin ch khc nh : iu khin theo ng, to cc meta keys, to ra cc tr gip cho ngi s dng... Cc ni dung 2 v 3 cn phi thit lp h phng trnh ng hc ca robot TERGAN-45 v gii h phng trnh ng hc . Phn tnh ton c th vit bng ngn ng Pascal hoc C++ m n c gi t chng trnh iu khin (dng lnh RUN), chng trnh iu khin x l kt qu tnh ton qua cc file trung gian dng text. Phn mm Procomm cung cp nhiu tin ch ta c th thit k chng trnh kiu trc quan (Visual), gip cho vic vit chng trnh v thao tc trong qu trnh s dng c d dng, thun tin hn. 5.8. Kt lun : Trong chng ny ch gii thiu mt cch tng qut v cc phng php lp trnh iu khin robot. Kh c th i su, c th vo mt ngn ng no v n ph thuc rt nhiu vo loi robot c s dng. Phn ngn ng ASPECT trong phn mm Procomm c nghin cu trn l mt v d v ng dng cc phn mm dng cho nhiu mc ch iu khin robot. Trong thc t, tu nhim v c th ca mi robot, phi hp vi hot ng chung ca cc my mc thit b khc m ta thit k cc chng trnh c th robot hot ng theo nhng mc ch mong mun.

TS. Phm ng Phc

Robot cng nghip

75

Bi tp chng V :
Bi 1 : Hy vit mt Function ca hm arctg2(y,x) bng ngn ng Turbo Pascal. Bi 2 : Vit mt chng trnh (ngn ng tu ) nhp cc thng s DH v t ng xc lp cc ma trn An (Biu hin kt qu trn mn hnh v ghi vo mt file dng text). Bi 3 : Vit mt chng trnh bng Turbo Pascal tnh ton ng hc nguc (Xc nh cc gc quay) ca robot TERGAN-45. D liu nhp t bn phm. Ghi kt qu vo mt file dng text. Bi 4 : Vit mt chng trnh iu khin robot TERGAN-45 bng ngn ng ASPECT robot c cu hnh nh sau : 1 = +300; 2 = -100; 3 = -300; 4 = -250. Bn tay robot nm li sau khi di chuyn n v tr yu cu. Bi 5 : Vit mt chng trnh bng ngn ng ASPECT, gi chng trnh tnh ng hc ngc vit bng Turbo Pascal (nh bi 3), x l kt qu tnh ton iu khin robot TERGAN-45 theo to v tr v hng ca bn tay.

TS. Phm ng Phc

You might also like