Giáo trình PLC (Dùng cho hệ Cao Đẳng và Trung Học)
MỤC LỤC
Chương 1: Giới thiệu vềPLC Trang
1.1 Tổng quan vềPLC. 03
1.2 Cấu trúc và hoạt động của PLC. 04
1.3 Phân loại PLC 06
1.4 So sánh PLC với các hệ điều khiển khác. 08
1.5 Phạm vi ứng dụng của PLC. 09
1.6 Thiết kếhệthống dùng PLC. 09
1.7 Giới thiệu PLC Siemens. 12
Chương 2: Thµnh phÇn c¬ b¶n cña PLC
2.1 Cấu trúc phần cứng. 13
2.2 Hoạt động của PLC. 16
2.3 Cấu trúc bộnhớ. 19
2.4 Phương pháp lập trình. 22
Chương 3: Tập lệnh PLC S7-200
3.1 Các lệnh cơbản. 24
3.2 Counter và Timer. 29
3.3 Lệnh so sánh. 32
3.4 Lệnh vềcổng logic. 35
3.5 Lệnh di chuyển nội dung MOVE 37
3.6 Lệnh chuyển đổi dữliệu 40
3.7 Lệnh tăng giảm 1 đơn vị. 44
3.8 Lệnh sốhọc 48
3.9 Lệnh nhảy và gọi chương trình con. 54
3.10 Truy cập đồng hồthời gian thực. 55
Chương 4: Cấu trúc chương trình PLC
4.1 Cấu trúc tuần tự. 59
4.2 Cấu trúc Automat. 64
4.3 Cấu trúc có chương trình con. 65
Chương 5: Phần mềm lập trình và mô phỏng
5.1 Phần mềm STEP 7-Micro. 67
Chương 6: Giới thiệu vềPLC- S7-300
6.1 Cấu trúc, chức năng PLC S7_300 70
6.2 Module CPU 70
6.3 Module mởrộng 71
6.4 Ngôn ngữlập trình 71
6.5 Giới thiệu PLC S7_300 CPU314IFM 72
6.6 Giải pháp mạng 82
gọi nó, được phân biệt bởi các số nguyên. Ví dụ: FC1, FC7, FC30…ngoài ra còn có các hàm SFC là các hàm đã được tích hợp sẵn trong hệ điều hành. - FB (Function Block): tương tự như FC, FB còn phải xây dựng 1khối dữ liệu riêng gọi là DB (Data Block) và cũng có các hàm SFB là các hàm tích hợp sẵn trong hệ điều hành. + Vùng chứa các tham số hệ điều hành và chương trình ứng dụng: GIÁO TRÌNH PLC DÙNG CHO HỆ CAO ĐẲNG VÀ TRUNG HỌC TRANG - 72 - I (Process image input): Miền bộ đệm dữ liệu các ngõ vào số. Trước khi bắt đầu thực hiện chương trình, PLC sẽ đọc tất cả giá trị logic của các cổng vào rồi cất giữ chúng trong vùng I. khi thực hiện chương trình CPU sẽ sử dụng các giá trị trong vùng I mà không đọc trực tiếp từ ngõ vào số. - Q (Process image output): tương tự vùng I, miền Q là bộ đệm dữ liệu cổng ra số. Khi kết thúc chương trình, PLC sẽ chuyển giá trị logic của bộ đệm Q tới các cổng ra số. - M (Memory): Miền các biến cờ. Do vùng nhớ này không mất sau mỗi chu kì quét nên chương trình ứng dụng sẽ sử dụng vùng nhớ này để lưu giữ các tham số cần thiết. Có thể truy nhập nó theo bit (M), byte (MB), theo từ (MW) hay từ kép (MD). - T (Timer): Miền nhớ phục vụ bộ thời gian bao gồm việc lưu trữ các giá trị đặt trước (PV- Preset Value), các giá trị tức thời (CV-Current Value) cũng như các giá trị logic đầu ra của Timer. - C (Counter): Miền nhớ phục vụ bộ đếm bao gồm việc lưu giữ các giá trị đặt trước (PV- Preset Value), các giá trị tức thời (CV-Current Value) cũng như các giá trị logic đầu ra của Counter. - PI: Miền địa chỉ cổng vào của các module tương tự (I/O External input)̣. Các giá trị tương tự tại cổng vào của module tương tự sẽ được module đọc và chuyển tự động theo những địa chỉ. Chương trình ứng dụng có thể truy cập miền nhớ PI theo từng byte (PIB), từng từ (PIW) hoặc theo từng từ kép (PID). - PQ: Miền địa chỉ cổng ra của các module tương tự (I/O External output)̣. Các giá trị tương tự tại cổng vào của module tương tự sẽ được module đọc và chuyển tự động theo những địa chỉ. Chương trình ứng dụng có thể truy cập miền nhớ PI theo từng byte (PQB), từng từ (PQW) hoặc theo từng từ kép (PQD). + Vùng chứa các khối dữ liệu, được chia thành 2 loại: - DB (Data block): Miền chứa các dữ liệu được tổ chức thành khối. Kích thước hay số lượng khối do người sử dụng qui định. Có thể truy nhập miền này theo từng bit (DBX), byte( DBB), từng từ (DBW), từ kép (DBD). - L (Local data block): Miền dữ liệu địa phương, được các khối chương trình OB, FC, FB tổ chức và sử dụngcho các biến nháp tức thời và trao đổi dữ liệu của biến hình thức với những khối đã gọi nó. Toàn bộ vùng nhớ sẽ bị xoá sau khi khối thực hiện xong. Có thể truy nhập theo từng bit (L), byte (LB), từ (LW), hoặc từ kép (LD). 6.5.2 Các ngõ vào ra + 20 ngõ vào số được định địa chỉ từ I124.0 đến I126.3 trong đó: Các ngõ vào từ I124.0 đến I124.3 là các ngõ vào đặc biệt có thể được dùng làm bộ đếm tốc độ cao (high speed counter) đến 10Khz hoặc ngắt ngoài. + Các ngõ ra số từ Q124.0 đến Q125.7 có mức điện áp là 24VDC và dòng tối đa là 0.5A (16 ngõ ra số) + Có 4 ngõ vào Analog có địa chỉ từ PIW128 đến PIW134 và 1ngõ ra tương tự có địa chỉ là PQW128 với tín hiệu dòng ± 20mA hoặc áp ± 10V có độ phân giải 11 bit và 1 bit dấu. Các ngõ vào tương tự có đặc điểm là chỉ được truy cập bằng từ (PIW) GIÁO TRÌNH PLC DÙNG CHO HỆ CAO ĐẲNG VÀ TRUNG HỌC TRANG - 73 Hình 5.3: Cấu tạo của PLC S7_300 CPU314IFM 6.5.3 Tập lệnh (sử dụng dạng LAD) a. Các lệnh cơ bản Nhóm lệnh logic tiếp điểm Lệnh GÁN Ví dụ: Khi ngõ vào I0.0 lên mức 1 thì ngõ ra Q0.0 ON Lệnh AND Ví dụ: Khi I0.0 và I0.1 đồng thời lên mức 1 thì ngõ ra Q0.0 ON Lệnh OR Ví dụ: Khi 1 trong 2 ngõ vào I0.0 hoặc I0.1 lên mức 1 thì ngõ ra Q0.0 ON GIÁO TRÌNH PLC DÙNG CHO HỆ CAO ĐẲNG VÀ TRUNG HỌC TRANG - 74 Lệnh AND NOT Ví dụ: Khi I0.0 lên mức 1 và I0.1 ở mức 0 thì Q0.0 ON Lệnh OR NOT Ví dụ: Khi I0.0 mức 1 hay I0.1 mức 0 thì Q0.0 ON Lệnh GÁN có điều kiện - Lệnh gán giá trị 1 Ví dụ: - Lệnh gán giá trị 0 Ví dụ: b. Nhóm lệnh so sánh với số nguyên và số thực - Với số nguyên So sánh bằng Ví dụ: GIÁO TRÌNH PLC DÙNG CHO HỆ CAO ĐẲNG VÀ TRUNG HỌC TRANG - 75 So sánh lớn hơn Ví dụ: So sánh lớn hơn hoặc bằng Ví dụ: So sánh bé hơn Ví dụ: Số nguyên 16 bits Số nguyên 32 bits So sánh bé hơn hoặc bằng Ví dụ: - Với số thực So sánh bằng So sánh khác Ví dụ: GIÁO TRÌNH PLC DÙNG CHO HỆ CAO ĐẲNG VÀ TRUNG HỌC TRANG - 76 So sánh lớn hơn So sánh lớn hơn hoặc bằng Ví dụ: So sánh lớn hơn So sánh bé hơn hoặc bằng Ví dụ: c. Các lệnh toán học -Với số nguyên Lệnh cộng số nguyên Ví dụ: Số nguyên 16 bits Số nguyên 32 bits Lệnh trừ số nguyên Ví dụ: GIÁO TRÌNH PLC DÙNG CHO HỆ CAO ĐẲNG VÀ TRUNG HỌC TRANG - 77 Số nguyên 16 bits Số nguyên 32 bits Lệnh nhân số nguyên Ví dụ: Số nguyên 16 bits Số nguyên 32 bits Lệnh chia số nguyên Ví dụ: Số nguyên 16 bits Số nguyên 32 bits - Với số thực Lệnh cộng số thực Lệnh trừ số thực Ví dụ: Lệnh nhân số thực Lệnh chia số thực Ví dụ: GIÁO TRÌNH PLC DÙNG CHO HỆ CAO ĐẲNG VÀ TRUNG HỌC TRANG - 78 d. Nhóm lệnh đổi kiểu dữ liệu Các lệnh chuyển: Số BCD→số nguyên 16 bits BCD →số nguyên 32 bits Ví dụ: Số nguyên 16 bits→BCD Số nguyên32 bits→BCD Ví dụ: Số nguyên16 bits→số nguyên32bits Ví dụ: Số nguyên 32bits→số thực Ví dụ: GIÁO TRÌNH PLC DÙNG CHO HỆ CAO ĐẲNG VÀ TRUNG HỌC TRANG - 79 Lệnh làm tròn số (số thực→số nguyên 32 bits) Ví dụ: e. Bộ thời gian (Timer) Bộ thời gian là bộ tạo thời gian trễ t mong muốn giữa tín hiệu logic đầu vào u(t) và tín hiệu logic đầu ra y(t). S7_300 có 5 loại Timer khác nhau.Thời gian trễ t mong muốn được khai báo với Timer bằng 1 giá trị 16 bits trong đó 2 bits cao nhất không sử dụng, 2bits cao kế tiếp là độ phân giải của Timer, 12 bits thấp là 1 số nguyên BCD trong khoảng 0 ÷999 được gọi là PV (Preset Value). Thời gian trễ t chính là tích: t=Độ phân giải*PV Không sử dụng Giá trị PV dưới dạng mã BCD 9990 ≤≤ PV Độ phân giải Thời gian có thể được khai báo dưới dạng bằng kiểu S5T Ví dụ: S5T#3s 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 10ms 0 1 100ms 1 0 1s 1 1 10s GIÁO TRÌNH PLC DÙNG CHO HỆ CAO ĐẲNG VÀ TRUNG HỌC TRANG - 80 Trong luận văn sử dụng loại Timer SD là loại Timer trễ theo sườn lên không có nhớ (On Delay Timer):Ngõ ra lên mức 1 khi ngõ vào EN=1 và giá trị CV (Current Value)=0. Ví dụ: Khi ngõ vào I0.0 lên mức 1 thì sau 2s T1 sẽ ON f. Bộ đếm (Counter) Counter là bộ đếm có chức năng đếm sườn xung của tín hiệu đầu vào. Có tối đa 256 Counter được kí hiệu từ C0 ÷C255 Ví dụ: Loại Counter đếm lên và đếm xuống - CU : tín hiệu đếm lên (BOOL) - CD : tín hiệu đếm (BOOL) - S : tín hiệu đặt (BOOL), khi có sườn lên thì giá trị đặt được nạp cho CV - PV : giá trị đặt (WORD) - R : tín hiệu xoá (BOOL), khi có sườn lên thì giá trị CV được xoá về 0. - Q : ngõ ra - CV : giá trị hiện tại của bộ đếm dạng Integer - CV_BCD : giá trị hiện tại của bộ đếm dạng BCD Loại Counter đếm lên GIÁO TRÌNH PLC DÙNG CHO HỆ CAO ĐẲNG VÀ TRUNG HỌC TRANG - 81 Giống loại Counter trên nhưng không có chân kích đếm xuống. 6.5.4 Thư viện hàm S7 300 thông dụng . 6.6 Giải pháp mạng Mạng công nghiệp là hệ thống đo lường và điều khiển hiện đại bao gồm máy tính, PLC, vi xử lý ghép nối với cảm biến và chấp hành, thông thường các thiết bị này không tập trung mà phân tán, việc trao đổi thông tin được thực hiện dưới dạng số và truyền nối tiếp. Mạng công nghiệp thường gồm 7 lớp: Lớp vật lý, lớp liên kết dữ liệu, lớp mạng, lớp vận chuyển, lớp phiên, lớp trình và lớp ứng dụng. Tuy nhiên có 1 số mạng người ta chỉ thiết kế trên hai hoặc ba lớp cơ bản, tuỳ vào mỗi hãng mà có các mạng khác nhau. Sau đây là 1 số mạng công nghiệp đã được sử dụng rộng rãi: - Mạng Ethernet - Foundation FieldBus, MPI, Profibus - Can - DiviceNet - ModBus - SDS (Smart distributed System) - InterBus-S - AS-Interface (Actuaator Sensor Interface) - Combobus-S, Combobus-D Hiện nay, để giao tiếp giữa PLC với máy tính, đơn giản nhất là sử dụng phần mềm WinCC được cài đặt trên máy tính cùng với cáp chuyển đổi PPI hoặc MPI (Nếu muốn kết nối nhiều PLC) chuyển đổi tín hiệu RS485 sang RS232 truyền sang máy tính vào cổng Com RS232. WinCC là phần mềm tương đối mạnh bao gồm các thư viện được viết sẵn tuy nhiên WinCC chưa phải là 1 ngôn ngữ lập trình hướng đối tượng hoàn chỉnh như C++, Delphi hay Visual Basic mà là phần mềm đóng gói các thao tác, ứng dụng, hoạt động thông dụng trong công nghiệp dựa trên ngôn ngữ lập trình C. Vì thế sẽ đỡ mất công sức rất nhiều để lập trình trên PLC và trên máy tính khi sử dụng phần mềm WinCC và ngược lại, nếu dùng các ngôn ngữ lập trình như C++, Delphi hay Visual Basic, khi đó ta phải lập trình mạng cho hệ thống và phải dựa vào các hàm lập sẵn cho Module truyền thông của PLC S7_300. Không phải mọi CPU đều có Module truyền thông CP (Communication Processor), CP có ưu điểm là có sự hỗ trợ mạnh về hàm thư viện và tính năng vượt trội như tốc độ, số Byte dữ liệu và sự tương thích cao. Tuy nhiên hầu hết các CPU đều có ít nhất 1 cổng MPI là GIÁO TRÌNH PLC DÙNG CHO HỆ CAO ĐẲNG VÀ TRUNG HỌC TRANG - 82 cổng COM RS485 dùng để đổ chương trình vào ROM của PLC, giao tiếp và nối mạng. Một số hàm được lập trình sẵn để phục vụ cho cổng COM: - SFC60”GD_SND” (global data send): gởi dữ liệu dưới dạng gói GD, gói GD phải đươc tạo trước bằng phần mềm STEP7 (sẽ được trình bày kĩ ở trong chương truyền thông bằng MPI). - SFC61”GD_RCV” (global data receive): nhận dữ liệu dưới dạng gói GD. - SFC65”X_SEND”: gởi dữ liệu đến đối tác truyền thông khác. - SFC66”X_RCV”: nhận dữ liệu từ đối tác truyền thông khác. Tài liệu tham khảo: 1.Festo- sofwaere – tools. 2.Ladder diagram Festo _ IPC 3.Tự động hoá với SIMATIC – S7-300.
File đính kèm:
- Giáo trình PLC (Dùng cho hệ Cao Đẳng và Trung Học).pdf