Lập trình PLC Fatek các lệnh chuyên sâu trên máy thực tế

Các tiêu đề chính

Lập trình các lệnh chuyên sâu (Advanced Instructions) trên PLC Fatek đòi hỏi bạn phải nắm vững cách quản lý vùng nhớ và cấu trúc tập lệnh hàm (Function Instructions). Khác với các lệnh cơ bản như On/Off cuộn dây, tập lệnh chuyên sâu của Fatek được ký hiệu bằng số hiệu hàm (FN xx) và chia thành nhiều nhóm chức năng.

Dưới đây là các nhóm lệnh chuyên sâu cốt lõi thường dùng nhất trên các máy móc thực tế (như máy đóng gói, băng tải phân loại, hệ thống khuấy nhiệt…) kèm theo cách tối ưu hóa khi lập trình.

1. Nhóm lệnh Xử lý Số liệu & Toán học Chuyên sâu

Khi làm việc với cảm biến áp suất, nhiệt độ (Analog) hoặc tính toán công thức, bạn không thể chỉ dùng các lệnh cộng trừ đơn giản.

  • FN 32 (ADCP) – Cộng tuyến tính nhiều vùng nhớ: Cho phép cộng một mảng dữ liệu liên tiếp chỉ bằng một dòng lệnh, rất hữu ích khi bạn cần tính trung bình cộng toán học để lọc nhiễu tín hiệu Analog.

  • FN 34 (MLP) – Nhân ma trận / Nhân chuỗi vùng nhớ: Dùng trong các thuật toán điều khiển phức tạp hoặc khi cần tính toán ma trận trạng thái máy.

  • FN 67 (SQR) – Khai căn bậc hai: Thường dùng trong việc tính toán lưu lượng chất lỏng dựa trên chênh lệch áp suất (Differential Pressure).

  • Sử dụng số Thực (Floating Point): Các lệnh có tiền tố F (nhứ FADD – FN 120, FSUB – FN 121) giúp xử lý các phép tính có dấu phẩy thập phân, giữ độ chính xác cao cho máy sản xuất.

2. Nhóm lệnh Dịch chuyển & Quản lý Mảng Dữ liệu (Bảng)

Trên các hệ thống băng tải phân loại sản phẩm (Sorting System) hoặc dây chuyền FIFO (Vào trước – Ra trước), nhóm lệnh này là “xương sống” để theo dõi vị trí lỗi hoặc phân loại hàng hóa.

  • FN 45 (BSFR) – Dịch chuyển mảng Bit (Bit Shift Register): Dịch chuyển trạng thái On/Off qua một chuỗi các ô nhớ. Ví dụ: Cảm biến phát hiện chai lỗi ở vị trí A, khi băng tải chạy qua 5 vị trí nữa đến vị trí B (Cơ cấu loại bỏ), lệnh BSFR sẽ dịch bit “Lỗi” này theo từng xung của Encoder để kích hoạt xylanh gạt chính xác chai lỗi đó.

  • FN 48 (FIFO) – Ghi/Đọc dữ liệu theo thứ tự: Tạo một vùng đệm dữ liệu. Sản phẩm nào chạy vào quy trình trước sẽ được lưu thông tin trước và xuất dữ liệu ra trước khi hoàn thành.

  • FN 49 (LIFO) – Vào sau – Ra trước: Thường dùng trong các kho chứa thông minh dạng xếp chồng (Stacking).

3. Nhóm lệnh Điều khiển Xung Tốc độ cao (HSC & PTO)

Đây là phần ứng dụng nhiều nhất trong các máy tự động hóa có sử dụng động cơ Servo hoặc Step để điều khiển vị trí, cắt bao bì, bám vị trí.

  • FN 140 (HSCTR) – Điều khiển Bộ đếm tốc độ cao: Dùng để đọc tín hiệu từ Encoder (vòng quay động cơ, thước đo) mà các lệnh đếm (Counter) thông thường không thể bắt kịp vì giới hạn thời gian quét (Scan time) của PLC.

  • FN 141 (MPG) – Chạy theo tay quay phát xung: Đồng bộ tốc độ của trục Servo theo một nguồn phát xung bên ngoài.

  • FN 147 (ZRN) – Dò điểm gốc (Home Return): Lệnh chuyên dụng đưa trục máy (Servo/Step) về vị trí 0 chuẩn ban đầu khi vừa khởi động máy. Lệnh này tích hợp sẵn các giai đoạn giảm tốc khi gặp cảm biến cận Home và dừng chính xác tại điểm Mark.

  • FN 148 (PTS) – Xuất xung theo bảng thông số (Multi-segment PTO): Cho phép bạn định nghĩa một biên dạng chạy (Profile) gồm nhiều cấp tốc độ: Khởi động -> Tăng tốc -> Chạy đều -> Giảm tốc -> Dừng. Giúp máy vận hành êm ái, không bị giật cơ khí.

4. Nhóm lệnh Điều khiển PID (FN 86 – PID)

Dùng cho các ứng dụng duy trì nhiệt độ vỉ nhiệt (máy đóng gói), điều khiển áp suất đường ống (biến tần bơm), hoặc ổn định lực căng (thu xả cuộn).

Lưu ý đặc biệt khi dùng lệnh PID trên Fatek:

Lệnh PID của Fatek yêu cầu một “Bảng tham số” (Parameter Table) chiếm 9 ô nhớ liên tiếp (ví dụ từ R1000 đến R1008). Bạn phải nạp các giá trị như: Điểm cài đặt (PV), giá trị hiện tại (SV), hệ số $K_p$, $K_i$, $K_d$ vào bảng này trước khi kích hoạt lệnh.

Kỹ thuật Lập trình Thực chiến tối ưu trên phần mềm WinProladder

Khi đưa các lệnh chuyên sâu này vào máy thực tế, bạn nên áp dụng 3 nguyên tắc sau để tránh lỗi treo PLC hoặc chạy sai thuật toán:

  1. Sử dụng xung sườn lên (Differentiable Segment): Các lệnh tính toán toán học hoặc dịch chuyển vùng nhớ (MOV, ADD, BSFR) nên được kích hoạt bằng xung sườn lên (ký hiệu chữ P phía sau tên lệnh, ví dụ MOVP). Nếu không, lệnh sẽ thực hiện liên tục ở mỗi chu kỳ quét (Scan time), dẫn đến dữ liệu bị sai lệch liên tục.

  2. Tách biệt vùng nhớ hệ thống: Các lệnh chuyên sâu như PTO (Xuất xung) hay HSC (Đếm tốc độ cao) đều liên kết trực tiếp với các thanh ghi hệ thống phần cứng cố định (như R4128 trở đi cho các chức năng đặc biệt). Hãy tra cứu kỹ tài liệu (Manual) của dòng PLC bạn đang dùng (FBs hay B1) để tránh ghi đè dữ liệu vào các thanh ghi này.

  3. Xử lý lỗi Tràn số (Overflow): Khi làm việc với các lệnh nhân, chia hoặc cộng dồn, hãy luôn sử dụng thanh ghi kép 32-bit (Thêm tiền tố D, ví dụ DADD, DMOV) để tránh việc giá trị vượt quá giới hạn 32,767 của thanh ghi 16-bit gây lỗi treo CPU (Error LED chớp đỏ).

Tham khảo thêm