Tải bản đầy đủ (.docx) (30 trang)

ĐO tốc độ động cơ dùng bộ đếm HSC trong PLC

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 (777.99 KB, 30 trang )

KHOA ĐIỆN GVHD: NGUYỄN THU HÀ
MỤC LỤC
NHÓM 5 1
KHOA ĐIỆN GVHD: NGUYỄN THU HÀ
CHƯƠNG 1. BỘ ĐẾM TỐC ĐỘ CAO
1.1. Tổng quan về PLC S7-200
- PLC ( Programmable Logic Controller ): Bộ điều khiển lập trình, PLC
được xếp vào trong họ máy tính, được sử dụng trong các ứng dụng công
nghiệp và thương mại. S7-200 là thiết bịcủa hãng Siemens, cấu trúc theo kiểu
modul có các modul mở rộng.
- Toàn bộ nội dung chương trình được lưu trong bộ nhớ của PLC, trong
trường hợp dung lượng bộ nhớ không đủ ta có thể sử dụng bộ nhớ ngoài để lưu
chương trình và dữ liệu(Catridge )
- Dòng PLC S7-200 có hai họ là 21X ( loại cũ) và 22X ( loại mới), trong đó
họ 21X không còn sản xuất nữa.Họ 21X có các đời sau:210, 212, 214, 215-2DP,
216; họ 22X có các đời sau:221, 222, 224, 224XP, 226, 226XM
- PLC đặt biệt sử dụng trong các ứng dụng hoạt động logic điều khiển
chuổi sự kiện
- PLC có đầy đủ chức năng và tính toán như vi xử lý. Ngoài ra, PLC có
tích hợp thêm một số hàm chuyên dùng như bộ điều khiển PID, dịch chuyển
khối dữ liệu, khối truyền thông,…
- PLC có những ưu điểm:
+ Có kích thước nhỏ, được thiết kế và tăng bền để chịu được rung động,
nhiệt, ẩm và tiếng ồn, đáng tin cậy.
+ Rẻ tiền đối với các ứng dụng điều khiển cho hệ thống phức tạp.
+ Dễ dàng và nhanh chống thay đổi cấu trúc của mạch điều khiển.
+ PLC có các chức năng kiểm tra lỗi, chẩn đoán lỗi.
+ Có thể nhân đôi các ứng dụng nhanh và ít tốn kém.
NHÓM 5 2
KHOA ĐIỆN GVHD: NGUYỄN THU HÀ


Cấu trúc bên trong của PLC
Hình 1.1.1. cấu trúc bên trong của PLC
Một hệ thống lập trình cơ bản phải gồm có 2 phần: Khối xử lý trung tâm
(CPU: Central Processing Unit) và hệ thống giao tiếp vào/ra ( I/O)

Cách đấu nối ngõ vào ra PLC:
NHÓM 5 3
KHOA ĐIỆN GVHD: NGUYỄN THU HÀ
Hình 1.1.2. cách đấu nối ngõ ra PLC
• Cổng truyền thông:
Chân 1: nối đất.
Chân 2: nối nguồn 24VDC.
Chân 3: truyền và nhận dữliệu.
Chân 4: không sửdụng.
Chân 5: đất
Chân 6: nối nguồn 5VDC
Chân 7: nối nguồn 24VDC.
Chân 8: Truyền và nhận dữliệu.
Chân 9: không sử dụng.
1.1.1 Cấu trúc phần cứng.
Cấu trúc phần cứng của 1 PLC gồm có các module sau:
- Mudule nguồn
- Module đầu vào
- Module đầu ra
- Module đơn vị xử lý trung tâm (CPU)
NHÓM 5 4
KHOA ĐIỆN GVHD: NGUYỄN THU HÀ
- Module bộ nhớ
- Module quản lý phối ghép vào ra
Khối ngõ vào

Bộ nguồn Đơn vị xử lý trung
tâm
Quản lý ghép nối
Bộ nhớ
Khối ngõ ra
Hình 1.1.3. Mô hình tổng quát của 1 PLC
1.1.2 Ngôn ngữ lập trình.
Có 3 dạng ngôn ngữ lập trình cơ bản đó là:
- Phương pháp hình thang (LAD)
- Phương pháp liệt kê lệnh (STL)
- Phương pháp theo dạng dữ liệu hình khối (DB)
Trong đồ án chúng em sử dụng phương pháp hình thang (LAD).
LAD là 1 ngôn ngữ lập trình bằng đồ họa. Những thành phần cơ bản
dùng trong LAD tương ứng với các thành phần của bảng điều khiển
bằng rơle.
+ Mạng LAD: là các đường nối các phần tử thành 1 mạch hoàn thiện,
đi từ đường nguồn bên trái sang dường nguồn bên phải. đường nguồn
bên trái là dây nóng, cấp (đường nguồn bên phải thường không thực
được thể hiện khi dùng chương trình tiện dụng STEP7-Micro/Dos
hoặc Micro/win).
1.2. Các loại bộ đếm của S7-200-CPU 224
S7-200-CPU 224 có 2 loại bộ đếm đó là bộ đếm thường và bộ đếm tốc
độ cao:
- Bộ đếm thường: bộ đếm thường trong S7-200-CPU 224 như đếm lên
(CTU), đếm xuống (CTU) , đếm lên xuống (CTUD), chỉ đếm được các
sự kiện xảy ra với tần số thấp (chu kì xuất hiện của sự kiện nhỏ hơn
chu kì quét của PLC).
- HSC là bộ đếm tốc độ cao, được dử dụng để đếm những sự kiện xảy ra
với tần số lớn mà các bộ đếm thông thường trong PLC không đếm
được. ví dụ: tín hiệu xung từ encoder,…

- Số lượng bộ đếm HSC có trong S7-200-CPU 224 và tần số tối đa cho
phép
NHÓM 5 5
KHOA ĐIỆN GVHD: NGUYỄN THU HÀ
Bảng 1.2.1. bộ đếm và tần số ngõ vào tối đa cho phép
Bộ đếm Ngõ vào Tần số cho phép
HSC0 I0.0 30KHZ
HSC1 I0.6 30KHZ
HSC2 I1.2 30KHZ
HSC3 I0.1 30KHZ
HSC4 I0.3 200KHZ
HSC5 I0.4 200KHZ
1.3. Bộ đếm tốc độ cao của S7-200-CPU224
1.3.1. Nguyên tắc hoạt động của bộ đếm HSC
a. Định nghĩa bộ đếm tốc độ cao ( High-speed counter defination ) :
Lệnh dùng định nghĩa bộ đếm tốc độ cao HDEF(High speed counter
Defination) sẽ cho phép chọn chế độ hoạt động của một bộ đếm tốc độ cao cụ
thể (HSCx). Chế độ hoạt động sẽ quyết định xung vào, chiều đếm, tín hiệu bắt
đầu, và chức năng reset của một bộ đếm tốc độ cao.
Ta sử dụng một lệnh định nghĩa bộ đếm tốc độ cao cho mỗi bộ đếm tốc độ
cao.
Các điều kiện gây ra lỗi sẽ set bit ENO = 0
0003 ( đầu vào xung đột )
0004 ( lệnh trong chương trình ngắt không hợp lệ )
000A ( bộ đếm cần được định nghĩa lại )
b. Bộ đếm tốc độ cao ( High speed counter – HSC ) :
Lệnh khai báo bộ đếm tốc độ cao HSC cấu hình và điều khiển bộ đếm tốc độ
cao nhờ vào các bit nhớ đặc biệt của bộ đếm tốc độ cao đó. Tham số N chỉ ra bộ
đếm tốc độ cao đang sử dụng là bộ đếm bao nhiêu. Bộ đếm tốc độ cao có thể
được cấu hình lên tới 12 chế độ hoạt động khác nhau

Mỗi bộ đếm được cung cấp đầu vào cho xung clock, điều khiển hướng đếm,
tín hiệu reset và bắt đầu mà bộ đếm đó hỗ trợ. Đối với những bộ đếm 2 pha thì
cả hai đầu vào xung có thể chạy ở tốc độ cực đại của chúng. Trong chế độ nhân
tốc thì bạn có thể chọn chế độ nhân 1 hoặc nhân 4 tốc độ cực đại. Tất cả các bộ
đếm chạy ở tốc độ cực đại mà không ảnh hưởng tới bộ đếm khác.
Điều kiện gây ra lỗi sẽ set ENO = 0
NHÓM 5 6
KHOA ĐIỆN GVHD: NGUYỄN THU HÀ
0001 ( lệnh HSC đặt trước HDEF )
0005 ( sử dụng đồng thời HSC/PLS )
Bộ đếm tốc độ cao đếm các sự kiện mà tốc độ của nó vượt khỏi tầm kiểm
soát của vòng quét S7-200. Tấn số đếm lớn nhất có thể của bộ đếm tùy thuộc
vào loại CPU mà bạn sử dụng. CPU 221 và CPU 222 hỗ trợ 4 bộ đếm tốc độ cao
: HSC0, HSC3, HSC4 và HSC5. Hai loại CPU này không hỗ trợ bộ đếm HSC2
và HSC1. CPU 224, CPU 224XP và CPU 226 hỗ trợ cả 6 loại bộ đếm tốc độ cao
từ HSC0 đến HSC5.
Về cơ bản thì bộ đếm tốc độ cao hoạt động tương tự như nguyên lý cơ bản
của bộ đếm trong S7-200. Ở đây có thể tưởng tượng rằng một encoder sẽ cung
cấp đầu vào xung clock cho bộ đếm. Encoder sẽ cho ra một số lượng xung nhất
định trong một vòng quay và một xung reset sẽ được cho ra sau một vòng quay.
Xung clock và xung reset sẽ là 2 đầu vào của bộ đếm tốc độ cao. Bộ đếm tốc độ
cao sẽ được đặt trước với một hằng số và đầu ra sẽ được tích cực trong khoảng
thời gian mà giá trị đếm tức thời nhỏ hơn giá trị đặt trước của bộ đếm. Bộ đếm
được thiết lập để cung cấp một ngắt khi giá trị đếm tức thời bẳng với giá trị đặt
trước hoặc là khi ta reset bộ đếm.
Mỗi khi giá trị đếm tức thời bằng giá trị đặt trước một ngắt xảy ra thì một
giá trị đặt trước mới được nạp vào cho lần hoạt động tiếp theo của bộ đếm. Còn
khi một tín hiệu reset tích cực, một ngắt xảy ra thì giá trị đặt trước đầu tiên sẽ
được nạp vào bộ đếm cho chu kỳ tiếp theo.
1.3.2. Các chế độ làm việc của HSC

Mỗi bộ đếm đều có những Mode đếm khác nhau. Tùy vào từng ứng dụng
cụ thể mà người lập trình lựa chọn Mode đếm cho phù hợp. Dưới đây trình
bày Mode đếm của các bộ đếm tiêu biểu.
Bảng 1.3.1. các chế độ đếm từ HSC0 đến HSC5
HSC0 (chỉ có 1 mode đếm)
Mod
e
Đặc điểm I0.0
0 Bộ đếm 1 pha, thay đổi hướng đếm bên trong
SM37.3 = 1: đếm lên
SM37.3 = 0: đếm xuống
Ngõ vào nhận xung
HSC1 (có tất cả 12 mode đếm khác nhau)
NHÓM 5 7
KHOA ĐIỆN GVHD: NGUYỄN THU HÀ
Mode Đặc điểm I0.6 I0.7 I1.0 I1.1
0 Bộ đếm lên/xuống
SMB47.3 = 0: đếm xuống
SMB47.3 = 1: đếm lên
Clock
1 Reset
2 Start
3 Thay đổi hướng đếm
I0.7 = 0: đếm xuống
I0.7 = 1: đếm lên
Clock Dir
4 Reset
5 Start
6 Đếm 2 pha với ngõ vào xung
Ck đếm lên và đếm xuống

Ck up Ck
down
7 Reset
8 Start
9 Đếm lệch pha. Pha A sớm pha
hơn pha B 90
0
: đếm lên. Pha A
trễ pha hơn so với pha B 90
0
:
đếm xuống
Clock
A
Cloc
k
B
10 Reset
11 Start
HSC2 (có tất cả 12 mode đếm khác nhau)
Mode Đặc điểm I1.2 I1.3 I1.4 I1.5
0 Bộ đếm lên/xuống
SMB47.3 = 0: đếm xuống
SMB47.3 = 1: đếm lên
Clock
1 Reset
2 Start
3 Thay đổi hướng đếm
I0.7 = 0: đếm xuống
I0.7 = 1: đếm lên

Clock Dir
4 Reset
5 Start
6 Đếm 2 pha với ngõ vào xung
Ck đếm lên và đếm xuống
Ck up Ck
down
7 Reset
8 Start
9 Đếm lệch pha. Pha A sớm pha
hơn pha B 90
0
: đếm lên. Pha A
trễ pha hơn so với pha B 90
0
:
đếm xuống
Clock
A
Cloc
k
B
10 Reset
11 Start
1.3.3. Thủ tục khai báo và cài đặt cho HSC
Lập trình một bộ đếm tốc độ cao :
Ta có thể dùng HSC winzard để cấu hình cho bộ đếm tốc độ cao. HSC winzard
sử dụng các thông tin: loại và chế độ hoạt động của bộ đếm, giá trị đặt trước của
bộ đếm, giá trị tức thời của bộ đếm và khởi tạo hướng đếm. Để sử dụng HSC
winzard bạn vào Tool  Instruction Winzard  HSC

Để lập trình được một bộ đếm tốc độ cao bạn cần làm những bước sau đây:
1. Chỉ định bộ đếm và chọn chế độ đếm
2. Thiết lập byte điều khiển
3. Nạp giá trị bắt đầu cho bộ đếm ( starting value )
NHÓM 5 8
KHOA ĐIỆN GVHD: NGUYỄN THU HÀ
4. Nạp giá trị đặt trước cho bộ đếm ( target value )
5. Gán và cho phép chương trình ngắt
6. Khởi động bộ đếm ( tích cực bộ đếm )
a. Chỉ định chế độ hoạt động và các đầu vào :
Sử dụng lệnh định nghĩa bộ đếm tốc độ cao HDEF để chọn chế độ đếm (mode)
và các đầu vào sử dụng.
Bảng 1.3.2 mô tả các đầu vào sử dụng cho xung clock, điều khiển hướng và điều
khiển bắt đầu được gắn với mỗi bộ đếm cụ thể. Cùng một đầu vào không thể
được sử dụng cho hai chức năng khác nhau, nhưng nếu có bất kỳ đầu vào nào
không được dùng bởi chế độ hoạt động hiện thời của bộ đếm thì có thể được sử
dụng cho các mục đích khác. Ví dụ : nếu HSC0 hoạt động ở mode 1, điều này có
nghĩa là I0.0 và I0.2, I0.1 có thể được sử dụng cho các ngắt cạnh xung hoặc có
thể được sử dụng cho HSC3.
 Tip: Chú ý rằng tất cả các chế độ hoạt động của HSC0 ( trừ mode 12 )
luôn luôn sử dụng I0.0 và tất cả HSC4 luôn luôn sử dụng I0.3, vì vậy
những đầu vào này không bao giờ được phép sử cho các yêu cầu khác khi
các bộ đếm này được sử dụng
Bảng 1.3.2. các đầu vào của bộ đếm tốc độ cao
NHÓM 5 9
KHOA ĐIỆN GVHD: NGUYỄN THU HÀ
• Giản đồ thời gian ở hình 1.3.1 đến 1.3.5 biểu diễn chức năng khác nhau của
các bộ đếm tùy thuộc vào chế độ hoạt động của nó
- Hình 1.3.1 biểu diễn HSC hoạt động ở mode 0, 1 hoặc 2. Ở đây giá trị bắt
đầu được nạp là 0, giá trị đặt trước là 4, hướng đếm được set là đếm lên và

bit cho phép bộ đếm được tích cực. Khi giá trị đếm tức thời bằng giá trị đặt
trước thì ngắt xảy ra và trong chương trình ngắt ta thực hiện việc thay đổi
hướng đếm cho counter vì vậy sau ngắt này bộ đếm bắt đầu đếm xuống từ
giá trị 4.
NHÓM 5 10
KHOA ĐIỆN GVHD: NGUYỄN THU HÀ
Hình 1.3.1. chế độ hoạt động của mode 0,1,2
- Hình 1.3.2 biểu diễn HSC ở chế độ đếm 3, 4 hoặc 5. Ở đây giá
trị bắt đầu được nạp là 0 và giá trị đặt trước được nạp là 4, hướng đếm được
đặt đếm lên và bit cho phép được tích cực. Khi giá trị đếm tức thời bằng với
giá trị đặt trước thì một ngắt được tạo ra và trong chuơng trình ngắt này ta
không thay đổi gì về thông số của bộ đếm vì vậy sau khi thực hiện ngắt thì bộ
đếm vẫn tiếp tục hoạt động với những tham số đã hoạt động trước đó. Sau khi
có một xung điều khiển hướng đếm từ bên ngoài tác động làm cho hướng đếm
của bộ đếm thay đổi thành đếm xuống thì bộ đếm bắt đầu đếm từ 5 4 và tại
đây giá trị đếm tức thời lại bằng giá trị đặt trước và một ngắt lại được phát
sinh.
Hình 1.3.2. chế độ hoạt động của mode 3,4,5
- Khi sử dụng chế độ đếm 6, 7 hoặc 8, khi đó một cạnh xung lên xảy ra cách
nhau 0.3 micro giây ở cả hai đầu vào up và down thì bộ đếm tốc độ cao sẽ
xem như hai sự kiện này xảy ra cùng lúc. Nếu điều này xảy ra, giá trị đếm
tức thời sẽ không thay đổi gì và cũng không có sự thay đổi về hướng đếm.
Cho đến khi nào sự xuất hiện của cạnh lên hai xung này diễn ra trong
khoảng thời gian cách nhau lớn hơn 0.3 micro giây thì bộ đếm mới xem đây
là 2 sự kiện riêng biệt nhau. Trong cả hai trường hợp trên thì sẽ không có lỗi
được thông báo và bộ đếm vẫn giữ chính xác giá trị đếm của nó.
NHÓM 5 11
KHOA ĐIỆN GVHD: NGUYỄN THU HÀ
Hình 1.3.3. chế độ hoạt động của mode 6,7,8
Trong hình 1.3.3 biểu diễn HSC ở mode đếm 6, 7 hoặc 8. Ở đây giá trị bắt

đầu và giá trị đặt trước vẫn là 0 và 4, hướng đếm lên và bit cho phép được tích
cực. Ở các chế độ này thì ta sẽ đếm 2 sự kiện ở đầu vào up và down và một
ngắt cũng phát sinh khi giá trị đếm tức thời bằng giá trị đặt trước của bộ đếm.
- Hình 1.3.4 là ví dụ về HSC hoạt động ở chế độ quadrate nhân
1x. Giá trị bắt đầu và giá trị đặt trước được nạp là 0 và 3, hướng đếm lên và
bit cho phép được tích cực. Ở các mode đếm này ta đếm sự kiện ở đầu vào A
và B, đầu vào của xung A và B tạo ra sự kiện đếm cho HSC. Và dựa vào thời
gian xuất hiện của xung ở đầu A và B mà bộ đếm sẽ đếm lên hoặc đếm
xuống. Nếu pha A sớm hơn pha B thì đếm lên và ngược lại sẽ đếm xuống. Ở
đây cũng có ngắt phát sinh khi giá trị đếm bằng giá trị đặt trước.
Hình 1.3.4. chế độ hoạt động của mode 9,10,11(ở chế độ quadrate nhân 1x)
- Hình 1.3.5 biểu diễn HSC ở mode đếm 9, 10 hoặc 11 chế độ quadrate nhân
4x. Ở đây giá trị bắt đầu và giá trị đặt trước được nạp tương ứng là 0 và 9,
NHÓM 5 12
KHOA ĐIỆN GVHD: NGUYỄN THU HÀ
hướng đếm lên và bit cho phép được tích cực. Với các mode đếm này ta đếm
sự kiện ở đầu vào A và B với tốc độ nhân 4. Nghĩa là với một xung ở A và
một xung ở B ta sẽ có được số đếm là 4 như trong hình vẽ. Cũng giống như ở
chế độ quadrate nhân 1x thì tùy vào sự xuất hiện của xung ở A hay B trước
mà bộ đếm sẽ đếm lên hay xuống. Cũng có ngắt được phát sinh khi giá trị
đếm bằng giá trị đặt.
Hình 1.3.5. chế độ hoạt động của mode 9,10,11(ở chế độ quadrate nhân 4x)
- Hoạt động của tín hiệu Reset và tín hiệu Start :
Hoạt động của tín hiệu Reset và tín hiệu Start được biểu diễn cụ thể trong hình
1.3.6 và nó được áp dụng cho tất cả các chế độ hoạt động có sử dụng đầu vào tín
hiệu Reset và Start. Trong hình tất cả các tín hiệu đầu vào Start và Reset đều
được cho tích cực ở mức cao.
NHÓM 5 13
KHOA ĐIỆN GVHD: NGUYỄN THU HÀ
Hình 1.3.6. chế độ hoạt động bằng reset và start

Ở hình phía bên tay trái là chế độ hoạt động chỉ với tín hiệu Reset. Giá trị đếm
của bộ đếm sẽ trong khoảng -2.147.483.648 +2.147.483.648 khi đầu vào
Reset đang ở mức không tích cực (0). Khi đầu vào Reset được tích cực (1) thì
một ngắt reset được phát sinh và giá trị bộ đếm được xóa về 0 và sẽ tiếp tục giữ
giá trị 0 khi mà tín hiệu reset còn tích cực (1). Khi chân tín hiệu reset được vô
hiệu hóa (0) thì giá trị bộ đếm sẽ nằm trong khoảng -2.147.483.648
+2.147.483.648.
Ở hình phía bên tay phải biểu diễn chế độ hoạt động với cả hai tín hiệu Reset và
Start. Sẽ có các trường hợp sau có thể xảy ra :
- Start không tích cực (0) : thì giá trị bộ đếm sẽ không thay đổi bất chấp
giá trị của tín hiệu Reset
- Tín hiệu Start tích cực (1) : khi tín hiệu Start tích cực bộ đếm bắt đầu
đếm và giá trị thay đổi và giá trị bộ đếm trong khoảng -2.147.483.648
+2.147.483.648 nếu chân Reset là không tích cực (0) và sẽ là 0 nếu chân
Reset tích cực (1). Nếu chân Reset tích cực thì giá trị bộ đếm xóa về 0 và có
ngắt phát sinh.
Có tất cả 4 bộ đếm mà chúng có 3bit điều khiển được sử dụng để cấu hình trạng
thái tích cực cho tín hiệu đầu vào Reset và Start của bộ đếm và để cấu hình chế
độ đếm 1x hoặc 4x ( dành cho quadrate mode ). Các bit này nằm trong byte điều
khiển và được sử dụng khi lệnh HDEF được thực thi. Những bit này được mô tả
trong bảng 1.3.1
NHÓM 5 14
KHOA ĐIỆN GVHD: NGUYỄN THU HÀ
Bảng 1.3.1. trạng thái hoạt động của mode 1x và 4x
 Tip: Bạn cần thiết lập các bit điều khiển này ở trạng thái mong muốn
trước khi bạn thực thi lệnh HDEF. Nếu không, bộ đếm sẽ lấy giá trị mặc
định để cấu hình cho mode tương ứng được chọn. Một khi lệnh HDEF đã
được thực thi thì bạn không thể thay đổi thiết đặt của bộ đếm trừ khi bạn
cho PLC dừng hoạt động và thiết lập lại trước lần chạy đầu tiên
b. Thiết lập byte điều khiển :

Sau khi đã định nghĩa bộ đếm và chọn chế độ đếm bạn có thể lập trình cho các
tham số động của bộ đếm. Mỗi bộ đếm có một byte điều khiển với các chức
năng dưới đây:
- Cho phép hoặc cấm bộ đếm
- Điều khiển hướng đếm (dùng cho mode 0,1,2) hoặc thiết lập
hướng đếm ban đầu cho tất cả các mode.
- Nạp giá trị bắt đầu
- Nạp giá trị đặt trước
Bảng 1.3.2 biểu diễn những bit trong byte điều khiển :
NHÓM 5 15
KHOA ĐIỆN GVHD: NGUYỄN THU HÀ
c. Thiết lập giá trị bắt đầu và giá trị đặt trước cho bộ đếm :
Mỗi bộ đếm tốc độ cao có một giá trị đếm tức thời 32 bit và một giá trị đặt trước
32 bit. Cả hai giá trị này đều được đặt dưới dạng số integer. Để nạp giá trị mới
cho giá trị đặt trước và giá trị bắt đầu ta cần bạn phải thiết lập cho byte điều
khiển và các byte bộ nhớ đặc biệt chứa giá trị tức thời và giá trị đặt trước và
cũng phải thực thi lệnh HSC để giá trị mới này có thể được nạp lại cho bộ đếm
tốc độ cao. Bảng 1.3.3 liệt kê các byte bộ nhớ đặc biệt được sử dụng để lưu giá
trị tức thời và giá trị đặt trước của bộ đếm tốc độ cao.
Ngoài byte điều khiển, giá trị tức thời của bộ đếm chỉ có thể được đọc bằng cách
sử dụng kiểu dữ liệu HC (high speed counter current) và theo sau đó là chỉ số
của bộ đếm như được trình bày ở bảng 1.3.3 Giá trị tức thời được truy cập trực
tiếp bởi các toán hạng nhưng chỉ có thể ghi bằng lệnh HSC.
Bảng 1.3.3.xác định giá trị hiện thời và giá trị cài đặt lại mới cho HSC1 đến
HSC5
• Định địa chỉ cho bộ đếm tốc độ cao : HC
Để truy cập giá trị của bộ đếm tốc độ cao ta cần chỉ định chỉ số của bộ đếm sử
dụng kiểu dữ liệu HC và chỉ số của bộ đếm ví dụ như HC0. Giá trị tức thời của
bộ đếm tốc độ cao là một giá trị chỉ đọc và chỉ có thể được định địa chỉ ở dạng
double word (32bit) như được biểu diễn ở hình 1.3.7

Hình 1.3.7. Định địa chỉ HSC
d. Gán chương trình ngắt :
Tất cả các chế độ hoạt động của bộ đếm tốc độ cao đều cung cấp một sự kiện
ngắt khi giá trị tức thời của HSC bằng với giá đị được nạp trước của nó. Ở các
chế độ hoạt động với việc sử dụng tín hiệu reset từ bên ngoài thì có thêm một
NHÓM 5 16
KHOA ĐIỆN GVHD: NGUYỄN THU HÀ
ngắt khi tín hiệu reset được tích cực. Tất cả các chế độ hoạt động của bộ đếm tốc
độ cao ngoại trừ mode 0,1,2 cung cấp một sự kiện ngắt khi chiều đếm được thay
đổi. Mỗi sự kiện ngắt này có thể được cho phép hoặc cấm một cách riêng biệt
nhau. Để có sự thảo luận kỹ hơn về cách sử dụng các chương trình ngắt chúng ta
cần tham khảo thêm tài liệu về phần lệnh ngắt và lệnh giao tiếp.
 Tip : Một lỗi nghiêm trọng có thể xảy ra nếu ta đồng thời nạp giá trị mới
cho bộ đếm hoặc cấm sau đó cho phép bộ đếm hoạt động trong khi thực
thi chương trình ngắt của ngắt ngoài với tín hiệu reset.
• Byte trạng thái :
Byte trạng thái cho mỗi bộ đếm tốc độ cao sẽ cung cấp các bit nhớ nhằm xác
định hướng đếm và khi nào giá trị tức thời lớn hơn hoặc bằng với giá trị đặt
trước. Bảng 1.3.4 định nghĩa những bit trạng thái này cho mỗi bộ đếm cụ thể .
Bảng 1.3.4. bảng định nghĩa các bit trạng thái cho HSC0 đến HSC5
NHÓM 5 17
KHOA ĐIỆN GVHD: NGUYỄN THU HÀ
CHƯƠNG 2. THỰC HIỆN BÀI TOÁN ĐO TỐC ĐỘ
ĐỘNG CƠ
2.1. Các phương pháp đo tốc độ động cơ.
Có 2 phương pháp dùng để đo tốc độ của vòng quay khác nhau, tùy vào
mục đích sử dụng để có thể đo được tốc độ vòng quay động cơ chính xác nhất.
2.1.1. Phương pháp đo tiếp xúc
Đây là phương pháp cũ nhất trong các phương pháp đo rpm. Tốc độ vòng
quay của vật cần đo sẽ được cảm biến chuyển đổi thành tín hiệu điện, tín hiệu

này sẽ được thiết bị phân tích và hiển thị. Phương pháp đo này vẫn được sử
dụng thường xuyên nhưng chủ yếu dùng cho những vật có vận tốc quay thấp 20
rpm đến 20.000 rpm. Sự bất lợi của phương pháp này là tốc độ quay của phụ tải
thuộc rất nhiều vào lực tiếp xúc. Ngoài ra, phương pháp đo này không thể đo
cho những vật có kích thước nhỏ. Nếu như tốc độ vòng quay khá lớn cảm biến
sẽ bị trượt ra ngoài.
2.1.2. Phương pháp đo không tiếp xúc
a. Đo bằng tấm phản quang
Tốc độ vòng quay sẽ được đo bằng cách đo thời gian của chùm tia phản
xạ tại vật cần đo. Thiết bị sẽ phát ra 1 chùm tia hồng ngoại, chùm tia ánh sáng
này sẽ bị phản xạ lại tại vật cần đo bởi tấm phản quang được dán trên vật cần đo.
Chú ý rằng khoảng cách lớn nhất giữa tấm phản quang và thiết bị đo không vượt
quá 350 mm.
Phương pháp đo này sẽ cao cấp hơn hẳn phương pháp đo tiếp xúc. Tuy nhiên,
không phải lúc nào ta cũng có thể dán được tấm phản quang lên trên vật cần đo.
- Dải đo: 20 rpm đến 100.000 rpm
b. phương pháp đo rpm sử dụng tần số chớp
Dựa vào nguyên lý của tần số chớp, các vật thể sẽ đứng yên trong mắt
người quan sát khi tần số chớp tốc độ cao đồng bộ với sự di chuyển của vật.
Phương pháp đo này có những đặc tính nổi bật hơn các phương pháp đo khác là:
NHÓM 5 18
KHOA ĐIỆN GVHD: NGUYỄN THU HÀ
Phương pháp đo có thể đo được cho những vật rất nhỏ hoặc đo được ở những
nơi ta không chạm đến được. Không cần thiết phải dán tấm phản quang lên vật
cần đo. Ví dụ như ta cần thiết phải dừng lại qua trình sản xuất.
- Dải đo: 30 rpm đến 20.000 rpm
Ngoài ra, phương pháp đo này không chỉ đo được rpm mà nó có thể đo rung và
theo dõi chuyển động
2.2. Đo tốc độ và xác định chiều quay động cơ dùng encoder và S7-200-
CPU224

2.2.1. Phân tích bài toán – các thông số (encoder) và giới hạn
a . Encoder
• Cấu tạo:
- Một đĩa xẻ rãnh được gắn trêntrục.
- Đầu đọc gồm 1 - 3 bộ thu phát quang.
- Đầu ra là xung vuông .
Hình 2.1 : Sơ đồ hoạt động đĩa quang mã hóa
• Nguyên lý hoạt động:
Bản chất của encoder là sự kết hợp cảm biến quang với 1 đĩa mã hóa.
Ta có thể xem một cách đơn giản là trên đĩa mã hóa có các phần cho
ánh sáng đi qua và các phần không cho ánh sang đi qua một cách xen
kẽ nhau. Đĩa sẽ quay do tác động của chuyển động quay của đối tượng
cần đo tốc độ. Nguồn sáng lắp đặt sao cho ánh sáng liên tục được tập
NHÓM 5 19
KHOA ĐIỆN GVHD: NGUYỄN THU HÀ
trung xuyên qua đĩa mã hóa. Bộ phận thu nhận ánh sáng được lắp ở mặt
sau của đĩa mã hóa sao cho có thể nhận được ánh sáng đĩa được lắp đặt
trên trục của động cơ hay thiết bị khác cần đo tốc độ hoặc xác định vị
trí sao cho khi trục quay , đĩa cũng sẽ quay. Khi đĩa quay bộ phận nhận
ánh sáng sẽ nhận được ánh sáng một cách rời rạc kết quả là tín hiệu
nhận được ở ngõ ra là dạng xung vuông
• Độ phân giải:
Phụ thuộc vào số rãnh trên 1 vòng.
Ví dụ: có loại 100 P/R, 360 PR,1000P/R, 3600P/R…
• Ưu, nhược điểm:
- Ưu điểm: Đầu ra dạng xung, nên trong các hệ thống điều khiển số
không cần bộ chuyển đổi ADC. Dễ sử dụng,dễ đọc tín hiệu.
- Nhược điểm: Có thể cần mạch giải mã và mạch đếm. Không lưu được
giá trị khi bị mất điện
• Các loại Encoder xung:

- Loại 1 kênh:
Hình 2.2: Encoder loại tương đối
• Gồm:
+ 1 bộ thu phát quang
+ 1 đĩa với các rãnh
+ 1 trục quay
+ Cáp nguồn và tín hiệu
NHÓM 5 20
KHOA ĐIỆN GVHD: NGUYỄN THU HÀ
Vị trí được xác định dựa vào số xung đếm được. Mỗi xung ứng với 1
góc cho trước
Sử dụng cặp thu phát quang thứ 2 để xác định điểm chuẩn .
Không xác định thông tin về hướng .
- Encoder xung 2 kênh:
Encorder 1 kênh không xác định được chiều quay của trục
Loại encorder 2 kênh khắc phục được khuyết điểm trên
Hình 2.3 : loại encoder 2 kênh
Thường có kênh A ( V1); kênh B(V2); và kênh Z ( điểm chuẩn )
CCW : Khi V2 chuyển từ 1 xuống 0 thì V1 ở mức cao.
CW : Khi V2 chuyển từ 1 xuống 0 thì V1 ở mức thấp.
• Mạch giải mã encoder:
Cách đơn giản nhất để thực hiện giả mã là dung Flip_Flop
NHÓM 5 21
KHOA ĐIỆN GVHD: NGUYỄN THU HÀ
Hình 2.4 : Mạch giải mã và dạng sóng giải mã của V1 và V2
c. phân tích bài toán
Hình 2.5. sơ đồ cấu trúc của hệ thống
• Sơ đồ khối:
Hình 2.6. sơ đồ khối
Trong đề tài này yêu cầu dùng S7-200-CPU224 đo tốc độ cơ và xác định

chiều quay sử dụng encoder với dải đo là 0 – 2500 (vòng/phút). Vì vậy chúng
em sẽ chọn loại encoder 2 kênh có 100 (xung/vòng) để xác định chiều quay và
sẽ sử dụng bộ đếm tốc độ cao HSC1 trong S7-200-CPU224 để đo xung từ 2
NHÓM 5 22
KHOA ĐIỆN GVHD: NGUYỄN THU HÀ
kênh của encoder vào. Xung ra từ 2 kênh của encorder ta sẽ cho vào 2 đầu vào
của PLC là chân I0.6 và chân 0.7. Sau đó thực hiện lập trình cho S7-200 để tính
toán số tốc độ động cơ (vòng/phút), và báo chiều quay của động cơ qua đèn
trạng thái ở đầu ra của S7-200.
• Khai báo cho bộ đếm HSC:
- Dùng lệnh đĩnh nghĩa bộ đếm HDEF: chọn bộ đếm HSC1, mode 10
- Nạp byte điều khiển cho bộ đếm: SMB47 = 0FCH
- Nạp giá trị bắt đầu cho bộ đếm: SMD48 = 0
- Nạp giá trị đặt trước cho bộ đếm: SMD52 = 0.
- Gán chương trình phục vụ ngắt và cho phép ngắt khi giá trị đếm tức
thời bằng giá trị đặt: không sử dụng vì không cần thiết
- Khởi động bộ đếm HSC1
• Để xác định tốc độ động cơ từ số xung đo được từ encoder ta làm như
sau: Encoder có 100 xung/vòng
- Ta thực hiện đo xung vào từ encoder trong khoảng 20ms (chu kì lấy
mẫu). Gọi N là số xung trong 20ms.
 Số xung trong 1 phút là (60N)/0.02 = 3000N (xung/phút)
 Tốc độ động cơ là : n = 3000N/100 = 30N (vòng/phút)
- Tính toán sai số:
Từ kết quả n = 30N (vòng/phút) ta thấy nếu trong khoảng chu kỳ lấy
mẫu T = 20ms mà có số xung đo được N thiếu hoặc thừa 1 xung thì tốc
độ đo được sẽ có sai số là n = 30 (vòng/phút), 2 xung thì sẽ có sai số là
n = 60 (vòng/phút). Ta thấy sai số như vậy là khá lớn  Để giảm
được sai số thì ta có thể tăng chu kỳ lấy mẫu T hoặc tăng độ phân giải
cho encorder. Nhưng việc tăng thời gian lấy mẫu còn tùy thuộc vào

từng ứng dụng vì khi tăng thời gian lấy mẫu thì sẽ gây ra sự không ổn
định cho hệ thống.
Ngoài ra ta còn có thể sử dụng bộ lọc để giảm sai số.
- Tần số lớn nhất ở đầu ra của encorder:
Với tốc độ động cơ từ 0 – 2500 (vòng/phút) và encorder có 100
(xung/vòng)
 tần số lớn nhất của encorder là:
kHZ2,4100
60
2500
=
NHÓM 5 23
KHOA ĐIỆN GVHD: NGUYỄN THU HÀ
• Xác định chiều quay của động cơ:
Để xác định được chiều quay của động cơ em dựa vào đầu ra xung
ở 2 kênh của encorder.
- Khi động cơ quay thuận thì đầu ra xung ở kênh A của encorder sớm pha
hơn đầu ra xung ở kênh B 1 góc 90
0
hay khi xung ở kênh A chuyển từ
mức 0 lên mức 1 thì xung ở kênh B vẫn ở mức 0.
- Khi động cơ quay ngược thì đầu ra xung ở kênh A sẽ trễ pha hơn so với
đầu ra xung ở kênh B của encorder 1 góc 90
0
hay khi xung ở kênh B
chuyển từ mức 1 xuống mức 0 thì xung ở kênh A vẫn ở mức 1
2.2.2. Sơ đồ đấu dây
a. bảng địa chỉ
Bảng 2.1. bảng định địa chỉ đầu vào /ra của PLC
STT Kí hiệu Địa chỉ Chức năng

1 Start I0.0 Khởi động hệ thống
2 Stop I0.1 Dừng hệ thống
3 Kênh A I0.6 Đếm xung vào của kênh A
4 Kênh B I0.7 Đếm xung vào của kênh B
5 Run Q0.0 Báo hệ thống làm việc
6 T Q0.1 Báo chiều quay thuân
7 N Q0.2 Báo chiều quay ngược
8 K Q0.3 Cảnh báo ngoài dải đo
b. Sơ đồ đấu dây
NHÓM 5 24
KHOA ĐIỆN GVHD: NGUYỄN THU HÀ
Hình 2.7 : sơ đồ đấu dây hệ thống
2.2.3. xây dựng thuật toán đo dùng S7-200-CPU-224
- Thuật toán:
NHÓM 5 25
START

×