Hướng dẫn sử dụng HSC Hướng dẫn sử dụng HSC để đọc xung tốc độ caođể đọc xung tốc độ cao
BS. Nguyễn Hữu TânBS. Nguyễn Hữu TânAutomatic Control Department-HCMUTAutomatic Control Department-HCMUTAutomatic Control Module – DCSE labAutomatic Control Module – DCSE lab
Tel: 0935129689Tel: 0935129689Email: [email protected]: [email protected]
Tổng quan về HSCTổng quan về HSC
HSC cung cấp một khối đếm xung cho HSC cung cấp một khối đếm xung cho encoder.encoder.
Một encoder cung cấp một số lượng xung nhất 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 đị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 HSCreset. Các xung này là ngõ vào cho HSC
Tổng quan về HSCTổng quan về HSC
HSC được cung cấp các giá trị đặt.HSC được cung cấp các giá trị đặt. Ngõ ra được kích hoạt trong khoảng thời gian Ngõ ra được kích hoạt trong khoảng thời gian
giá trị đếm<giá trị đặtgiá trị đếm<giá trị đặt Counter có khả năng cung cấp ngắt khi giá trị 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 đếm bằng giá trị đặt hay khi xảy ra điều kiện resetreset
Tổng quan về HSCTổng quan về HSC
Có 4 loại HSC:Có 4 loại HSC: Counter 1 pha với bit điều khiển hướng đếm bên Counter 1 pha với bit điều khiển hướng đếm bên
trong CPUtrong CPU Counter 1 pha với bit điều khiển hướng đếm bên Counter 1 pha với bit điều khiển hướng đếm bên
ngoàingoài Counter với 2 pha A/BCounter với 2 pha A/B Counter với A/B nhân 4Counter với A/B nhân 4
Có thể sử dụng kết hợp thêm các chế độ: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ả 2Không Reset và Start, có reset và không Start hoặc cả 2
Các lệnh lad cho HSC Các lệnh lad cho HSC
Lệnh HDEFLệnh HDEF Lựa chọn mode hoạt động, nguồn xung clock, Lựa chọn mode hoạt động, nguồn xung clock,
hướng, chiều đếm, start và hàm reset cho HSChướng, chiều đếm, start và hàm reset cho HSC Gọi lần đầu bằng SM0.1Gọi lần đầu bằng SM0.1
Các lệnh Lad cho HSCCác lệnh Lad cho HSC Lệnh HSCLệnh HSC
Cấu hình và điều khiển High Speed Counter dựa 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. trên trạng thái của các bit HSC.
Thông số N cho biết tên của HSCThông số N cho biết tên của HSC CPU 222, 221 có 4 HSC: 0, 3,4,5CPU 222, 221 có 4 HSC: 0, 3,4,5 CPU 224, 224XP và 226 có 6 HSC: 0, 1, 2, 3, CPU 224, 224XP và 226 có 6 HSC: 0, 1, 2, 3,
4,54,5
Lập trình cho HSC dùng HSC WizardLập trình cho HSC dùng HSC Wizard
Cần định nghĩa các thông tin sau cho 1 HSCCần định nghĩa các thông tin sau cho 1 HSC Chọn counter và mode hoạt độngChọn counter và mode hoạt động Cấu hình byte điều khiểnCấ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ị hiện tại (current value) Cấu hình giá trị đặt (preset value)Cấu hình giá trị đặt (preset value) Gán và cho phép chương trình phục vụ ngắtGán và cho phép chương trình phục vụ ngắt Kích hoạt HSC.Kích hoạt HSC.
Các HSC và InputCác HSC và Input
Ví dụ về hoạt động của HSCVí dụ về hoạt động của HSC
Mode 0, 1, 2: 1 pha, hướng xác định bởi bit Mode 0, 1, 2: 1 pha, hướng xác định bởi bit nộinội
Ví dụ về hoạt động của HSCVí dụ về hoạt động của HSC
Mode 3, 4, 5: 1 pha, hướng xác định bởi bit Mode 3, 4, 5: 1 pha, hướng xác định bởi bit ngoàingoài
Ví dụ về hoạt động của HSCVí dụ về hoạt động của HSC Mode 6,7,8: 2 xung đếm lên/xuốngMode 6,7,8: 2 xung đếm lên/xuống
Ví dụ về hoạt động của HSCVí dụ về hoạt động của HSC Mode 9, 10, 11Mode 9, 10, 11
Ví dụ về hoạt động của HSCVí dụ về hoạt động của HSC Mode 12: mode nhân 4 cho xungMode 12: mode nhân 4 cho xung
Hoạt động của Start và ResetHoạt động của Start và Reset
Các bit cấu hình trạng thái ResetCác bit cấu hình trạng thái Reset Cấu hình Start, Reset và 1x/4xCấu hình Start, Reset và 1x/4x
Ví dụ cấu hình cho HSC1 ở mode 11Ví dụ cấu hình cho HSC1 ở mode 11
Cấu hình byte điều khiểnCấu hình byte điều khiển
Mỗi counter có một byte điều khiển thực hiện Mỗi counter có một byte điều khiển thực hiện các chức năngcác chức năng Cho phép hay tắt counterCho phép hay tắt counter Điều khiển hướng đếm (mode 0,1,2) hay khởi Điều khiển hướng đếm (mode 0,1,2) hay khởi
động hướng đếmđộng hướng đếm Cho phép cập nhật current valueCho phép cập nhật current value Cho phép cập nhật preset valueCho phép cập nhật preset value
Cấu hình byte điều khiểnCấu hình byte điều khiển
Đặt giá trị current value và preset valueĐặt giá trị current value và preset value
Mỗi counter có 1 cặp thanh ghi 32 bit (có dấu) Mỗi counter có 1 cặp thanh ghi 32 bit (có dấu) cho new current value và new preset valuecho new current value và new preset value
Để nạp các giá trị này vào counter:Để nạp các giá trị này vào counter: Cấu hình byte điều khiểnCấ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 Nạp các giá trị mới vào các thanh ghi SMD tương
ứngứng Gọi lệnh HSC để cho phép counter chạy và load Gọi lệnh HSC để cho phép counter chạy và load
giá trị mớigiá trị mới
Giá trị hiện tại của counter có thể đọc được bằng cách 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 đọc các thanh ghi HCx tương ứng
(HC: vùng nhớ dành cho High Speed Counter)(HC: vùng nhớ dành cho High Speed Counter)
Đặt giá trị current value và preset valueĐặt giá trị current value và preset value
Các bit trạng thái dùng cho HSCCá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 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 HSCchương trình phục vụ ngắt dành cho HSC
Trình tự mẫu khởi động HSC Trình tự mẫu khởi động HSC
Ví dụ cài mode 0, 1, 2 cho HSC1Ví 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 Dùng SM0.1 gọi chương trình con SBR_x cài đặt
thông số cho HSC.thông số cho HSC. Trong SBR_x cấu hình các bit trong SMB47. Ví dụ Trong SBR_x cấu hình các bit trong SMB47. Ví dụ
SMB47 = 16#F8SMB47 = 16#F8 Gọi HDEF để chọn counter và mode hoạt độngGọi HDEF để chọn counter và mode hoạt động Cấu hình SMD48 và SMD 52 cho các trị current và Cấu hình SMD48 và SMD 52 cho các trị current và
preset valuespreset values
Trình tự mẫu khởi động HSCTrình tự mẫu khởi động HSC
Liên sự kiện ngắt (13) với ISR và cho phép Liên sự kiện ngắt (13) với ISR và cho phép ngắt bằng ENIngắt bằng ENI
Gọi lệnh HSC để S7-200 cài đặt HSC1Gọi lệnh HSC để S7-200 cài đặt HSC1 Thoát SBR_xThoát SBR_x
Cập nhật giá trị mới cho Current Cập nhật giá trị mới cho Current valuevalue
Cấu hình byte điều khiển (SMB47) để cập nhật 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, lại giá trị current value với (SMB47.6=1, SMB47.5=0). Ví dụ SMB47 = 2#11000000SMB47.5=0). Ví dụ SMB47 = 2#11000000
Nạp current value mới vào SMD48Nạp current value mới vào SMD48 Thực thi HSC để nạp trị mớiThực thi HSC để nạp trị mới
Cập nhật giá trị mới cho preset Cập nhật giá trị mới cho preset valuevalue
Cấu hình byte điều khiển (SMB47) để cập nhật Cấu hình byte điều khiển (SMB47) để cập nhật lại giá trị preset với (SMB47.6=0, lại giá trị preset với (SMB47.6=0, SMB47.5=1). Ví dụ SMB47 = 2#10100000SMB47.5=1). Ví dụ SMB47 = 2#10100000
Nạp preset value mới vào SMD52Nạp preset value mới vào SMD52 Thực thi HSC để nạp trị mớiThực thi HSC để nạp trị mới
Tắt timerTắt timer
Cấu hình byte điều khiển (SMB47)Cấu hình byte điều khiển (SMB47) SMB47.7=0: tắt timerSMB47.7=0: tắt timer SMB47.6=0: no update current valueSMB47.6=0: no update current value SMB47.5=0: no update preset valueSMB47.5=0: no update preset value ……
Gọi lại HSC để cấu hình timerGọi lại HSC để cấu hình timer
Hướng dẫn HSC WizardHướng dẫn HSC Wizard
(sinh viên xem trên lớp)(sinh viên xem trên lớp)
Sample Sample HSC1 HSC1
ProgramProgram
Sample Sample HSC1 HSC1
ProgramProgram