Bộ điều khiển logic khả trình (Programmable Logic Controller PLC) là loại thiết bị điều khiển đặc biệt dựa trên bộ vi xử lý, được thiết kế chuyên dùng trong công nghiệp để điều khiển các quá trình từ đơn giản đến phức tạp. Thuật ngữ khả trình có nghĩa là người sử dụng có thể viết chương trình và biên dịch chương trình (bằng các thiết bị lập trình chuyên dụng) rồi nạp vào bộ nhớ của PLC. Sau đó, PLC thực hiện quá trình điều khiển các đối tượng theo logic chương trình đã lưu trong bộ nhớ. Bằng cách thay đổi chương trình trong bộ nhớ thì có thể thay đổi logic điều khiển của hệ thống. .
Trang 1Pgs ts đào hoa việt
Tập bài giảng ứng dụng plc trong các hệ điều khiển số
và truyền thông công nghiệp
Hà Nội 2005
Trang 2CH-¬NG 1
Bé ®iÒu khiÓn logic kh¶ tr×nh
Trong chương 1, chúng ta sẽ tìm hiểu những vấn đề cơ bản về bộ điều khiển logic khả trình nói chung và bộ điều khiển logic khả trình S7-200 của hãng SIEMENS nói riêng Những vấn đề trọng tâm là khái niệm về bộ điều khiển logic khả trình, những ưu điểm và ứng dụng; cấu trúc cơ bản của bộ điều khiển logic khả trình, trong đó đáng chú ý là tổ chức các mạch ghép nối vào/ra và nguyên lý hoạt động cơ bản của nó Đối với bộ điều khiển logic khả trình S7-200 của SIEMENS, nội dung chương này đi sâu tìm hiểu về tổ chức
bộ nhớ, các kiểu vùng nhớ và ứng dụng, các chức năng có liên quan đến các đầu vào/ra Đó là những nội dung cơ bản trước khi có thể lập trình cho bộ điều khiển
1.1 Khái quát chung về bộ điều khiển logic khả trình
1.1.1 Giới thiệu về bộ điều khiển logic khả trình
Bộ điều khiển logic khả trình (Programmable Logic Controller - PLC)
là loại thiết bị điều khiển đặc biệt dựa trên bộ vi xử lý, được thiết kế chuyên dùng trong công nghiệp để điều khiển các quá trình từ đơn giản đến phức tạp
Thuật ngữ khả trình có nghĩa là người sử dụng có thể viết chương trình và
biên dịch chương trình (bằng các thiết bị lập trình chuyên dụng) rồi nạp vào
bộ nhớ của PLC Sau đó, PLC thực hiện quá trình điều khiển các đối tượng theo logic chương trình đã lưu trong bộ nhớ Bằng cách thay đổi chương trình trong bộ nhớ thì có thể thay đổi logic điều khiển của hệ thống Như vậy, có thể áp dụng cùng một hệ thống phần cứng điều khiển cho các đối tượng khác
nhau Thuật ngữ logic thể hiện chức năng ban đầu và cũng là chức năng chủ
yếu của PLC là thực hiện các thao tác logic chuyển mạch
Trang 3Nhu cầu về một bộ điều khiển dễ sử dụng, linh hoạt và có giá thành thấp đã thúc đẩy sự phát triển những hệ thống điều khiển lập trình (programmable control systems) – hệ thống sử dụng bộ vi xử lý (CPU) và bộ nhớ để điều khiển máy móc hay quá trình Bộ điều khiển lập trình (Programmable Logic Controller - PLC) ra đời nhằm thay thế hệ thống điều khiển truyền thống dùng rơ-le và thiết bị rời cồng kềnh Nó tạo ra khả năng điều khiển thiết bị dễ dàng và linh hoạt dựa trên việc sử dụng các lệnh logic
cơ bản Ngoài ra, PLC còn có thể thực hiện những tác vụ khác như định thời, đếm…làm tăng khả năng điều khiển cho những hoạt động phức tạp, ngay cả với loại PLC nhỏ nhất
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 Motor - Mỹ) Tuy nhiên, hệ thống này còn khá đơ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 làm cho 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ình chuyên dùng 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 (Programmable Controller Handle) đầu tiên được ra đời vào năm 1969 Điều này đã tạo ra sự phát triển thực sự cho kỹ thuật điều khiển lập trình Các nhà thiết kế đã từng bước chuẩn hóa ngôn ngữ lập trình, đó là ngôn ngữ lập trình dùng giản đồ hình thang (Ladder Diagram) Các nhà sản xuất liên tục đưa ra các công cụ (cả phần mềm và thiết bị) hỗ trợ cho việc lập trình, giám sát và gỡ rối
Hoạt động cơ bản của PLC là kiểm tra tất cả các trạng thái tín hiệu ở ngõ vào được đưa về từ quá trình điều khiển, thực hiện chương trình trong bộ nhớ và tạo ra tín hiệu điều khiển các thiết bị bên ngoài Với các mạch ghép nối ở khối vào và khối ra của PLC cho phép nó kết nối trực tiếp với những cơ
Trang 4cấu tác động (actuators) có công suất nhỏ ở ngõ ra và những mạch chuyển đổi tín hiệu (transducers) ở ngõ vào Tuy nhiên, cần phải có mạch khuếch đại công suất trung gian khi PLC điều khiển những thiết bị có công suất lớn
Việc sử dụng PLC cho phép chúng ta hiệu chỉnh hệ thống điều khiển
mà không cần có sự thay đổi nào về mặt kết nối dây.Ta chỉ cần thay đổi chương trình điều khiển trong bộ nhớ thông qua thiết bị lập trình chuyên dùng Ngoài ra , chúng còn có ưu điểm là thời gian lắp đặt và đưa vào hoạt động nhanh hơn so với những hệ thống điều khiển truyền thống mà đòi hỏi cần phải thực hiện việc nối dây phức tạp giữa các thiết bị rời
Về phần cứng, PLC tương tự như máy tính thông thường - được coi là máy tính xử lý dữ liệu, chuyên dùng với chức năng xử lý dữ liệu và hiển thị - trong khi PLC là máy tính điều khiển quá trình, hay còn gọi là máy tính công nghiệp vì chúng có các đặc điểm thích hợp cho mục đích điều khiển trong công nghiệp, đó là:
-Được thiết kế để có thể hoạt động tốt trong môi trường công nghiệp (rung động, tiếng ồn, nhiệt độ, độ ẩm, nhiễu)
-Cấu trúc dạng module cho phép thay thế dễ dàng, có khả năng mở rộng và nâng cấp
-Có sẵn các mạch ghép nối cho phép ghép nối trực tiếp với một số thiết
Trang 5Những đặc điểm trên làm cho PLC được sử dụng nhiều trong việc điều khiển các máy móc công nghiệp và trong điều khiển quá trình công nghiêp (process control)
Bộ điều khiển lập trình là ý tưởng của một nhóm kỹ sư hãng General Motors vào năm 1968 nhằm đáp ứng những yêu cầu điều khiển trong công nghiệp Ban đầu nó mới chỉ được sử dụng để thay thế cho hệ thống điều khiển
sử dụng rơle Cùng với sự phát triển của công nghệ vi điện tử và công nghệ máy tính, PLC ngày càng được phát triển cả về phần cứng và phần mềm hỗ trợ Tập lệnh từ các lệnh logic đơn giản được phát triển thêm các lệnh định thời, lệnh đếm; sau đó là các lệnh toán học, xử lý dữ liệu, xử lý xung tốc độ cao, tính toán số liệu thực 32 bit, xử lý thời gian thực… Sự phát triển về phần cứng cũng đạt được nhiều kết quả: bộ nhớ lớn hơn, số lượng ngõ vào/ra nhiều hơn, nhiều module chuyên dùng hơn, và đặc biệt là tốc độ thực hiện nhanh hơn PLC không những chỉ điều khiển các máy riêng lẻ, mà ngày nay đã trở thành một thành phần quan trọng trong các dây truyền sản xuất công nghiệp, trong các hệ thống điều khiển và giám sát cùng với sự phát triển của các chuẩn truyền thông công nghiệp
Có một số thuật ngữ dùng để mô tả bộ điều khiển lập trình :
PC: Programmable Controller (Anh)
PLC: Programmable Logic Controller (Mỹ)
PBS: Programmable Binary Systems (Thụy Điển)
Hai thuật ngữ sau đều thể hiện bộ điều khiển lập trình làm việc với tín hiệu nhị phân Trong thực tế, tất cả bộ điều khiển trừ bộ điều khiển loại nhỏ đều có khả năng xử lý tín hiệu liên tục (analog signal), nên các thuật ngữ đó không nói lên được hết khả năng của bộ điều khiển lập trình Do đó thuật ngữ Programmable Controller - PC thể hiện ý nghĩa tổng quát nhất về bộ điều
Trang 6khiển lập trình Tuy nhiên, để tránh sự nhầm lẫn với thuật ngữ máy tính cá nhân (Personal Computer - PC) thì PLC thường được dùng thay cho PC
Hiện nay, PLC đã được nhiều hãng khác nhau sản xuất như: Siemens, Omron, Mitsubishi, Festo, Alan Bradley, Schneider, Hitachi Theo xu hướng chuẩn hóa và module hóa thì PLC của các hãng khác nhau đều có cấu trúc phần cứng cũng như tập lệnh tương tự nhau
1.1.2 Ưu điểm của PLC
Có thể nêu ra một số ưu điểm chính khi sử dụng PLC như sau:
-Tính linh hoạt: có thể sử dụng một bộ điều khiển cho nhiều đối tượng khác nhau với các thuật toán điều khiển khác nhau
-Dễ dàng thiết kế và thay đổi logic điều khiển: với các hệ thống điều khiển sử dụng rơle, khi thay đổi logic điều khiển cần có nhiều thời gian để nối lại dây cho các thiết bị và panel điều khiển, và đó là một công việc phức tạp Với hệ thống điều khiển sử dụng PLC, thay đổi logic điều khiển bằng cách thay đổi chương trình thông qua thiết bị lập trình và ngôn ngữ lập trình chuyên dùng Điều đó làm giảm đáng kể thời gian thiết kế hệ thống
-Tối ưu logic điều khiển: được sự hỗ trợ của các công cụ mô phỏng và
gỡ rối trực tuyến và trực quan làm cho hệ thống được thiết kế có tính tối ưu hơn
-Tốc độ thực hiện nhanh
-Nhỏ, gọn và giá thành thấp
-Khả năng bảo mật hệ thống khi sử dụng mã khóa
-Khả năng mở rộng và nâng cấp hệ thống: do được chế tạo dưới dạng các modul được chuẩn hóa cho phép ghép nối các thành phần không chỉ của một nhà sản xuất Đây là một yêu cầu không thể thiếu trong các hệ thống điều khiển hiện đại
1.1.3 Cấu trúc và hoạt động cơ bản của PLC
Trang 7PLC là thiết bị điều khiển dựa trên bộ vi xử lý, các thành phần cơ bản của nó gồm:
-Khối xử lý trung tâm (Central Processing Unit - CPU)
-Bộ nhớ trong (Internal Memory)
-Bus hệ thống (System Bus)
-Khối ghép nối vào/ra (Input/Output Interface)
-Khối nguồn (Power Supply)
1.1.3.1 Khối xử lý trung tâm CPU
Đây là bộ não của hệ thống, có chức năng điều khiển và giám sát toàn
bộ hoạt động của hệ thống bằng cách thực hiện tuần tự các lệnh trong bộ nhớ Bên trong CPU gồm các mạch điều khiển, khối thuật toán và logic, các thanh ghi chuyên dụng và thanh ghi dữ liệu tạm thời
Hoạt động cơ bản của CPU là: đọc lần lượt từng lệnh từ bộ nhớ, giải
mã lệnh, phát tín hiệu điều khiển các thành phần khác và xử lý dữ liệu
1.1.3.2 Bộ nhớ trong
Trang 8Bộ nhớ trong là loại bộ nhớ bán dẫn, có ưu điểm là tương thích về kích thước và mức logic với các thành phần khác của hệ thống; tốc độ truy nhập cao; năng lượng tiêu thụ thấp PLC sử dụng các loại bộ nhớ sau đây:
-ROM hệ thống: chứa chương trình hệ thống (hệ điều hành) và dữ liệu
cố định được CPU sử dụng Dữ liệu trong ROM được nhà sản xuất nạp vào và không thay đổi trong suốt quá trình sử dụng sau này
-RAM chứa chương trình và dữ liệu của người sử dụng
-RAM làm bộ đệm cho các tín hiệu vào/ra và cho các đối tượng khác (bộ đếm, định thời )
-EEPROM để lưu cố định chương trình của người sử dụng cũng như những dữ liệu cần thiết mà người dùng lựa chọn
Một phần hoặc toàn bộ RAM có thể được nuôi bằng tụ điện hoặc nguồn pin bên ngoài Chương trình của người sử dụng được nạp vào RAM, sau đó tự động nạp vào EPPROM để có thể lưu trữ vĩnh cửu
1.1.3.3 Khối ghép nối vào
Khối ghép nối vào có các chức năng sau: nhận tín hiệu vào từ các thiết
bị nhập (ví dụ các cảm biến, chuyển mạch ); biến đổi các tín hiệu vào thành mức điện áp một chiều; thực hiện cách ly tĩnh điện bằng bộ ghép nối quang; tạo tín hiệu logic chuẩn đưa đến các mạch trong PLC
Do đó mạch ghép nối vào có các khối sau:
Trang 9Khối đầu tiên nhận tín hiệu từ các cảm biến, chuyển mạch Nếu tín hiệu vào là điện áp xoay chiều thì bộ biến đổi chỉnh lưu thành điện áp một chiều có giá trị nhỏ Đầu ra của bộ biến đổi không được đưa trực tiếp đến các mạch trong PLC nhằm tránh cho nó khỏi ảnh hưởng của mạch ngoài Ví dụ trong trường hợp bộ biến đổi làm việc không chính xác, thì điện áp xoay chiều lớn được đưa đến PLC và làm hỏng hệ thống, bởi vì hầu hết các mạch
xử lý chỉ làm việc với điện áp 5V một chiều Do vậy phải có mạch cách ly để bảo vệ các mạch trong PLC Mạch cách ly thường sử dụng bộ ghép nối quang, Tín hiệu được chuẩn hóa về mức logic để đưa vào hệ thống
Sơ đồ nguyên lý của mạch ghép nối vào:
1.1.3.4 Khối ghép nối ra
Khối ghép nối ra hoạt động tương tự khối ghép nối vào: tín hiệu một chiều chuẩn từ trong PLC qua các mạch biến đổi đến các đầu ra vật lý, cho phép điều khiển trực tiếp các tải một chiều và xoay chiều công suất nhỏ với các mức điện áp khác nhau Bộ ghép nối quang cũng được sử dụng để tránh cho các mạch bên trong PLC khỏi ảnh hưởng của các thiết bị bên ngoài
Trang 10Mạch giao tiếp sử dụng rơle, tranzitor, triac cho phép nối trực tiếp PLC với tải công suất nhỏ Khi nối đầu ra với tải công suất lớn cần có mạch công suất bên ngoài
Mạch giao tiếp kiểu rơle: tín hiệu từ PLC được sử dụng để điều khiển rơle, có khả năng chuyển mạch dòng điện lớn trong mạch tải Ngoài ra rơle còn có chức năng cách ly PLC với mạch ngoài Rơle có khả năng chịu quá tải trong thời gian ngắn Tuy nhiên, nhược điểm của rơle là tốc độ chuyển mạch chậm Mạch rơle được sử dụng cho cả tải một chiều và xoay chiều
Mạch giao tiếp kiểu tranzitor: tín hiệu từ PLC điều khiển tranzitor làm việc ở chế độ khóa Ưu điểm của tranzitor là tốc độ chuyển mạch nhanh Nhưng dễ bị hư hỏng do quá tải hoặc khi chuyển từ trạng thái thông sang khóa Do đó phải sử dụng các mạch bảo vệ Mạch tranzitor chỉ dùng cho điện
áp một chiều
Trang 11Mạch giao tiếp kiểu triac: chuyên dùng với mạch điện xoay chiều, có tốc độ chuyển mạch nhanh Nhưng dễ bị hư hỏng do quá tải, nên phải có mạch bảo vệ
Như vậy, mặc dù các mạch bên trong PLC làm việc với tín hiệu chuẩn 5V một chiều, nhưng nhờ có mạch ghép nối ra nên có thể nối trực tiếp PLC với phụ tải một chiều hoặc xoay chiều có các mức điện áp khác nhau
1.1.3.5 Bus hệ thống
Bus hệ thống phục vụ cho việc truyền thông tin giữa các thành phần trong hệ thống Thông tin được truyền trong hệ thống dưới dạng tín hiệu nhị phân
Bus hệ thống gồm có các bus sau:
-Bus dữ liệu: bus dữ liệu là bus hai chiều, dùng để truyền tải dữ liệu giữa các thành phần trong hệ thống
-Bus địa chỉ: bus địa chỉ là bus một chiều, khi CPU muốn truy cập đến một thành phần nào đó thì nó cung cấp địa chỉ của thành phần đó lên bus này, tín hiệu địa chỉ qua bộ giải mã địa chỉ kích hoạt thành phần tương ứng
-Bus điều khiển: CPU sử dụng bus điều khiển để cung cấp các tín hiệu điều khiển và nhận các tín hiệu thông báo từ các thành phần
Có thể mô tả hoạt động cơ bản của PLC như sau:
Trong quá trình hoạt động, CPU đọc trạng thái của tất cả các thiết bị ngoại vi thông qua các đầu vào, sau đó thực hiện chương trình trong bộ nhớ Sau khi thực hiện xong chương trình là giai đoạn truyền thông nội bộ và chẩn
Trang 12đoán lỗi Cuối cùng, CPU sẽ gửi tín hiệu điều khiển các thiết bị thông qua các đầu ra số Một chu kỳ gồm đọc tín hiệu đầu vào, thực hiện chương trình, truyền thông nội và tự kiểm tra lỗi, gửi tín hiệu tới các đầu ra được gọi là một vòng quét (Scan Cycle)
Như vậy, tại thời điểm thực hiện lệnh vào/ra thì lệnh không xử lý trực tiếp với đầu vào/ra mà sẽ xử lý thông qua bộ nhớ đệm Nếu có sử dụng ngắt thì chương trình xử lý ngắt tương ứng với từng sự kiện ngắt sẽ được soạn thảo
và cài đặt như một bộ phận chương trình Chương trình ngắt chỉ thực hiện trong vòng quét khi xuất hiện sự kiện ngắt tương ứng và có thể xảy ra ở bất kì thời điểm nào trong vòng quét
Việc thực hiện một vòng quét xảy ra với thời gian rất ngắn, một vòng quét có thời gian thực hiện từ 1ms tới 100ms Việc thực hiện một vòng 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
1.2 Bộ điều khiển logic khả trình S7-200 của SIEMENS
S7-200 là họ PLC loại nhỏ của hãng SIEMENS (Micro PLC) được cấu trúc theo dạng module Một PLC S7-200 gồm có một Module CPU S7-200 và có thể có các Module mở rộng Module CPU S7-200 gồm có một khối sử lý trung tâm (CPU), bộ nhớ trong, nguồn công suất, các đầu vào/ra số tích hợp, cổng truyền thông Có thể tăng thêm các đầu vào/ra số cũng như các chức năng chuyên dùng khác bằng các module mở rộng
Một số đặc tính kỹ thuật của module CPU S7-200:
-CPU thực hiện chương trình lưu trong bộ nhớ, từ đó tạo ra các tác động điều khiển các thiết bị bên ngoài
Trang 13-Các đầu vào và đầu ra số: các đầu vào số nhận tín hiệu từ các thiết bị trường (như cảm biến và chuyển mạch), các đầu ra điều khiển các cơ cấu chấp hành (như cuộn dây, động cơ, bơm )
-Khối nguồn cung cấp điện năng cho CPU và bất kỳ module mở rộng nào được kết nối
-Cổng truyền thông cho phép kết nối CPU với thiết bị lập trình cũng như các thiết bị tiêu chuẩn khác
-Các đèn trạng thái báo tín hiệu về chế độ hoạt động của CPU (RUN hoặc STOP), trạng thái hiện tại của các đầu vào/ra tích hợp, các lỗi của hệ thống
-Một vài CPU có đồng hồ thời gian thực bên trong Hoặc có thể lựa chọn thêm dưới dạng hộp cắm
-Có thể sử dụng thêm hộp chứa EEPROM để lưu chương trình
-Có thể sử dụng thêm hộp pin để tăng thời gian duy trì dữ liệu trong RAM
Hoạt động cơ bản của CPU S7-200 như sau:
-CPU đọc trạng thái của các đầu vào và lưu các giá trị trong bộ đệm vào
-CPU thực hiện chương trình lưu trong bộ nhớ và cập nhật dữ liệu trong bộ nhớ
-CPU ghi dữ liệu tới các đầu ra
1.2.1 Khái niệm về vòng quét
Chức năng của CPU là thực hiện lặp đi lặp lại một chuỗi công việc Sự thực hiện các công việc có tính tuần hoàn này gọi là vòng quét (Scan cycle)
Trong mỗi vòng quét, CPU thực hiện hầu hết hoặc toàn bộ các công việc sau:
- Đọc các đầu vào
Trang 14- Thực hiện chương trình
- Xử lý các yêu cầu truyền thông
- Thực hiện tự chẩn đoán
- Viết các đầu ra
Có thể biểu diễn vòng quét của CPU như sau:
Chuỗi các công việc được thực hiện trong vòng quét phụ thuộc vào chế
độ hoạt động của CPU CPU S7-200 có 2 chế độ hoạt động : chế độ STOP và chế độ RUN Sự khác nhau chính giữa 2 chế độ này là: chương trình chỉ được thực hiện trong chế độ RUN mà không được thực hiện trong chế độ STOP
1.2.1.1 Đọc các đầu vào số
Mỗi vòng quét bắt đầu bằng việc đọc giá trị hiện thời của các đầu vào
số và lưu các giá trị này ở bộ đệm vào
CPU quản lý bộ đệm dành cho các đầu vào số theo từng byte Nếu CPU hoặc module mở rộng không có đủ một đầu vào vật lý cho mỗi bit của byte nào đó, thì không thể gán lại các bit này cho các module tiếp theo cũng như không thể sử dụng chúng trong chương trình Tại thời điểm bắt đầu mỗi vòng quét, CPU gán các bit không sử dụng này bằng 0 Trong trường hợp các module mở rộng không được lắp đặt, thì có thể sử dụng các bit đầu vào mở rộng này trong chương trình như các bit nhớ thông thường
1.2.1.2 Thực hiện chương trình
Trang 15Trong giai đoạn thực hiện chương trình, các lệnh được thực hiện lần lượt từ lệnh đầu tiên đến lệnh cuối cùng Các lệnh vào/ra trực tiếp cho phép truy nhập trực tiếp đến các đầu vào/ra vật lý trong khi thực hiện chương trình hoặc trình xử lý ngắt
Nếu chương trình có sử dụng ngắt, thì trình xử lý ngắt chỉ được thực hiện khi sự kiện ngắt tương ứng xuất hiện (sự kiện ngắt có thể xuất hiện tại bất kỳ thời điểm nào trong vòng quét)
1.2.1.3 Xử lý các yêu cầu truyền thông
Trong giai đoạn này, CPU sẽ xử lý bất kỳ yêu cầu nào nhận được từ cổng truyền thông
1.2.1.4 Thực hiện tự chẩn đoán
Trong giai đoạn này, CPU thực hiện kiểm tra phần lõi của nó (chương trình hệ thống), các module vào/ra, bộ nhớ chương trình người dùng (chỉ ở chế độ RUN)
Khi chế độ hoạt động của CPU chuyển từ RUN sang STOP, thì các đầu
ra số nhận giá trị được chỉ ra trong Output Table (sử dụng phần mềm STEP 7- Micro/WIN 32), hoặc giữ nguyên trạng thái hiện thời của chúng Mặc định là các đầu ra số đều nhận giá trị 0 khi CPU chuyển từ chế độ RUN sang STOP
Nên sử dụng bộ nhớ đệm vào/ra hơn là truy nhập trực tiếp các đầu vào/ra khi thực hiện chương trình
Điều đó xuất phát từ các lý do sau đây:
Trang 16-Việc lấy mẫu tất cả các đầu vào tại thời điểm đầu mỗi vòng quét và cập nhật các đầu ra tại thời điểm kết thúc mỗi vòng quét làm cho chương trình
dễ kiểm soát hơn
-Việc truy nhập bộ đệm vào/ra nhanh hơn nhiều so với việc truy nhập trực tiếp các đầu vào/ra vật lý Do đó chương trình được thực hiện nhanh hơn
-Các đầu vào/ra phải truy nhập theo bit, trong khi có thể truy nhập bộ đệm vào/ra theo bit, byte, từ, hoặc từ kép
Các lệnh vào/ra tức thời cho phép truy nhập trực tiếp các đầu vào/ra vật
lý Khi sử dụng một lệnh tức thời để truy nhập đến một đầu vào vật lý thì bit tương ứng ở bộ đệm vào không thay đổi giá trị Khi sử dụng một lệnh tức thời
để truy nhập một đầu ra vật lý thì đồng thời cũng cập nhật bit tương ứng trong
bộ đệm ra
1.2.2 Tổ chức bộ nhớ
CPU S7-200 cung cấp các vùng bộ nhớ chuyên dùng làm cho việc xử
lý dữ liệu nhanh hơn và hiệu quả hơn Ta sẽ tìm hiểu chức năng của từng vùng nhớ và cách truy nhập chúng
1.2.2.1 Định địa chỉ trực tiếp các vùng nhớ
CPU S7-200 lưu trữ dữ liệu ở các vị trí khác nhau trong bộ nhớ, mỗi vị trí nhớ có một địa chỉ duy nhất Chương trình có thể sử dụng địa chỉ của vị trí nhớ để truy nhập dữ liệu trong bộ nhớ Cách truy nhập này gọi là định địa chỉ trực tiếp
Để truy nhập đến một bit trong một vùng nhớ nào đó, chương trình phải chỉ rõ địa chỉ gồm tên vùng nhớ, địa chỉ byte, và địa chỉ bit Địa chỉ byte và địa chỉ bit ngăn cách nhau bởi dấu (.) Chế độ địa chỉ này gọi là chế độ định địa chỉ bit
Định dạng địa chỉ:
[Tên vùng nhớ][Địa chỉ byte].[Địa chỉ bit]
Trang 17Định dạng địa chỉ: [Tên vùng nhớ][Kích thước][Địa chỉ byte đầu tiên]
Ví dụ: VB100, VW100, VD100
Dữ liệu trong các vùng nhớ đối tượng (như T, C, HC và các thanh chứa) được truy cập bằng cách sử dụng địa chỉ gồm tên đối tượng và số hiệu đối tượng
-Vùng nhớ đệm vào I:
CPU lấy mẫu các đầu vào vật lý tại thời điểm bắt đầu của mỗi vòng quét và ghi các giá trị này ở vùng đệm vào Chương trình có thể truy nhập vùng đệm vào theo bit, byte, từ, hoặc từ kép
-Vùng nhớ đệm ra Q:
Trang 18Tại thời điểm kết thúc mỗi vòng quét, CPU sao chép các giá trị được lưu trong vùng đệm ra đến các đầu ra vật lý Chương trình có thể truy nhập vùng đệm ra theo bit, byte, từ, hoặc từ kép
Có thể sử dụng vùng nhớ bit M như các rơle điều khiển bên trong Mặc
dù có tên là vùng nhớ bit nhưng có thể truy nhập theo bit, byte, từ, hoặc từ kép
-Vùng nhớ S (Sequence Control Relay - SCR):
Các bit thuộc vùng nhớ S được sử dụng để tổ chức các hoạt động theo một trình tự nào đó của máy móc thành các đoạn chương trình tương đương Các bit nhớ S được gọi là các rơle điều khiển trình tự Nó cho phép phân đoạn chương trình về mặt logic Có thể truy nhập vùng nhớ S theo bit, byte, từ, hoặc từ kép
-Vùng nhớ đặc biệt SM:
Các bit nhớ đặc biệt SM được sử dụng để giao tiếp giữa CPU và chương trình của người sử dụng Chương trình có thể sử dụng các bit này để lựa chọn và điều khiển một số chức năng đặc biệt của CPU S7-200 Có thể truy nhập dữ liệu trong vùng nhớ này theo bit, byte, từ, hoặc từ kép
-Vùng nhớ cục bộ L:
Các CPU S7-200 cung cấp vùng nhớ cục bộ L gồm 64 byte, trong đó có thể sử dụng 60 byte như là vùng nhớ tạm thời hoặc để truyền các tham số hình
Trang 19thức cho các chương trình con 4 byte cuối cùng của vùng nhớ L được phần mềm STEP 7-Micro/WIN 32 sử dụng
Vùng nhớ L tương tự như vùng nhớ V, chỉ khác ở chỗ vùng nhớ V có
phạm vi toàn cục, còn vùng nhớ L có phạm vi cục bộ Thuật ngữ "toàn cục"
có nghĩa là vùng nhớ được truy nhập từ bất kỳ chương trình nào (chương trình chính, chương trình con, trình xử lý ngắt) Thuật ngữ "cục bộ" có nghĩa là vùng nhớ chỉ được cấp phát và được truy nhập từ một chương trình mà trong
đó vùng nhớ được khai báo CPU S7-200 cấp phát 64 byte vùng nhớ L cho chương trình chính, 64 byte cho mỗi cấp chương trình con, và 64 byte cho các trình xử lý ngắt Một chương trình không thể truy nhập đến vùng nhớ L đã được cấp phát cho các chương trình khác Chỉ khi sự kiện ngắt xuất hiện hoặc khi chương trình con được gọi thì vùng nhớ L mới được cấp phát nếu có sử dụng Vùng nhớ mới được cấp phát có thể dùng lại vùng nhớ đã được cấp phát cho một chương trình con hoặc trình xử lý ngắt khác
Vùng nhớ L không được khởi tạo tại thời điểm cấp phát nên có thể chứa bất kỳ giá trị nào Khi thực hiện lệnh gọi chương trình con đồng thời cũng thực hiện truyền giá trị cho các tham số hình thức, CPU đặt các giá trị này vào các vị trí trong vùng nhớ L được cấp phát cho chương trình con đó; các vị trí khác không được truyền giá trị thì có thể chứa giá trị bất kỳ
Có thể truy nhập vùng nhớ L theo bit, byte, từ hoặc từ kép Chú ý rằng
có thể sử dụng vùng nhớ L làm con trỏ khi định địa chỉ gián tiếp, nhưng không thể định địa chỉ gián tiếp vùng nhớ L
-Vùng nhớ của các bộ định thời T:
Trong CPU S7-200, các bộ định thời có chức năng đếm thời gian Các
bộ định thời S7-200 có các độ phân giải 1ms, 10ms, 100ms Có hai biến được kết hợp với mỗi bộ định thời:
Trang 20.Giá trị hiện thời: là số nguyên không dấu 16 bit lưu giữ khoảng thời gian mà bộ định thời đã đếm được
.Giá trị bit của bộ định thời (Timer bit): bit này được đặt hoặc xoá tuỳ thuộc vào kết quả so sánh giữa giá trị hiện thời và giá trị đặt trước Giá trị đặt trước được nhập như một toán hạng của lệnh Timer
Có thể truy nhập đến cả hai biến này bằng cách sử dụng định dạng địa chỉ sau: T[số bộ định thời]
Việc truy nhập đến giá trị hiện thời hoặc giá trị bit tuỳ thuộc vào lệnh được sử dụng: lệnh với toán hạng bit truy nhập đến giá trị bit; lệnh với toán hạng từ truy nhập đến giá trị hiện thời
-Vùng nhớ của các bộ đếm C:
Trong CPU S7-200, các bộ đếm có chức năng đếm theo sườn dương của xung ở các đầu vào đếm CPU cung cấp ba loại bộ đếm: đếm tiến, đếm lùi, đếm cả tiến và lùi Có hai biến được kết hợp với mỗi bộ đếm:
.Giá trị hiện thời: là số nguyên không dấu 16 bit lưu giữ số xung đã đếm được
.Giá trị bit của bộ đếm (Counter bit): bit này được đặt hoặc xoá tuỳ thuộc vào kết quả so sánh giữa giá trị hiện thời và giá trị đặt trước Giá trị đặt trước được nhập như một toán hạng của lệnh Counter
Có thể truy nhập đến cả hai biến này bằng cách sử dụng định dạng địa chỉ sau:
C[số bộ đếm]
Việc truy nhập đến giá trị hiện thời hoặc giá trị bit tuỳ thuộc vào lệnh được sử dụng: lệnh với toán hạng bit truy nhập đến giá trị bit; lệnh với toán hạng từ truy nhập đến giá trị hiện thời
-Địa chỉ các đầu vào tương tự AI:
Trang 21S7-200 biến đổi một giá trị tương tự (như nhiệt độ hoặc điện áp) thành một giá trị số có độ dài 16 bit Việc đọc các giá trị này bằng cách sử dụng địa chỉ gồm nhận dạng vùng nhớ (AI), kích thước dữ liệu (W), địa chỉ byte đầu tiên Bởi vì các đầu vào tương tự là các từ và luôn bắt đầu bằng các byte số chẵn, nên địa chỉ byte là các số chẵn Các giá trị đầu vào tương tự là các giá trị chỉ đọc được (read-only)
Định dạng địa chỉ:
AIW[Địa chỉ byte đầu tiên(là một số chẵn)]
-Địa chỉ các đầu ra tương tự AQ:
S7-200 biến đổi một giá trị số 16 bit thành tín hiệu điện tỷ lệ với giá trị
số Việc ghi các giá trị này bằng cách sử dụng địa chỉ gồm nhận dạng vùng nhớ (AQ), kích thước dữ liệu (W), địa chỉ byte đầu tiên Bởi vì các đầu ra tương tự là các từ và luôn bắt đầu bằng các byte số chẵn, nên địa chỉ byte là các số chẵn Các giá trị đầu ra tương tự là các giá trị chỉ ghi được (write-only)
Định dạng địa chỉ:
AQW[Địa chỉ byte đầu tiên (là một số chẵn)]
-Các thanh chứa AC:
Các thanh chứa (Accumulator) là các thiết bị đọc/ghi có thể được sử dụng như bộ nhớ Ví dụ, có thể sử dụng các thanh chứa để truyền tham số cho các chương trình con, và để lưu các giá trị trung gian của phép tính CPU cung cấp 4 thanh chứa có độ dài 32 bit là AC0, AC1, AC2, AC3 Có thể truy nhập dữ liệu trong các thanh chứa theo byte, từ, hoặc từ kép Việc truy nhập theo byte hoặc từ là truy nhập 8 hoặc 16 bit thấp của thanh chứa; truy nhập theo từ kép là truy nhập cả 32 bit của thanh chứa Kích thước dữ liệu được truy nhập phụ thuộc lệnh được sử dụng
Định dạng địa chỉ:
Trang 22AC[Số thanh chứa]
-Địa chỉ các bộ đếm tốc độ cao HC:
Các bộ đếm tốc độ cao được thiết kế để đếm các sự kiện có tốc độ rất cao không phụ thuộc vào vòng quét của CPU Bộ đếm tốc độ cao có một giá trị hiện thời là số nguyên không dấu 32 bit Truy nhập giá trị này bằng cách
sử dụng địa chỉ như sau:
HC[Số bộ đếm]
Giá trị hiện thời là một giá trị chỉ đọc được và chỉ có thể truy nhập theo
từ kép
1.2.2.2 Định địa chỉ gián tiếp
Định địa chỉ gián tiếp sử dụng một con trỏ để truy nhập dữ liệu trong
bộ nhớ CPU S7-200 cho phép sử dụng con trỏ để định địa chỉ gián tiếp cho các vùng nhớ sau: I, Q, V, M, S, T (giá trị hiện thời), và C (giá trị hiện thời) Không thể định địa chỉ gián tiếp cho các bit riêng lẻ hoặc các giá trị tương tự
Để định địa chỉ gián tiếp cho một vị trí trong bộ nhớ, trước tiên phải tạo
ra một con trỏ đến vị trí đó Con trỏ là một vị trí nhớ 32 bit chứa địa chỉ của một vị trí nhớ khác Như vậy, cần phân biệt vị trí nhớ được định địa chỉ gián tiếp và vị trí nhớ con trỏ Chỉ có thể sử dụng vùng nhớ V, vùng nhớ L, hoặc các thanh chứa (AC1, AC2, AC3) làm con trỏ Để tạo ra một con trỏ, sử dụng lệnh MOVD để di chuyển địa chỉ của vị trí nhớ cần định địa chỉ gián tiếp vào
vị trí nhớ con trỏ Sử dụng ký hiệu & để chỉ rõ toán hạng là địa chỉ của một vị trí nhớ chứ không phải nội dung của vị trí nhớ
Ví dụ:
MOVD &VB100, VD204
Như vậy, con trỏ VD204 sẽ chứa địa chỉ của byte VB100
Trong một lệnh, sử dụng ký hiệu * để chỉ rõ toán hạng là một con trỏ
Ví dụ:
Trang 23MOVD &VB200,AC1
MOVW *AC1,AC0
Lệnh thứ nhất tạo ra một con trỏ AC1 chứa địa chỉ của byte VB200 Lệnh thứ hai di chuyển giá trị từ được trỏ bởi AC1 vào thanh chứa AC0
Có thể thay đổi giá trị con trỏ bằng cách sử dụng các lệnh với toán hạng
từ kép, bởi vì con trỏ là giá trị 32 bit Tuỳ thuộc vào kích thước dữ liệu được truy nhập mà thay đổi giá trị con trỏ cho phù hợp: Khi truy nhập theo byte thì tăng giá trị con trỏ lên 1 đơn vị Khi truy nhập theo từ thì tăng giá trị con trỏ lên 2 đơn vị.Khi truy nhập theo từ kép thì tăng giá trị con trỏ lên 4 đơn vị
Ví dụ truy nhập theo từ:
1.2.2.3 Duy trì dữ liệu khi ngắt nguồn
CPU S7-200 cung cấp một số phương pháp để đảm bảo chương trình,
dữ liệu, và dữ liệu cấu hình cho CPU được lưu lại một cách thích hợp
-CPU cung cấp một EEPROM để lưu giữ cố định toàn bộ chương trình, các vùng dữ liệu tùy chọn, và dữ liệu cấu hình cho CPU
Trang 24-CPU cung cấp một tụ điện để duy trì nội dung của RAM sau khi ngắt nguồn khỏi CPU Tuỳ thuộc vào từng module CPU mà tụ có thể duy trì RAM trong vài ngày
-Có thể dùng thêm một hộp pin (cartridge) nhằm làm tăng thời gian duy trì nội dung của RAM sau khi mất nguồn Hộp pin chỉ cấp nguồn sau khi tụ đã phóng hết
Một đồ án của người sử dụng gồm 3 phần: chương trình, khối dữ liệu (tuỳ chọn), dữ liệu cấu hình CPU (tuỳ chọn) Khi nạp đồ án vào CPU, các phần này được lưu trong RAM Sau đó, CPU tự động sao chép các dữ liệu này vào EEPROM Khi tải một đồ án từ CPU, dữ liệu cấu hình CPU được tải
từ RAM, còn chương trình và dữ liệu được tải từ EEPROM
Nhờ phần mềm lập trình STEP 7-Micro/WIN 32, ta có thể định nghĩa
một vùng nhớ có tính chất duy trì hoặc không duy trì Vùng nhớ duy trì là
vùng nhớ sẽ được tự động sao chép vào EEPROM khi mất nguồn, còn vùng nhớ không duy trì là vùng nhớ không được tự động sao chép vào EEPROM khi mất nguồn Tuy nhiên, toàn bộ dữ liệu trong RAM có thể được lưu lại trong một thời gian nào đó nhờ có tụ điện hoặc pin Ngoài ra, vùng nhớ V (có tính chất duy trì hoặc không duy trì) có thể được sao chép vào EEPROM bằng các lệnh khi thực hiện chương trình
Định nghĩa các vùng nhớ duy trì:
Sử dụng phần mềm lập trình STEP 7-Micro/WIN 32, có thể định nghĩa đến 6 khoảng nhớ duy trì thuộc các vùng nhớ sau: V, M, T, C Đối với các bộ Timer (các bộ Timer kiểu TONR) và Counter, chỉ có giá trị hiện thời là có thể duy trì
Sao chép vùng nhớ V vào EEPROM khi thực hiện chương trình:
Có thể sao chép một giá trị byte, từ hoặc từ kép trong vùng nhớ V vào bất kỳ vị trí nào của EEPROM Byte nhớ đặc biệt SMB31 và từ nhớ đặc biệt
Trang 25SMW32 được sử dụng để thực hiện lệnh sao chép này Thứ tự thực hiện như sau:
-Nạp địa chỉ của dữ liệu cần sao chép ở vùng nhớ V vào SMW32 Địa chỉ là một giá trị offset từ vị trí VB0
-Nạp 2 bit chỉ kích thước của dữ liệu vào các bit SM31.0 và SM31.1 Định dạng hai bit này như sau:
0 Vì vậy, không được thay đổi giá trị trong vùng nhớ V cho đến khi hoạt động sao chép hoàn thành
Phục hồi dữ liệu khi bật nguồn:
Khi bật nguồn, CPU phục hồi chương trình và dữ liệu cấu hình CPU từ EEPROM Đồng thời CPU cũng kiểm tra lại xem tụ điện hoặc pin có lưu giữ đúng nội dung của RAM hay không
Nếu dữ liệu trong RAM được lưu giữ thì những vùng nhớ RAM mà được định nghĩa là vùng nhớ duy trì sẽ không thay đổi nội dung Vùng nhớ V không duy trì sẽ được phục hồi từ vùng nhớ cố định V tương ứng trong EEPROM
Nếu dữ liệu trong RAM không được lưu giữ (do sai sót của tụ hoặc pin) thì CPU xóa RAM (bao gồm cả vùng duy trì và không duy trì) và đặt bit SM0.2 lên 1 trong vòng quét đầu tiên Sau đó, dữ liệu được phục hồi từ EEPROM
Trang 26Dưới đây là bảng mô tả các kiểu vùng nhớ trong PLC
Vùng
nhớ Mô tả
Truy nhập bit
Truy nhập byte
Truy nhập từ
Truy nhập từ kép
Có thể duy trì
Có thể gán giá trị (force)
đọc/ghi đọc/ghi đọc/ghi đọc/ghi không Có
M nhớ nội các bit đọc/ghi đọc/ghi đọc/ghi đọc/ghi có Có
đọc/ghi đọc/ghi đọc/ghi đọc/ghi không Không
V nhớ biến vùng đọc/ghi đọc/ghi đọc/ghi đọc/ghi có có
đọc/ghi
không
giá trị hiện thời:
có T-bit:
đọc/ghi
không
giá trị hiện thời:
có C-bit:
Trang 27đọc/ghi đọc/ghi đọc/ghi đọc/ghi không Không
1.2.3 Lựa chọn cấu hình cho các đầu vào/ra
1.2.3.1 Các đầu vào/ra tích hợp và mở rộng
Các đầu vào/ra tích hợp trên module CPU có các địa chỉ cố định Có thể thêm các đầu vào/ra bằng cách kết nối các module mở rộng về bên phải của CPU để tạo thành một dãy các đầu vào/ra Địa chỉ của các vị trí trên module được xác định bằng kiểu vào/ra và vị trí của module trong dãy, và có liên hệ với địa chỉ các module cùng kiểu trước đó Các module mở rộng số sử dụng bộ đệm vào/ra theo từng byte Điều này có nghĩa là nếu một module không có đủ 8 đầu vào hoặc ra cho một byte trong bộ đệm, thì các bit chưa sử dụng trong byte đó không thể gán cho các module tiếp theo trong dãy, cũng như không thể dùng chúng trong chương trình Đối với module vào, các bit chưa dùng này được xóa về 0 khi CPU cập nhật đầu vào
Sử dụng phần mềm STEP 7-Micro/WIN 32, ta có thể thiết lập trạng thái của các đầu ra số nhận các giá trị cho trước hoặc giữ nguyên giá trị khi CPU chuyển từ chế độ RUN sang STOP Chức năng này không thể sử dụng cho các đầu ra tương tự, bởi vì không có bộ đệm cho các đầu vào/ra tương tự
Trang 28và việc cập nhật các đầu vào/ra tương tự không phải là một chức năng tự động của hệ thống
1.2.3.2 Lọc nhiễu cho các đầu vào số tích hợp
Các CPU S7-200 cho phép lựa chọn chức năng lọc nhiễu cho một vài hoặc toàn bộ các đầu vào số tích hợp Chức năng lọc nhiễu thực chất là lựa chọn một khoảng thời gian trễ (từ 0,2ms đến 12,8ms) cho một đầu vào
Trang 29Sử dụng phần mềm lập trình STEP 7-Micro/WIN 32 để lựa chọn chức năng lọc nhiễu cho các đầu vào số tích hợp Những dữ liệu này là một phần trong dữ liệu cấu hình cho CPU (System block) và được nạp vào bộ nhớ của CPU
1.2.3.3 Chức năng bắt xung
Như đã biết, CPU đọc giá trị các đầu vào số tại thời điểm bắt đầu của mỗi vòng quét, do đó nếu thời gian tồn tại của xung ở đầu vào nhỏ hơn thời gian của vòng quét thì sự thay đổi đó không được CPU nhận ra Tuy nhiên, khi cần thiết ta có thể sử dụng chức năng bắt xung (pulse catch) để khắc phục hạn chế này Có thể lựa chọn chức năng bắt xung cho một vài hoặc toàn bộ các đầu vào số tích hợp Nếu lựa chọn chức năng bắt xung cho một đầu vào nào đó thì sự thay đổi trạng thái trên đầu vào này sẽ được chốt cho đến đầu vòng quét tiếp theo Do đó giá trị này sẽ được CPU đọc vào bộ đệm Nếu có nhiều xung xuất hiện trong một vòng quét thì chỉ xung đầu tiên là được chốt
Sơ đồ mô tả chức năng bắt xung:
Trang 30Cấu trúc của mạch đầu vào như sau:
Ta thấy rằng, khi sử dụng chức năng bắt xung cần phải điều chỉnh thời gian trễ của bộ lọc sao cho xung không bị bộ lọc loại bỏ
Sử dụng phần mềm STEP 7-Micro/WIN 32 để lựa chọn chức năng bắt xung cho mỗi đầu vào số tích hợp Dữ liệu này sẽ được nạp vào bộ nhớ như là một phần dữ liệu cấu hình cho CPU
1.2.3.4 Chức năng điều chỉnh tương tự
Các bộ điều chỉnh tương tự được đặt ở module CPU Giá trị của các bộ điều chỉnh tương tự được biến đổi thành giá trị số 8 bit và được lưu vào các byte nhớ đặc biệt: SMB28 tương ứng với bộ điều chỉnh tương tự 0; SMB29 tương ứng với bộ điều chỉnh tương tự 1 Có thể sử dụng các bộ điều chỉnh tương tự để nhập giá trị khi cần thiết
1.2.4 Phương pháp lập trình cho S7-200
Cách lập trình cho S7-200 dựa trên ba phương pháp: phương pháp liệt
kê lệnh (Statement List - viết tắt là STL), phương pháp hình thang (Ladder Logic - viết tắt là LAD), và phương pháp biểu đồ khối chức năng (Function Block Diagram - viết tắt là FBD)
Trang 31-Phương pháp liệt kê lệnh:
Phương pháp liệt kê lệnh cho phép tạo ra các chương trình điều khiển bằng cách nhập mã gợi nhớ của lệnh Nhìn chung, phương pháp liệt kê lệnh phù hợp cho những nhà lập trình chuyên nghiệp Phương pháp STL cho phép tạo ra các chương trình mà đôi khi không thể viết được bằng các phương pháp LAD hoặc FBD, bởi vì đó là các phương pháp đồ họa nên phải có một số quy tắc để vẽ và nối các phần tử cho đúng Để lập trình bằng phương pháp STL cần phải hiểu rõ phương thức sử dụng ngăn xếp logic, bởi vì các lệnh này can thiệp vào các bit của ngăn xếp Các thao tác can thiệp vào ngăn xếp tác động đến bit đầu tiên hoặc bit đầu tiên và bit thứ hai của ngăn xếp Giá trị mới có thể ghi đè hoặc chèn vào bit đầu tiên của ngăn xếp Khi giá trị mới chèn vào
vị trí bit đầu tiên thì các bit bị đẩy xuống một vị trí và bit cuối cùng sẽ bị mất Thao tác với hai bit đầu tiên sẽ kéo các bit tiếp theo lên một vị trí
Ngăn xếp logic là một vùng nhớ gồm có 9 bit liền nhau Các lệnh chỉ can thiệp đến bit đầu tiên và bit thứ hai của ngăn xếp
-Phương pháp hình thang:
Trang 32Phương pháp hình thang được sử dụng rộng rãi vì có tính trực quan, đơn giản Các phần tử trong LAD tương ứng với các phần tử của hệ thống điều khiển rơle, đó là tiếp điểm, cuộn dây, hộp chức năng và mạng LAD
Tiếp điểm: tượng trưng cho tiếp điểm của rơle Các tiếp điểm có thể là thường mở hoặc thường đóng
Cuộn dây: tượng trưng cho cuộn dây của rơle
Hộp (box): tượng trưng cho các hàm, làm việc khi có dòng điện chạy đến hộp
Mạng LAD: là đường nối các phần tử thành mạch hoàn thiện từ đường nguồn bên trái, qua các tiếp điểm đến cuộn dây hoặc các hộp và về đường nguồn bên phải Trong phần mềm lập trình STEP 7-Micro/WIN 32 không thể hiện đường nguồn bên phải
-Phương pháp biểu đồ khối chức năng:
Phương pháp này sử dụng các khối hộp để biểu diễn các cổng logic (AND, OR, NOT) và các hàm thực hiện các chức năng (định thời, đếm, toán học ) Có các đường nối giữa các hộp để tạo thành mạch logic theo yêu cầu
Vì vậy, phương pháp này tương tự như việc thiết kế mạch số
1.3 Ứng dụng PLC xây dựng hệ thống điều khiển tự động
Khi bắt đầu xây dựng một hệ thống điều khiển trên cơ sở ứng dụng PLC, một câu hỏi đặt ra là phải thực hiện những công việc theo một quy trình như thế nào? Có thể đó không phải là một vấn đề lớn khi xây dựng một hệ thống đơn giản Nhưng đối với những hệ thống phức tạp thì cần phải có một quy trình thiết kế phù hợp Nó giúp cho người thiết kế kiểm soát được quá trình thực hiện công việc của mình, từ sự mô tả chức năng và yêu cầu của hệ thống cho đến việc lập chương trình điều khiển cho PLC Trong chương này
sẽ đưa ra mô hình hệ thống điều khiển trình tự, đề cập đến phương pháp mô tả chức năng hệ thống điều khiển trình tự và kỹ thuật lập trình điều khiển trình
tự ứng dụng PLC
Trang 331.3.1 Hệ thống điều khiển trình tự và hệ thống điều khiển tổ hợp
Một hệ thống điều khiển tự động bao gồm các thành phần chính sau:
- Phần điều khiển: phần điều khiển có chức năng tạo ra các lệnh điều
khiển cần thiết tùy thuộc vào thông tin mà nó nhận được Các thông tin này có thể nhận được từ người điều khiển hoặc thông tin phản hồi từ phần chấp hành thông qua các cảm biến
- Phần chấp hành: đôi khi còn gọi là phần công suất, nhận lệnh từ phần
điều khiển để thực hiện điều khiển đối tượng Phần chấp hành có thể là các động cơ điện, cuộn dây điện từ, rơle
Mô hình tổng quát của hệ thống điều khiển tự động như sau:
Hệ thống điều khiển logic là hệ thống điều khiển thực hiện các chức năng logic chuyển mạch Ta có thể mô tả hệ thống điều khiển logic dưới dạng một mạch logic gồm các đầu vào và đầu ra như sau:
Dựa theo mô hình này, có thể chia hệ thống điều khiển thành hai loại:
Trang 34-Hệ thống điều khiển tổ hợp: là hệ thống điều khiển mà trạng thái của
các đầu ra chỉ phụ thuộc vào trạng thái của các đầu vào tại thời điểm đang xét
Có thể biểu diễn hệ thống dưới dạng hàm logic:
Đầu ra = f(đầu vào)
-Hệ thống điều khiển trình tự: là hệ thống điều khiển mà trạng thái của
các đầu ra không chỉ phụ thuộc vào trạng thái của các đầu vào tại thời điểm đang xét mà còn phụ thuộc vào trạng thái trước đó của hệ thống Biểu diễn hệ thống bằng hàm logic:
Đầu ra = f(đầu vào, trạng thái hệ thống)
Hệ điều khiển tổ hợp là trường hợp riêng của hệ điều khiển trình tự, khi
số trạng thái của hệ thống bằng 1 Hệ thống điều khiển trình tự là hệ thống phổ biến trong thực tế Đặc trưng của hệ thống điều khiển trình tự là sự thực hiện lặp đi lặp lại một chuỗi các thao tác, tương ứng với một trạng thái hoạt động của hệ thống
1.3.2 Thiết kế hệ thống điều khiển trình tự
1.3.2.1 Quy trình thiết kế hệ thống điều khiển trình tự
Thiết kế hệ thống điều khiển trình tự ứng dụng PLC gồm có hai nhiệm
vụ là thiết kế phần cứng và thiết kế chương trình điều khiển Thiết kế chương trình điều khiển chỉ là một phần trong toàn bộ quá trình thiết kế, nhưng là yếu
tố quan trọng vì nó tạo ra các tài liệu cần thiết giúp cho việc lập trình và gỡ rối cũng như lập tài liệu hệ thống để lưu trữ sau này Điều này đặc biệt có ý nghĩa khi bảo trì và nâng cấp hệ thống
Trang 36Hình 1.20 biểu diễn quy trình tổng quát khi thiết kế hệ thống điều khiển trình tự ứng dụng PLC Phương pháp này cho phép triển khai, lắp đặt phần cứng và thiết kế chương trình điều khiển được tiến hành độc lập và song song
Nó cũng cho phép trao đổi thông tin bổ xung giữa các quá trình thiết kế nhằm hoàn thiện hệ thống theo hướng tối ưu nhất.Đối với hệ thống điều khiển đơn giản thì ít khi đòi hỏi sự hoạch định và thiết kế chương trình, bởi vì không có nhiều sự liên kết logic giữa các phần trong chương trình Đối với các hệ thống phức tạp, cần thiết kế chương trình có cấu trúc và theo một quy trình xác định, điều đó làm cho quá trình được kiểm soát, tránh nhầm lẫn và thiếu sót khi thiết kế chương trình, chương trình dễ đọc, hiệu chỉnh, bổ xung, và lập tài liệu thiết kế.Trong quy trình thiết kế hệ thống điều khiển, một vấn đề quan trọng
là phải mô tả hệ thống điều khiển một cách chính xác, khoa học, và được chuẩn hóa Ngoài ra, cách mô tả hệ thống phải tạo điều kiện thuận lợi cho việc thiết kế chương trình điều khiển
1.3.2.2 Các phương pháp mô tả hệ thống điều khiển
Sự mô tả hệ thống điều khiển một cách chi tiết bằng lời thường dài, khó theo dõi, không trong sáng và không chính xác Nó chỉ được sử dụng để
mô tả một cách khái quát nhất các chức năng và yêu cầu của hệ thống Để mô
tả hệ thống điều khiển đáp ứng được các yêu cầu đã nêu thì trước hết cần phải chia quá trình điều khiển thành các khối chức năng nhỏ, mỗi khối này ngoài các đầu vào/ra vật lý còn có các đầu vào/ra logic để liên kết các khối lại với nhau Mỗi khối chức năng là những hệ thống điều khiển dạng tổ hợp hay trình
tự Như vậy, ta đã làm đơn giản hóa hệ thống bởi vì hệ thống điều khiển trình
tự ban đầu đã được chia thành các hệ thống điều khiển trình tự nhỏ và cả hệ thống tổ hợp - là hệ thống đơn giản hơn trong việc thiết kế
Trang 37Có thể sử dụng một số phương pháp mô tả hệ thống sau đây:
-Phương pháp logic rơle và cổng logic:
Hai phương pháp này có liên hệ trực tiếp đến mạch vật lý, vì vậy nó được ứng dụng trong các hệ thống mà PLC thay thế cho hệ thống rơle truyền thống Các bản vẽ về hệ thống role có thể sử dụng để lập trình cho PLC Tuy nhiên, cả hai phương pháp này chỉ được ứng dụng cho hệ thống điều khiển tổ hợp logic hay hệ thống điều khiển trình tự đơn giản, quy mô nhỏ, vì sơ đồ biểu diễn sẽ rất phức tạp và khó theo dõi đối với các ứng dụng trình tự quy
mô lớn, đôi khi là không thể thực hiện được
-Phương pháp lưu đồ:
Phương pháp này thường dùng khi thiết kế chương trình cho máy tính, cũng là phương pháp phổ biến để mô tả trình tự hoạt động của một hệ thống điều khiển Lưu đồ có quan hệ trực tiếp đến sự mô tả bằng lời hệ thống điều khiển, chỉ ra điều kiện cần kiểm tra ở từng bước và các thao tác xử lý trong bước đó Phương pháp này có nhược điểm là chiếm nhiều không gian khi mô
tả hệ thống lớn
-Phương pháp sơ đồ chức năng:
Phương pháp này ngày càng trở nên phổ biến để mô tả các hoạt động trình tự, cho phép thể hiện một cách chi tiết các thao tác xử lý ở một trạng thái (hay bước) cũng như trình tự hoạt động của quá trình điều khiển.Với cách dùng các ký hiệu gọn và cô đọng cho phép mô tả hệ thống mạch lạc và rõ ràng, mô tả được các chức năng chuyên dùng của các máy móc và quá trình, không những gần gũi với các hoạt động của các cơ cấu máy hay quá trình mà còn là công cụ hỗ trợ đắc lực khi kiểm tra và chạy thử hệ thống
Trang 381.3.2.3 Phương pháp sơ đồ chức năng mô tả hệ thống điều khiển trình tự
Xuất phát từ nhu cầu về một ngôn ngữ mô tả các hệ thống logic nói chung và hệ thống điều khiển trình tự nói riêng đảm bảo các yêu cầu đơn giản, hiệu quả, trực quan, chính xác nhằm hỗ trợ cho quá trình thiết kế các hệ thống tự động trong công nghiệp, các nhà khoa học đã phát triển ngôn ngữ mô
tả hệ thống tự động GRAFCET - gọi là biểu đồ mô tả sự chuyển đổi trạng thái Phương pháp GRAFCET dùng để mô tả các hệ thống tự động, giúp cho
việc phân tích và tổng hợp hệ thống dễ dàng và chính xác Dưới đây sẽ trình bày một số vấn đề cơ bản của phương pháp GRAFCET
a Các phần tử cơ bản của GRAFCET
Sơ đồ mô tả bằng phương pháp GRAFCET gồm có các phần tử cơ bản sau:
Trang 39Trong GRAFCET, một trạng thái được biểu diễn bằng một ô vuông kèm theo tên của trạng thái Đầu vào trạng thái là nét gạch nối phía trên và đầu ra là nét gạch nối phía dưới Trạng thái tích cực có thêm một dấu chấm (.)
Trạng thái ban đầu là trạng thái tích cực ngay khi bắt đầu chu trình làm
việc của hệ thống (khi bật nguồn) và được biểu diễn bằng hai hình vuông lồng nhau Một GRAFCET có thể có một hoặc vài trạng thái ban đầu
Mỗi trạng thái thể hiện một giai đoạn làm việc ổn định của hệ thống, tương ứng với một số tác động của hệ thống Khi trạng thái được tích cực thì các tác động tương ứng được thực hiện Các tác động này có thể là phát lệnh điều khiển phần chấp hành hoặc các bộ phận bên trong của phần điều khiển
để thực hiện các thuật toán như xử lý dữ liệu, định thời Một trạng thái có thể
không có các tác động tương ứng và được gọi là trạng thái đợi Các tác động
tương ứng với một trạng thái được ghi bên cạnh dưới dạng ngôn ngữ hoặc ký hiệu
-Bước chuyển trạng thái:
Trang 40Việc chuyển từ trạng thái này sang trạng thái kia được thực hiện thông qua bước chuyển trạng thái nằm giữa hai trạng thái đó Khi một bước chuyển trạng thái được thực hiện sẽ làm cho trạng thái trực tiếp sau nó trở nên tích cực và trạng thái trực tiếp trước nó trở nên không tích cực Giữa hai trạng thái
có một và chỉ một bước chuyển trạng thái Trong quá trình vận hành, một
bước chuyển trạng thái có thể là hợp thức hoặc không hợp thức Bước chuyển
trạng thái được gọi là hợp thức khi tất cả các trạng thái trực tiếp trước nó đồng thời là tích cực Ngược lại sẽ là bước chuyển không hợp thức
Mỗi bước chuyển trạng thái có một điều kiện logic, có giá trị thực (1)
hoặc giả (0) và được biểu diễn bằng một hoặc vài hàm logic của các biến là các đầu vào vật lý hoặc đầu vào logic bên trong hệ thống Khi điều kiện logic
có giá trị 1 thì bước chuyển trạng thái được thực hiện, nếu bằng 0 thì không được thực hiện
Một bước chuyển trạng thái được biểu diễn bằng một gạch ngang vuông góc với đường nối giữa hai trạng thái
-Đường nối có hướng:
Đường nối có hướng nối các trạng thái với các bước chuyển hoặc ngược lại, nó chỉ rõ chiều tiến triển của quá trình Đường nối mặc định là có chiều từ trên xuống, nếu muốn chỉ các chiều khác thì phải dùng mũi tên chỉ chiều tiến triển