Lệnh Trừ Số Nguyên 16 Bit (Sub-I _Subtract Interger)

- R: reset timer

- Q: Ngõ ra

- S: Ngõ vào

- TV: S5T#aH_bM_cS_dMS

- aH: giờ

- bM: phút

- cS: giây

- dMS: mili giây

- BI: lưu giá trị đếm dạng integer MWx (x:0-255)

- BCD: lưu giá trị đếm dạng BCD MWx (x:0-255) Giản đồ xung của timer

Có thể bạn quan tâm!

Xem toàn bộ 79 trang tài liệu này.

Hình 4 29 Giản đồ xung timer S ODTS Lệnh S OFFDT Hình 4 30 Ký hiệu timer S OFFDT Tx x 0 1

Hình 4.29. Giản đồ xung timer S_ODTS


- Lệnh S_OFFDT:

Hình 4 30 Ký hiệu timer S OFFDT Tx x 0 255 R reset timer Q Ngõ ra S Ngõ vào TV S5T aH bM cS 2

Hình 4.30. Ký hiệu timer S_OFFDT

- Tx: (x:0-255)

- R: reset timer

- Q: Ngõ ra

- S: Ngõ vào

- TV: S5T#aH_bM_cS_dMS

- aH: giờ

- bM: phút

- cS: giây

- dMS: mili giây

- BI: lưu giá trị đếm dạng integer MWx (x:0-255)

- BCD: lưu giá trị đếm dạng BCD MWx (x:0-255) Giản đồ xung của timer

Hình 4 31 Giản đồ xung timer S OFDT 3 2 4 CÁC TẬP LỆNH VỀ COUNTER Couter UP S CU 3

Hình 4.31. Giản đồ xung timer S_OFDT

3.2.4 CÁC TẬP LỆNH VỀ COUNTER

- Couter UP (S_CU): counter đếm lên

Hình 4 32 Ký hiệu lệnh counter UP C0 tên counter C0 C255 CU ngõ vào đếm khi có tín 4

Hình 4.32. Ký hiệu lệnh counter UP

- C0: tên counter

- (C0-C255)

- CU: ngõ vào đếm khi có tín hiệu từ 0 lên 1

- S: ngõ vào tác động để nạp giá trị đếm (PV) vào counter

- PV: ngõ vào nhập giá trị đếm (C#giá trị)

- R: ngõ vào reset

- CV: ngõ ra lưu giá trị đếm dạng Integer (MW0-MW255)

- CV_BCD: ngõ ra lưu giá trị đếm dạng BCD (MW0-MW255)

- Counter Down (S_CD): counter đếm xuống


Hình 4 33 Ký hiệu lệnh counter DOWN C0 tên counter C0 C255 CU ngõ vào đếm khi có tín 5

Hình 4.33. Ký hiệu lệnh counter DOWN

- C0: tên counter

- (C0-C255)

- CU: ngõ vào đếm khi có tín hiệu từ 0 lên 1

- S: ngõ vào tác động để nạp giá trị đếm (PV) vào counter

- PV: ngõ vào nhập giá trị đếm (C#giá trị)

- R: ngõ vào reset

- CV: ngõ ra lưu giá trị đếm dạng Integer (MW0-MW255)

- CV_BCD: ngõ ra lưu giá trị đếm dạng BCD (MW0-MW255)

Lưu ý: Ngõ ra Q0.0=1 và C0=1 khi giá trị đếm lớn hơn 0

- Đối với counter Down: khi giá trị đếm lùi về 0 thì ngõ ra Q0.0 và C0 bằng 0

- Couter UP_Down (S_CUD): counter đếm lên_xuống

Hình 4 34 Ký hiệu lệnh counter UP DOWN C0 tên counter C0 C255 CU CD ngõ vào đếm lên 6

Hình 4.34. Ký hiệu lệnh counter UP_DOWN

- C0: tên counter (C0-C255)

- CU_CD: ngõ vào đếm lên/xuống khi có tín hiệu từ 0 lên 1

- S: ngõ vào tác động để nạp giá trị đếm (PV) vào counter

- PV: ngõ vào nhập giá trị đếm (C#giá trị)

- R: ngõ vào reset

- CV: ngõ ra lưu giá trị đếm dạng Integer (MW0-MW255)

- CV_BCD: ngõ ra lưu giá trị đếm dạng BCD (MW0-MW255)

- Lệnh EQ_I: so sánh 2 số nguyên bằng nhau

Hình 4 35 Ký hiệu lệnh so sánh bằng 2 số Integer IN1 IN2 2 ngõ vào so sánh MW0 MW255 7

Hình 4.35. Ký hiệu lệnh so sánh bằng 2 số Integer

- IN1, IN2: 2 ngõ vào so sánh (MW0-MW255)

- Nếu ngõ vào IN1 = IN2 thì ngõ ra Q0.0 = 1, ngược lại Q0.0 = 0

- Lệnh NE_I: so sánh 2 số nguyên khác nhau

Hình 4 36 Ký hiệu lệnh so sánh khác nhau 2 số Integer IN1 IN2 2 ngõ vào so sánh MW0 8

Hình 4.36. Ký hiệu lệnh so sánh khác nhau 2 số Integer

- IN1, IN2: 2 ngõ vào so sánh (MW0-MW255)

- Nếu ngõ vào IN1 khác IN2 thì ngõ ra Q0.0 = 1, ngược lại Q0.0 = 0

- Lệnh GT_I: lệnh so sánh 2 số nguyên lớn hơn

Hình 4 37 Ký hiệu lệnh so sánh 2 số lớn hơn Integer IN1 IN2 2 ngõ vào so sánh MW0 9

Hình 4.37. Ký hiệu lệnh so sánh 2 số lớn hơn Integer

- IN1, IN2: 2 ngõ vào so sánh (MW0-MW255)

- Nếu ngõ vào IN1 > IN2 thì ngõ ra Q0.0 = 1, ngược lại Q0.0 = 0

- Lệnh LT_I: lệnh so sánh 2 số nguyên nhỏ hơn

Hình 4 38 Ký hiệu lệnh so sánh 2 số nhỏ hơn Integer IN1 IN2 2 ngõ vào so sánh MW0 10

Hình 4.38. Ký hiệu lệnh so sánh 2 số nhỏ hơn Integer

- IN1, IN2: 2 ngõ vào so sánh (MW0-MW255)

- Nếu ngõ vào IN1 < IN2 thì ngõ ra Q0.0 = 1, ngược lại Q0.0 = 0

- Lệnh GE_I: lệnh so sánh 2 số nguyên lớn hơn hoặc bằng

Hình 4 39 Ký hiệu lệnh so sánh 2 số lớn hơn hoặc bằng Integer IN1 IN2 2 ngõ vào 11

Hình 4.39. Ký hiệu lệnh so sánh 2 số lớn hơn hoặc bằng Integer

- IN1, IN2: 2 ngõ vào so sánh (MW0-MW255)

- Nếu ngõ vào IN1 lớn hơn hoặc bằng IN2 thì ngõ ra Q0.0 = 1, ngược lại Q0.0

= 0

- Lệnh LE_I: lệnh so sánh 2 số nguyên nhỏ hơn hoặc bằng

Hình 4 40 Ký hiệu lệnh so sánh 2 số nhỏ hơn hoặc bằng Integer IN1 IN2 2 ngõ vào 12

Hình 4.40. Ký hiệu lệnh so sánh 2 số nhỏ hơn hoặc bằng Integer

- IN1, IN2: 2 ngõ vào so sánh (MW0-MW255)

- Nếu ngõ vào IN1 nhỏ hơn hoặc bằng IN2 thì ngõ ra Q0.0 = 1, ngược lại Q0.0

= 0

Ví dụ: Viết chương trình đếm sản phẩm

Yêu cầu: đếm đủ 10 sản phẩm thì đèn báo sáng lên

Giải: Viết chương trình

Hình 4 41 Network 1 Hình 4 42 Network 2 3 2 5 CÁC TẬP LỆNH SỐ HỌC Các lệnh trong 13

Hình 4.41. Network 1

Hình 4 42 Network 2 3 2 5 CÁC TẬP LỆNH SỐ HỌC Các lệnh trong nhóm chức năng toán 14

Hình 4.42. Network 2


3.2.5 CÁC TẬP LỆNH SỐ HỌC

Các lệnh trong nhóm chức năng toán học cơ bản có ký hiệu tương tự nhau và tác động lên thanh ghi trạng thái như nhau, có ký hiệu như sau:

Hình 4 43 Ký hiệu lệnh số học EN là ngõ vào cho phép lệnh toán học hoạt 15

Hình 4.43. Ký hiệu lệnh số học

EN là ngõ vào cho phép lệnh toán học hoạt động (Enable Input). Biểu diễn toán hạng là dữ liệu dạng số nhị phân. Biểu diễn toán hạng là địa chỉ dạng: I, Q, L, M, D.

ENO là ngõ cho phép ngõ ra hoạt động (Enable Output). Ngõ ra ENO có cùng trạng thái với ngõ vào EN. Loại toán hang là dữ liệu dạng số nhị phân. Loại toán hạng là địa chỉ dạng: I, Q, L, M, D.

IN1, IN2: Có chức năng phụ thuộc vào từng loại lệnh. Giá trị tại ngõ vào để thực hiện lệnh toán học, có toán hạng là dữ liệu tùy vào dạng chuyển đổi như số nguyên

16 bit, số nguyên kép 32 bit, số thực, toán hạng là địa chỉ: I, Q, L, M, D hoặc là hằng số nếu là số nguyên. Khi EN=1 thì lệnh toán học thực hiện và giá trị được đọc vào địa chỉ ngõ ra OUT.

OUT: Ngõ ra là kết quả của lệnh toán học. Có toán hạng là dữ liệu tùy vào dạng chuyển đổi như số nguyên 16 bit, số nguyên kép 32 bit, số thực, toán hạng là địa chỉ: I, Q, L, M, D.

LỆNH CỘNG SỐ NGUYÊN 16 BIT (ADD-I _ADD INTERGER)

Ký hiệu:

Hình 4 44 Thông số lệnh cộng số học Hoạt động Khi trạng thái ngõ vào EN 1 16

Hình 4.44. Thông số lệnh cộng số học

Hoạt động:

Khi trạng thái ngõ vào EN=1 thì lệnh ADD-I hoạt động, giá trị IN1 và IN2 được cộng lại và kết quả gửi ra ngõ ra OUT. Nếu kết quả vượt quá giới hạn cho phép của số nguyên 16 Bit thì bit OV và OS lên 1 và ENO=0, nên những chức năng khác mà được nối với ngõ ENO sẽ không hoạt động. Ví dụ:

Hình 4 45 Ví dụ về chức năng lệnh cộng số học Khi ngõ vào I0 0 1 thì lệnh ADD 17

Hình 4.45. Ví dụ về chức năng lệnh cộng số học

Khi ngõ vào I0.0=1 thì lệnh ADD-I hoạt động, kết quả của lệnh cộng MW0+MW2 được xuất ra ngõ MW10. Nếu kết quả nằm ngoài vùng hoạt động của số nguyên 16 Bit thì Q4.0=1.

3.2.6 LỆNH TRỪ SỐ NGUYÊN 16 BIT (SUB-I _SUBTRACT INTERGER)

Ký hiệu:

Hình 4 46 Thông số lệnh trừ số học Hoạt động Khi trạng thái ngõ vào EN 1 thì 18

Hình 4.46. Thông số lệnh trừ số học

Hoạt động:

Khi trạng thái ngõ vào EN=1 thì lệnh SUB-I hoạt động, giá trị IN1 trừ giá trị IN2 và kết quả gửi ra ngõ ra OUT. Nếu kết quả vượt quá giới hạn cho phép của số nguyên 16 Bit thì bit OV và OS lên 1 và ENO=0, nên những chức năng khác mà được nối với ngõ ENO sẽ không hoạt động.

Ví dụ:

Hình 4 47 Ví dụ về chức năng của lệnh SUB I Khi ngõ vào I0 0 1 thì lệnh SUB I 19

Hình 4.47. Ví dụ về chức năng của lệnh SUB_I

Khi ngõ vào I0.0=1 thì lệnh SUB-I hoạt động, kết quả của lệnh trừ MW0-MW2 được xuất ra ngõ MW10. Nếu kết quả nằm ngoài vùng hoạt động của số nguyên 16 Bit hoặc I0.0=0 thì Q4.0=1.

3.2.7 LỆNH NHÂN SỐ NGUYÊN 16 BIT (MUL-I _MULTIPLY INTERGER)

Ký hiệu:

Hình 4 48 Thông số lệnh nhân số học Hoạt động Khi trạng thái ngõ vào EN 1 thì 20

Hình 4.48. Thông số lệnh nhân số học

Hoạt động:

Khi trạng thái ngõ vào EN=1 thì lệnh MUL-I hoạt động, giá trị IN1 và IN2 được nhân lại và kết quả gửi ra ngõ ra OUT. Nếu kết quả vượt quá giới hạn cho phép của số nguyên 16 Bit thì bit OV và OS lên 1 và ENO=0, nên những chức năng khác mà được nối với ngõ ENO sẽ không hoạt động.

Xem toàn bộ nội dung bài viết ᛨ

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 21/02/2024