Professional Documents
Culture Documents
Chƣơng I : CÁC THAO TÁC CƠ BẢN KHI LÀM VIỆC VỚI ROBOT ABB.....................3
I. CƠ BẢN VỀ ROBOT VÀ PHẦN MỀM LẬP TRÌNH:.......................................................3
1. TỔNG QUAN VỀ ROBOT:..........................................................................................3
2. FLEXPENDANT..........................................................................................................5
3. PHẦN MỀM ROBOTSTUDIO:....................................................................................6
4. TỌA ĐỘ TRONG ROBOT:..........................................................................................8
II. DI CHUYỂN ROBOT BẰNG FLEXPENDANT(JOGGING):............................................9
III. TẠO TỌA ĐỘ TOOL........................................................................................................16
1. ƢU ĐIỂM VIỆC TẠO TỌA ĐỘ TOOL.....................................................................16
2. CÁC BƢỚC THỰC HIỆN TẠO TỌA ĐỘ TOOL......................................................16
IV. TẠO WORKOBJECT:......................................................................................................21
1. ƢU ĐIỂM CỦA VIỆC TẠO WORKOBJECT:..........................................................21
2. CÁC BƢỚC TẠO WORKOBJECT:...........................................................................21
V. BACKUP AND RESTORE:.............................................................................................23
1. CÁC BƢỚC THỰC HIỆN CHỨC NĂNG BACKUP................................................24
2. CÁC BƢỚC THỰC HIỆN CHỨC NĂNG RESTORE:.............................................25
VI. BÀI TẬP THỰC HÀNH...................................................................................................26
Chƣơng II: CÁC TẬP LỆNH LẬP TRÌNH DI CHUYỂN ROBOT......................................31
I. CÁC TẬP LỆNH CƠ BẢN CỦA ROBOT:........................................................................31
II. CÁCH LẬP TRÌNH TRÊN FLEXPENDANT:..................................................................37
III. BÀI TẬP THỰC HÀNH:..................................................................................................44
Chƣơng III: CHƢƠNG TRÌNH CON VÀ KHỞI TẠO TÍN HIỆU TRONG ROBOT.......45
I. CHƢƠNG TRÌNH CON TRONG ROBOT:.......................................................................45
1. CƠ BẢN VỀ LỆNH CHƢƠNG TRÌNH TRONG ROBOT:........................................45
2. CÁC BƢỚC TẠO CHƢƠNG TRÌNH CON................................................................46
II. KHỞI TẠO TÍN HIỆU TRONG ROBOT:..........................................................................47
1. KHỞI TẠO BUS:...........................................................................................................47
2. KHỞI TẠO UNIT:........................................................................................................48
3. KHỞI TẠO TÍN HIỆU (SIGNAL):...............................................................................50
1
4. XEM TÍN HIỆU I/O TRÊN FLEXPENDANT:..........................................................52
III. BÀI TẬP THỰC HÀNH.......................................................................................................53
Chƣơng IV: LẬP TRÌNH ĐỒ HỌA CHO ROBOT.....................................................................54
2
Chƣơng I
CÁC THAO TÁC CƠ BẢN KHI LÀM VIỆC VỚI ROBOT ABB
Trong các hoạt điều điều khiển Multi move (nhiều Robot cùng hoạt động trên một hệ thống) thì tủ điều khiển Robot
có những đặc điểm như sau:
Phân chia theo chức năng thành các module: Tủ điều khiển được thiết kế để phân chia chức năng thành
các module riêng biệt, giúp dễ dàng quản lý và bảo trì.
Sự phụ thuộc tối thiểu giữa các module: Mỗi module trong tủ điều khiển hoạt động độc lập, giảm thiểu sự
phụ thuộc giữa chúng và tăng tính ổn định của hệ thống.
Nguồn máy tính riêng với sự quản lý riêng: Mỗi module được trang bị nguồn điện riêng biệt và có sự
quản lý riêng, giúp tối ưu hóa hiệu suất của hệ thống.
Nguồn cấp riêng: Mỗi module có nguồn cấp riêng, giúp đảm bảo nguồn điện ổn định và an toàn cho hệ
thống.
Số cáp tối thiểu giữa các module: Thiết kế của tủ điều khiển giảm thiểu số lượng cáp kết nối giữa các
module, giúp tạo ra một hệ thống gọn gàng và dễ bảo trì.
Giải pháp kết nối chuẩn (Ethernet): Tủ điều khiển được tích hợp với giải pháp kết nối chuẩn Ethernet,
giúp dễ dàng kết nối với các thiết bị khác và hệ thống mạng.
Trong các hoạt động điều khiển MultiMove (nhiều Robot cùng hoạt động trên một hệ thống), tủ điều
khiển Robot ABB có những đặc điểm sau:
3
Modun điều khiển trung tâm: Tủ điều khiển chứa một modun điều khiển trung tâm, có nhiệm vụ điều
khiển các modun khác và thiết bị quá trình.
Điều khiển tới nhiều modun: Tủ điều khiển có khả năng điều khiển tới 4 modun điều khiển truyền động,
với các thông số kích thước và dòng điện yêu cầu cụ thể.
4
Các thành phần trong tủ điều khiển:
2 3
11 9
10
4. Công tắc chính 5.Khóa chọn chế độ 6.Đèn tín hiệu an toàn 7.USB
8.Ethernet service Port 9.FlexPendant Hot Plug(Option) 10.I/O kết nối
ngoài 11.Cổng LAN kết nối ngoài
Ngƣời dùng có thể điều khiển lập trình robot, truy xuất I/O trong tủ điều khiển bằng các
công cụ chính là FlexPandant và máy tính.
5
2. FLEXPENDANT:
FlexPendant cho phép ngƣời dùng điều khiển mọi hoạt động robot, lập trình điều khiển
mà không cần thao tác đến máy tính.
6
7
1 8 9
1.Màn hình cảm ứng, 2.Dừng khẩn cấp 3.Bốn phím truy xuất nhanh(do ngƣời dùng
chọn), 4.Joystick 3 trục, 5.Bốn phím chạy chƣơng trình(chạy, tới/lùi,dừng chƣơng
trình), 6.ABB danh mục 7.Thanh trạng thái 8.Giao diện cửa sổ, có thể chuyển đổi qua
lại giữa các cửa sổ 9.Truy cập nhanh
6
3. PHẦN MỀM ROBOTSTUDIO:
Phần mềm RobotStudio có thể cho phép ngƣời dùng lập trình, mô phỏng các hoạt động
của Robot, có thể hoạt động chế độ offline và online, từ đó ngƣời dùng có thể điều khiển hoạt
động robot thông qua máy tính. Ngoài ra phần mềm RobotStudio có hỗ trợ Flexpendant ảo, tạo
thuận lợi cho ngƣời mới làm việc với Robot.
Modify Đây là mộttab tùy thuộc theo ngữ cảnh, tab này chỉ hiện hữu khi một đối
tƣợng đƣợc chọn. Nó liệt kê những lệnh đặc trƣng cho loại đối tƣợng đó
2 Thanh công cụ truy cập nhanh
Để truy cập nhanh tới những lệnh và những cài đặt thông dụng. Để thêm 1 mục vào thanh
công cụ, nhấn chuột phải vào mục đó và chọn add to quick access toolbar hoặc nhấn vào
mũi tên kế bên thanh công cụ và chọn customize commands
7
3 Trình duyệt Layout và Path&Target
Trình duyệt Layout thể hiện những mục vật lý của trạm nhƣ là robot và công cụ. Khi làm
việc với các đối tƣợng, bạn có thể chọn chúng ở đây hay trong cửa sổ đồ họa.
Trình duyệt Path&Target thể hiện dữ liệu chƣơng trình nhƣ là các hệ điều khiển, dữ liệu
công cụ, không gian làm việc và tọa độ mục tiêu.
4 Cửa sổ Output
Cửa sổ Output thể hiện những thông tin từ RobotStudio và hệ điều khiển ảo. Một sốthông
tinhoạt động: bạn có thể tìm thêm thông tin bằng cách nhấn vào chúng.
Bảng dƣới chỉ dẫn cách điều hƣớng cửa sổ đồ họa bằng chuột:
8
Phóng to theo khung SHIFT + Nhấn SHIFT +chuột phải khi kéo
chuột. chuột qua vùng phóng to
Chọn theo khung SHIFT + Nhấn SHIFT + chuột trái khi kéo
chuột qua vùng muốn lựa chọn
Trong một Station đơn giản với 1 robot, thì mặc định World Coordinates System sẽ trùng
với Base Coordinates và nằm tại tâm mặt dƣới đế Robot. Tuy nhiên khi lập trình Robot hoạt
động trên những đối tƣợng khác nhau, hay đối tƣợng thƣờng thay đổi vị trí trên một station thì
việc lập trình theo tọa độ World thƣờng gây khó khăn cho việc sửa đổi chƣơng trình, do đó ta
phải tạo thêm một WorkObject .
Điều đầu tiên khi lập chƣơng trình station là tạo một hệ tọa độ cho workobject.
Workobject là những hệ tọa độ đặc biệt, nơi lƣu giữ những vị trí đã đƣợc lên chƣơng trình,đƣợc
sử dụng một cách chính xác, workobject làm cho sự xác định và sửa đổi layout của khối trở nên
thuận tiện. Nếu muốn đặt lại vị trí của work piece hay chính bản thân robot, ta chỉ cần đặt lại vị
trí của workobject tƣơng ứng, cả chƣơng trình sẽ đƣợc cập nhật lại.Lập chƣơng trình cho một
robot mà không có workobject riêng biệt là khả dĩ nhƣng không đƣợc khuyến cáo.Luôn tồn tại
một workobject mặc định là Wobj0, mà luôn đƣợc gắn vào gốc của hệ tọa độ world.
9
Bên cạnh tọa độ world, base, Object, user thì ta còn phải biết một tọa độ cần thiết khi làm
việc với robot là tọa độ tool. Vị trí điểm đặt của tọa độ tool thƣờng mặc định tool0 là vị trí nằm
ở khâu cuối cùng của robot, mục đích của mọi hoạt động Robot là điều khiển điểm góc tọa độ
này đi theo đúng vị trí yêu cầu của ngƣời sử dụng. Tuy nhiên khi làm việc Robot còn phải mang
một dụng dụ làm việc( tay gắp, đầu hàn, vòi phun sơn,v.v), các dụng cụ này có kích thƣớc và
khối lƣợng khác nhau, do đó tọa độ tool bị thay đổi, cho nên trƣớc khi lập trình cho Robot thì
việc tạo một tọa độ tool cũng là việc cần thiết phải làm.
10
Trong đó:
Mechanical unit: lựa chọn thiết bị dịch chuyển là Robot hay các thiết bị ngoài khác.
Motion mode: chế độ dịch chuyển, ở đây có hai chế độ dịch chuyển chủ yếu.
Thẳng: Robot di chuyển điểm công tác theo ba trục X,Y,Z của tọa độ đã khai báo.
Xoay: Thay đổi hƣớng của điểm công tác, sự thay đổi hƣớng của điểm công tác
còn phụ thuộc vào hệ trục tọa độ đã chọn sẳn. Trục 1-3 & trục 4-6 hoạt động theo chế độ
dịch chuyển trục-trục, tức là chỉ có một trục robot dịch chuyển.
Coordinate system: lựa chọn hệ tọa độ tham chiếu (có 4 lựa chọn: World, Base, Tool,
Work Object), chọn OK.
11
Tool: chọn tool cần dịch chuyển, sau đó chọn OK
12
Payload: lựa chọn đối tƣợng phù hợp, trong danh sách sẳn có.
13
Increment: lựa chọn chế độ tăng, sau đó nhấn OK.
None: chế độ dịch chuyển tự do.
Small: chế độ dịch chuyển những bƣớc nhỏ.
Medium: chế độ dịch chuyển những bƣớc vừa.
Large: chế độ dịch chuyển những bƣớc lớn.
User: chế độ dịch chuyển theo khai báo của ngƣời sử dụng.
Chú ý: Tất cả các bƣớc trên ta có thể thực hiện bằng các truy cập nhanh:
Chọn tọa độ WorkObject, Tool , Coordinate system bằng các bƣớc sau:
2
3
14
Chọn chế độ Increment:
Chọn tốc độ di chuyển: Có các chế độ chọn tốc độ 25%, 50%, 100%, hay mỗi lần
tăng/giảm 1%, 5%.
15
Ngoài ra còn có các nút lựa chọn trực tiếp:
Chuyển đổi qua lại giữa các chế độ Quay quang Tool/Linear(số 1).
Chuyển đổi qua lại giữa các khớp xoay 1-3 và 4-6(số 2).
Chọn chế độ dịch chuyển từng bƣớc hay tuyến tính(số 3).
Để Robot dịch chuyển đƣợc thì ta phải Enable động cơ(Số 4).
4
1
16
III. TẠO TỌA ĐỘ TOOL:
17
Bƣớc 3:Chọn new, tạo Tool data mới.
18
Bƣớc 5: Chọn loại Tool sau đó thay đổi Tooldata, chọn Tooldata chọn Edit, chọn Change
value.
19
Bƣớc 7: Chọn New ToolData, sau khi chọn Edit và bổ sung một số thông tin, chọn Edit-
Define để bắt đầu xác định TCP:
20
Có các chế độ lựa chọn nhƣ sau:
N(N>=4) điểm-Dịch chuyển robot đến 4 điểm xác định N(N>=4) theo các góc độ và
hƣớng khác nhau để xác định TCP.
TCP&Z -Dựa vào N điểm,xác định TCP& Z direction。
TCP&X,Z - Dựa vào N điểm,xác định TCP& X,Z direction.
Bƣớc 9: Dịch chuyển TCP đến một điểm xác định làm chuẩn với góc độ riêng biệt,
nhấn Modify position để xác định. Chuyển con trỏ đến điểm tiếp theo và làm tƣơng tự đến khi
xác định hết các điểm.
21
IV. TẠO WORKOBJECT:
22
Bƣớc 3: Nhấn phím chức năng New, tạo wobj data mới
Bƣớc 5: Chọn wobjdata mới,sau đó nhấn phím chức năng “Edit”, một danh sách
xuất hiện. Chọn “Define”.
23
Bƣớc 6: Dịch chuyển TCP robot đến một điểm trên trục X, nhấn Modify Position.
Bƣớc 7: Dịch chuyển TCP robot đến điểm thứ 2 trên trục X theo chiều dương, di chuyển
con trỏ đến User Point X2, nhấn Modify position
Bƣớc 8: Lập lại thao tác với điểm UserY1 trên trục Y.
Bƣớc 9: Sau khi hoàn tất việc tạo các điển nhấn OK.
25
BƯỚC 4: Xem địa chỉ:
Nếu đúng: Nhấn Backup tại phía dƣới cửa sổ để tiến hành sao lƣu vào địa chỉ đó.
Nếu sai: Nhấn … ở phía phải của địa chỉ thƣ mục và chỉ đến địa chỉ mong muốn.
26
Kiểm tra địa chỉ thƣ mục Restore có đúng hay không?
Nếu Đúng: Chọn Restore ở phía dƣới màn hình.
Nếu Sai: Chọn … để sửa lại thƣ mục Restore
27
Bƣớc 2: Ở cửa sổ Menu chính chọn File – New – Station with Robot Controller. Sau đó
chọn Robot: IRB120 3Kg 0.58m, chọn Create. Sau khi Robot khởi động xong (phía dƣới góc
phải cửa sổ Robot studio là Controller Status 1/1 có màu xanh), cửa sổ sau sẽ xuất hiện:
Bƣớc 3: Thêm vào hệ thống hai công cụ bằng cách, ở cửa sổ menu chính chọn Import
Library – Equipment – chọn Pen và chọn propeller table:
28
Bƣớc 4: gắn myTool và tọa độ điểm công tác, bằng cách click phải vào Pen trên Layout
chọn attack to IRB120_ 3_58_01, hộp thoại sau sẽ xuất hiện, chọn No
29
Sau khi thay đổi xong, cửa sổ chƣơng trình nhƣ sau:
Bƣớc7: Trên thanh menu chính của phần mềm Robot Studio, chọn Offline – Control
Panel – Sau đó chọn chế độ điều khiển bằng FlexPendant với tốc độ giới hạn <250mm/s.(Đặc
điểm nhận dạng Robot chuyển chế độ là sau khi chuyển sang chế độ điều khiển bằng tay thì đèn
phía trên công tắc sẽ chớp /tắt, báo hiệu Robot đang trong chế độ hoạt động).
30
Bƣớc 8: Chọn Virtual FlexPendant trên thanh menu Offline – nhấn nút Enable(gần
joystick), khi đó Motor off sẽ chuyển sang chế độ Motor on.
Bƣớc 9: Thực hiện các thao tác jogging, tạo Tool ( chú ý: chọn góc cạnh bàn làm điểm
chọn Tool), WorkObj(tạo WorkObj trên góc cạnh bàn), Backup, Restore bằng FlexPendant
(Sinh viên tự thực hiện).
31
Chƣơng II
CÁC TẬP LỆNH LẬP TRÌNH DI CHUYỂN ROBOT
Trong đó:
Move L là mã câu lệnh(không thay đổi đƣợc), ra lệnh cho Robot di chuyển theo đƣờng
thẳng tới điểm p1.
P1: là tọa độ điểm mà Robot muốn di chuyển tool1 tới.
V100: là vận tốc di chuyển của Robot, có đơn vị là(mm/s).
Z10: là bán kính cung tròn mà Robot di chuyển tới điểm p1.(nếu bán kính bằng 0 thì thay
Z10 thành “fine”).
Tool1: là tọa độ tool mà Robot muốn di chuyển.
MoveJ p1,v100,z10,tool1;
Trong đó:
Move J là mã câu lệnh(không thay đổi đƣợc), ra lệnh cho Robot di chuyển theo đƣờng
cong tới điểm p1.
V100, z10, tool1 : giống với lệnh MoveL
Chú ý: Trong chuyển động Robot, nếu ta không quan tâm đến quỹ đạo chuyển động của
Robot, mà chỉ quan tâm đến điểm đầu và điểm cuối quỹ đạo của Robot, thì thƣờng ta dùng
MoveJ hơn là MoveL, khi sử dụng MoveL thì thƣờng xảy ra lỗi khi Robot hoạt động bởi vì
Robot bị ràn buột về quỹ đạo.
MoveC p1,p2,v100,z10,tool1;
Trong đó:
Move C là mã câu lệnh(không thay đổi đƣợc), ra lệnh cho Robot di chuyển theo đƣờng
tròn từ điểm p1 đến điểm p2.
P1: là một điểm trên vòng tròn di chuyển của Robot.
P2: điểm đến.
V100, z10, tool1 : giống với lệnh MoveL
32
Ví dụ 1: muốn vẽ đƣờng tròn đƣờng kính 200 từ p1 tới p2 ta dùng lệnh:
MoveC p1,p2,v100,z10,tool1;
MoveC p2,p1,v100,z10,tool1;
P2(0,200,0)
P1(0,0,0)
Ví dụ 2: Robot sẽ di chuyển với quỹ đạo là đƣờng nét đứt, khi thực thi các câu lệnh ở hình dƣới.
Offs(p1,x,y,z)
Lệnh này sẽ tạo ra một điểm khác cách điểm p1 có độ dài x(mm) theo trục X, y(mm)
theo trục Y, và z(mm) theo trục Z. Hƣớng của x,y,x trong lệnh Offs là hƣớng của hệ tọa độ
WorkObj.
Ví dụ 3:
Offs(p1,200,400,0) : Tọa độ cách điểm p1 200 mm theo trục X, 400 mm theo trục Y và 0
mm theo trục Z.
200mm
Offs(p1,200,400,0)
Y
400
X
o
P1
33
RelTool(p1,x,y,z\Rx:=rx \Ry:=ry\Rz:=rz)
Lệnh này sẽ tạo ra một điểm khác cách điểm p1 có độ dài x(mm) theo trục X, y(mm) theo
trục Y, và z(mm) theo trục Z, đồng thời xoay theo trục X một góc rx, xoay theo trục Y một góc
ry, xoay theo trục Z một góc rz, . Hƣớng của x,y,x trong lệnh RelTool là hƣớng của hệ tọa độ
Tool.
Ví dụ 4:
RelTool(p1,100,50,0\Rx:=0\Ry:=0 \Rz:=25) : Robot di chuyển đến vị trí cách điểm P1
100mm theo trục X, 50mm theo trục Y, 0mm theo trục Z, đồng thời xoay quanh trục Z một góc
25 độ.
Ví dụ 5 :
Vẽ hình chữ nhật, kích thƣớc là 100mm*50mm
MoveL p1,v100,…
MoveL p2,v100,…
MoveL p3,v100,…
MoveL p4,v100,…
MoveL p1,v100,…
Có thể dùng lệnh để xác định p1,p2,p3,p4.
MoveL p1,v100,…
MoveL Offs(p1,100,0,0),v100,…
MoveL Offs(p1,100,-50,0),v100,…
MoveL Offs(p1,0,-50,0),,v100,…
MoveL p1,v100,…
Set signal;
signal: tên của tín hiệu cần đƣợc đặt là 1, có kiểu dữ liệu: signaldo
Ví dụ 6:
Set do1; !khi đó tín hiệu do1 sẽ đƣợc set lên 1.
Reset signal;
signal: tên của tín hiệu cần đƣợc đặt là 0, có kiểu dữ liệu: signaldo
Ví dụ 7:
Set tay_gap; !khi đó tín hiệu tay_gap sẽ đƣợc reset về 0.
34
PulseDO [\High] [\PLengh] signal;
[\High]: có kiểu dữ liệu là swtich, có nhiệm vụ chỉ ra rằng khi tín hiệu bắt đầu tạo ra ở
mức cao.
[\PLengh] : có kiểu dữ liệu là num, có là chiều dài của xung đƣợc tạo ra tín theo đơn vị là
giây(s), trong khoảng từ (0.01 đến 2000s), nếu trong lệnh không nhắc đến thông số này
thì mặc định là 0.2s.
signal: tên của tín hiệu mà xung đƣợc tạo ra ở đó, có kiểu dữ liệu: signaldo
Vì dụ 8:
PulseDO do1; !thì sẽ tạo xung ở do1 có chiều dài xung là 0.2s
PulseDO \Plengh :=1 , do2; !thì sẽ tạo xung ở do2 có chiều dài xung là 1s
String: Chuỗi cần hiển thị lên FlexPendant, có kiểu dữ liệu là string, chuỗi có tối đa 80 kí
tự, với 40 kí tự/hàng.
[\Num]: Số cần hiển thị lên FlexPendant, có kiểu dữ liệu là num
[\Bool] : giá trị logic cần hiển thị lên FlexPendant, có kiểu dữ liệu là bool
[\Pos] : Vị trí cần hiển thị lên FlexPendant, có kiểu dữ liệu là pos
[\Orient]:Hƣớng cần hiển thị lên FlexPendant, có kiểu dữ liệu là orient
Ví dụ 10:
TPWrite "Execution started"; !Hiển thị chuỗi “Execution started” lên FlexPendant.
TPWrite "No of produced parts="\Num:=reg1; !Nếu gái trị reg1 có giá trị là 5 thì chuỗi
hiển thị lên FlexPendant là “No of produced parts=5” .
35
TPEarse ;
Dùng để xóa màn hình trên FlexPendant.
Ví dụ 11:
IF reg1 > 5 THEN
Set do1;
Set do2;
ENDIF
Ví dụ 12:
IF reg1 > 5 THEN
Set do1;
Set do2;
ELSE
Reset do1;
Reset do2;
ENDIF
Ví dụ 13:
IF counter > 100 THEN
counter := 100;
ELSEIF counter < 0 THEN
counter := 0;
ELSE
counter := counter + 1;
ENDIF
Lệnh rẽ nhánh:
TEST Test data {CASE Test value {, Test value} : ...} [ DEFAULT: ...] ENDTEST
36
Ví dụ 14:
TEST reg1
CASE 1,2,3 :
routine1;
CASE 4 :
routine2;
DEFAULT :
TPWrite "Illegal choice";
Stop;
ENDTEST
Nếu giá trị biến reg1 =1,2,3 thì routine1 đƣợc thực hiện, nếu reg1=4 thì routine2
đƣợc thực hiện, các trƣờng hợp khác thì in chuỗi “Illegal choice” lên FlexPendant và dừng
chƣơng trình thực thi.
Cấu trúc vòng lặp:
WHILE Condition DO
...
ENDWHILE
Ví dụ 15:
WHILE reg1 < reg2 DO
...
reg1 := reg1 + 1;
ENDWHILE
Chƣơng trình sẽ lặp lại cho đến khi nào reg1>=reg2
FOR Loop counter FROM Start value TO End value [STEP Step value] DO
...
ENDFOR
Ví dụ 16:
FOR i FROM 10 TO 2 STEP -2 DO
a{i} := a{i-1};
ENDFOR
Giá trị của mảng sẽ đƣợc điều chỉnh lên a{10}:=a{9}, a{8}:=a{7}….
Stop;
Lệnh tạm dừng chƣơng trình, chƣơng trình có thể tiếp tục từ vị trí dừng trƣớc đó.
Exit;
Lệnh dùng để dừng chạy chƣơng trình, không thể chạy tiếp tục từ vị trí chƣơng trình.
37
WaitTime time;
Lệnh này dùng để chờ chƣơng trình trong khoảng thời gian time.
Time:kiểu dữ liệu là num, là thời gian chƣơng trình thi hành chờ, đơn vị là s, giá trị nhỏ
nhất là 0, giá trị lớn nhất không giới hạn, độ phân giải là 0.001(s).
Ví dụ 17:
WaitTime 0.5;
Chƣơng trình sẽ chờ 0.5(s).
Lệnh gán “:=” đƣợc sử dụng để gán một giá trị cho biến.
Ví dụ 18:
Tay_gap :=1 ; ! gán giá trị 1 vaò biến tay_gap
Sodiem:=5; !gán giá trị 5 vào biến Sodiem
Bƣới 1: Thực hiện lại bƣớc 1 tới bƣớc 4 ở bài tập chƣơng 1, đƣợc hệ thống nhƣ sau:
(Trƣớc khi thực hiện bài tập này ta phải tạo Tool1 cho Pen)
38
Bƣớc 2: Click chuột phải vào Curve_thing chọn Set_position: Sao đó chỉnh vị trí
Curve_thing theo các thông số trên hình dƣới, nhấn Apply:
Bƣớc 3: Chọn vào tab Offline , chọn Control Panel, tab Panel xuất hiện, sau đó chuyển
công tắc từ chế độ tự động sang chế độ điều khiển bằng FlexPendant:
39
Bƣớc 5: Khi đó giao diện điều khiển FlexPendant xuất hiện, click vào nút Enable (gần kề
Joytick), khi đó Motor Stop sẽ chuyển sang Motor on.
Bƣớc 6: Sử dụng chế độ jogging ở chƣơng 1 điều khiển Pen tới vị trí nhƣ trên hình vẽ:
40
Trong bài tập này ta sẽ lập trình cho Robot di chuyển đầu Pen đi tới các vị trí nhƣ trên
hình sau:
P20
P50
P10 P40
P30
P70 P60
Bƣớc 7: Trên thanh menu chính ABB, chọn Program Editor, sẽ xuất hiện cửa sổ :
Bƣớc 8: Click Trái chuột vào <STM> sau đó chọn Add Instruction ở góc dƣới nên trái
của FlexPendant, sau đó chọn MoveJ:
41
Bƣớc 9: Double click vào dấu “*”, chỉ cho Robot biết đƣợc điểm mà Robot muốn di
chuyển đến.(chú ý trong lúc này thì vị trí đầu của Pen phải ở ngay điểm P10).
Bƣớc 11: Đặt tên là p10 nhấn Ok, sao đó nhấn Ok tiếp,Khi đó chƣơng trình sẽ tự động
khai báo và lấy tọa độ điểm p10, và kết quả sẽ đƣợc nhƣ hình dƣới:
42
Bƣớc 12: Điều chỉnh vận tốc v1000 thành v100 và bán kính cong Z50 thành Z5 nhƣ
hình dƣới:
Bƣớc 13: Dùng chức năng Jogging di chuyển Robot đến vị trí P20 nhƣ hình dƣới:
Bƣớc 14: Dƣới góc trái của FlexPendant chọn Add Instruction, chọn MoveL, chọn
Below, sẽ đƣợc đọan chƣơng trình sau:
43
Bƣớc 15: Tiếp tục di chuyển Robot tới các vị trí p30,p40,p50,p60,p70, mỗi lần tới một
điểm mới ta chọn Move L một lần, cuối cùng đƣợc đoạn chƣơng trình sau:
Bƣớc 16: Trên cửa sổ FLexPendant, chọn Debug, chọn PP to Main, ta sẽ thấy con trỏ
(dấu mũi tên màu vàng ở dòng có số thứ tự xuất hiện ), báo cho ta biết đƣợc, chƣơng trình sẽ thi
hành lệnh ngay con trỏ đầu tiên.
44
Bƣớc 17: Tiến hành chạy chƣơng trình , và xem kết quả mô phỏng ở phần mêm Robot
Studio. Để chạy chƣơng trình ta thực hiện một trong hành động sau:
Nhấn vào phím Play chƣơng trình sẽ chạy hết các câu lệnh, muốn dừng đột xuất nhấn nút
Stop.
Để chạy từng câu lệnh nhấn nút mũi tên đi tới để chạy từng câu lệnh từ trên xuống trong
chƣơng trình, nếu muốn chạy ngƣợc lại nhấn mũi tên lùi.
Chú ý: Khi Robot di chuyển từ vị trí điểm p70 tới điểm P10 thì chƣơng trình sẽ báo lỗi
xảy ra, lý do là đã hết vùng không gian hoạt động của Robot, đây là vấn đề mà ngƣời lập trình
Robot phải luôn chú ý, và lỗi này thƣờng xuyên xảy ra khi làm việc với Robot.
45
Chƣơng 3
CHƢƠNG TRÌNH CON VÀ KHỞI TẠO TÍN HIỆU TRONG
ROBOT
46
2. CÁC BƢỚC TẠO CHƢƠNG TRÌNH CON:
Bƣớc 1: Trong cửa sổ lập trình của FlexPendant, click chọn nút Routines:
Bƣớc 2: Chọn New Rountine nếu muốn tạo một Routine mới, Change Declaration nếu
muốn thay đổi thuộc tính của rountine:
Bƣớc 3: Chọn các thông số thích hợp, Name: tên routine, Type: kiểu Routine, có 3 kiểu
chính là: Procedure, Fuction, Trap, Data Type: Kiểu dữ liệu.
47
II. KHỞI TẠO TÍN HIỆU TRONG ROBOT:
Để tạo một tín hiệu cho Robot chúng ta cần phải tạo Bus, Unit, và tín hiệu(signal) cần tạo.
Bƣớc 2: Chọn chủ đề I/O, chọn tab Bus, sau đó chọn Show All ở phía dƣới màn hình.
Bƣớc 3: Chọn Add nếu muốn chọn tạo Bus mới, chọn Edit nếu muốn chỉnh sửa một Bus:
48
Bƣớc 4: Điền đầy đủ các thông số cần thiết sau:
Name: đặt tên của Bus
Type of Bus: Kiểu Bus,(nếu board thật chọn Device Net, nếu mô phỏng chọn
Vitual)
Boardnumber: chọn First Board.
Nhấn Recovery time để chỉnh sửa,giá trị mặc định là 5s。Chu kỳ thử kết nối lại
với bo mạch I/O khi bị mất liên lạc.
DeviceNet master address : 0-63
Bƣớc 5: Nhấn Ok để Save Bus, hộp thoại hỏi Restart xuất hiện.
Bƣớc 6: Nhấn Yes cho câu hỏi: “Do you want to restart now ?”
49
Bƣớc 2: Chọn chủ đề I/O, chọn tab Unit, sau đó chọn Show All ở phía dƣới màn hình.
Bƣớc 3: Chọn Add nếu muốn chọn tạo Unit mới, chọn Edit nếu muốn chỉnh sửa một Unit
cũ.
50
Bƣớc 4: Điền đầy đủ các thông số cần thiết sau:
Name: tên Unit
Type of unit: Kiểu Unit
Nhấn connected to bus để chọn loại Bus
Nhấn Trust Level, chọn mức Trust Level
DeviceNet address: Khai báo địa chỉ của I/O unit.
Bƣớc 5: Nhấn Ok để Save Bus, hộp thoại hỏi Restart xuất hiện.
Bƣớc 6: Nhấn Yes cho câu hỏi: “Do you want to restart now ?”
Bƣớc 1: Trên thanh menu ABB, chọn tab Control Panel, và sau đó chọn Configruration.
51
Bƣớc 2:Chọn chủ đề I/O, chọn tab Signal, sau đó chọn Show All ở phía dƣới màn hình.
Bƣớc 3: Chọn Add nếu muốn chọn tạo Signal mới, chọn Edit nếu muốn chỉnh sửa một
Signal cũ.
52
Bƣớc 4: Điền đầy đủ các thông số cần thiết sau:
Name : Tên của tín hiệu.
Type of unit: Kiểu dữ liệu tín hiệu (Digital I/O, Analog, Group …)
Assigned to Unit: Xác định kết nối với Unit nào.
Unit Mapping: Khai báo địa chỉ bit trên Unit.
Category
Bƣớc 5:Nhấn Ok để Save Bus, hộp thoại hỏi Restart xuất hiện.
Bƣớc 6:Nhấn Yes cho câu hỏi: “Do you want to restart now ?”
53
Bƣớc 2: Chọn View sau đó chọn tín hiệu cần xem trạng thái
Khi chọn xong tín hiệu cần xem trạng thái sẽ hiển thị lên trên FlexPendant nhƣ hình dƣới.
54
Các kiến thức cần thiết khi giải bài tập:
Các lệnh di chuyển Robot: Move L, MoveJ, MoveC.
Cách tạo chƣơng trình con(routine).
Cấu trúc điều kiện IF.
Tạo một I/O signal (Digital Output).
Lệnh hiển thị cho ngƣời dùng lựa chọn:
Answer:Là biến mà giá trị của nó phụ thuộc vào Phím nào đƣợc nhấn,giá trị từ 1 đến 5.
Nếu phím chức năng số 1 đƣợc nhấn, biến sẽ nhận giá trị 1. ( num
) Text:Dòng chữ sẽ hiện ra trên FlexPendant ( string )
FK1: Fk1 text.( string )
FK2: Fk 2 text ( string
) FK3 : Fk 3 text (
string ) FK4: Fk 4 text
( string ) FK5 : Fk 5
text ( string )
TPReadFK dùng để ghi chữ lên Phím chức năng, và tìm xem phím nào đã đƣợc nhấn.
Chƣơng 4
LẬP TRÌNH ĐỒ HỌA CHO ROBOT
55
Lập trình đồ họa
Tổng quan
Trong phần này chúng ta sẽ thông qua hình họa để tạo một quỹ đạo (Path) cho robot một
cách tự động. Trong RobotStudio chúng ta có thể tạo Path từ đƣờng cong(curve), hoặc từ gờ
cạnh của một hay nhiều bề mặt đồ họa.
Trong bài tập này chúng ta sẽ tạo một Path bôi keo trên bề mặt cánh cửa.
Giải nén
Dùng Unpack&Work để mở Pack&Go file GlueStation.rspag từ thƣ mục Courseware\
Station.Giải nén nó đến thƣ mục mới myGlueStation. Trả lời Yes cho câu hỏi của Smart
Component.
56
1.1 Tạo đƣờng cong
Khái quát
Hai Paths đầu tiên chúng ta sẽ tạo với sự giúp đỡ của Đƣờng cong (Curve). Curves là
những đối tƣợng đồ họa trong bản vẽ CAD mà Robot Studio sẽ dùng để tạo Path cho
những đích đến (target),theo đồ họa của đối tƣợng.
Nếu Curvebạn cần không có trong đồ họa CAD khi bạn nhập vào, bạn có một vài cáchđể
tạo curvekhi dùng công cụ thiết kếđồ họa của RobotStudio. Trong bài tập này chúng ta sẽ
dùng Border Around Surface và Border From Points, hai trong ba cách cho việc tạo
curve.
57
3. Trên tabModeling, click nút Border around Surface.
58
2. Trên tabModeling click nút Border from Points.
3. Trong cửa sổ đồ họa Graphics, click vào body của hình mẫu (nhìn hình point 1).
4. Click ba điểm nhƣ hình dƣới. Điểm đầu tiên đặt tại điểm xuất phát của hình cung
(dùng Snap End). Điểm thứ hai ở đâu đó dọc theo đƣờng viền của hình cung (dùng
Snap Edge). Điểm thứ ba ở vị trí kết thúc hình (dùng Snap End).
59
6. Lƣu trạm nhƣ sau \Courseware\Stations\myGlueStation_curves.
60
4. Click vào phía trên của ba góc đƣợc đánh dấu trong hình dƣới để xác định ba điểm.
(Snap Mode: End)
X1
Y1 X2
61
Tạo một Path từ curve
1. Trong cửa sổ đồ họa, chọn Curve Selection.
3. Trong tabHome click vào phần dƣới của nút Path và chọn AutoPath.
Hình ảnh của Pathsẽ đƣợc hiển thị trên cửa sổ đồ họa, và trong cửa sổ AutoPath tất cả
bề mặt xung quanh Pathsẽ đƣợc hiển thị.
62
4. Đặt con trỏ vào vùng Reference Surface, và click vào bề mặt mà bạn đã dùng để tạo
curve bằng (Border Around Surface).
5. Đổi Approximation Parameters thành Circular và ChordDev thành 0,5 mm, click
Create.
7. Chọn path trong trình duyệt Path&Targets, click vào PathTools-Modify, và click và
Rename Targets. Đối Target Prefix thành pGlue_ và Target Suffix thành _Path.
Click Apply.
63
8. Dùng AutoPath để tạo một path trên đƣờng cong tạo bởi Border from Points. Dùng
bề mặt quanh đƣờng cong làmReference Surface và đổi Approximation
Parameters thành Circular,ChordDev thành 0,5 mm.
9. Đổi tên path là GluePath2. Thêm vào tên của những targetphần đầupGlue_ và phần
cuối _Path.
64
2. Mở AutoPath và trên bề mặt đƣợc chọn nhƣ hình dƣới, click vào đƣờng biên gần
robot nhất. Hình xem trƣớc của path giống nhƣ hình dƣới.
3. Di chuyển chuột hƣớng qua phải dọc theo biên đến khi thấy một preview mới nằm ở
góc của cánh cửa.
65
5. Tiếp tục nhƣ thế quanh toàn bộ cửa để tất cả các bộ phận đƣợc thêm vào Autopath
list.
6. Đổi Approximation Parameters thành Circular và ChordDev thành 0,5 mm, rồi
click Create.
7. Đặt tên cho path là GleuPath3. Đặt cho những đích đến phần đầu là pGlue_và phần
cuối là _Path3.
8. Lƣu trạm nhƣ sau \Courseware\Stations\myGlueStation_paths.
Khái quát
Bƣớc tiếp theo là dịch chuyển target trong GluePath để keo sẽ đƣợc tản ra 4 mm từ biên
đến bề mặt. Chúng ta cũng nên định hƣớng lại target để robot có thể vớitới đƣợc với một
sự đổi hƣớng nhỏ nhất.
66
3. Di chuyển tất cả target 4mmtheo hƣớng –Y với Reference đặt là Local, để dịch
chuyển path từ biên.
4. Dịch chuyển GluePath2-3 một khoảng cách tƣơng tự, nhƣng nhận ra rằng độ lệch cho
GluePath3 phải theo hƣớng +Y.
3. Dùng Jump to Target để xác nhận robot có thể với tới target.
67
4. Chọn một lƣợt tất cả các target củaGluePath1-3, click Align Target Orientation
trên tabTarget Tools-Modify.
6. Dùng View Robot Target để chắc chắn rằng tất cả target đều có thể đƣợc với tới.
Sau đó tắt View robot at Target.
7. Lƣu trạm nhƣ sau \Courseware\Stations\myGlueStation_offset_paths.
68
1.4 Thêm điểm tiếp cận và rời đi
Khái quát
Điều cuối cùng phải làm trƣớc khi chạy thử path là thêm tiếp cận và rút khỏi target, chọn
cấu hình cho robot, lựa chọn tốc độ và zone tƣơng ứng cho câu lệnh di chuyển.
2. Click phải vào workobject wobjFixture và chọn Paste. Một target mới đƣợc thêm
vào workobject.
3. Đặt tên cho target mới là pApproach_Path1.
4. Dùng Set position để di chuyển target mới 100 mm theo hƣớng –Z trong Reference
Local.
5. Dùng Jump to Target để chắc rằng target nằm trên path 100 mm
69
6. Copy và Paste target cuối cùng trong GluePath1 và đặt tên target mới
pDepart_Path1. Dịch chuyển target 100 mm theo hƣớng –Z.
7. Click phải vào pApproach_Path1 và chọn Add to path>Glue Path<First>
8. Làm tƣơng tự cho pDepart_Path1 nhƣng đặt nó ở cuối cùng trong path.
9. Thêm cách tiếp cận và rời khỏi cho những đƣờng dẫn keo khác với những độ lệch
tƣơng tự.
70
Khi target đƣợc tiếp cận bằng cách di chuyển robot tới vị trí, cấu hình trục đã đƣợc lƣu
trữ trong target. Tuy nhiên, khi mà RobotStudio đã tự tính cho target một
configurationmặc định, nó có thể không chính xác.Khi sử dụng những target nhƣ vậy
trong chƣơng trình, chúng ta hoặc là phải kiểm tra lạiconfiguration của từng target, hoặc
phải thêm một lệnh offconfigurationđể khiến robot bỏ qua những sailệch của
configuration.
1. Trong trình duyệt Path&Targets, chọn GluePath1 và click vào Auto Configuration
trong tabPath Tools – Modify.
Cửa sổlựa chọncấu hình (Configuration) cho Robotsẽ hiển lên, và trên đó bạn sẽ
phải tự lựa chọn configurationcho target đầu tiên.Configurationbạn chọn cho target
đầu tiên có thể sẽ ảnh hƣởng tới những target sau đó.
2. Sau khi xem, chọn configuration với giá trị (-1, -1, -1, 0) và nhấnApply.
Robot bây giờ sẽ di chuyển lướt qua theopath và tự độngthiết lập configuration cho
từng target của path. Configuration của mỗi target sẽ phụ thuộc vào configuration
của target trước nó, do vậy nếu AutoConfiguration bị lỗi, bạn có thể nêntự chọn một
configuration tốt hơn.
3. Dùng Auto Configuration để thiết lập configuration cho những quỹ đạo bôi keo
khác. Configurationđầu tiên trong quỹ đạo nên chọn gần giống nhất có thể với
configurationđƣợc chọn củaGluePath1.
71
Điều chỉnh lệnh
1. Trong trình duyệt Path&Targets, mở rộng GluePath1 và chọn tất cả target trong
path, ngoại trừ target approach và depart.
3. Đổi tốc độ Speed lên v300 và Zone thành z1, nhấn Apply.
4. Làm tƣơng tự cho những đƣờng quỹ đạo bôi keo khác.
5. Lƣu trạm nhƣ sau \Courseware\Stations\myGlueStation_FinalizedPaths.
72
1.5 Mô phỏng chƣơng trình Robot
Khái quát
Chúng ta tạo một chƣơng trình từ quỹ đạo bằng cách đồng bộ trạm với controller ảo và
sau đó chạy nó nhƣ một Controller thực.
Chú ý!
Trƣớc khi mô phỏng, phải luôn nhớ đồng bộ controller ảo. Nếu một path của trạm bị thay
đổi nhƣng không đồng bộ với controller, robot sẽ di chuyển theo quỹ đạo cũ. Đó là vì khi
chạy mô phỏng, chƣơng trình trong hệ thống controller ảo sẽ chạy.
73
2. Trong cửa sổSetup Simulation, trong danh sách Active Task, kiểm tra rằng ô chọn
cho robot và task đều đƣợc chọn.
3. Trong list Available Procedure, chọn FromDockingStation và click nút mũi tên trái
để chuyển nó sang list Main Sequence.
4. Làm tƣơng tự cho GluePath1, GluePath2, GluePath3 và ToDockingStation.
5. Click Ok.
Thủ tục chính đã được tạo.
Trong cửa sổ đồ họa, chọn nút Play, và chắc rằng robot di chuyển đúngtheo quỹ đạo.
74
Một va chạm sẽ đƣợc hiển thị qua 2 cách: sự nháy đổi màu và dòng thông báo ghi trong cửa
sổ Output.
Bây giờ chúng ta đã định nghĩa rằng RobotStudio sẽ tìm ra va chạm giữa A và B
5. Trong menu Simulation, click Play.
75
Bây giờ nếu chúng ta ở gần một va chạm, object sẽ sáng màu xanh và khi va chạm xảy ra
object sẽ sáng màu đỏ.
2. Di chuyển dữ liệu Tool 3mm theo hƣớng Z+ với Reference đặt là Local, nhấn Apply.
3. Trong cửa sổPath&Targets, ta sẽ thấycác target đã không còn đƣợc kiểm chứng (hình
tam giác màu vàng). Đó là bởi vì chúng ta đã thay đổi dữ liệu tool data trong các lệnh di
chuyển. Có thể configurationvẫn hợp lệ, nhƣng để chắc chắn chúng ta nên kiểm tra lại.
Click phải vào GluePath1 và chọn Configuration>VerifyConfiguration.
76
4. Làm tƣơng tự với những path khác của trạm.
5. Click phải vào T_ROB1 và chọn Synchronize to VC trong menu.
7. Chọn tại hộp chọn tNozzle và nhấn OK. Bây giờ chỉ tooldata tNozzle đƣợc đồng bộ đến
VC.
77
8. Chạy mô phỏng lần nữa để chắc rằng không còn va chạm.
9. Lƣu trạm nhƣ sau \Courseware\Stations\myGlueStation_Collision.
Chuẩn bị
Khởi động chƣơng trình tự động Unpack and Work và giải nén trạm
\Courseware\Stations\Reachability_start.rspag.
Để kiểm tra Reachability
1. Trong tabHome trong trình duyệt Path&Targets click phải vào Path_process và chọn
Check Reachability.
2. Hộp thoại Reachability mở ra, bạn có thể thấy chữ X màu đỏ, chỉ ra rằng Robot không
thểdi chuyển theo Path đó.
78
3. Đổi Selection Level thành Part
4. Freehanddi chuyển part bằng cách click nút Move và sau đó trong cửa sổ đồ họa, kéo
mũi tên đỏ, xanh lá, xanh lam. Ta thấyrằng chỉ cópart di chuyển, path vẫn giữ nguyên
5. Trong thanh công cụ Quick Access, click Undo để path và part kết nối lại.
6. Trong trình duyệt Path&Targets click phải vào obWorkpiece sau đó Attach to và chọn
carfront.
RobotStudio sẽ làm workobjectbị phụ thuộc vào Part, khi đókhi di chuyển part chúng ta
cũng di chuyển luôn workobject.
7. Trong Keep Current position click nút Yes.
79
8. Freehanddi chuyển partlần nữa. Chú ý cách target di chuyển theo và cách Reachability
thay đổi khi part nằm trong tầm với. Dừng lại khi path đã đƣợc với tới bởi Robot.
2. Chọn lựa chọn đầu tiên trong hộp thoại Robot Configuration và click Apply.
RobotStudio cố gắng di chuyển robot qua quỹ đạo, nếu thành công, nó thiết lập cấu hình
cho tất cả target.Lời khuyên là hãy thiết lập cấu hình với các giá trị càng gần với 0 thì
càng tốt.
3. Trong tabOffline, click nút Synchronize to VC.
4. Trong hộp thoại synchronize click nút OK.
5. Trong tabSimulation, click nút play.
Theo dõi
80
1. Làm Workobject và path ẩn đi bằng cách click phải vào obWorkObpiece và
Path_processes và dƣới View, chọn Visible.
2. Trong trình duyệt Layout, làm tƣơng tự với Carfront. Bây giờ bạn chỉ thấy robot trong
màn hình Graphic.
3. Trong tabSimulation, click nút Monitor.
Việc này sẽ để lại một đƣờng ghi theo dõi màu trắng sau TCP của robot.
8. Click nút Monitor lần nữa.
9. Click Clear trace.
10. Chọn tabAlerts, chọn Enable Simulation Alerts.
11. Đặt TCP Speed là 350 mm.
81
12. Click OK.
Lúc này RobotStudio sẽ đƣa ra một cảnh báo khi tốc độ Speed trên 350mm/s bằng cách
chuyển thành một đƣờng ghi màu đỏ.
14. Lƣu trạm.
82
Phụ Lục
An toàn khi làm việc với Robot
Calip Robot
83