Tải bản đầy đủ (.pdf) (57 trang)

Bài giảng ĐIỀU KHIỂN LẬP TRÌNH 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 (8.21 MB, 57 trang )

10/10/14
1
ĐIỀU KHIỂN LẬP TRÌNH PLC
(30 tiết)
GV: Bùi Thúc Minh

Bộ môn: Điện công nghiệp
ĐẠI HỌC NHA TRANG
NHA TRANG 2014
ĐIỀU KHIỂN LẬP TRÌNH
2
Mục tiêu
• Sau khi học xong, sinh viên có khả năng:
– Biết cách kết nối thiết bị vào PLC.
– Thiết kế, lựa chọn thiết bị và lập trình điều khiển
dùng PLC S7-200, 300
– Sử dụng phần mềm WINCC tạo giao diện điều
khiển, giám sát hoạt động của hệ thống
10/10/14
2
NỘI DUNG
Phần 1 Simatic S7-300
Chương 1. Tổng quan về Simatic S7-300
Chương 2. Tập lệnh của S7-300
Phần 2 WinCC
Phần 3 Bài tập ứng dụng
ĐIỀU KHIỂN LẬP TRÌNH
4
ĐÁNH GIÁ
(Thang điểm 10)
• Bài tập, kiểm tra & báo cáo: 50% tổng điểm


• Thi kết thúc môn: 50% tổng điểm
• Hình thức thi: viết (không dùng tài liệu)
• Thời gian: 60 phút
10/10/14
3
ĐIỀU KHIỂN LẬP TRÌNH
5
TÀI LIỆU THAM KHẢO
[1] Simatic S7-300 Điều khiển hệ thống, Trung
tâm Việt-Đức
[2] Điều khiển lập trình 2, ĐHNT 2011
[3] SIMATIC, Ladder Logic (LAD) for S7-300
and S7-400 Programming, Reference Manual
[4] SIMATIC, Working with STEP 7
[5] Trần Thu Hà, Lập trình với S7&WINCC, NXB
Hồng Đức 2008
[6] Internet
ĐIỀU KHIỂN LẬP TRÌNH
6
Nhắc lại lưu đồ
• Ký hiệu
10/10/14
4
ĐIỀU KHIỂN LẬP TRÌNH
7
Chương 1. Tổng quan về Simatic S7-300
1. Các module của PLC S7-300
2. Kiểu dữ liệu và phân chia bộ nhớ
3. Vòng quét chương trình.
4. Những khối OB đặc biệt

5. Ngôn ngữ lập trình của S7-300
ĐIỀU KHIỂN LẬP TRÌNH
8
Chương 1. Tổng quan về Simatic S7-300
Thiết bị điều khiển logic khả trình PLC
(Programmable Logic Control), là loại thiết bị cho
phép thực hiện linh hoạt các thuật toán điều khiển
số thông qua một ngôn ngữ lập trình.
• S7-300 là PLC cỡ vừa của hãng Siemens
10/10/14
5
ĐIỀU KHIỂN LẬP TRÌNH
9
1. Các module của PLC S7-300
ĐIỀU KHIỂN LẬP TRÌNH
10
1. Các module của PLC S7-300 (tt)
• Module CPU
• Module mở rộng
– Các module mở rộng được chia thành 5 loại chính:
- PS (Power Supply): module nguồn nuôi: có 3 loại 2A, 5A,
10A.
- SM (Signal module): module mở rộng cổng tín hiệu vào/ra
bao gồm
- IM (Interface module): module ghép nối.
- FM (Function module): module có chức năng điều khiển
riêng
- CP (Communication module): module phục vụ truyền
thông trong mạng giữa các PLC với nhau hoặc giữa PLC với
máy tính

10/10/14
6
ĐIỀU KHIỂN LẬP TRÌNH
11
ĐIỀU KHIỂN LẬP TRÌNH
12
Hình ảnh một số module
10/10/14
7
ĐIỀU KHIỂN LẬP TRÌNH
13
Mặt trước của PLC S7-300
ĐIỀU KHIỂN LẬP TRÌNH
14
Đèn báo chế độ hoạt động
10/10/14
8
ĐIỀU KHIỂN LẬP TRÌNH
15
Đèn báo các trạng thái hoạt động của PLC
ĐIỀU KHIỂN LẬP TRÌNH
16
2. KIỂU DỮ LIỆU VÀ PHÂN CHIA BỘ NHỚ
• Một chương trình ứng dụng trong S7-300 có thể
sử dụng các kiểu dữ liệu sau:
- BOOL: với dung lượng một bit có giá trị 0 hoặc 1.
Đây là kiểu dữ liệu cho biến hai trị.
– BYTE: dung lượng 8 bit, thường dùng biểu diễn số
nguyên dương từ 0 đến 255, mã BCD của số thập
phân 2 chữ số, mã ASCII của ký tự,…

– WORD: dung lượng 2 byte, biểu diễn số nguyên
dương từ 0 đến 65535.
10/10/14
9
ĐIỀU KHIỂN LẬP TRÌNH
17
2. KIỂU DỮ LIỆU VÀ PHÂN CHIA BỘ NHỚ
– INT: dung lượng 2 byte, biểu diễn số nguyên từ
-32768 đến 32767.
– DINT: dung lượng 4 byte, biểu diễn số nguyên từ
-2147483648 đến 2147483647.
– REAL: dung lượng 4 byte, biểu diễn số thực có dấu
phẩy.
– S5T (hay S5TIME): khoảng thời gian, được tính theo
giờ/phút/giây/mili giây.
– DATE: biểu diễn giá trị thời gian tính theo
năm/tháng/ngày
– CHAR: biểu diễn một hoặc nhiều ký tự (nhiều nhất là 4
ký tự)
ĐIỀU KHIỂN LẬP TRÌNH
18
Cấu trúc bộ nhớ của CPU
• Vùng chương trình ứng dụng
• Vùng hệ thống: chứa tham số của hệ điều hành
và chương trình ứng dụng
• Vùng chứa các khối dữ liệu
10/10/14
10
ĐIỀU KHIỂN LẬP TRÌNH
19

Cấu trúc bộ nhớ của CPU
• Vùng chương trình ứng dụng
– OB (Organisation block): miền chứa chương trình tổ
chức.
– FC (Function): miền chứa chương trình con được tổ
chức thành hàm có biến hình thức để trao đổi dữ liệu
với chương trình đã gọi nó.
– FB (Function block): miền chứa chương trình con,
được tổ chức thành hàm và có khả năng trao đổi dữ
liệu với bất cứ một khối chương trình nào khác. Các
dữ liệu này phải được xây dựng thành một khối dữ
liệu riêng (DB - data block).
ĐIỀU KHIỂN LẬP TRÌNH
20
Cấu trúc bộ nhớ của CPU
• Vùng chứa tham số của hệ điều hành và chương trình
ứng dụng: được chia thành 7 miền khác nhau:
– I (Process image input): miền bộ đệm các dữ liệu của cổng
vào số.
– Q (Process image output): miền bộ đệm các dữ liệu của cổng
ra số.
– M: miền các biến cờ. (tham số)
– T: miền nhớ phục vụ các bộ thời gian.
– C: miền nhớ phục vụ bộ đếm.
– PI: miền địa chỉ cổng vào của các module tương tự.
– PQ: miền địa chỉ cổng ra của các module tương tự.
10/10/14
11
ĐIỀU KHIỂN LẬP TRÌNH
21

Cấu trúc bộ nhớ của CPU
• Vùng chứa các khối dữ liệu: được chia thành 2
loại:
– DB (Data block): miền chứa các dữ liệu được tổ
chức thành khối. Kích thước cũng như số lượng khối
do người sử dụng quy định phù hợp với từng bài
toán điều khiển.
– L (Local data block): miền dữ liệu cục bộ, được các
khối chương trình OB, FC, FB tổ chức và sử dụng
cho các biến tạm thời.
ĐIỀU KHIỂN LẬP TRÌNH
22
3. Vòng quét chương trình
10/10/14
12
ĐIỀU KHIỂN LẬP TRÌNH
23
4. Cấu trúc chương trình
• Lập trình tuyến tính
• Lập trình có cấu trúc
ĐIỀU KHIỂN LẬP TRÌNH
24
4. Cấu trúc chương trình
• Lập trình tuyến tính
– Toàn bộ chương trình điều khiển nằm trong một
khối trong bộ nhớ. Loại điển hình cấu trúc tuyến
tính này phù hợp với những bài toán phù hợp nhỏ,
không phức tạp.
10/10/14
13

ĐIỀU KHIỂN LẬP TRÌNH
25
Cấu trúc chương trình
• Lập trình có cấu trúc
– Chương trình (CT) được chia thành những phần nhỏ
với từng nhiệm vụ riêng và các phần này nằm trong
những khối chương trình khác nhau.
– Loại cấu trúc này phù hợp với những bài toán điều
khiển nhiều nhiệm vụ và phức tạp
ĐIỀU KHIỂN LẬP TRÌNH
26
Cấu trúc chương trình
– Loại khối OB (Organization block): khối tổ chức
quản lý CT điều khiển.
– Loại khối FC (Program bl ock): khối chương trình với những chức
năng riêng giống như một chương trình con hoặc
một hàm (CT con có biến hình thức).
– Loại khối FB (Function block): là loại khối FC đặc
biệt có khả năng trao đổi một lượng dữ liệu lớn với
các khối chương trình khác.
– Loại khối DB (Data block): khối chứa các dữ liệu
cần thiết để thực hiện CT.
• Chương trình trong các khối được liên kết với
nhau bằng các lệnh gọi khối, chuyển khối
10/10/14
14
ĐIỀU KHIỂN LẬP TRÌNH
27
ĐIỀU KHIỂN LẬP TRÌNH
28

Những khối OB đặc biệt
10/10/14
15
ĐIỀU KHIỂN LẬP TRÌNH
29
Ngôn ngữ lập trình của S7-300
• Ngôn ngữ “liệt kê lệnh”, ký hiệu là STL (Statement list).
Đây là dạng ngôn ngữ lập trình thông thường của máy tính.
Một chương trình được ghép bởi nhiều câu lệnh theo một
thuật toán nhất định, mỗi lệnh chiếm một hàng và đều có
cấu trúc chung “tên lệnh” + “toán hạng”.
• Ngôn ngữ “hình thang”, ký hiệu là LAD (Ladder logic).
Đây là dạng ngôn ngữ đồ họa thích hợp với những người
quen thiết kế mạch điều khiển logic.
• Ngôn ngữ “hình khối”, ký hiệu là FBD (Function block
diagram). Đây cũng là ngôn ngữ đồ họa dành cho người có
thói quen thiết kế mạch điều khiển số.
ĐIỀU KHIỂN LẬP TRÌNH
30
Ngôn ngữ lập trình của S7-300
LAD STL FBD
10/10/14
16
ĐIỀU KHIỂN LẬP TRÌNH
31
Cấu trúc lệnh và trạng thái kết quả
• Toán hạng là địa chỉ
– Địa chỉ trong bộ nhớ PLC S7-300 gồm 2 phần: phần
chữ và phần số.
• Phần chữ: chỉ vị trí và kích thước của vùng nhớ.

• Phần số: chỉ địa chỉ của vùng nhớ trong miền đã được xác
định.
Ví dụ: địa chỉ ngõ vào I0.1
ĐIỀU KHIỂN LẬP TRÌNH
32
Cấu trúc lệnh và trạng thái kết quả
– M: chỉ ô nhớ trong miền các biến cờ có kích thước là 1 bit.
– MB: chỉ ô nhớ trong miền các biến cờ có kích thước là 1 byte (8 bit).
– MW: chỉ ô nhớ trong miền các biến cờ có kích thước là 2 byte (16
bits).
– M: chỉ ô nhớ trong miền các biến cờ có kích thước là 4byte (32 bits).
– I: chỉ ô nhớ có kích thước là 1 bit trong miền bộ đệm cổng vào số.
– IB: chỉ ô nhớ có kích thước là 1 byte trong miền bộ đệm cổng vào số.
– IW: chỉ ô nhớ có kích thước là 1 từ trong miền bộ đệm cổng vào số.
– ID: chỉ ô nhớ có kích thước là 2 từ trong miền bộ đệm cổng vào số.
– Q: chỉ ô nhớ có kích thước là 1 bit trong miền bộ đệm cổng ra số.
– QB: chỉ ô nhớ có kích thước là 1 byte trong miền bộ đệm cổng ra số.
– QW: chỉ ô nhớ có kích thước là 1 từ trong miền bộ đệm cổng ra số.
– QD: chỉ ô nhớ có kích thước là 2 từ trong miền bộ đệm cổng ra số.
– T: chỉ ô nhớ trong miền nhớ của bộ thời gian (Timer).
10/10/14
17
ĐIỀU KHIỂN LẬP TRÌNH
33
Cấu trúc lệnh và trạng thái kết quả
• Thanh ghi trạng thái: khi thực hiện lệnh, CPU sẽ
ghi lại trạng thái của phép tính trung gian cũng
như ghi lại kết quả vào 1 thanh ghi đặc biệt 16
bit.
ĐIỀU KHIỂN LẬP TRÌNH

34
Cấu trúc lệnh và trạng thái kết quả
• FC (Fisrt Check): khi thực hiện các lệnh logic
liên tiếp nhau gồm các phép tính ^ (VÀ), V
(HOẶC), ĐẢO thì bit FC=1. Khi kết thúc các
lệnh thì FC=0.
10/10/14
18
ĐIỀU KHIỂN LẬP TRÌNH
35
Cấu trúc lệnh và trạng thái kết quả
– RLO (Result of logic operation): Kết quả tức thời
của phép tính logic vừa được thực hiện. Ví dụ lệnh:
A I0.3
• Nếu trước khi thực hiện lệnh bit FC = 0 thì có tác
dụng chuyển nội dung của cổng vào số I 0.3 vào bit
trạng thái RLO.
• Nếu trước khi thực hiện bit FC = 1 thì có tác dụng
thực hiện phép tính  giữa RLO và giá trị logic cổng
vào I 0.3. Kết quả của phép tính được ghi lại vào bit
trạng thái RLO.
ĐIỀU KHIỂN LẬP TRÌNH
36
Cấu trúc lệnh và trạng thái kết quả
– STA (Status bit): Bit trạng thái này luôn có giá trị
logic của tiếp điểm được chỉ định trong lệnh. Ví dụ
cả hai lệnh:
A I0.3
AN I0.3
đều gán cho bit STA cùng một giá trị là nội dung của

cổng vào số I 0.3.
10/10/14
19
ĐIỀU KHIỂN LẬP TRÌNH
37
Cấu trúc lệnh và trạng thái kết quả
– OR: Ghi lại giá trị của phép tính logic  cuối cùng
được thực hiện để phụ giúp cho việc thực hiện phép
toán  sau đó. Điều này là cần thiết vì trong một
biểu thức hàm giá trị, phép tính  bao giờ cũng phải
được thực hiện trước các phép tính .
– OS (Stored overflow bit): Ghi lại giá trị bit bị tràn ra
ngoài mảng ô nhớ.
– OV (Overflow bit): Bit báo kết quả phép tính bị tràn
ra ngoài mảng ô nhớ.
ĐIỀU KHIỂN LẬP TRÌNH
38
Cấu trúc lệnh và trạng thái kết quả
– CC0 và CC1 (Condition code): Hai bit báo trạng thái
của kết quả phép tính với số nguyên, số thực, phép
dịch chuyển hoặc phép tính logic trong ACCU Cụ
thể là:
• Khi thực hiện lệnh toán học như cộng, trừ, nhân, chia
với số nguyên hoặc số thực.
10/10/14
20
ĐIỀU KHIỂN LẬP TRÌNH
39
Cấu trúc lệnh và trạng thái kết quả
Khi thực hiện lệnh toán học với số nguyên nhưng kết

quả bị tràn ô nhớ.
ĐIỀU KHIỂN LẬP TRÌNH
40
10/10/14
21
ĐIỀU KHIỂN LẬP TRÌNH
41
Một số nhóm lệnh
• Nhóm lệnh tiếp điểm
• Các lệnh ghi/xóa cho tiếp điểm
• Các lệnh tiếp điểm đặc biệt
• Lệnh Timer
• Lệnh đếm
• Các lệnh so sánh
• Các lệnh dịch chuyển
• Các lệnh có chức năng biến đổi
• Các lệnh có chức năng toán học
ĐIỀU KHIỂN LẬP TRÌNH
42
Nhóm lệnh tiếp điểm
10/10/14
22
ĐIỀU KHIỂN LẬP TRÌNH
43
Các lệnh ghi/xóa cho tiếp điểm
• Lệnh ghi
Lệnh xóa
ĐIỀU KHIỂN LẬP TRÌNH
44
RS Flip Flop

Ưu tiên SET
10/10/14
23
ĐIỀU KHIỂN LẬP TRÌNH
45
SR Flip Flop
Ưu tiên RESET
ĐIỀU KHIỂN LẬP TRÌNH
46
Các lệnh tiếp điểm đặc biệt
10/10/14
24
ĐIỀU KHIỂN LẬP TRÌNH
Ví dụ
• Viết chương trình điều khiển như sau: Hệ thống
gồm 1 nút nhấn và một bóng đèn. Yêu cầu:
Nhấn lần lẻ thì đèn sáng, lần chẵn đèn tắt.
47
ĐIỀU KHIỂN LẬP TRÌNH
48
TIMER
10/10/14
25
ĐIỀU KHIỂN LẬP TRÌNH
49
Overview of Timer Instructions
ĐIỀU KHIỂN LẬP TRÌNH
50
Choosing the right Timer

×