BT 11.5 Máy doa miệng ống kim loại
14.7 Chức năng dịch/quay thanh ghi
Với chức năng dịch chuyển thanh ghi, cỏc bit của biến sẽ ủược dịch về bờn phải hay bờn trỏi theo một giỏ trị xỏc ủịnh. Tựy theo việc dịch chuyển thanh ghi là 1 Byte, 1 word hay 1 double word mà giỏ trị dịch cú thể tối ủa là 8, 16 hay 32.
Nếu có thực hiện phép toán dịch (khác 0) thì nội dung của bit sau cùng thoỏt ra khỏi thanh ghi ủược chứa trong ụ nhớ SM1.1. Cũn nếu sau khi thực hiện phộp dịch mà kết quả thu ủược của cỏc thanh ghi là 0 thỡ ụ nhớ SM1.0 ủược hệ ủiều hành ủặt giỏ trị là 1.
Trong PLC họ S7-200, ngoài ngụn ngữ ủược biểu diễn theo chuẩn IEC 1131-3, cũn cú ngụn ngữ ủược biểu diễn theo chuẩn của hóng sản xuất (Siemens). Cỏc lệnh dịch chuyển thanh ghi ủược cho như sau:
14.7.1.1 Dịch trái
Ở phép toán dịch trái, cho phép dịch byte, word và double word.
Cú pháp chung biểu diễn ỏ LAD là:
Với:
* x: Có thể là B (Byte), W (Word), DW (Double word).
* IN: Thanh ghi cần dịch trái có thể Byte, Word hoặc Double word.
* OUT: Nơi lưu trữ giá trị sau khi dịch trái. có thể Byte, Word hoặc Double word.
* N: Số lượng bit cần dịch trái. Tùy theo dịch byte, word hay double word mà N có giá trị max là 8, 16, 32.
SHL_x
14 Cỏc phộp toỏn cơ bản trong ủiều khiển số Chõu Chớ Đức
274
* EN, ENO: Xem mục 14.2.1 Cú pháp chung biểu diễn ỏ STL là:
* Dịch trái byte: SLB OUT, N
* Dịch trái word: SLW OUT, N
* Dịch trái double word: SLD OUT, N
C ý: Ở STL, thỡ kết quả sau phộp dịch trỏi s ủược chứa vào chớnh thanh ghi cần dịch.
Vớ dụ: Khi bit M10.0 từ “0”à “1” thỡ yờu cầu dịch trỏi byte VB10 ủi 3 vị trớ, kết quả chứa vào VB10.
LAD STL
VB10 trước khi dịch:
VB10 sau khi dịch 3 vị trí:
14.7.1.2 Dch phải
Ở phép toán dịch phải, cho phép dịch byte, word và double word.
Cú pháp chung biểu diễn ỏ LAD là:
Với:
* x: Có thể là B (Byte), W (Word), DW (Double word).
* IN: Thanh ghi cần dịch phải có thể Byte, Word hoặc Double word.
* OUT: Nơi lưu trữ giá trị sau khi dịch phải. có thể Byte, Word hoặc Double word.
* N: Số lượng bit cần dịch phải. Tùy theo dịch byte, word hay double word mà N có giá trị max là 8, 16, 32.
* EN, ENO: Xem mục 14.2.1 Cú pháp chung biểu diễn ỏ STL là:
1 0 1 0 1 0 0 1
0 1 0 0 1 0 0 0
1 SM1.1
Chiều dịch
SHR_x
Chõu Chớ Đức 14 Cỏc phộp toỏn cơ bản trong ủiều khiển số
* Dịch phải byte: SRB OUT, N
* Dịch phải word: SRW OUT, N
* Dịch phải double word: SRD OUT, N
ý: Ở STL, thỡ kết quả sau phộp dịch phải s ủược chứa vào chớnh thanh ghi cần dịch.
Để lấy các phép toán d<ch thanh ghi ở màn hình soạn thảo LAD, ta nhấp chuột vào dấu (+) ở biểu tượng trong cõy lệnh. Sau ủú trỏ chuột vào một trong các lệnh cần lấy là:
: dịch trái byte : dịch phải byte : dịch trái word : dịch phải word
: dịch trái double word : dịch phải double word giữ chuột trỏi, kộo và thả vào vị trớ mong muốn. Nhập ủiều kiện cho ngừ vào EN, nếu lúc nào cũng thực hiện thì sử dụng bit nhớ SM0.0. Nhập các biến cần dịch ở ngõ IN. Số bit cần dịch ở ngõ N. Nhập biến chứa kết quả ở ngõ OUT.
(thông thường ngõ vào và ra có chung một biến).
Vớ dụ: Khi bit M10.0 từ “1”à “0” thỡ yờu cầu dịch trỏi byte VB10 ủi 3 vị trớ, kết quả chứa vào VB10.
LAD STL
VB10 trước khi dịch:
VB10 sau khi dịch 3 vị trí
14.7.2 Chức năng quay thanh ghi
Với chức năng quay thanh ghi, các bit của biến (byte, word, double word) sẽ ủược ủẩy vũng trũn sang phải hay sang trỏi theo một giỏ trị xỏc ủịnh.
Tại mỗi một lần quay, giỏ trị logic của bit bị ủẩy ra khỏi ủầu này cũng là giỏ trị logic ủược ủưa vào ủầu kia của biến.
Lệnh quay sẽ khụng thực hiện ủược nếu như số ủếm lần quay cú giỏ trị bằng 0 hay là bằng bội số của 8 ủối với quay byte, 16 ủối với word hay 32 ủối với double word.
1 0 1 0 1 0 0 1
0 0 0 1 0 1 0 1 0 Chiều dịch
SM1.1
14 Cỏc phộp toỏn cơ bản trong ủiều khiển số Chõu Chớ Đức
276
Đối với cỏc giỏ trị khỏc của số ủếm lần quay lớn hơn 8 (ủối với byte), lớn hơn 16 (ủối với word) hoặc 32 (ủối với double word), thỡ lệnh sẽ thực hiện với số ủếm lần quay mới bằng phần dư của số lần quay cũ chia cho 8, 16 hoặc chia cho 32.
Nếu có thực hiện phép toán quay (khác 0) thì nội dung của bit sau cựng thoỏt ra khỏi thanh ghi ủược chứa vào ụ nhớ SM1.1. Cũn nếu sau khi thực hiện phộp quay mà kết quả thu ủược của cỏc thanh ghi là 0 thỡ ụ nhớ SM1.0 ủược hệ ủiều hành ủặt giỏ trị là 1.
Trong PLC họ S7-200, ngoài ngụn ngữ ủược biểu diễn theo chuẩn IEC 1131-3, cũn cú ngụn ngữ ủược biểu diễn theo chuẩn của hóng sản xuất (Siemens). Cỏc lệnh quay thanh ghi ủược cho như sau:
14.7.2.1 Quay trái
Ở phép toán quay trái, cho phép quay byte, word và double word.
Cú pháp chung biểu diễn ỏ LAD là:
Với:
* x: Có thể là B (Byte), W (Word), DW (Double word).
* IN: Thanh ghi cần quay trái có thể Byte, Word hoặc Double word.
* OUT: Nơi lưu trữ giá trị sau khi quay trái. có thể Byte, Word hoặc Double word.
* N: Số lượng bit cần quay trái.
* EN, ENO: Xem mục 14.2.1
Cú pháp chung biểu diễn ỏ STL là:
* Quay trái byte: RLB OUT, N
* Quay trái word: RLW OUT, N
* Quay trái double word: RLD OUT, N
Chỳ ý: Ở STL, thỡ kết quả sau phộp quay trỏi s ủược chứa vào chớnh thanh ghi cần quay.
Để lấy các phép toán quay thanh ghi ở màn hình soạn thảo LAD, ta nhấp chuột vào dấu (+) ở biểu tượng trong cõy lệnh. Sau ủú trỏ chuột vào một trong các lệnh cần lấy là:
: Quay trái byte : Quay phải byte : Quay trái word : Quay phải word
: Quay trái double word : Quay phải double word ROL_x