Nạp giá trị 16#09 vào byte SMB30 để cấu hình cho Port0
- No parity
- Chế độ 8 bit cho 1 ký tự
- Tốc độ 9600 baud
- Chế độ Freeport
65 trang |
Chia sẻ: lvbuiluyen | Lượt xem: 2117 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Phần mềm điều khiển cho plc s7 – 200, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CHƯƠNG IV:
PHẦN MỀM ĐIỀU KHIỂN CHO PLC S7 – 200
IV.1. Lưu đồ giải thuật:
IV.1.1. Bảng quy ước các tín hiệu vào ra, và ý nghĩa tên các chương trình con:
Tín hiệu
Mô tả
I0.0
Cảm biến 1 dùng để nhận biết tầng 1
I0.1
Cảm biến 2 dùng để nhận biết tầng 2
I0.2
Cảm biến 3 dùng để nhận biết tầng 3
I0.3
Cảm biến 4 dùng để nhận biết cột 1
I0.4
Cảm biến 5 dùng để nhận biết cột 2
I0.5
Cảm biến 6 dùng để nhận biết cột 3
I0.6
Cảm biến 7 dùng để nhận biết cột 4
I1.0
Công tắc hành trình S1
I1.1
Công tắc hành trình S3
I1.2
Công tắc hành trình S2
I1.3
Công tắc hành trình S4
Q0.0
Ngõ ra điều khiển động cơ kéo robot chạy từ cửa vào trong
Q0.1
Ngõ ra điều khiển động cơ kéo robot chạy từ trong ra cửa
Q0.2
Ngõ ra điều khiển động cơ kéo kính đi lên
Q0.3
Ngõ ra điều khiển động cơ kéo kính đi xuống
Q0.4
Ngõ ra điều khiển động cơ dưới sang trái
Q0.5
Ngõ ra điều khiển động cơ dưới sang phải
Q0.6
Ngõ ra điều khiển động cơ trên sang trái
Q0.7
Ngõ ra điều khiển động cơ trên sang phải
CUAVAO
Chương trình con dùng để điều khiển việc nhận xe ở cửa vào
GUITRAI
Chương trình con dùng để điều khiển việc gửi xe bên trái
GUIPHAI
Chương trình con dùng để điều khiển việc gửi xe bên phải
DIVAO1
Chương trình con điều khiển robot đi vào để cất xe đến vị trí cột 2
DIVAO2
Chương trình con điều khiển robot đi vào để cất xe đến vị trí cột 3
DIVAO3
Chương trình con điều khiển robot đi vào để cất xe đến vị trí cột 4
TANG2
Chương trình con điều khiển robot đi lên cất xe đến tầng 2
TANG3
Chương trình con điều khiển robot đi lên cất xe đến tầng 3
HAXUONG
Chương trình con điều khiển hạ xuống tầng 1 sau khi cất xe xong vào bãi
LAYTRAI
Chương trình con điều khiển việc lấy xe ra bên trái
LAYPHAI
Chương trình con điều khiển việc lấy xe ra bên phải
DIVAO11
Chương trình con điều khiển robot đi vào để lấy xe đến vị trí cột 2
DIVAO22
Chương trình con điều khiển robot đi vào để lấy xe đến vị trí cột 3
DIVAO33
Chương trình con điều khiển robot đi vào để lấy xe đến vị trí cột 4
TANG22
Chương trình con điều khiển robot đi lên lấy xe ở tầng 2
TANG33
Chương trình con điều khiển robot đi lên lấy xe ở tầng 3
HAXUONG1
Chương trình con điều khiển sau khi lấy xe xong hạ xuống tầng 1
KHOITAO
Chương trình con dùng để khởi tạo Freeport cho PLC
INT_0
Chương trình ngắt dùng để đếm số lần nhận dữ liệu bằng Freeport
IV.1.2. Lưu đồ chương trình chính:
Bắt đầu
Trong vòng quét đầu tiên của PLC
KHOITAO
Nạp giá trị 0 vào VB200
Reset 184 bit từ M1.0 đến M23.7
(3)
VB101=’0’
Đ S
(1) (2)
: Lưu đồ chương trình chính cất xe vào bãi
: Lưu đồ chương trình chính lấy xe ra khỏi bãi
(1)
CUAVAO
VB103=’3’
VB103=’2’
VB103=’1’
S
S
S S
Đ Đ Đ
TANG3, Nạp 20 vào VW150
TANG2, Nạp 15vào VW150
VB105=’4’ hoặc VB105=’8’
VB105=’3’ hoặc VB105=’7’
VB105=’2’ hoặc VB105=’6’
S
S
S S
DIVAO2
DIVAO3
DIVAO1
Đ Đ Đ
GUITRAI hoặc GUIPHAI
HAXUONG
I0.3=0
Q0.0 = 0
Nạp giá trị 0 vào VB101, VB103, VB105
Reset các bit sử dụng
Q0.0 = 1
Đ S
(3)
(2)
VB103=’3’
VB103=’2’
VB103=’1’
S
S
S S
Đ Đ Đ
TANG33
TANG22
S
VB105=’4’ hoặc VB105=’8’
VB105=’3’ hoặc VB105=’7’
VB105=’2’ hoặc VB105=’6’
S
S S
Đ Đ Đ
DIVAO22
DIVAO33
DIVAO11
Đ Đ Đ
LAYTRAI hoặc LAYPHAI
Q0.0 = 0
Nạp giá trị 0 vào VB101, VB103, VB105
Reset các bit sử dụng
I0.3=0
Q0.0 = 1
Đ S
HAXUONG1
CUARA
(3)
IV.1.3. Lưu đồ chương trình con:
IV.1.3.1. Lưu đồ chương trình con khởi tạo Freeport:
Bắt đầu
Nạp giá trị 16#09 vào byte SMB30 để cấu hình cho Port0
No parity
Chế độ 8 bit cho 1 ký tự
Tốc độ 9600 baud
Chế độ Freeport
Nạp giá trị 16#90 vào byte SMB87 để cấu hình cho byte điều khiển nhận dữ liệu
Cho phép hàm RCV hoạt động
Bỏ qua ký tự bắt đầu, ký tự kết thúc dữ liệu
Sử dụng thời gian trong SMW90 để kiểm tra đường truyền nhàn rỗi
Nạp giá trị 5 vào byte SMW90 để sử dụng thời gian trong SMW90 để kiểm tra đường truyền nhàn rỗi, cứ sau 5ms sẽ kiểm tra 1 lần
Nạp giá trị 6 vào byte SMB94 để cho phép nhận tối đa là 6 byte
Gán chương trình ngắt INT_0 và sự kiện ngắt số 23 xảy ra khi nhận xong 6 byte, và cho phép ngắt toàn cục
Gọi hàm RCV để nhận dữ liệu từ Port0 và lưu vào vùng nhớ đệm từ VB100
Thoát khỏi chương trình con
IV.1.3.2. Lưu đồ chương trình ngắt INT_0:
Bắt đầu
Tăng giá trị của VB200 lên sau khi hoàn tất nhận dữ liệu 1 lần
Thoát khỏi chương trình ngắt
IV.1.3.3. Lưu đồ chương trình con CUAVAO:
Bắt đầu
I1.1 = 1
Q0.4 = 1
S
Đ
Q0.4 = 0
Q0.6 = 1
I1.0 = 1
S
Q0.6 = 0
Nạp giá trị 10 cho T37 để delay 1s
T37 = 1
S
(1)
(1)
Đ
I0.0=1
Q0.2 = 1
S
T38 = 1
Q0.2 = 0
Nạp giá trị 15 vào T38 để delay 1.5s
Đ
S
Q0.5 = 1
T33 = 1
Nạp giá trị 150 vào T33
Đ
S
Đ
Q0.5 = 0
Nạp giá trị 55 vào T34
Q0.7 = 1
T34 = 1
Q0.7 = 0
Reset các bit sử dụng trong chương trình
S
Thoát khỏi chương trình con
Đ
IV.1.3.4. Lưu đồ chương trình con GUITRAI:
T40 = 1
Nạp giá trị 138 vào T36
Q0.5 = 1
T36 = 1
Q0.5 = 0
Nạp giá trị 55 vào T97
Q0.7 = 1
T97 = 1
Q0.7 = 0
Reset các bit sử dụg
Thoát khỏi chương trình con
Bắt đầu
Q0.4 = 1
I1.0 = 1
T39 = 1
T35 = 1
I1.1 = 1
S
S Đ
Đ
Q0.4 = 0
Q0.6 = 1
S
S
Đ Đ
Q0.6 = 0
Nạp giá trị 10 cho T39 để delay 1s
S
S
Đ
Nạp giá trị 10 vào T35
Đ
Q0.3=1
S
Đ
Q0.3 = 0
Nạp giá trị 15 vào T40
IV.1.3.5. Lưu đồ chương trình con GUIPHAI:
T42 = 1
Nạp giá trị 155 vào T99
Q0.4 = 1
T99 = 1
Q0.4 = 0
Nạp giá trị 60 vào T100
Q0.6 = 1
T100 = 1
Q0.6 = 0
Reset các bit sử dụg
Thoát khỏi chương trình con
Bắt đầu
I1.3 = 1
Q0.5 = 0
I1.2 = 1
T41 = 1
T98 = 1
S
Q0.5 = 1
S Đ
Đ
Q0.7 = 1
S
S
Đ Đ
Q0.7 = 0
Nạp giá trị 10 cho T41 để delay 1s
S
Đ S
Nạp giá trị 10 vào T98
Đ
Q0.3=1
S
Q0.3 = 0
Nạp giá trị 15 vào T42
Đ
IV.1.3.6. Lưu đồ chưong trình con DIVAO1 và DIVAO11:
Bắt đầu
I0.4=1
Q0.1=1
S
Q0.1=0
Thoát khỏi chương trình con
Q0.1=0
Đ
IV.1.3.7. Lưu đồ chưong trình con DIVAO2 và DIVAO22:
Bắt đầu
I0.5=1
Q0.1=1
S
Thoát khỏi chương trình con
Đ
IV.1.3.8. Lưu đồ chưong trình con DIVAO3 và DIVAO33:
Bắt đầu
I0.6=1
Q0.1=1
S
Thoát khỏi chương trình con
Đ
Q0.1=0
IV.1.3.9. Lưu đồ chưong trình con TANG2:
Bắt đầu
I0.1=1
Q0.2=1
S
Thoát khỏi chương trình con
Đ
Q0.2=0
IV.1.3.10. Lưu đồ chưong trình con TANG3:
Bắt đầu
I0.2=1
Q0.2=1
S
Thoát khỏi chương trình con
Đ
Q0.2=0
IV.1.3.11. Lưu đồ chưong trình con HAXUONG:
Bắt đầu
Nạp giá trị VW150 vào T50
T50=1
Q0.3=1
Thoát khỏi chương trình con
Q0.3=0
S
Đ
IV.1.3.12. Lưu đồ chương trình con LAYTRAI:
T44 = 1
Nạp giá trị 1400 vào T96
Q0.5 = 1
T96 = 1
Q0.5 = 0
Nạp giá trị 6 vào T45
Q0.7 = 1
T45 = 1
Q0.7 = 0
Reset các bit sử dụg
Thoát khỏi chương trình con
Bắt đầu
Q0.4 = 1
I1.0 = 1
T45 = 1
T32 = 1
S
I1.1 = 1
S Đ
Đ
Q0.4 = 0
Q0.6 = 1
S
S
Đ Đ
Q0.6 = 0
Nạp giá trị 10 cho T45 để delay 1s
S
S
Đ
Nạp giá trị 200 vào T32
Đ
Q0.2=1
S
Đ
Q0.2 = 0
Nạp giá trị 15 vào T44
IV.1.3.13. Lưu đồ chương trình con LAYPHAI:
T48 = 1
Nạp giá trị 14 vào T49
Q0.4 = 1
T49 = 1
Q0.4 = 0
Nạp giá trị 6 vào T51
Q0.6 = 1
T51 = 1
Q0.6 = 0
Reset các bit sử dụg
Thoát khỏi chương trình con
Bắt đầu
Q0.5 = 1
Q0.5 = 0
I1.2 = 1
T46 = 1
T47 = 1
S
I1.3 = 1
S Đ
Đ
Q0.7 = 1
S
S
Đ
Q0.7 = 0
Nạp giá trị 10 cho T46 để delay 1s
Đ
S
S
Đ
Nạp giá trị 2 vào T47
Đ
Q0.2=1
S
Đ
Q0.2 = 0
Nạp giá trị 15 vào T48
IV.1.3.14. Lưu đồ chưong trình con TANG22:
Bắt đầu
Nạp giá trị 10 vào T55
T55=1
Q0.2=1
Thoát khỏi chương trình con
Q0.2=0
Đ
S
Đ
IV.1.3.15. Lưu đồ chưong trình con TANG33:
Bắt đầu
Nạp giá trị 15 vào T56
T56=1
Q0.2=1
Q0.2=0
Đ
S
Đ
Thoát khỏi chương trình con
IV.1.3.16. Lưu đồ chưong trình con HAXUONG1:
Bắt đầu
I0.0=1
Q0.3=1
Thoát khỏi chương trình con
Q0.3=0
S
Đ
IV.1.3.17. Lưu đồ chương trình con CUARA:
Bắt đầu
I1.3 = 1
Q0.5 = 1
S
Đ
Q0.5 = 0
Q0.7 = 1
I1.2 = 1
S
Đ
Q0.7 = 0
Nạp giá trị 10 cho T115 để delay 1s
(1)
Q0.6 = 1
T119 = 1
Q0.6 = 0
Reset các bit sử dụg
Thoát khỏi chương trình con
T116 = 1
T115 = 1
S
S
Đ
Nạp giá trị 2 vào T116
Đ
Q0.3=1
S
Q0.3 = 0
Nạp giá trị 10 vào T118
Đ
T118 = 1
Q0.4 = 1
T117 = 1
S
Đ
Nạp giá trị 15 vào T117
S
Đ
Q0.4 = 0
Nạp giá trị 6 vào T119
IV.2. Chương trình điều khiển bãi giữ xe tự động:
IV.2.1. Chương trình chính:
IV.2.2. Chương trình con khởi tạo Freeport:
III.2.3. Chương trình ngắt INT_0:
IV.2.4. Chương trình con CUAVAO:
IV.2.4. Chương trình con GUITRAI:
IV.2..5. Chương trình con GUIPHAI:
IV.2.6. Chương trình con DIVAO1:
IV.2.7. Chương trình con DIVAO2:
IV.2.8. Chương trình con DIVAO3:
IV.2.9. Chương trình con TANG2:
IV.2.10. Chương trình con TANG3:
IV.2.11. Chương trình con HAXUONG:
IV.2.12. Chương trình con LAYTRAI:
IV.2.13. Chương trình con LAYPHAI:
IV.2.14. Chương trình con DIVAO11:
IV.2.15. Chương trình con DIVAO22:
IV.2.16. Chương trình con DIVAO33:
IV.2.17. Chương trình con TANG22:
IV.2.18. Chương trình con TANG33:
IV.2.19. Chương trình con HAXUONG1:
IV.2.20. Chương trình con CUARA: