290 likes | 513 Views
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: nhtan@hcmut.edu.vn. Tổng quan về HSC. HSC cung cấp một khối đếm xung cho encoder.
E N D
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: nhtan@hcmut.edu.vn
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ị đếm<giá trị đặt • Counter 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.
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
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
Đặ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
Hướng dẫn HSC Wizard (sinh viên xem trên lớp)