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 n
CÁC THAO TÁC CƠ BẢN KHI LÀM VIỆC VỚI ROBOT ABB
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 ( "Work Object") và chọn "Create New Work Object".
Nhập thông tin cho Work Object mới, bao gồm tên, số hiệu, và các thông số kích thước và vị trí của Work Object.
Chọn điểm làm điểm chọn Work Object bằng cách chọn góc cạnh bàn hoặc điểm cụ thể khác trên bàn làm việc của robot.
Trên FlexPendant, vào menu "File" (hoặc "Utilities" -> "File") và chọn "Backup".
Chọn nơi lưu trữ và đặt tên cho file backup.
Xác nhận và thực hiện backup.
Trên FlexPendant, vào menu "File" (hoặc "Utilities" -> "File") và chọn "Restore".
Chọn file backup cần khôi phục.
Xác nhận và thực hiện restore.
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ữ.
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
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:
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
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
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 ImportLibrary – Equipment – chọn Pen và chọn propeller table:
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.
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 "Tool") và chọn "Create New Tool".
Nhập thông tin cho Tool mới, bao gồm tên, số hiệu, và các thông số kích thước và vị trí của Tool. Chọn điểm làm điểm chọn Tool bằng cách chọn góc cạnh bàn hoặc điểm cụ thể khác trên bàn làm việc của robot.
Trên FlexPendant, vào menu "Work Object" (hoặc "Utilities" -> "Work Object") và chọn "Create New Work Object".
Nhập thông tin cho Work Object mới, bao gồm tên, số hiệu, và các thông số kích thước và vị trí của Work Object.
Chọn điểm làm điểm chọn Work Object bằng cách chọn góc cạnh bàn hoặc điểm cụ thể khác trên bàn làm việc của robot.
Trên FlexPendant, vào menu "File" (hoặc "Utilities" -> "File") và chọn "Backup".
Chọn nơi lưu trữ và đặt tên cho file backup.
Xác nhận và thực hiện backup.
Trên FlexPendant, vào menu "File" (hoặc "Utilities" -> "File") và chọn "Restore".
Chọn file backup cần khôi phục.
Xác nhận và thực hiện restore.
CÁC TẬP LỆNH LẬP TRÌNH DI CHUYỂN ROBOT
CÁC TẬP LỆNH CƠ BẢN CỦA ROBOT
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.
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.
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.
V100, z10, tool1 : giống với lệnh MoveL
Ví dụ 1: muốn vẽ đường tròn đường kính 200 từ p1 tới p2 ta dùng lệnh:
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.
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.
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.
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.
RelTool(p1,100,50,0\Rx:=0\Ry:=0 \Rz:%) : 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
Vẽ hình chữ nhật, kích thước là 100mm*50mm
Có thể dùng lệnh để xác định p1,p2,p3,p4.
Set signal; signal: tên của tín hiệu cần đƣợc đặt là 1, có kiểu dữ liệu: signaldo
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
Set tay_gap; !khi đó tín hiệu tay_gap sẽ đƣợc reset về 0.
[\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
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.
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
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”
Dùng để xóa màn hình trên FlexPendant.
TEST Test data {CASE Test value {, Test value} : } [ DEFAULT: ] 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.
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
FOR i FROM 10 TO 2 STEP -2 DO a{i} := a{i-1};
Giá trị của mảng sẽ đƣợc điều chỉnh lên a{10}:=a{9}, a{8}:=a{7}….
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 đó.
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.
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ụ 18: Lệnh gán “:=” đƣợc sử dụng để gán một giá trị cho biến.
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
CÁCH LẬP TRÌNH TRÊN FLEXPENDANT
Bước 1: Thực hiện lại bước 1 tới bước 4 ở bài tập chương1, đượ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:
(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).
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 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ẽ:
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:
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 sau đó chọn Add Instruction ở góc dưới nên trái của FlexPendant, sau đó chọn MoveJ:
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:
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:
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.
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.
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”. giải 1
Bước 1: Mở RobotStudio và Tạo Một Project Mới
Mở phần mềm RobotStudio trên máy tính của bạn.
Tạo một project mới và chọn loại robot mà bạn đang sử dụng.
Bước 2: Tạo Một Module Mới
Trên giao diện chính của RobotStudio, chọn "File" > "New" > "Module" để tạo một module mới. Đặt tên cho module, ví dụ: "DrawSquareModule", và nhấn "OK".
Bước 3: Mở Module và Bắt Đầu Viết Chương Trình
Trong module, bạn sẽ thấy hai phần: "Main" và "Module Data".
Mở "Main" để bắt đầu viết chương trình.
Viết mã chương trình sử dụng ngôn ngữ lập trình của RobotStudio (thường là RAPID).
Bạn có thể sử dụng ví dụ mã ở trên và điều chỉnh nó cho nhu cầu cụ thể của bạn Chương trình này sẽ di chuyển robot đến vị trí khởi đầu, vẽ hình vuông và hiển thị thông báo "Completed".
! Khai báo các biến và hằng số cần thiết
! Thiết lập vị trí khởi đầu của robot
PROC SetInitialPosition() initial_position := [0, 0, 0, 0, 0, 0] ! Cập nhật vị trí khởi đầu của robot ở đây
FOR i FROM 1 TO 5 DO ! Lặp lại 5 lần
! Di chuyển đến góc dưới bên trái của hình vuông target_position := initial_position
! Di chuyển theo từng cạnh của hình vuông
FOR j FROM 1 TO num_of_sides DO target_position := CalculateNextVertex(target_position, side_length)
! Hàm di chuyển đến vị trí mới
! Gửi lệnh điều khiển robot đến vị trí target
! Hàm tính toán vị trí của đỉnh tiếp theo của hình vuông
FUNC jointtarget CalculateNextVertex(current : jointtarget, length : REAL)
! Trả về vị trí của đỉnh tiếp theo dựa trên vị trí hiện tại và chiều dài cạnh
RETURN [current[1] + length, current[2], current[3], current[4], current[5], current[6]]
SetInitialPosition() ! Thiết lập vị trí khởi đầu
TPWrite "Completed" ! Hiển thị thông báo "Completed" lên FlexPendant
Bước 5: Kiểm Tra và Mô Phỏng
Kiểm tra mã của bạn để đảm bảo không có lỗi cú pháp.
Sử dụng tính năng mô phỏng trong RobotStudio để xem trước cách robot sẽ thực hiện các thao tác.
Khi bạn đã hoàn tất viết chương trình và kiểm tra, kết nối với robot thực tế (nếu bạn đang sử dụng môi trường thực hành).
Bước 7: Tải Chương Trình Vào Robot
Bước 1: Mở RobotStudio và Tạo Một Project Mới
Mở phần mềm RobotStudio trên máy tính của bạn.
Tạo một project mới và chọn loại robot mà bạn đang sử dụng.
Bước 2: Tạo Một Module Mới
Trên giao diện chính của RobotStudio, chọn "File" > "New" > "Module" để tạo một module mới. Đặt tên cho module, ví dụ: "DrawCircleModule", và nhấn "OK".
Bước 3: Mở Module và Bắt Đầu Viết Chương Trình
Trong module, bạn sẽ thấy hai phần: "Main" và "Module Data".
Mở "Main" để bắt đầu viết chương trình.
Sử dụng ngôn ngữ lập trình RAPID để viết mã chương trình Bạn có thể sử dụng ví dụ mã ở trên và điều chỉnh nó cho nhu cầu cụ thể của bạn.
! Khai báo các biến và hằng số cần thiết
CONST num_of_points := 100 ! Số điểm để xấp xỉ một đường tròn
CONST radius := 75 ! Bán kính của hình tròn
! Thiết lập vị trí khởi đầu của robot
PROC SetInitialPosition() initial_position := [0, 0, 0, 0, 0, 0] ! Cập nhật vị trí khởi đầu của robot ở đây
WHILE i < 3 DO ! Lặp lại 3 lần i := i + 1
! Di chuyển đến điểm đầu tiên của hình tròn target_position := initial_position
! Di chuyển theo đường tròn
FOR j FROM 1 TO num_of_points DO target_position := CalculateNextPoint(j, num_of_points, radius)
! Hàm di chuyển đến vị trí mới
! Gửi lệnh điều khiển robot đến vị trí target
! Hàm tính toán vị trí của điểm tiếp theo trên đường tròn
FUNC jointtarget CalculateNextPoint(current_point : REAL, total_points : REAL, radius : REAL)
! Tính toán góc của điểm tiếp theo angle := 2 * PI * (current_point / total_points)
! Tính toán tọa độ của điểm tiếp theo dựa trên góc và bán kính x := radius * cos(angle) y := radius * sin(angle)
! Trả về vị trí của điểm tiếp theo
SetInitialPosition() ! Thiết lập vị trí khởi đầu
TPWrite "Completed" ! Hiển thị thông báo "Completed" lên FlexPendant
Trong chương trình, bạn sẽ cần thiết lập vị trí ban đầu của robot, sau đó lặp lại việc vẽ hình tròn và di chuyển robot để vẽ hình tròn theo các điểm xấp xỉ.
Cuối cùng, bạn cũng cần thêm mã để hiển thị thông báo "Completed" trên FlexPendant.
Bước 5: Kiểm Tra và Mô Phỏng
Kiểm tra mã của bạn để đảm bảo không có lỗi cú pháp.
Sử dụng tính năng mô phỏng trong RobotStudio để xem trước cách robot sẽ thực hiện các thao tác.
Khi bạn đã hoàn tất viết chương trình và kiểm tra, kết nối với robot thực tế (nếu bạn đang sử dụng môi trường thực hành).
Bước 7: Tải Chương Trình Vào Robot
Tải chương trình vào robot và chạy nó để thực hiện các thao tác được lập trình.
Bước 8: Kiểm Tra Hiệu Suất và Điều Chỉnh (Nếu Cần)
Kiểm tra hiệu suất của robot khi thực hiện chương trình và điều chỉnh nếu cần thiết để đảm bảo hoạt động chính xác và ổn định.
CHƯƠNG TRÌNH CON VÀ KHỞI TẠO TÍN HIỆU TRONG ROBOT
CHƯƠNG TRÌNH CON TRONG ROBOT
1.CƠ BẢN VỀ LỆNH CHUƠ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 :
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.
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.
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 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:
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)
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.
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.
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. cũ 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
Bước 4: Điền đầy đủ các thông số cần thiết sau:
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.
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ũ.
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.
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
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.
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:
Bước 1 : Chọn công cụ Robot System trên thanh công cụ và chọn New System.
Bước 2 : Chọn loại Robot ở mục Robot Model.(ỈB 1410 5KG 1.44m) và nháy chọn Customize options
Bước 3 : Cài đặt thông số cho cánh tay (Chọn Change Options).
-Ở mục Industrial Networks chọn 888-3 PROFINET Device.
-Ở mục Motion Coordination chọn 604-1 MultiMove Coordinated.
-Ở mục Communication chọn 616-1 PC interface.
Bước 4 : Sau một thời gian chờ giao diện Select library hiện ra và chọn Robot IBR1410_5_144-G_01.
Bước 5: 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 AW Gun PSF 25:
Bước 6: Ở thanh công cụ Modeling chọn Solid và chọn đối tượng là Box hoặc vật thể tùy ý.
Bước 7: Cài đặt thông số cho đối tượng.
Bước 8: Lập trình bằng cách di chuyển tọa độ di chuyển xung quanh biên của đối tượng bằng tay.
Bước 9 : Lưu các tọa độ điểm sau khi di chuyển tại mục bằng cách nhấn vào Teach Target trên thanh công cụ, một điểm bất kì sẽ hiện ra ở wobj0 tại mục Paths&Targets,nhấp chuột phải vào điểm mới đó chọn Rename để đặt tên cho các điểm.
Lưu ý với lưu điểm hình tròn, lưu bằng cách di chuyển vào hình tròn rồi nhấn vào nó.Sau đó ở mục Path chọn AutoPath sau đó một khung AutoPath sẽ hiện ra rồi nháy chọn Circular.Di chuyển tọa độ sang các điểm cần lưu của hình tròn ( cụ thể là 4 điểm đối xứng xung quanh đó) rồi nhấn vào Create tại khung AutoPath.
Bước 10: Ở mục Paths&Targets nhấn chuột phải vào Path&Procedures và chọn Create Path để tạo ra các Module tương ứng để bỏ các điểm đã lưu vào bằng cách kéo thả các điểm đã lưu vào Module đó Ví dụ đưa các điểm đã lưu của 2 vật thể khối tròn và hình vuông vào 2 Module tròn vuông tương ứng.
Bước 11: Tại thanh công cụ chọn Synchronize chọn Synchronize to RAPID.Một giao điện sẽ hiện ra rồi nhấn tick vào WorkObject.
Bước 12: Nhấn đúp chuột vào các Module đã lưu điểm sẽ hiện ra đoạn Code vừa lập trình xong cho khối vật thể tương ứng.