NX Lab
Postprocessor

Tùy biến Postprocessor bằng Post Builder: file .pui, .tcl và .def

Hiểu vai trò ba file của một postprocessor trong NX CAM, khác biệt giữa Post Builder và Post Configurator, và cách thêm một lệnh tùy biến mà không phá mã sinh sẵn.

Quản trị viên 5 phút đọc

Ảnh minh họa cho bài Tùy biến Postprocessor bằng Post Builder: file .pui, .tcl và .def

Hầu hết sự cố "máy chạy sai" mà mình gặp không đến từ đường dao, mà đến từ G-code bị xuất sai: thiếu lệnh làm mát, định dạng số không đúng, đổi dao sai lúc. Người giữ chìa khóa của những chi tiết đó là postprocessor.

Postprocessor làm gì

NX CAM tính đường dao ở dạng trung gian, độc lập với máy. Postprocessor dịch dữ liệu đó thành G-code đúng ngôn ngữ của từng bộ điều khiển (Fanuc, Siemens Sinumerik, Heidenhain, Mitsubishi...): tên lệnh, định dạng số, thứ tự khối, cách đổi dao, chu trình khoan, v.v.

Hình 1: Luồng dữ liệu Hình 1. NX CAM phát sinh các sự kiện, post engine xử lý bằng .tcl và .def, rồi xuất G-code. Post Builder dùng .pui để chỉnh hai file kia.

Ba file bạn cần biết

Hình 2: Vai trò các file Hình 2. Ba file và hai công cụ.

File Vai trò Có nên sửa tay?
.pui Dữ liệu giao diện của Post Builder; mở file này để chỉnh post Không, chỉ chỉnh qua Post Builder
.tcl Mã Tcl chứa logic xuất G-code (xử lý các sự kiện) Cẩn thận: dễ bị ghi đè khi build lại
.def Định nghĩa tĩnh: định dạng số, địa chỉ, khối NC, biến Cẩn thận: nên chỉnh qua công cụ

Quy tắc vàng: chỉnh trong Post Builder, không sửa tay .tcl/.def nếu không bắt buộc, vì lần build tiếp theo sẽ ghi đè thay đổi. Phần tùy biến nên nằm trong Custom Command (lệnh tùy biến), được Post Builder lưu giữ trong .pui và đưa vào .tcl.

Post Builder và Post Configurator

NX có hai hướng tạo/chỉnh post:

  • Post Builder: công cụ đồ họa kinh điển. Bạn khai báo kiểu máy (3 trục, 5 trục, tiện, phay-tiện), bộ điều khiển, định dạng, rồi bổ sung logic qua custom command bằng Tcl.
  • Post Configurator: hướng mới hơn, cấu hình post theo tham số có sẵn và ít phải viết mã. Trong các phiên bản gần đây, Siemens cung cấp các post mẫu dựa trên công cụ này.

Phiên bản nào có công cụ nào, và post mẫu nào đi kèm, phụ thuộc bản NX bạn cài. Hãy kiểm tra tài liệu của bản bạn dùng trước khi chọn hướng.

Quy trình tùy biến an toàn

  1. Bắt đầu từ post gần nhất với máy của bạn (post mẫu của Siemens hoặc post từ nhà cung cấp máy).
  2. Sao chép ra thư mục riêng, đặt tên có phiên bản (fanuc_3ax_v1).
  3. Mở file .pui bằng Post Builder và chỉnh các thông số cơ bản (đơn vị, định dạng, số thứ tự dòng, ký tự mở/kết thúc chương trình).
  4. Cần hành vi đặc thù (ví dụ đổi dao, làm mát, hiệu chỉnh) thì dùng Custom Command.
  5. Build post, rồi xuất ra thư mục.
  6. Chạy thử trên một chi tiết đơn giản, đọc G-code từng dòng.
  7. Mô phỏng bằng Vericut hoặc mô phỏng máy trước khi chạy máy thật.
  8. Ghi vào tài liệu ngày, người sửa, và lý do.

Ví dụ: thêm lệnh bật nước làm mát

Giả sử G-code của bạn thiếu M08 khi đi xuống vị trí cắt đầu tiên. Thay vì sửa trực tiếp mã sinh sẵn, ta tạo một custom command và gắn nó vào sự kiện phù hợp (ví dụ Initial Move / First Move).

Hình 3: Trước và sau Hình 3. Lệnh M08 xuất hiện ở khối đầu tiên khi coolant bật.

Đoạn Tcl minh họa:

proc PB_CMD_coolant_on { } {
  global mom_coolant_status

  if { [info exists mom_coolant_status] && $mom_coolant_status == "ON" } {
    MOM_output_literal "M08"
  }
}

Điểm cần chú ý:

  • Tên lệnh tùy biến bắt đầu bằng PB_CMD_; các biến NX cung cấp bắt đầu bằng mom_.
  • MOM_output_literal xuất chuỗi nguyên văn ra file. Nếu muốn ghép vào cùng khối với lệnh khác, dùng cơ chế đặt địa chỉ/biến (MOM_set_address, MOM_force...) thay vì in dòng riêng.
  • Kiểm tra tên biến thực tế (ví dụ trạng thái coolant) trong tài liệu và trong post mẫu của phiên bản bạn dùng: tên có thể khác.
  • Luôn bọc trong info exists để tránh lỗi khi biến chưa được gán.

Gỡ lỗi: nhìn vào đâu

  • Xuất ra file nhật ký (log) bằng lệnh Tcl như MOM_output_to_listing_device hoặc ghi vào file riêng.
  • So sánh G-code trước/sau bằng công cụ so sánh văn bản (WinMerge, VS Code diff).
  • Đọc Event Handler trong Post Builder để hiểu sự kiện nào sinh ra khối nào.
  • Dùng chi tiết thử rất nhỏ để lặp nhanh.

Những lỗi hay gặp

  1. Sửa trực tiếp .tcl rồi bị ghi đè lần build kế.
  2. Quên kiểm tra định dạng số: X0. khác X0 trên một số bộ điều khiển.
  3. Sai thứ tự: bật trục chính sau khi vào cắt.
  4. Không thử mô phỏng và đem lên máy thật.
  5. Không có bản sao lưu của post trước khi sửa.
  6. Chạy cùng một post cho nhiều máy khác nhau về tùy chọn (làm mát qua tâm dao, bàn quay...).

Kết luận

Postprocessor là phần dễ bị xem nhẹ trong chuỗi CAD/CAM nhưng lại quyết định máy chạy đúng hay sai. Hãy xử lý nó như một sản phẩm phần mềm nhỏ: có phiên bản, có thử nghiệm, có tài liệu, và luôn thử trên mô phỏng trước khi đưa lên máy thật.

Lưu ý an toàn: mọi thay đổi postprocessor phải được kiểm tra bằng mô phỏng và chạy thử không tải trước khi gia công thật. Tên biến và công cụ có thể khác nhau giữa các phiên bản NX.

Tài liệu tham khảo

Chia sẻ:FacebookXLinkedIn

Bình luận (0)

Chưa có bình luận. Hãy là người đầu tiên chia sẻ ý kiến.

    Đăng nhập để bình luận.