Next: A I0

Một phần của tài liệu Bài giảng Kỹ thuật logic khả trình PLC: Phần 2 (Trang 48 - 51)

L MW10 //thanh ghi đếm số vòng quét

T MW10 //nạp lại số vòng quét từ đầu

next: A I0

Hình 4.5. Lệnh rẽ nhánh theo bit trạng thái (a) nhảy xuôi và (b) nhảy ngƣợc.

* Rẽ nhánh khi BR=0

Cú pháp JNBI <nhãn>

Lệnh thay đổi nội dung thanh ghi trạng thái giống lệnh JBI. Ví dụ:

next: A I0.0

JNBI next //nhảy đến next nếu BR=0

* Rẽ nhánh khi RLO=1

Cú pháp JC <nhãn>

Lệnh thay đổi nội dung thanh ghi trạng thái như sau:

BR CC1 CC0 OV OS OR STA RLO FC

- - - 0 1 1 0

Ví dụ:

JC next //nhảy đến next nếu RLO=1

…next: A I0.0 next: A I0.0 Y Kiểm tra điều kiện nhảy Nhãn N

Nếu điều kiện kiểm tra được thoả mãn

Đoạn chương trình được nhảy qua

Đoạn chương trình được thực hiện tiếp

(a) (b) Nhãn Kiểm tra điều kiện nhảy N Y Nếu điều kiện kiểm tra được thoả mãn Đoạn chương trình được thực hiện tiếp

* Rẽ nhánh khi RLO=0

Cú pháp JCN <nhãn>

Lệnh thay đổi nội dung thanh ghi trạng thái giống lệnh JC. Ví dụ:

JCN next //nhảy đến next nếu RLO=0

next: A I0.0

* Rẽ nhánh khi CC1=0 và CC0=1

Cú pháp JM <nhãn>

Lệnh không làm thay đổi nội dung thanh ghi trạng thái, nó được sử dụng để rẽ nhánh khi phép tính trước đó có kết quả âm.

next: A I0.0

JM next //nhảy đến next nếu nội dung của ACCU1 là một số âm

* Rẽ nhánh khi CC1=1 và CC0=0

Cú pháp JP <nhãn>

Lệnh không làm thay đổi nội dung thanh ghi trạng thái, nó được sử dụng để rẽ nhánh khi phép tính trước đó có kết quả dương.

* Rẽ nhánh khi CC1= CC0=0

Cú pháp JZ <nhãn>

Lệnh không làm thay đổi nội dung thanh ghi trạng thái, nó được sử dụng để rẽ nhánh khi phép tính trước đó có kết quả bằng 0.

* Rẽ nhánh khi CC1CC0

Cú pháp JN <nhãn>

Lệnh không làm thay đổi nội dung thanh ghi trạng thái, nó được sử dụng để rẽ nhánh khi phép tính trước đó có kết quả khác 0.

* Rẽ nhánh khi CC1= CC0=0 hoặc CC1=0 và CC0=1

Cú pháp JMZ <nhãn>

Lệnh không làm thay đổi nội dung thanh ghi trạng thái, nó được sử dụng để rẽ nhánh khi phép tính trước đó có kết quả không dương (nhỏ hơn hoặc bằng 0).

* Rẽ nhánh khi CC1= CC0=0 hoặc CC1=1 và CC0=0

Cú pháp JPZ <nhãn>

Lệnh không làm thay đổi nội dung thanh ghi trạng thái, nó được sử dụng để rẽ nhánh khi phép tính trước đó có kết quả không âm (lớn hơn hoặc bằng 0).

Cú pháp JU <nhãn>

Lệnh không làm thay đổi nội dung thanh ghi trạng thái, nó được thực hiện một cách vô điều kiện mà không phụ thuộc bất cứ bit trạng thái nào.

4.2.5.3. Lệnh xoay vòng (LOOP)

Cú pháp LOOP <nhãn>

Khi gặp lệnh LOOP, CPU của S7 – 300 sẽ tự động giảm nội dung của từ thấp trong thanh ghi ACCU1 xuống 1 đơn vị và kiểm tra kết quả có bằng 0 hay không? Nếu kết quả khác 0, CPU sẽ thực hiện bước nhảy đến đoạn chương trình được đánh dấu bởi “nhãn”. Ngược lại thì CPU sẽ thực hiện lệnh kế tiếp.

Lệnh xoay vòng này có thể được sử dụng để mô phỏng nguyên tắc làm việc giống lệnh „for‟ trong ngôn ngữ lập trình C bằng cách thực hiện bước nhảy ngược (hình 4.6). Đoạn chương trình nằm giữa “nhãn” và lệnh LOOP sẽ được thực hiện cho tới khi nội dung thanh ghi ACCU1 bằng 0.

Lệnh này không làm thay đổi nội dung thanh ghi trạng thái.

Hình 4.6. Nguyên tắc làm việc của lệnh LOOP

Ví dụ: Viết chương trình mô phỏng thực hiện lệnh xoay vòng 10 lần đoạn chương trình nằm giữa nhãn “next” và lệnh LOOP.

L 10

next: T MW10

// Đoạn chương trình thực hiện lệnh LOOP L MW10 Nhãn ACCU1=0? N Y Đoạn chương trình được thực hiện tiếp ACCU1=ACCU1-1

LOOP next

Một phần của tài liệu Bài giảng Kỹ thuật logic khả trình PLC: Phần 2 (Trang 48 - 51)

Tải bản đầy đủ (PDF)

(75 trang)