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

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

  • Upload
    aaralyn

  • View
    74

  • Download
    0

Embed Size (px)

DESCRIPTION

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: [email protected]. Tổng quan về HSC. HSC cung cấp một khối đếm xung cho encoder. - PowerPoint PPT Presentation

Citation preview

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

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]

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

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

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

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

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

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

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

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

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

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

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

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.

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

Các HSC và InputCác HSC và Input

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

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

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

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

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

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

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

Ví dụ về hoạt động của HSCVí dụ về hoạt động của HSC Mode 9, 10, 11Mode 9, 10, 11

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

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

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

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

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

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

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

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

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

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

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

Đặ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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

Sample Sample HSC1 HSC1

ProgramProgram

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

Sample Sample HSC1 HSC1

ProgramProgram