Nguyên lý hoạt động của PLC Khi chạy, một chương trình PLC chia làm 3 giai đoạn chính: Giai đoạn 1: Đọc tín hiệu đầu vào Giai đoạn này bộ vi xử lý “chụp lại” trạng thái logic của các đầ
Trang 1LỜI NÓI ĐẦU
Trong những năm gần đây cùng với sự phát triển của nền kinh tế là tốc độ ratăng không ngừng về các loại phương tiện giao thông Sự phát triển nhanhchóng của các phương tiện giao thông đã dẫn đến tình trạng tắc nghẽn giaothông xảy ra rất thường xuyên Vấn đề đặt ra ở đây là làm sao để đảm bảo giaothông thông suốt và sử dụng đèn điều khiển giao thông ở những ngã tư,
những nơi giao nhau của các làn đường là một giải pháp
Để viết chương trình điều khiển đèn giao thông ta có thể viết trên nhiều hệ ngôn ngữ khác nhau Nhưng với những ưu điểm vượt trội của PLC S7- 200 như: giá thành hạ , dễ thi công , sửa chữa , chất lượng làm việc ổn định linh hoạt… nên ở đây tôi đã chọn hệ thống điều khiển có thể lập trình được PLC (Programmble Logic Control) với ngôn ngữ lập trình của S7 – 200 để viết
chương trình điều khiển đèn giao thông
Xuất phát từ những nhu cầu thực tế và những ham muốn hiểu biết về về lĩnhvực này , tôi xin chọn đề tài làm đồ án môn học về : “ Thiết kế hệ thống điềukhiển đèn giao thông tại ngã tư dùng bộ điều khiển PLC S7 - 200” Mục đíchcủa đề tài này là hiểu biết về các thiết bị tự động số, các giải pháp tự động hố tíchhợp toàn diện thông qua PLC S7 – 200 và quan trọng nhất là những ứng dụng củaPLC trong cuộc sống ( Điều khiển đèn giao thông , tự động số trong mọi lĩnh vựccủa ngành sản xuất )
Trang 2CHƯƠNG 1 TỔNG QUAN HỆ THỐNG ĐIỀU KHIỂN LOGIC KHẢ TRÌNH (PLC) VÀ BỘ ĐIỀU KHIỂN LẬP TRÌNH PLC S7-300 CỦA
SIEMENS 1.1 TỔNG QUAN VỀ HỆ THỐNG ĐIỀU KHIỂN LOGIC KHẢ TRÌNH PLC
1.1.1 Giới thiệu chung về hệ thống điều khiển logic khả trình PLC
Thiết bị điều khiển logic khả trình (Programmable Logic Control), viết tắt
thành PLC là loại thiết bị được ứng dụng rất rộng rãi trong tự động hoá xí nghiệpcông nghiệp và rất nhiều lĩnh vực khác Thiết bị cho phép thực hiện linh hoạt cácthuật toán điều khiển số thông qua ngôn ngữ lập trình, các thuật toán này có thểsửa đổi và thay thế một cách nhanh chóng và dễ dàng cho phù hợp với từng yêucầu công nghệ PLC được thiết kế có sẵn giao diện cho các thiết bị vào/ra và có thểlập trình với ngôn ngữ lập trình đơn giản và dễ hiểu, chủ yếu giải quyết các phéptoán logic và chuyển mạch, cho phép các kĩ sư không yêu cầu cao về máy tính vàngôn ngữ máy tính cũng có thể sử dụng được PLC là một bộ điều khiển số nhỏgọn, dễ thay đổi thuật toán và dễ trao đổi thông tin với các PLC khác hoặc với máytính
1.1.2 Cấu trúc chung của PLC
PLC gồm có 5 thành phần cơ bản: - Module xử lý tín hiệu
Trang 3Hình 1 1 Cấu trúc chung của PLC
Ngoài các module chính này, các PLC còn có các module phụ trợ nhưmodule kết nối mạng, các module đặc biệt để xử lý tín hiệu như module kết nối vớicác can nhiệt, module điều khiển động cơ bước, module kết nối với encoder,module đếm xung vào v.v
1.1.3 Nguyên lý hoạt động của PLC
Khi chạy, một chương trình PLC chia làm 3 giai đoạn chính:
Giai đoạn 1: Đọc tín hiệu đầu vào
Giai đoạn này bộ vi xử lý “chụp lại” trạng thái logic của các đầu vào rồi truyềnhình ảnh nhận được vào bộ nhớ dữ liệu
Giai đoạn 2: Thực hiện chương trình
Thực hiện các phép toán logic chứa trong bộ nhớ chương trình lần lượt từ đầu đếncuối bằng cách sử dụng “hình ảnh” của trạng thái đầu vào chứa trong bộ nhớ dữliệu Kết quả của mỗi phép toán logic (hình ảnh đầu ra) lại được lưu trong bộ nhớ
dữ liệu
Giai đoạn 3: Xuất kết quả ra
Sao chép lại toàn bộ các trạng thái logic hình ảnh của đầu ra (lưu trong bộ nhớ dữliệu) ra các module đầu ra để điều khiển các thiết bị bên ngoài
Như vậy, ta có thể khái quát một chu trình làm việc của PLC như sau:
Trang 4Hình 1 2 Chu trình làm việc của PLC
1.1.4 Bài toán thiết kế hệ điều khiển PLC
Đối với một bài toán thiết kế điều khiển PLC ta cần theo các bước sau:
- Tìm hiểu, phân tích yêu cầu công nghệ,
- Xác định đối tượng điều khiển của hệ thống,
- Xác định loại và số lượng tín hiệu đầu vào và ra, lập bảng phân công địachỉ vào/ra
- Vẽ giản đồ thời gian hoặc lưu đồ thuật toán cho các tín hiệu vào/ ra
- Lựa chọn ngôn ngữ lập trình và loại PLC tương ứng
- Kết nối PLC với thiết bị ngoại vi
- Viết chương trình điều khiển
- Chạy mô phỏng và kiểm tra lỗi
- Nạp chương trình vào PLC
- Chạy thử và kiểm tra
- Nếu tốt ta tiến hành nạp chương trình vào EPROM và tạo tài liệu chươngtrình
Trang 5Hình 1 3 Trình tự các bước thiết kế bài toán điều khiển PLC
1.1.5 Phân tích lựa chọn chủng loại PLC
Hiện nay trên thị trường có rất nhiều hãng sản xuất PLC như Siemen, Omron,ABB, Mitshubishi, LG , mỗi hãng đều có những tính năng và ưu điểm riêng Vớimục đích đa dạng về chủng loại để em được làm quen với các hãng PLC khácnhau, vì vậy đề tài lựa chọn bộ PLC S7-200 của hãng Siemens để nghiên cứu BộPLC S7-200 là bộ PLC thông dụng, tính năng mạnh mẽ của hãng Siemens, bộ PLCS7-200 phù hợp với các yêu cầu điều khiển tự động từ đơn giản đến phức tạp
2.1 BỘ ĐIỀU KHIỂN LẬP TRÌNH PLC S7-200 CỦA SIEMEN
2.1.1.Cấu trúc của CPU224 gồm:
Trang 6 4096 từ đơn (Word) để lưu chương trình thuộc miền bộ nhớ ghi/đọc được
và không bị mất dữ liệu nhờ có giao diện với EEPROM
2560 từ đơn để lưu dữ liệu
14 cổng vào logic và 10 cổng ra logic Có thể ghép nối thêm 7 modul mở rộng
Tổng số cổng vào ra cực đại là 128 cổng vào và 128 cổng ra
256 bộ tạo thời gian trễ, trong đó có 4 timer có độ phân giải 1ms, 16 timer
có độ phân giải 10ms, 236 timer có độ phân giải 100ms
256 bộ đếm được chia làm 2 loại, một loại chỉ đếm lên (CTU), một loại vừađếm lên vừa đếm xuống (CTUD)
256 bit nhớ đặc biệt (lư u tr ạ ng thái b ằ ng t ụ hoặ c pin) và 112 bít (l ư u trong EEPROM) dùng làm các bit trạng thái hoặc các bit đặc chế độ làm
việc
Tốc độ thực hiện lệnh: 0.37µs cho 1 lệnh
logic Tích hợp đồng hồ thời gian thực
Tích hợp cổng truyền thông RS-485
Có các chế độ ngắt: ngắt truyền thông, ngắt theo sườn xung, ngắt
theo thời gian và ngắt báo hiệu của bộ đếm tốc độ cao
Dữ liệu không bị mất trong khoảng thời gian 190giờ kể từ khi
PLC bị mất điện2 đầu vào tương tự độ phân giải 8 bit
2.1.2.Mô tả các đèn báo trên PLC S7-200:
Đèn đỏ SF: đèn sáng khi PLCđang làm việc báo hiệu hệ thống bị
hỏng hóc
Đèn xanh RUN: đèn xanh sáng chỉ định PLC đangở chế độ làm việc.Đèn vàng STOP: đèn sáng thông báo PLC đang ở trạng thái dừng Dừng tất cả chương trình đang thực hiện
Đèn xanh Ix.x : đèn sáng báo hiệu trạng thái của tín hiệu của cổng vào đang ở mức logic 1 ngược lại là mức logic 0
Đèn xanh Qx.x : đèn sáng báo hiệu trạng thái của tín hiệu theo giá trị
Trang 7logic của cổng ra đang ở mức logic 1, ngược lại là mức logic 0.
2.1.3.Cổng truyền thông:
Chân 1: nối đất
Chân 2: nối nguồn 24VDC Chân 3:
truyền và nhận dữ liệu Chân 4: không sử
dụng Chân 5: nối đất Chân 6: nối nguồn
5VDC Chân 7: nối nguồn 24VDC Chân
8: Truyền và nhận dữ liệu Chân 9: không
Có chức năng chẩn đoán lỗi và ghi đè
Các ứng dụng của S7-200 có thể dẫn chứng bằng tài liệu
Các ứng dụng được phân bố nhân bản nhanh chóng và thuận tiện
S7-200 có thể điều khiển hoàng loạt các ứng dụng khác nhau trong tự động hoá.Với cấu trúc nhỏ gọn,có khả năng mở rộng, giá rẻ và một tập lệnh Simatic mạnh của S7-200 là một lời giải hoàn hảo cho các bài toán tự động hoá vừa và nhỏ Ngoài ra S7-200 còn có các ưu điểm sau đây :
- Cài đặt, vận hành đơn giản
- Các CPU có thể sử dụng trong mạng,trong hệ thống phân tán hoặc sử dụng
- đơn lẻ
- Có khả năng tích hợp trên qui mô lớn
- Ứng dụng cho các điều khiểnđơn giản và phức tạp
- Truyền thông mạnh
2.1.5 Kết nối PLC với máy tính để lập trình và nạp chương trình
Trang 8- Vùng chương trình: là miền bộ nhớ được sử dụng để lưu giữ các
lệnh chương trình Vùng này thuộc kiểu non-volatile
- Vùng tham số: là miền lưu giữ các tham số như: từ khoá, địa chỉ
trạm…Nó thuộc kiểu non-volatile
- Vùng dữ liệu: là miền nhớ động, có thể truy cập theo từng bit, từng byte,
từng từ đơn và từ kép Được dùng để lưu trữ các thuật toán, các hàm truyềnthông, lập bảng , các hàm dịch chuyển, xoay vòng thanh ghi, con trỏ địa chỉ
- Vùng dữ liệu được chia thành nhiều miền nhớ nhỏ với các chức năng khác nhau
* V: Variable memory
* I: Input image register
* O: Output image register
* M: Internal memory bits
* SM: Special memory bits
2.1.7 Địa chỉ các vùng nhớ của S7-200 CPU 224
Đầu vào (Input): I0.0→I0.7; I1.0→I1.5;
I2.0→I2.7 Đầu ra (Output): Q0.0→Q0.7;
Trang 9Q1.0→Q1.1 Bộ đệm ảo đầu vào: I0.0→I15.7
(128 đầu vào)
Bộ đệm ảo đầu ra: Q0.0→Q15.7 (128 đầu ra)
Đầu vào tương tự: AIW0→AIW62
Đầu ra tương tự: AQW0→AQW62 Vùng nhớ
V: VB0→VB5119 Vùng nhớ L: LB0→LB63
Vùng nhớ M: M0.0 → M31.7
3.1 Cài đặt và sử dụng phần mềm STEP 7 – Micro/win 32
+ Những yêu cầu đối với máy tính PC”
Máy tính cá nhân PC, muốn cài đặt được phần mềm STEP 7-Micro/Win phải thoảmãn những yêu cầu sau đây:
- 640 Kbyte RAM (ít nhất phải có 500 Kbyte bộ nhớ còn trống)
- Màn hình 24 dòng , 80 cột ở chế độ văn bản
- Còn khoảng 2 Mbyte trống trong ổ đĩa cứng
- Có hệ điều hành MS-DOS ver 5.0 hoặc cao hơn
- Bộ chuyển đổi RS232-RS485 phục vụ ghép nối truyền htông trực tiếp giữa máy tính và PLC (truyền thông online)
Truyền thông giữa STEP 7-Micro/Win với S7-200 CPU qua cổng truyềnthông ở phía đáy của PLC Sử dụng cáp có bộ chuyển đổi RS232-RS485,được gọi là cáp PC/PPI, để nối máy tính với PLC tạo thành mạch truyềnthông trực tiếp
Cắm 1 đầu của cáp PC/PPI với cổng truyền thông 9 chân của PLC, còn đầu kia vớicổng truyền thông nối tiếp RS-232C của máy PC Nếu máy PC có cổng truyềnthông nối tiếp RS232 với 25 chân, thì phải ghép nối qua bộ chuyển đổi 25 chân/9chân để có thể ghép nối với cáp truyền thông PC/PPI
+ Cài đặt phần mềm lập trình STEP 7-Micro/Win 32.
Trang 10Sau khi kiểm tra bộ nhớ, ổ đĩa cứng hoàn toàn có đủ khả năng để cài phần mềmSTEP 7-Micro/Win vào ổ cứng, thì lần lượt tiến hành các bước:
1/ Chèn đĩa CD vào ổ CD máy tính
2/ Kích chuột vào nút “ Start “ để mở menu Window.
3/ Kích chuột vào mục Run của menu.
4.1.CÁC LỆNH GHI/XOÁ GIÁ TRỊ CHO TIẾP ĐIỂM
4.1.1 Mạch nhớ R – S.
Mạch này có hai trạng thái tín hiệu ở ngõ ra tương ứng với
các trạng thái tín hiệu đặt ở ngõ vào Nếu ngõ vào I0.0 có trạng thái 1 thì ngõ ra cótín hiệu 1 Khi ngõ vào I0.1 có trạng thái tín hiệu 1 thì ngõ ra có tín hiệu 0 Cáctrường hợp còn lại, ngõ ra đều bằng 0 Người ta gọi mạch này là mạch nhớ tín hiệu(giống như mạch tự giữ trong mạch điều khiển dùng rơ le) Thay đổi trạng thái cácngõ ra: đặt (set) hoặc xoá (reset)
4.1.2 Lệnh SET (S) và RESET (R) trong S7-200
Trong sơ đồ hình thang, các cuộn dây ra sẽ ở trạng thái đặt (bằng 1) hoặc xoá(bằng 0) phụ thuộc vào các quan hệ logic điều khiển dòng tín hiệu Khi có dòng
I0.
0 I0.1 Q0.1
Trang 11chảy đến cuộn dây, một ngõ ra hoặc nhiều ngõ ra sẽ được đặt cũng như xoá bởi cáclệnh này.
Trong bảng liệt kê lệnh, các giá trị này sẽ truyền giá trị của đỉnh ngăn xếp đếncác ngõ ra tương ứng Khi đỉnh ngăn xếp bằng 1 thì các ngõ ra sẽ được đặt cũngnhư xoá bởi các lệnh set và reset (phạm vi cho phép từ 1 đến 255 ngõ ra) Nội dungngăn không bị thay đổi bởi những lệnh này Trong cả hai dạng sơ đồ hình thang vàliệt kê chỉ thị đều cho phép khả năng truy xuất trực tiếp ngõ ra Giá trị ngõ ra trongtoán hạng được ghi đồng thời vào bộ đệm và các ngõ ra vật lý, khác với các lệnhgián tiếp, giá trị này chỉ được ghi vào bộ đệm
Mô tả lệnh S (Set) và R (Reset) bằng LAD
Mô tả lệnh S (Set) và R (Reset) bằng STL
Trang 124.1.3 Các ví dụ ứng dụng dùng bộ nhớ
a/ Mạch chốt lẫn nhau của 2 van từ
Hình 4.41 Sơ đồ mạch logic Hình 4.42: Bảng xác lập vào/ra
Mô tả hoạt động: - Qua việc khởi động S1 hoặc S3 các bộ nhớ một (van từ 1)
hoặc bộ nhớ hai (van từ 2) sẽ được đặt Nút nhấn S2 làm nhiệm vụ cắt mạch
Chương trình được viết ở LAD
Trang 13Chương trình được viết ở STL:
5.1 Timer: - Timer là bộ tạo thời gian trễ giữa tín hiệu vào và tín hiệu ra nên
trong bộ điều khiển vẫn gọi là khâu trễ
Bộ điều khiển lập trình S7 – 200 có 128 timer (với CPU 214) được chia làm 2loại khác nhau:
- Timer tạo thời gian trễ không có nhớ (ON- Delay Timer) kí hiệu là TON
Trang 14- Timer tạo thời gian trễ có nhớ (Retentive - ON – Delay Timer) kí hiệu làTONR
Cả hai loại Timer đều có 3 loại với 3 độ phân giải thời gian khác nhau: - 1ms
- 10ms
- 100ms
Thời gian trễ τ được tạo ra chính là tích của độ phân giải của Timer đượcchọn và giá trị đặt trước cho Timer
Reset một Timer: - Một Timer đang làm việc có thể được đưa lại về trạng thái ban
đầu, công việc đó được gọi là reset Timer Khi reset một bộ Timer, T-word vàT-bitcủa nó đồng thời được xoá và có giá trị bằng 0, như vậy giá trị đếm tức thời đượcđặt về 0 và tín hiệu đầu ra cũng có logic bằng 0 Có thể reset bất cứ bộ Timer nàocủa S7 – 200 bằng lệnh R Có hai phương pháp để reset một Timer TON:
- Xóa tín hiệu đầu vào
- Dùng lệnh reset
Dùng lệnh R là phương pháp duy nhất để reset các bộ Timer kiểu TONR
Cập nhật Timer có độ phân giải là 1ms
CPU của S7 – 200 có các bộ Timer có độ phân giải 1ms cho phép PLC cập nhật
và thay đổi giá trị đếm tức thời trong T-word mỗi 1ms một lần Các bộ Timer có độphân giải thấp này có khả năng điều khiển chính xác các thao tác
Ngay sau khi bộ Timer với độ phân giải 1ms được kích, việc cập nhật để thayđổi giá trị đếm tức thời trong T-word hoàn toàn tự động Chỉ nên đặt giá trị rất nhỏcho PT của bộ Timer có độ phân giải 1ms Tần số cập nhật để thay đổi giá trị đếmtức thời và T-bit của một bộ Timer có độ phân giải 1ms không phụ thuộc vào vòngquét (scan) của bộ điều khiển và vòng quét của chương trình đang chạy Giá trịđếm tức thời và T-bit của bộ Timer này có thể được cập nhật vào bất ký thời điểmnào trong vòng quét và được cập nhật nhiều lần trong một vòng quét nếu thời gianvòng quét lớn hơn 1ms
Thực hiện lệnh R đối với một Timer có độ phân giải 1ms đang ở trạng thái làmviệc có nghĩa là đưa Timer đó về trạng thái ban đầu, giá trị đếm tức thời của Timerđược đưa về 0 và T-bit nhận giá trị logic 0
Cập nhật Timer có độ phân giải là 10ms
Trang 15CPU của S7 – 200 có các bộ Timer với độ phân giải 10ms Sau khi đã đượckích, việc cập nhật T-word và T-bit để thay đổi giá trị đếm tức thời và trạng tháilogic đầu ra của các bộ Timer này không phụ thuộc vào chương trình và được tiếnhành hoàn toàn tự động mỗi vòng quét một lần và tại thời điểm đầu vòng quét.Thực hiện lệnh R đối với một bộ Timer có độ phân giải là 10ms đang ở trạngthái làm việc là đưa Timer về trạng thái ban đầu và xoá T-word và T-bit của Timer.
Cập nhật Timer có độ phân giải là 100ms
Hầu hết các bộ Timer của S7 – 200 là các bộ Timer có độ phân giải là 10ms Giátrị để lưu trữu trong bộ Timer 100ms được tính tại mỗi đầu vòng quét và thời gian
để tính sẽ là khoảng thời gian từ đầu vòng quét trước đó
Việc cập nhật để thay đổi giá trị đếm tức thời của Timer chỉ được tiến hànhngay tại thời điểm có lệnh khai báo cho Timer trong chương trình Bởi vậy quátrình cập nhật giá trị đếm tức thời không phải là quá trình tự động và không nhấtthiết phải thực hiện một lần trong mỗi vòng quét ngay cả khi Timer đã được kích
5.1.1 On – Delay Timer (TON)
Địa chỉ của On – Delay Timer ở S7 – 200 được cho theo độ phân giải như sau:
Độ phân
giải
CPU 212/214/215/216
CPU 214/215/216
Trang 16Thời gian đóng mạch chậm khởi động và đếm đến giá trị cao, khi ngõ vào I0.2đóng mạch Nếu giá trị đếm tức thời >= giá trị đặt trước , thì bit thời gian hoạtđộng (T33 có tín hiệu 1) Nó bị reset khi ngõ vào I0.2 ngắt mạch.
5.1.2 Retentive On – Delay Timer (TONR)
Địa chỉ của TONR ở S7 – 200 được cho theo độ phân giải như sau: