Giải thuật truyền thông giữa IPC và PLC

Một phần của tài liệu Nghiên cứu thiết kế hệ điều khiển plc cho quá trình thay dao máy cnc mazak vqc 2050a (Trang 52)

Việc cấu hình truyền thông giữa IPC và PLC vô cùng quan trọng, điều này trực tiếp ảnh hưởng chất lượng điều khiển của hệ thống (truyền thông sử dụng giao thức Hostlink).

Hostlink là một giao thức mạng được phát triển bởi Omron, nó được dùng để kết nối nhiều plc omron với nhau hay giữa plc với máy tính thông qua RS232 hoặc RS 422.Các khối lệnh C-mode được máy tính gửi tới PLC và PLC sẽ gửi đáp ứng về máy tính. Từ đó máy tính có thể đọc và ghi liên tục tới các vùng nhớ của PLC.

Hình 3.4. Truyền thông giữa máy tính và PLC

Cấu hình phần cứng

Chuẩn giao tiếp RS232 được sử dụng trong hệ thống này. Sơ đồ kết nối được thể hiện như Hình 3.5.

Hình 3.5. Cấu hình phần cứng giao thức truyền thông Hostlink

Riêng đối với cổng RS-232C của PLC ta cần phải thiết lập cấu hình. Sử dụng phần mềm CX-program để thiết lập cấu hình cho cổng RS-232C của PLC như hình dưới.

49

Hình 3.6. Cấu hình cổng RS -232C cho PLC

Phần mềm dùng để lập trình viết giao diện được sử dụng trên máy tính là Visual studio 2010. Ngôn ngữ C# được dùng để lập trình truyền thông tới PLC. Bằng cách sử dụng thư viện C-mode ta có thể đọc ghi liên tục tới PLC một cách dễ dàng.

3.3. Thuật toán chƣơng trình thay dao trên IPC

Chương trình thay dao được chia làm hai chương trình con: - Chương trình thay dao tự động

- Chương trình thay dao bằng tay.

Quá trình thay dao tự động được thực hiện bằng cách nhập mã lệnh thay dao Tx M6 vào cửa sổ soạn thảo chương trình ( x là số thứ tự dao: từ 1 đến 15, x=0 được hiểu là trả dao lại vị trí cũ). Còn quá trình thay dao bằng tay được thực hiện hoàn toàn bằng các phím cứng trên hệ thống, IPC chỉ kiểm soát thông qua các thanh ghi mà không có tác động trực tiếp trong quá trình này. Hình 3.7 mô tả cấu trúc chương trình thay dao.

Đối với chương trình thay dao bằng tay, IPC kiểm soát hệ thống bằng bit 4 trên thanh ghi Commad_PLC. Bit này chỉ được bật khi IPC xác nhận chế độ làm việc hiện tại nằm trong chế độ JOG. Giải thuật này được xác định bằng một biến toàn cục của hệ thống mà phần này không nằm trong chương trình thay dao. Do đó,

50

phần lớn chương trình thay dao bằng tay được thực hiện trên PLC với các hàm con cơ bản.

Hình 3.7. Cấu trúc phần mềm thay dao

3.3.1. Thuật toán chương trình thay dao tự động

51

Thuật toán chương trình thay dao tự động được mô tả dưới dạng lưu đồ thuật toán của phần mềm được viết trên IPC. Toàn bộ chương trình PLC đều viết dưới dạng hàm con với giải thuật riêng cho từng nhiệm vụ.

Về mặt cấu trúc chương trình, chương trình sẽ được tổ chức tương ứng với 3 trường hợp thay dao được đề cập như trong chương 2. Cấu trúc chương trình được mô tả như trong Hình 3.8.

Các chương trình thay dao 1,2 và 3 tương ứng với các trường hợp thay dao đã đề cập trong chương 2. Từ cấu trúc chương trình trên ta bắt đầu xây dựng thuật toán cho từng chương trình con.

a) Thuật toán xác định điều kiện vào cho chương trình

Thuật toán này sử dụng nhằm mục đích rẽ nhánh chương trình. Các điều kiện đầu của thuật toán bao gồm:

- Trạng thái của đài dao - Mã lệnh đầu vào

Mô tả thuật toán như sau:

 Nếu trạng thái dao đang kẹp và

- x=0: có nghĩa là trả hàm thay dao trong trường hợp 3. - x0: có nghĩa là thay dao trong trường hợp 1

52

 Nếu trạng thái dao không kẹp và - x=0 : báo lỗi không có dao

- x0: có nghĩa là thay dao trong trường hợp 2. Lưu đồ thuật toán như hình 3.9

b) Thuật toán thay dao cho trường hợp có dao trên đài và trục chính.

Thuật toán thực hiện việc thay dao với các dữ liệu đầu vào là mã dao được chọn và mã dao hiện tại. Thuật toán được mô tả như sau:

Bước 1: Đưa đài dao về tọa độ O(Y0,Z0).

Bước 2: Kiểm tra vị trí đài dao có trùng với vị trí của dao hiện tại.

Nếu trùng thực hiện tiếp bước 5, nếu không xác định chiều quay đài dao bằng công thức:

|Tcr-T|>|15-T|+Tcr ?

Trong đó T là dao đang được gắn trên trục chính.

Bước 3: xoay đài dao theo chiều đã xác định bằng cách chuyển lệnh vào thanh ghi Commad_PLC như trong Bảng 3.6.

Bước 4: kiểm tra mã dao thông qua thanh ghi Status_PLC như trong Bảng 3.5 cho đến khi Tcr=T.

Bước 5: kiểm tra trạng thái dao trên đài dao, nếu tồn tại dao đang có trên đài dao báo lỗi.

Bước 6: di chuyển trục chính theo hành trình bằng các lệnh move.

'

t t t

O C C Bước 7: nhả kẹp dao.

Bước 8: di chuyển trục chính theo hành trình bằng các lệnh move.

''

t t t

C C H

Bước 9: Xác định chiều quay của dao bằng công thức:

|Tcr-Tc|>|15-Tc|+Tcr ?

Trong đó Tcr là mã dao hiện tại và Tc là mã dao cần gọi.

Bước 10: xoay đài dao theo chiều đã xác định bằng cách chuyển lệnh vào thanh ghi Commad_PLC như trong Bảng 3.6

Bước 11: kiểm tra mã dao thông qua thanh ghi Status_PLC như trong Bảng 3.5 cho đến khi Tcr=Tc.

53 ''

t t t

H C C Bước 13: kẹp dao.

Bước 14: di chuyển trục chính theo hành trình bằng các lệnh move.

'

t t t

C C O Bước 15: Kết thúc.

Lưu đồ thuật toán được trình bày như hình 3.10. Trong đó các hàm move được cung cấp bởi các hàm chức năng điều khiển trục.

c) Thuật toán thay dao cho trường hợp không có dao trên trục chính.

Thuật toán thực hiện việc thay dao với các dữ liệu đầu vào là mã dao được chọn và mã dao hiện tại. Thuật toán được mô tả như sau:

Bước 1: Đưa đài dao về tọa độ O(Y0,Z0).

Bước 2: Xác định chiều quay của dao bằng công thức:

|Tcr-Tc|>|15-Tc|+Tcr ?

Trong đó Tcr là mã dao hiện tại và Tc là mã dao cần gọi.

Bước 3: xoay đài dao theo chiều đã xác định bằng cách chuyển lệnh vào thanh ghi Commad_PLC như trong Bảng 3.6

Bước 4: kiểm tra mã dao thông qua thanh ghi Status_PLC như trong Bảng 3.5 cho đến khi Tcr=Tc.

Bước 5: kiểm tra có dao hay không trên đài. Nếu không trả về vị trí O và báo lỗi.

Bước 6: di chuyển trục chính theo hành trình bằng các lệnh move.

''

t t t t

O H C C

Bước 7: kẹp dao.

Bước 8: di chuyển trục chính theo hành trình bằng các lệnh move.

'

t t t

C C O Bước 9: Kết thúc.

54

55

56

d) Thuật toán thay dao cho trường hợp trả dao về đài dao.

Thuật toán thực hiện việc thay dao với các dữ liệu đầu vào là mã dao được chọn và mã dao hiện tại. Thuật toán được mô tả như sau:

Bước 1: Đưa đài dao về tọa độ O(Y0,Z0).

Bước 2: kiểm tra vị trí đài dao có trùng với vị trí của dao hiện tại.

Nếu trùng thực hiện tiếp bước 5, nếu không xác định chiều quay đài dao bằng công thức:

|Tcr-T|>|15-T|+Tcr ?

Trong đó T là dao đang được gắn trên trục chính.

Bước 3: xoay đài dao theo chiều đã xác định bằng cách chuyển lệnh vào thanh ghi Commad_PLC như trong Bảng 3.5

Bước 4: kiểm tra mã dao thông qua thanh ghi Status_PLC như trong Bảng 3.5 cho đến khi Tcr=T.

Bước 5: kiểm tra trạng thái dao trên đài dao, nếu tồn tại dao đang có trên đài dao báo lỗi.

Bước 6: di chuyển trục chính theo hành trình bằng các lệnh move.

'

t t t

O C C Bước 7: nhả kẹp dao.

Bước 8: di chuyển trục chính theo hành trình bằng các lệnh move.

'' t t t C C H t t H O Bước 9: Kết thúc.

57

58

3.3.2. Thuật toán chương trình bằng tay

Vai trò của IPC trong trường hợp thay dao bằng tay tương đối đơn giản, về cơ bản chỉ nhằm mục đích kiếm soát các biến đầu vào/ra phục vụ cho việc điều khiển. Mọi hành động được thực hiện trực tiếp trên PLC. IPC chỉ can thiệp duy nhất là điều khiển bít 4 thanh ghi Command_PLC cho phép thực hiện ở chế độ JOG, lệnh này được IPC gửi xuống khi chương trình chuyển chế độ làm việc.

3.4. Thuật toán chƣơng trình thay dao trên PLC

Thuật toán chương trình thay dao trên PLC về cơ bản nhằm mục đích thực hiện các lệnh từ IPC, về mặt thuật toán tương đối đơn giàn. Các nhiệm vụ ấy bao gồm:

- Xoay đài dao theo chiều kim đồng hồ 1 bước - Xoay đài dao ngược chiều kim đồng hồ 1 bước - Kẹp dao

- Nhả dao

- Kiểm soát các điều kiện biên

3.4.1. Các điều kiện biên đảm bảo an toàn cho quá trình vận hành

Các điều kiện biên cho quá trình vận hành bao gồm các yếu tố sau:

- Khi dao tồn tại trên đài dao, không được phép can thiệp vào quá trình thay dao bằng các nút nhấn cơ học

- Khi không có dao trong hốc thì không được kẹp dao.

3.4.2. Các thuật toán trên PLC

a) Chương trình điều khiển đài dao xoay thuận

Mô tả chương trình: khi nhận dữ liệu từ IPC thanh ghi chứa các biến điều khiển thực hiện tác động đến cuộn hút của động cơ thủy lực. khi cảm biến phát hiện đúng vị trí dao tác động cuộn hút mất điện và giữ dao đứng nguyên ở vị trí đó.

D2.1 là tín hiệu của thanh ghi tương ứng với thanh ghi Commad_PLC của IPC, khi cần quay thuận, IPC sẽ truyền vào thanh ghi Commad_PLC giá trị như trong

Bảng 3.3 giá trị này tương ứng set bit D2.1 trên PLC cấp điện cho đầu ra Y.01 cấp điện cho hệ thống. X.11 là cảm biến đúng vị trí dao sẽ tác động khi dao đến đúng vị trí. Khi X.11 tác động, đầu ra Y.01 mất làm cuộn hút mất tác động đài dao ngừng quay.

59

Hình 3.10. Nguyên lý điều khiển đài dao quay thuận b) Chương trình điều khiển đài dao xoay ngược

Mô tả chương trình: Tương tự như chương trình điều khiển đài dao xoay thuận, nguyên tắc hoạt động của chương trình điều khiển dao chạy ngược cũng như vậy, chỉ khác là biến tác động là D2.1 và biến đầu ra là Y.02 ( đầu ra điều khiển cuộn chạy ngược).

Hình 3.11. Nguyên lý điều khiển đài dao xoay nghịch

Tuy nhiên, trong chế thay dao bằng tay, việc lựa chọn đài dao được thực hiện bằng cách nhấn nút ấn ngoài có địa chỉ là X.10 tương ứng. Ngoài ra, việc nhấn nút còn được kiểm soát bởi tín hiệu D2.4 từ thanh ghi trong của PLC, thanh ghi này kiểm soát việc nhấn nút ngoài ý muốn và do IPC ra lệnh, chỉ trong chế độ JOG bit này mới được set bằng 1.

c) Chương trình kẹp/nhả dao

Chương trình nhả kẹp dao điều khiển hai cuộn hút qua tín hiệu Y.03 và Y.04, đồng thời trong quá trình thay dao bằng tay, hai tín hiệu từ bàn đạp kẹp nhả dao cũng có tác dụng.

60

Hình 3.12. Nguyên lý điều khiển nhả/kẹp dao

3.5. Thuật toán kiểm soát lỗi quá thời gian thay dao (Request timeout)

Như đã trình bày trong phần 2, các công thức (2-9) và (2-10) cho phép tính toán thời gian mà một chu trình thay dao được thực hiện. Các lỗi phát sinh trong quá trình thay dao rất khó kiểm soát như lỗi dầu không đủ áp, lỗi bơm thủy lực, động cơ thủy lực không làm việc hoặc làm việc không đúng, lỗi cảm biến… sẽ gây ra tình trạng thay dao không chính xác. Do đó, cần xét thêm điều kiện thời gian khi mà một chu trình không làm việc đúng sẽ dừng.

61

Thuật toán này sẽ tự động tính toán thời gian thay dao dự kiến và so sánh với thời gian thực tế. Khi thời gian thay dao thực tế lớn hơn thời gian thay dao dự kiến mà quá trình vẫn chưa kết thúc, hệ thống sẽ báo lỗi thay dao: request timeout. Thuật toán được thực hiện như Hình 3.13. Nhờ vào tính linh hoạt của thuật toán này mà hệ thống có độ an toàn cao hơn.

Kết luận: chương trình làm việc được thực hiện tương đối ổn định, kết quả làm việc tốt

62

Chƣơng 4. KẾT QUẢ THỰC HIỆN 4.1. Tổng quan máy phay CNC Mazak VQC 20/50a

Máy phay Mazak VQC 20/50a là máy phay 3 trục, với kiểu thay dao đài xoay. Việc thay dao được kết hợp giữa điều khiển trục và hệ thống thủy lực. Hình 4.1 mô tả hệ thống CNC trong thực tế.

Hình 4.1. Máy phay CNC Mazak VQC 20/50a trong thực tế

Hệ thống dùng PLC công nghiệp của hãng Omron CJ1M CPU 13 thông dụng.

63

4.2. Các điểm làm việc cơ bản của quá trình thay dao

Có 3 điểm làm việc cơ bản là diểm Ct, Ht, Ot ngoài ra còn có các điểm làm việc phụ phục vụ cho quá trình thay đổi tốc độ là điểm C’t và C’’t. Tọa độ của các điểm lần lượt như sau:

(0, 0, 0) (0, 300,250) (0, 300, 000) t t t O H C ' " (0, 300,100) (0,200, 0) t t C C

Hình 4.3. Các điểm công tác đặc biệt

Khi có lệnh thay dao, dù đang ở bất cứ vị trí công tác nào trong không gian máy, hệ thống sẽ tự động hồi về vị trí Ot, cũng chính là điểm gốc 0 của bàn máy. Trong quá trình làm việc điểm này có thể thay đổi nhưng không đáng kể, khi mở máy hệ thống sẽ tự động quay về mốc 0 trước khi tiến hành ca sản xuất mới.

64

4.3. Các bƣớc thực hiện

Bước 1: Khởi động phần mềm trên máy tính IPC.

Bước 2: nhập thông số vận tốc v1 và v0

65 Bước 4: Theo dõi kết quả trên màn hình

4.3. Kết quả thực hiện

Các thông số đầu vào cho hệ thống bao gồm tốc độ v1, tốc độ v0, khoảng cách tọa độ của các điểm sử dụng trong mục 4.2. ta có bảng thông số tính toán như sau:

STT Thông số Giá trị 1 Tốc độ v0 1500mm/phut 2 Tốc độ v1 800mm/phut 3 Yo 0 4 Zo 0 5 Yc 300 6 Zc 0 7 Yh 300 8 Zh 250 9 Yc’ 300 10 Zc’ 100 11 Yc” 200 12 Zc” 0 13 tt 1s

Kết quả thực hiện với từng trường hợp thay dao:

Bảng 4.1. Kết quả thực hiện với trường hợp thay dao thứ nhất

STT Hành trình Thời gian

1 Ot-Ct 12 s

2 Xoay đài dao 4 s

3 Ct-Ht 5 s

4 Xoay đài dao 7s

5 Ht-Ct 5 s

66

Bảng 4.2. Kết quả thực hiện với trường hợp thay dao thứ hai

STT Hành trình Thời gian

1 Ot-Ct 12 s

2 Xoay đài dao 5 s

3 Ct-Ht 5s

4 Xoay đài dao 6s

5 Ht-Ct 5s

6 Ct-Ot 12s

Bảng 4.3. Kết quả thực hiện với trường hợp thay dao thứ ba

STT Hành trình Thời gian

1 Ot-Ct 12s

2 Xoay đài dao 7s

3 Ct-Ht 5s

4 Xoay đài dao 4s

5 Ht-Ct 5s

6 Ct-Ot 12s

Sử dụng công thức trong mục 2.4.3. để tính toán thời gian thay dao theo lý thuyết, và so sánh với thời gian thực hiện trên thực tế.

Với thời gian tt = 1s, ta có thời gian thay tối đa theo công thức (2-9) và (2-10) là:

- Cho trường hợp 1: T = 45s - Cho trường hợp 2: T = 42s Thời gian chạy thực tế:

- Cho trường hợp 1: T = 48s - Cho trường hợp 2: T= 45s

67

KẾT LUẬN VÀ KIẾN NGHỊ Kết luận

Trong luận văn đã nghiên cứu và thực nghiệm quá trình thay dao cho máy

Một phần của tài liệu Nghiên cứu thiết kế hệ điều khiển plc cho quá trình thay dao máy cnc mazak vqc 2050a (Trang 52)

Tải bản đầy đủ (PDF)

(78 trang)