2.1.Cấu trúc một Task
Một Task chứa nhiều Program, mỗi Program gồm các routine và các bảng quản lí các tag trong program đó.
Routine chứa các mã lập trình. Mỗi program có một main rountine, là rountine được chạy đầu tiên trong program. Trong rountine có thể gọi routine khác trong cùng một program bằng lệnh JSR ( Jump to Sub-routine ). Các routine trong các program khác nhau thì không thể gọi. Ngoài ra các routine còn có thể gọi các add-on intructions
Add-on Intructions là một tập hợp lệnh thường dùng , do người lập trình thiết lập; có giao diện để giao tiếp với chương trình gọi nó. Một Add-on Intructions có thể gọi các Add-on Intructions khác nhưng không thể gọi các routine. Các Add-on Intructions có thể gọi lồng nhau lớn nhất là 7. Add-on Intructions được sử dụng với các mục đích:
- Sử dụng lại các code qua các project khác nhau - Cung cấp một giao diện dễ sử dụng
- Bảo vệ chất xám
2.2.Phân loại Task
Một bộ điều khiển Logix5000 hỗ trợ đủ 3 tác vụ cơ bản : - Tác vụ mặc định ( Continuous task )
- Tác vụ tuần hoàn ( Period task ) - Tác vụ sự kiện ( Event task )
Số lượng các task tùy thuộc từng bộ điều khiển :
a). Tác vụ mặc định:
Mỗi bộ điều khiển chỉ hỗ trợ duy nhất một tác vụ mặc định. Để thực hiện tác vụ mặc định chọn Main task/Main program/Main rountine trong project.
b). Tác vụ tuần hoàn và tác vụ sự kiện :
Để xác định thứ tự thực hiện các tác vụ do người lập trình thiết lập, ta dùng các cấp ưu tiên (priority levels)
Ngoài các task do người sử dụng thiết lập, còn có các task mặc định của hệ thống. Các task mặc định gồm :
- Montion planner: là một period task, ngắt tất cả các ngắt khác - I/O processing: là một period task, đối với các bộ điều khiển
CompactLogix, FlexLogix, and DriveLogix nó có thứ tự ưu tiên là 6
- System overhead: gồm các task để truyền thông và các background task. System overhead chỉ có thể ngắt continuous task - Output processing: bộ điều khiển update các kết quả ra các output
module cuối mỗi task
- Module Input Data State Change : tác vụ sẽ được gọi khi có sự thay đổi trạng thái của dữ liệu đầu vào. Loại ngắt này có thể được sử dụng khi với sự thay đổi on => off hoặc off => on của một đầu vào số; hoặc khi một module vào số gửi dữ liệu lên bộ điều khiển. - Consumed Tag : tác vụ được thực hiện khi consumed tag (được
- Axis Registration 1or 2 : tác vụ được thực hiện khi đầu vào đạt đến một giá trị định trước; sử dụng lệnh Motion Arm Registration (MAR) để xác định điều kiện kích thích
- Axis Watch: cũng giống như với Axis Registration 1or 2 nhưng sử dụng lệnh Motion Arm Watch (MAW) để xác định điều kiện kích thích.
- Montion Group Execution : tác vụ được gọi khi montion planner thực hiện xong.
- Event instruction: tác vụ được gọi khi điều kiện kích thích trong chương trình lập trình được thỏa mãn
Chương IV: Hưóng dẫn sử dụng phần mềm RSLinx V2.54 của Rockwell Automation