Điều khiển logic và PLC - Cơ sở cho Điều khiển logic

Nội dung

1. Cơ sở cho Điều khiển logic

2. Tổng hợp và tối thiểu hóa mạch logic tổ hợp

3. Tổng hợp mạch logic tuần tự

4. Tổng quan về PLC

5. Kỹ thuật lập trình PLC

pdf 104 trang dienloan 4600
Bạn đang xem 20 trang mẫu của tài liệu "Điều khiển logic và PLC - Cơ sở cho Điều khiển logic", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Điều khiển logic và PLC - Cơ sở cho Điều khiển logic

Điều khiển logic và PLC - Cơ sở cho Điều khiển logic
10/02/20
1
ĐIỀU KHIỂN LOGIC 
VÀ PLC
1TDH-VD-BK
Nội dung
1. Cơ sở cho Điều khiển logic
2. Tổng hợp và tối thiểu hóa mạch logic tổ hợp
3. Tổng hợp mạch logic tuần tự
4. Tổng quan về PLC
5. Kỹ thuật lập trình PLC
2TDH-VD-BK
1
2
TDH-VD-BK
10/02/20
2
1. Cơ sở cho Điều khiển logic
2. Tổng hợp và tối thiểu hóa mạch logic tổ hợp
3. Tổng hợp mạch logic tuần tự
4. Tổng quan về PLC
5. Kỹ thuật lập trình PLC
3
Nội dung
TDH-VD-BK
1. Cơ sở cho điều khiển logic
1.1. Khái niệm về điều khiển logic
1.2. Đại số logic
1.3. Biểu diễn hàm logic
4TDH-VD-BK
3
4
TDH-VD-BK
10/02/20
3
1. Cơ sở cho điều khiển logic
1.1. Khái niệm về điều khiển logic
1.2. Đại số logic
1.3. Biểu diễn hàm logic
5TDH-VD-BK
1.1. Khái niệm về Điều khiển logic
6TDH-VD-BK
5
6
TDH-VD-BK
10/02/20
4
7
1.1. Khái niệm về Điều khiển logic
TDH-VD-BK
• Điều khiển logic giải quyết các vấn đề
– Hệ thống có các chế độ làm việc khác nhau, tuân 
theo lệnh điều khiển từ bên ngoài
– Chuyển từ chế độ này sang chế độ khác theo một 
trình tự, điều kiện xác định
– Đảm bảo trình tự thời gian và sự tương tác giữa 
các bộ phận
– Phản ứng tức thời trước một số sự kiện
8
1.1. Khái niệm về Điều khiển logic
TDH-VD-BK
7
8
TDH-VD-BK
10/02/20
5
• Các lĩnh vực nghiên cứu điều khiển logic
– Khoa học máy tính (Computer Science)
– Lập trình (Programming)
– Mô phỏng (Simulation)
– Truyền thông (Communication)
– Các hệ thống điều khiển công nghiệp 
(Industrial Control)
9
1.1. Khái niệm về Điều khiển logic
TDH-VD-BK
• Mô hình hóa hệ thống điều khiển logic
– Đại số logic (Boolean Algebra)
– Automat hữu hạn (Finite State Machine)
– Statechart
– GRAFCET
– Petri net
10
1.1. Khái niệm về Điều khiển logic
TDH-VD-BK
9
10
TDH-VD-BK
10/02/20
6
1. Cơ sở cho điều khiển logic
1.1. Khái niệm về điều khiển logic
1.2. Đại số logic
1.3. Biểu diễn hàm logic
11TDH-VD-BK
• Các sự vật hiện tượng thường được biểu hiện 
ở hai mặt đối lập:
– Trong cuộc sống: đúng/sai, có/không, tốt/xấu, 
sạch/bẩn, đỗ/trượt,
– Trong kỹ thuật: đóng/cắt, bật/tắt, chạy/dừng
• Để biểu diễn (lượng hóa) trạng thái đối lập: 0 
và 1.
• Đại số logic (Đại số Boolean) để nghiên cứu 
các sự vật, hiện tượng có 2 trạng thái đối lập
12
1.2. Đại số logic
TDH-VD-BK
11
12
TDH-VD-BK
10/02/20
7
• Biến logic: x  [0, 1]
• Hàm logic : f(x1, x2, , xn) [0, 1] 
với x1, x2, , xn [0, 1] 
– Ví dụ: Hàm 1 biến f(x):
Hàm 2 biến f(x1,x2):
xxxf
xxxf
xxf
xxf
.)(
)(
)(
)(
212121
2121
),(
),(
xxxxxxf
xxxxf
13
1.2. Đại số logic
TDH-VD-BK
– Phép nghịch đảo: NOT
• Bảng giá trị:
• Ký hiệu
x
1 0
0 1
xxf )(
x x x x
14
• Các phép toán logic cơ bản
1.2. Đại số logic
TDH-VD-BK
13
14
TDH-VD-BK
10/02/20
8
– Phép cộng: OR
• Bảng giá trị:
• Ký hiệu
x y f(x,y) = x + y
0 0 0
0 1 1
1 0 1
1 1 1
x yx 
y 1
x yx 
y
15
• Các phép toán logic cơ bản
1.2. Đại số logic
TDH-VD-BK
– Phép nhân: AND
• Bảng giá trị:
• Ký hiệu
x y f(x,y) = xy
0 0 0
0 1 0
1 0 0
1 1 1
x xyy &
x xy
y
16
• Các phép toán logic cơ bản
1.2. Đại số logic
TDH-VD-BK
15
16
TDH-VD-BK
10/02/20
9
– Giao hoán : x+y = y+x
xy=yx
– Kết hợp: x+y+z =(x+y)+z=x+(y+z)
xyz =(xy)z=x(yz)
– Phân phối: x(y+z)=xy+xz
x+yz =(x+y)(x+z)
– Luật De Morgan:
nn
nn
xxxxxx
xxxxxx
.........
.........
2111
2121
17
• Các tính chất của các phép toán logic
1.2. Đại số logic
TDH-VD-BK
1 x+0 = x
x.1 = x
2 x.0 = 0
x+1 = 1
3 x+x = x
x.x = x
4
5 x+xy = x
x.(x+y) = x
6
0.
1
xx
xx
xyxyx
xyxxy
))((
Chú ý: Tính đối ngẫu (duality) của các hệ thức logic 18
• Một số hệ thức cơ bản thường gặp
1.2. Đại số logic
TDH-VD-BK
17
18
TDH-VD-BK
10/02/20
10
1. Cơ sở cho điều khiển logic
1.1. Khái niệm về điều khiển logic
1.2. Đại số logic
1.3. Biểu diễn hàm logic
19TDH-VD-BK
1.3. Biểu diễn hàm logic
x1 x2 x3 f(x1,x2,x3)
0 0 0 1
0 0 1 0
0 1 0 “x”
0 1 1 “x”
1 0 0 0
1 0 1 1
1 1 0 “x”
1 1 1 1
Dấu “x” là giá trị hàm không xác định, có thể nhận giá trị 0 hoặc 1
20
• Bảng chân lý
TDH-VD-BK
19
20
TDH-VD-BK
10/02/20
11
– Biểu diễn hàm logic n biến cần thành lập một bảng có 2n ô, 
mỗi ô tương ứng với 1 tổ hợp biến.
– Các ô cạnh nhau hoặc đối xứng nhau chỉ cho phép khác 
nhau về giá trị của 1 biến.
– Trong các ô ghi giá trị của hàm tương ứng với giá trị của tổ 
hợp biến đó.
Ví dụ:
x2
x1
0 1
0 1 0
1 0 1
x1 x2 f(x1,x2)
0 0 1
0 1 0
1 0 0
1 1 1 21
• Bảng Các nô (Carnough map)
1.3. Biểu diễn hàm logic
TDH-VD-BK
x1 x2 x3 f(x1,x2,x3)
0 0 0 1
0 0 1 0
0 1 0 “x”
0 1 1 “x”
1 0 0 0
1 0 1 1
1 1 0 “x”
1 1 1 1
x2x3
x1 00 01 11 10
0 1 0 “x” “x”
1 0 1 1 “x”
x2
x3
x1
22TDH-VD-BK
21
22
TDH-VD-BK
10/02/20
12
x3x4
x1x2 00 01 11 10
00
01
11
10
x3x4x5
x1x2 000 001 011 010 110 111 101 100
00
01
11
10
x2
x4
x1
x3
x2
x1
x3
x4
x5 x5
23TDH-VD-BK
• Sơ đồ rơ le – tiếp điểm
24
1.3. Biểu diễn hàm logic
Thiết bị Loại Ký hiệu
Nút ấn Thường mở
Thường đóng
Công tắc
hành trình
Thường mở
Thường đóng
Rơ le Cuộn dây
Tiếp điểm thường mở
Tiếp điểm thường đóngTDH-VD-BK
23
24
TDH-VD-BK
10/02/20
13
• Sơ đồ rơ le - tiếp điểm
– Hai dây thể hiện nguồn cấp
– Lựa chọn ký hiệu biến tương ứng với thiết bị vật lý 
(nút ấn, công tắc hành trình hay tiếp điểm rơ le)
– Biến ở trạng thái thường: tiếp điểm thường mở
– Biến ở trạng thái đảo: tiếp điểm thường đóng
– Cộng logic: đấu song song
– Nhân logic: đấu nối tiếp
– Đầu ra: cuộn dây rơ le đấu nối tiếp với tổ hợp biểu 
diễn các biến đầu vào
25
Biểu diễn hàm logic
TDH-VD-BK
26
• Sơ đồ rơ le – tiếp điểm
Ví dụ:
1.3. Biểu diễn hàm logic
 =  ,  = .  + . 
TDH-VD-BK
25
26
TDH-VD-BK
10/02/20
1
ĐIỀU KHIỂN LOGIC VÀ 
PLC
1TDH-VD-BK
Nội dung
1. Cơ sở cho Điều khiển logic
2. Tổng hợp và tối thiểu hóa mạch logic tổ hợp
3. Tổng hợp mạch logic tuần tự
4. Tổng quan về PLC
5. Kỹ thuật lập trình PLC
2TDH-VD-BK
1
2
TDH-VD-BK
10/02/20
2
2. Tổng hợp và tối thiểu hóa mạch logic tổ hợp
2.1. Khái niệm mạch logic tổ hợp
2.2. Tổng hợp mạch logic tổ hợp
 Dạng tổng chuẩn đầy đủ
 Dạng tích chuẩn đầy đủ
2.3. Tối thiểu hóa mạch logic tổ hợp
 Phương pháp đại số
 Phương pháp bảng Các nô (Carnough map)
 Phương pháp Quine Mc. Clusky
TDH-VD-BK 3
2. Tổng hợp và tối thiểu hóa mạch logic tổ hợp
2.1. Khái niệm mạch logic tổ hợp
2.2. Tổng hợp mạch logic tổ hợp
Dạng tổng chuẩn đầy đủ
Dạng tích chuẩn đầy đủ
2.3. Tối thiểu hóa mạch logic tổ hợp
 Phương pháp đại số
 Phương pháp bảng Các nô (Carnough map )
 Phương pháp Quine Mc. Clusky
TDH-VD-BK 4
3
4
TDH-VD-BK
10/02/20
3
2.1. Khái niệm về mạch logic tổ hợp
• Định nghĩa: Mạch logic tổ hợp là mạch logic mà tín hiệu ra của mạch chỉ phụ thuộc vào tín hiệu đầu vào, không phụ thuộcvào thứ tự, thời gian tác động của tín hiệu vào
• Tính chất
• Không có nhớ
• Không có yếu tố thời gian
• Cùng một tổ hợp tín hiệu vào, tín hiệu ra là duy nhất
• Mạch vòng hở
5
Mạch logic 
tổ hợp
tín hiệu
vào
tín hiệu
ra
. . .
. . .
TDH-VD-BK
2. Tổng hợp và tối thiểu hóa mạch logic tổ hợp
2.1. Khái niệm mạch logic tổ hợp
2.2. Tổng hợp mạch logic tổ hợp
 Dạng tổng chuẩn đầy đủ
 Dạng tích chuẩn đầy đủ
2.3. Tối thiểu hóa mạch logic tổ hợp
 Phương pháp đại số
 Phương pháp bảng Các nô (Carnough map )
 Phương pháp Quine Mc. Clusky
TDH-VD-BK 6
5
6
TDH-VD-BK
10/02/20
4
– Dạng tổng chuẩn đầy đủ
• Chỉ quan tâm đến tổ hợp các giá trị của biến làm cho hàm có giá trị 1. 
Mỗi tổ hợp này tương ứng với một tích của tất cả các biến. 
• Trong mỗi tích, các biến có giá trị 1 thì được biểu diễn ở trạng thái
thường, các biến có giá trị 0 thì được biểu diễn ở trạng thái phủ định.
• Hàm logic dạng tổng chuẩn đầy đủ sẽ là tổng các tích đó
x y f(x,y)
0 0 1
0 1 0
1 0 0
1 1 1
 ),( yxf x yxy
7
2.2. Tổng hợp mạch logic tổ hợp
TDH-VD-BK
– Chú ý: Cách ký hiệu rút gọn của hàm logic
Thập phân x1 x2 x3 f(x1,x2,x3)
0 0 0 0 1
1 0 0 1 0
2 0 1 0 1
3 0 1 1 0
4 1 0 0 0
5 1 0 1 1
6 1 1 0 1
7 1 1 1 1
321321321321321321 ),,( xxxxxxxxxxxxxxxxxxf 
8
(, , ) =  0, 2, 5, 6, 7
TDH-VD-BK
7
8
TDH-VD-BK
10/02/20
5
x y f(x,y)
0 0 1
0 1 0
1 0 0
1 1 1
))((),( yxf x y x y
9
2.2. Tổng hợp mạch logic tổ hợp
– Dạng tích chuẩn đầy đủ
• Chỉ quan tâm đến tổ hợp các giá trị của biến làm cho hàm có giá trị 0. 
Mỗi tổ hợp này tương ứng với một tổng của tất cả các biến. 
• Trong mỗi tổng, các biến có giá trị 0 thì được biểu diễn ở trạng thái
thường, các biến có giá trị 1 thì được biểu diễn ở trạng thái phủ định.
• Hàm logic dạng tích chuẩn đầy đủ sẽ là tích các tổng đó
TDH-VD-BK
2. Tổng hợp và tối thiểu hóa mạch logic tổ hợp
2.1. Khái niệm mạch logic tổ hợp
2.2. Tổng hợp mạch logic tổ hợp
 Dạng tổng chuẩn đầy đủ
 Dạng tích chuẩn đầy đủ
2.3. Tối thiểu hóa mạch logic tổ hợp
 Phương pháp đại số
 Phương pháp bảng Các nô (Carnough map )
 Phương pháp Quine Mc. Clusky
TDH-VD-BK 10
9
10
TDH-VD-BK
10/02/20
6
2.3. Tối thiểu hóa hàm logic
– Dựa vào các hệ thức cơ bản
– Nhược điểm: không biết rõ đã tối thiểu chưa
ab
bbabaa
baababba
baabbabaf
)()(
)()(
),(
11
• Phương pháp biến đổi đại số
TDH-VD-BK
– Biểu diễn hàm đã cho dưới dạng bảng Các nô
– Nhóm các ô có giá trị 1 và không xác định ở cạnh nhau hoặc đối xứng 
nhau thành các vòng:
• Số ô trong 1 vòng là 2m, m lớn nhất có thể
• Các vòng có thể giao nhau nhưng không được trùm lên nhau.
• Các vòng phải phủ hết các ô có giá trị 1 
• Số vòng phải là tối thiểu.
– Mỗi vòng tương ứng với tích các biến có giá trị không thay đổi trong
vòng đó với biểu diễn tương ứng với giá trị của các biến.
– Hàm rút gọn bằng tổng các tích tương ứng với các vòng. 12
2.3. Tối thiểu hóa hàm logic
• Phương pháp bảng Các nô
TDH-VD-BK
11
12
TDH-VD-BK
10/02/20
7
– Ví dụ 1: 
x1 x2 x3 f(x1,x2,x3)
0 0 0 1
0 0 1 0
0 1 0 1
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
321321321321321321 ),,( xxxxxxxxxxxxxxxxxxf 
x2x3
x1 00 01 11 10
0 1 0 0 1
1 0 1 1 1 , ,  =	+	+
x2x3
x1 00 01 11 10
0 1 0 0 1
1 0 1 1 1
13
 
 , ,  =	+	+ TDH-VD-BK
14
– Ví dụ 2:  , , ,  =  ̅̅̅̅ + ̅̅̅ + ̅̅̅ + ̅̅+̅̅ + ̅ + ̅ + 
x3x4
x1x2 00 01 11 10
00 1 0 0 1
01 0 0 0 0
11 0 1 1 0
10 1 1 1 1
x2
x4
x1
x3
 , , ,  = + +̅̅  ̅ CHƯA TỐI THIỂU
TDH-VD-BK
13
14
TDH-VD-BK
10/02/20
8
15
x3x4
x1x2 00 01 11 10
00 1 0 0 1
01 0 0 0 0
11 0 1 1 0
10 1 1 1 1
x2
x4
x1
x3
 , , ,  = +̅̅ 
TDH-VD-BK
– Ghi các tổ hơp biến theo mã nhị phân (đảo = 0)
– Nhóm các tổ hợp biến theo số chữ số 1 trong biểu diễn nhị phân, nhóm i có i chữ số 1
– Ghép tổ hợp nhóm thứ i với nhóm i+1 nếu chúng chỉ khác nhau 1 bit ở cùng 1 vị trí. 
Đánh dấu “-” vào vị trí bit đổi trị trong tổ hợp mới hình thành. Đánh dấu “*” vào các
tổ hợp đã tham gia ghép, dấu “” vào các tổ hợp không thể ghép
– Lặp lại 2 bước trên đến khi không kết hợp được
– Lập bảng phủ tối thiểu: chọn số tổ hợp không thể ghép tối thiểu để phủ hết số tổ hợp
ban đầu
– Hàm tối thiểu bằng tổng các tích ứng với các tổ hợp không thể ghép được lựa chọn
trong bảng phủ tối thiểu
16
2.3. Tối thiểu hóa hàm logic
• Phương pháp Quine Mc. Clusky
TDH-VD-BK
15
16
TDH-VD-BK
10/02/20
9
• Ví dụ 1: abccbacbacbacbacbaf ),,(
000 001 100 101 111
Nhóm Tổ hợp biến I Tổ hơp biến II Tổ hợp biến III
0 000* -00*
00-*
-0-
-0-
1 100*
001*
10-*
-01*
2 101* 1-1
3 111*
Bảng phủ
000 001 100 101 111
-0-
1-1
acbcbaf ),,(
17
x x x x
x x
TDH-VD-BK
abcddcabdcbadcbadcbabcdadbcadcbadcbadcbadcbaf ),,,(
0000 0100 0101 0110 0111 1000 1001 1010 1101 1111
Nhóm Tổ hợp biến I Tổ hợp biến II Tổ hợp biến III
0 0000* 0-00
-000
1 0100*
1000*
010-*
01-0*
100-
10-0
01- -
01- -
2 0101*
0110*
1001*
1010*
01-1*
011-*
-101*
1-01
-1-1
-1-1
3 0111*
1101*
-111*
11-1*
4 1111*
18
• Ví dụ 2:
TDH-VD-BK
17
18
TDH-VD-BK
10/02/20
10
Bảng phủ
0000 0100 0101 0110 0111 1000 1001 1010 1101 1111
0-00 x x
-000 x x
100- x x
10-0 x x
1-01 x x
01-- x x x x
-1-1 x x x x
bdbadbacbadcadcbaf ),,,(
19TDH-VD-BK
• Bài tập về nhà:
• Rút gọn dùng bảng Các nô:
• Rút gọn dùng phương pháp Quine Mc.Clusky
20



)31,29,28,27,23,19,18,4,0(),,,,(
)15,11,9,7,3,1(),,,(
)7,6,1,0(),,(
zyxwvf
zyxwf
zyxf



)15,14,13,9,8,7,5,4,1(),,,(
)13,12,5,4,1,0(),,,(
)5,4,3,2(),,(
zyxwf
zyxwf
zyxf
TDH-VD-BK
19
20
TDH-VD-BK
10/02/20
1
ĐIỀU KHIỂN LOGIC VÀ 
PLC
1TDH-VD-BK
Nội dung
1. Cơ sở cho Điều khiển logic
2. Tổng hợp và tối thiểu hóa mạch logic tổ hợp
3. Tổng hợp mạch logic tuần tự
4. Tổng quan về PLC
5. Kỹ thuật lập trình PLC
2TDH-VD-BK
1
2
TDH-VD-BK
10/02/20
2
3. Tổng hợp mạch logic tuần tự
3.1. Khái niệm mạch logic tuần tự
Định nghĩa
Tính chất
Phân loại
Biểu diễn bằng đồ thị thời gian
3.2. Tổng hợp mạch logic tuần tự
Phương pháp ma trận trạng thái
Phương pháp GRAFCET
TDH-VD-BK 3
3. Tổng hợp mạch logic tuần tự
3.1. Khái niệm mạch logic tuần tự
Định nghĩa
Tính chất
Phân loại
Biểu diễn bằng đồ thị thời gian
3.2. Tổng hợp mạch logic tuần tự
Phương pháp ma trận trạng thái
Phương pháp GRAFCET
TDH-VD-BK 4
3
4
TDH-VD-BK
10/02/20
3
3.1. Khái niệm về mạch logic tuần tự
• Định nghĩa: Mạch logic tuần tự là mạch logic mà tín hiệu ra của
mạch không những phụ thuộc vào tín hiệu đầu vào, mà còn phụ
thuộc vào thứ tự, thời gian tác động của tín hiệu vào
• Tính chất
– Có nhớ
– Có yếu tố thời gian
– Cùng 1 tín hiệu vào, tín hiệu ra có thể khác nhau (các trạngthái trong hay trạng thái làm việc)
– Mạch vòng kín (có phản hồi)
Mạch logic 
tổ hợp
Mạch nhớ
tín hiệu vào tín hiệu ra
5TDH-VD-BK
• Phân loại
– Mạch logic tuần tự đồng bộ: việc chuyển trạng thái trong
mạch không những chỉ phụ thuộc vào tín hiệu đầu vào,
trạng thái trước đó, mà còn phụ thuộc vào xung đồng bộ
• Dùng phổ biến trong máy tính (môn ĐT số)
– Mạch logic tuần tự không đồng bộ: việc chuyển trạng thái
trong mạch chỉ phụ thuộc vào tín hiệu đầu vào, trạng thái
trước đó
• Không có tín hiệu đồng bộ
• Thường gặp trong công nghệ của các máy sản xuất công nghiệp
6
3.1. Khái niệm về mạch logic tuần tự
TDH-VD-BK
5
6
TDH-VD-BK
10/02/20
4
• Biểu diễn bằng đồ thị thời gian
a1
a2
Y
Z
1 7
Y
a1
Y
Z
a2
a2 Y
+ _
3.1. Khái niệm về mạch logic tuần tự
2 3 2 1 4 5 12TDH-VD-BK
3. Tổng hợp mạch logic tuần tự
3.1. Khái niệm mạch logic tuần tự
 Định nghĩa
 Tính chất
 Phân loại
 Biểu diễn bằng đồ thị thời gian
3.2. Tổng hợp mạch logic tuần tự
 Phương pháp ma trận trạng thái
 Phương pháp GRAFCET
TDH-VD-BK 8
7
8
TDH-VD-BK
10/02/20
5
3.2. Tổng hợp mạch logic tuần tự
• Phương pháp ma trận trạng thái
Yêu cầu công nghệ
Mã hóa bài toán
Lập bảng chuyển trạng thái
Rút gọn bảng chuyển
Mã hóa biến trung gian
Xác định các hàm logic cho 
biến trung gian và biến ra 
Chuyển các quá trình 
công nghệ thành các 
biến logic 
Tối thiểu hóa hàm 
logic
Thực hiện mạch nhớ
9TDH-VD-BK
Ví dụ 1: a0 a1
P
T
  ... h
TDH-VD-BK
35
36
TDH-VD-BK
10/02/20
1
ĐIỀU KHIỂN LOGIC VÀ 
PLC
1TDH-VD-BK
Nội dung
1. Cơ sở cho Điều khiển logic
2. Tổng hợp và tối thiểu hóa mạch logic tổ hợp
3. Tổng hợp mạch logic tuần tự
4. Tổng quan về PLC
5. Kỹ thuật lập trình PLC
2TDH-VD-BK
1
2
TDH-VD-BK
10/02/20
2
5. Kỹ thuật lập trình PLC
5.1. Chu trình thiết kế chương trình PLC
5.2. Các ngôn ngữ lập trình theo chuẩn IEC61131-3
5.3. Thiết kế chương trình sử dụng hàm logic
5.4. Thiết kế chương trình sử dụng SFC
TDH-VD-BK 3
5. Kỹ thuật lập trình PLC
5.1. Chu trình thiết kế chương trình PLC
5.2. Các ngôn ngữ lập trình theo chuẩn IEC61131-3
5.3. Thiết kế chương trình sử dụng hàm logic
5.4. Thiết kế chương trình sử dụng SFC
TDH-VD-BK 4
3
4
TDH-VD-BK
10/02/20
3
5.1. Chu trình thiết kế chương trình PLC 
Bước 1 Phân tích
Bước 2 Thiết kế
Bước 3 Lập trình
Bước 4 Kiểm tra
Bước 5 Viết tài liệu
Bước 6 Vận hành
TDH-VD-BK 5
TDH-VD-BK 6
Bước 1: Phân tích
• Tìm hiểu công nghệ
 Thảo luận trực tiếp với khách hàng
 Sơ đồ công nghệ P&ID, hồ sơ nâng cấp cải tạo (nếu có)
• Trả lời các câu hỏi
 Cần điều khiển những gì?
 Các hành động điều khiển được thực hiện như thế nào
 Người vận hành tác động được những gì?
 Xử lý thế nào khi có sự cố?
5.1. Chu trình thiết kế chương trình PLC 
5
6
TDH-VD-BK
10/02/20
4
TDH-VD-BK 7
Bước 1: Phân tích (tiếp)
• Kết quả
 Mô tả được hoạt động của quá trình
 Tác động từ trạm vận hành và cách thức tác động
 Danh sách các tín hiệu vào/ra
 Chế độ vận hành khi có lỗi
5.1. Chu trình thiết kế chương trình PLC 
8
Bước 2: Thiết kế
• Lựa chọn phần cứng
 Số lượng đầu vào/ra logic hoặc tương tự
 Số lượng đầu vào/ra đặc biệt: high speed counter, PWM
 Truyền thông: RS232, Modbus, Ethernet
5.1. Chu trình thiết kế chương trình PLC 
TDH-VD-BK
7
8
TDH-VD-BK
10/02/20
5
9
• Bước 2: Thiết kế (tiếp)
• Lựa chọn phần cứng
 Tốc độ xử lý, dung lượng bộ nhớ
5.1. Chu trình thiết kế chương trình PLC 
TDH-VD-BK
10
Bước 2: Thiết kế (tiếp)
• Phân địa chỉ tín hiệu
 Theo chức năng: đầu vào/ra tương tự, tốc độ cao
 Các biến có cùng một đối tượng hoặc các biến trongcùng trình tự tác động nên có địa chỉ gần nhau
5.1. Chu trình thiết kế chương trình PLC 
TDH-VD-BK
9
10
TDH-VD-BK
10/02/20
6
11
Bước 2: Thiết kế (tiếp)
• Phân địa chỉ tín hiệu
 Sơ đồ đấu dây
5.1. Chu trình thiết kế chương trình PLC 
TDH-VD-BK
TDH-VD-BK 12
Bước 3: Lập trình
• Tổng hợp hàm logic --> chương trình LD, IL, FBD
• Grafcet --> chương trình SFC
• Lưu đồ thuật toán --> chương trình ST
5.1. Chu trình thiết kế chương trình PLC 
11
12
TDH-VD-BK
10/02/20
7
13
Bước 4: Kiểm tra
• Mô phỏng bằng phần mềm, giả lập các tín hiệu vào
5.1. Chu trình thiết kế chương trình PLC 
TDH-VD-BK
14
Bước 5: Viết tài liệu
• Hướng dẫn vận hành
• Phục vụ bảo trì, bảo dưỡng
• Viết song song và được cập
nhật trong quá trình phát
triển dự án
5.1. Chu trình thiết kế chương trình PLC 
TDH-VD-BK
13
14
TDH-VD-BK
10/02/20
8
15
Bước 6: Vận hành
• Chạy thử bộ từng phận riêng lẻ, không tải
• Chạy thử từng bộ phận riêng lẻ, có tải
• Chạy thử toàn hệ thống không tải
• Chạy thử toàn hệ thống có tải
5.1. Chu trình thiết kế chương trình PLC 
TDH-VD-BK
5. Kỹ thuật lập trình PLC
5.1. Chu trình thiết kế chương trình PLC
5.2. Các ngôn ngữ lập trình
5.3. Thiết kế chương trình sử dụng hàm logic
5.4. Thiết kế chương trình sử dụng SFC
TDH-VD-BK 16
15
16
TDH-VD-BK
10/02/20
9
17
5.2. Các ngôn ngữ lập trình
Ladder Diagrams (LD)
Instruction List (IL)
Function Block Diagram (FBD)
Structured Text (ST)
Sequential Function Chart (SFC)
TDH-VD-BK
18
Ngôn ngữ LD
• Hai thanh nguồn (Power rails).
• Tiếp điểm (Contacts) đại diện cho biến logic
 Thường mở (Normally Open)
 Thường đóng (Normally Closed)
 Tiếp điểm nối tiếp --> logic AND
 Nhánh song song --> logic OR
• Cuộn dây (Coils) đại diện cho đầu ra
• Tạo mạch phản hồi: tên tiếp điểm trùng tên cuộn dây
5.2. Các ngôn ngữ lập trình
TDH-VD-BK
17
18
TDH-VD-BK
10/02/20
10
19
fan := (start OR fan) AND (NOT stop)
Motor := (switch1 OR switch 2) AND (NOT alarm)
Ngôn ngữ LD
5.2. Các ngôn ngữ lập trình
TDH-VD-BK
20
Ngôn ngữ LD
5.2. Các ngôn ngữ lập trình
TDH-VD-BK
19
20
TDH-VD-BK
10/02/20
11
21
Ngôn ngữ LD
5.2. Các ngôn ngữ lập trình
TDH-VD-BK
22
Ngôn ngữ LD
• Ưu điểm:
 Dễ lập trình, dễ hiểu: giống sơ đồ mạch điện.
 Dễ bảo dưỡng: có khả năng chẩn đoán lỗi online, từ đó định
vị lỗi logic hoặc lỗi thiết bị.
• Nhược điểm:
 Khó module hóa.
 Hạn chế với kiểu dữ liệu có cấu trúc.
5.2. Các ngôn ngữ lập trình
TDH-VD-BK
21
22
TDH-VD-BK
10/02/20
12
23
Ngôn ngữ FBD
• Gồm nhiều Function Block (FB).
• Tín hiệu chạy từ đầu ra của FB này đến đầu vào của FB khác.
• Đầu ra FB được cập nhận kết quả từ tính toán của FB dựa
trên các tham số vào.
• Dòng tín hiệu chạy từ trái qua phải.
5.2. Các ngôn ngữ lập trình
TDH-VD-BK
24Một số khối chức năng trong FBD cho PLC CompactLogix
BAND_01
BAND ...
Boolean And
In1
In2
Out 0
BOR_01
BOR ...
Boolean Or
In1
In2
Out 0
BNOT_01
BNOT ...
Boolean Not
In Out 0
OSRI_01
OSRI ...
One Shot Rising with Input
InputBit OutputBit 0
OSFI_01
OSFI ...
One Shot Fall ing with Input
InputBit OutputBit 0
TONR_01
TONR ...
Timer On Delay with Reset
TimerEnable
PRE
Reset
ACC 0
DN 0
CTUD_01
CTUD ...
Count Up/Down
CUEnable
CDEnable
PRE
Reset
ACC 0
DN 0
TOFR_01
TOFR ...
Timer Off Delay with Reset
TimerEnable
PRE
Reset
ACC 0
DN 0
Ngôn ngữ FBD
5.2. Các ngôn ngữ lập trình
TDH-VD-BK
23
24
TDH-VD-BK
10/02/20
13
25Chương trình sử dụng ngôn ngữ FBD cho PLC CompactLogix
time_of f 0
TONR_02
TONR ...
Timer On Delay w ith Reset
TimerEnable
PRE
Reset
ACC 0
DN 0
TONR_01
TONR ...
Timer On Delay w ith Reset
TimerEnable
PRE
Reset
ACC 0
DN 0
trung_gian
trung_gian 0
time_on 0
sta 0 light_flash
Ngôn ngữ FBD
5.2. Các ngôn ngữ lập trình
TDH-VD-BK
26
Ngôn ngữ FBD
• Ưu điểm:
 Tương tự các mạch IC trong điện tử.
 Ứng dụng kế hợp chức năng điều khiển logic và điều khiển
phản hồi.
• Nhược điểm:
 Hỗ trợ kém khi có một hay nhiều hành động lặp lại trong
một khoảng thời gian định trước.
 Khá cồng kềnh.
5.2. Các ngôn ngữ lập trình
TDH-VD-BK
25
26
TDH-VD-BK
10/02/20
14
27
Ngôn ngữ IL
• Ngôn ngữ lập trình bậc thấp, gồm các chuỗi câu
lệnh, mỗi lệnh một dòng.
• Mỗi câu lệnh gồm một toán tử và một hay nhiều
toán hạng.
5.2. Các ngôn ngữ lập trình
TDH-VD-BK
28
Ngôn ngữ IL
• Ưu điểm:
 Thích hợp với ứng dụng nhỏ.
 Tối ưu hóa bộ nhớ và tốc độ thực thi.
 Có thể module hóa và tái sử dụng.
• Nhược điểm:
 Ngôn ngữ bậc thấp, khó theo dõi.
 Thanh ghi chỉ có một giá trị tại một thời điểm, khó làm
việc với các dữ liệu có cấu trúc.
5.2. Các ngôn ngữ lập trình
TDH-VD-BK
27
28
TDH-VD-BK
10/02/20
15
29
Toán tử Ý nghĩa
LD Đặt giá trị hiện tại cho toán hạng, nghịch đảo là LDN
ST Đưa giá trị hiện tại tới địa chỉ toán hạng
S Đặt toán hạng loại logic lên 1
R Đặt lại logic 0 cho toán hạng
AND Logic AND, nghịch đảo là ANDN
OR Logic OR, nghịch đảo là ORN
XOR Hoặc loại trừ
NOT Logic nghịch đảo
ADD Cộng
SUB Trừ
MUL Nhân
Toán tử Ý nghĩa
DIV Chia
MOD Phép chia lấy dư
GT So sánh lớn hơn
GE So sánh lớn hơn hoặc bằng
EQ So sánh bằng
NE So sánh khác nhau
LE So sánh nhỏ hơn hoặc bằng
LT So sánh nhỏ hơn
JMP Nhảy tới nhãn
CAL Gọi khối chức năng
RET Trở về từ gọi hàm, khối chức năng hay chương trình
5.2. Các ngôn ngữ lập trình
Ngôn ngữ IL
TDH-VD-BK
30
Ngôn ngữ ST
• Ngôn ngữ lập trình bậc cao (tương tự Pascal, C).
• 5 loại câu lệnh chính
 Lệnh gán: biến:=giá trị
 Lệnh lựa chọn: IF THEN
 Lệnh vòng lặp: WHILE, REPEAT, FOR
 Function và function block
 Lệnh điều khiển: RETURN, EXIT
5.2. Các ngôn ngữ lập trình
TDH-VD-BK
29
30
TDH-VD-BK
10/02/20
16
31
Ngôn ngữ ST
• Lệnh gán
• Gán giá trị cho biến hoặc biểu thức
• Cấu trúc:
X: = Y; (* X và Y có cùng kiểu dữ liệu*)
• Ví dụ:
Rate := 13.1; (*Gán giá trị hằng số *)
Count := Count +1; (*Gán giá trị bằng một biểu thức*)
5.2. Các ngôn ngữ lập trình
TDH-VD-BK
32
Ngôn ngữ ST
• Lệnh điều kiện IF THEN:
Dạng 1: IF THEN
END_IF;
Dạng 2: IF THEN
ELSE
END_IF;
5.2. Các ngôn ngữ lập trình
TDH-VD-BK
31
32
TDH-VD-BK
10/02/20
17
33
Ngôn ngữ ST
• Lệnh điều kiện liệt kê CASE  OF
Case speed of:
Stop: rate: = 0.0; (*Nếu speed bằng stop, gán rate bằng 0*)
Slow: rate: = 20.4; (*Nếu speed bằng slow, gán rate bằng 20.4*)
Else
rate: = 0; (*Các trường hợp còn lại rate bằng 0*)
End_case;
5.2. Các ngôn ngữ lập trình
TDH-VD-BK
34
Ngôn ngữ ST
• Lệnh vòng lặp FOR
• Số vòng lặp là hữu hạn
• Cấu trúc:
FOR 
TO 
BY DO
END_FOR;
Ví dụ:
count := 0;
FOR i:=1 TO 10 DO
count := count + i; 
END_FOR;
5.2. Các ngôn ngữ lập trình
TDH-VD-BK
33
34
TDH-VD-BK
10/02/20
18
35
Ngôn ngữ ST
• Lệnh vòng lặp WHILE
• Số vòng lặp không xác
định trước nhưng điều
kiện kết thúc xác định
• Cấu trúc:
WHILE DO
END_WHILE;
Ví dụ:
WHILE switch1 OR switch3 
DO
pump := FALSE;
alarm := TRUE;
END_WHILE;
5.2. Các ngôn ngữ lập trình
TDH-VD-BK
36
Ngôn ngữ ST
• Lệnh vòng lặp REPEAT
• Kiểm tra điều kiện sau khi
thực hiện lệnh
• Cấu trúc:
REPEAT
UNTIL 
END_REPEAT;
Ví dụ:
B:=0
REPEAT
B := B + 1;
UNTIL B > 10
END_REPEAT;
5.2. Các ngôn ngữ lập trình
TDH-VD-BK
35
36
TDH-VD-BK
10/02/20
19
37
Ngôn ngữ ST
• Ưu điểm:
 Phù hợp với tính toán phức tạp và vòng lặp
 Dùng nhiều trong điều khiển tương tự
• Nhược điểm:
 Đòi hỏi kiến thức nhất định về lập trình.
5.2. Các ngôn ngữ lập trình
TDH-VD-BK
38
Ngôn ngữ SFC
• Phát triển từ Grafcet
• Có thể mạnh trong mô tả hệ thống điều khiển tuần
tự.
• Sử dụng kết hợp với 4 ngôn ngữ còn lại
5.2. Các ngôn ngữ lập trình
TDH-VD-BK
37
38
TDH-VD-BK
10/02/20
20
39
Trạng tháiTrạng thái ban đầu
Chuyển tiếp
Hành động 
Phân kỳ “HOẶC”
Hội tụ “HOẶC”
Phân kỳ “VÀ”
Hội tụ “VÀ”
Ngôn ngữ SFC
5.2. Các ngôn ngữ lập trình
TDH-VD-BK
40
Ngôn ngữ SFC
• Ưu điểm:
 Phù hợp với hệ thống tuần tự
• Nhược điểm:
 Không phải ngôn ngữ hoàn chỉnh.
 Thời gian thực hiện các phép điều kiện đơn giản lâu
hơn các ngôn ngữ khác.
5.2. Các ngôn ngữ lập trình
TDH-VD-BK
39
40
TDH-VD-BK
10/02/20
21
Ví dụ: Điều khiển dây chuyển đóng hộp sản phẩm
41
5.2. Các ngôn ngữ lập trình
TDH-VD-BK
42
Mô tả công nghệ
• Khi nút Start được ấn, băng tải hộp chạy. Băng tải hộp sẽ dừng lại khi
có tín hiệu từ cảm biến báo về rằng đã có hộp ở vị trí đóng gói. Lúc này,
băng tải táo bắt đầu hoạt động.
• Băng tải táo làm nhiệm vụ cung cấp táo đổ vào hộp. Một cảm biến được
sử dụng để đếm từng quả táo được đổ vào hộp.
• Khi số táo đổ vào hộp bằng 10, băng tải táo dừng, băng tải hộp lại chạy.
• Quá trình tiếp tục lặp lại cho đến khi nút Stop được ấn thì quy trình
dừng ngay lập tức.
5.2. Các ngôn ngữ lập trình
TDH-VD-BK
41
42
TDH-VD-BK
10/02/20
22
TDH-VD-BK 43
Các bước lập trình:
• Liệt kê tín hiệu vào/ra: 4 đầu vào số, 3 đầu ra số
5.2. Các ngôn ngữ lập trình
44
Các bước lập trình:
• Lựa chọn PLC: CPU CompactLogix L32E, module IQ16 và OB16
• Phân địa chỉ vào/ra
5.2. Các ngôn ngữ lập trình
TDH-VD-BK
43
44
TDH-VD-BK
10/02/20
23
TDH-VD-BK 45
Dùng LD
5.2. Các ngôn ngữ lập trình
TDH-VD-BK 46
Dùng FBD
5.2. Các ngôn ngữ lập trình
45
46
TDH-VD-BK
10/02/20
24
TDH-VD-BK 47
Lam_viec [:=] (Start or Lam_viec) and not Stop;
CTUD(Dem_tao);
Dem_tao.CUEnable := CB_tao;
Dem_tao.pre := 10;
Dem_tao.Reset:= Lam_viec and not CB_hop;
Bang_hop [:=] Lam_viec and (( not CB_hop ) or 
Dem_tao.DN);
Bang_tao [:=] Lam_viec and not Bang_hop;
Dùng ST
5.2. Các ngôn ngữ lập trình
5. Kỹ thuật lập trình PLC
5.1. Chu trình thiết kế chương trình PLC
5.2. Các ngôn ngữ lập trình
5.3. Thiết kế chương trình sử dụng hàm logic
5.4. Thiết kế chương trình sử dụng SFC
TDH-VD-BK 48
47
48
TDH-VD-BK
10/02/20
25
Thiết kế chương 
trình sử dụng 
hàm logic
49
Tìm hàm logic mô tả mối quan 
hệ giữa các tín hiệu vào ra
Chuyển hàm logic sang ngôn 
ngữ PLC tương ứng
5.3. Thiết kế chương trình sử dụng hàm logic
TDH-VD-BK
50
5.3. Thiết kế chương trình sử dụng hàm logic
TDH-VD-BK
49
50
TDH-VD-BK
10/02/20
26
51
5.3. Thiết kế chương trình sử dụng hàm logic
TDH-VD-BK
52
 Ban đầu thiết bị chạm ở vị trí bên trái và
tác động vào công tắc hành trình a0. Khi
nút m được ấn, thiết bị di chuyển sang
phải. Khi chạm vào a1 và thiết bị di
chuyển về bên trái. Tiếp theo thiết bị lại
chạm vào a0, nếu nút m được ấn thì chu
trình được lặp lại.
 Chú ý rằng khi thiết bị rời khỏi vị trí của
công tắc hành trình thì công tắc hành
trình lại trở về trạng thái không tác động.
a0 a1
A+
A-
5.3. Thiết kế chương trình sử dụng hàm logic
TDH-VD-BK
51
52
TDH-VD-BK
10/02/20
27
53
Sử dụng phương pháp ma trận trạng thái ta có thể tổng hợp các
hàm logic mô tả công nghệ như sau:X = a1 + a0. XA += XA −= X
5.3. Thiết kế chương trình sử dụng hàm logic
LD:
TDH-VD-BK
54
LDN a0
AND X
OR a1
ST X
LDN X
ST A_cong
LDX
ST A_tru
X := a1 OR (NOT a0 and X);
A_cong := NOT X;
A_tru := X;
5.3. Thiết kế chương trình sử dụng hàm logic
FBD:
ST:
IL:
TDH-VD-BK
53
54
TDH-VD-BK
10/02/20
28
5. Kỹ thuật lập trình PLC
5.1. Chu trình thiết kế chương trình PLC
5.2. Các ngôn ngữ lập trình
5.3. Thiết kế chương trình sử dụng hàm logic
5.4. Thiết kế chương trình sử dụng SFC
TDH-VD-BK 55
Thiết kế chương 
trình sử dụng 
hàm SFC
56
Lập Grafcet cho chu trình công nghệ
Chuyển Grafcet sang ngôn ngữ SFC
5.4. Thiết kế chương trình sử dụng SFC
TDH-VD-BK
55
56
TDH-VD-BK
10/02/20
29
57
 Xylanh A chuyển động lên-xuống (di chuyển mũi khoan) và
xylanh B chuyển động phải-trái (đưa phôi vào vị trí cần
khoan). Ban đầu các xylanh đều thu về.
 Khi có tín hiệu từ cảm biến CB báo hiệu có phôi, xylanh A sẽ
thực hiện chuyển động đưa mũi khoan đi xuống A+ (xylanh
B đứng im) và đến khi có tín hiệu từ cảm biến a1 thì sẽ thựchiện chuyển động thu về A- (xylanh B vẫn đứng im). Khi
cảm biến a0 có tín hiệu thì xylanh A dừng, xylanh B thựchiện chuyển động sang phải (B+). Khi cảm biến b1 có tínhiệu thì xylanh B sẽ dừng và xylanh A lại thực hiện chuyển
động đi xuống, khi gặp cảm biến a1 thì sẽ đi lên và khi gặpcảm biến a0 thì xylanh A dừng. Lúc này xylanh B thực hiệnchuyển động sang trái (B-), đến khi cảm biến b0 có tín hiệuthì dừng. Sản phẩm được lấy ra bởi môt cơ cấu khác và chu
trình sẽ được lặp lại nếu tiếp tục có phôi.
5.4. Thiết kế chương trình sử dụng SFC
TDH-VD-BK
58
5.4. Thiết kế chương trình sử dụng SFC
GRAFCET:
TDH-VD-BK
57
58
TDH-VD-BK
10/02/20
30
59
... -
S0
N ... Action_004
A_cong :=0;
A_tru :=0; 
B_cong :=0;
B_tru :=0; 
... T1
a1;
... -
S3
N ... Action_002
A_tru :=0; 
B_cong :=1;
... -
S1
N ... Action_000
B_cong :=0;
A_cong :=1;
... T2
a0 and b0 ;
... T5
b0;
... T4
b1;
... T3
a0 and b1;
... -
S2
N ... Action_001
A_cong :=0;
A_tru :=1; 
... T0
m and a0 and b0; 
... -
S4
N ... Action_003
A_tru :=0;
B_tru :=1;
SFC:
TDH-VD-BK
59
TDH-VD-BK

File đính kèm:

  • pdfdieu_khien_logic_va_plc_co_so_cho_dieu_khien_logic.pdf