Trong kỷ nguyên công nghiệp 4.0, lập trình PLC điều khiển servo đã trở thành kỹ năng cốt yếu của mọi kỹ sư tự động hóa. Động cơ Servo không chỉ đơn thuần là một động cơ quay; nó là một hệ thống truyền động chính xác cao, cho phép kiểm soát vị trí (Position), tốc độ (Velocity) và momen xoắn (Torque) thông qua cơ chế phản hồi vòng lặp kín (Closed-loop). Bài viết này sẽ đi sâu vào kỹ thuật phát xung tốc độ cao trên dòng PLC Mitsubishi FX Series — dòng PLC phổ biến nhất tại Việt Nam — để giúp bạn làm chủ quy trình điều khiển chuyển động từ cơ bản đến nâng cao.

Nguyên lý cốt lõi của lập trình PLC điều khiển servo

Để thực hiện việc lập trình PLC điều khiển servo, chúng ta cần hiểu rõ mối quan hệ giữa đại lượng vật lý và tín hiệu điện. PLC đóng vai trò là “bộ não” phát ra các chuỗi xung (Pulse Train Output – PTO). Tần số của chuỗi xung quy định tốc độ quay (Hz tương ứng với RPM), trong khi số lượng xung quy định góc quay hay vị trí của động cơ.

Hầu hết các bộ Driver Servo hiện nay (như dòng MR-J2S, MR-J4 của Mitsubishi hay các dòng Delta, Yaskawa) đều hỗ trợ phương thức điều khiển Pulse/Direction. Trong đó, một chân Header truyền xung (Pulse) và một chân khác xác định chiều quay (Direction – CW/CCW). Một yếu tố kỹ thuật then chốt mà kỹ sư thường bỏ qua là độ phân giải Encoder. Ví dụ, nếu Encoder có độ phân giải 131,072 xung/vòng, bạn phải phát đúng số lượng đó để trục động cơ quay đủ 360 độ. Việc nắm vững các thông số này là bước đầu tiên để đảm bảo tính chính xác trong bài toán vị trí.

Các chế độ vận hành chính trong điều khiển chuyển động

Tùy vào nhu cầu của máy móc, lập trình PLC điều khiển servo sẽ được cấu hình theo một trong ba chế độ chính:

  1. Điều khiển vị trí (Position Control): Được dùng phổ biến nhất trong các máy cắt bao bì, máy CNC hoặc cánh tay robot. Ở chế độ này, PLC tính toán số lượng xung cần thiết để đưa phôi đến vị trí chính xác với sai số micro-mét. Truyền thông PLC-Servo thường dùng lệnh DRVA (vị trí tuyệt đối) hoặc DRVI (vị trí tương đối).
  2. Điều khiển tốc độ (Speed Control): Ứng dụng trong các băng tải yêu cầu độ ổn định cao hoặc máy quay ly tâm. PLC sẽ điều chỉnh tần số xung liên tục để duy trì vận tốc không đổi dù tải trọng thay đổi.
  3. Điều khiển lực (Torque Control): Thường dùng trong các ứng dụng quấn/nhả cuộn (tôn, giấy, màng film) để duy trì lực căng ổn định. Ở chế độ này, Servo không quan tâm đến vị trí mà chỉ tập trung vào việc duy trì một momen xoắn định trước lên trục động cơ.

Sơ đồ đấu nối và lưu ý phần cứng quan trọng

Lỗi phổ biến nhất của người mới bắt đầu là sử dụng PLC ngõ ra Relay để phát xung. Bạn cần nhớ rằng: Lập trình PLC điều khiển servo chỉ thực hiện được trên các Model PLC có ngõ ra Transistor (ví dụ: FX1S-10MT, FX3U-16MT). Ngõ ra Relay có tốc độ đóng cắt rất chậm (khoảng vài chục Hz) và sẽ hỏng ngay lập tức nếu bạn cố phát xung tần số cao (vài chục kHz).

Sơ đồ đấu nối PLC Mitsubishi Fx1S với Driver Servo MR-J2S-ASơ đồ đấu nối PLC Mitsubishi Fx1S với Driver Servo MR-J2S-AHình 1: Sơ đồ đấu nối chi tiết giữa PLC Mitsubishi FX1S-10MT và Driver MR-J2S-A. Chú ý các chân Pulse (Y0) và Sign (Y1).

Khi đấu nối, bạn cần lắp thêm điện trở trở hạn dòng (thường là 2.2kΩ nếu dùng nguồn 24V) để bảo vệ ngõ vào của Driver Servo. Ngoài ra, việc nối chung cực âm (Common) giữa PLC và Servo Drive là bắt buộc để tín hiệu xung không bị nhiễu hoặc sai lệch.

Chi tiết sơ đồ ngõ ra PLC Mitsubishi dòng MTChi tiết sơ đồ ngõ ra PLC Mitsubishi dòng MTHình 2: Sơ đồ chân ngõ ra Transistor của PLC FX1S giúp thực hiện các lệnh phát xung tốc độ cao ổn định.

Chi tiết các lệnh phát xung trong PLC Mitsubishi FX

Để hiện thực hóa việc lập trình PLC điều khiển servo, Mitsubishi cung cấp một tập lệnh chuyển động (Motion Instructions) rất mạnh mẽ. Dưới đây là bốn lệnh quan trọng nhất mà bạn cần làm chủ:

Lệnh PLSY (Pulse Y)

Đây là lệnh phát xung cơ bản nhất, không có quá trình tăng/giảm tốc.

  • Cú pháp: [PLSY S1 S2 D]
  • Tham số: S1: Tần số (Hz), S2: Tổng số xung, D: Cổng phát xung (thường là Y0 hoặc Y1).
  • Ưu điểm: Đơn giản, dễ dùng cho các ứng dụng chạy tốc độ thấp hoặc tải nhẹ.
  • Nhược điểm: Do không có Ramp-up/Ramp-down, động cơ dễ bị giật (Mechanical Shock) khi khởi động hoặc dừng đột ngột ở tốc độ cao.

Lệnh PLSR (Pulse Ramp)

Cải tiến từ PLSY, lệnh này thêm tham số thời gian tăng giảm tốc, giúp hệ thống vận hành êm ái hơn.

  • Cú pháp: [PLSR S1 S2 S3 D]
  • Tham số: S1, S2, D giống PLSY, S3: Thời gian tăng/giảm tốc (ms).
  • Ghi chú: Sử dụng lệnh này là “Best Practice” cho các hệ thống robot cần sự bền bỉ cơ khí.

Lệnh DRVI (Drive Incremental)

Lệnh điều khiển vị trí tương đối. Động cơ sẽ di chuyển một khoảng tính từ vị trí hiện tại.

  • Cú pháp: [DRVI S1 S2 D1 D2]
  • Tham số: S1: Số lượng xung (có dấu +/- để xác định chiều), S2: Tần số, D1: Ngõ ra Pulse, D2: Ngõ ra Direction.

Lệnh DRVA (Drive Absolute)

Lệnh điều khiển vị trí tuyệt đối. Động cơ di chuyển đến một tọa độ xác định dựa trên điểm gốc (Home). Để dùng lệnh này hiệu quả trong lập trình PLC điều khiển servo, bạn phải thực hiện quy trình về gốc (Home Return) trước đó.

Hướng dẫn lập trình thực tế trên GX Developer

Để bắt đầu lập trình PLC điều khiển servo cho một ứng dụng thực tế, chúng ta sẽ thực hiện dự án điều khiển trục vít me chạy 25,000 xung với tần số 10kHz. Bạn thực hiện theo trình tự kỹ thuật sau:

Bước 1: Khởi tạo cấu hình hệ thống trên phần mềm GX Developer hoặc GX Works2. Chọn dòng CPU tương ứng (ví dụ FX1S hoặc FX3U).

Bước 2: Sử dụng thanh ghi dữ liệu để quản lý thông số. Thay vì viết cứng (Hard-code) giá trị vào lệnh, hãy dùng các thanh ghi D để dễ dàng điều chỉnh từ màn hình HMI.

  • D0: Lưu tần số phát xung (Tốc độ).
  • D1: Lưu số lượng xung cần phát (Vị trí).

Bước 3: Viết chương trình Ladder.

  • Chèn lệnh: LD X0 (Nút nhấn Start).
  • Chèn lệnh phát xung: OUT PLSY D0 D1 Y0.

Trong thực thực tế, khi lập trình PLC điều khiển servo, bạn nên thêm các cờ báo trạng thái. Ví dụ, trong PLC Mitsubishi, cờ M8029 sẽ ON khi lệnh phát xung hoàn thành. Bạn có thể tận dụng cờ này để kích hoạt bước tiếp theo trong chu kỳ máy.

Tính toán tỷ số truyền điện số (Electronic Gear Ratio)

Một rào cản lớn khi lập trình PLC điều khiển servo là giới hạn tần số phát xung của PLC. Các dòng PLC FX đời thực tế thường chỉ phát tối đa 100kHz. Nếu động cơ cần 131,072 xung để quay 1 vòng, và bạn muốn quay với tốc độ 3000 vòng/phút (50 vòng/giây), tần số yêu cầu sẽ là:
50 x 131,072 = 6,553,600 Hz (6.5 MHz) — Con số này vượt xa khả năng của PLC.

Giải pháp chính là thiết lập tham số Electronic Gear (CMX/CDV) trên Driver Servo. Bằng cách cài đặt tỷ số này, bạn có thể quy định: “Cứ 1 xung từ PLC gửi xuống, Servo sẽ hiểu là 10 hoặc 100 xung nội bộ”.

  • Công thức: $f_{PLC} = frac{v times P}{60} times frac{CDV}{CMX}$
  • Trong đó $v$ là tốc độ (vòng/phút), $P$ là số xung/vòng mặc định.
  • Việc tính toán sai tỷ số này sẽ dẫn đến sai lệch kích thước khi thực hiện lập trình PLC điều khiển servo cho các máy CNC hoặc máy cắt chính xác.

Kinh nghiệm thực chiến và xử lý sự cố (Troubleshooting)

Qua hơn 10 năm triển khai các dự án tự động hóa, tôi nhận thấy việc lập trình PLC điều khiển servo không chỉ dừng lại ở code mà còn nằm ở khả năng chống nhiễu và xử lý lỗi phần cứng.

  1. Hiện tượng nhiễu xung: Nếu bạn thấy Servo chạy không đúng vị trí (thường là sai số tích lũy), hãy kiểm tra dây tín hiệu xung. Bắt buộc sử dụng dây xoắn đôi có lớp bọc kim (Shielded Twisted Pair) và tiếp địa một đầu để triệt tiêu nhiễu điện từ (EMI) từ biến tần hoặc motor.
  2. Lỗi vượt giới hạn (Over-travel): Luôn lập trình ngắt cứng (Hardware Limit Switch) kết hợp với ngắt mềm trong PLC. Nếu cảm biến hành trình bị tác động, lệnh phát xung phải bị Stop ngay lập tức để bảo vệ cơ cấu cơ khí.
  3. Hết xung nhưng máy không dừng: Đây là lỗi Logic. Hãy kiểm tra xem bạn có đang dùng các lệnh không có chế độ tự ngắt hoặc bị chồng chéo vùng nhớ thanh ghi D hay không.
  4. Tối ưu thời gian quét (Scan Time): Trong các ứng dụng tốc độ cực cao, thời gian quét của PLC có thể ảnh hưởng đến độ trễ phản hồi. Hãy đặt các lệnh lập trình PLC điều khiển servo vào trong các chương trình con ngắt (Interrupt) nếu cần độ chính xác thời gian thực.

Ứng dụng thực tế và hướng phát triển

Kỹ thuật lập trình PLC điều khiển servo là nền tảng để chế tạo các loại máy móc phức tạp như:

  • Máy đóng gói nằm ngang (Flow wrap machine): Cần đồng bộ tốc độ băng tải và vị trí dao cắt qua mắt đọc Sensor (Mark sensor).
  • Hệ thống trục XY trong máy in 3D công nghiệp hoặc máy cắt Laser.
  • Cánh tay Robot Pick and Place lấy sản phẩm từ khuôn ép nhựa.

Ở mức độ chuyên gia, bạn không chỉ phát xung đơn thuần mà còn phải học cách sử dụng các module điều khiển vị trí chuyên dụng (như FX2N-1PG hoặc dòng QD75) và các chuẩn truyền thông tốc độ cao như SSCNET III/H hay EtherCAT để điều khiển hàng chục trục Servo cùng lúc với độ đồng bộ nano giây.

Lập trình PLC điều khiển servo là một kỹ năng khó nhưng mang lại giá trị cao trong nghề nghiệp. Bằng cách kết hợp giữa lý thuyết về xung số, tính toán Gear ratio và kinh nghiệm xử lý nhiễu thực tế, bạn hoàn toàn có thể làm chủ những hệ thống máy móc phức tạp nhất. Hãy bắt đầu bằng cách mô phỏng các lệnh đơn giản trên phần mềm trước khi kết nối trực tiếp với thiết bị thực để đảm bảo an toàn cho cả người và máy. Nếu bạn đang tìm kiếm giải pháp tối ưu cho hệ thống của mình, việc thấu hiểu tường tận catalog của từng dòng Driver chính là chìa khóa thành công.

Cập nhật lần cuối 02/03/2026 by Hiếu IT

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *