Nội dung giáo trình được biên soạn với dung lượng thời gian đào tạo 120 giờgồm có: Bài M33-01: Kết nối dây giữa PLC và thiết bị ngoại vi Bài M33-02: PLC của các hãng khác Bài M33-03: Lắp
Trang 1TUYÊN BỐ BẢN QUYỀN
Tài liệu này thuộc loại sách giáo trình nên các nguồn thông tin có thể được phép
dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo
Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanhthiếu lành mạnh sẽ bị nghiêm cấm
Trang 2LỜI GIỚI THIỆU
Để thực hiện biên soạn giáo trình đào tạo nghề Điện tử công nghiệp ở trình
độ CĐN và TCN, giáo trình Mô đun PLC nâng cao là một trong những giáo trình
mô đun đào tạo chuyên ngành được biên soạn theo nội dung chương trình khungđược Bộ Lao động Thương binh và Xã hội phê duyệt Nội dung biên soạn ngắngọn, dễ hiểu, tích hợp kiến thức và kỹ năng chặt chẽ với nhau, logíc
Khi biên soạn, nhóm biên soạn đã cố gắng cập nhật những kiến thức mới cóliên quan đến nội dung chương trình đào tạo và phù hợp với mục tiêu đào tạo, nộidung lý thuyết và thực hành được biên soạn gắn với nhu cầu thực tế trong sản xuấtđồng thời có tính thực tiễn cao
Nội dung giáo trình được biên soạn với dung lượng thời gian đào tạo 120 giờgồm có:
Bài M33-01: Kết nối dây giữa PLC và thiết bị ngoại vi
Bài M33-02: PLC của các hãng khác
Bài M33-03: Lắp đặt mô hình điều khiển bằng PLC
Trong quá trình sử dụng giáo trình, tuỳ theo yêu cầu cũng như khoa học vàcông nghệ phát triển có thể điều chỉnh thời gian và bổ sung những kiên thức mớicho phù hợp Trong giáo trình, chúng tôi có đề ra nội dung thực tập của từng bài đểngười học cũng cố và áp dụng kiến thức phù hợp với kỹ năng Tuy nhiên, tuy theođiều kiện cơ sở vật chất và trang thiết bị, các trường có thể sử dụng cho phù hợp
Rất mong nhận được đóng góp ý kiến của người sử dụng, người đọc đểnhóm biên soạn sẽ hiện chỉnh hoàn thiện hơn sau thời gian sử dụng
Đồng Nai, ngày 10 tháng 06 năm 2013
Tham gia biên soạn
1 Chủ biên TS Lê Văn Hiền
2 KS Trương Thanh Inh
3 KS Trần Đức Long
4 ThS Nguyễn Hùng Khánh
Trang 3MỤC LỤC
TUYÊN BỐ BẢN QUYỀN 1
LỜI GIỚI THIỆU 2
MÔ ĐUN ĐÀO TẠO PLC NÂNG CAO 5
Bài 1: Kết nối dây giữa PLC với các thiết bị ngoại vi 7
1 Kết nối dây giữa PLC và thiết bị ngoại vi 7
1.1 Kết nối với máy tính 8
1.2 Kết nối ngõ vào cho PLC: 11
1.3 Kết nối ngõ ra cho PLC: 15
2 Kiểm tra việc nối dây bằng phần mềm 16
3 Cài đặt và sử dụng phần mềm ứng dụng 22
3.1 CÀI ĐẶT STEP7 – MANAGER 45
3.2 SỬ DỤNG STEP7 – MANAGER 49
Bài 2: PLC của các hãng khác 76
1 PLC của hãng Omron 76
1.1 Các PLC họ CPM1A 76
1.2 Các CPU họ C200H: 83
1.3.Các PLC loại micro: 88
1.4 PLC Loại Mini: CQM1/CQM1H 93
1.5.Các PLC họ CS1: 100
2 PLC của hãng Mitsubishi 102
2.1 PLC Loại cực nhỏ loại Alpha 102
2.2 PLC Loại FXO & FXOS: 104
2.3 PLC loại FXON, FX, FX2C, FX2N 105
3 PLC Của hãng Simen ( Trung bình và lớn ) 109
3.1 Các PLC họ S7300: ( hình 2.21) 109
3.2 Các PLC họ S7 400 114
4.Hãng Allenbradley 118
4.1 Các PLC 5 System Controller( hình 2.23): 118
4.2 Loại Pico Controllers 131
5 Hãng Telêmcanique 137
5.1 PLC Loại XPS MF 137
5.2 PLC Loại XPS MF 142
5.3 PLC Loại XPS MF 145
Bài 3: Lắp đặt mô hình điều khiển bằng PLC 148
1 Giới thiệu 148
2 Cách kết nối dây 151
3 Tóm tắt các mô hình và bài tập ứng dụng 155
3.1 Mô hình thang máy xây dựng 155
3.2 Mô hình động cơ Y-∆ 159
3.3 Mô hình xe chuyển nhiên liệu 162
Trang 43.4 Đo chiều dài và xắp xếp vật liệu 168
3.5 Thiết bị nâng hàng 172
3.6 Thiết bị vô nước chai 178
3.7 Thiết bị trộn hóa chất 182
TÀI LIỆU THAM KHẢO 189
Trang 5MÔ ĐUN PLC NÂNG CAO
Mã mô đun: MĐ 33
Vị trí, tính chất, ý nghĩa và vai trò của môn học:
* Vị trí của môn học: Môđun được bố trí dạy cuối chương trình sau khi học
xong các môn chuyên môn như kỹ thuật cảm biến, điện tử công suất, Vi xử
lí, trang bị điện, lắp đặt điện điều khiển trong công nghiệp, PLC cơ bản
* Tính chất của môn học: Mô đun PLC nâng cao mang tính tích hợp
* Ý nghĩa của mô đun: Là môn học bắt buộc
* Vai trò của mô đun: Sau khi học xong mô đun này, người học có thể kết nốidây giữa PC - CPU và thiết bị ngoại vi, nắm được cấu hình phần cứng của một sốloại PLC của hãng khác, Viết chương trình, nạp trình để thực hiện được một số bàitoán ứng dụng đơn giản trong công nghiệp, Phân tích luận lý một số chương trình,phát hiện sai lỗi và sửa chữa khắc phục
Mục tiêu của mô đun:
- Viết chương trình cho các loại PLC khác nhau đạt yêu cầu kỹ thuật
- Thực hiện các kết nối giữa PLC và thiết bị ngoại vi
* Về thái độ: Rèn luyện tính tỷ mỉ, chính xác và an toàn vệ sinh công nghiệp
Nội dung mô đun:
Mã bài Tên các bài trong mô đun
Thời gian Tổng
số
Lý thuyết
Thực hành
Kiểm tra 33-01 Kết nối dây giữa PLC với các
Trang 7BÀI 1 KẾT NỐI DÂY GIỮA PLC VỚI CÁC THIẾT BỊ NGOẠI VI
Mã bài: MĐ 33 - 01 Giới thiệu:
- Việc kết nối giữa dây giữa PLC và thiết bị ngoại vi rất quan trọng Nó quyết
định đến việc PLC có thể giao tiếp với thiết bị lập trình ( máy tính ) cũng như
hệ thống điều khiển có thể hoạt động đúng theo yêu cầu được thiết kế haykhông Ngoài ra việc nối dây còn liên quan đến an toàn cho PLC cũng như hệthống điều khiển
Mục tiêu:
- Trình bày được cách kết nối giữa PLC và thiết bị ngoại vi.
- Kiểm tra nối dây bằng phần mềm chính xác theo nội dung đã học
- Thực hiện cài đặt phần mềm ứng dụng đạt các yêu cầu kỹ thuật
- Rèn luyện tính tỷ mỉ, chính xác, an toàn và vệ sinh công nghiệp
Nội dung chính:
1 Kết nối dây giữa PLC và thiết bị ngoại vi
Mục tiêu:
- Hiểu được các module chức năng của S7-300
- Cách kết nối PLC với thiết bị ngoại vi
Giới thiệu về PLC S7-300:
- Trong các hệ thống sản xuất hiện đại thì số lượng đối tượng điều khiển có số
lượng lớn cũng như rất đa dạng về hình thức Để tăng tính linh hoạt cho người
ta chia PLC thành nhiều module (các khối chức năng) với CPU có thể quản lýmột vùng nhớ lớn.( hình 1.1)
- PLC S7-300 của Siemens cũng tuân theo nguyên này:
Hình 1.1: Các khối chức năng của
S7-300
Trang 8- Các module chức năng của S7-300:
- PS (Power Supply Module): bộ nguồn cho S7-300
- CPU: bộ xử lý trung tâm
- SM (Signal Module): module tín hiệu có 2 dạng
+ DI/DO (Digital Input/Digital Output): ngõ vào/ra dạng số
+ AI/AO (Analog Input/Analog Output): ngõ vào/ra dạng tương tự
- IM (Interface Module): khối giao tiếp mở rộng PLC
- FM (Function Module): module chức năng đặc biệt
+ Đếm (Counter)
+ Điều khiển vị trí (Positioning Module)
+ Điều khiển vòng kín (PID module)
- CP (Communication Processing module): module xử lý truyền thông
+ Kết nối điểm – điểm (point – point)
+ Profibus
+ Ethernet công nghiệp (Industrial Ethernet)
- DM (Dummy Module): Module giả lập dự phòng DM370 địa chỉ ngõ vào/ra
1.1 Kết nối với máy tính
Sơ đồ kết nối giữa máy tính với PLC ( hình 1.2)
Hình 1.2 Sơ đồ kết nối giữa máy tính với PLC
Trang 9Sơ đồ kết nối chi tiết giữa máy tính với PLC SIMENS
- Đối với các thiết bị lập trình của hãng SIMENS có các cổng giao tiếp PPI
thì có thể kết nối trực tiếp với PLC thông qua một sợi cáp Tuy nhiên đối vớinhững máy tính cá nhân cần thiết phải có cáp chuyển đổi PC/PPI ( hình 1.3)
Hình 1.3 Sơ đồ khối plc
Mở nguồn cho PLC
Chuyển sang trạng thái stop Đèn stop hiện lên
Chuyển cần gạt sang chế độ MRES và giữ khoảng 3s
để reset trước khi đổ
Chuyển nút gạt về vị trí stop và đổ chương trình
Trang 10- Chương trình sau khi đã soạn thảo cần được truyền xuống CPU.
Để làm được điều này, ta nhấn chuột trái vào biểu tượng này trên
thanh công cụ và trả lời đầy đủ các câu hỏi Chú ý khi nạp chương trình cầnphải đặt CPU ở trạng thái Stop hoặc CPU ở trạng thái RUN-P
a Xóa chương trình có sẵn trong CPU
- Để thực hiện việc nạp chương trình mới từ PC xuống CPU ta cần thực hiện
công việc xóa chương trình đã có sẵn trong CPU Đều này ta thực hiện cácbước như sau: ( hình 1.4)
+ Đưa trạng thái của CPU về STOP: Từ màn hình chính của Step 7, ta chọnlệnh:
Hình 1.4 xóa chương trình plc
b Giám sát hoạt động của chương trình (hình 1.5)
- Sau khi đã nạp chương trình soạn thảo xuống CPU lúc này chương trình đã
được ghi vào bộ nhớ của CPU Khi đó ta có thể tách rời PC và CPU của S7 màchương trình vẫn hoạt động bình thường Để thực hiện việc quan sát quá trìnhhoạt động của chương trình và CPU ta sử dụng chức năng giám sát chươngtrình bằng cách nhấn vào biểu tượng này trên thanh công cụ Sau khi chọnchức năng giám sát chương trình này thì trên màn hình sẽ xuất hiện một cửa sổsau:
Trang 11- Tùy theo kiểu viết chương trình mà ta nhận được sự khác nhau về kiểu hiển
thị trên màn hình (Dưới đây sử dụng chương trình kiểu viết chương trình FBD)
Hình 1.5 chương trình khối theo dạng FBD
1.2 Kết nối ngõ vào cho PLC :
Mục tiêu:
- Phân biệt được các loại cảm biến.
- Cách kết nối ngõ vào cho PLC
Cảm biến:
- Công dụng: Biến các đại lượng vật lý sang tín hiệu điện để PLC xác định
được trạng thái của quá trình đang điều khiển
- Phân loại:
- Các cảm biến logic (rời rạc): Được dùng để xác định sự tồn tại của vật thể
- ( Công tắc cơ, công tắc lưỡi gà, công tắc nhiệt, cảm biến quang, cảm biến
điện dung, cảm biến điện cảm, cảm biến áp suất )
- Các cảm biến liên tục: Được dùng để đo các đại lượng vật lý như nhiệt độ,
áp suất, tốc độ ( Cảm biến khoảng dịch chuyển, cảm biến nhiệt độ, cảm biến
áp suất )
a Các cảm biến logic (rời rạc):
- Công tắc cơ: 2 trạng thái: Đóng và mở ( hình 1.6)
+ Công tắc có các tiếp điểm thường mở (NO), thường đóng (NC)
+ NO: Khi không có tín hiệu vào cơ học: Mở, khi có tín hiệu vào cơ học:Đóng
Trang 12+ NC: Khi không có tín hiệu vào cơ học: Đóng, khi có tín hiệu vào cơ học:
hình 1.6 kết nối công tắc cơ theo mức logic 0 và 1
- Công tắc giới hạn: Công dụng phát hiện sự có mặt của chi tiết chuyển động
( hình 1.7 )
Hình 1.7 công tắc hành trình cơ
kết nối ngõ vào bằng nút nhấn và công tắc hành trình ( hình 1.8 )
Trang 13Hình 1.8 kết nối tín hiệu ngõ vào plc
- Cảm biến quang, Cảm biến điện dung, Cảm biến điện cảm: dùng để xác định
có vật thể Có hai dạng cảm biến: kiểu NPN ( hình 1.9 ) và kiểu PNP ( hình1.10 )
Hình 1.9: kết nối ngõ vào cảm biến kiểu NPN
Trang 14+ Các loại cảm biến nhiệt độ
+ Cảm biến nhiệt độ điện trở RTD (Resistive temperature detector) ( hình1.12 )
+ Nhiệt độ tăng => điện trở tăng
Trang 15Hình 1.12
+ Cặp nhiệt điện ( hình 1.13 )
+ Dải đo: -100 đến 2000 độ C
Hình 1.131.3
Kết nối ngõ ra cho PLC :
- Công dụng: Biến đổi tín hiệu điện từ PLC thành các hoạt động có công suất
cao hơn, sau đấy hoạt động này sẽ điều khiển các quá trình khác
Trang 16Hình 1.13: kết nối ngõ ra với chân com âm
Hình 1.14: kết nối ngõ ra với chân com dương
2 Kiểm tra việc nối dây bằng phần mềm
Mục tiêu:
- Nắm vững việc chọn giao diện kết nối PC/PLC
- Hiểu rõ cách thiết lập các thông số của giao diện.
Trang 17- Để viết chương trình điều khiển thì các loại PLC đều phải sử dụng các
chương trình đi kèm Đa số các phần mềm viết chương trình lập trình PLC rấtđơn thuần là thảo chương trình điều khiển Tuy nhiên, phần mềm Step7Manager dành cho PLC S7-300 & 400 là một phần mềm toàn diện gồm nhiềuchức năng, không những soạn thảo chương trình mà còn giúp quản lí hoạt độngcủa PLC
- Step7 Manager hỗ trợ các chức như sau:
+ Khai báo phần cứng cho trạm PLC thuộc họ S7-300/400
+ Xây dựng cấu hình mạng gồm nhiều trạm PLC S7-300/400 cũng như thủ tụctruyền thông giữa chúng
+ Soạn thảo và cài đặt chương trình điều khiển cho một hoặc nhiều trạm
Quan sát việc thực hiện chương trình điều khiển cho một trạm PLC và gỡ rốichương trình
- Ngoài ra Step7 còn có cả một thư viện gồm đầy đủ các hàm chuẩn hữu ích,
phần trợ giúp online rất mạnh có khả năng trả lời các câu hỏi của người dùng
về cách sử dụng Step7, về cú pháp lệnh lập trình, về xây dựng cấu hình cứngcủa một trạm cũng như một mạng gồm nhiều trạm PLC ( hình 1.15)
Chọn giao diện kết nối PC/PLC:
- Chương trình Step7 được cái đặt trên PC hoặc PG để hỗ trợ việc soạn thảo
cấu hình phần cứng cũng như chương trình cho PLC, tức là sau đó toàn bộnhững gì soạn thảo sẽ được biên dịch và chuyển sang PLC Không những thế,Step7 còn tạo khả năng quan sát việc thực hiện chương trình của PLC Muốn
- Hình 1.15: Giao diện chương trình Step7
Manager 5.1
Trang 18như vậy ta cần phải cần có các thiết bị với giao diện kết nối giữa PC với PLC
để truyền dẫn thông tin, dữ liệu ( hình 1.16)
- Step7 có thể được ghép nối với PLC qua nhiều bộ giao diện khác nhau như
card MPI (Multi Point Interface), qua cáp chuyển đổi PC/PPI (Point to PointInterface), qua card PROFIBUS (CP) … nhưng chúng phải được khai báo sửdụng
- Ngay sau khi Step7 vừa được cài đặt xong, trên màn hình xuất hiện cửa sổ
thông báo cho ta chọn các bộ giao diện sẽ được sử dụng
Hình 1.16 cài đặt card truyền thông
- Các loại giao diện có thể lựa chọn gồm có:
+ CP5511 (Plug & Play): Card truyền thông CP 5511 chuẩn PCI
+ CP5511 (Plug & Play): Card truyền thông CP 5512 chuẩn PCI
+ CP5611 (Plug & Play): Card truyền thông CP 5611 chuẩn PCI
+ PC Adapter: Bộ giao diện tích hợp trong Step7 dành cho PC
+ PC/PPI cable: Cáp truyền PPI giao tiếp RS-485 giữa PC/PG với PLC ( hình1.17.)
- Khi cần sử dụng bộ giao diện nào, ta cần đánh dấu chọn loại giao diện đó
rồi nhấn Install để cài đặt Bộ giao diện được sử dụng thường xuyên là PCAdapter vì đây là bộ giao diện ảo tích hợp sẵn trong phần mềm Step7
- Tuy nhiên, chọn bộ giao diện thôi vẫn chưa đủ ta còn phải thiết lập các
thông số của giao diện bao gồm giao thức, tốc độ truyền, cổng ghép nối máytính…
Trang 19- Để thiết lập các thông số này ta vào mục Options Set PC/PG Interface.
- Các loại chuẩn kết nối của bộ giao diện PC Adapter:
+ Auto: Tự động dò tìm chuẩn kết nối phù hợp với phần cứng ( hình 1.18)+ MPI: Chuẩn kết nhiều điểm (giữa các PLC S7-300/400) ( hình 1.19a,b)+ PROFIBUS: Chuẩn truyền thông công nghiệp.( hình 1.20a,b)
+ PC/PPI: Kết nối với cáp truyền đi kèm của S7-300
- Cổng kết nối giữa PC với PLC và tốc độ truyền là các thông số chung của
tất cả các chuẩn kết nối Tuy nhiên, tùy theo chuẩn kết nối mà các thông số kếtnối có số khác biệt
PC Adapter (Auto):
Hình 1.17: Cửa sổ cài đặt giao diện kết nối PC/PLC
Trang 20Hình 1.18 khai báo cổng và địa chỉ giao tiếp
PC Adapter (MPI)
Hình 1.19a
Trang 21Hình 1.19b
PC Adapter (PROFIBUS):
Hình 1.20a
Trang 22Hình 1.20b
Soạn thảo một dự án (Project):
- Khái niệm Project trong Step7 không đơn thuần chỉ là chương trình ứng
dụng mà rộng hơn là bao gồm tất cả những gì liên quan đến việc thiết kế phầnmềm ứng dụng để điều khiển, giám sát một hay nhiều trạm PLC Theo kháiniệm như vậy, một project Step7 sẽ có các thành phần sau:
+ Cấu hình phần cứng các module PLC S7-300/400
+ Bảng tham số xác định chế độ làm việc cho từng module của mỗi trạm PLC.+ Các logic block chứa chương trình ứng dụng của PLC
+ Cấu hình ghép nối và truyền thông giữa các trạm PLC
+ Màn hình giao diện phục vụ quản lí giám sát các trạm PLC trong mạng (kếthợp các phần mềm khác của Simatic)
- Các loại PLC nói chung thường có nhiều ngôn ngữ lập trình nhằm phục vụ
các đối tượng sử dụng khác nhau PLC S7-300 có ba ngôn ngữ lập trình cơ bản:
Trang 23 STL (Statement list) -lệnh cho chương trình Đây là ngônDạng ngôn ngữ sử dụng dòng
ngữ thông thường với máy tính Mộtchương trình gồm nhiều câu lệnhđược ghép với nhau bởi một thuậttoán nhất định
LAD (Ladder logic) - Đây là dạng ngôn ngữ đồ họa
tích hợp quen thuộc với nhữngngười quen thiết kế tự động hóa
FBD (Function block
diagram)
- Đây là dạng ngôn ngữ đồ họatích hợp quen thuộc với nhữngngười quen thiết kế mạch kỹ thuậtsố
- Một chương trình viết bằng ngôn ngữ LAD hoặc FBD có thể chuyển sang được
sang dạng STL nhưng ngược lại thì không Trong STL có một lệnh không có trong
có LAD và FBD.( hình 1.21)
Kỹ thuật lập trình
Giới thiệu chung:
- Phần bộ nhớ CPU dành cho chương trình ứng dụng có tên gọi là logic block.
Như vậy logic block là tên chung để gọi tất cả các khối chương trình bao gồmnhững khối chương trình tổ chức OB (Organization block), khối chương trình FC(Function), khối hàm FB (Function block) Trong các khối chương trình này chỉ códuy nhất khối OB1 được thực hiện trực tiếp theo vòng quét Nó được hệ điều hànhgọi theo chu kỳ lặp với khoảng thời gian không cách đều nhau mà phụ thuộc vào độdài của chương trình Các loại khối chương trình khác không được tham gia trựctiếp vào vòng quét
- Với hình thức tổ chức chương trình như vậy nên ta chia ra 2 dạng lập trình như
sau:
FB D
LA D STL
Hình 1.21: STL là ngôn ngữ lập trình mạnh nhất
Trang 24+ Lập trình tuyến tính ( hính1.22): Trong vòng quét của PLC chỉ duy nhất khốiOB1 được tham gia trực tiếp nên nó có đầy đủ điều kiện của một chương trình điềukhiển thời gian thực và toàn bộ chương trình ứng dụng có thể được viết trong OB1
là đủ Cách tổ chức chương trình chỉ với khối OB1 được gọi là lập trình tuyến tính(linear programming)
- Đặc điểm của chương trình được lập trình dạng tuyến tính:
+ Áp dụng cho các giải thuật điều khiển đơn giản, không phức tạp
+ Các câu lệnh được thực hiện tuần tự theo vòng quét
+ Lập trình cấu trúc (hình1.23): Khác với kiểu lập trình tuyến tính, kỹ thuậtlập trình có cấu trúc (structure programming) là phương pháp lập trình mà ở đótoàn bộ chương trình điều khiển được chia nhỏ thành các khối FC hay FB mangmột nhiệm vụ cụ thể riêng và được quản lí bởi chung bởi các khối OB Kiểu lậptrình này rất phù hợp cho các bài toán điều khiển phức tạp, nhiều nhiệm vụ,…
Hình 1.22: Lập trình tuyến tính
Trang 25Lập trình tuyến tính:
Chương trình được lập trình theo dạng tuyến tính thường có giải thuật lậptrình khá đơn giản Hoạt động của hệ thống trải qua các bước theo tuần tự(Sequence step) với các đặc điểm như sau: ( hình 1.23)
- Trong một thời điểm nhất định chỉ có duy nhất 1 bước hoạt động.
- Bước hoạt động trước sẽ chuẩn bị điều kiện cho bước kế tiếp.
- Khi đã chuyển sang bước sau thì bước hoạt động trước đó bị vô hiệu hóa.
Hình 1.23 sơ đồ khối lập trình tuyến tính
Trang 26Lưu đồ hoạt động tổng quát:
Trên lưu đồ hoạt động dạng tổng quát ta thấy:
Các trạng thái hoạt động gồm được phân biệt bởi sốthứ tự bao gồm Y1 ÷ Y(n+1)
Điều kiện chuyển trạng thái đủ khi có đủ 2 thànhphần sau:
- Tiếp điểm tác động chuẩn bị của trạng thái trước
- Tiếp điểm tác động ngoài
Tại bước đầu tiên để hệ thống bắt đầu hoạt động tacần có tác động để giúp hệ thống khởi động (nhấn nútkhởi động, bật nguồn, …)
Sau khi kết thúc chương trình tại trạng thái cuối cùngY(n+1) thì tiếp điểm chuẩn bị của Y(n+1) tác động vàtiếp điểm ngoài X1 giúp tạo ra vòng lặp chương trìnhquay về trạng thái Y1
Trang 27Ví dụ:
Hình 1.24: Máy đóng
Trang 28Xác định các trạng thái làm việc của máy:
Phân nhánh và nhập nhánh lưu đồ hoạt động:
- Lưu đồ hoạt động có phân nhánh là lưu đồ trong đó có nhiều nhánh con thực
hiện chức năng khác nhau trong chương trình Việc phân nhánh và nhập nhánhlưu đồ hoạt động được chia làm 2 loại:
Trang 29- Tính chất của việc phân nhánh kiểu phân kỳ:
+ Mỗi nhánh có điều kiện chuyển riêng
+ Cùng sử dụng tiếp điểm chuẩn bị của trạng thái trước đó
+ Nhánh nào đạt điều kiện chuyển trước sẽ được phép hoạt động
+ Khi một nhánh đã hoạt động thì các nhánh còn lại mất điều kiện chuyển
Nhập nhánh:
- Một nhánh phân kì sau khi hoạt động hết sẽ quay về nhánh chính (nhập
nhánh) bằng các điều kiện chuyển riêng của từng nhánh Hình 1.25
Điều kiện
Trang 30Hình 1.25
b Hội tụ:
Phân nhánh: ( hình 1.26)
Hình 1.26
- Tính chất của việc phân nhánh kiểu phân kỳ:
+ Tất cả các nhánh sử dụng chung một điều kiện chuyển
+ Tất cả các nhánh hoạt động song song nhau
Trang 31- Nhấn nút Start để máy hoạtđộng và nhấn Stop để dừng máy.
- Tạo lưu đồ giải thuật và lậptrình điều khiển
Trang 32Hình 1.28: Mạch điện khí nén điều khiểnQuá trình hoạt động của máy dập lỗ thứ tự như sau:
Trang 33Qui định tên biến và địa chỉ PLC cho các trạng thái hoạt động Y và các ngõ vào / racần thiết:
Trang 35Lập trình có cấu trúc:
- Lập trình có cấu trúc (structure programming) là kỹ thuật cài đặt thuật toán
điều khiển bằng cách chia nhỏ thành khối chương trình con FC hay FB với mỗikhối thực hiện nhiệm vụ cụ thể của bài toán điều khiển chung và toàn bộ cáckhối chương trình này được quản lí thống nhất bởi OB1 Trong OB1 có cáclệnh gọi những khối chương trình con theo thứ tự phù hợp với bài toán đặt ra
- Tương tự như vậy, một nhiệm vụ điều khiển con còn có thể chia nhỏ thành
nhiều nhiệm vụ nhỏ và cụ thể hơn nữa (gọi lồng chương trình) Tuy nhiên, cómột điểm cần chú ý là không được sử dụng một được gọi một chương trình con
là chính nó Ngoài ra, khả năng gọi lồng cũng không quá giới hạn cho phép củatừng model CPU
- Trong lập trình cấu trúc có 2 dạng nhỏ như sau:
Phân chia nhỏ chức năng:
- Để minh họa cho việc chia nhỏ chức năng trong chương trình, ta xét qua bài
toán ví dụ lập trình với nhiều chức năng
- Ta có bài toán là một hệ thống băng chuyền dùng rót chai với các yêu lập
trình như sau:
+ Băng chuyền có 2 chế động hoạt động Manual / Auto
+ Điều khiển rót dung dịch tự động
+ Đếm số lượng chai rỗng đi vào và chai đầy đi ra và hiển thị
Phân chia nhỏ chức năng Phân chia cấu trúc
Chương trình cấu trúc:
Các đoạn chương trình được sử dụng nhiều lần được đưa vào một khối riêng.
OB1 (hoặc các khối khác) gọi các khối này và các dữ liệu hoạt động riêng của nó được khai báo trong data block.
Motor A Pump Mixer Exhaust
Pump
Exhaust Pump
Speed1 Speed2
Chương trình phân chia chức
năng:
Chương trình điều khiển các thiết
bị khác nhau nằm trong các khối
(Block) khác nhau
OB1 sẽ lần lượt gọi các khối này.
Trang 36- Bài toán có 3 tác vụ khác nhau nên nếu lập trình dạng tuyến tính sẽ gây khó
khăn khi có đến 3 quá trình hoạt động riêng biệt Do vậy, ta cần tách riêngchương trình điều khiển thành các khối FC tương ứng
- Các chương trình điều khiển được viết trong các khối FC1, FC2, FC3 được
gọi lần lượt trong khối OB1 bằng các lệnh gọi chương trình con (CALL)
Phân chia theo cấu trúc:
- Giữa OB1 và các khối con khác (FC, FB) có sự liên kết thể hiện qua sự trao
đổi các giá trị Khi gọi khối con, OB1 cần chuyển các giá trị tham số đầu vàocho phép khối con hoạt động Sau khi thực hiện xong nhiệm vụ, khối con phảitrả lại cho OB1 kết quả bằng những giá trị của tham số đầu ra
CB1: cảm biến nhận chai rỗng đi vào.
CB2: cảm biến nhận chai đến vị trí CB3: cảm biến nhận chai đầy.
Nút chuyển chế độ chạy bằng tay
và tự động (Manual / Auto).
Băng chuyền Manual / Auto
Băng chuyền Manual / Auto
Lệnh CALL – gọi chương trình con
Phân chia chức năng thành các FC Gọi các FC trong chương trình OB1
Trang 37- Như vậy, khi thực hiện lệnh gọi một khối chương trình con, hệ điều hành sẽ
thực hiện các bước sau:
+ Chuyển khối con từ Load memory vào vùng Work memory
+ Cấp phát bộ nhớ trong Work memory cho khối chương trình con
+ Truyền giá trị các tham số đầu vào IN, IN-OUT cho từ OB1
+ Sau khi thực hiện xong chương trình con, kết quả được ghi dưới dạng giá trịcủa các tham số đầu ra OUT, IN-OUT Giải phóng khối chương trình con ra khỏiWork memory
+ Gọi FC với tham số đầu vào/ra:
- Thông thường để gọi chương trình con FC ta dùng lệnh sau
- Trong đó FCx là tên khối FC được gọi.
- Tuy nhiên, trong trường hợp gọi các chương trình con FC có kèm theo các
tham số ngõ vào/ra thì các tham số này được qui định trong Local block của
FC ( hình 1.29)
- Lúc này lệnh gọi FC từ OB1 sẽ kèm theo việc gọi các biến hình thức.
- Minh họa việc truyền giá trị cho các tham số của FC1 như sau ( hình 1.30)
X
- Hình 1.29: Bảng khai báo Local Block của FC
Các tham số này ở dạng các biến hình thức:
IN : Biến dạng đầu vào
OUT : Biến dạng đầu ra
IN – OUT : Biến dạng đầu vào – ra.
TEMP : Biến tạm thời
Kiểu dữ liệu của biến hình thức
Lấy giá trị cho tham
số đầu vào - ra
Trang 38IN gt_vao INT Dữ liệu số nguyên 16 bits đầu vào
OUT gt_ra DINT Dữ liệu số nguyên 32 bits đầu ra
Khai báo các biến hình thức trong local block của FC1 và chương trình chuyển đổi
Trang 39Trong OB1 thực hiện gọi FC1 cùng với tham số đầu vào/ra dạng các biến hình thức.
- Gọi FB với tham số đầu vào/ra:
Khối FB (Function Block) là một khối FC đặc biệt có khả năng trao đổi mộtlượng dữ liệu lớn với OB1 khi được gọi Chính vì vậy trong quá trình hoạt động FBthường đi kèm với một DB (data block)
Các tham số đầu vào/ra trong Local block của FB cũng được gọi kèm theo.Các tham số cũng ở dạng các biến hình thức như ở FC nhưng có thêm kiểu biếnSTAT (biến tĩnh) Khác với FC giá trị các biến này sẽ được lưu vào khối DB tươngứng của FB đang sử dụng
Khai báo giá trị cho các tham số:
gt_vao = 5000 //giá trị nguyên (16 bits)
(biến “gt_vao” có thể sử dụng vùng nhớ chứa giá trị có độ rộng word – 16 bits).
gt_ra = MD0 //vùng nhớ MD0(32 bits)
Trang 40Khối dữ liệu DB đi kèm với FB chứa các dữ liệu hoạt động dành riêng cho FBnên khối DB này được gọi là khối dữ liệu cục bộ (Instance) Nó chỉ được sử dụngbởi FB, còn FC không thể sử dụng được.
Phần mềm Step7 hỗ trợ chúng ta tạo Instance DB thông qua việc khai báo cấutrúc của local block trong FB
- Chương trình Step7 sẽ tạo ra một khối DB với các biến tương ứng trong
local block FB khi ta dùng OB1 gọi khối con FB đó
Chương trình step 7 khởi tạo instance DB
Các biến này sau khi khai báo ở Local block của FB sẽ được tự động đưavào khối instance DB
Address Declaration Name Type Initial value Comment
Bảng biến tương ứng của instance DB đi kèm FB
Để gọi khối FB trong OB1 ta thực hiện lệnh như sau
Bảng khai báo Local Block của FB
Khối DB tương ứng
Lấy giá trị cho tham
số đầu vào - ra