6.1. Nhĩm lệnh kết thúc chương trình
6.1.1. Lệnh kết thúc vơ điều kiện
Cú pháp: BEU
Lệnh khơng cĩ tốn hạng và thực hiện việc kết thúc chương trình trong khối một cách vơ điều kiệ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 0 1 - 0
6.1.2. Lệnh kết thúc cĩ điều kiện
Cú pháp: BEC
Lệnh khơng cĩ tốn hạng và thực hiện việc kết thúc chương t rình trong khối nếu như RLO cĩ giá trị 1. Lệnh thay đổi nội dung thanh ghi trạng thái như sau:
BR CC1 CC0 OV OS OR STA RLO FC - - - - x 0 1 1 0
Ví dụ: Chương trình sau sẽ đổi trạng thái tín hiệu cổng ra Q4.0 ở vịng quét cĩ số thứ tự chia hết cho 1000 và khơng làm gì ở các vịng quét sau
L 1
L MW0 // Thanh ghi đếm số vịng quét +I
T MW0
L 1000 <>I
BEC // Kết thúc nếu chưa phải là vịng quét thứ 1000
L 0
T MW0 // Nạp lại số vịng quét từ đầu AN Q4.0
= Q4.0 BEU
6.2. Nhĩm lệnh rẽ nhánh theo bit trạng thái
Lệnh rẽ nhánh theo bit trạng thái là loại lệnh thực hiện bước nhảy nhằm bỏ qua một đoạn chương trình khác được đánh dấu bằng “nhãn” nếu điều kiện kiểm tra trong thanh ghi trạng thái được thỏa mãn. Nơi lệnh nhảy tới phải thuộc cùng một khối chương trình với lệnh. Khơng thể nhảy từ khối chương trình này sang một khối chương trình khác, ví dụ khơng thể nhày từ FC1 sang FC10.
Nhãn là một dãy với nhiều nhất 4 ký tự hoặc số và phải được bắt đầu bằng một ký tự. Khoảng cách bước nhảy tính theo ơ nhớ chứa chương trình phải ít hơn 32767 từ. Nơi nhảy đến cĩ thể nằm trước hoặc nằm sau lệnh nhảy. Hình vẽ mơ tả phương thức làm việc của lệnh rẽ nhánh theo bit trạng thái tới địa điểm “nhãn” trong chương trình.
§ Rẽ nhánh khi BR=1 Cú pháp: JBI <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 - 0
Ví dụ:
JBI dest
}
M Đoạn chương trình được nhảy qua dest: A I0.0
M } Phần chương trình được thực hiện tiếp
§ Rẽ nhánh khi BR=0
Cú pháp: JNBI <nhãn>
Nếu điều kiện kiểm tra được thỏa mãn Kiểm tra điều kiện nhảy Đoạn chương trình được nhảy qua Phần chương trình được thực hiện tiếp Nhãn a) Nhảy xuơi Nếu điều kiện kiểm tra được thỏa mãn Kiểm tra điều kiện nhảy Phần chương trình được thực hiện tiếp Nhãn b) Nhảy ngược
Lệnh thay đổi nội dung thanh ghi trạng thái giống như lệnh JBI dest: A I0.0
M
JNBI dest // Nhảy đến dest nếu BR=0 M
§ 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
§ 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 như lệnh JC
§ 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 nếu như phép tính trước đĩ cĩ kết quả â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 nếu như 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 nếu như 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 nếu như 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 nếu như phép tính trước đĩ cĩ kết quả là một số khơng dương (âm 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 nếu như phép tính trước đĩ cĩ kết quả là một số khơng âm(dương hoặc bằng 0).
§ Rẽ nhánh vơ điều kiện Cú pháp: JU <nhãn>
Lệnh khơng làm thay đổi nội dung thanh ghi trạng thái và được thực hiện vơ điều kiện, khơng phụ thuộc bất cứ một bit trạng thái nào.
6.3. Lệnh xoay vịng (LOOP) Cú pháp: LOOP <nhãn>
Khi gặp lệnh LOOP, CPU của S7-400 sẽ tự giảm nội dung của từ thấp trong thanh ghi ACCU1 đi một đơn vị và kiểm tra xem 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 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 như lệnh FOR... của C bằng cách thực hiện bước nhảy ngược (hình vẽ). Đ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 khơng làm thay đổi nội dung thanh ghi trạng thái.
Nhãn ACCU1.L=ACCU1.L-1 ACCU1.L=0? Y N Phần chương trình
được thực hiện tiếp