IV. THIẾT KẾ CHƯƠNG TRèNH ĐIỀU KHIỂN
4.2.3. Cấu trỳc lệnh và trạng thỏi kết quả
+ Toỏn hạng là dữ liệu
- Dữ liệu logic True và False cú độ dài 1 bit. - Số nhị phõn.
- Dữ liệu thời gian cho biến kiểu S5T dạng giờ_phỳt_giõy_miligiõy. - C: biểu diễn giỏ trị số đếm đặt trước cho bộ đếm.
- P: dữ liệu biểu diễn địa chỉ của một bit ụ nhớ. - Dữ liệu kớ tự.
+ Thanh ghi trạng thỏi
Khi thực hiện lệnh, CPU sẽ ghi nhận lại trạng thỏi của phộp tớnh trung gian cũng như của kết quả vào một thanh ghi 16 bit và được gọi là thanh ghi trạng thỏi (status word). Tuy nhiờn nú chỉ sử dụng với 9 bit và cấu trỳc được mụ tả như sau:
8 7 6 5 4 3 2 1 0
BR CC1 CC0 OV OS OR STA RLO FC
1. Cỏc lệnh logic
Lệnh logic làm việc trờn hệ thống số nhị phõn với hai bit số, đú là : bit 1 và bit 0 Trong điều khiển người ta thường quy định 1 là trạng thỏi hoạt động hay cú năng lượng, 0 là trạng thỏi khụng hoạt động hay khụng năng lượng.
cỏc lệnh cơ bản sau: • A Và (And)
• AN Phủ định và (And Not) • O Hoặc (Or)
• ON Phủ định hoặc (Or Not) • X Loại trừ (Exclusive) • FP Phỏt hiện cạnh lờn (Edge Positive) • R Xúa nhớ (Reset) • S Nhớ (Set) • NOT Phủ định R • SET Nhớ RLO (=1) • CLR Xúa RLO (=0) • FN Phỏt hiện cạnh xuống (Edge Negative)
- 88 -
2. Lệnh nạp và chuyển nội dung thanh ghi
Trong CPU của S7-300 thường cú hai thanh ghi Accumulator (ACCU) kớ hiệu là ACCU1 và ACCU2 [2][3]. Hai thanh ghi cú cựng kớch thước 32 bit (~ 1 Double Word).
Chỳng cú cấu trỳc như sau:
Lệnh nạp (L - Load) và chuyển (T – Transfer) cho phộp chỳng ta cú khả năng lập trỡnh thay đổi thụng tin lẫn nhau giữa cỏc module ngừ vào hoặc ra và cỏc vựng nhớ, hoặc giữa cỏc vựng nhớ.
3. Lệnh so sỏnh (comparison instruction)
Chỳng ta cú thể dựng cỏc lệnh so sỏnh để so sỏnh cặp giỏ trị số sau: + Hai số nguyờn đơn (16 bit)
+ Hai số nguyờn kộp (32 bit)
+ Hai số thực (dấu chấm động – 32 bit)
4. Lệnh số học (Integer Math Instruction)
Lệnh số học kết hợp nội dung của hai thanh ghi ACCU 1 và ACCU 2. Kết quả đuợc lưu trữ trong thanh ghi ACCU 1 và nội dung cũ của ACCU 1 được ghi vào ACCU 2. Nội dung của ACCU 2 vẫn giữ nguyờn khụng thay đổi. Sử dụng phộp toỏn số học, ta thực hiện 4 phộp toỏn cộng (+), trừ (-), nhõn (*), chia(/) với 2 loại :Số nguyờn (integer number)16 bit và 32 bit; Số thực (real number). Ngoài ra cũn cú một số phộp toỏn khỏc: Trị tuyệt đối, bỡnh phương …
5. Lệnh định thời gian (timer instruction)
+ Nguyờn tắc hoạt động của timer
Bộ định thời gian là một thành phần của bộ điều khiển lập trỡnh cú nhiệm vụ tạo ra thời gian trễ mong muốn giữa tớn hiệu logic ngừ vào và tớn hiệu logic ngừ ra. Lệnh điều khiển thời gian cho phộp chương trỡnh thực hiện cỏc chức năng như:
- 89 -
Theo dừi và kiểm soỏt chuỗi thời gian.
Đo lường thời gian…
Nguyờn tắc hoạt động được mụ tả như hỡnh 2.48.
Hỡnh 2.48: Nguyờn tắc hoạt động của bộ định thời (Timer)
Ngay tại thời điểm kớch timer, giỏ trị PV (thời gian trễ đặt trước) được nạp vào thanh ghi 16 bit của Timer word (gọi là thanh ghi CV – current value). Timer sẽ ghi lại thời gian biến thiờn kể từ khi cú tớn hiệu kớch bằng cỏch giảm tương ứng giỏ trị của CV.
+ Cỏc loại timer
Bao gồm cỏc loại timer sau: S_PULSE, S_PEXT, S_ODT, S_ODTS, S_OFFDT
Hỡnh 2.49: Độ phõn giải của bộ định thời
Làm việc với timer phải khai bỏo đầy đủ cỏc tỏc vụ timersau đõy:
Khai bỏo loại timer sử dụng
Khai bỏo tớn hiệu kớch timer (Enable timer)
Khai bỏo tớn hiệu xúa timer
- 90 - Hiển thị thời gian đọc tức thời.
7. Điều khiển bộ đếm (counter)
+ Nguyờn tắt hoạt động của bộ đếm
Counter là bộ đếm cú nhiệm vụ đếm sườn xung của tớn hiệu đầu vào đếm. Cỏc bộ đếm được lưu trữ trong vựng nhớ dữ liệu của PLC. Khi cú sườn lờn của tớn hiệu enable và đồng thời tại ngừ vào CU cú mức tớn hiệu “1” thỡ bộ đếm thực hiện đếm lờn. Ngược lại, khi đồng thời cú sườn lờn tớn hiệu enable và tại ngừ vào CD cú mức tớn hiệu “1” thỡ bộ đếm sẽ đếm xuống.
Số sườn xung vào đếm được ghi vào một word 16 bit và được gọi là thanh ghi C- word. Nội dung của thanh ghi gọi là giỏ trị đếm tức thời và được kớ hiệu là CV ( Current value). Số đếm được chứa trong vựng nhớ dữ liệu hệ thống dưới dạng nhị phõn và cú giỏ trị chứa trong khoảng 0 ữ 999. Khi CV≠ 0 thỡ bit counter (C-bit) cú giỏ trị là “1”, nếu CV = 0 thỡ C-bit sẽ cú giỏ trị 0. CV là một giỏ trị khụng õm.
+ Cỏc tỏc vụ bộ đếm
- Tớn hiệu kớch đếm (Enable Counter)
- Đọc nội dung của thanh ghi C-word.
-Đọc số đếm tức thời dạng binary.
-Đọc số đếm tức thời dạng BCD.
- Đặt trước giỏ trị đếm (Counter Preset value). - Xúa bộ đếm (Reset Counter).
- Đếm lờn (Counter Up): Tăng Counter lờn 1. - Đếm xuống (Counter Down): Giảm Counter đi 1.