Tập Lệnh Lập Trình Robot Nachi

Tập Lệnh Lập Trình Robot Nachi

Tập lệnh lập trình Robot Nachi

Trong lập trình robot Nachi, việc nắm rõ các mã hàm chức năng (Function – FN) là chìa khóa để bạn làm chủ các chuyển động và logic điều khiển. Dưới đây là Tập Lệnh Lập Trình Robot Nachi thường được sử dụng trong lập trình Robot Nachi.

1. Mã lệnh FN602: Lệnh điều kiện IF

  • Giải thích: Đây là lệnh cấu trúc điều kiện cơ bản. Robot sẽ kiểm tra một điều kiện (ví dụ: trạng thái nút nhấn, cảm biến). Nếu điều kiện đó đúng, robot sẽ nhảy đến thực hiện một dòng lệnh được chỉ định; nếu sai, nó sẽ nhảy đến một dòng lệnh khác.

  • Ví dụ: IF I5=1 THEN 9 ELSE 15 (Nếu tín hiệu đầu vào I5 bật ON bằng 1 thì robot nhảy đến dòng lệnh số 9, ngược lại nếu I5 bằng 0 thì nhảy đến dòng lệnh số 15).

 

2. Mã lệnh FN35: Lệnh SETM (Bật/Tắt tín hiệu Output)

  • Giải thích: Lệnh này cho phép người lập trình có thể chủ động linh hoạt Bật hoặc Tắt một tín hiệu đầu ra (Output) cụ thể ngay trong câu lệnh bằng cách thay đổi giá trị số (1 hoặc 0).

  • Ví dụ: SETM[O2, 1] (Bật tín hiệu số O2 lên). Hoặc SETM[O2, 0] (Tắt tín hiệu số O2 đi).

 

3. Mã lệnh FN526: Lệnh WAITJ (Chờ tín hiệu ngắt)

  • Giải thích: Robot sẽ tạm dừng chương trình tại dòng này và “đứng chờ” cho đến khi một tín hiệu Input chỉ định được TẮT đi (OFF) thì mới tiếp tục chạy các câu lệnh tiếp theo.

  • Ví dụ: WAITJ[I6] (Robot dừng lại chờ cho đến khi tín hiệu đầu vào I6 tắt đi thì mới chạy tiếp).

 

4. Mã lệnh FN90: Lệnh GOTO (Đi đến nhãn)

  • Giải thích: Có chức năng gọi tên nhãn và ép chương trình lập tức di chuyển đến dòng lệnh chứa nhãn (LABEL) tương ứng đó bên trong chương trình.

  • Ví dụ: GOTO[*Begin] (Chương trình sẽ lập tức nhảy đến dòng lệnh có đặt nhãn tên là Begin).

 

5. Mã lệnh FN81: Lệnh CALLPI (Gọi chương trình có điều kiện Input)

  • Giải thích: Lệnh này dùng để gọi một chương trình con ra thực hiện, nhưng chỉ kích hoạt khi có một tín hiệu ngõ vào (Input) chỉ định đi kèm kích hoạt ON lên.

  • Ví dụ: CALLPI[6, I5] (Gọi chương trình số 6 ra chạy khi và chỉ khi có tín hiệu ngõ vào I5 đang ON).

 

6. Mã lệnh FN20: Lệnh JMP (Nhảy dòng không điều kiện)

  • Giải thích: Cho phép chương trình của robot Nachi lập tức nhảy thẳng đến một dòng lệnh số cụ thể mà không cần xét bất kỳ điều kiện nào.

  • Ví dụ: JMP[8] (Robot lập tức nhảy bỏ qua các dòng trung gian để đến thực thi dòng lệnh số 8).

 

7. Mã lệnh FN50: Lệnh DELLAY (Tạo độ trễ)

  • Giải thích: Lệnh dùng để tạo một khoảng thời gian dừng tạm thời (độ trễ) cho robot. Sau khi hết số giây quy định, robot mới tiếp tục thực thi các dòng lệnh kế tiếp.

  • Ví dụ: DELLAY[3] (Robot sẽ đứng yên trễ 3 giây, sau 3 giây chương trình sẽ tiếp tục chạy).

 

8. Mã lệnh FN99: Lệnh REM (Ghi chú/Tên chương trình)

  • Giải thích: Ở dòng đầu tiên của chương trình robot, lệnh REM sẽ đóng vai trò hiển thị tên của chương trình đó. Còn các lệnh REM xuất hiện ở phía sau sẽ được hiểu là các dòng chú thích (comment) giúp người đọc hiểu code chứ robot không thực thi.

  • Ví dụ: REM[“MAIN”] (Mã này nằm đầu chương trình báo hiệu chương trình này có tên là MAIN).

 

9. Mã lệnh FN32: Lệnh SET (Bật tín hiệu Output)

  • Giải thích: Có chức năng kích hoạt BẬT (ON) một tín hiệu đầu ra (Output) cụ thể nào đó lên (thường dùng để điều khiển thiết bị ngoại vi, xi lanh, đèn báo…).

  • Ví dụ: SET[O5] (Kích hoạt bật cho tín hiệu số O5 sáng/ON lên).

 

10. Mã lệnh FN601: Lệnh LABEL (Đặt nhãn)

  • Giải thích: Dùng để đánh dấu hoặc đặt tên cho một vị trí/đoạn code trong chương trình robot (thường kết hợp với lệnh GOTO để điều hướng vòng lặp).

  • Ví dụ: *[Begin] (Đặt một nhãn tại dòng này với tên gọi là Begin).

 

11. Mã lệnh FN80: Lệnh CALLP (Gọi chương trình con)

  • Giải thích: Có chức năng gọi một chương trình con khác ra để thực thi một nhiệm vụ riêng biệt. Sau khi chương trình con chạy xong, robot sẽ quay lại chương trình gốc.

  • Ví dụ: CALLP[6] (Gọi chương trình số 6 ra thực hiện).

 

12. Mã lệnh FN75: Lệnh LETVI (Gán giá trị biến nguyên)

  • Giải thích: Cho phép người lập trình gán một giá trị số nguyên cụ thể vào cho một biến số nguyên được chỉ định sẵn để lưu trữ dữ liệu hoặc đếm số lần.

  • Ví dụ: LETVI[V5%, 10] (Gán giá trị 10 vào cho biến số nguyên kí hiệu là V5%).

 

13. Mã lệnh FN23: Lệnh JMPI (Nhảy dòng có điều kiện Input)

  • Giải thích: Robot sẽ nhảy thẳng đến một dòng lệnh được chỉ định nếu như tại thời điểm đó có tín hiệu ngõ vào Input kích hoạt.

  • Ví dụ: JMPI[10, I5] (Nhảy thẳng đến dòng lệnh số 10 nếu phát hiện có tín hiệu I5 đang ON).

 

14. Mã lệnh FN92: Lệnh END (Kết thúc chương trình)

  • Giải thích: Có chức năng kết thúc một chương trình đang chạy. Trong một chương trình có thể đặt một hoặc nhiều lệnh END ở các nhánh logic khác nhau, tuy nhiên cần lưu ý thuật toán nhảy qua dòng lệnh này nếu chưa muốn robot dừng lại sớm.

  • Ví dụ: END (Kết thúc thực thi chương trình).

 

15. Mã lệnh FN0: Lệnh ALLCLR (Reset toàn bộ Output)

  • Giải thích: Đây là lệnh “dọn dẹp” hệ thống cực kỳ hữu ích. Khi được thực thi, robot sẽ ngay lập tức tắt (Reset) toàn bộ các tín hiệu đầu ra (Output) đang bật về trạng thái OFF.

  • Ví dụ: ALLCLR (Tắt tất cả các tín hiệu Output đang ON trong hệ thống).

 

16. Mã lệnh FN85: Lệnh JMPPN (Nhảy sang chương trình khác có điều kiện biến số)

  • Giải thích: Cho phép robot lập tức nhảy từ chương trình hiện tại sang một chương trình hoàn toàn mới, nhưng chỉ thực hiện nếu một biến số nguyên chỉ định đạt đúng giá trị yêu cầu.

  • Ví dụ: JMPPN[2, V4%, 3] (Nhảy sang chạy chương trình số 2 nếu biến số nguyên V4% đang có giá trị bằng 3).

 

17. Mã lệnh FN113: Lệnh CHGCOORD (Thay đổi hệ tọa độ User)

  • Giải thích: Lệnh này cho phép robot chuyển đổi từ hệ tọa độ mặc định sang một hệ tọa độ do người dùng tự định nghĩa (User Coordinate System), giúp việc lập trình các bề mặt nghiêng hoặc đồ gá xéo trở nên dễ dàng hơn.

  • Ví dụ: CHGCOORD[2] (Cấu hình cho robot chuyển sang sử dụng hệ tọa độ User số 2).

 

18. Mã lệnh FN42: Lệnh STOPI (Dừng robot có điều kiện Input)

  • Giải thích: Lệnh dừng an toàn hoặc dừng công nghệ có điều kiện. Robot sẽ kiểm tra tín hiệu ngõ vào, nếu tín hiệu Input đó được bật ON thì robot sẽ lập tức dừng mọi chuyển động.

  • Ví dụ: STOPI[I2] (Dừng robot ngay lập tức nếu phát hiện tín hiệu đầu vào I2 được kích hoạt ON).

 

19. Mã lệnh FN52: Lệnh SHIFTFR (Thay đổi/Dịch chuyển tọa độ điểm)

  • Giải thích: Lệnh này dùng để áp dụng một khoảng dịch chuyển (Shift) lên tọa độ của các điểm trong chương trình, thường dùng khi vị trí phôi bị thay đổi đồng loạt theo một khoảng cố định.

  • Ví dụ: SHIFTFR[2] (Kích hoạt và áp dụng giá trị dịch chuyển của bộ dữ liệu số 2 vào các điểm số trong chương trình).

 

20. Mã lệnh FN82: Lệnh CALLPN (Gọi chương trình con theo điều kiện biến số)

  • Giải thích: Tương tự lệnh gọi chương trình con thông thường, nhưng kèm theo điều kiện lọc: Robot chỉ nhảy vào chương trình con đó khi biến số nguyên được kiểm tra bằng đúng giá trị cài đặt.

  • Ví dụ: CALLPN[5, V5%, 3] (Gọi chương trình số 5 ra thực hiện nếu biến nguyên V5% đang có giá trị bằng 3).

 

21. Mã lệnh FN77: Lệnh LETVS (Gán giá trị cho biến chuỗi/ký tự)

  • Giải thích: Sử dụng khi bạn cần lưu trữ dữ liệu dạng chữ (Text/String) vào một ô biến, thường phục vụ cho việc hiển thị thông báo lỗi, truyền thông dữ liệu hoặc quản lý mã mã hàng.

  • Ví dụ: LETVS[V5$, "DANKYTHUAT"] (Gán chuỗi ký tự “DANKYTHUAT” vào cho biến chuỗi ký hiệu là V5$).

 

22. Mã lệnh F645: Lệnh MOVEX (Di chuyển theo điểm trong Pose file)

  • Giải thích: Lệnh điều khiển chuyển động nâng cao của Nachi, cho phép robot di chuyển đến một vị trí được định nghĩa trong file tọa độ (Pose file) kèm theo các tham số thiết lập về gia tốc, tốc độ, và cấu hình trục.

  • Ví dụ: MOVEX A=1, AC=0, SM=0, M1X, P, P100, R100, MS (Điều khiển robot di chuyển đến điểm P100 dựa trên các thông số cấu hình tăng giảm tốc đi kèm).

 

23. Mã lệnh FN34: Lệnh RESET (Thiết lập lại tín hiệu đầu ra)

  • Giải thích: Lệnh dùng để chủ động tắt (OFF) một hoặc một nhóm tín hiệu đầu ra cụ thể về trạng thái mặc định ban đầu sau khi đã hoàn thành một công đoạn (như nhả kẹp, tắt đèn báo).

  • Ví dụ: RESET[O5] (Chủ động tắt tín hiệu đầu ra O5 về trạng thái OFF).

 

24. Mã lệnh FN83: Lệnh JMPP (Nhảy sang chương trình khác không điều kiện)

  • Giải thích: Khi gặp lệnh này, robot sẽ lập tức đóng chương trình hiện tại và chuyển hẳn sang thực thi một chương trình (file) mới được chỉ định mà không quay lại chương trình cũ.

  • Ví dụ: JMPP[2] (Lập tức thoát chương trình hiện tại và nhảy sang thực hiện chương trình số 2).

 

25. Mã lệnh FN41: Lệnh STOP (Dừng robot vô điều kiện)

  • Giải thích: Lệnh bắt buộc robot phải dừng lại ngay lập tức tại dòng lệnh đó mà không cần xét bất kỳ điều kiện vật lý hay tín hiệu nào từ bên ngoài. Thường dùng trong các trường hợp kết thúc chu trình tạm thời để chờ kỹ thuật viên kiểm tra.

  • Ví dụ: STOP (Dừng mọi chuyển động của robot tại vị trí hiện tại).

 

26. Mã lệnh FN98: Lệnh USE (Kích hoạt sử dụng Pose file)

  • Giải thích: Trước khi gọi các điểm di chuyển dạng Pose, bạn cần chỉ định cho robot biết sẽ lấy dữ liệu từ tập tin (file) tọa độ nào. Lệnh USE thực hiện nhiệm vụ kích hoạt file đó lên.

  • Ví dụ: USE[3] (Chỉ định và mở file tọa độ số 3 để robot bắt đầu khai thác dữ liệu điểm).

 

27. Mã lệnh FN69: Lệnh ADDR (Thêm dữ liệu vào thanh ghi tọa độ)

  • Giải thích: Cho phép người lập trình nạp/thêm trực tiếp một tập hợp giá trị tọa độ (bao gồm các trục X, Y, Z và các góc quay) vào một thanh ghi (Register) cụ thể để tính toán vị trí.

  • Ví dụ: ADDR[R2, 20, 0, 0, 0, 0, 0] (Thêm vào thanh ghi R2 một tọa độ có giá trị X=20, các trục còn lại bằng 0).

 

28. Mã lệnh FN76: Lệnh LETVF (Gán giá trị cho biến số thực)

  • Giải thích: Khác với biến số nguyên, lệnh này dùng để gán các giá trị có chứa dấu phẩy thập phân (số thực) vào biến số thực, thường dùng cho các bài toán tính toán khoảng cách, tỷ lệ chính xác cao.

  • Ví dụ: LETVF[V4!, 3.22] (Gán giá trị số thực 3.22 vào cho biến số thực ký hiệu là V4!).

 

29. Mã lệnh FN246: Lệnh MULTIM (Điều khiển đa tín hiệu đầu ra)

  • Giải thích: Thay vì phải bật/tắt từng dòng lệnh Output rất mất thời gian, lệnh này cho phép bạn tác động lên hàng loạt (một nhóm) các tín hiệu đầu ra cùng một lúc bằng mã nhị phân hoặc thập phân mã hóa.

  • Ví dụ: MULTIM[O5101, 255] (Tác động đồng loạt lên nhóm tín hiệu từ O5101 đến O5108 với giá trị mã hóa là 255 – tương đương bật ON cả 8 bit).

 

30. Mã lệnh FN84: Lệnh JMPPI (Nhảy sang chương trình khác có điều kiện Input)

  • Giải thích: Robot sẽ thực hiện lệnh nhảy thẳng sang một file chương trình mới hoàn toàn nếu tại thời điểm quét lệnh, tín hiệu Input chỉ định đang ở trạng thái ON.

  • Ví dụ: JMPPI[2, I3] (Nhảy ngay sang thực hiện chương trình số 2 nếu phát hiện tín hiệu đầu vào I3 đang bật ON).

 

Tổ hợp lệnh xét nhiều điều kiện phức tạp (Cấu trúc rẽ nhánh)

Khi bạn cần xử lý các logic phức tạp đòi hỏi kiểm tra nhiều trường hợp liên tiếp nhau, robot Nachi cung cấp bộ tổ hợp lệnh liên kết chặt chẽ bao gồm:

  • Mã lệnh FN676 (IF): Bắt đầu xét điều kiện đầu tiên.

    • Ví dụ: 5. IF V1%=1

    • 6. 100% JOINT A1 T1 (Nếu biến V1 = 1 thì robot thực thi dòng lệnh số 6).

  • Mã lệnh FN677 (ELSE IF): Xét điều kiện phụ tiếp theo nếu các điều kiện phía trên đều sai.

    • Ví dụ: 7. ELSE IF V1%=5

    • 8. 100% JOINT A1 T1 (Nếu biến V1 không bằng 1 mà bằng 5 thì thực thi dòng lệnh số 8).

  • Mã lệnh FN678 (ELSE): Trường hợp ngoại lệ cuối cùng, xảy ra khi tất cả các điều kiện IF và ELSE IF phía trên đều không thỏa mãn.

    • Ví dụ: 9. ELSE

    • 10. 100% JOINT A1 T1 (Nếu V1 khác hoàn toàn 1 và 5 thì tự động thực thi câu lệnh số 10).

  • Mã lệnh FN679 (END IF): Khóa đuôi, bắt buộc phải có để kết thúc toàn bộ quá trình xét điều kiện của khối cấu trúc IF.

Hy vọng bài tổng hợp các mã lệnh FN của dòng robot Nachi này sẽ giúp ích cho quá trình lập trình và vận hành của bạn tại nhà máy! Chúc các bạn thành công.

Bạn có thể tham khảo khoá Học Lập Trình Robot Công Nghiệp tại đây:

https://plctech.com.vn/dao-tao-lap-trinh-robot-cong-nghiep-thuc-chien/

TRUNG TÂM TỰ ĐỘNG HÓA CÔNG NGHIỆP PLCTECH

Địa chỉ đào tạo

Hà Nội: Số 11 Ngõ 2 Dịch Vọng – Cầu Giấy Xem bản đồ

HCM: 97 Đường Số 3 – Hiệp Bình Phước – TP. Thủ Đức Xem bản đồ

Liên hệ

Điện thoại / Zalo: 0987 635 127 (Hỗ trợ 24/7)

Website: https://plctech.com.vn/

Fanpage: https://www.facebook.com/PLCTechHN