Minh hoạ lệnh CAD

Một phần của tài liệu Bài giảng kỹ thuật logic khả trình PLC (Trang 87)

4.2.2.4 Nhóm lnh so sánh s nguyên 16 bits

Tất cả các lệnh so sánh sốnguyên 16 bits đều nằm trong từ thấp của hai thanh ghi ACCU1 và ACCU2, và đều tác động vào thanh ghi trạng thái như sau:

BR CC1 CC0 OV OS OR STA RLO FC

- x x 0 - 0 x x 1

Trong đó hai bits CC1 và CC0 thay đổi theo quy tắc như bảng 4.7.

Bng 4.7. Quy tắc thay đổi ca CC0 và CC1 vi nhóm lnh s nguyên 16 bits

CC1 CC0 Ý nghĩa

0 0 Từ thấp ACCU2 = Từ thấp ACCU1

0 1 Từ thấp ACCU2 < Từ thấp ACCU1

1 0 Từ thấp ACCU2 > Từ thấp ACCU1

* Lệnh so sánh bằng nhau hai số nguyên 16 bits

Cú pháp ==I

Lệnh khơng có tốn hạng.

Lệnh so sánh hai số nguyên 16 bits trong từ thấp hai thanh ghi ACCU1 và ACCU2. Nếu chúng giống nhau thì RLO = 1, ngược lại thì RLO = 0.

* Lệnh so sánh không bằng nhau hai số nguyên 16 bits

Cú pháp <>I

Lệnh khơng có tốn hạng.

Lệnh so sánh hai số nguyên 16 bits trong từ thấp hai thanh ghi ACCU1 và ACCU2. Nếu chúng khác nhau thì RLO = 1, ngược lại thì RLO = 0.

* Lệnh so sánh lớn hơn hai số nguyên 16 bits

Cú pháp >I

Lệnh khơng có tốn hạng.

Lệnh so sánh hai số nguyên 16 bits trong từ thấp hai thanh ghi ACCU1 và ACCU2. Nếu số nguyên trong từ thấp của ACCU2 lớn hơn ACCU1 thì RLO = 1, ngược lại thì RLO = 0.

* Lệnh so sánh nhỏhơn hai số nguyên 16 bits

Cú pháp <I

Lệnh khơng có tốn hạng.

Lệnh so sánh hai số nguyên 16 bits trong từ thấp hai thanh ghi ACCU1 và ACCU2. Nếu số nguyên trong từ thấp của ACCU2 nhỏhơn ACCU1 thì RLO = 1, ngược lại thì RLO = 0.

* Lệnh so sánh lớn hơn hoặc bằng hai số nguyên 16 bits

Cú pháp >=I

Lệnh khơng có tốn hạng.

Lệnh so sánh hai số nguyên 16 bits trong từ thấp hai thanh ghi ACCU1 và ACCU2. Nếu số nguyên trong từ thấp của ACCU2 lớn hơn hoặc bằng ACCU1 thì RLO = 1, ngược lại thì RLO = 0.

* Lệnh so sánh nhỏhơn hoặc bằng hai số nguyên 16 bits

Cú pháp <=I

Lệnh khơng có tốn hạng.

Lệnh so sánh hai số nguyên 16 bits trong từ thấp hai thanh ghi ACCU1 và ACCU2. Nếu số nguyên trong từ thấp của ACCU2 nhỏhơn hoặc bằng ACCU1 thì RLO = 1, ngược lại thì RLO = 0.

4.2.2.5. Nhóm lnh so sánh s nguyên 32 bits

Tất cả các lệnh so sánh số nguyên 32 bits của hai thanh ghi ACCU1 và ACCU2 đều tác động vào thanh ghi trạng thái như sau:

BR CC1 CC0 OV OS OR STA RLO FC

- x x 0 - 0 x x 1

Trong đó hai bits CC1 và CC0 thay đổi theo quy tắc như bảng 4.8.

Bng 4.8. Quy tắc thay đổi ca CC0 và CC1 vi nhóm lnh s nguyên 32 bits

CC1 CC0 Ý nghĩa

0 0 ACCU2 = ACCU1

0 1 ACCU2 < ACCU1

1 0 ACCU2 > ACCU1

* Lệnh so sánh bằng nhau hai số nguyên 32 bits

Cú pháp ==D

Lệnh khơng có tốn hạng.

Lệnh so sánh hai số nguyên 32 bits trong hai thanh ghi ACCU1 và ACCU2. Nếu chúng giống nhau thì RLO = 1, ngược lại thì RLO = 0.

Ví dụ: Viết chương trình báo đèn Q1.0 sáng nếu số ngun trong ơ nhớ MD10 bằng 100.

L 100 ==D

= Q1.0

* Lệnh so sánh không bằng nhau hai số nguyên 32 bits

Cú pháp <>D

Lệnh khơng có tốn hạng.

Lệnh so sánh hai số nguyên 32 bits trong hai thanh ghi ACCU1 và ACCU2. Nếu chúng khác nhau thì RLO = 1, ngược lại thì RLO = 0.

* Lệnh so sánh lớn hơn hai số nguyên 32 bits

Cú pháp >D

Lệnh khơng có tốn hạng.

Lệnh so sánh hai số nguyên 32 bits trong hai thanh ghi ACCU1 và ACCU2. Nếu số nguyên trong ACCU2 lớn hơn ACCU1 thì RLO = 1, ngược lại thì RLO = 0.

* Lệnh so sánh nhỏhơn hai số nguyên 32 bits

Cú pháp <D

Lệnh khơng có tốn hạng.

Lệnh so sánh hai số nguyên 32 bits trong thanh ghi ACCU1 và ACCU2. Nếu số nguyên trong ACCU2 nhỏhơn ACCU1 thì RLO = 1, ngược lại thì RLO = 0.

* Lệnh so sánh lớn hơn hoặc bằng hai số nguyên 32 bits

Cú pháp >=D

Lệnh khơng có tốn hạng.

Lệnh so sánh hai số nguyên 32 bits trong hai thanh ghi ACCU1 và ACCU2. Nếu số nguyên trong ACCU2 lớn hơn hoặc bằng ACCU1 thì RLO = 1, ngược lại thì RLO = 0.

* Lệnh so sánh nhỏ hơn hoặc bằng hai số nguyên 32 bits

Cú pháp <=D

Lệnh khơng có tốn hạng.

Lệnh so sánh hai số nguyên 32 bits trong hai thanh ghi ACCU1 và ACCU2. Nếu số nguyên trong ACCU2 nhỏhơn hoặc bằng ACCU1 thì RLO = 1, ngược lại thì RLO = 0.

4.2.2.6. Nhóm lnh so sánh s thc 32 bits

Tất cả các lệnh so sánh số thực 32 bits của hai thanh ghi ACCU1 và ACCU2 đều tác động vào thanh ghi trạng thái như sau:

BR CC1 CC0 OV OS OR STA RLO FC

- x x x x 0 x x 1

Bng 4.9. Quy tắc thay đổi ca CC0 và CC1 vi nhóm lnh s thc

CC1 CC0 Ý nghĩa

0 0 ACCU2 = ACCU1

0 1 ACCU2 < ACCU1

1 0 ACCU2 > ACCU1

* Lệnh so sánh bằng nhau hai số thực 32 bits

Cú pháp ==R

Lệnh khơng có tốn hạng.

Lệnh so sánh hai số thực 32 bits trong hai thanh ghi ACCU1 và ACCU2. Nếu chúng giống nhau thì RLO = 1, ngược lại thì RLO = 0.

* Lệnh so sánh không bằng nhau hai số thực 32 bits

Cú pháp <>R

Lệnh khơng có tốn hạng.

Lệnh so sánh hai số thực 32 bits trong hai thanh ghi ACCU1 và ACCU2. Nếu chúng khác nhau thì RLO = 1, ngược lại thì RLO = 0.

* Lệnh so sánh lớn hơn hai số thực 32 bits

Cú pháp >R

Lệnh khơng có tốn hạng.

Lệnh so sánh hai số thực 32 bits trong hai thanh ghi ACCU1 và ACCU2. Nếu số thực trong ACCU2 lớn hơn ACCU1 thì RLO = 1, ngược lại thì RLO = 0.

* Lệnh so sánh nhỏhơn hai số thực 32 bits

Cú pháp <R

Lệnh khơng có tốn hạng.

Lệnh so sánh hai số thực 32 bits trong thanh ghi ACCU1 và ACCU2. Nếu số thực trong ACCU2 nhỏ hơn ACCU1 thì RLO = 1, ngược lại thì RLO = 0.

* Lệnh so sánh lớn hơn hoặc bằng hai số thực 32 bits

Cú pháp >=R

Lệnh khơng có tốn hạng.

Lệnh so sánh hai số thực 32 bits trong hai thanh ghi ACCU1 và ACCU2. Nếu số thực trong ACCU2 lớn hơn hoặc bằng ACCU1 thì RLO = 1, ngược lại thì RLO = 0.

* Lệnh so sánh nhỏhơn hoặc bằng hai số thực 32 bits

Cú pháp <=R

Lệnh khơng có tốn hạng.

Lệnh so sánh hai số thực 32 bits trong hai thanh ghi ACCU1 và ACCU2. Nếu số thực trong ACCU2 nhỏhơn hoặc bằng ACCU1 thì RLO = 1, ngược lại thì RLO = 0.

4.2.3 Các lệnh toán học

Tất cả các lệnh thực hiện với nội dung hai thanh ghi ACCU1 và ACCU2 đều tác động vào thanh ghi trạng thái như sau:

BR CC1 CC0 OV OS OR STA RLO FC

- x x x x - - - -

Trong đó hai bits CC1 và CC0 thay đổi theo quy tắc như bảng 4.10.

Bng 4.10. Quy tắc thay đổi ca CC0 và CC1 vi các lnh toán hc

CC1 CC0 Ý nghĩa 0 0 Kết quả = 0 0 1 Kết quả < 0 1 0 Kết quả > 0 4.2.3.1. Nhóm lnh làm vic vi s nguyên 16 bits * Lệnh cộng Cú pháp +I Lệnh khơng có tốn hạng.

Lệnh thực hiện phép cộng hai số nguyên 16 bits trong từ thấp hai thanh ghi ACCU1 và ACCU2, kết quảđược ghi vào từ thấp của ACCU1, nội dung thanh ghi ACCU2 không thay đổi. Nếu kết quả nằm trong khoảng -32768  32767 thì bit OV có giá trị bằng 0, ngược lại 2 bit OV và OS trong thanh ghi trạng thái có giá trị bằng 1.

Ví dụ: Cộng hai số nguyên 16 bits chứa trong IW10 và IW20, cất kết quả vào ô nhớ DBW20 của khối dữ liệu DB1. L IW10 L IW20 +I T DB1.DBW20 * Lệnh trừ Cú pháp -I Lệnh khơng có tốn hạng.

Lệnh thực hiện phép trừ số nguyên 16 bits trong từ thấp của thanh ghi ACCU2 cho số nguyên 16 bits trong từ thấp của thanh ghi ACCU1. Kết quảđược ghi vào từ thấp của ACCU1, nội dung thanh ghi ACCU2 không thay đổi. Nếu kết quả nằm trong khoảng -32768  32767 thì bit OV có giá trị bằng 0, ngược lại 2 bit OV và OS trong thanh ghi trạng thái có giá trị bằng 1.

* Lệnh nhân

Cú pháp *I

Lệnh thực hiện phép nhân hai số nguyên 16 bits trong từ thấp hai thanh ghi ACCU1 và ACCU2, kết quảđược ghi vào từ thấp của ACCU1, nội dung thanh ghi ACCU2 không thay đổi. Nếu kết quả nằm trong khoảng -32768  32767 thì bit OV có giá trị bằng 0, ngược lại 2 bit OV và OS trong thanh ghi trạng thái có giá trị bằng 1.

* Lệnh chia

Cú pháp /I

Lệnh khơng có tốn hạng.

Lệnh thực hiện phép chia số nguyên 16 bits trong từ thấp của thanh ghi ACCU2 cho số nguyên 16 bits trong từ thấp của thanh ghi ACCU1. Kết quả là một số nguyên 16 bits sẽđược ghi vào từ thấp của ACCU1, phân dư của phép chia được ghi vào từ cao trong thanh ghi ACCU1, nội dung thanh ghi ACCU2 không thay đổi. Nếu kết quả nằm trong khoảng -32768  32767 thì bit OV có giá trị bằng 0, ngược lại 2 bit OV và OS trong thanh ghi trạng thái có giá trị bằng 1.

4.2.3.2. Nhóm lnh làm vic vi s nguyên 32 bits

* Lệnh cộng

Cú pháp +D

Lệnh khơng có tốn hạng.

Lệnh thực hiện phép cộng hai số nguyên 32 bits trong hai thanh ghi ACCU1 và ACCU2, kết quảđược ghi vào ACCU1, nội dung thanh ghi ACCU2 không thay đổi. Nếu kết quả nằm trong khoảng -2147483648 (-2^31)  2147483647 (2^31-1) thì bit OV có giá trị bằng 0, ngược lại 2 bit OV và OS trong thanh ghi trạng thái có giá trị bằng 1.

* Lệnh trừ

Cú pháp -D

Lệnh khơng có tốn hạng.

Lệnh thực hiện phép trừ số nguyên 32 bits trong thanh ghi ACCU2 cho số nguyên 32 bits trong thanh ghi ACCU1. Kết quảđược ghi vào ACCU1, nội dung thanh ghi ACCU2 không thay đổi. Nếu kết quả nằm trong khoảng -2147483648 (-2^31)  2147483647 (2^31-1) thì bit OV có giá trị bằng 0, ngược lại 2 bits OV và OS trong thanh ghi trạng thái có giá trị bằng 1.

* Lệnh nhân

Cú pháp *D

Lệnh khơng có tốn hạng.

Lệnh thực hiện phép nhân hai số nguyên 32 bits trong hai thanh ghi ACCU1 và ACCU2, kết quảđược ghi vào ACCU1, nội dung thanh ghi ACCU2 không thay đổi. Nếu kết quả nằm trong khoảng -2147483648 (-2^31)  2147483647 (2^31-1) thì bit OV có giá trị bằng 0, ngược lại 2 bits OV và OS trong thanh ghi trạng thái có giá trị bằng 1.

* Lệnh chia

Lệnh khơng có tốn hạng.

Lệnh thực hiện phép chia số nguyên 32 bits trong thanh ghi ACCU2 cho số nguyên 32 bits trong thanh ghi ACCU1. Kết quả là một số nguyên 32 bits sẽ được ghi vào ACCU1. Nếu kết quả nằm trong khoảng -2147483648 (-2^31)  2147483647 (2^31-1) thì bit OV có giá trị bằng 0, ngược lại 2 bits OV và OS trong thanh ghi trạng thái có giá trị bằng 1.

* Lệnh lấy phần dư

Cú pháp MOD

Lệnh khơng có tốn hạng và xác định phần dư của phép chia số nguyên 32 bits trong thanh ghi ACCU2 cho số nguyên 32 bits trong thanh ghi ACCU1. Kết quả là một số nguyên 32 bits sẽ được ghi vào ACCU1. Nếu kết quả nằm trong khoảng -2147483648 (-2^31)  2147483647 (2^31-1) thì bit OV có giá trị bằng 0, ngược lại 2 bits OV và OS trong thanh ghi trạng thái có giá trị bằng 1.

4.2.3.3. Nhóm lnh làm vic vi s thc 32 bits

* Lệnh cộng

Cú pháp +R

Lệnh khơng có tốn hạng.

Lệnh thực hiện phép cộng hai số thực dấu phẩy động nằm trong hai thanh ghi ACCU1 và ACCU2, kết quảđược ghi vào ACCU1, nội dung thanh ghi ACCU2 không thay đổi. Nếu kết quả nằm trong khoảng -3.402823E+38  -1.175495E-38 hoặc 1.175495E-38  3.402823E+38 thì bit OV có giá trị bằng 0, ngược lại 2 bits OV và OS trong thanh ghi trạng thái có giá trị bằng 1.

* Lệnh trừ

Cú pháp -R

Lệnh khơng có tốn hạng.

Lệnh thực hiện phép trừ số thực 32 bits trong thanh ghi ACCU2 cho số thực 32 bits trong thanh ghi ACCU1. Kết quảđược ghi vào ACCU1, nội dung thanh ghi ACCU2 không thay đổi. Nếu kết quả nằm trong khoảng -3.402823E+38  -1.175495E-38 hoặc 1.175495E-38  3.402823E+38 thì bit OV có giá trị bằng 0, ngược lại 2 bits OV và OS trong thanh ghi trạng thái có giá trị bằng 1. Ví dụ: Thực hiện phép trừ hai số thực MD10 - MD14, kết quả cất vào MD20: L MD10 L MD14 -R T MD20 * Lệnh nhân Cú pháp *R Lệnh khơng có tốn hạng.

quảđược ghi vào ACCU1, nội dung thanh ghi ACCU2 không thay đổi. Nếu kết quả nằm trong khoảng -3.402823E+38  -1.175495E-38 hoặc 1.175495E-38  3.402823E+38 thì bit OV có giá trị bằng 0, ngược lại 2 bits OV và OS trong thanh ghi trạng thái có giá trị bằng 1.

* Lệnh chia

Cú pháp /R

Lệnh khơng có tốn hạng.

Lệnh thực hiện phép chia số thực 32 bits trong thanh ghi ACCU2 cho số thực 32 bits trong thanh ghi ACCU1. Kết quả là một số thực 32 bits sẽđược ghi vào ACCU1. Nếu kết quả nằm trong khoảng -3.402823E+38  -1.175495E-38 hoặc bằng 0 hoặc nằm trong khoảng 1.175495E-38  3.402823E+38 thì bit OV có giá trị bằng 0, ngược lại 2 bits OV và OS trong thanh ghi trạng thái có giá trị bằng 1.

* Lệnh lấy giá trị tuyệt đối

Cú pháp ABS

Lệnh này khơng có tốn hạng, nó xác định giá trị tuyệt đối của số thực trong ACCU1, kết quả ghi lại vào ACCU1. Lệnh này không làm thay đổi các bit trạng thái.

2.2.4. Lệnh logic tiếp điểm trên thanh ghi trạng thái

Do các lệnh toán học ở phần trên khi thực hiện không làm thay đổi nội dung bit RLO trong thanh ghi trạng thái nên nó được kết hợp với lệnh logic như AND, OR… dưới dạng lệnh logic tiếp điểm trên thanh ghi trạng thái.

Các lệnh này tác động lên thanh ghi trạng thái như sau:

BR CC1 CC0 OV OS OR STA RLO FC

- - - - - x x x 1

2.2.4.1. Lnh AND

* Lệnh AND nhỏhơn

Cú pháp A <0

Lệnh tính ̅̅̅̅̅, kết quảđược ghi lại vào RLO. Như vậy, lệnh kiểm tra phép tính vừa thực hiện (cộng, trừ, nhân, chia…) có nhỏhơn 0 hay khơng (0 – sai, 1 –đúng) rồi thực hiện phép  với RLO.

Ví dụ: Nếu số nguyên 16 bits x trong MW10 thoả mãn -2  x <3 thì báo đèn Q4.0 sáng.

L -2 L MW10 <=I L 3 -I A <0 =Q4.0

* Lệnh AND lớn hơn

Cú pháp A >0

Lệnh tính ̅̅̅̅̅ , kết quảđược ghi lại vào RLO. Như vậy, lệnh kiểm tra phép tính vừa thực hiện (cộng, trừ, nhân, chia…) có lớn hơn 0 hay khơng (0 – sai, 1 – đúng) rồi thực hiện phép  với RLO.

* Lệnh AND khác nhau

Cú pháp A <>0

Lệnh tính [( ̅̅̅̅̅ ) ( ̅̅̅̅̅)], kết quả được ghi lại vào RLO. Như vậy, lệnh kiểm tra phép tính vừa thực hiện (cộng, trừ, nhân, chia…) có khác 0 hay không (0 – sai, 1 – đúng) rồi thực hiện phép  với RLO.

* Lệnh AND bằng nhau

Cú pháp A ==0

Lệnh tính ̅̅̅̅̅ ̅̅̅̅̅, kết quảđược ghi lại vào RLO. Như vậy, lệnh kiểm tra phép tính vừa thực hiện (cộng, trừ, nhân, chia…) có bằng 0 hay khơng (0 – sai, 1 – đúng) rồi thực hiện phép  với RLO.

* Lệnh AND lớn hơn hoặc bằng

Cú pháp A >=0

Lệnh tính ̅̅̅̅̅, kết quảđược ghi lại vào RLO. Như vậy, lệnh kiểm tra phép tính vừa thực hiện (cộng, trừ, nhân, chia…) có lớn hơn hoặc bằng 0 hay không (0 – sai, 1 –đúng) rồi thực hiện phép  với RLO.

* Lệnh AND nhỏhơn hoặc bằng

Cú pháp A <=0

Lệnh tính ̅̅̅̅̅, kết quả được ghi lại vào RLO. Như vậy, lệnh kiểm tra phép tính vừa thực hiện (cộng, trừ, nhân, chia…) có nhỏ hơn hoặc bằng 0 hay khơng (0 – sai, 1 – đúng) rồi thực hiện phép  với RLO.

2.2.4.2. Lnh OR

* Lệnh OR nhỏhơn

Cú pháp O <0

Lệnh tính ( ̅̅̅̅̅), kết quả được ghi lại vào RLO. Như vậy, lệnh kiểm tra phép tính vừa thực hiện (cộng, trừ, nhân, chia…) có nhỏhơn 0 hay khơng (0 – sai, 1 –đúng) rồi thực hiện phép  với RLO.

Ví dụ: Nếu số nguyên 16 bits x trong MW10 thoả mãn x < -1 hoặc x > 2 thì báo đèn Q4.0

Một phần của tài liệu Bài giảng kỹ thuật logic khả trình PLC (Trang 87)

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

(126 trang)