Tải bản đầy đủ (.ppt) (28 trang)

Hướng dẫn sử dụng HSC để đọc xung tốc độ cao

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.12 MB, 28 trang )

Hướng dẫn sử dụng HSC
để đọc xung tốc độ cao
BS. Nguyễn Hữu Tân
Automatic Control Department-HCMUT
Automatic Control Module – DCSE lab
Tel: 0935129689
Email:


Tổng quan về HSC




HSC cung cấp một khối đếm xung cho
encoder.
Một encoder cung cấp một số lượng xung nhất
định đối với mỗi vòng quay của trục và 1 xung
reset. Các xung này là ngõ vào cho HSC


Tổng quan về HSC





HSC được cung cấp các giá trị đặt.
Ngõ ra được kích hoạt trong khoảng thời gian
giá trị đếmCounter có khả năng cung cấp ngắt khi giá trị


đếm bằng giá trị đặt hay khi xảy ra điều kiện
reset


Tổng quan về HSC


Có 4 loại HSC:

Counter 1 pha với bit điều khiển hướng đếm bên
trong CPU
 Counter 1 pha với bit điều khiển hướng đếm bên
ngoài
 Counter với 2 pha A/B
 Counter với A/B nhân 4
 Có thể sử dụng kết hợp thêm các chế độ:
Không Reset và Start, có reset và không Start hoặc cả 2



Các lệnh lad cho HSC


Lệnh HDEF




Lựa chọn mode hoạt động, nguồn xung clock,
hướng, chiều đếm, start và hàm reset cho HSC

Gọi lần đầu bằng SM0.1


Các lệnh Lad cho HSC



Lệnh HSC







Cấu hình và điều khiển High Speed Counter dựa
trên trạng thái của các bit HSC.
Thông số N cho biết tên của HSC

CPU 222, 221 có 4 HSC: 0, 3,4,5
CPU 224, 224XP và 226 có 6 HSC: 0, 1, 2, 3,
4,5


Lập trình cho HSC dùng HSC Wizard


Cần định nghĩa các thông tin sau cho 1 HSC








Chọn counter và mode hoạt động
Cấu hình byte điều khiển
Cấu hình giá trị hiện tại (current value)
Cấu hình giá trị đặt (preset value)
Gán và cho phép chương trình phục vụ ngắt
Kích hoạt HSC.


Các HSC và Input


Ví dụ về hoạt động của HSC


Mode 0, 1, 2: 1 pha, hướng xác định bởi bit
nội


Ví dụ về hoạt động của HSC


Mode 3, 4, 5: 1 pha, hướng xác định bởi bit
ngoài



Ví dụ về hoạt động của HSC


Mode 6,7,8: 2 xung đếm lên/xuống


Ví dụ về hoạt động của HSC


Mode 9, 10, 11


Ví dụ về hoạt động của HSC


Mode 12: mode nhân 4 cho xung


Hoạt động của Start và Reset


Các bit cấu hình trạng thái Reset


Cấu hình Start, Reset và 1x/4x



Ví dụ cấu hình cho HSC1 ở mode 11



Cấu hình byte điều khiển


Mỗi counter có một byte điều khiển thực hiện
các chức năng






Cho phép hay tắt counter
Điều khiển hướng đếm (mode 0,1,2) hay khởi
động hướng đếm
Cho phép cập nhật current value
Cho phép cập nhật preset value


Cấu hình byte điều khiển


Đặt giá trị current value và preset value




Mỗi counter có 1 cặp thanh ghi 32 bit (có dấu)
cho new current value và new preset value
Để nạp các giá trị này vào counter:






Cấu hình byte điều khiển
Nạp các giá trị mới vào các thanh ghi SMD tương
ứng
Gọi lệnh HSC để cho phép counter chạy và load
giá trị mới


Đặt giá trị current value và preset value

Giá trị hiện tại của counter có thể đọc được bằng cách
đọc các thanh ghi HCx tương ứng
(HC: vùng nhớ dành cho High Speed Counter)


Các bit trạng thái dùng cho HSC


Các bit trạng thái này chỉ có tác dụng trong
chương trình phục vụ ngắt dành cho HSC


Trình tự mẫu khởi động HSC
Ví dụ cài mode 0, 1, 2 cho HSC1








Dùng SM0.1 gọi chương trình con SBR_x cài đặt
thông số cho HSC.
Trong SBR_x cấu hình các bit trong SMB47. Ví dụ
SMB47 = 16#F8
Gọi HDEF để chọn counter và mode hoạt động
Cấu hình SMD48 và SMD 52 cho các trị current và
preset values


Trình tự mẫu khởi động HSC





Liên sự kiện ngắt (13) với ISR và cho phép
ngắt bằng ENI
Gọi lệnh HSC để S7-200 cài đặt HSC1
Thoát SBR_x


Cập nhật giá trị mới cho Current
value






Cấu hình byte điều khiển (SMB47) để cập nhật
lại giá trị current value với (SMB47.6=1,
SMB47.5=0). Ví dụ SMB47 = 2#11000000
Nạp current value mới vào SMD48
Thực thi HSC để nạp trị mới


Cập nhật giá trị mới cho preset value





Cấu hình byte điều khiển (SMB47) để cập nhật
lại giá trị preset với (SMB47.6=0,
SMB47.5=1). Ví dụ SMB47 = 2#10100000
Nạp preset value mới vào SMD52
Thực thi HSC để nạp trị mới


Tắt timer


Cấu hình byte điều khiển (SMB47)








SMB47.7=0: tắt timer
SMB47.6=0: no update current value
SMB47.5=0: no update preset value


Gọi lại HSC để cấu hình timer


×