Thứ Sáu, 3 tháng 5, 2013

Post Processor - Từ cơ bản đến nâng cao ( Phần 3)


Hên cho bạn, vì mình trước đây dùng Cimatron, Cimatron có phần mềm post riêng gọi là GPP2, Cimatron là phần mềm của Do Thái, trước đây phiên bản 7.0 về trước dùng IMSPost để xuất chương trình NC, GPP2 khá dể hiểu hơn so với IMSPost – tuy nhiên theo mình có lẻ ít tính năng hơn, đặc biệt cho máy nhiều trục.

Để edit post và xuất ra các dòng lệnh như ý bạn muốn – ở đây mình thấy sau khi thay dao bạn gọi M6 lện thay dao, sau đó tên dao. Rồi gọi chương trình con G65 P9611 (có lẻ là offset dao ?).

M06T02.
G65P9611

Vào thư mục cài đặt Cimatron, C:\CimatronE10\Program\IT\var\post2, nhấp đúp vào file ví dụ Fanuc.ex2 (Ví dụ bạn dùng Cimatron E9 trở lên mới hổ trợ file .ex2).

Tìm đến block lệnh sau:

GPP_PROCDEF ToolChange;

    GPP_PROCPARAM (TOOLS) CurrentTool ;                                    // procedure argument - tool to change to
    IF (OutSubroutine == SubsAll)                                                // use subroutines for EVERYTHING
        OUTPUT $ " T" CurrentTool " M98 P" SubToolNum ;        // so call tool change subroutine
    ELSE                                                                                                // output tool change commands to g-code
        GPP_CALLPROC MoveToMachineSafePos ();
        OUTPUT $ " T" CurrentTool " M06";
        GPP_CALLPROC ResetMachine ();
    END_IF;

Cimatron dùng câu lệnh OUTPUT $ “noi dung can out put”, ở trên bạn thấy dùng         OUTPUT $ " T" CurrentTool " M06"; Tức gọi tên dao rồi mới gọi M6 – bạn muốn xuất ra M06 rồi mới tên dao M06T02. , thì bạn hãy đổi ngược thứ tự của câu lệnh trên kia.

Cứ mỗi lần thay dao bạn muốn xuất ra thêm dòng G65P9611, thì sau dòng

OUTPUT $ " T" CurrentTool " M06"; bạn hãy thêm 1 dòng
OUTPUT $ " G65P9611"

Bonus thêm cho bạn, ở đầu dòng bạn thấy xuất ra T99 và T01 – điều này có nghĩa là post nó gọi con dao hiện hành – đồng thời gọi tiếp con dao kế tiếp ( ở đây ta thấy thếm 1 lợi ích, khi chạy 1 con dao, thì lúc máy chạy người vận hành BIẾT TÊN CON DAO KẾ TIẾP – do đó họ đi tìm con dao kế tiếp trong lúc máy chạy => tiết kiệm thời gian. Bạn nào gia công thực tế có thể thấy rỏ cái lợi này. )

Bạn tìm đến dòng lệnh:
TOOL CHANGE:

    IF (QUALIFIER_NAME == "first")                                // first tool change - define the tool in the spindle
        tmpString = "Tool in Spindle: " + TOOL_NAME
         + " D= " + STR_FORMAT(DIAMETER_)
         + " R= " + STR_FORMAT(TOOL_RAD);
        OUTPUT $ " T" TOOL_NUM " (" tmpString ")";    // define the tool that is currently in the spindle
    ELSE                                                                            // all other tool changes (NOT the first)
        GPP_CALLPROC ToolChange (TOOL_NUM);                    // generate the TOOL CHANGE command (M6)
    END_IF;

Bỏ đi các dòng sau, thì post sẽ không xuất ra Next Tool.

    NextTool = NEXT_TOOL(TOOL_NUM);                                // NEXT_TOOL(TOOL_NUM) cannot be used for output
    IF (NextTool != TOOL_NUM)                                            // Must output the NEXT tool
        tmpString = "Next Tool: " + NEXT_TOOL(TOOL_NAME)
         + " D= " + STR_FORMAT(NEXT_TOOL(DIAMETER_))
         + " R= " + STR_FORMAT(NEXT_TOOL(TOOL_RAD));
        OUTPUT $ " T" NextTool " (" tmpString ")";    // rotate tool magazine for next tool
    END_IF;
[/QUOTE]

Không có nhận xét nào:

Đăng nhận xét