Sự phát triển của hệ thống phần cứng và phần mềm từ năm 1975cho đến nay đã làmcho hệ thống PLC phát triển mạnh mẽ hơn với các chức năng mở rộng: hệ thống ngõvào/ra có thể tăng lên đến 8.
Trang 1MỤC LỤC
LỜI CẢM ƠN 5
CHƯƠNG I GIỚI THIỆU VỀ PLC 6
1.1 SƠ LƯỢC VỀ LỊCH SỬ PHÁT TRIỂN 6
1.2 CẤU TRÚC VÀ NGHIÊN CỨU HOẠT ĐỘNG CỦA MỘT PLC 7
1.2.1.Cấu trúc 7
1.2.2.Hoạt động của một PLC 7
1.3 Phân loại PLC 9
1.3.1 Lo ại 1 : Micro PLC (PLC siêu nhỏ) 9
1.3.2 Lo ại 2 : PLC cỡ nhỏ (Small PLC) 9
1.3.3.Loại 3 : PLC cỡ trung bình (Medium PLCS) 10
1.3.4.Loại 4: PLC cỡ lớn (large PLC) 11
1.3.5 Loại : PLC rất lớn (very large PLCs) 12
1.4.SO SÁNH PLC VỚI CÁC HỆ THỐNG ĐIỀU KHIỂN KHÁC LỢI ÍCH CỦA VIỆC SỬ
DỤNG PLC 12
1.4.1.Việc sử dụng PLC và các hệ thống điều khiển khác 12
1.4.2.Lợi ích của việc sử dụng PLC 13
1.5 MỘT VÀI LĨNH VỰC TIÊU BIỂU ỨNG DỤNG PLC 14
Chương 2: PHÉP TOÁN NHỊ PHÂN 15
2.1.Tiếp điểm thường mở, thường đóng, cảm biến, ký hiệu 15
2.2.Các liên kết nhị phân – Đại số Boolean 15
2.3.Lênh Set & Reset 16
2.4.Set / Reset một FLIP FLOP 16
2.5.Lệnh Nhảy – JUMP 17
2.5.1.Nhảy không điều kiện 17
2.5.2 Lệnh nhảy có điều kiện 18
2.6.Nhận biết cạnh tín hiệu 18
2.6.1.Nhận biết tín hiệu cạnh lên – POS (P) 18
Trường TCN KTCN Hùng
Vương
TT Cơ Điện Tử
1
Trang 22.6.2.Nhận biết tín hiệu cạnh xuống – NEG (N) 19
Trang 33.2.Timer 20
3.2.1.Trễ theo sườn lên không có nhớ - SD ( On Delay Timer) 20
3.2.2.Trễ theo sườn lên có nhớ - SS ( Retentive On Delay Timer) 21
3.2.3.Timer tạo xung không có nhớ ( Pulse Timer – SP) 22
3.2.4.Timer tạo xung có nhớ - SE ( Extended Pulse Timer) 22
3.2.5.Timer trễ theo sườn xuống 23
3.3.Bộ đếm (Counter) 23
3.3.1.Nguyên tắc làm việc 23
3.3.2.Khai báo sử dụng 24
3.3.3.Bộ đếm câu lệnh Bit 25
3.4.Phép Toán Chuyển Đổi 25
3.4.1.Phép toán chuyển đổi BCD và I 26
3.4.2.Phép toán chuyển đổi BCD và DI 27
3.4.3.Phép toán chuyển đổi I – DI – REAL 28
3.5.Phép so sánh – CMP 29
3.6.Các phép toán Logic 29
3.6.1.Phép toán Logic AND – WAND_W 29
3.6.2.Phép toán Logic OR – WOR_W 30
3.6.2 Phép toán Logic XOR – WXOR_W 30
3.7.Các Phép Toán Học Cơ Bản 31
3.8.Lệnh dịch chuyển – Shift 32
3.9.Lệnh Xoay Doubleword 33
Chương 4: XỬ LÝ TÍN HIỆU ANALOG 34
4.1.Sử dụng các Module Analog 34
4.2.Module đo lường 34
4.3.Định tỉ lệ ngõ vào Analog 35
4.4.Định tỉ lệ ngõ ra Analog 36
Chương 5: MỘT SỐ KHỐI HÀM CƠ BẢN 38
5.1.Khối hàm Byte & Bit 38
5.1.1.Đặt một loạt Byte ngõ ra lập tức FC101 38
5.1.2.Đặt một loạt Bit ngõ ra FC83 39
2 K.Sư Trần Văn Hiếu
Email: tranhieu.hungvuong@gmail.com
161 – 165 Nguyễn Chí Thanh, Phường 12, Quận
5
Trang 45.1.3.Xóa một loạt Byte lập tức FC100 40
5.1.4.Xóa một loạt bit FC82 41
5.2.Hàm chuyển đổi 42
5.2.1.Giải mã 7 đoạn FC93 42
5.2.2.Hàm đổi tầm Scale FC105 43
5.2.3.Hàm đổi tầm ngược UnScale FC106 44
Chương 6: GIỚI THIỆU PHẦN MỀM STEP7 45
6.1 Giới thiệu chung về STEP7 45
6.2 Cài đặt phần mềm STEP 7 V5.4 47
6.3 Soạn thảo một Project 52
6.3.1 Khai báo và mở một Project 53
6.3.2 Xây dựng cấu hình cứng cho trạm PLC 54
6.3.3 Đặt tham số quy định chế độ làm việc cho module 56
6.3.4 Soạn thảo chương trình cho các khối logic 57
6.4 Làm việc với PLC 60
6.4.1 Quy định địa chỉ MPI cho module CPU 60
6.4.2 Ghi chương trình lên module CPU 61
6.4.3 Giám sát việc thực hiện chương trình 62
6.4.4 Giám sát module CPU 64
6.4.5 Giám sát nội dung ô nhớ 65
PHỤ LỤC 1 67
I.VÙNG NHỚ PLC S7 – 300 67
II.HƯỚNG DẪN SỬ DỤNG SIMULATION 69
III.BÀI TẬP 74
M Ở Đ ẦU 74
Counter v à Timer 75
ĐIỀU KHIỂN ĐỘNG CƠ 77
Bài tập nâng cao 77
Phương pháp lập trình Grafcet 79
BÀI TẬP ỨNG DỤNG 81
PHỤ LỤC 2 – TRẠM MPS 88
4 K.Sư Trần Văn Hiếu
Email: tranhieu.hungvuong@gmail.com
161 – 165 Nguyễn Chí Thanh, Phường 12, Quận
5
Trang 5I.DISTRIBUTION STATION – TRẠM CUNG CẤP 88
II.TESTING STATION – TRẠM KIỂM TRA 98
III.PROCESSING STATION – TRẠM GIA CÔNG 110
IV HANDLING STATION – TRẠM TAY GẮP 117
V SORTING STATION – TRẠM PHÂN LOẠI 126
PHỤ LỤC 3 – MỘT SỐ ĐỀ THI THAM KHẢO 135
ĐỀ THI THỰC HÀNH 135
ĐỀ THI THỰC HÀNH 139
ĐỀ THI THỰC HÀNH 143
ĐỀ THI THỰC HÀNH 148
TÀI LIỆU THAM KHẢO 152
5 K.Sư Trần Văn Hiếu
Email: tranhieu.hungvuong@gmail.com
161 – 165 Nguyễn Chí Thanh, Phường 12, Quận
5
Trang 6LỜI CẢM ƠN
Với sự phát triển công nghệ hiện nay, đặc biệt là trong lĩnh vực tự động hóa thì PLC và những ứng dụng đóng một vai trò rất quan trọng và chủ chốt trong hệ thống tự động hóa
Với mục đích đào tạo đội ngũ thuật viên chất lượng cao và chuẩn hóa được tài liệu cho mọi người muốn tìm hiểu, nghiên cứu về PLC Những mong muốn làm thế nào để mọi người có thể cùng nghiên cứu và đưa ứng dụng PLC vào sản xuất.Với những kiến thức và hiểu biết về lĩnh vực PLC Siemens, những tài liệu tham khảo trực tiếp của hãng Siemens, tài liệu về hệ thống MPS của hãng Festo đã giúptôi hoàn thiện tài liệu PLC S7 – 300 cho hệ thống MPS
Trong quá trình làm việc và nghiên cứu tại Trường TCN – KTCN Hùng Vương được sự giúp đỡ tận tình từ nhà trường, đặc biệt là Thầy Phạm Phú Thọ để tôi hoànthành tài liệu này Xin chân thành cám ơn Thầy luôn động viên và giúp đỡ em về tinh thần lẫn kiến thức chuyên môn để em hoàn thành tốt cuốn sách này
Những kiến thức của tôi cũng chỉ nhỏ bé và mong cùng trao đổi, học hỏi và cùngchia sẻ với mọi người trong cùng lĩnh vực Nếu có sai sót và bổ sung mong sự giúp đỡ của tất cả những bạn bè trong cùng lĩnh vực giúp
Thân chào và chân thành cám ơnTP.HCM, tháng 2 năm 2011
K.Sư Trần Văn Hiếu
Trang 7CHƯƠNG I GIỚI THIỆU VỀ PLC
Thiết bị điều khiển lập trình đầu tiên (programmable controller) đã được những nhàthiết kế cho ra đời năm 1968 (Công ty General Moto - Mỹ) Tuy nhiên, hệ thống này cònkhá đơn giản và cồng kềnh, người sử dụng gặp nhiều khó khăn trong việc vận hành hệthống Vì vậy các nhà thiết kế từng bước cải tiến hệ thống đơn giản, gọn nhẹ, dễ vận hành,nhưng việc lập trình cho hệ thống còn khó khăn, do lúc này không có các thiết bị lập trìnhngoại vi hổ trợ cho công việc lập trình
Để đơn giản hóa việc lập trình, hệ thống điều khiển lập trình cầm tay (programmablecontroller handle) đầu tiên được ra đời vào năm 1969 Điều này đã tạo ra một sự phát triểnthật sự cho kỹ thuật điều khiển lập trình Trong giai đoạn này các hệ thống điều khiển lậptrình (PLC) chỉ đơn giản nhằm thay thế hệ thống Relay và dây nối trong hệ thống điềukhiển cổ điển Qua quá trình vận hành, các nhà thiết kế đã từng bước tạo ra được một tiêuchuẩn mới cho hệ thống, tiêu chuẩn đó là :Dạng lập trình dùng giản đồ hình thang (Thediagroom format) Trong những năm đầu thập niên 1970, những hệ thống PLC còn cóthêm khả năng vận hành với những thuật toán hổ trợ (arithmetic), “vận hành với các dữliệu cập nhật” (data manipulation) Do sự phát triển của loại màn hình dùng cho máy tính(Cathode Ray Tube: CRT), nên việc giao tiếp giữa người điều khiển để lập trình cho hệthống càng trở nên thuận tiện hơn
Sự phát triển của hệ thống phần cứng và phần mềm từ năm 1975cho đến nay đã làmcho hệ thống PLC phát triển mạnh mẽ hơn với các chức năng mở rộng: hệ thống ngõvào/ra có thể tăng lên đến 8.000 cổng vào/ra, dung lượng bộ nhớ chương trình tăng lênhơn 128.000 từ bộ nhớ (word of memory) Ngoài ra các nhà thiết kế còn tạo ra kỹ thuật kếtnối với các hệ thống PLC riêng lẻ thành một hệ thống PLC chung, tăng khả năng của từng
hệ thống riêng lẻ Tốc độ xử lý của hệ thống được cải thiện, chu kỳ quét (scan) nhanh hơnlàm cho hệ thống PLC xử lý tốt với những chức năng phức tạp số lượng cổng ra/vào lớn.Trong tương lai hệ thống PLC không chỉ giao tiếp với các hệ thống khác thông quaCIM Computer Intergrated Manufacturing) để điều khiển các hệ thống: Robot,Cad/Cam… ngoài ra các nhà thiết kế còn đang xây dựng các loại PLC với các chức năngđiều khiển “thông minh” (intelligence) còn gọi là các siêu PLC (super PLCS) cho tươnglai
Trang 8Hình 1.1 : Sơ đồ khối của hệ thống điều khiển lập trình
Khối điều khiển trung tâm (CPU) gồm ba phần: bộ xử lý, hệ thống bộ nhớ và hệthống nguồn cung cấp Hình 1.2 mô tả ba phần cấu thành một PLC
Hình 1.2 : Sơ đồ khối tổng quát của CPU1.2.2 Hoạt động của một PLC
Về cơ bản hoạt động của một PLC cũng khá đơn giản Đầu tiên, hệ thống các cổngvào/ra (Input/Output) (còn gọi là các Module xuất /nhập) dùng để đưa các tín hiệu từ cácthiết bị ngoại vi vào CPU (như các sensor, công tắc, tín hiệu từ động cơ …) Sau khi nhậnđược tín hiệu ở ngõ vào thì CPU sẽ xử lý và đưa các tín hiệu điều khiển qua Module xuất
ra các thiết bị được điều khiển
Trong suốt quá trình hoạt động, CPU đọc hoặc quét (scan) dữ liệu hoặc trạng thái củathiết bị ngoại vi thông qua ngõ vào, sau đó thực hiện các chương trình trong bộ nhớ như
I N
P U T
S
Central Processing Unit
Trang 9sau: một bộ đếm chương trình sẽ nhặt lệnh từ bộ nhớ chương trình đưa ra thanh ghi lệnh
để thi hành Chương trình ở dạng STL (StatementList – Dạng lệnh liệt kê) sẽ được dịch ra
Trang 10Read input (Đọc ngõ vào)
Pro (Th
ngôn ngữ máy cất trong bộ nhớ chương trình Sau khi thực hiện xong chương trình, CPU
sẽ gởi hoặc cập nhật (Update) tín hiệu tới các thiết bị, được thực hiện thông qua modulexuất Một chu kỳ gồm đọc tín hiệu ở ngõ vào, thực hiện chương trình và gởi cập nhật tínhiệu ở ngõ ra được gọi là một chu kỳ quét (Scanning)
Trên đây chỉ là mô tả hoạt động đơn giản của một PLC, với hoạt động này sẽ giúpcho người thiết kế nắm được nguyên tắc của một PLC Nhằm cụ thể hóa hoạt động củamột PLC, sơ đồ hoạt động của một PLC là một vòng quét (Scan) như sau:
ra trong “chương trình nội” (đã được lập trình), các bước logic này sẽ chuyển đổiON/OFF Tuy nhiên lúc này các tín hiệu ở ngõ ra “that” (tức tín hiệu được đưa ra tạimodul out) vẫn chưa được đưa ra Khi xử lý kết thúc chương trình xử lý, việc chuyển đổicác mức logic (của các tiếp điểm) đã hoàn thành thì việc cập nhật các tín hiệu ở ngõ ra mớithực sự tác động lên ngõ ra để điều khiển các thiết bị ở ngõ ra
Thường việc thực thi một vòng quét xảy ra với một thời gian rất ngắn, một vòng quétđơn (single scan) có thời gian thực hiện một vòng quét từ 1ms tới 100ms Việc thực hiệnmột chu kỳ quét dài hay ngắn còn phụ thuộc vào độ dài của chương trình và cả mức độgiao tiếp giữa PLC với các thiết bị ngoại vi (màn hình hiển thị…) Vi xử lý có thể đọcđược tín hiệu ở ngõ vào chỉ khi nào tín hiệu này tác động với khoảng thời gian lớn hơnmột chu kỳ quét thì vi xử lý coi như không có tín hiệu này Tuy nhiên trong thực tế sảnxuất, thường các hệ thống chấp hành “là các hệ thống cơ khí nên có tốc độ quét như trên
có thể đáp ứng được các chức năng của dây chuyền sản xuất Để khắc phục thời gian quétdài, ảnh hưởng đến chu trình sản xuất các nhà thiết kế còn thiết kế hệ thống PLC cập nhật
Trang 11tức thời, các hệ thống này thường được áp dụng cho các PLC lớn có số lượng I/O nhiều, truy cập và xử lý lượng thông tin lớn.
ra tương tự (Analog) Thường người sử dụng các loại PLC thuộc vùng chồng lấn nhằmtăng tính năng của PLC đồng thời lại giảm thiểu số lượng I/O không cần thiết
Các nhà thiết kế phân PLC ra thành các loại sau
1.3.1.Loại 1 : Micro PLC (PLC siêu nhỏ)
Micro PLC thường được ứng dụng trong các dây chuyền sản xuất nhỏ, các ứng dụngtrực tiếp trong từng thiết bị đơn lẻ (ví dụ: điều khiển băng tải nhỏ Các PLC này thườngđược lập trình bằng các bộ lập trình cầm tay, một vài micro PLC còn có khả năng hoạtđộng với tín hiệu I/O tương tự (analog) (ví dụ:việc điều khiển nhiệt độ) Các tiêu chuẩucủa một Micro PLC như sau:
Trang 12Có 128 ngõ vào/ra (I/O).
Dùng vi xử lý 8 bit
Thường dùng để thay thế các role
Dùng bộ nhớ 2K
Lập trình bằng ngôn ngữ dạng hình thang (ladder) hoặc liệt kê
Có timers/counters/thanh ghi dịch (shift registers)
Đồng hồ thời gian thực
Thường được lập trình bằng bộ lập trình cầm tay
Chú ý vùng A trong sơ đồ hình 1.4 Ở đây dùng PLC nhỏ với các chức năng tăngcường của PLC cở lớn hơn như: Thực hiện được các thuật toán cơ bản, có thể nối mạng,cổng vào ra có thể sử dụng tín hiệu tương tự
Hình 1.4 : Cách dùng các loại PLC.
1.3.3 Loại 3 : PLC cỡ trung bình (Medium PLCS)
PLC trung bình có hơn 128 đường vào/ra, điều khiển được các tín hiệu tương tự,xuất nhập dữ liệu, ứng dụng dược những thuật toán, thay đổi được các đặc tính của PLCnhờ vào hoạt động của phần cứng và phần mềm (nhất là phần mềm) các thông số của PLCtrung bình như sau:
_ Có khoảng 1024 ngõ vào/ra (I/O)
_ Dùng vi xử lý 8 bit
_ Thay thế rơle và điều khiển được tín hiệu tương tự
Trang 13_ Bộ nhớ 4K, có thể nâng lên 8K.
_ Tín hiệu ngõ vào ra là tương tự hoặc số
_ Có các lệnh dạng khối và ngôn ngữ lập trình là ngôn ngữ cấp cao
_ Có timers/Counters/Shift Register
_ Có khả năng xử lý chương trình con (qua lệnh JUMP…)
_ Có các lệnh dạng khối và ngôn ngữ lập trình là ngôn ngữ cấp cao
_ Có timers/counters/Shift Register
_ Có khả năng xử lý chương trình con ( qua lệnh JUMP…)
_ Thực hiện các thuật toán (cộng, trừ, nhân, chia…)
_ Giới hạn dữ liệu với bộ lập trình cầm tay
_ Có đường tín hiệu đặc biệt ở module vào/ra
_ Giao tiếp với các thiết bị khác qua cổng RS232
_ Có khả năng hoạt động với mạng
_ Lập trình qua CRT (Cathode Ray Tube) để dễ quan sát
Chú ý tới vùng B (hình 1.4) PLC ở vùng B thường trực được dùng do có nhiều bộ nhớ hơn, điều khiển mạng PID có khả năng thực hiện những chuỗi lệnh phần lớn về thuật toán hoặc quản lý dữ liệu
1.3.4 Loại 4: PLC cỡ lớn (large PLC)
Large PLC được sử dụng rộng rãi hơn do có khả năng hoạt động hữu hiệu, có thểnhận dữ liệu, báo những dữ liệu đã nhận… Phần mềm cho thiết bị điều khiển cầm tayđược phát triển mạnh hơn tạo thuận lợi cho người sử dụng Tiêu chuẩn PLC cỡ lớn:Ngoài các tiêu chuẩn như PLC cỡ trung, PLC cỡ lớn còn có thêm các tiêu chuẩn sau:_ Có 2048 cổng vào/ra (I/O)
_ Dùng vi xử lý 8 bit hoặc 16 bit
_ Bộ nhớ cơ bản có dung lượng 12K, mở rộng lên được 32K
_ Local và remote I/O
_ Điều khiển hệ thống role (MCR: Master Control Relay)
_ Chuỗi lệnh, cho phép ngắt (Interrupts)
_ PID hoặc làm việc với hệ thống phần mềm PID
_ Hai hoặc nhiều hơn cổng giao tiếp RS 232
Trang 14_ Nối mạng.
_ Dữ liệu điều khiển mở rộng, so sánh, chuyển đổi dữ liệu, chức năng giải thuật toán
mã điều khiển mở rộng (mã nhị phân, hexa …)
_Có khả năng giao tiếp giữa máy tính và các module
1.3.5 Loại : PLC rất lớn (very large PLCs)
Very large PLC được dùng trong các ứng dụng đòi hỏi sự phức tạp và chính xát cao,đồng thời dung lượng chương trình lớn Ngoài ra PLC loại này còn có thể giao tiếp I/Ovới các chức năng đặc biệt, tiêu chuan PLC loại này ngoài các chức năng như PLC loạilớn còn có thêm các chức năng:
_ Có8192 cổng vào/ra (I/O)
_ Dùng vi xử lý 16 bit hoặc 32 bít
_ Bộ nhớ 64K, mở rộng lên được 1M
_ Thuật toán :+, -, *, /, bình phương
_ Dữ liệu điều khiển mở rộng : Bảng mã ASCII, LIFO, FIFO
1.4 SO SÁNH PLC VỚI CÁC HỆ THỐNG ĐIỀU KHIỂN KHÁC LỢI ÍCH
CỦA VIỆC SỬ DỤNG PLC
1.4.1 Việc sử dụng PLC và các hệ thống điều khiển khác
1.4.1.1 PLC với hệ thống điều khiển bằng rơle
Việc phát triển hệ thống điều khiển bằng lập trình đã dần thay thế từng bước hệthống điều khiển bằng role trong các quá trình sản suất khi thiết kế một hệ thống điềukhiển hiện đại, người kỹ sư phải cân nhắc, lựa chọn giữa các hệ thống điều khiển lậptrình thường được sử dụng thay cho hệ thống điều khiển bằng rơ le do các nguyên nhânsau:
_ Thay đổi trình tự điều khiển một cách linh động
_ Có độ tin cậy cao
_ Khoản không lắp đặc thiết bị nhỏ, không chiếm diện tích
_ Có khả năng đưa tín hiệu điều khiển ở ngõ ra cao
_ Sự chọn lựa dữ liệu một cách thuận lợi dễ dàng
_ Thay đổi trình tự điều khiển một cách thường xuyên
_ Dễ dàng thay đổi đối với cấu hình (hệ thống máy móc sản xuất) trong tương lai khi
có nhu cầu mở rộng sản xuất
Trang 15Đặc trưng cho hệ thống điều khiển chương trình là phù hợp với những nhu cầu đãnêu trên, đồng thời về mặt kinh tế và thời gian thì hệ thống điều khiển lập trình cũng vượttrội hơn hệ thống điều khiển cổ điển (rơle, contactor …) Hệ thống điều khiển này cũngphù hợp với sự mở rộng hệ thống trong tương lai do không phải đổi, bỏ hệ thống dây nối
giữa hệ thống điều khiển và các thiết bị, mà chỉ đơn giản là thay với máy tính.
Cấu trúc giữa máy đổi chương trình cho phù hợp với điều kiện sản xuất mới
1.4.1.2 PLC tính với PLC đều dựa trên bộ xử lý (CPU) để xử lý dữ liệu Tuy nhiên có một vài
cấu trúc quan trọng cần phân biệt để thấy rõ sự khác biệc giữa một PLC và một máy tính._ Không như một máy tính PLC được thiết kế đặc biệc để hoạt động trong môitrường công nghiệp Một PLC có thể được lắp đặc ở những nơi có độ nhiểu điện cao(Electrical noise), vùng có từ trường mạnh, có các chấn động cơ khí, nhiệt độ môi trườngcao …
_ Điều quan trọng thứ hai đó là: Một PLC được thiết kế với phần cứng và phầnmềm sao cho dễ lắp đặc (đối với phần cứng), đồng thời về một chương trình cũng phải dễdàng để người sử dụng (kỹ sư, kỹ thuật viên) thao tác lập trình một cách nhanh chóng,thuận lợi (ví dụ: lập trình bằng ngôn ngữ hình thang …)
1.4.1.3 PLC với máy tính cá nhân (PC :Personal Coomputers).
Đối với một máy tính cá nhân (PC), người lập trình dễ nhận thấy được sự khác biệcgiữa PC với PLC, sự khác biệt có thể biết được như sau:
Máy tính không có các cổng giao tiếp tropic tiếp với các thiết bị điều khiển, đồngthời máy tính cũng hoạt động không tốt trong môi trường công nghiệp
Ngôn ngữ lập trình trên máy tính không phải dạng hình thang, máy tính ngoài việc
sử dụng các phần mềm chuyên biệc cho PLC, còn phải thông qua việc sử dụng các phầnmềm khác làm “chậm” đi quá trình giao tiếp với các thiết bị được điều khiển
Tuy nhiên qua máy tính, PLC có thể dể dàng kết nối với các hệ thống khác, cũngnhư PLC có thể sử dụng bộ nhớ (có dung lượng rất lớn) của máy tính làm bộ nhớ củaPLC
1.4.2 Lợi ích của việc sử dụng PLC
Cùng với sự phát triển của phần cứng lẫn phần mềm, PLC ngày càng tăng được cáctính năng cũng như lợi ích của PLC trong hoạt động công nghiệp Kích thước của PLChiện nay được thu nhỏ lại để bộ nhớ và số lượng I/O càng nhiều hơn, các ứng dụng củaPLC càng mạnh hơn giúp người sử dụng giải quyết được nhiều vấn đề phức tạp trongđiều khiển hệ thống
Lợi ích đầu tiên của PLC là hệ thống điều khiển chỉ cần lắp đặc một lần (đối với sơ
đồ hệ thống, các đường nối dây, các tính hiệu ở ngõ vào/ra …), mà không phải thay đổikết cấu của hệ thống sau này, giảm được sự tốn kém khi phải thay đổi lắp đặt khi đổi thứ
tự điều khiển (đối với hệ thống điều khiển relay …) khả năng chuyển đổi hệ điều khiển
Trang 16cao hơn (như giao tiếp giữa các PLC để truyền dữ liệu điều khiển lẫn nhau), hệ thốngđược điều khiển linh hoạt hơn.
Không như các hệ thống cũ, PLC có thể dể dàng lắp đặc do chiếm một khoảngkhông gian nhỏ hơn nhưng điều khiển nhanh, nhiều hơn các hệ thống khác Điều nàycàng tỏ ra thuận lợi hơn đối với các hệ thống điều khiển lớn, phức tạp, và quá trình lắp đặt
hệ thống PLC ít tốn thời gian hơn các hệ thống khác
Cuối cùng là người sử dụng có thể nhận biết các trục trặc hệ thống của PLC nhờgiao diện qua màn hình máy tính (một số PLC thế hệ sau có khả năng nhận biết các hỏnghóc (trouble shoding) của hệ thống và báo cho người sử dụng), điều này làm cho việc sửachữa thuận lợi hơn
1.5 MỘT VÀI LĨNH VỰC TIÊU BIỂU ỨNG DỤNG PLC
Hiện nay PLC đã được ứng dụng thành công trong nhiều lĩnh vựt sản xuất cả trongcông nghiệp và dân dụng Từ những ứng dụng để điều khiển các hệ thống đơn giản, chỉ cóchức năng đóng mờ (ON/OFF) thông thường đến các ứng dụng cho các lĩnh vực phứctạp, đòi hỏi tính chính xác cao, ứng dụng các thuật toán trong quá trình sản xuất Các lĩnhvực tiêu biểu ứng dụng PLC hiện nay bao gồm:
_ Hóa học và dầu khí: định áp suất (dầu), bơm dầu, điều khiển hệ thống ống dẫn, cânđông trong nghành hóa …
_ Chế tạo máy và sản xuất: Tự động hoá trong chế tạo máy, cân đông, quá trình lắpđặc máy, điều khiển nhiệt độ lò kim loại…
_ Bột giấy, giấy, xử lý giấy Điều khiển máy băm, quá trình ủ boat, quá trình cáng,gia nhiệt …
_ Thủy tinh và phim ảnh: quá trình đóng gói, thou nghiệm vật liệu, cân đong, cáckhâu hoàn tất sản phẩm, đo cắt giấy
_ Thực phẩm, rượu bia, thuốc lá: đếm sản phẩm, kiểm tra sản phẩm, kiểm soát quátrình sản xuất, bơm (bia, nước trái cây …) cân đông, đóng gói, hòa trộn …
_ Kim loại: Điều khiển quá trình cán, cuốn (thép), qui trình sản xuất, kiểm tra chấtlượng
_ Năng lượng: Điều khiển nguyên liệu (cho quá trình đốt, xử lý trong các turbin …)các trạm cần hoạt động tuầu tự khai thác vật liệu một cách tự động (than, gỗ, dầumỏ)
Trang 17Chương 2: PHÉP TOÁN NHỊ PHÂN
2.1 Tiếp điểm thường mở, thường đóng, cảm biến, ký hiệu
trạng tínhiệungõvào
Kiểm tra tình trạngtín hiệu “1” Kiểm tra tình trạngtín hiệu “0”
2.2 Các liên kết nhị phân – Đại số Boolean
Trang 182.3 Lênh Set & Reset
Kết quả: Kết quả có đƣợc khi chuyển kết quả liên kết (RLO) tới một địa chỉ cụ thể (Q, M, D) Nếu giá trị kết quả (RLO) thay đổi thì trạng thái tín hiệu của địa chỉ đó cũng thayđổi theo
Set : Nếu RLO = “1” địa chỉ cụ thể đƣợc đặt ở mức “1” và duy trì trạng thí
này cho đến khi nó bị RESET bằng một lệnh khác
Reset : Nếu RLO = “1” địa chỉ cụ thể đƣợc đặt ở mức “0” và duy trì trạng thí này cho đến khi nó bị RESET bằng một lệnh khác
2.4 Set / Reset một FLIP FLOP
Flip Flop : Một Flip Flop có một ngõ vào Set & một ngõ vào Reset, Bit nhớ đƣợc Set hoặc Reset phụ thuộc vào ngõ nào có RLO =1 Và nếu cả 2 ngõ đều có RLO = 1 thì cần xét
sự ƣu tiên
RS Flip Flop ƣu tiên Set
SR Flip Flop ƣu tiên Reset
Trang 192.5 Lệnh Nhảy – JUMP
2.5.1 Nhảy không điều kiện
Lệnh nhảy JMP: Nhãn nhảy có thể có tới 4 ký tự, ký tự đầu tiên phải là một chữ cái hoặc ký
tự “-”
Nhãn nhảy đánh dấu điểm tiếp tục làm việc của chương trình Bất kỳ lệnh nhảy và điểm nhảy tới phải ở trong một khối ( Độ dài lớn nhất của lệnh nhảy = 64kbyte) Đích nhảytới chỉ xuất hiện một lần trong khối
Lệnh nhảy có thể sử dụng trong OB, FB và FC
Chèn nhãn nhảy: program Elements / Logic control / JUMP / Label
Trang 20JMP :Một lệnh nhảy không điều kiện làm cho việc xử lý chương trình nhảy đến nhãn nhảy bất chấp RLO.
Chú ý : Tên nhãn phải giống nhau và phân biệt chữ hoa & chữ thường.
2.5.2 Lệnh nhảy có điều kiện
JMP : Nhảy có điều kiện “ JMP” chỉ nhảy được thi hành nếu RLO = “1” Ngoài ra còn có lệnh “JMPN” = JUMP NOT được thực hiện khi RLO =
“0”
2.6 Nhận biết cạnh tín hiệu
Một “cạnh tín hiệu” xuất hiện khi tín hiệu thay đổi
2.6.1 Nhận biết tín hiệu cạnh lên – POS (P)
Trang 21Nếu tình trạng tín hiệu I0.1 x I0.2 thay đổi từ “0” lên “1” thì kết quả của lệnh (P) ở trạng thái “1” tại ngõ M1.1 trong một chy kỳ Giá trị của việc phát hiện cạnh lên được lưu trữ tại M1.1
2.6.2 Nhận biết tín hiệu cạnh xuống – NEG (N)
Nếu tình trạng tín hiệu I0.1 & I0.2 thay đổi trạng thái từ “1” xuống “0” thì kết quả của lệnhNEG (N) ở trạng thái “1” trong một chu kỳ
Trang 22Chương 3: PHÉP TOÁN SỐ HỌC
3.1 Nạp và truyền dữ liệu
được chép tới địa chỉ ngõ ra “OUT”
Ngõ “ENO” có tình trạng tín hiệu giống như “EN”
3.2 Timer
S7 – 300 có 5 loại Timer được khai báo bằng các
lệnh: SD : Trễ theo sườn lên không có nhớ
SS : Trễ theo sườn lên có
3.2.1 Trễ theo sườn lên không có nhớ - SD ( On Delay Timer)
- Độ phân giải Timer : Có các độ phân giải là ms, s ( giây), m ( phút), h ( giờ)
- Giải thích lệnh: Khi có tín hiệu Enable = 1 ( hay khi có sườn lên của tín hiệu Enable đồng thời tín hiệu vào bằng 1) ngay sau đó giá trị PV (Put Value) chuyển vào thanh ghi
Trang 23T – word (CV) Trong khoảng thời gian trễ T – bit có giá trị 0 Khi hết thời gian trễ T – bit có giá trị bằng 1.
Khi tín hiệu vào bằng 0, T –bit và T – word cũng nhận giá trị 0
Ví dụ : Khi I0.1 chuyển chế độ từ 0 lên “1” ( I0.1 = 1) thì sau khoảng thời gian trễ T = 100ms thì T0 =1
3.2.2 Trễ theo sườn lên có nhớ - SS ( Retentive On Delay Timer)
- Độ phân giải Timer : Có các độ phân giải là ms, s ( giây), m ( phút), h ( giờ)
Trang 24Ví dụ: Khi tín hiệu I0.2 chuyển trạng thái từ “0” lên “1” thì sau khoảng thời gian T = 10sthì T1 ON ( mức 1) Khi T1 đã ON thì nó không bị ảnh hưởng của tín hiệu Enable nữa mà
sẽ giữ trạng thái 1 Do đó cần có lệnh Reset Timer ở Network 3 để trả Timer lại trạng tháiOFF
3.2.3 Timer tạo xung không có nhớ ( Pulse Timer – SP)
- Khai báo tên Timer : T0, T1, v.v…
- Độ phân giải Timer : Có các độ phân giải là ms, s ( giây), m ( phút), h ( giờ)
Khi có tác động Enable chuyển mức “0” lên “1” thì Timer SE sẽ tạo ra chuỗi xung:
Nếu thời gian I0.4 ON > thời gian đặt của T3 thì T3 = 10s
Nếu thời gian I0.4 ON < thời gian đặt của T3 thì T3 = Thời gian ON của I0.4
3.2.4 Timer tạo xung có nhớ - SE ( Extended Pulse Timer)
- Khai báo tên Timer : T0, T1, v.v…
- Độ phân giải Timer : Có các độ phân giải là ms, s ( giây), m ( phút), h ( giờ)
Trang 25- Giải thích lệnh: Khi có tín hiệu Enable = 1 ( hay khi có sườn lên của tín hiệu Enableđồng thời tín hiệu vào bằng 1) ngay sau đó giá trị PV (Put Value) chuyển vào thanh ghi
T – word (CV) Trong khoảng thời gian T – bit có giá trị 1 Khi hết thời gian đặt T – bit
có giá trị bằng 0
Khi có tác động Enable chuyển mức “0” lên “1” thì Timer SE sẽ tạo ra chuỗi xung có thời gian bằng giá trị thời gian đã đặt bất chấp khi I0.5 chuyển trạng thái OFF
Ví dụ : Khi I0.5 chuyển trạng thái từ 0 lên 1 thì Timer T4 sẽ tạo ra chuỗi xung có thời gian
cố định là 10s cho dù I0.5 đã OFF
3.2.5 Timer trễ theo sườn xuống
- Khai báo tên Timer : T0, T1, v.v…
- Độ phân giải Timer : Có các độ phân giải là ms, s ( giây), m ( phút), h ( giờ)
Counter là bộ đếm thực hiện chức năng đếm sườn xung các tín hiệu đầu vào S7 – 300 có tối
đa 256 Counter ( phụ thuộc CPU), ký hiệu bởi Cx, trong đó x là số nguyên trong khoảng 0 –
255 Những độ đếm của S7 – 300 đều có thể đồng thời đếm tiến theo sườn lên của một tínhiệu vào thứ nhất, được ký hiệu là CU ( Count Up) và đếm lùi theo sườn lên của tín hiệuvào thứ hai, ký hiệu là CD ( Count Down)
Trang 26Trường TCN KTCN TT Cơ Điện Tử
Thông thường bộ đếm chỉ đếm các sườn lên của tín hiệu CU và CD, song có thể mở rộng
để đếm cả mức tín hiệu của chúng bằng cách sử dụng thêm tín hiệu Enable (Kích đếm) Nếu
có tín hiệu enable, bộ đếm sẽ đếm tiến khi xuất hiện sườn lên của tín hiệu enable đồng thờitại thời điểm đó CU có mức tín hiệu 1 Tương tự bộ đếm sẽ lùi khi có sườn lên của tín hiệuEnable và tại thời đểm đó CD có mức tín hiệu 1
Số sườn xung đếm được, được ghi vào thanh ghi 2 byte của bộ đếm goi là thanh ghi C –word Nội dung của thanh ghi C – word được gọi là giá trị đếm tức thời của bộ đếm và kýhiệu là CV (Current Value) Bộ đếm trạng thái của C – word ra ngoài của chân C – bit Nếu
CV ≠ 0 thì C-bit có giá trị 1 Ngược lại khi CV = 0, C – bit nhận giá trị logic 0 CV luônkhông âm Bộ đếm không được đếm lùi khi CV = 0
Khác với Timer giá trị đặt trước PV của bộ đếm chỉ được chuyển vào C – word tại thời điểmxuất hiện sườn lên của tín hiệu ( Set – S)
Bộ đếm có thể được xóa chủ động bằng tín hiệu xóa (reset) Khi bộ đếm được xóa, cả C – word và C – bit đều nhận giá trị 0
3.3.2 Khai báo sử dụng
Việc khai báo sử dụng một Counter bao gồm các bước:
Khai báo tín hiệu Enable nếu sử dụng tính iệu chủ động kích đếm
Khai báo tín hiệu đầu vào CU được đếm lên
Khai báo tín hiệu đầu vào CD được đếm xuống
Khai báo tín hiệu đặt (Set) và giá trị đặt trước (PV)
Khai báo tín hiệu Reset
Trong các khai báo trên thì ít nhất phải có một trong hai bước 2 hoặc 3 được thực hiện
Khai báo tín hiệu kích đếm ( Enable) : “Địa chỉ Bit” xác định tín hiệu sẽ được sửdụng làm tín hiệu kích cho bộ đếm Tên của bộ đếm có dạng “Cx” với 0≤ x ≤ 255
Khai báo tín hiệu được đếm lên theo sườn lên: “Địa chỉ Bit” xác định tín hiệu màsườn lên của nó được bộ đém với Counter Mỗi khi xuất hiện một sườn lên của tínhiệu, bộ đém sẽ tăng nội dung thanh ghi C – word (CV) lên 1 đơn vị
Khai báo tín hiệu được đếm lùi theo sườn lên: “Địa chỉ Bit” xác định tín hiệu màsườn lên của nó được bộ đém với Counter Mỗi khi xuất hiện một sườn lên của tín
Hùng Vương
26K.Sư Trần Văn Hiếu
Email: tranhieu.hungvuong@gmail.com
161 – 165 Nguyễn Chí Thanh, Phường 12, Quận
5
Trang 27hiệu, bộ đém sẽ giảm nội dung thanh ghi C – word (CV) đi 1 đơn vị nếu CV > 0.Trong trường hợp CV = 0 thì nội dung C – word không bị thay đổi.
Khai báo tín hiệu đặt “Set” : “Địa chỉ Bit” xác định tín hiệu mà mỗi khi xuất hiệnsườn lên của nó, hằng số PV dưới dạng BCD sẽ chuyển vào thanh ghi C- word của
bộ đếm
Khai báo PV: Giá trị đặt trước từ (0…999) được xác định tại ngõ vào “PV” ở dạng BCD:
o Là hằng sô đếm (C# )
o Qua giao tiếp dữ liệu dạng BCD
Khai báo Reset : “Địa chỉ Bit” xác định tín hiệu mà mõi khi xuất hiện sườn lên của
nó, thanh ghi C – word của bộ đếm sẽ xóa về 0
CV/CV_BCD : Giá trị Counter có thể là một số nhị phân hoặc số BCD được nạp vào
bộ tích lũy và từ đó có thể được chuyển tới các địa chi khác
Tình trạng tín hiệu counter có thể kiểm tra tại ngõ ra “Q”:
Giống nhau:
o Điều kiện Set ở ngõ vào “SC”
o Giá trị đặt trước của bộ đếm
o RLO thay đổi ngõ vào “CU”
o RLO thay đổi ngõ vào “CD” Khác
nhau:
o Không có khả năng kiểm tra giá trị đếm hiện hành ( không có ngõ ra BI & BCD)
o Ngõ ra nhị phân không thể hiện được bằng biểu đồ
3.4 Phép Toán Chuyển Đổi
Trường TCN KTCN Hùng
Vương
TT Cơ Điện Tử
Trang 28Một chương trình dùng để thực hiện những chức năng toán học mà các giá trị nhập vàobằng nút nhấn và hiển thị các dạng kết quả số Vì các chức năng toán học không thể thựchiện được ở dạng BCD do đó cần phải chuyển đổi.
Phép toán chuyển đổi: S7 – 300/ 400 có nhiều lệnh dùng để chuyển đổi Tất cả những lệnhnày có cùng một định dạng
EN,ENO : Khi RLO = 1 tại ngõ vào cho phép EN thì sự chuyển đổi được thực hiện.Ngõ ra cho phép ENO luôn có tình trạng tín hiệu giống ngõ vào EN Trường hợp khônggiống nhau thì nó được hướng dẫn bằng câu lệnh tương ứng
Trang 29ENO BOOL I, Q, M, L, D Enable output
Trang 30IN IN I, Q, M, L, D Giá trị Interger của số
BCD
I_BCD (chuyển đổi Integer sang BCD) đọc nội dung của các tham số IN là một giá trị sốnguyên (16-bit) và chuyển đổi sang BCD ba chữ số mã số (+ / - 999) Kết quả là đầu ra củatham số OUT Nếu một tràn xảy ra, Eno sẽ là "0"
3.4.2 Phép toán chuyển đổi BCD và DI
BCD
Trang 31DI_BCD (chuyển đổi Double Integer sang BCD) đọc nội dung của các tham số IN như làmột số nguyên đôi (32-bit) và chuyển đổi nó vào một BCD bảy chữ số mã số (+ / -9.999.999) Kết quả là đầu ra của tham số OUT Nếu một tràn xảy ra, Eno sẽ là "0".
3.4.3 Phép toán chuyển đổi I – DI – REAL
Muốn chuyển đổi một số Interger sang số thực thì ta phải thực hiện các bước chuyển đổi:
I sang DI
I_DINT (chuyển đổi Integer sang Double Integer) đọc nội dung của các tham số IN như làmột số nguyên (16-bit) và chuyển đổi nó vào một số nguyên đôi (32-bit) Kết quả là đầu racủa tham số OUT Eno luôn luôn có tình trạng giống như tín hiệu EN
DI sang REAL
đổi
Trang 32DI_REAL (chuyển đổi Double Integer sang Floating-Point) đọc nội dung của các IN tham
số như là một số nguyên đôi và chuyển đổi nó vào số thực dấu chấm động Kết quả là đầu racủa tham số OUT Eno luôn luôn có tình trạng giống như tín hiệu EN
3.5 Phép so sánh – CMP
Bạn có thể dùng những lênh so sánh để so sánh các cặp giá trị số sau:
I : So sánh những số nguyên Interger ( Dựa trên cơ sở số 16
bit)
D : So sánh những số nguyên Doulbe Interger ( Dựa trên cơ sở số 32bit)
R : So sánh những số thực ( Dựa trên cơ sở số thực 32 bit – số thực dấu chấm động).Nếu kết quả của phép so sánh là “True”, thì RLO của phép toán là “1”, ngược lại là “0” Phép so sánh ở ngõ vào IN1 & IN2 tương ứng với các loại sau:
< > : IN1 khác IN2
> : IN1 lớn hơn IN2
< : IN1 nhỏ hơn IN2
> = : IN1 lớn hơn hoặc bằngIN2
< = : IN1 nhỏ hơn hoặc bằng IN2
3.6 Các phép toán Logic
Có các phép toán logic về Word & Double Word Phần này nói về các phép logic Word :WAND_W, WOR_W, WXOR_W Các phép toán logic Double Word : WAND_DW,WOR_DW, WXOR_DW cũng được khai báo tương tự như vậy
3.6.1 Phép toán Logic AND – WAND_W
Câu lênh AND Word sẽ tổ hợp hai giá trị số tại ngõ vào IN1 và IN2 từng bit theo bảng sự thật AND Kết quả của phép toán AND được lưu trữ tại địa chỉ ngõ ra OUT
Lệnh được thực hiện khi EN =1 & ENO = 1 nếu lệnh được thực thi
Trang 33Ví dụ:
Trang 34MW0 = 01010101 01010101
3.6.2 Phép toán Logic OR – WOR_W
Câu lênh AND Word sẽ tổ hợp hai giá trị số tại ngõ vào IN1 và IN2 từng bit theo bảng sự thật OR Kết quả của phép toán OR được lưu trữ tại địa chỉ ngõ ra OUT
Lệnh được thực hiện khi EN =1 & ENO = 1 nếu lệnh được thực thi
3.6.2 Phép toán Logic XOR – WXOR_W
Câu lênh AND Word sẽ tổ hợp hai giá trị số tại ngõ vào IN1 và IN2 từng bit theo bảng sự thật XOR Kết quả của phép toán XOR được lưu trữ tại địa chỉ ngõ ra OUT
Lệnh được thực hiện khi EN =1 & ENO = 1 nếu lệnh được thực thi
Trang 35IN1 WORD I, Q, M, L, D Toán hạng thứ nhất
S7 300 có nhiều lênh cho các phép toán học Tất cả những câu lệnh có cùng một định
bit tràn OV (tràn) và OS (Tràn có nhớ) đƣợc Set và ENO = 0 Qua đó các phép toán tiếptheo qua ENO không đƣợc thực hiện
IN1, IN2 : Giá trị IN1 đƣợc đọc vào nhƣ là toán tử đầu tiên và giá trị tại IN2 là giá trị toán tử thứ hai
Các câu lệnh:
ADD_DI
: Cộng số nguyên: Cộng số nguyên kép
SUB_DI SUB_R
: Trừ số nguyên: Trừ số nguyên kép: Trừ số thực
MUL_DIMUL_R
: Nhân số nguyên: Nhân số nguyên kép: Nhân số thực
Trang 36Chia DIV_I
DIV_DI
: Chia số nguyên: Chia số nguyên kép
3.8 Lệnh dịch chuyển – Shift
số vị trí được đặt tại ngõ vào “N”
Các Bit phía bên phải được điền giá trị 0
số vị trí được đặt tại ngõ vào “N”
Các Bit phía bên trái được điền giá trị 0
hưởng
cùng số bit bị dịch
Điều này có nghĩa rằng các lệnh phụ thuộc ENO ( thứ tự) khác sẽ
Trang 37không đƣợc thực hiện khi trạng thái của bit cuối cùng số bit bị dịch là “0”.
Trang 38Ngoài ra còn có các lênh dịch bit khác như SHL_DW, SHR_DW, SHL_I, SHR_I, SHL_DI, SHR_DI.
3.9 Lệnh Xoay Doubleword
trái những bit bị trống được làm đầy bằng trạng thái của những bit bị đẩy ra
Bit bi xoay cuối cùng được nạp vào bit 1 của word trạng thái và cũng đượclưu trư tại ngõ ra ENO Điều này có nghĩa rằng cá lệnh phụ thuộc ENO ( thứ tự) khác sẽkhông được thực hiện khi trạng thái của bit cuối cùng dịch là “0”
Trang 39Chương 4: XỬ LÝ TÍN HIỆU ANALOG
4.1 Sử dụng các Module Analog
Trong quá trình sản xuất có nhiều các đại lượng vật lý ( Áp suất, tốc độ, tốc độ quay, nồng
độ pH, độ nhớt,.v.v…) Cần được PLC xử lý cho mục đích điều khiển tự động
Các cảm biến đo lường cảm nhận những thay đổi vật lý có thể đo như sự thay đổi tuyến tính, góc quay, độ dẫn điện thay đổi, v.v…
Các bộ chuyển đổi đo lường chuyển đổi các giá trị đề cập ở trên sang những tín hiệu
Các tín hiệu ngõ vào analog chuẩn có thể nối trực tiếp các module ngõ ra Analog
4.2 Module đo lường
Loại đo lường và phạm vi đo lường được cài đặt theo nguyên tắc trên module đo lường.Những module đặc biệt không modul đo lường thì chúng có các đầu nối khác nhau để đođiên áp và dòng điện Nhờ đó có thể cài đặt được kiểu đó bằng cách nối đầu thích hợp
Trang 40 Module đo lường