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

BÀI TẬP THIẾT KẾ THANG MÁY 6 TẦNG BẰNG PLC S7-300

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 (88.98 KB, 14 trang )

Lê Duy Tùng 20145091 KSTN-ĐKTĐ-K59

Điều khiển Logic và

PLC

a.

BÀI TẬP DÀI

THIẾT KẾ THANG MÁY 6 TẦNG BẰNG PLC S7-300
I.

Mô tả đối tượng thang máy và yêu cầu bài toán
1. Cảm biến, nút bấm và thiết bị chấp hành

Thang máy cho một tòa nhà 6 tầng gồm có các thành phần sau:
 Các cảm biến:
-

Mỗi tầng có một cảm biến tiệm cận để xác định vị trí của thang máy

-

Ở của ra vào gắn 2 cảm biến tiệm cận để xác định trạng thái đóng hoàn toàn và
mở hoàn toàn của cửa

-

Một cảm biến gắn ở cửa để xác định xem có người đang ra vào thang máy hay
không


 Nút bấm:

-

Phía trong buồng thang có một bàn phím để đặt yêu cầu gồm 5 phím chọn tầng
và hai phím yêu cầu đóng mở cửa

-

Phía ngoài buồng thang ở mỗi tầng có các phím gọi thang.Các phím gọi thang
được chia làm hai loại đi lên và đi xuống để xác định hướng đi mong muốn của
người dùng. Các tầng từ 2-4 có cả hai phím đi lên và đi xuống, tầng 1 chỉ có
phím đi lên, tầng 5 chỉ có phím đi xuống.
 Các cơ cấu chấp hành:

-

Một động cơ để kéo thang chuyển động thẳng đứng được điều khiển bằng hai tín
hiệu đi lên và đi xuống.

-

Một động cơ để đóng mở cửa được điều khiển bằng hai tín hiệu đóng cửa và mở
cửa.
2. Yêu cầu bài toán

Bài toán điều khiển logic cho hệ thống thang máy được chia thành hai bài toán nhỏ:
-

Bài toán chuyển động có nhiệm vụ xác định chiều chuyển động của thang và xác

định xem có mở của hay không.

-

Bài toán cửa thực hiện các thao tác đóng mở cửa.

Giữa hai bài toán có một điều kiện liên động. Bài toán của chỉ được thực hiện khi
thang đã dừng lại còn bài toán chuyển động chỉ được thực hiện khi cửa thang đã được
đóng hoàn toàn.

1


Lê Duy Tùng 20145091 KSTN-ĐKTĐ-K59

Điều khiển Logic và

PLC
 Bài toán chuyển động
Ban đầu thang đang ở trạng thái nghỉ nếu có yêu cầu hoặc tín hiệu gọi thang thì
thang sẽ chuyển chuyển sang trạng thái làm việc và kiểm tra các điều kiện bắt đầu chuyển
động:
-

Nếu các yêu cầu hoặc phím gọi nằm cùng tầng với vị trí hiện tại của thang thì
mở cửa thang và sau khi thực hiện xong bài toán cửa thang sẽ trở lại trạng thái
nghỉ.

-


Nếu các yêu cầu và phím chọn nằm ở các tầng khác thì xác định chiều chuyển
động cho thang để đi tới vị trí mong muốn của người dùng. Nếu có cả yêu cầu ở
trên và ở dưới vị trí hiện tại của thang thì trình tự ưu tiên như sau: nếu thang
đang ở phía nửa trên của tòa nhà (trong trường hợp này và tầng 3-4) thì ưu tiên
đi lên, nếu thang đang ở nửa phía dưới của tòa nhà (tầng 2) thì ưu tiên đi xuống.

-

Nếu đồng thời xảy ra cả hai trường hợp trên thì thực hiện theo trường hợp thứ
nhất.

Khi thang đang chuyển động theo một chiều nhất định thì thực hiện ưu tiên theo
chiều chuyển động:
-

Khi đi qua một tầng thang chỉ mở cửa nếu có yêu cầu từ bàn phím trong thang
máy hoặc yêu cầu cùng chiều với chiều chuyển động hiện thời của thang máy.
Sau khi đóng cửa các yêu cầu này sẽ được xóa đi. Các yêu cầu ngược chiều sẽ
không được thực hiện và cũng không bị xóa đi kễ cả nếu thang có dừng lại và
mở của tại vị trí tương ứng với yêu cầu đó

-

Đồng thời khi đi qua một tầng ta sẽ kiểm tra các yêu cầu và phím chọn thuận
theo chiều chuyển động (Nếu thang đi lên ta chỉ kiểm tra các yêu cầu và phím
gọi đi lện của các tầng phía trên vị trí hiện tại của thang, nếu thang đi xuống thì
ngược lại). Nếu không còn yêu cầu thuận chiều ta sẽ kiểm tra xem còn yêu cầu
nào khác hay không. Nếu còn thang sẽ đảo chiều chuyển động và đi tới vị trí
mong muốn của người dùng, còn nếu không có yêu cầu nào khác thang sẽ dừng
lại và chuyển sang trạng thái nghỉ.

 Bài toán cửa

Cửa thang sẽ mở khi thang đang đứng yên và có lệnh mở cửa được đưa ra từ bài
toán chuyển động hoặc có yêu cầu mở cửa từ trong buồng thang
Khi có tín hiệu từ cảm biến cửa báo thang đã mở hoàn toàn thì động cơ thang sẽ
dừng lại và một bộ đếm được khởi động.
Khi thời gian bộ đếm kết thúc hoặc khi có yêu cầu đóng cửa từ trong buồng thang
thì cửa thang sẽ được đóng lại.
2


Lê Duy Tùng 20145091 KSTN-ĐKTĐ-K59

Điều khiển Logic và

PLC
Nếu thang đang đóng và có tín hiệu từ cảm biến của báo có người đang ra vào
buồng thang thì cửa thang sẽ mở ra.
Khi có tín hiệu từ cảm biến cửa báo cửa đã đóng hoàn toàn thì ta sẽ kiểm tra các
điều kiện của thang để quyết định xem thang sẽ tiếp tục chuyển động hay dừng lại và
chuyển sang trạng thái nghỉ.

b.

II. Thống kê các đầu vào – ra của hệ thống thang máy 6 tầng

c.

1. Đầu vào
TT

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29


Giải thích
Nút ấn Start
Nút ấn Stop
Gọi tầng 1
Gọi tầng 2 lên
Gọi tầng 2 xuống
Gọi tầng 3 lên
Gọi tầng 3 xuống
Gọi tầng 4 lên
Gọi tầng 4 xuống
Gọi tầng 5 lên
Gọi tầng 5 xuống
Gọi tầng 6
Gọi tầng 1 trong thang máy
Gọi tầng 2 trong thang máy
Gọi tầng 3 trong thang máy
Gọi tầng 4 trong thang máy
Gọi tầng 5 trong thang máy
Gọi tầng 6 trong thang máy
Nút mở cửa trong thang máy
Nút đóng cửa trong thang máy
Nút cảnh báo dừng khẩn cấp
Cảm biến cửa đóng
Cảm biến cửa mở
CB tầng 1
CB tầng 2
CB tầng 3
CB tầng 4
CB tầng 5
CB tầng 6


Symbol
BI_START
BI_STOP
BI_F1
BI_F2_U
BI_F2_D
BI_F3_U
BI_F3_D
BI_F4_U
BI_F4_D
BI_F5_U
BI_F5_D
BI_F6
BI_F1_INSIDE
BI_F2_INSIDE
BI_F3_INSIDE
BI_F4_INSIDE
BI_F5_INSIDE
BI_F6_INSIDE
BI_OPEN_INSIDE
BI_CLOSE_INSIDE
BI_WARNING_INSIDE
ICB_CLOSE
ICB_OPEN
ICB_F1
ICB_F2
ICB_F3
ICB_F4
ICB_F5

ICB_F6

3

Bit
I0.0
I0.1
I0.2
I0.3
I0.4
I0.5
I0.6
I0.7
I1.0
I1.1
I1.2
I1.3
I1.4
I1.5
I1.6
I1.7
I2.0
I2.1
I2.2
I2.3
I2.4
I2.5
I3.4
I2.6
I2.7

I3.0
I3.1
I3.2
I3.3

Bit M
M0.0
M0.1
M0.2
M0.3
M0.4
M0.5
M0.6
M0.7
M1.0
M1.1
M1.2
M1.3
M1.4
M1.5
M1.6
M1.7
M2.0
M2.1
M2.2
M2.3
M2.4
M2.5
M3.4
M2.6

M2.7
M3.0
M3.1
M3.2
M3.3

Ký hiệu
B1
B2
B3
B4
B5
B6
B7
B8
B9
B10
B11
B12
B11
B12
B13
B14
B15
B16
B17
B18
B19
CB_F00
CB_F01

CB_F1
CB_F2
CB_F3
CB_F4
CB_F5
CB_F6


Lê Duy Tùng 20145091 KSTN-ĐKTĐ-K59

Điều khiển Logic và

PLC
d.
e.

2. Đầu ra
TT
1

Giải thích
Đèn trong thang máy khi làm việc

Symbol
Q_DEN_LV

2

Động cơ đi lên


Q_UP

3

Động cơ đi xuống

Q_DOWN

4

Động cơ mở cửa thang máy

Q_OPEN

5

Động cơ đóng cửa thang máy

Q_CLOSE

6
7

Hiển thị số tầng
Led hiển thị đi lên

Q_LED
Q_LED_UP

8


Led hiển thị đi xuống

Q_LED_DOW
N

Bit
Q0.
0
Q0.
1
Q0.
2
Q0.
3
Q0.
4
Q1
Q2.
0
Q2.
1

Ký hiêu CTT & KĐM
Đ1
A1
A2
A3
A4
LED

LED_UP
LED_DOWN

III.Thuật toán
Bài toán điều khiển thang được chia làm ba phần:
-

Vòng quét chính có nhiệm vụ đọc đầu vào lưu các giá trị vào bộ nhớ, thực hiện
hiển thị led 7 thanh và kiểm tra các điều kiện để thực hiện hai bài toán con là bài
toán chuyển động và bài toán cửa.

-

Bài toán chuyển động có nhiệm vụ xác định chiều chuyển động và xác định xem
có dừng thang và mở cửa hay không.

-

Bài toán cửa có nhiệm vụ thực hiện quá trình mở của, xóa các yêu cầu sau khi
của đã đóng

Trong bài toán con có một số khâu để thực hiện một số nhiệm vụ trong bài toán:
-

Khâu nhập dữ liệu có nhiệm vụ đọc các đầu vào và ghi vào vùng nhớ tương ứng
trong bộ nhớ. Khâu này được thực hiện khi bắt đầu vòng quét chính

-

Khâu đưa đầu ra có nhiệm vụ dựa vào các biến trạng thái để tính toán các đầu ra

và đưa ra đầu ra điều khiển và hiển thị. Khâu này được thực hiện ở cuối vòng
quét chính.

-

Khâu tính toán sẽ tính các giá trị của biến yêu cầu và kiểm tra từ các biến đầu
vào. Khâu này thực hiện khi bắt đầu bài toán chuyển động

-

Khâu kiểm tra và xóa yêu cầu có nhiệm vụ xóa các yêu cầu đã thực hiện kiểm
tra xem thang sẽ tiếp tuc chuyển động hay sẽ chuyển sang trạng thái nghỉ

-

Khâu kiểm tra điều kiện khi bắt đầu chuyển động có nhiệm vụ xác định chiều
chuyển động ban đầu
4


Lê Duy Tùng 20145091 KSTN-ĐKTĐ-K59

Điều khiển Logic và

PLC
Thuật toán được trình bày dưới dạng sơ đồ khối với một số quy ước như sau:
-

Kí hiệu A là phép và logic, O là phép hoặc logic, NOT là phép đảo


-

Mid là một hằng số được cài đặt trong chương trình của Step 7 cụ thể trong
trường hợp cụ thể của bài toán Mid = 3 ( 0x04 do vị trí trong thuật toán được thể
hiện dưới dạng dãy các bit)

-

Các kí hiệu của các biến trong thuật toán được liệt kê trong phần cấu trúc dữ liệu

IV.Triển khai thuật toán trên Step 7
Trong chương trình địa chỉ vùng nhớ được thay bằng tên biến đã được cài đặt trong
phần mềm Step 7 và đã được ghi rõ trong phần cấu trúc dữ liệu
1. Vòng quét chính
a. Chương trình con đọc giá trị của đầu vào (Read_Data)
Các tín hiệu yêu cầu được đọc và lưu vào bộ nhớ. Các yêu cầu này sẽ không mất đi
khi các tín hiệu đầu vào kết thúc.
Các tín hiệu từ cảm biến sẽ được đọc và thay đổi qua từng chu kì nên chỉ được ghi
trực tiếp vào bộ nhớ.
Địa chỉ đầu vào được cài đặt trong Step 7 và có thể thay đổi nêu có sự cố ở một
trong các đầu vào.

O
O
=
O
O
=
O
O

=
O
O
=
O
O
=
O
O

"FLOOR_1"
"M_FLOOR_1"
"M_FLOOR_1"
"FLOOR_2"
"M_FLOOR_2"
"M_FLOOR_2"
"FLOOR_3"
"M_FLOOR_3"
"M_FLOOR_3"
"FLOOR_4"
"M_FLOOR_4"
"M_FLOOR_4"
"FLOOR_5"
"M_FLOOR_5"
"M_FLOOR_5"
"UP_1"
"M_UP_1"

O
O

=
O
O
=
O
O
=
O
O
=
A
=
A
=
A
5

"DOWN_2"
"M_DOWN_2"
"M_DOWN_2"
"DOWN_3"
"M_DOWN_3"
"M_DOWN_3"
"DOWN_4"
"M_DOWN_4"
"M_DOWN_4"
"DOWN_5"
"M_DOWN_5"
"M_DOWN_5"
"Sensor_1"

"M_Sensor_1"
"Sensor_2"
"M_Sensor_2"
"Sensor_3"


Lê Duy Tùng 20145091 KSTN-ĐKTĐ-K59

Điều khiển Logic và

PLC

=
O
O
=
O
O
=
O
O
=

"M_UP_1"
"UP_2"
"M_UP_2"
"M_UP_2"
"UP_3"
"M_UP_3"
"M_UP_3"

"UP_4"
"M_UP_4"
"M_UP_4"

=
A
=
A

"M_Sensor_3"
"Sensor_4"
"M_Sensor_4"
"Sensor_5"

a. Chương trình con hiển thị led (display)
Để hạn chế việc phải chuyển đổi đầu vào cảm biến sang một dạng khác chương
trình hiển thị Led 7 thanh sẽ lấy đầu vào trực tiếp từ giá trị cảm biến tầng và chỉ được gọi
khi giá trị cảm biến tầng khác không.
L

#hienthi
JL list
JU so0
JU so1
JU so2
JU so3
JU so4
JU so5
JU so6
JU so7

JU so8
JU so9

list: JU com
so0: L
T

W#16#3F
#hienthiled

JU com
so1: L
T

W#16#6
#hienthiled
6


Lê Duy Tùng 20145091 KSTN-ĐKTĐ-K59
PLC
JU com
so2: L
T

W#16#59
#hienthiled

JU com
so3: L

T

W#16#4F
#hienthiled

JU com
so4: L
T

W#16#66
#hienthiled

JU com
so5: L
T

W#16#6D
#hienthiled

JU com
so6: L
T

W#16#7D
#hienthiled

JU com
so7: L
T


W#16#7
#hienthiled

JU com
so8: L
T

W#16#7F
#hienthiled

JU com
so9: L
T

W#16#6F
#hienthiled

JU com
com: BEU

7

Điều khiển Logic và


Lê Duy Tùng 20145091 KSTN-ĐKTĐ-K59

Điều khiển Logic và

PLC

b. Chương trình chính (OB1)
PLC sẽ gọi chương trình con để đọc đầu vào sau đó kiểm tra điều kiện và quyết
định xem sẽ gọi chương trình giải quyết bài toán chuyển động hoặc bài toán cửa và cuối
cùng tính toán và đưa ra giá trị đầu ra tương ứng.
Đầu ra của led chỉ chiều đi lên, đi xuống sẽ lấy từ giá trị của bit trạng thái đi lên, đi
xuống.
Đầu ra của động cơ cửa sẽ lấy từ bit trạng thái đóng mở cửa
Đầu ra của động cơ buồng thang sẽ là giá trị của phép và giữa bit trạng thái chuyển
động và bit trạng thái đi lên, đi xuống.

L "M_Sensor"
L 0
==I
JC OUTPUT
CALL "Display"
Floor :="M_Sensor"
L "M_UP"
L "M_DOWN"
OW
L "M_FLOOR"
OW
L 0
==I
JC Door_Problem
A "Work"
JC Work
SET
= "F"
SET
= "Work"

JU Move_Problem
Work: A "CD"
JCN Door_Problem
Move_Problem : CALL "Move_Problem"
JU OUTPUT
Door_Problem : CALL "Door_Problem"
OUTPUT : A "UP"
8


Lê Duy Tùng 20145091 KSTN-ĐKTĐ-K59

Điều khiển Logic và

PLC

A
=
A
A
=
A
=
A
=
A
=
A
=


"CD"
"Move_Up"
"DOWN"
"CD"
"Move_Down"
"CLOSE"
"Move_Close"
"OPEN"
"Move_Open"
"UP"
"LED_Up"
"DOWN"
"LED_Down"
1. Bài toán chuyển động
a. Chương trình con tính các giá trị kiểm tra (CAL)

Từ đầu vào đã được đọc và ghi vào bộ nhớ ở vòng quét chính chương trình sẽ tính
toán các biến YC và KT để xử dụng trong các phần tiếp theo của chương trình

L "M_UP"
L "M_DOWN"
OW
L "M_FLOOR"
OW
T "YC"
L "M_Sensor"
L 2
*I
L 1
-I

INVI
L "YC"
AW
T "YC_UP"
L "M_Sensor"
L 1
-I
L "YC"
AW
T "YC_DOWN"

L "M_Sensor"
L "YC"
AW
T "KT"
L "M_UP"
L "M_FLOOR"
OW
L "M_Sensor"
AW
T "KT_UP"
L "M_DOWN"
L "M_FLOOR"
OW
L "M_Sensor"
AW
T "KT_DOWN"

9



Lê Duy Tùng 20145091 KSTN-ĐKTĐ-K59

Điều khiển Logic và

PLC
b. Chương trình con xác định các điều kiện đầu (Start_Move)
Khi thang chuyển từ trạng thái nghỉ sang làm việc thì biến trạng thái F được đưa lên 1.
Ở đầu bài toán chuyển động ta sẽ kiểm tra F và gọi hàm Start_Move nếu F bằng 1
để đưa ra các giá trị đầu của chuyển động
Khi kết thúc khối hàm ta sẽ xóa F để báo thang đã chuyển sang trạng thái làm việc

L "KT"
L 0
==I
JCN OPEN
L "M_Sensor"
L #Mid
>I
JCN DOWN
L "YC_UP"
L 0
==I
JC MOVE_DOWN
JU MOVE_UP
DOWN: L "YC_DOWN"
L 0
==I
JCN MOVE_DOWN
MOVE_UP : SET

= "CD"
SET
= "UP"
JU END
MOVE_DOWN : SET
= "CD"
SET
= "DOWN"
JU END
OPEN: SET
= "D/M"
END: CLR
= "F"

10


Lê Duy Tùng 20145091 KSTN-ĐKTĐ-K59

Điều khiển Logic và

PLC
c. Bài toán chuyển động (Move_Problem)
Kiểm tra các giá trị tính toán được từ đó đưa ra tín hiệu cho biết chiều chuyển động
của thang hay thang có dừng lại và mở của hay không bằng cách thay đổi các biến trạng
thái đi lên, đi xuống, báo chuyển động và báo đóng mở cửa

CALL "CAL"
A "F"
JCN CHECK

CALL "Start_Move"
JU END
CHECK: A "UP"
JCN Move_Down
L "KT_UP"
L 0
==I
JCN Open_Door
L "YC_UP"
L 0
==I
JCN END
JU Reverse
Move_Down : L "KT_DOWN"
L 0
==I
JCN Open_Door
L "YC_DOWN"
L 0
==I
JCN END

Reverse : A "UP"
NOT
= "UP"
A "DOWN"
NOT
= "DOWN"
A "CLOSE"
JC NOT_OPEN

Open_Door : SET
= "D/M"
CLR
= "CD"
JU END
NOT_OPEN : L "M_Sensor"
INVI
L "M_UP"
AW
T "M_UP"
POP
L "M_DOWN"
AW
T "M_DOWN"
END: CLR
= "CLOSE"

11


Lê Duy Tùng 20145091 KSTN-ĐKTĐ-K59

Điều khiển Logic và

PLC
2. Bài toán cửa
a. Thực hiện việc đóng mở cửa (Door_Problem)
Thực hiện việc kiểm tra yêu cầu đóng mở cửa từ nút bấm và từ bài toán chuyển
động kết hợp với các cảm biến để xác định chiều quay của động cơ cửa


A "D/M"
JCN STOP
CLR
= "D/M"
OPEN: SET
= "OPEN"
CLR
= "CLOSE"
A "Full_Open"
JC FULL_OPEN
SET
= "Work"
BEU
STOP: O "OPEN"
O "Door_Open"
JC OPEN
A "CLOSE"
A "Contact"
JC OPEN
O "Timer"
O "Door_Close"
JCN WAIT
CLR
= "OPEN"
SET
= "CLOSE"
JU Timer
FULL_OPEN : CLR
= "OPEN"
Timer: A "Full_Open"

L S5T#5S
SD "Timer"
BEU
WAIT: A "Full_Close"
12


Lê Duy Tùng 20145091 KSTN-ĐKTĐ-K59

Điều khiển Logic và

PLC

CC "Check"
d. Xóa các yêu cầu và kiểm tra điều kiện (Check)
Các yêu cầu đã thực hiện sẽ được xóa khỏi bộ nhớ. Sau khi xóa yêu cầu chương
trình sẽ kiểm tra xem người dùng còn có các yêu cầu khác hay không. Nếu còn thì hệ sẽ
tiếp tục chuyển động còn nếu ngược lại thì hệ sẽ chuyển sang trạng thái nghỉ.

O "UP"
O "DOWN"
JCN RESET
KHONG_DUNG : A "UP"
JC MOVE_UP
MOVE_DOWN : L "M_Sensor"
INVI
L "M_DOWN"
AW
T "M_DOWN"
JU PC_REQUEST

MOVE_UP : L "M_Sensor"
INVI
L "M_UP"
AW
T "M_UP"
JU PC_REQUEST
RESET: CLR
= "Work"
L "M_Sensor"
INVI
L "M_UP"
AW
T "M_UP"
POP
L "M_DOWN"
AW
T "M_DOWN"
PC_REQUEST : POP
L "M_FLOOR"
AW
T "M_FLOOR"
L "M_UP"
13


Lê Duy Tùng 20145091 KSTN-ĐKTĐ-K59
PLC

OW
L "M_DOWN"

OW
L 0
==I
JC REST
SET
= "CD"
BEU
REST: CLR
= "Work"
CLR
= "UP"
CLR
= "DOWN"

14

Điều khiển Logic và



×