bai tap lap trinh may cnc dung fx3u

Lập trình PLC Fx3u điều khiển 2 trục X Y dùng 2 driver step

Menu

Đề bài: Trong lập trình PLC Fx3u điều khiển 2 trục X Y dùng 2 driver step.
Có chế độ Man/Auto.
Khi nhấn bàn đạp thì trục Y từ dưới lên , đồng thời trục X từ phải chạy qua trái rồi quay về phải, trục Y cũng hạ xuống dưới và kết thúc hành trình. Chu kỳ tính theo trục X tại điểm Home là 0.
Trục Y chỉnh cao thấp bằng cơ, còn trục X thì có lấy tọa độ bằng tay trước để giới hạn khoản cách điểm đầu và cuối hành trình.
Mạch không dùng cảm biến ngoài. Chỉ dùng 2 driver , 1 bàn đạp, 1 PLC, 1 HMI.
Hãy phân tích và viết chương trình để chạy máy CNC này theo yêu cầu trên.

Trả lời: Chào bạn, với yêu cầu điều khiển 2 trục X-Y sử dụng PLC Mitsubishi FX3U không dùng cảm biến (Sensorless), chúng ta sẽ dựa hoàn toàn vào việc quản lý Vùng nhớ hiện tại (Current Value) của các lệnh phát xung tốc độ cao.

Vì không có cảm biến Home, máy phải được đưa về vị trí chuẩn bằng tay hoặc dùng chế độ Manual trước khi bắt đầu chu kỳ Auto.


1. Phân tích giải pháp kỹ thuật

  • Phần cứng: PLC FX3U (sử dụng chân Y0 cho trục X, Y1 cho trục Y để phát xung).

  • Chế độ Home: Do không có cảm biến, ta sẽ dùng chức năng Set tọa độ trên HMI. Khi người vận hành đưa máy về vị trí mong muốn là 0, nhấn nút “Set Home” trên HMI để nạp giá trị 0 vào thanh ghi dữ liệu hiện hành (D8140 cho Y0, D8142 cho Y1).

  • Hành trình: * Trục Y: Chạy theo kiểu ON/OFF vị trí (Lên -> Xuất lệnh -> Xuống).

    • Trục X: Di chuyển từ điểm đầu (A) đến điểm cuối (B) và quay lại A.

  • An toàn: Vì không có cảm biến hành trình, bạn phải giới hạn tọa độ bằng phần mềm (Soft Limit) để tránh motor va đập cơ khí.


2. Sơ đồ kết nối (Tham khảo)

  • X0: Bàn đạp (Pedal).

  • Y0: Pulse Trục X | Y4: Dir Trục X.

  • Y1: Pulse Trục Y | Y5: Dir Trục Y.

  • HMI: Kết nối qua cổng RS232/RS422 để nhập tọa độ và chọn chế độ.


3. Cấu trúc chương trình PLC (Ladder Logic)

A. Khởi tạo và thiết lập tọa độ (HMI)

Sử dụng các thanh ghi sau:

  • D100: Tọa độ điểm cuối trục X (được lấy bằng tay trước đó).

  • D102: Tốc độ trục X.

  • D104: Tốc độ trục Y.

  • D106: Tọa độ vị trí “Cao” của trục Y (nếu có, hoặc dùng khoảng cách cố định).

B. Chương trình Logic

Bước 1: Chế độ Manual (Dùng trên HMI)

Sử dụng các lệnh PLSR hoặc PLSY điều khiển các nút nhấn JOG X+, JOG X-, JOG Y+, JOG Y- để người vận hành lấy tọa độ.

Bước 2: Quy trình Auto (Sequence)

Sử dụng phương pháp Step Control (S) hoặc Thanh ghi trạng thái (D). Ở đây tôi dùng thanh ghi D200 để điều khiển bước:

  • Bước 0 (Chờ): Nhấn bàn đạp (X0) & Chế độ Auto đang bật -> Chuyển sang Bước 10.

  • Bước 10 (Trục Y lên): Phát xung Y1 để đưa trục Y lên vị trí làm việc. Xong chuyển sang Bước 20.

  • Bước 20 (Trục X chạy từ Phải qua Trái): Phát xung Y0 chạy đến tọa độ D100. Xong chuyển sang Bước 30.

  • Bước 30 (Trục X quay về Phải): Phát xung Y0 chạy về tọa độ 0. Xong chuyển sang Bước 40.

  • Bước 40 (Trục Y hạ xuống): Phát xung Y1 chạy về tọa độ 0. Chuyển về Bước 0 (Kết thúc).


4. Mã lệnh gợi ý (Instruction)

Dưới đây là đoạn mã mô phỏng quy trình chạy chính sử dụng lệnh DDRVA (Drive to Absolute – Chạy đến tọa độ tuyệt đối):

Đoạn mã

// 1. NHẤN BÀN ĐẠP BẮT ĐẦU CHU KỲ
LD X0
AND M10 (Chế độ Auto)
ANI M100 (Cờ đang chạy)
SET M100
MOV K10 D200 (Bắt đầu bước 10)

// 2. BƯỚC 10: TRỤC Y LÊN
LD= D200 K10
DDRVA K5000 D104 Y1 Y5 // Chạy lên 5000 xung (ví dụ)
LD M8029 (Lệnh hoàn thành)
AND= D200 K10
MOV K20 D200

// 3. BƯỚC 20: TRỤC X CHẠY QUA TRÁI (ĐẾN ĐIỂM GIỚI HẠN)
LD= D200 K20
DDRVA D100 D102 Y0 Y4 // D100 là tọa độ đã lấy tay
LD M8029
AND= D200 K20
MOV K30 D200

// 4. BƯỚC 30: TRỤC X QUAY VỀ PHẢI (VỀ 0)
LD= D200 K30
DDRVA K0 D102 Y0 Y4
LD M8029
AND= D200 K30
MOV K40 D200

// 5. BƯỚC 40: TRỤC Y HẠ XUỐNG (VỀ 0)
LD= D200 K40
DDRVA K0 D104 Y1 Y5
LD M8029
AND= D200 K40
RST M100
MOV K0 D200

5. Lưu ý quan trọng khi không dùng cảm biến

  1. Mất tọa độ: Vì không có cảm biến Home, nếu máy bị mất điện hoặc kẹt cơ khí trong khi chạy, PLC sẽ vẫn giữ giá trị cũ nhưng vị trí thực tế đã sai. Giải pháp: Luôn thiết kế nút “Set Home” trên HMI để Reset tọa độ về 0 trước khi chạy Auto mỗi ngày.

  2. Lệnh M8029: Đây là cờ báo hoàn thành các lệnh phát xung. Phải dùng nó để chuyển bước chính xác.

  3. Gia tốc: Khi dùng Driver Step, hãy thiết lập thời gian tăng/giảm tốc (Acceleration/Deceleration) phù hợp để tránh mất bước khi đảo chiều đột ngột.

Bạn có thể điều chỉnh giá trị D100 (Tọa độ giới hạn trục X) trực tiếp từ màn hình HMI sau khi thực hiện thao tác “dò” bằng tay ở chế độ Manual.

Bạn thấy bài giải này cần chỉnh sửa thêm đoạn nào để phù hợp hơn?

……………………………………………………………………………………………………………………….

Và đây là đoạn code mới nhưng chưa đầy đủ lắm, bạn bổ xung thêm nhé!

Đúng rồi bạn, để máy chạy chính xác và linh hoạt, chúng ta cần xác định cả Điểm đầu (A)Điểm cuối (B) cho trục X. Khi đó, hành trình làm việc sẽ là khoảng cách giữa A và B, thay vì mặc định bắt đầu từ 0.

Dưới đây là phương án cải tiến chương trình để quản lý hai điểm tọa độ này.

1. Thiết lập các thanh ghi dữ liệu (Data Register)

Chúng ta sẽ quy định các thanh ghi trên HMI như sau:

  • D100: Tọa độ điểm A (Vị trí bắt đầu hành trình X).

  • D102: Tọa độ điểm B (Vị trí kết thúc hành trình X).

  • D110: Tốc độ di chuyển trục X.

  • D112: Tốc độ di chuyển trục Y.

  • D114: Tọa độ điểm “Lên” của trục Y.

2. Cách lấy tọa độ A và B (Manual Setup)

Trên giao diện HMI, bạn tạo 2 nút nhấn:

  1. Nút “Lấy điểm A”: Khi dùng JOG đưa trục X đến vị trí bắt đầu, nhấn nút này -> PLC thực hiện lệnh DMOV D8140 D100 (Copy tọa độ hiện tại của Y0 vào D100).

  2. Nút “Lấy điểm B”: Đưa trục X đến vị trí kết thúc, nhấn nút này -> PLC thực hiện lệnh DMOV D8140 D102.

3. Chương trình PLC cải tiến (Auto Mode)

Quy trình logic sẽ thay đổi: Trục X sẽ di chuyển từ hiện tại về A -> Y lên -> X chạy từ A sang B -> X chạy từ B về A -> Y xuống.

Đoạn mã

// --- KHỞI ĐỘNG CHU KỲ (Bàn đạp X0) ---
LD X0
AND M10 (Chế độ Auto)
ANI M100 (Cờ đang bận)
SET M100
MOV K10 D200 // Nhảy vào bước 10

// --- BƯỚC 10: ĐƯA TRỤC X VỀ ĐIỂM A (Chuẩn bị) ---
LD= D200 K10
DDRVA D100 D110 Y0 Y4
LD M8029
AND= D200 K10
MOV K20 D200

// --- BƯỚC 20: TRỤC Y ĐI LÊN ---
LD= D200 K20
DDRVA D114 D112 Y1 Y5
LD M8029
AND= D200 K20
MOV K30 D200

// --- BƯỚC 30: TRỤC X CHẠY TỪ A SANG B ---
LD= D200 K30
DDRVA D102 D110 Y0 Y4
LD M8029
AND= D200 K30
MOV K40 D200

// --- BƯỚC 40: TRỤC X QUAY VỀ A (Đồng thời Y vẫn đang ở trên) ---
LD= D200 K40
DDRVA D100 D110 Y0 Y4
LD M8029
AND= D200 K40
MOV K50 D200

// --- BƯỚC 50: TRỤC Y HẠ XUỐNG (Về 0 hoặc vị trí chờ) ---
LD= D200 K50
DDRVA K0 D112 Y1 Y5
LD M8029
AND= D200 K50
RST M100     // Giải phóng cờ bận
MOV K0 D200  // Reset bước về 0

4. Các điểm cần lưu ý kỹ thuật

  1. Lệnh DDRVA (Drive to Absolute): Lệnh này rất quan trọng vì nó đưa trục đến đúng con số tọa độ ghi trong thanh ghi, bất kể nó đang đứng ở đâu. Điều này giúp bạn không bị nhầm lẫn về khoảng cách (relative).

  2. Tính toán hành trình: Nếu bạn muốn trục X chạy qua trái rồi quay về ngay, bạn chỉ cần đảm bảo tọa độ A > B (nếu chiều dương hướng sang phải) hoặc A < B (nếu chiều dương hướng sang trái). PLC sẽ tự động đảo chiều chân Y4 cho bạn.

  3. Tọa độ Trục Y: Nếu trục Y chỉnh cao thấp bằng cơ (như bạn nói ở yêu cầu trước), nhưng vẫn dùng Driver thì bạn nên đặt một khoảng chạy cố định (ví dụ 2000 xung) để đảm bảo đầu công cụ nhấc lên đủ cao trước khi trục X lao đi, tránh va quẹt vào phôi.

Với mô hình này, máy của bạn sẽ chạy cực kỳ linh hoạt vì có thể thay đổi phạm vi làm việc của trục X ngay trên màn hình mà không cần chỉnh sửa code PLC.

Hình minh họa điều khiển set tay cho vị trí trục X chạy trên Fx3s

CÁC BÀI VIẾT CÙNG CHỦ ĐỀ