a. Các thiết bị cơ bản dùng trong lập trình:
3.4.1 Nhóm lệnh điều khiển lưu trình
a) Lệnh CJ
Hình 3.13:Kích hoạt lệnh bằng cạnh lên của xung vào
Hình 3.14: Lập trình mạch phát hiện cạnh
Tên lệnh Chức Năng Toán hạngD CJ (Conditional Jump) Nhảy đến vị trí con trỏ đích xác định Con trỏ đích hợp lệ (P0 – P63)
- Trong lập trình truyền thống trên máy tính, một trong các chức năng mạch là khả năng nhảy đến vị trí khác trong chương trình tùy thuộc vào một số điều kiện nào đó. Điều này cho phép lựa chọn các hoạt động tương ứng phụ thuộc vào kết quả kiểm tra điều kiện. Lệnh này có hiệu quả rất lớn trong một chương trình điều khiển có nhiều sự lựa cho hoạt động khác nhau, và được gọi là lệnh nhảy có điều kiện. Giống như các tác vụ khác, điều kiện nhảy có thể là một nhánh logic đơn giản hay phức tạp.
• Hoạt động
- Khi lệnh CJ được kích hoạt thì con trỏ lệnh nhảy đến vị trí xác định trong chương trình, bỏ qua một số bước chương trình nào đó. Như vậy, một số bước lệnh không được xử lý trong chương trình, làm tăng tốc độ quét chương trình.
Lưu ý:
• Nhiều lệnh CJ có thể dùng chung một con trỏ đích
• Các lệnh nhảy có thể được lập trình lồng nhau.
ĐỒÁN TỐT NGHIỆP GVHD: PHẠM VĂN MẠNG
• Bất kỳ đoạn chương trình nào bị nhảy qua sẽ không được cập nhật trạng thái các ngõ ra khi có sự thay đổi trạng thái ở ngõ vào. Xem chương trình ở hình dưới: nếu X1 là ON và lệnh CJ được thi hành thì ngõ vào X1 và ngõ ra Ý bị bỏ qua, vì lệnh CJ buộc con trỏ lệnh nhảy tới con trỏ đích P0; khi lệnh CJ không còn tác dụng nữa thì X1 sẽ điều khiển Y1 như bình thường.
• Lệnh CJ có thể được dùng để nhảy qua hết chương trình, ví dụ: nhảy đến lệnh END hay trở về bước 0. Nếu nhảy trở về thì cần phải chú ý không được vượt qua thời gian cài đặt trong bộ định thì watchdog, nếu không PLC sẽ báo lỗi.
b) Lệnh CALL
Tên lệnh Chức Năng Toán hạngD
CALL
(Call Subroutine) Gọi chương trình con
Con trỏ chương trình con có giá trị từ 0- 62số mức lồng5 kể cả lệnh CALL ban dầu
- Một chức năng đòi hỏi cần thực nhiều lần trong chương trình thì có thể tổ chức viết chương trình con và nó sẽ được gọi khi cần thiết nhằm tránh việc viết lại đoạn chương trình đó. Do đó, ta có thể tiết kiệm được bộ nhớ và thời gian lập trình. Thường chương trình con được viết sau chương trình chính.
- Khi một chương trình con được gọi điều khiển được chuyển từ chương trình chính vào chương trình con đó khi hoàn tất việc thi hành
chương trình con trong chương trình chính khi gặp lệnh RET(RETURN) ở cuối đoạn chương trình con. Các kết quả gí trị dữ liệu sẽ được lưu trong các thanh ghi dữ liệu và sau đó có thể được dùng trong chương trình chính. Ta có thể truyền tham số khác nhau mỗi khi gọi chương trình con.
• Hoạt động
- Khi lệnh CALL được kích hoạt đoạn chương trình con sẽ được thi hành tại vị trí con trỏ được gọi tương ứng lệnh CALL phải dùng với lệnh FEND và SRET. Xét đoạn chương trình bên dưới, chương trình con P10 (sau lệnh FEND) được thi hành cho đến khi gặp lệnh SRET và trở về dòng chương trình ngay sau lệnh CALL
Lưuý:
- Nhiều lệnh CALL có thể dùng chung một chương trình con. Con trỏ chương trình con phải duy nhất. Con trỏ chương trình con có thể từ P0 đến P63. Con trỏ chương trình con và con trỏ đích dùng trong lệnh CJ không được trùng nhau.
- Chương trình con sau lệnh FEND được xử lý như bình thường. Khi chương trình được gọi chú ý không vượt quá thời gian đã đặt trong bộ watchdog
ĐỒÁN TỐT NGHIỆP GVHD: PHẠM VĂN MẠNG