You are on page 1of 83

Mục lục

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

I. CƠ BẢN VỀ ROBOT VÀ PHẦN MỀM LẬP TRÌNH:


1. TỔNG QUAN VỀ ROBOT:
Trong một hệ thống robot đơn giản, tủ điều khiển đóng vai trò quan trọng trong việc điều khiển
hoạt động của robot và kết nối với người sử dụng thông qua các phương tiện
giao tiếp khác nhau.

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:

1. Tủ điều khiển chính


2. Ổ nhớ Flash
3. LAN internal connection

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

Một số ƣu điểm của FlexPendant:


 Có thể tạo thêm chƣơng trình ứng dụng riêng với giao diện đồ họa và thông tin
điều khiển .
 Công nghệ của Microsoft với các công cụ phát triển mạnh, chuẩn.
 Làm việc online và cả offline với Virtual IRC5.
 Hệ thống quản lý ngƣời dùng, cho phép truy cập hệ thống với quyền hạn và nhóm
khác nhau .
 Hot Plug – Tạo khả năng kết nối hoặc tháo ra trong khi vẫn đang vận hành hệ
thống.
 Chống môi trƣờng độc hại – IP54.
 Có thể thay cab khi cần.
 Màn hình cảm ứng lớn: 7.7 inch, 640 x 480 pixels.
 Ngƣời thuận tay trái hay tay phải đều có thể sử dụng.
 Đa ngôn ngữ.

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.

Những phần chính của giao diện RobotStudio:

1 Các Tab chức năng


Các tabbao hàmcác tập lệnh điều khiển và cài đặt cho các mục đích khác nhau theo bảng
sau:
File Danh mục những tính năng nhƣ Open, Save, Print v.v...
Home Xây dựng trạm, tạo hệ thống, đƣờng dẫn chƣơng trình, đặt các đề mục.
Modeling Tạo và nhóm các thành phần, tạo phần thân, phép đo và hoạt động CAD
Simulation Cài đặt, cấu hình, điều khiển, theo dõi, ghi chép các mô phỏng
Offline Đồng bộ hóa, cấu hình và nhiệm vụ chỉ định cho VIRTUAL
CONTROLER (mạch điều khiển ảo)
Online Quản lí mạch điều khiển thực
Add-Ins PowerPacs và VSTA

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.

5 Danh mục RobotStudio Help


6 Cửa sổ đồ họa
Cửa sổ đồ họa thể hiện những đối tƣợng làm việc trong trạm. Tại đây bạn chọn các đối
tƣợng và các phần của đối tƣợng khi xậy dựng và lập chƣơng trình cho trạm. Biểu tƣợng
cho cấp độ lựa chọn và chế độ bắt điểm đƣợc đặt bên trên của cửa sổ đồ họa. Để sử dụng
đúng cấp độ lựa chọn và chế độ bắt điểm là những cài đặt hết sức quan trọng để làm việc
thành công trong cửa sổ đồ họa.
7 Thanh trạng thái
Là ô nằm bên phải thể hiện trạng thái của hệ điều khiển.Đèn xanh cho thấy hệ điều khiển
đang hoạt động ở chế độ AUTO, màu vàng là ở MANUAL, màu đỏ là hệ chƣa đƣợc khởi
động đúng.

Bảng dƣới chỉ dẫn cách điều hƣớng cửa sổ đồ họa bằng chuột:

Dùng kết hợp phím và chuột Mô tả


Chọn đối tƣợng Chỉ cần click chuột vào đối tƣợng
để chọn, để chọn nhiều đổi tƣợng,
giữ phím Ctrl trong khi click vào
những đối tƣợng mới.
Xoay station CTRL + SHIFT + Nhấn Ctrl+Shift+chuột trái khi kéo
chuột để kéo chuột nhằm xoay
station.
Với loại chuột 3 nút, bạn có thể sử
dụng nút trái và giữa thay vì kết
hợp bàn phím.
Di chuyển trạm CTRL + Nhấn Ctrl và chuột trái khi kéo lê
để di chuyển station.

Phóng to trạm CTRL + Nhấn Ctrl+chuột phải khi kéo giữ


chuột qua trái để thu nhỏ, qua phải
đểphóng tođối với chuột có 3 nút,
có thể sử dụng nút giữa thay cho
sự kết hợp phím.

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

4. TỌA ĐỘ TRONG ROBOT:


Một workobject bao gồm 2 hệ: User Frame (hệ tọa độ ngƣời dùng) đƣợc tham chiếu từ
World Coordinate System và Object Frame (hệ tọa độ vật thể) đƣợc tham chiếu từ User
Frame. Hình dƣới thể hiện vị trí hai phần khác nhau đƣợc đặt trong một mặt cố định nhƣ mô tả.

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.

II. DI CHUYỂN ROBOT BẰNG FLEXPENDANT(JOGGING):


Bƣớc này cho phép ngƣời sử dụng di chuyển tọa độ tool tới vị trí mà mình mong muốn
thông qua FlexPendant, để dịch chuyển Robot ta cần thực hiện các bƣớc sau:
Đầu tiên gạt công tắc về vị trí điều khiển bằng tay(manual mode) chạy với vận tốc thấp
(<250mm/s). Từ danh mục ABB trên PlexPendant, chọn Jogging:

Giao diện hiển thị các thông số điều khiển:

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

 Work Object: chọn Work Object, chọn OK.

12
 Payload: lựa chọn đối tƣợng phù hợp, trong danh sách sẳn có.

 Joystick lock: lựa chọn trục của joystick bị khóa.


 None: không khóa.
 Horizontal: khóa theo chiều ngang.
 Vertical: khóa theo chiều dọc.
 Rotation: khóa chuyển động xoay.

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:

1. ƯU ĐIỂM VIỆC TẠO TỌA ĐỘ TOOL:


 Xác định TCP và định hướng tool
 Cần thiết để có thể chạy robot (TCP) theo đƣờng thẳng
 Có thể thay đổi tooldata, khi tool bị hỏng
 Tạo khả năng thay đổi tool mà không cần thay đổi chƣơng trình
 Giúp tool ở vị trí phù hợp với chuyển động nhất có thể

2. CÁC BƯỚC THỰC HIỆN TẠO TỌA ĐỘ TOOL:


 Bƣớc 1: Trong danh mục chính của ABB chọn Program data:

 Bƣớc 2: Trong Program data chọn Tooldata

17
 Bƣớc 3:Chọn new, tạo Tool data mới.

 Bƣớc 4: Thay đổi tên Tool cần thiết:

18
 Bƣớc 5: Chọn loại Tool sau đó thay đổi Tooldata, chọn Tooldata chọn Edit, chọn Change
value.

 Bƣớc 6: Nhập thông số khối lƣợng Tool cần thiết:

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:

 Bƣớc 8: Chọn phương pháp và số điểm:

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:

1. ƯU ĐIỂM CỦA VIỆC TẠO WORKOBJECT:


 Xác định khu vực làm việc cho Robot.
 Tạo khả năng có thể dịch chuyển khu vực làm việc (ví dụ nhƣ bộ gá lắp) mà không cần
thay đổi chƣơng trình.
 Giúp dễ dàng sử dụng chƣơng trình đã tạo. Khi robot khác làm việc với workplace khác,
chỉ cần thay đổi workobject, không cần thay đổi chƣơng trình.
 Một chƣơng trình cho một đối tƣợng có thể đƣợc thay thế bằng hàm Search, để tìm vị trí
hiện tại.

2. CÁC BƢỚC TẠO WORKOBJECT:


 Bƣớc 1: Trong danh mục chính ABB, chọn Program Data

 Bƣớc 2: Trong Program Data chọn Wobjdata

22
 Bƣớc 3: Nhấn phím chức năng New, tạo wobj data mới

 Bƣớc 4: Thay đổi tên WorkObj

 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.

V. BACKUP AND RESTORE:


Trong khi làm việc với hệ thống nếu gặp các trƣờng hợp nhƣ: Khi hệ thống chạy không
ổn định, Vị trí lập trình sai, Khi nâng cấp thay thế chƣơng trình…Cần có một bản Backup tốt là
cần thiết để khôi phục lại nhanh.
Bản Backup là một khối dữ liệu bao gồm các thành phần sau:
 Tất cả các tập tin và thƣ mục chứa trong thƣ mục gốc của hệ thống.
 Thông số hệ thống (ví dụ : tên của tín hiệu I/O signals)
 Bản lƣu trữ chứa đựng thông tin cần thiết cho phép khôi phục đƣợc hệ thống trở về trạng
thái khi lƣu trữ.
24
Chú ý: Để an toàn trong quá trình làm việc, trƣớc khi backup chúng ta cần thực hiện một
số điều sau:
 Luôn kiểm tra trƣớc xem hệ thống nào đang hiện hành.
 Luôn luôn đặt tên mô tả hệ thống bạn định lƣu trữ.
 Ghi chú ngày bạn lƣu trữ dữ liệu.
 Cất dữ liệu backup vào nơi an toàn.
 Luôn luôn kiểm tra xem bạn có khôi phục đúng hệ thống bạn cần hay không.

1. CÁC BƯỚC THỰC HIỆN CHỨC NĂNG BACKUP:


 Bƣớc 1: Chọn nút menu chính ABB
 Bƣớc 2: Chọn Backup and Restore

 Bƣớc 3: Nhấn nút Backup

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.

Một bảng Backup đƣợc tạo ra với tên mà ta đã chọn.

2. CÁC BƢỚC THỰC HIỆN CHỨC NĂNG RESTORE:


Thực hiện các bƣớc nhƣ Backup, nhƣng tới cửa sổ chọn Restore:

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

VI. BÀI TẬP THỰC HÀNH:


Di chuyển Robot, tạo Tool, WorkObjdata, Backup và Restore cho hệ thống Robot trong ví
dụ sau:
 Bƣớc 1: Khởi động Robot Studio

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

 Bƣớc 5: Click chuột phải vào table_and_fixture_140 chọn Set Position

 Bƣớc 6: Thay đổi thông số 400 thành 500 nhấn Applay.

29
Sau khi thay đổi xong, cửa sổ chƣơng trình nhƣ sau:

Điểm dùng để tạo Tool và


WorkObj.
Station gồm 3 công cụ
chính:
1).IRB120_3_58_01
2).Pen
3).table_and_fixture

 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

I. CÁC TẬP LỆNH CƠ BẢN CỦA ROBOT:

MoveL p1, v100, z10, tool1;

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

WaitDI signal value [\MaxTime] [\TimeFlag] ;


 Signal: tên của tín hiệu, có kiểu dữ liệu là signaldi.
 Value:giá trị mong muốn của tín hiệu, có kiểu dữ liệu là dionum
 [\MaxTime]:kiểu dữ liệu là num, là chu kì thời gian lớn nhất để đợi tín hiệu, có đơn vị là
s
 [\TimeFlag]: có kiểu dữ liệu là bool.
 Nếu chỉ khai báo [\MaxTime], khi thời gian vƣợt quá thời gian quy định, đoạn chƣơng
trình xử lý lỗi(error handler) sẽ đƣợc gọi nếu có (ERR_WAIT_MAXTIME), nếu không có
thì chƣơng trình sẽ báo lỗi và ngừng chạy.
 Nếu khai báo cả [\MaxTime] và [\TimeFlag],Khi không có error handler thì chƣơng
trình vẫn chạy tiếp.Biến flag sẽ nhận giá trị TRUE nếu vƣợt thời gian maxtime, và ngƣợc lại
là FALSE.
Ví dụ 9:
WaitDI tay_gap , 1; ! chƣơng trình chỉ chạy tiếp tục khi giá trị tay_gap lên 1.

TPWrite String [\Num] [\Bool] [\Pos] [\Orient];

 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.

Cấu trúc điều kiện:

IF Condition THEN ...


{ELSEIF Condition THEN ...}
[ELSE ...]
ENDIF

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

II. CÁCH LẬP TRÌNH TRÊN FLEXPENDANT:

 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)

Station gồm 3 công cụ


chính:
1).IRB120_3_58_01
2).Pen 3).Curve_thing
(Khi lấy Curve_thing vào
station thì nó nằm ở vị trí
bất kỳ, để đƣợc nhƣ hình
bên ta phải làm bƣớc tiếp
theo).

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:

 Bƣớc 4:Khởi độ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 10: Chọn New sẽ xuất hiện hộp thoại sau:

 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.

III. BÀI TẬP THỰC HÀNH:


Bài tập 1: Điểm khởi đầu Robot ở vị trí nhƣ hình dƣới, viết chƣơng trình cho Robot vẽ
một hình vuông có cạnh 150mmx150mm và lặp lại 5 lần(sử dụng lệnh for), sau khi vẽ xong
hiển thị chuỗi ”Completed” lên FlexPendant, trong khi vẽ FlexPendant hiển thị chữ “Drawing”.
Bài tập 2: Điểm khởi đầu Robot ở vị trí nhƣ hình dƣới, viết chƣơng trình cho Robot
vẽ một hình tròn có đƣờng kính 150mm và lặp lại 3 lần(hiển thị lệnh while), sau khi vẽ xong
hiển thị chuỗi ”Completed” lên FlexPendant, trong khi vẽ FlexPendant hiển thị chữ
“Drawing”.

45
Chƣơng 3
CHƢƠNG TRÌNH CON VÀ KHỞI TẠO TÍN HIỆU TRONG
ROBOT

I. CHƢƠNG TRÌNH CON TRONG ROBOT:

1. CƠ BẢN VỀ LỆNH CHƢƠNG TRÌNH TRONG ROBOT:


Một chƣơng trình đƣợc chia thành nhiều tác vụ (task) với dữ liệu (data) và các đoạn
chƣơng trình(routines) riêng. Một chƣơng trình đƣợc chia thành những modun chƣơng trình nhỏ
bao gồm data và các routine, mà có thể đƣợc sử dụng lại ở chƣơng trình khác, các modun
thƣờng đƣợc lƣu trữ và đƣơc gọi ra bởi chƣơng trình, có thể đƣợc lƣu trữ và gọi ra một cách độc
lập, Modun của hệ thống thì lƣu trú trong hệ thống , Modun của hệ thống không nằm trong
chƣơng trình cũng không thuộc về bộ nhớ chƣơng trình , Modun hệ thống bao gồm data và các
routine mà có thể đƣợc dùng bởi nhiều chƣơng trình .
Có 3 loại routine (chƣơng trình con) :
 Procedures không trả về giá trị mà đƣợc sử dụng giống nhƣ một câu lệnh.
 Functions trả về giá trị với dạng dữ liệu cụ thể và đƣợc sử dụng trong các biểu thức.
 Trap routines cung cấp một phƣơng tiện để làm việc với các lệnh ngắt interrupts. Một
trap routine có thể đƣợc kết hợp với một ngắt riêng biệt và sau đó, nếu ngắt đó xảy ra, thì nó sẽ
tự động chạy. Trap routine không thể đƣợc gọi trực tiếp từ chƣơng trình.
Một thủ tục procedure thì bao gồm một số câu lệnh, đặt trong một “khung” với tên riêng
biệt.
Thủ tục có thể đƣợc gọi từ đoạn chƣơng trình chính (hoặc bất kỳ), và các lệnh đó sẽ đƣợc
thi hành.
Cách gọi thủ tục procedure thì giống nhƣ một lệnh :
MoveL p100, v100, z10, tool1;
FetchPart;
MoveL p110, v100, z10, tool1;
Một hàm function là một tập các lệnh khác đƣợc dùng để tính giá trị
reg1 := Dist (p110, p100);

 Ƣu điểm của việc sử dụng chƣơng trình con(routine):


 Chƣơng trình dễ đọc hơn
 Chƣơng trình có cấu trúc tốt, rõ ràng hơn
 Mã chƣơng trình có thể đƣợc sử dụng lại trong những phần khác của chƣơng trình.
 Dễ dàng sáng tạo chƣơng trình hơn, các routine khác nhau có thể đƣợc tạo ra và chạy thử
một cách riêng biệt.
 Robot sẽ tùy biến hơn với các đoạn chƣơng trình ứng dụng riêng biệt đƣợc tạo ra.

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.

1. KHỞI TẠO BUS:


 Bƣớc 1: Trên thanh menu ABB, chọn tab Control Panel, và sau đó chọn Configruration.

 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 ?”

2. KHỞI TẠO UNIT:


 Bƣớc 1: Trên thanh menu ABB, chọn tab Control Panel, và sau đó chọn Configruration.

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 ?”

3. KHỞI TẠO TÍN HIỆU (SIGNAL):

 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 ?”

4. XEM TÍN HIỆU I/O TRÊN FLEXPENDANT:


 Bƣớc 1: Từ thanh menu chính ABB chọn Inputs and Outputs

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.

III. BÀI TẬP THỰC HÀNH:


Bài tập : Điểm khởi đầu Robot ở vị trí nhƣ hình dƣới, viết chƣơng khi robot bắt đầu
chạy thì hiển thị câu lệnh cho ngƣời lựa chọn trên FlexPendant:
 Nếu chọn “Hình Vuông” thì Robot vẽ hình vuông kích thƣớc 150mmx150mm, và lặp lại
3 lần(Sử dụng chƣơng trình con vẽ hình vuông).
 Nếu chọn “Hình Tròn” thì Robot vẽ hình tròn có đƣờng kính 100mm , và lặp lại 4
lần(Sử dụng chƣơng trình con vẽ hình tròn).
 Trong quá trình vẽ hình tròn (hoặc hình vuông) thì Robot set giá trị biến Digital Output
(do sinh viên tự tạo) lên bằng 1, khi hoàn tất quá trình vẽ, thì Robot reset giá trị biến về 0.

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:

TPReadFK Answer, Text, FK1, FK2, FK3, FK4, FK5;

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.

Tạo một đƣờng viền quanh bề mặt


Border around Surface sẽ tạo một đƣờng cong quanh tất cả viền của bề mặt đƣợc chọn.
1. Trong cửa sổ đồ họa, chọn Surface Selection.

2. Trên cánh cửa chọn bề mặt nhƣ hình dƣới.

57
3. Trên tabModeling, click nút Border around Surface.

4. Click Create trong cửa sổ Create Border around Surface.


Một quỹ đạo mới đƣợc tạo với những đƣờng cong chạy quanh biên của bề mặt đƣợc
chọn.

Tạo đƣờng viền từ các điểm


Border from Point tạo một đƣờng cong bắt đầu và kết thúc tại nơi mà bạn đặt tƣơng ứng
vị trí đầu và cuối. Vị trí giữa sẽ đƣợc xác định dọc theo viền, giữa điểm đầu và cuối của
đƣờng cong đƣợc tạo. Dùng chức năng này rất hữu ích khi mà đƣờng cong không đi
quanh toàn bộ viền của bề mặt.Trong bài này chúng ta sẽ tạo một đƣờng cong quanh một
khu vực của đối tƣợng dƣới đây.
1. Phóng to và cài đặt View Center cho vật thể nhƣ hình dƣới.

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).

5. Trong cửa sổ Create border From Points, click nút Create.

59
6. Lƣu trạm nhƣ sau \Courseware\Stations\myGlueStation_curves.

1.2 Tạo Paths

Tạo workobject từ ba điểm tham chiếu


1. Từ tabHome click nút Other và chọn Create WorkObject.

2. Đặt tên WorkObject là WobjFixture


3. Xác định User Frame bằng phƣơng pháp ba điểm.

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

5. Click OK và Accept để tạo WorkObject.

61
Tạo một Path từ curve
1. Trong cửa sổ đồ họa, chọn Curve Selection.

2. Chọn đƣờng cong nhƣ hình dƣới.

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.

6. Trong trình duyệt Paths&Target, đặt tên path mới là GluePath1.

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.

Tạo một quỹ đạo từ các gờ cạnh


Chúng ta sẽ tạo path bôi keo cuối cùng mà không cầnbất kỳđƣờng cong viền nào, thay
vào đó ta sử dụng những bề mặt biên dọc theoquỹ đạo. Ƣu điểm này tạo khả năng thiết
lập một pathđi qua nhiều bề mặt.
1. Phóng to và xoay để thấy đƣợc rõ vùng đánh dấu nhƣ hình dƣới.

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.

4. Click để thêm phần đó vào Autopath list

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.

1.3 Tinh chỉnh Target

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.

Dịch chuyển quỹ đạo Path


1. Trong trình duyệt Path&Targets, mở rộng điểm wobjFixture_ob và chọn tất cả các
target trong GluePath1.
2. Click vào Target Tools-Modify, và vào Set Position.

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.

Định hƣớng target


Bây giờ xoay target quanh trục Z để đạt hƣớng tiếp cận tốt cho robot.
1. Chọn target pGlue_10_Path1 và mở View Tool at Target với công cụ SingleDoser.
2. Xoay target pGlue_10_Path1 +90 độ quanh trục Z, để robot có thể vớitới nó một cách
dễ dàng nhất.

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.

5. Chọn target pGlue_10_Path1 trong Reference (tham chiếu) và nhấn Apply.


Nó sẽ sắp thẳng trục X của tất cả target theo nhƣ target tham chiếu, không cần di
chuyển trục Z.

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.

Thêm cách tiếp cận và rút khỏi target


1. Trong trình duyệt Path&Targets, click phải vào pGlue_10_Path1 và chọn lệnh
Copy trong menu.

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ự.

Cài đặt cấu hình trục cho robot


Nhiều target có thể đƣợc tiếp cận bằng nhiều cách khác nhau. Trong hình dƣới, ta có thể
thấy robot với tới một target, nhƣng sử dụng ba cấu hình(configuration) khác nhau.

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.

2. Trong tabInstruction Tool – Modify click Modify Instruction.

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.

Đồng bộ chƣơng trình với Controller ảo (Virtual Controller)


1. Trong tabOffline chọn Synchronize to VC.
2. Trong hộp thoại Synchronize to Virtual Controller click chọn ba GluePath, click
OK.

Cài đặt và chạy mô phỏng


Một chƣơng trình robot luôn có một thủ tục chính tên là main, đƣợc dùng để sắp xếp và
khởi chạy những thủ tục khác.Khi mô phỏng chƣơng trình, bạn có thể tạo hoặc chỉnh
sửathủ tục chính bằng cách sử dụngcửa sổSetup simulation.
1. Trong tabSimulation, click Simulation Setup.

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.

6. Lƣu trạm lại nhƣ sau \Courseware\Stations\myStation_SimulatedPaths.

1.6 Phát hiện va chạm


Khái quát
Chúng ta sẽ kích hoạt tính năngphát hiệnva chạm để tìm racó va chạm nào không và tinh
chỉnh để tránh những va chạm đó. Khi theo dõi mô phỏng, một va chạm giữa hai đối tƣợng
rất dễ dàng vƣợt quá giám sát nếu robot di chuyển nhanh hoặc tầm nhìn không đƣợc tối ƣu.
Vì vậy RobotStudio cho phép thiết lập Collision Detection tại nơi chúng ta muốn theo dõi.

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.

Để phát hiện va chạm


Chúng ta sẽ định nghĩa một va chạmgiữa hai Object, để RobotStudio sẽ theo dõi. Va
chạmđƣợc nêu bật trong hình đồ họa và đƣợc thông cáo trong cửa sổ Output.
1. Trong tabSimulation click Create Collision Set.
2. Mở rộng mục CollisionSet_1.
3. Trong trình duyệt Layout, kéo Single và thả vào ObjectsA.
4. Kéo nhóm fixture và workpiece và thả vào ObjectB.

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.

Thiết lập cấu hình cho va chạm


Chúng ta sẽ sửa đổi các thông số va chạm.
1. Trong trình duyệt Layout, click phải vào CollisionSet_1 và chọn Modify Collision set.
2. Trong vùng Near Miss (mm) nhập 4.
3. Trong Near Miss Color đổi thành màu xanh lá cây.
4. Click Apply.

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 đỏ.

Ngăn ngừava chạm


1. Trong trình duyệt Path&Targets, click phải vào tNozzle và chọn Set Position trong
menu.

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.

6. Bỏ check ở ô IRB4600_GlueSystem để bỏ chọn mọi thứ trong Synchronize to VC.

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.

1.7 Khả năng với (Reachability)


Khái quát
Trong bài tập này chúng ta sẽ học cách sử dụng tính năng Reachability. Tính năng
Reachability sẽ kiểm tra các điểm(target) lựa chọn có với tới đƣợc bởi Robot hay không.

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.

Tự động cấu hình và chạy mô phỏng


1. Trong cửa sổPath&Targets, click phải vào Path_process và chọn Auto Configuration.

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.

4. Chọn ôEnable TCP trace.


5. Đặt Trace length đến 2000 mm.
6. Click OK.

7. Click Play để chạy mô phỏng lần nữa.

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.

13. Chạy mô phỏng lần nữa bằng cách click Play.

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

You might also like