Tải bản đầy đủ (.doc) (58 trang)

Ứng dụng máy tính điều khiển tốc độ động cơ DC

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.31 MB, 58 trang )

Ứng dụng máy tính điều khiển tốc độ động cơ DC

TỔNG QUAN VỀ ĐỀ TÀI
1. Mục đích
Trong công nghiệp và điều khiển tự động ngày nay, máy tính ngày càng trở thành bộ phận
không thể thiếu trong quá trình điều khiển. Để tìm hiểu về quá trình sử dụng máy vi tính điều
khiển một đối tượng cụ thể, chúng tôi chọn và thực hiện đề tài “Ứng dụng máy tính điều khiển tốc
độ động cơ DC”

2. Nội dung
Đề tài này tìm hiểu phương pháp sử dụng máy tính để điều khiển tốc độ động cơ DC 24V.Máy
tính là bộ điều khiển trung tâm.PLC S7-200 làm bộ giao tiếp giữa máy tính với động cơ.
Điều khiển theo phương pháp vòng kín. Đây là phương pháp điều khiển tốc độ động cơ có sự
hồi tiếp tốc độ ngược trở về để điều khiển chính xác.
Có nhiều phương pháp để hiệu chỉnh tốc độ động cơ. Ví dụ như phương pháp hiệu chỉnh ON –
OFF, P, PI, PD, PID… Trong đề tài náy, chúng tôi chọn phương pháp hiệu chỉnh PID.
Điều chỉnh tốc độ động cơ DC cũng có nhiều phương pháp khác nhau như: thay đổi điện áp đặt
vào phần ứng động cơ, thay đổi từ thông, thay đổi độ rộng xung (PWM) (điện áp đặt vào phần ứng
của động cơ không thay đổi)… Chúng tôi chọn Phương pháp PWM.Đây là phương pháp thông
dụng và dễ thực hiện.
Nội dung cơ bản của đề tài:
1) Giới thiệu tổng quan về đề tài
2) Tìm hiểu về PLC S7-200, cụ thể là PLC loại CPU 224 DC/DC/DC của hãng

SIEMENS.
3) Tìm hiểu về đối tượng điều khiển là Động cơ DC.
4) Tìm hiểu về ENCODER. Đây là một loại cảm biến xung dùng để đo tốc độ của
động cơ.
5) Tìm hiểu về nguyên lý hoạt động của cầu H dùng để thay đổi tốc độ của động cơ.
6) Tìm hiểu về kiểu giao tiếp nối tiếp giữa PLC và máy tính
7) Tìm hiểu phương pháp hiệu chỉnh P, PI, PID.


8) Tìm hiểu về phương pháp điều chế độ rộng xung PWM.
9) Tìm hiểu về phần mền thiết kế giao diện WinCC flexible 2008.
10) Tìm hiểu về ngôn ngữ lập trình cho PLC S7-200.
11) Viết chương trình WinCC flexible 2008 cho máy tính:
+ Giao diện người dùng trên máy tính
Page 1


Ứng dụng máy tính điều khiển tốc độ động cơ DC

+ Tốc độ đặt cho động cơ có thể thay đổi và tốc độ đo trên thực tế được hiển thị
trên giao diện người dùng
+ Bộ điều chỉnh PID có thể điều chỉnh 3 thông số Kp, Ki, Kd.
+ Vẽ đồ thị đáp ứng giữa tốc độ đặt, tốc độ đo thực tế trên WinCC
12) Viết chương trình S7-200:

+ Điều khiển độ rộng xung với tần số cố định để điều khiển tốc độ động cơ. Độ
rộng xung nhận được từ máy tính gởi sang.
+ Điều khiển chiều quay của động cơ.
+ Đo tốc độ của động cơ và gửi giá trị đo về máy tính
13) Thiết kế phần cứng bộ điều khiển động cơ và giao tiếp giữa PLC với máy tính.

V./

Ứng dụng PLC trong điều khiển:
1) Giới thiệu:

Thành phần cơ bản của S7-200 là khối xử lý trung tâm CPU-12 hoặc CPU-14.Ở đây xin
chỉ đề cập đến CPU-14.
a) Mô tả:

Một CPU-14 có hình dạng bên ngoài giống như hình 3-14.
 Có 14 ngõ vào: từ I0.0 đến I0.7 và từ I1.0 đến I1.5.
 Có 10 ngõ ra : từ Q0.0 đến Q0.7 và từ Q1.0 đến Q1.1.
 Có 14 led báo trạng thái các ngõ vào, 10 led báo trạng thái các ngõ ra.
 Có 03 led báo trạng thái của CPU:
_ Led SF : Báo trạng thái CPU còn tốt hay bị hỏng.
_ Led RUN: Báo trạng thái CPU đang hoạt động.
_ Led STOP: Báo trạng thái CPU đang ngưng hoạt động.
Ngoài ra, khi có yêu cầu giao tiếp lớn, S7-200 cho phép ta kết nối thêm các modul mở
rộng. Số modul mở rộng tối đa là 7, tương ứng với số ngõ vào cực đại là 64, số ngõ ra cực đại là:
 Các ngõ vào, ra đều có mức điện áp tác động là 24VDC.

-

Hih 3=14
Hình 3-14 Khối xử lý CPU 214
Tính năng của CPU-14 DC/DC/DC:
Nguồn nuôi: 24VDC.
Mức logic ngõ vào
: 24VDC = [1].
0VDC = [0].
Mức logic ngõ ra
: 24VDC = [1].
0VDC = [0].
Page 2


Ứng dụng máy tính điều khiển tốc độ động cơ DC
Tải ngõ ra phải làm việc ở 24VDC và dòng tối đa là 50mA.
- Có 2048 từ nhớ chương trình chứa trong ROM.

- Có 2048 từ nhớ dữ liệu, trong đó 512 từ đầu tiên thuộc ROM.
- Có 128 timer, tùy theo độ phân giải mà chia làm 3 loại:
+ 04 timer 01ms.
+ 16 timer 10ms.
+ 108 timer 100ms.
- Có 128 bộ đếm – Counter, tùy vào cách đếm mà chia làm 2 loại:
+ Đếm lên : Count up.
+ Đếm lên xuống : Count up-down.
- Có 688 bit nhớ đặt biệt dùng để thông báo trạng thái và đặt chế độ làm việc.
- Các chế độ ngắt và xử lý ngắt gồm:
+ Ngắt truyền thông.
+ Ngắt sườn lên.
+ Ngắt sườn xuống.
+ Ngắt thời gian.
+ Ngắt của bộ đếm tốc độ cao.
+ Ngắt truyền xung.
- Có 03 bộ đếm tốc độ cao với tần số: 2KHz và 7KHz.
- Có 02 bộ phát xung kiểu POT hoặc kiểu PWM.
- Có 02 bộ điều chỉnh tương tự.
- Toàn bộ vùng nhớ không bị mất dữ liệu trong 190 giờ khi PLC bị mất nguồn nuôi.
b) Cấu trúc bộ nhớ:
Bộ nhớ của S7-200 được chia làm 4 vùng:
_ Vùng chương trình.
_ Vùng tham số.
_ Vùng dữ liệu.
Trong đó hai vùng nhớ dữ liệu và đối tượng có vai trò quan trọng trong việc thực hiện
một chương trình.
 Vùng dữ liệu:
. V - Variable memory : Vùng nhớ biến.
. I - Input image register : Vùng đệm ngõ vào.

. Q - Output image register : Vùng đệm ngõ ra.
. M – Internal memory bits : Vùng nhớ trong.
. SM – Special memory bits : Vùng nhớ đặc biệt.
- Các vùng nhớ này đều có thể truy cập được theo bit, byte, word hay double word:
+ Truy suất theo bit: Một lần một bit.
Cú pháp: Tên vùng nhớ (+) địa chỉ byte (+) .(+) địa chỉ bit.
Ví dụ: I0.0 : chỉ bit 0 của byte 0 của vùng I.
+Truy suất theo byte: mỗi lần 1 byte.
Cú pháp: Tên vùng nhớ (+) B (+) địa chỉ byte.
Ví dụ: VB1 : chỉ byte 1 của vùng V.
+Truy suất theo word:
Cú pháp: tên vùng nhớ (+) W (+) địa chỉ byte cao.
Page 3


Ứng dụng máy tính điều khiển tốc độ động cơ DC
Ví dụ: VW100: chỉ word 100 gồm 2 byte 100 và 101 thuộc vùng V.
+Truy suất theo Double word:
Cú pháp: Tên vùng nhớ (+) D (+) địa chỉ byte cao.
Ví dụ: VD150 : chỉ double word gồm 4 byte: 150, 151, 152, 153.
 Vùng đối tượng: Được phân chia như sau:
-Timer: từ T0 đến T127.
-Bộ đếm: từ C0 đến C127.
-Bộ đệm cổng vào tương tự: từ AW0 đến AW30.
-Bộ đệm cổng ra tương tự: từ AQW0 đến AQW30.
-Thanh ghi Acumulator: từ AC0 đến AC3, trong đó thanh ghi AC) không có khả năng
làm con trỏ.
-Bộ đếm tốc độ : từ HSC0 đến HSC2
c) Cách thực hiện một chương trình:
PLC làm việc theo nguyên tắc thực hiện các vòng lặp. Mỗi vòng lặp được gọi là một

vòng quét. Mỗi vòng quét hoàn chỉnh gồm các bước như sau:
4. Chuyển dữ
liệu từ bộ đệm
ảo ra ngoại vi.

1. Nhập dữ liệu
từ ngoại vi vào
bộ đệm ảo.

2. Thực hiện
3. Truyền thông và
chương trình.
tự kiểm tra lỗi.
Hình 3-16 Vòng quét trong S7-200
Bước 1: Nhập dữ liệu từ thiết bị ngoại vi vào bộ đệm.
Bước 2: Thực hiện chương trình.
Bước 3: Truyền thông và tự kiểm tra lỗi.
Bước 4: Chuyển dữ liệu từ bộ đệm ảo ra ngoài.
d) Cấu trúc một chương trình:
_ Một chương trình điều khiển có thể được viết trên phần mềm STEP7-MICRO/Dos hay
STEP7-MICRO/Win.
_ Có thể nạp chương trình vào cho CPU nhờ máy tính cá nhân hoặc thiết bị lập trình
bằng tay PG702.
_ Một chương trình của S7200 gồm các phần sau:
 Chương trình chính được kết thúc bằng lệnh MEND.
 Các chương trình con và chương trình xử lý ngắt phải được viết sau lệnh MEND.
 Một chương trình con được bắt đầu bằng lệnh SBR và kết thúc bằng lệnh RET.
 Một chương trình xử lý ngắt được bắt đầu bằng lệnh INT và kết thúc bằng lệnh RETI.

Page 4



Ứng dụng máy tính điều khiển tốc độ động cơ DC
e) Các chế độ làm việc: STOP/TERN/RUN:
Ta chọn chế độ làm việc của PLC bằng cách tác động vào công tắc ba vị trí
Stop/Tern/Run. Khi nạp chương trình vào PLC phải để công tắc ở vị trí Stop.
f) Soạn thảo một chương trình trong S7-200:
_ DạngLADer
_ DạngSTatement List
g) Qui trình thiết kế hệ điều khiển dùng PLC:
Để thiết kế một hệ điều khiển dùng PLC ta thực hiện các bước sau:
 Xác định yêu cầu điều khiển:
Nắm rõ cấu tạo và nguyên tắc hoạt động của thiết bị, yêu cầu điều khiển là gì.
 Vẽ lưu đồ:
Bước vẽ lưu đồ giúp ta có thể nhìn một cách tổng quan về yêu cầu điều khiển và kết nối giữa
hệ thống với thiết bị.
 Xác định I/O:
Ngõ vào thường là các tiếp điểm, rơle, … Ngõ ra thường là các cuộn dây, motor,
contactor…
 Viết chương trình:
Khi xây dựng lưu đồ đúng,ta sẽ chuyển được sang sơ đồ LAD một cách dễ dàng.
 Nạp chương trình vào PLC:
Để mô phỏng chương trình, cần thiết phải nạp vào PLC.
 Kiểm tra:
Trong quá trính mô phỏng, nếu phát hiện sai sót, lỗi, ta sẽ thoát ra ngoài để sửa lại chương
trình.Nếu chương trình chạy tốt, ta kết nối PLC với các thiết bị.
 Kết thúc: Kết nối PLC với các thiết bị và chấm dứt.
2) Tập lệnh S7-200:
Tập lệnh trong S7-200 được biểu diễn dưới hai dạng: LAD và STL:
_ LAD – Ladder logic – Gọi là phương pháp hình thang: là một ngôn ngữ viết dưới dạng

đồ họa, dễ quan sát, dễ kiểm tra.
_ STL – Statement list – Phương pháp liệt kê: Ngôn ngữ thể hiện dưới dạng những câu
lệnh.
Phần lớn những câu lệnh dưới dạng LAD đều có thể chuyển sang STL và ngược lại.
a. Các lệnh xuất/nhập:
Lệnh nhập: Nạp giá trị logic của tiếp điểm vào bit đầu tiên trong ngăn xếp.
DẠNG LAD
n
n
n
n

MÔ TẢ
Tiếp điểm thường mở – sẽ được đóng khi
n=1
Tiếp điểm thường đóng – sẽ được mở khi n=1
Tiếp diểm thường mở – sẽ được đóng tức thời
khi n=1

TOÁN HẠNG
n (bit): I, Q, M,
SM, T, C, V.
n(bit): I
Page 5


Ứng dụng máy tính điều khiển tốc độ động cơ DC
Tiếp điểm thường đóng – sẽ được mở khi
n=1.
DẠNG STL

LD
n
LDN

n

LDI

n

LDNI

MÔ TẢ
TOÁN HẠNG
Nạp giá trị logic của n vào bit đầu tiên trong
ngăn xếp.
n(bit): I, Q, M,
Nạp giá trị nghịch đảo của n vào bit đầu tiên SM, T, C, V.
trong ngăn xếp.
Nạp tức thời giá trị logic của n vào bit đầu tiên
trong ngăn xếp.
n(bit): I.
Nạp tức thời giá trị nghịch đảo của n vào bit
dầu tiên trong ngăn xếp.

Lệnh xuất: Sao chép nội dung của bit đầù tiên trong ngăn xếp vào bit được chỉ định
trong lệnh. Nội dung của ngăn xếp không bị thay đổi.
LAD
n
n


=

STL
n

=I

n

MÔ TẢ
TOÁN HẠNG
Cuộn dây đầu ra ở trạng thái kích thích khi có n(bit): I, Q, M,
dòng điều khiển đi qua.
SM, T, C, V,.
Cuộn dây đầu ra được kích thích tức thời khi có n(bit): Q.
dòng điều khiển đi qua .

MÔ TẢ
TOÁN HẠNG
Lệnh =sao chép giá trị của đỉnh ngăn xếp tới n(bit): I, Q, M,
tiếp điểm n được chỉ dẫn trong lệnh.
SM, T, C, V.
Lệnh =I sao chép tức thời giá trị cuả đỉnh ngăn n(bit): Q.
xếp tới tiếp điểm n được chỉ dẫn trong lệnh.
b. Các lệnh ghi – xóa giá trị cho tiếp điểm:
Các lệnh này dùng để ghi xóa các điểm gián đoạn đã được thiết kế.

Page 6



Ứng dụng máy tính điều khiển tốc độ động cơ DC

LAD
S bit

MÔ TẢ
Đóng một mảng gồm n các tiếp điểm kể từ S-bit.

n
S bit

Ngắt một mảng gồm n các tiếp điểm kể từ S-bit.
Nếu S-bit lại chỉ vào Timer hoặc Counter thì lệnh
sẽ xóa bit đầu ra của timer hoặc couter đó.

n

TOÁN HẠNG
S-bit: I, Q, M,
SM, T, C, V.
n(Byte): IB, QB,
MB, SMB, VB,
AC, Hằng số,
*VD, *AC.

Đóng tức thời một mảng gồm n các tiếp điểm kể S-bit: Q (bit)
từ S-bit.
n: IB, `QB, MB,
SMB, VB, AC,

Ngắt tức thời một mảng gồm các tiếp điểm kể từ Hằng số, *VD,
*AC.
địa chỉ S-BIT.

S bit
n
S bit
n
STL
S S_BIT

R R_BIT

MÔ TẢ
n Ghi giá trị logic váo một mảng gồm n bit kể từ
điạ chi S_BIT.
Xoá một mảng gồm n bit kể từ điạ chỉ S_BIT.
Nếu S_BIT lại chỉ vào Timer hoăc Counter thì
n lệnh sẽ xóa bit đầu ra của Timer hoặc counter đó.

TOÁN HẠNG
S_BIT: I, Q, M,
SM, T, C, V.
(Bit).
n: IB, QB, MB,
SMB, VB, AC,
Hằng số, *VD,
*AC. (Byte).
Ghi tức thời gá trị logic 1 vào một mảng gồm n S_BIT: Q. (Bit)
bit kể từ địa chỉ S_BIT.

n: IB, QB, MB,
Xóa tức thời một mảng gồm n bit kể từ địa chỉ SMB, VB, AC,
Hằng số, *vd,
S_BIT
*AC. (Byte).

SI S_BIT

n

RI S_BIT

n

c. Các lệnh logic: Các lệnh này cho phép tạo lập được các mạch logic.
 Dạng LAD:
Trong LAD, các lệnh này được biểu diễn thông qua cách mắc mạch nối tiếp (Logic
AND) hay song song (Logic OR) các tiếp điểm thường đóng hay thường hở.

Page 7


Ứng dụng máy tính điều khiển tốc độ động cơ DC
 Dạng STL:
LỆNH
O
n
A
n
ON

AN

n
n

OI

n

ONI
ANI

n
n

MÔ TẢ
TOÁN HẠNG
Lệnh thực hiện toán tử AND va OR giữa các giá trị
logic của tiếp điểm n và giá trị bit đầu tiên trong
ngăn xếp. Kết quả được ghi vào bit đầu trong ngăn
xếp.
n: I, Q, M, SM,
Lệnh thực hiện toán tử AND và OR giữa các giá trị T, C, V. (Bit).
nghịch đảo của tiếp điểm n và giá trị bit đầu tiên
trong ngăn xếp. Kết quả được ghi vào bit đầu trong
ngăn xếp.
Lệnh thực hiện tức thời toán tử AND va OR giữa
giá trị logic của tiếp điểm n và giá trị bit đầu tiên
trong ngăn xếp. Kết quả được ghi lại vào bit đầu
trong ngăn xếp.

n: I . (Bit).
Lệnh thực hiện tức thời toán tử AND và OR giũa
giá trị logic nghịch đảo của tiếp điểm n và giá trị bit
đầu tiên trong ngăn xếp. Kết quả được ghi lại vào
bit đầu của ngăn xếp.

Ngoài ra còn có các lệnh đăc biệt dùng cho ngăn xếp:
LỆNH
ALD

OLD

LPS
LRD
LPP

MÔ TẢ
Lệnh tổ hợp giá trị của bit đầu tiên và thứ hai trong
ngăn xếp bằng phép logic AND. Kết quả ghi lại
trong bit đầu của ngăn xếp. Giá trị còn lại của ngăn
xếp được kéo lên 1 bit.
Lệnh tổ hợp giá trị bit đầu tiên vào bit thứ hai trong
ngăn xếp bằng phép logic OR. Kết quả được ghi lại
vào bit đầu trong ngăn xép. Giá trị còn lại của ngăn
xếp được kéo lên 1 bit.
Lệnh Push sao chụp giá trị bit đầu tiên vào bit thứ
hai trong ngăn xếp. Giá trị còn lại bị đẩy xuống 1
bit. Bit cuối cùng bị đẩy ra ngoài.
Lệnh sao chép giá trịcủa bit thứ hai vào bit đầu tiên
trong ngăn xếp . Các giá trị còn lại của ngăn xếp giữ

nguyên vị trí.
Lệnh kéo ngăn xếp lên 1 bit. Giá trị của bit sau
được kéo lên bit trước.

TOÁN HẠNG

Không có.

d. Các lệnh tiếp điểm đặc biệt:
LAD

STL

MÔ TẢ
Page 8


Ứng dụng máy tính điều khiển tốc độ động cơ DC
NOT

Phủ định

EU

Tác động sườn lên

EO

Tác động sườn xuống


e. Các lệnh so sánh:
LAD
n1 n2
X

n1 n2
X

n1 n2
X

STL
LDB=
n1
AB=
n1
OB=
n1
LDB>= n1
AB>=
n1
OB>=
n1
LDB<= n1
AB<= n1
OB<= n1
LDW= n1
AW= n1
OW= n1
LDW>= n1

AW>= n1
OW>= n1

n2
n2
n2
n2
n2
n2
n2
n2
n2
n2
n2
n2
n2
n2
n2

MÔ TẢ
Tiếp điểm đóng khi n1= n2.
X: B = byte
I = integer
D = double integer
R = real
Tiếp điểm đóng khi n1 lớn hơn
hoặc bằng n2.
X: B = byte
I = integer
D = double integer

R = real
Tiếp điểm đóng khi n1 nhỏ hơn
hoặc bằng n2
X: B = byte
I = integer
D = double integer
R = real

TOÁN HẠNG
n1, n2: VB, IB, QB,
MB, SMB, AC, Const,
*VD, AC.

n1, n2: VW, T, C, IW,
QW, MW, SMW, AC,
const, AIW*VD,*AC.

n1,n2: VD, ID, QD,
MD, SMD, AC,
HC.const, *VD, *AC.

MÔ TẢ
Lệnh thực hiện phép tính logic Load, AND
hoặc OR giữa giá trị 1 với nội dung của đỉnh
ngăn xếp khi n1 = n2
Lệnh thực hiện phép tính logic Load, AND,
Or giữa giá trị logic 1 với nội dung của đỉnh
ngăn xếp khi n1 = n2
Lệnh thực hiện phép tính logic Load, AND,
OR giữa giá trị logic 1 với nội dung của

đỉnh ngăn xếp khi n1 nhỏ hơn hoăc bằng n2.
Lệnh thực hiện phép tính logic Load, AND,
OR giữ giá trị logic 1 với nội dung của đỉnh
ngăn xếp khi n1 = n2
Lệnh thực hiện phép tính logic Load,
ANDm OR giữa giá trị logic 1 và nội dung
của đỉnh ngăn xếp khi n1 lớn hơn hoặc bằng
n2.

TOÁN HẠNG
n1, n2: VB, IB,
QB, MB, SMB,
AC, CONST,
*VD, *AC.
(byte)

n1, n2 :VW, T,
C, TW, QW,
MW, SMW, AC,
CONST, *VD

Page 9


Ứng dụng máy tính điều khiển tốc độ động cơ DC
LDW<= n1 n2
AW<=
n1 n2
OW<=
n1 n2

LDD=
AD=
OD=
LDD>=
AD>=
OD>=

n1
n1
n1
n1
n1
n1

n2
n2
n2
n2
n2
n2

LDD<=
AD<=
OD<=

n1 n2
n1 n2
n1 n2

Lệnh thực hiện phép tính logic LOAD ,

AND, OR giữa giá trị Logic 1 và nội dung
của đỉnh ngăn xếp khi n1 nhỏ hơn hoặc bằng
n2.
Lệnh thực hiện phép tính logic LOAD,
AND, OR giữa giá trị logic 1 và nội dung củ
đỉnh ngăn xếp khi n1 = n2
Lệnh thực hiện phép tính logic LOAD,
AND, OR giữa giá trị logic 1 và nội dung
của đỉnh ngăn xếp khi n1 lớn hơn hoặc bằng
n2
Lệnh thực hiện phép tính logic Load, And,
OR giữa giá trị logic 1 và nội dung của đỉnh
ngăn xếp khi n1 nhỏ hơn hoặc bằng n2.

n1, n2: VD, ID,
QD, MD, SMD,
AC, HC,
CONST, *VD,
*AC. (Từ kép).

f. Lệnh nhảy và gọi chương trình con:
LAD

STL

MÔ TẢ

n

JMP


n

LBL

Kn

n

CALL

Kn

n

SBR

Kn

RET

Kn

Lệnh nhảy thực hiện việc chuyển
điều khiển đến nhãn n trong một
chương trình.
Lệnh khai báo nhãn n trong một
chương trình.
Lệnh gọi chương trình con, thực hiện
việc chuyển điều khiển đến chương

trình con có nhãn là n.
Lệnh gán nhãn cho một chuơng trình
con.
Lệnh trở về chương trình chính
không điều kiện.

TOÁN
HẠNG

n: từ 0
đến 255

Không


g. Các lệnh can thiệp vào thời gian vòng quét:
LAD

STL
END
STOP

n

NOP n

MÔ TẢ
Lệnh kết thúc chương trình chính hiện hành
có điều kiện.
Kết thúc chương trình hiện hành và chuyển

sang chế độ Stop.
Lệnh rỗng, không có hiệu lực trong chương
trình hiện hành.

TOÁN
HẠNG
Không

n: từ 0
đến 255
Page 10


Ứng dụng máy tính điều khiển tốc độ động cơ DC

h. Các lệnh điều khiển Timer:
LAD

Tx
x

Tx
x

MÔ TẢ
Khai báo timer xx kiểu TON dể tạo thời gian
trễ tính từ khi bit đầu trong ngăn xếp có giá trị
logic 1. Nếu giá trị đếm tức thời lớn hơn hoăc
bằng giá trị đặt trước n thì T-bit có giá trị
logic =1. Có thể reset timer bằng lệnh Reset

hoặc bằng giá trị ogic 0 ở đầu vào.
CPU 212 – 214
CPU 214
1ms
T32
T96
10ms T33 đến T36
T97 đến T100
100ms T37 đến T63
T101 đến T127
Khai báo Timer xx kiểu TONR. Chỉ có thể
reset timer kiểu TONR bằng lệnh R.
CPU 212-214
CPU 214
1ms
T0
T64
10ms T1 đến T4
T65 đến T68
100ms T5 đến T31
T69 đến T95

TOÁN HẠNG
Txx: CPU 212
32 – 63
CPU 214
32 – 63
96 – 27
PT: VW, T, C,
IW, QW, MW,

SMW, AC, IAW,
VD, *AC,
CONST.
Txx: 0 – 31
64 - 95.
PT: VW. T, C,
IW, QW, MW,
SMW, AC, AIW,
VD, *AC,
CONST.

i. Các lệnh điều khiển Counter: Dùng để đếm sườn xung :
LAD
Cxx

STL
CTU Cxx n

MÔ TẢ
Khai báo bộ đếm lên theo sườn
lên. Khi giá trị tức thời C-word
>= giá trị đặt trước n, C-bit có
giá trị logic =1. Bộ đếm sẽ
ngừng khi :
C-word
= 32767.

CTUD Cxx n

Khai báo bộ đếm lên xuống,

khi giá trị C-word >= n thì Cbit có giá trị bằng 1.
Cwordmax = 32767

Cxx

TOÁN HẠNG
Cxx:
Từ 0 – 47 và
80 – 127
n:VW, T, C, IW,
QW, MW,
SMW, AC, AIW,
CONST, *VD,
*AC.
(Word).
Cxx: 48 – 79
(word)
n: VW, T, C, IW,
MW, SMW,
Page 11


Ứng dụng máy tính điều khiển tốc độ động cơ DC
C-wordmin = - 32768
CTUD reset khi bit đầu của
ngăn xếp có giá trị logic =1.

QW, AC, AIW,
CONST, *VD,
*AC.


2.6.2. MỘT SỐ LỆNH TIẾP ĐIỂM ĐẶC BIỆT
2.6.2.1. Tiếp điểm SM0.0
Tiếp điểm luôn luôn đóng.

2.6.2.2. Tiếp điểm SM0.1
Tiếp điểm phát ra 1 xung khi PLC chuyển từ chế độ STOP sang RUN.

Netword 2

2.6.2.3. Tiếp điểm SM0.4
Tiếp điểm tạo xung liên tục, với chu kì là 60 giây. 30 giây đầu ở mức thấp, 30 giây
sau ở mức cao.

2.6.2.4. Tiếp điểm SM0.5
Tiếp điểm tạo xung liên tục, với chu kì là 1 giây. 0.5 giây đầu ở mức thấp, 0.5 giây
sau ở mức cao.

Page 12


Ứng dụng máy tính điều khiển tốc độ động cơ DC

Page 13


Ứng dụng máy tính điều khiển tốc độ động cơ DC

Phần2: các tập lệnh nângcao trong s7-200
1. BỘ ĐẾM TỐC ĐỘ CAO:

1.1GIỚI THIỆU VỀ HSC:

Bộ đếm tốc độ thường: Bộ đếm thường trong PLC như đếm lên (CTU), đếm xuống (CTD),
đế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 sử 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. VD: tín hiệu xung từ encoder…
2. Số lượng bộ đếm HSC có trong PLC và tần số tối đa cho phép:
tuỳ thuộc vào loại CPU mà số lượng bộ đếm HSC và tốc độ tối đa cho phép khác nhau
bộ đếm

Ngõ vào

Tần số cho phép

Loại CPUs

HSC0

I0.0

30KHZ

221,222,224,224XP,226

HSC1

I0.1

30KHZ


221,222,224,224XP,226

HSC2

I0.2

30KHZ

221,222,224,224XP,226

HSC3

I0.3

30KHZ

221,222,224,224XP,226

HSC4

I0.4

200KHZ

224XP

HSC5

I0.5


200KHZ

24XP

3. Vùng nhớ đặc biệt sử dụng để lập trình HSC
mỗi HSC có vùng nhớ đặc biệt riêng, vùng nhớ này được sử dụng để khai báo chọn mode
đếm, đặt giá trị, lưu giá trị đếm cho HSC tương ứng
STT

BỘ ĐẾM

VÙNG KHAI BÁO

CHÚ THÍCH

1

HSC0

SMB36 đến SMB45

M ỗi HSC s ử d ụng 10 byte

2

HSC1

SMB46 đến SMB55


3

HSC2

SMB56 đến SMB65

4

HSC3

SMB136 đến SMB145

5

HSC4

SMB146 đến SMB155

6

HSC5

SMB156 đến SMB165

4.C ác mode đếm của bộ đếm:
mỗi bộ đếm đều có nh ững Mode khác nhau. Tu ỳ thộc 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 bộ đếm tiêu biểu

HSC0
Page 14



Ứng dụng máy tính điều khiển tốc độ động cơ DC
MODE

ĐẶCĐIỂM

I0.0

0

b ộ đếm 1 pha, thay đổi hướng

NG Õ VÀO NHẬN XUNG

bên trong
SM37.3=1: Đ ẾM LÊN
SM37.3=1: Đ ẾM XUỐNG

HSC1 (có tất cả 12 Mode đếm khác nhau)
MODE đặc điểm

I0.6

0

Bộ đếm lên/xuống
SMB47.3=0 : đếm xuống
SMB47.3=1: đếm lên


clock

Thay đổi hướng đếm
I0.7=0:Đếm xuống
I0.7=1:Đếm lên

clock

đếm 2 pha với ngõ vào xung
CK đếm lên và đếm xuống

đếm lệch pha. Pha A,B lệch
nhau 90độ đếm xuống

1

I0.7

I1.0

I1.1

reset

start

dir

reset


start

Ck up

Ck down

reset

start

Clock
A

Clock B

reset

start

I1.4

I1.5

reset

start

2
3
4

5
6
7
8
9
10
11

HSC2 (có tất cả 12 Mode đếm khác nhau)
MODE đặc điểm

I1.2

0

clock

1

Bộ đếm lên/xuống
SMB57.3=0 : đếm xuống
SMB57.3=1: đếm lên

I1.3

2
Page 15


Ứng dụng máy tính điều khiển tốc độ động cơ DC

3
4

Thay đổi hướng đếm
I1.3=0:Đếm xuống
I1.3=1:Đếm lên

clock

dir

reset

start

đếm 2 pha với ngõ vào xung
CK đếm lên và đếm xuống

Ck up

Ck down

reset

start

đếm lệch pha. Pha A,B lệch
nhau 90độ đếm xuống

Clock

A

Clock B

reset

start

5
6
7
8
9
10
11
4. Ý nghĩa của byte trạng thái khi lập trình cho HSC:
4.1. Byte trạng thái của HSC0
SM36.0

Không sử dụng

SM36.1

Không sử dụng

SM36.2

Không sử dụng

SM36.3


Không sử dụng

SM36.4

Không sử dụng

SM36.5

Chiều đang đếm,1:đếm lên, 0: đếm xuống

SM36.6

Kết quả so sánh tức thời, 1: nếu CV=PV

SM36.7

Kết quả so sánh tức thời, 1: nếu CV>PV

4.2 Byte trạng thái của HSC1.
SM46.0

Không sử dụng

SM46.1

Không sử dụng

SM46.2


Không sử dụng

SM46.3

Không sử dụng

SM46.4

Không sử dụng

SM46.5

Chiều đang đếm,1:đếm lên, 0: đếm xuống
Page 16


Ứng dụng máy tính điều khiển tốc độ động cơ DC
SM46.6

Kết quả so sánh tức thời, 1: nếu CV=PV

SM46.7

Kết quả so sánh tức thời, 1: nếu CV>PV

5.3 Byte trạng thái của HSC2
SM56.0

Không sử dụng


SM56.1

Không sử dụng

SM56.2

Không sử dụng

SM56.3

Không sử dụng

SM56.4

Không sử dụng

SM56.5

Chiều đang đếm,1:đếm lên, 0: đếm xuống

SM56.6

Kết quả so sánh tức thời, 1: nếu CV=PV

SM56.7

Kết quả so sánh tức thời, 1: nếu CV>PV

5. Ý nghĩa các bít của byte điều khiển trạng thái khi lập trình cho HSC.
5.1. Byte điều khiển của HSC0

SM37.0

Không sử dụng

SM37.1

Không sử dụng

SM37.2

Không sử dụng

SM37.3

Chiều đếm:0 đếm lùi,1:đếm lên

SM37.4

Cho phép đổi chiều đếm, 0: không cho phép,1:cho phép

SM37.5

Cho phép sửa đổi giá trị đặt trước,0:không cho phép,1:cho phép

SM37.6

Cho phép sửa đổi giá trị đếm tức thời,0:không cho phép,1:cho phép

SM37.7


1:cho phép kích HSC0,0:không cho phép HSC0

5.2 Byte điều khiển của HSC1
SM47.0

Kiểu reset cho tín hiệu xóa tại cổng I1.0

SM47.1

Kiểu start cho tín hiệu kích tại cổng I1.1

SM47.2

Tần số đếm của HSC1
Page 17


Ứng dụng máy tính điều khiển tốc độ động cơ DC
SM47.3

Chiều đếm:0 đếm lùi,1:đếm lên

SM47.4

Cho phép đổi chiều đếm, 0: không cho phép,1:cho phép

SM47.5

Cho phép sửa đổi giá trị đặt trước,0:không cho phép,1:cho phép


SM37.6

Cho phép sửa đổi giá trị đếm tức thời,0:không cho phép,1:cho phép

SM47.7

1:cho phép kích HSC1,0:không cho phép HSC1

6.3Byte điều khiển của HSC2
SM57.0

Kiểu reset cho tín hiệu xóa tại cổng I1.0

SM57.1

Kiểu start cho tín hiệu kích tại cổng I1.1

SM57.2

Tần số đếm của HSC1

SM57.3

Chiều đếm:0 đếm lùi,1:đếm lên

SM57.4

Cho phép đổi chiều đếm, 0: không cho phép,1:cho phép

SM57.5


Cho phép sửa đổi giá trị đặt trước,0:không cho phép,1:cho phép

SM57.6

Cho phép sửa đổi giá trị đếm tức thời,0:không cho phép,1:cho phép

SM57.7

1:cho phép kích HSC2,0:không cho phép HSC2

7.Chọn kiểu reset,start và tần số đếm cho HSC
HSC1

HSC2

GHI CHÚ

SM47.0

SM57.0

0:reset mức cao

1:reset mức thấp

SM47.1

SM57.1


0:start mức cao

1:start mức thấp

SM47.2

SM57.2

0:4X giá trị đếm

1:1X giá trị đếm

8.Byte trạng thái và byte điều khiển của HSC3,HSC4,HSC5:
Bộ đếm

Byte trạng thái

Byte điều khiển

HSC3

SMD136

SMD137

HSC4

SMD146

SMD147


HSC5

SMD156

SMD157

Ghi chú

Page 18


Ứng dụng máy tính điều khiển tốc độ động cơ DC
9.Gía trị tức thời, giá trị đặt:
Bộ đếm

giá trị tức thời

HSC0

SMD38

HSC1

SMD48

HSC2

SMD58


HSC3

SMD1488

HSC4

SMD158

HSC5

SMD168

giá trị đặt

Ghi chú

10.Các bước khởi tạo bộ đếm HSC
Dùng chu kỳ quét đầu tiên (SM0.1) để gọi chương trình con khởi tạo. trong chương trình
con khởi tạo thực hiện các công việc sau đây:
_nạp giá trị cho byte điều khiển.
Gán bộ đếm với mode đếm tương ứng dung lệnh HDEF
Nạp giá trị tức thời
Nạp giá trị đặt trước
Gán chương trình ngắt với sự kiện ngắt dung lệnh ATCH nếu sử dụng ngắt
Cho phép ngắt dung lệnh ENI
Chọn bộ đếm để thực thi dùng lệnh HSC
CHƯƠNG: ĐIỀU CHẾ ĐỘ RỘNG XUNG PWM (PULSE WIDE MODULATION).
1.Giới thiệu về PWM
Trong S7 200 hỗ trợ 2 ngõ ra Q0.0 và Q0.1 để phát xung PWM với tần số lớn (có thể lên đến
30Khz).Với tần số này thì các ngõ ra bình thường, hoạt động phụ thuộc vào chu kỳ quét của PLC

không thể phát ra được.
PWM phát xung với chu kỳ và độ rộng xung có thể thay đổi được :
Chu kỳ : Từ 50uS đến 65535uS hay từ 2mS đến 65536mS.
độ rộng xung : Từ 0 đến 65535uS hay từ 0 đến 65535mS.
2. Vùng nhớ đặc biệt được sử dụng khi lập trình điều khiển PWM
2.1Byte điều khiển:
Q0.0
Q0.1
Control Bits
SM67.0 SM77.0 PTO/PWM update the cycle time
0=no update 1=update cycle time
Page 19


Ứng dụng máy tính điều khiển tốc độ động cơ DC
SM67.1
SM67.2
SM67.3
SM67.4
SM67.5
SM67.6
SM67.7

SM77.1
SM77.2
SM77.3
SM77.4
SM77.5
SM77.6
SM77.7


PWM update the pulse width time
PTO update the pulse count value time
PTO/PWM time base
PWM update method
PTO single/multiple segment operation
PTO/PWM mode select
PTO/PWM enable

0=no update 1=update pulse
0=no update 1=update cycle time
0 =no update 1=update cycle time
0=no update 1=update cycle time
0 =no update 1=update cycle time
0=no update 1=update cycle time
0=no update 1=update cycle time

Tuỳ thuộc vào việc sử dụng ngõ ra Q0.0 hay Q0.1 ở chế độ PTO/PWM và tần số mong muốn mà
người lập trình nạp các giá trị thích hợp vào byte điều khiển SMB67 hay SMB77.
2.2.Các vùng nhớ đặc biệt khác:
Q0.0
Q0.1
Other PTO/PWM register
SMW68
SMW78
PTO/PWM cycle time value
range:2 to 65535
SMW70
SMW80
PWM pulse width value

range:2 to 65535
SMW72
SMW82
PTO pulse count value
range:2 to 4294967295
SMW166 SMW176 Number of the segment in progress Multiple-segment PTO operation only
SMW168 SMW178 Starting location of the profile table Multiple-segment PTO operation only
(byte offset from V0)
2.3 CÁc giá trị nạp cho byte điều khiển và kết quả thực hiện.
Control
register
(hex
value)
16#81
16#84
16#85
16#89
16#8C
16#8D
16#A0
16#A8

Result of Executing the PLS Instruction
enable
Select
PTO
PWM
mode
segment
update

operation method
YES
PTO
Single
YES
PTO
Single
YES
PTO
Single
YES
PTO
Single
YES
PTO
Single
YES
PTO
Single
YES
PTO
Multiple
YES
PTO
Multiple

16#D1
16#D2
16#D3
16#D9

16#DA
16#DB

YES
YES
YES
YES
YES
YES

PWM
PWM
PWM
PWM
PWM
PWM

Synchronous
Synchronous
Synchronous
Synchronous
Synchronous
Synchronous

Time
base
1us/cycle
1us/cycle
1us/cycle
1ms/cycle

1ms/cycle
1ms/cycle
1ms/cycle
1ms/cycle
1us/cycle
1us/cycle
1us/cycle
1ms/cycle
1ms/cycle
1ms/cycle

Pulse
count

Pulse
Width

Cycle
time
Load

Load
Load

Load
Load

Load
Load


Load

Load
Load
Load
Load
Load

Load
Load
Load

2.4 các bước khởi tạo bộ phát xung:
Sử dụng chu kỳ quét đầu tiên để gọi chương trình con khởi tạo PLS. Trong chương trình con khởi
tạo thực hiện các công việc sau.
1.
2.
3.
4.
5.

Nạp giá trị cho byte điều khiển để chọn chế độ phát theo yêu cầu
Nạp giá trị thời gian để chọn chu kỳ
Nạp giá trị để chọn số lượng xung phát
Gán chương trình ngắt với sự kiện ngắt tương ứng
Cho phép ngắt

Page 20



Ứng dụng máy tính điều khiển tốc độ động cơ DC
6. Thực hiện lệnh PLS để phát xung
2.4.1 Khởi tạo PTO phát 10 xung vuông , tần số 1hz ( chu kỳ 1s)
Chương trình chính.

Chương trình con khởi tạo

Page 21


Ứng dụng máy tính điều khiển tốc độ động cơ DC

2.5 Các bước khởi động bộ PWM
Sử dụng chu kỳ quét đầu tiên để gọi chương trình con khởi tạo bộ PWM.Trong chương trình con
khởi tạo thực hiện các công việc sau
1.
2.
3.
4.

Nạp giá trị cho byte điều khiển để chọn chế độ phát theo yêu cầu
Nạp giá trị thời gian để chọn chu kỳ
Nạp giá trị thời gian để chọn độ rộng xung
Thực hiện lệnh PLS để phát xung

Chương trình chính

Chương trình con khởi tạo:

Page 22



Ứng dụng máy tính điều khiển tốc độ động cơ DC

BÀI 4: HOẠT ĐỘNG NGẮT CỦA PLC
1. GIỚI THIỆU VỀ NGẮT TRONG S7 200:
Ngắt là quá trình mà s7 200 dừng chương trình đang thực thi để thực hiện chương trình ngắt khi
được yêu cầu (có sự kiện gây ra ngắt xảy ra). Sau khi thực hiện xong chương trình ngắt thì s7-200sẽ
quay về chương trình đang thực hiện trước khi xảy ra ngắt để thực hiện tiếp.
Khi có nhiều yêu cầu ngắt xảy ra đồng thời thì các ngắt sẽ thực hiện theo thứ tự ưu tiên từ ngắt có
mức ưu tiên cao nhất đến ngắt có ưu tiên thấp nhất.
Tuỳ thuộc vào loại CPU mà số lượng ngắt cũng như
sự kiện ngắt có khác nhau.
Inputs/Ouputs Data
Operands
Types
INT
BYTE
Constant (0 to 127)
EVNT
BYTE
Constant CPU221 and CPU222
0to 12, 19 to 23, and 27 to 33
CPU224:
0 to 23 and 27 to 33
CPU 226 and CPU 226XM: 0 to 33
Các lệnh sử dụng khi lập trình điều khiển ngắt:
Lệnh cho phép ngắt toàn cục:

Lệnh cho phép ngắt toàn cục

Page 23


Ứng dụng máy tính điều khiển tốc độ động cơ DC
Lệnh cấm ngắt toàn cục
Lệnh thoát khỏi chương trình ngắt
Lệnh gắn chương trình ngắt với sự kiện ngắt tương ứng

Lệnh loại bỏ chương trình ngắt với sự kiện ngắt tương ứng

2.

Lưu ý : một chương trình ngắt có thể được gọi bởi nhiều sự kiện ngắt. Tuy nhiên một sự kiện ngắt
thì không thể gán cho nhiều chương trình ngắt .
3. các bước lập trình khi sử dụng ngắt
tất cả các ngắt phải được khởi tạo trước khi làm việc. Việc khởi tạo các ngắt nên thực thi một lần
(SM0.1) trong chương trình , chỉ khi nào cần thay đổi các thông số trong quá trình khởi tạo thì mới
khởi tạo lại.
mỗi ngắt đều có cách khởi tạo riêng, tiếp theo sẽ trình bày việc khởi tạo một số ngắt cơ bản
khởi tạo ngắt cạnh lên tại I0.0( sự kiện 0)
chương trình chính ( gọi chương trình con khởi tạo ngắt)

Chương trình con KHOITAO0
ngắt)

( Gán chương trình ngắt với sự kiện ngắt tương ứng, cho phép

Page 24



Ứng dụng máy tính điều khiển tốc độ động cơ DC

Trong chương trình ngat : mỗi lần có cạnh lên I0.0 thì chương trình ngắt được gọi. Trong ví dụ này,
chương trình ngắt có nhiệm vụ tăng giá trị QB0 thêm 1
4.2 khởi tạo ngắt định thời 0: timed interrupt0
chương trình chính ( Gọi chương trình con khởi tạo ngắt)

Chương trình con khoitaotimer0: (Nạp thời gian gây ra ngắt, gán chương trình ngắt với sự kiện
ngắt tương ứng, cho phép ngắt)

Page 25


×