tài liệu lập trình plc .
Trang 1Giáo trình PLC S7-200
MỤC LỤC
PHẦN 1: LÝ THUYẾT PLC 3
CHƯƠNG 1: GIỚI THIỆU PLC 3
1.1 Giới thiệu chung 3
1.2 Hình dáng bên ngoài 3
1.3 Các thành viên họ S7-200 6
1.4 Modul mở rộng 8
CHƯƠNG 2 ĐẤU NỐI PLC VÀ MODUL MỞ RỘNG 12
2.1 PLC sử dụng nguồn nuôi một chiều 12
2.2 PLC sử dụng nguồn nuôi xoay chiều 14
2.3 Đấu nối modul mở rộng 16
2.4 Cấu trúc và giới hạn bộ nhớ 20
CHƯƠNG 3 NGÔN NGỮ LẬP TRÌNH 22
3.1 Cách thực hiện chương trình 22
3.2 Cấu trúc chương trình 22
3.3 Phương pháp lập trình 24
3.4 Một số lệnh cơ bản 25
3.4.1 Lệnh vào ra 25
3.4.2 Các lệnh ghi/xóa giá trị cho tiếp điểm 26
3.4.3 Các lệnh tiếp điểm đặc biệt 27
3.4.4 Lệnh nhảy và lệnh gọi chương trình con 28
3.4.5 Các lệnh can thiệp vào thời gian vòng quét 29
3.4.6 Các lệnh điều khiển Timer 30
3.4.7 Các lệnh điều khiển Counter 34
3.4.8 Các lệnh so sánh 37
3.4.9 Các lênh số học 39
3.4.10 Các lệnh dịch chuyển nội dung ô nhớ 43
3.4.11 Một số bit nhớ đặc biệt 43
3.4.12 Chương trình xử lý ngắt 44
3.8 Soạn thảo chương trình và chương trình mô phỏng 46
3.8.1 Soạn thảo chương trình 46
3.8.2 Chương trình mô phỏng 48
PHẦN 2: BÀI TẬP THỰC HÀNH 50
Trang 2Bài 4: HỆ THỐNG ĐẾM VÀ ĐÓNG GÓI SẢN PHẨM 52
Bài 5: ĐIỀU KHIỂN 3 ĐỘNG CƠ 53
Bài 6: HỆ THỐNG BƠM NƯỚC 53
Bài 7: HỆ THỐNG BƠM VÀ ĐỊNH LƯỢNG CHẤT LỎNG 54
Bài 8: ĐIỀU KHIỂN 3 XILANH 55
Bài 9: ĐÈN GIAO THÔNG 56
Bài 10: ĐIỀU KHIỂN 3 XILANH VÀ 2 ĐỘNG CƠ 57
Bài 11: ĐIỀU KHIỂN 4 XILANH VÀ 3 ĐỘNG CƠ 58
Trang 3Giáo trình PLC S7-200
PHẦN 1: LÝ THUYẾT PLC CHƯƠNG 1: GIỚI THIỆU PLC1.1 Giới thiệu chung.
PLC viết tắt của Programmable Logic Controllers Là thiết bị điều khiển logic
lập trình được, cho phép thực hiện linh hoạt các thuật toán điều khiển logic thông qua một ngôn ngữ lập trình
Sự phát triển của PLC đã đem lại nhiều thuận lợi và làm cho các thao tác máy trở nên nhanh, nhạy, dễ dàng và tin cậy hơn Nó có khả năng thay thế hoàn toàn cho các phương pháp điều khiển truyền thống dùng rơle (loại thiết bị phức tạp và cồng kềnh); khả năng điều khiển thiết bị dễ dàng và linh hoạt dựa trên việc lập trình trên các lệnh logic cơ bản; khả năng định thời, đếm, giải quyết các vấn đề toán học và công nghệ, khả năng tạo lập gởi đi, tiếp nhận những tín hiệu nhằm mục đích kiểm soát
sự kích hoạt hoặc đình chỉ những chức năng của máy hoặc một dây chuyền công nghệ
Như vậy những đặc điểm làm cho PLC có tính năng ưu việt và thích hợp trong môi trường công nghiệp:
Thuộc vào hệ sản xuất linh hoạt do tính thay đổi được chương trình hoặc thay đổi trực tiếp các thông số mà không cần thay đổi lại chương trình
1.2 Hình dáng bên ngoài.
Trang 4Hình 1.1 Hình dáng bên ngoài của một PLC
Mô tả các đèn báo trên S7-200:
SF: Đèn đỏ SF báo hiệu hệ thống bị hỏng Đèn SF sáng lên khi PLC có hỏng hóc
RUN: Đèn xanh RUN chỉ PLC đang ở chế độ làm việc và thực hiện chương được nạp vào trong PLC
STOP: Đèn vàng STOP chỉ định rằng PLC đang ở chế độ dừng Dừng chương trình đang thực hiện lại
Ix.x: Đèn xanh ở cổng vào chỉ định trạng thái tức thời của cổng Ix.x Đèn này báo hiệu trạng thái của tín hiệu theo giá trị logic của cổng
Qy.y: Đèn xanh ở cổng ra báo hiệu trạng thái tức thời của cổng Qy.y Đèn
Trang 5Giáo trình PLC S7-200
Cổng truyền thông:
S7-200 sử dụng cổng truyền thông nối tiếp RS485 với phích nối 9 chân để phục
vụ cho việc ghép nối với thiết bị lập trình hoặc với các trạm PLC khác
Hình 1.2 Sơ đồ chân của cổng truyền thông
Ghép nối S7-200 với máy tính PC qua cổng RS232 cần có cáp nối PC/PPI với
bộ chuyển đổi RS232/RS485
Hình 1.3 Sơ đồ kết nối giữa PLC và máy tính thông qua cáp PC/PPI
Hình 1.4 Hình dạng và kích thước của cáp.
Trang 6 RUN: Cho phép PLC thực hiện chương trình trong bộ nhớ, khi chương
trình gặp lỗi hoặc gặp lệnh STOP thì PLC sẽ tự động chuyển sang chế độ STOP mặc dù công tắc vẫn ở chế độ RUN (nên quan sát trạng thái thực tại của PLC theo đèn báo)
STOP: Khi chuyển sang chế độ STOP, dừng cưỡng bức chương trình đang
chạy, các tín hiệu ra lúc này đều về off Ở chế độ STOP PLC cho phép hiệu chỉnh lại chương trình hoặc nạp một chương trình mới
TERM: cho phép máy lập trình tự quyết định chọn một trong hai chế độ
làm việc cho PLC ở RUN hoặc STOP
Vít chỉnh định tương tự: Mỗi CPU có từ 1 đến 2 vít chỉnh định tương tự, có
thể xoay được một góc 270°, dùng để thay đổi giá trị của biến sử dụng trong chương trình (SMB28 và SMB29), giá trị thay đổi từ 0 đến 255
1.3 Các thành viên họ S7-200.
Các thông số cơ bản của thành viên họ S7-200 được mô tả tóm tắt ở bảng 1.1
Bảng 1.1 Các thông số cơ bản của các thành viên họ S7-200
Thông số CPU221 CPU222 CPU224 CPU226 CPU226XM
DC/DC/DCAC/DC/RL
DC/DC/DCAC/DC/RL
DC/DC/DCAC/DC/RL
Trang 7Giáo trình PLC S7-200
Bảng 1.2 Các loại CPU S7-200.
Bảng 1.3 Kích thước và trọng lượng.
Trang 8Bảng 1.4 Một số thông số kỹ thuật.
1.4 Modul mở rộng.
Cấu trúc modul của S7-200 tạo sự linh hoạt tối đa để giải quyết các bài toán, nó cho phép chúng ta chọn số đầu vào ra tối ưu về mặt kinh tế Chúng ta có thể tăng thêm
số cổng vào ra cho bằng cách nối thêm các modul mở rộng
Các modul mở rộng này được cắm nối tiếp nhau vào bên phải CPU làm thành một mắc xích Địa chỉ các đầu vào ra trên các modul mở rộng được xác định bằng kiểu vào, ra và vị trí của modul trong mắc xích
Trang 9Giáo trình PLC S7-200
Hình 4.5 Ghép nối CPU 224 với các modul mở rộng
Trang 10Bảng 1.5 Các loại modul mở rộng
Bảng 1.6 Các thông số cơ bản của modul mở rộng số
Bảng 1.7 Các thông số cơ bản của các loại modul mở rộng analog.
Trang 11Giáo trình PLC S7-200
Hình 1.6 Kích thước của các loại PLC và modul mở rộng
Trang 12CHƯƠNG 2 ĐẤU NỐI PLC VÀ MODUL MỞ RỘNG.2.1 PLC sử dụng nguồn nuôi một chiều.
Hình 2.1 Cách đấu dây CPU 221 DC/DC/DC
Hình 2.2 Cách đấu dây CPU 222 DC/DC/DC
Trang 13Giáo trình PLC S7-200
Hình 2.3 Cách đấu dây CPU 224 DC/DC/DC
Hình 2.4 Cách đấu dây CPU 226 DC/DC/DC
Trang 142.2 PLC sử dụng nguồn nuôi xoay chiều.
Hình 2.5 Cách đấu dây CPU 221 AC/DC/RELAY
Trang 15Giáo trình PLC S7-200
Hình 2.6 Cách đấu dây CPU 222 AC/DC/RELAY
Hình 2.7 Cách đấu dây CPU 224 AC/DC/RELAY
Trang 16Hình 2.8 Cách đấu dây CPU 226 AC/DC/RELAY
2.3 Đấu nối modul mở rộng.
Hình 2.9 Cách đấu modul mở rộng EM 221 Digital Input 8x24 VDC
Trang 17Giáo trình PLC S7-200
Hình 2.10 Cách đấu modul mở rộng EM 222 Digital Output 8
Hình 2.11 Cách đấu modul mở rộng EM 223 24VDC 4 Inputs/4 Outputs
Trang 18Hình 2.12 Cách đấu modul mở rộng EM 223 24VDC 4 Inputs/4 Relay Outputs
Hình 2.13 Cách đấu modul mở rộng EM 223 24VDC 8 Inputs/8 Outputs
Trang 19Giáo trình PLC S7-200
Hình 2.14 Cách đấu modul mở rộng EM 223 24VDC 8 Inputs/8 Relay Outputs
Hình 2.15 Cách đấu modul mở rộng EM 223 24VDC 16 Inputs/16 Outputs
Trang 20Hình 2.16 Cách đấu modul mở rộng EM 223 24VDC 16 Inputs/16 Relay Outputs
2.4 Cấu trúc và giới hạn bộ nhớ.
Bảng 2.1: Cấu trúc và giới hạn bộ nhớ của các CPU
Trang 22CHƯƠNG 3 NGÔN NGỮ LẬP TRÌNH3.1 Cách thực hiện chương trình.
PLC thực hiện chương trình theo chu trình lặp Mỗi vòng lặp được gọi là vòng quét (scan) Mỗi vòng quét được bắt đầu bằng giai đoạn đọc dữ liệu từ các cổng vào vùng đệm ảo, tiếp theo là giai đoạn thực hiện chương trình Trong từng vòng quét, chương trình được thực hiện bằng lệnh đầu tiên và kết thúc tại lệnh kết thúc Sau giai đoạn thực hiện chương trình là giai đoạn truyền thông nội bộ và kiểm tra lỗi Vòng quét được kết thúc bằng giai đoạn chuyển các nội dung của bộ đệm ảo tới các cổng ra
Hình 3.1 Cấu trúc một vòng quét trong PLC
Như vậy tại thời điểm thực hiện lệnh vào/ra, thông thường lệnh không thực hiện hiện lệnh trực tiếp với cổng vào/ra mà chỉ thông qua bộ đệm ảo của cổng trong vùng nhớ tham số Việc truyền thông giữa bộ đệm ảo với ngoại vi do CPU quản lý Khi gặp lệnh vào/ra tức thời thì ngay lập tức hệ thống sẽ cho dừng mọi công việc khác, ngay cả chương trình xử lý ngắt, để thực hiện lệnh này một cách trực tiếp với cổng vào/ra
Chương trình xử lý ngắt chỉ được thực hiện trong vòng quét khi xuất hiện tính hiệu báo ngắt và có thể xảy ra ở bất cứ điểm nào trong vòng quét
3.2 Cấu trúc chương trình.
Cấu trúc của một chương trình được tạo thành từ 3 thành phần cơ bản: 1 chương trình chính (main Program), có thể có một hay nhiều chương trình con (subroutines), các chương trình con xử lý ngắt (interrupt routines) có thể có hoặc không
Chương trình chính bao gồm các lệnh điều khiển ứng dụng Các lệnh này được thực hiện tuần tự một cách liên tục, cứ mỗi vòng quét một lần Chương trình chính được kết thúc bằng lệnh kết thúc chương trình (MEND hoặc END)
Trang 23Giáo trình PLC S7-200
Chương trình con là một bộ phận của chương trình Nó có thể có hoặc không, chỉ được thực hiện khi có lệnh gọi đến từ chương trình chính Các chương trình con phải được viết sau lệnh kết thúc chương trình chính (MEND hoặc END)
Các chương trình con xử lý ngắt (có thể có hoặc không) khi xảy ra sự kiện ngắt tương ứng Sự kiện đó có thể là sự thay đổi mức ở một đầu vào, bộ định thời đếm đủ hay nhận được dữ liệu trên cổng truyền thông….Chương trình xử lý ngắt cũng phải được viết sau lệnh kết thúc chương trình chính (MEND hoặc END)
Các chương trình con thường được nhóm lại thành một nhóm ngay sau chương trình chính Sau đó đến ngay các chương trình xử lý ngắt Bằng cách viết như vậy, cấu trúc chương trình được rõ ràng và thuận tiện hơn trong việc đọc chương trình sau này Cũng có thể tự do trộn lẫn các chương trình con và chương trình xử lý ngắt đằng sau chương trình chính
Trang 24Hình 3.2 Cấu trúc một chương trình của PLC
3.3 Phương pháp lập trình.
Lập trình cho S7 200 và các PLC khác của hãng Siemens dựa trên 3 phương pháp cơ bản:
- Phương pháp hình thang (Ladder logic _ LAD)
- Phương pháp khối hàm (Function Block Diagram _ FBD)
- Phương pháp liệt kê câu lệnh (Statement List _ STL)
Thông thường chúng ta chỉ dùng 2 phương pháp đó là LAD và STL Nếu chương trình được viết theo kiểu LAD, thiết bị lập trình sẽ tự tạo theo kiểu STL tương ứng Ngược lại không phải mọi chương trình được viết theo kiểu STL cũng đều có thể chuyển sang được dạng LAD
Định nghĩa về LAD: LAD là ngôn ngữ lập trình bằng đồ họa Nhữnh thành
phần cơ bản dùng trong LAD tương ứng với những thành phần cơ bản dùng trong bảng mạch rơle Trong chương trình LAD các phần tử cơ bản dùng để biểu diễn lệnh logic như sau:
- Tiếp điểm có hai loại: Thường đóng ; thường hở
- Cuộn dây (coil):
- Hộp (box): Mô tả các hàm khác nhau, nó làm việc khi có dòng điện đưa đến hộp Có các nhóm hộp sau: hộp các bộ định thời, hộp các bộ đếm, hộp di chuyển
dữ liệu, hộp các hàm toán học
Trang 25Giáo trình PLC S7-200
- Mạng LAD: Là đường nối các phần tử thành một mạch hoàn chỉnh, đi từ đường nguồn bên trái sang đường nguồn bên phải Nguồn điện có hai đường chính, một đường bên trái thể hiện dây nóng, một đường bên phải là dây trung hòa (neutral) hay là đường trở về nguồn cung cấp Đường nguồn bên phải không được thể hiện trên giao diện lập trình
Định nghĩa về STL: Là phương pháp thể hiện chương trình dưới dạng tập hợp
các câu lệnh Khác với hai ngôn ngữ kia là dạng đồ họa Chính vì thế trong STL có thể viết những chương trình mà trong hai ngôn ngữ còn lại không thể viết được Bởi
vì nó sát với ngôn ngữ máy hơn, không bị giới hạn bởi các quy tắc đồ họa STL thường dành cho lập trình viên giàu kinh nghiệm
STL có thể giải quyết được một số vấn đề không thể giải quyết dễ dàng trong Lad và FBD, mọi chương trình viết bằng LAD hay FBD đề có thể xem và sửa trong STL nhưng không phải tất cả những chương trình viết trong STL đều có thể xem bằng LAD hay FBD
Cuộn dây đầu ra ở trạng thái
ON khi có dòng điện điều khiển
đi qua
bit: I, Q, M, SM,
T, C, V
=I bit
Cuộn dây đầu ra ở trạng thái
ON tức thời khi có dòng điện bit: Q
Trang 263.4.2 Các lệnh ghi/xóa giá trị cho tiếp điểm.
Lệnh này dùng để đóng và ngắt các điểm gián đoạn đã được thiết kế Khi dòng điều khiển đến các cuộn dây thì các cuộn dây đóng hoặc mở các tiếp điểm (hoặc một dãy các tiếp điểm)
(n <= 128 tiếp điểm)
SI bit, n
Set tức thời 1 mảng gồm n tiếp điểm, tính từ tiếp điểm
"bit" (n <= 128 tiếp điểm)
RI bit, n
Reset tức thời 1 mảng gồm n tiếp điểm, tính từ tiếp điểm
"bit" (n <= 128 tiếp điểm)
Trang 27Giáo trình PLC S7-200
3.4.3 Các lệnh tiếp điểm đặc biệt.
Có thể dùng lệnh tiếp điểm đặc biệt để phát hiện sự chuyển tiếp trạng thái của xung (sườn xung) và đảo lại trạng thái dòng cung cấp (giá trị của đỉnh ngăn xếp) LAD
sử dụng các tiếp điểm đặc biệt để tác động vào dòng cung cấp Các tiếp điểm đặc biệt không có toán hạng riêng Vì vậy phải đặt chúng vào vị trí phía trước của cuộn dây hoặc họp đầu ra
Các lệnh tiếp điểm đặc biệt được biểu diễn trong LAD:
Tiếp điểm đảo trạng thái của dòng cung cấp Nếu dòng cung cấp có tiếp điểm đảo thì nó bị ngắt mạch, nếu không có tiếp điểm đảo thì nó thông mạch
Không có
Tiếp điểm chuyển đổi dương, cho phép thông mạch trong một vòng quét khi sườn xung điều khiển chuyển từ 0 lên 1
Không có
Tiếp điểm chuyển đổi âm, cho phép thông mạch trong một vòng quét khi sườn xung điều khiển chuyển từ 1 xuống 0
Không có
ED
Lệnh nhận biết sự chuyển tiếp trạng thái từ 1 xuống 0 trong một vòng quét của đỉnh ngăn xếp Khi nhận được sự chuyển tiếp như vậy đỉnh ngăn xếp sẽ có giá trị bằng 1 trong một vòng quét
Không có
NOT
P
N
Trang 283.4.4 Lệnh nhảy và lệnh gọi chương trình con.
Các lệnh của chương trình, nếu không có những lệnh điều khiển riêng, sẽ được thực hiện theo thứ tự từ trên xuống dưới trong một vòng quét Lệnh điều khiển chương trình cho phép thay đổi thứ tự thực hiện lệnh Chúng cho phép chuyển thứ tự thực hiện, đáng lẽ ra là lệnh tiếp theo, tới một lệnh bất cứ nào khác của chương trình, trong
đó nơi điều khiển chuyển đến phải được đánh dấu trước bằng một nhãn, chỉ đích Thuộc nhóm lệnh điều khiển chương trình gồm: lệnh nhảy, lệnh gọi chương trình con Nhãn chỉ đích, hay gọi đơn giản là nhãn phải được đánh dấu trước khi thực hiện lệnh nhảy hay lệnh gọi chương trình con
Việc đặt nhãn cho lệnh nhảy phải nằm trong chương trình Nhãn của chương trình con, hoặc của chương trình xử lý ngắt được khai báo ở đầu chương trình Không thể dùng lệnh nhảy JMP để chuyển điều khiển từ chương trình chính vào một nhãn bất
kỳ trong chương trình con hoặc trong chương trình xử lý ngắt Tương tự như vậy cũng không thể từ một chương trình con hay chương trình xử lý ngắt nhảy vào bất cứ một nhãn nào nằm ngoài các chương trình đó
Lệnh gọi chương trình con là lệnh chuyển điều khiển đến chương trình con Khi chương trình con thực hiện xong các phép tính của mình thì việc điều khiển lại được chuyển trở về lệnh tiếp theo trong chương trình chính nằm ngay sau lệnh gọi chương trình con Từ một chương trình con có thể gọi được một chương trình con khác trong
nó, có thể gọi như vậy nhiều nhất là 8 lần trong S7-200
JMP n
Lệnh nhảy thực hiện việc chuyển điều khiển đến nhãn n trong một chương trình
chương trình
CALL SBR_0
Lệnh gọi chương trình con, thực hiện phép chuyển điều khiển đến chương trình con có nhãn là SBR_0
chương trình con
Trang 29Giáo trình PLC S7-200
Ví dụ về lệnh nhảy:
3.4.5 Các lệnh can thiệp vào thời gian vòng quét.
Gồm các lệnh: END, STOP, NOP
Các lệnh này được dùng để kết thúc chương trình đang thực hiện, và kéo dài khoảng thời gian của một vòng quét
Lệnh END dùng để kết thúc chương trình chính hiện hành
Lệnh STOP kết thúc chương trình, nó chuyển điều khiển chương trình đến chế
độ STOP Nếu gặp lệnh STOP trong chương trình chính hoặc trong chương trình con thì chương trình đang thực hiện sẽ được kết thúc ngay lập tức Nếu gặp lệnh STOP trong chương trình xử lý ngắt thì chương trình xử lý ngắt sẽ kết thúc ngay lập tức và tất cả các tín hiệu ngắt đang chờ xử lý sau đó đều bị bỏ qua và không thực hiện
Lệnh rỗng NOP không có tác dụng gì trong việc thực hiện chương trình