module trong abb

Ở bài viết này chúng ta cùng nhau tìm hiểu Module trong lập trình robot ABB có bao nhiêu loại? Một module thì gồm những phần nào?

Module trong lập tình robot ABB

Sử dụng module để chia bộ nhớ chương trình thành các phần.

Điều này làm dễ dàng hơn trong việc lưu và truy xuất thông tin trong chương trình.

Có 2 loại module:

  • Program Modules (.mod)
  • System Modul (.sys)

Ghi nhớ, không thể có bất kỳ hai tên giống nhau trong cùng một bộ nhớ trong một thời điểm.

Một Module bao gồm:

  • Routines
  • Data

Routine

Có 3 loại routine :

  • Procedure (thủ tục)
  • Function (hàm)
  • Trap (bẫy ngắt)

Procedures không trả về giá trị mà được sử dụng giống như một câu lệnh. Bao gồm một số câu lệnh, có thể được gọi từ chương trình chính và các câu lệnh sẽ được thực thi.

Functions trả về giá trị với dạng dữ liệu cụ thể và được sử dụng trong các biểu thức. Tập hợp các lệnh khác nhau được dùng để tính giá trị.

Trap routines cung cấp một phương tiện để làm việc với các lệnh ngắt interrupts. Một trap routine có thể được kết hợp với một ngắt riêng biệt và sau đó, nếu ngắt đó xảy ra, thì nó sẽ tự động chạy. Trap routine không thể được gọi trực tiếp từ chương trình.

Data

Data Scope (phạm vi dữ liệu)

Phạm vi dữ liệu:

  • Global
  • Local
  • Task

Ví dụ chương trình

MODULE module1(SYSMODULE)

LOCAL VAR num nCounter:=0;

VAR num nGlobal_variable;

PROC routine1()

VAR num nLocalCounter;

!Instructions

ENDPROC

ENDMODULE

Sự khác nhau giữa Routine Data và Progarm Data:

  • Routine Data : Chỉ có thể nhìn thấy từ routine hiện tại.
  • Program Data: Có thể nhìn thấy từ bất cứ nơi nào trong chương trình.

Một số loại dữ liệu phổ biến nhất

Bool : Sử dụng cho các giá trị TRUE/FALSE

  • Ví dụ: VAR bool flag1 :=TRUE;

Clock: Dùng để đo thời gian.

  • Ví dụ: VAR clock myclock;

Jointtarget: Dùng để xác định vị trí của robot và trục bổ sung dựa trên các góc khớp.

Loaddata: Dùng để mô tả tải trọng gắn liền với robot.

Num: Dùng cho các giá trị số nguyên giữa -8388607 và +8388608

  • Ví dụ: CONST num pi:=3.1415926;

Pos: Dùng cho các vị trí X, Y, Z

  • Ví dụ PERS pos pos1:=[745,0,1055];

Robtarget: Dùng để xác định vị trí của robot và các trục bổ sung dựa trên hệ tọa độ.

String: Dùng cho các chuỗi ký tự bao gồm một số ký tự, tối đa 80 ký tự.

  • Ví dụ: VAR strings Textx1;

Tooldata: Dùng để mô tả các đặc tính của tool như:

  • Vị trí và hướng của TCP
  • Giá trị vật lý của tool

Data types

Dữ liệu được chia thành nhiều kiểu khác nhau

1 .Có 3 kiểu dữ liệu cơ bản:

Num: Kiểu số nguyên hoặc dấu phẩy động:

  • Ví dụ: 1, 483646, -3003, 3.14159, 4.31E2

String: Kiểu chuỗi lên tới 80 ký tự được bao quanh bởi dấu ngoặc kép.

  • Ví dụ: “This is a long string that is pretty meaningless”

Bool: Dữ liêu chỉ có thể là TRUE/FALSE

2. Kiểu dữ liệu atomic: Là kiểu dữ liệu không được phân chia thành các phần nhỏ.

  • Ví dụ: num, string, bool.

3. Kiểu dữ liệu Record : Là hỗn hợp với tên và một thành phần ra lệnh. Một thành phần có thể là kiểu dữ liệu atomic hoặc record.

Ví dụ: pos, tooldata…

VAR pos pos1:=[10,45,1,3];

VAR orient orient1:=[1.0,0,0,0];

Mỗi thành phần kiểu dữ liệu Record có thể được chỉ ra bằng cách:

gripper.robhold :=TRUE;

gripper.tframe.trans.z := 224;

4. Kiểu dữ liệu alias

Kiểu dữ liệu alias được định nghĩa bằng một kiểu dữ liệu khác. Dữ liệu với các kiểu dữ liệu tương đương có thể thay thế cho nhau.

Ví dụ:

VAR dionum high:=1;

VAR num level;

alias

level:=high;

Names- identifirs

Tên biến phải:

  • Tối đa 16 ký tự.
  • Ký tự đầu tiên là một chữ cái.
  • Chỉ sử dụng chữ cái và số gạch dưới

Từ khóa RAPID không được dùng làm tên biến.

Nên sử dụng tên có ý nghĩa gợi nhớ liên quan đến việc nó sẽ thực hiện

Tên biến không phân biệt chữ hoa chữa thường

  • Ví dụ : HOTEN= hoten

Trên đây là toàn bộ nội dung về module trong lập trình robot ABB. Mong sẽ giúp ích cho các bạn trong học tập và công việc.

>>> Xem thêm lập tình PLC, lập trình robot Nachi