Phần mềm điều khiển cho plc s7 – 200

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

doc65 trang | Chia sẻ: lvbuiluyen | Lượt xem: 2117 | Lượt tải: 3download
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: