Lập trình cho Robot trong hệ thống CIM

Một phần của tài liệu Nghiên cứu đánh giá tính năng của hệ thống CIM (Trang 49)

1.7.1. Cơ sở lập trình cho robot, ngôn ngữ MCL II

1.7.1.1.Giới thiệu về ngôn ngữ MCL II

MCL (Manufacturing Control Language) là một ngôn ngữ lập trình đa chức năng dùng trong sản xuất, được tạo ra và phát triển để ứng dụng cho việc lập trình các thiết bị và các hệ thống tự động. Đây là một ngôn ngữ được tạo ra để hợp nhất

những yêu cầu phong phú về lập trình của người sử dụng ở nhiều cấp độ khác

nhau trong sản xuất công nghiệp. Với MCL người sử dụng có thể tạo ra từ những chương trình đơn giản điều khiển robot và các thiết bị phụ trợ đến những chương trình phức tạp để điều khiển các robot, thu thập dữ liệu, giao tiếp thông tin và xử lí các dữ liệu đó.

1.7.1.2. Mô tả các kiểu dữ liệu và các câu lệnh thường được sử dụng trong ngôn ngữ MCL II

Với phạm vi đề tài này, tôi chỉ giới thiệu ngắn gọn những kiểu dữ liệu và

những câu lệnh thường được sử dụng trong ngôn ngữ MCL để lập trình cho các

robot thực hiện các công việc nhất định theo mục đích của người sử dụng. Các kiểu dữ liệu:

Trong MCL sử dụng 3 kiểu dữ liệu thông dụng: Kiểu Integer (số nguyên),

kiểu String (xâu kí tự), và kiểu Point (điểm).

Kiểu Integer : Một biến có kiểu Integer, có thể là biến địa phương hay toàn cục, có giá trị nằm trong khoảng -2147483647 đến 2147483647.

Các toán tử dùng với kiểu Integer: ‘+’ : phép cộng

‘-’ : phép trừ ‘*’ : phép nhân ‘/’ : phép chia ‘^’ : luỹ thừa

Các toán tử so sánh dùng với kiểu Integer:

‘<>’: khác ‘>,<’ : lớn, bé hơn

Kiểu String : Một biến kiểu string là một xâu kí tự có độ dài tối đa là 255 kí tự, biến kiểu string cũng có thể là biến địa phơng hoặc biến toàn cục.

Các toán tử dùng với kiểu String: ‘+’ : phép cộng

Các toán tử so sánh dùng với kiểu String:

‘=’ : bằng

‘<>’: khác

Kiểu Point : Biến Point trong ngôn ngữ MCL có thể coi giống như biến bản ghi trong các ngôn ngữ lập trình cấu trúc thông thường như Pascal. Trong phần mềm quản lí robot các vị trí làm việc của robot được xác định là vị trí của các điểm và quá trình hoạt động của robot tương ứng với việc robot sẽ dịch chuyển từ điểm này đến điểm kia với toạ độ của các điểm đã được ghi nhớ trước. Như vậy thực chất giá trị của các biến Point ở đây là các thành phần toạ độ của một điểm đã được ghi nhớ.

Khai báo một biến Point có dạng MyPoint<X, Y, Z, pitch, roll>

Trong các chương trình lập trình cho robot thông thường ta thường sử dụng kiểu dữ liệu Point dưới dạng các mảng điểm để ghi nhớ các vị trí làm việc của robot tuỳ theo từng công việc một, mỗi công việc sẽ tương ứng với một mảng điểm riêng.

Ví d: Point Lathe [20] là khai báo một mảng có 20 phần tử điểm ứng với 20 vị trí làm việc của robot.

Các câu lệnh thường dùng

Lệnh ACCEL : Thay đổi gia tốc của robot Khai báo : ACCEL giá trị[trục]

Với giá trị ở đây là giá trị của gia tốc mà ta muốn đặt Trục: số hiệu của trục

Lệnh AND : Thực hiện phép logic and giữa 2 biểu thức Khai báo : (biểu thức 1) AND (biểu thức 2)

Lệnh AND thường được sử dụng kèm trong các câu lệnh if, while, repeat,nó chỉ trả về kết quả true nếu cả hai biểu thức đều đúng.

Lệnh OR : Thực hiện phép logic or giữa 2 biểu thức (adsbygoogle = window.adsbygoogle || []).push({});

Lệnh rẽ nhánh BRANCH : Chuyển điều khiển chương trình tới một nhãn cho sẵn.

Khai báo : BRANCH tên nhãn

Lệnh gọi chương trình con CALL : Chuyển điều khiển chương trình tới một

chương trình con cho sẵn.

Khai báo : CALL tên chương trình con

Lệnh CASE : Câu lệnh lựa chọn các trường hợp. Khai báo : SELECT [biểu thức lựa chọn] CASE biểu thức 1 THEN //Các câu lệnh CASE biểu thức 2 THEN //Các câu lệnh ... [OTHERWISE //Các câu lệnh ] ENDSELECT

Lệnh trễ thời gian DELAY : Dừng chương trình trong một khoảng thời gian

nhất định.

Khai báo : DELAY thời gian

Thời gian ở đây được tính theo 1/100 giây

Lệnh dừng chương trình END :thường được sử dụng ở cuối một chương trình

chính.

Lệnh FOR : Lệnh vòng lặp thực hiện một số lệnh với số lần hữu hạn Khai báo : FOR chỉ số bắt đầu TO chỉ số kết thúc [STEP giá trị] //Các câu lệnh

Trong đó, giá trị sau từ khoá STEP biểu thị khoảng tăng của chỉ số sau mỗi lần lặp, mặc định là 1.

Lệnh GOTO có chức năng tương tự câu lệnh rẽ nhánh BRANCH, chuyển

điều khiển chương trình tới một nhãn định trước.

Khai báo : GOTO tên nhãn

Lệnh kẹp chi tiết bằng hàm kẹp của robot GRASP

Khai báo : GRASP

Câu lệnh này thường đi kèm với lệnh nhả chi tiết ra RELEASE

Khai báo : RELEASE

Lệnh IF-ELSE : Được sử dụng để điều khiển rẽ nhánh chương trình

Khai báo : IF biểu thức THEN //Các câu lệnh

Lệnh PMOVE: Di chuyển robot từ điểm hiện tại đến điểm yêu cầu theo quỹ

đạo ngắn nhất.

Khai báo : PMOVE điểm

Lệnh TMOVE: Di chuyển robot từ điểm hiện tại đến điểm yêu cầu theo quỹ

đạo ngắn nhất và tiếp tục thực hiện chương trình mà không đợi cho đến khi robot kết thúc dịch chuyển.

Khai báo : TMOVE điểm

Lệnh MEASURE : cho phép trả về khoảng cách hiện tại giữa hai hàm kẹp (adsbygoogle = window.adsbygoogle || []).push({});

của robot.

Khai báo : MEASURE ()

Lệnh này thường được sử dụng dưới dạng dist = MEASURE () sau đó so

sánh dist với một giá trị yêu cầu để xem xem robot có kẹp được chi tiết hay không.

Lệnh lặp REPEAT : cho phép lặp lại một đoạn chương trình khi điều kiện

kiểm tra còn đúng.

Khai báo : REPEAT //Các câu lệnh UNTIL biểu thức

Lệnh SUB - RETURN : Bắt đầu và kết thúc một chương trình con, chuyển điều khiển chương trình về chương trình chính.

Khai báo :

SUB tên chương trình con

//

//Các câu lệnh thực hiện trong chương trình con

//

RETURN

Lệnh SPEED : Đặt tốc độ di chuyển cho robot Khai báo : SPEED giá trị tốc độ yêu cầu

Lệnh WAITI : dừng chương trình đợi một tín hiệu vào thay đổi đến một trạng thái đặt trước (On hoặc Off)

Khai báo : WAITI input number, giá trị

Trong đó input number là số hiệu đầu vào của tín hiệu đợi, giá trịcó thể là 1 (ứng với tín hiệu đầu vào On) hoặc 0 (ứng với tín hiệu đầu vào Off).

Lệnh WRITEO : Điều khiển bật tín hiệu ra đã định lên trạng thái On hoặc

Off và tiếp tục thực hiện dòng lệnh tiếp theo. Tín hiệu được xuất ra duy trì trạng thái ở đầu ra cho đến khi gặp câu lệnh WRITEO tiếp theo trong chương trình.

Lệnh WHILE : Thực hiện vòng lặp với một đoạn chương trình cho đến khi

điều kiện sai.

Khai báo : WHILE biểu thức //

//Các câu lệnh // WEND

Các lệnh XMOVE, YMOVE, ZMOVE : di chuyển theo các trục tương ứng một

khoảng nhất định.

Khai báo : XMOVE khoảng cách

Các lệnh XTLMOVE, YTLMOVE, ZTLMOVE : di chuyển theo các trục trong hệ

Khai báo : XTLMOVE khoảng cách

1.7.3. Các bước để lập trình một chương trình robot (adsbygoogle = window.adsbygoogle || []).push({});

Các bước lập trình sau đây cho ta một phương pháp thống nhất và hợp lý để lập bất cứ một chương trình ứng dụng của robot nào đặc biệt là những chương trình phức tạp. Sáu bước để lập trình một chương trình sau đây không chỉ giúp ta viết chương trình dễ dàng mà còn cung cấp cho người khác một hình ảnh cụ thể về ứng dụng đó.

1) Vẽ sơ đồ chung biểu diễn vị trí các robot, các thiết bị vào ra cũng như các kiểu tín hiệu vào ra của robot, vị trí phôi chi tiết.

2) Lập trình tự chung các thao tác dưới dạng là bản tóm tắt chung các bước để robot thực hiện, tuy nhiên ở bước này không cần mô tả chi tiết từng bước cụ thể robot sẽ làm gì.

3) Liệt kê danh sách các tín hiệu vào ra, danh sách này cần có tên, chức năng và kiểu tín hiệu vào ra cần thiết cho ứng dụng đang lập cũng như địa chỉ I/O đối với mỗi thiết bị. Đây là bước cho ta những mô tả chung cần thiết để lắp đặt tế bào gia công.

4) Lập tiến trình cụ thể của các thao tác, tiến trình này liệt kê từng bước tất cả các hoạt động hoặc các giao tiếp được tiến hành để robot thực hiện nhiệm vụ yêu cầu. Đây là sự chi tiết hoá trình tự chung của các thao tác.

5) Liệt kê danh sách các điểm, đây là các điểm cần để hoàn thành trình tự cụ thể của các thao tác, chức năng của mỗi điểm cũng cần được mô tả. Danh sách này cho phép ta dạy các điểm nhanh chóng và tham khảo chúng sau này, mỗi khi cần kiểm tra chương trình hoặc sửa đổi.

6) Viết chương trình, đây là bước cuối cùng sau khi đã có tất cả những sườn công việc đã lập ở trên. Thường chương trình được lập bằng cách viết các câu lệnh cho mỗi bước trình tự cụ thể của các thao tác trong bước 4. Nội dung của trình tự cụ thể của các thao tác sẽ trở thành những chú thich để giải thích mỗi câu lệnh trong chương trình.

1.8. Hệ thống Lắp Ráp tự động trong CIM 1.8.1. Khái niệm về hệ thống lắp ráp tự động 1.8.1. Khái niệm về hệ thống lắp ráp tự động

1.8.1.1. Khái niệm chung

Thông thường một sản phẩm cơ khí do nhiều chi tiết hợp thành. Những chi tiết máy đã được gia công đạt chất lượng ở phân xưởng cơ khí sẽ được lắp thành các bộ phận hay thiết bị hoàn chỉnh. Nếu quá trình gia công cơ khí là giai đoạn chủ yếu của quá trình sản xuất, thì quá trình lắp ráp là giai đoạn cuối của quá trình sản xuất ấy. Vì sau quá trình lắp ráp, sản phẩm đạt được chất lượng yêu cầu và vận hành ổn định thì quá trình sản xuất ấy mới có ý nghĩa, các sản phẩm cơ khí mới có tác dụng thiết thực cho nền kinh tế quốc dân.

Quá trình lắp ráp là 1 quá trình lao động kỹ thuật phức tạp. Mức độ phức tạp cũng như khối lượng lắp ráp có liên quan chặt chẽ tới quá trình công nghệ gia công cơ và cả quá trình thiết kế sản xuất. Gia công cơ các chi tiết máy có độ chính xác cao thì lắp ráp chúng càng nhanh, giảm được thời gian sửa chữa, điều chỉnh. Công nghệ lắp ráp phải đảm bảo những yêu cầu kỹ thuật khi nghiệm thu do bản thiết kế sản phẩm đề ra, phải đạt yêu cầu của các mối ghép, các chuỗi kiểm tra lắp ráp, đạt chính xác về truyền động. Vì vậy, khi có bản thiết kế hợp lý về kết cấu và sự hình thành chuỗi kiểm tra thì giảm được khối lượng lao động lắp ráp.

Mối quan hệ giữa khối lượng gia công và lắp ráp như sau: Trong dạng sản xuất hàng khối thì lao động lắp ráp chiếm từ 10 - 15% khối lượng lao động, trong sản xuất hàng loạt thì chiếm từ 20 - 35% và trong sản xuất đơn chiếc thì chiếm 30 - 45%.

Hệ thống lắp ráp tự động sử dụng các rôbốt công nghiệp, hệ thống băng tải, đồ gá vệ tinh, ... và được điều khiển bằng hệ thống máy tính. Do đó độ chính xác cao, năng suất cao, giá thành sản phẩm hạ, chất lượng sản phẩm tốt hơn lắp ráp thủ công.

1. Nguyên công lắp ráp

Nguyên công lắp ráp là một phần của quá trình lắp được hoàn thành đối với 1 bộ phận hay toàn bộ sản phẩm, tại một chỗ làm việc nhất định, do 1 nhóm các thiết bị (rôbốt, cơ cấu kẹp, định vị, đồ gá, băng tải, ...) thực hiện một cách liên tục. Ví dụ: lắp bánh răng, bánh đà lên trục hay lắp ráp máy bay, ...

2. Bước lắp ráp

Bước lắp ráp là 1 phần của nguyên công, được quy định bởi sự không thay đổi vị trí dụng cụ lắp. Ví dụ: lắp bánh đai lên đầu trục gồm các bước là, cạo sửa và lắp then lên trục, lắp bánh đai, lắp vít hãm.

3. Sơđồ lắp ráp

Trong 1 sản phẩm thường có nhiều bộ phận, mỗi bộ phận có nhiều cụm, mỗi cụm còn có thể chia thành nhiều nhóm. Mỗi nhóm gồm nhiều chi tiết hợp thành. Mỗi nhóm chia nhỏ đó được coi là 1 đơn vị lắp. Vậy đơn vị lắp có thể là 1 nhóm hay 1 cụm hoặc là 1 bộ phận của sản phẩm. Trong mỗi đơn vị lắp, ta tìm ra 1 chi tiết mà trong quá trình lắp ráp các chi tiết khác( có thể các nhóm, cụm, thậm chí các bộ phận máy) sẽ lắp lên nó. Chi tiết đó gọi là chi tiết cơ sở.

Sơ đồ lắp bắt đầu từ chi tiết cơ sở, rồi lắp các chi tiết khác lên chi tiết cơ sở

theo 1 thứ tự xác định. Như vậy, có những chi tiết được lắp thành các nhóm,

các cụm, sau đó lắp các nhóm, các cụm và những chi tiết độc lập khác lên chi tiết cơ sở tạo thành sản phẩm lắp hoàn chỉnh.

Hình 1.19. Sơđồ lắp ráp một sản phẩm. Khi lập sơđồ lắp cần chú ý các vấn đề sau:

Các đơn vị lắp không nên chênh lệch nhau quá lớn về số lượng chi tiết lắp,

lắp sẽ gần bằng nhau, tạo điều kiện nâng cao năng suất và tính đồng bộ khi lắp ráp dây chuyền.

Chọn đơn vị lắp sao cho khi lắp ráp thuận tiện nhất. Số chi tiết lắp trực tiếp lên chi tiết cơ sở càng ít càng tốt. Thiết kế quy trình lắp ráp hợp lý sẽ tránh được việc tháo ra, lắp vào nhiều lần trong quá trình lắp ráp.

Bộ phận nào cần kiểm tra khi lắp ráp nên tách thành đơn vị lắp ráp riêng để

kiểm tra dễ dàng, thuận tiện.

Quy trình công nghệ lắp ráp:

Nghiên cứu bản vẽ lắp chung sản phẩm, kiểm tra tính công nghệ trong lắp ráp. Nếu cần phải giải chuỗi kích thước lắp ráp, sửa đổi kết cấu để đạt tính công nghệ lắp cao. (adsbygoogle = window.adsbygoogle || []).push({});

Chọn phương pháp lắp ráp sản phẩm.

Lập sơ đồ lắp ráp.

Chọn hình thức tổ chức lắp ráp, lập quy trình công nghệ lắp.

Xác định nội dung công việc cho từng nguyên công và bước lắp ráp.

Xác định điều kiện kỹ thuật cho các mối lắp, bộ phận hay cụm lắp.

Xác định chỉ tiêu kỹ thuật, thời gian cho từng nguyên công. Tính toán, so sánh phương án lắp về mặt kinh tế.

1.8.2. Cấu trúc của hệ thống lắp ráp tự động

Hệ thống lắp ráp tự động trên cơ sở sử dụng mạng máy tính công nghiệp và bộ điều khiển, các rôbốt công nghiệp, hệ thống băng tải, đồ gá, mỏ vít xoắn tự động, các dụng cụ đo kiểm, các thiết bị dầu ép, khí ép, ... để nâng cao năng suất và chất lượng lắp ráp, giảm nhẹ lao động thủ công.

a. Rôbốt: Có nhiệm vụ cấp các chi tiết(sản phẩm) từ kho chứa đến hệ thống

băng tải. Băng tải sẽ vận chuyển các chi tiết đến vị trí trước các trạm lắp ghép xác định. Sau đó rôbốt tiếp tục gắp chi tiết (sản phẩm) tới các trạm để thực hiện các nguyên công lắp ráp cần thiết. Sau khi đã thực hiện xong các nguyên công lắp ráp, chi tiết lại được rôbốt gắp về băng tải để vận chuyển về kho chứa thành phẩm. Chất lượng lắp ráp phụ thuộc vào độ chính xác của rôbốt, độ chính xác của đồ gá tại các

trạm lắp ráp và độ chính xác của chi tiết. Ngoài ra rôbốt còn có nhiệm vụ gắp các mỏ vít xoắn tự động để thực hiện việc vặn vít trong các mối ghép ren, vít, ... Cũng có thể mỏ vít tự động được thiết kế như tay rôbốt để linh hoạt cho việc lắp ghép các chi tiết có kết cấu phức tạp.

b. Hệ thống băng tải: Có nhiệm vụ vận chuyển các chi tiết(sản phẩm) mà

rôbốt đã cấp cho tới trước các trạm lắp ráp và chờ sẵn ở đó. Hệ thống băng tải có thể vận chuyển liên tục các chi tiết cần lắp ráp tới vị trí yêu cầu, do đó tăng năng suất công việc.

c. Đồ gá trên các trạm lắp ráp: Đảm bảo cho việc định vị và kẹp chặt chi tiết trong quá trình rôbốt thực hiện các nguyên công lắp ráp của mình. Có thể sử dụng

Một phần của tài liệu Nghiên cứu đánh giá tính năng của hệ thống CIM (Trang 49)