Giáo trình PLC cơ bản cung cấp cho người học những kiến thức như: Đại cương về điều khiển lập trình; Cấu trúc và phương thức hoạt động của một PLC; Kết nối giữa PLC và thiết bị ngoại vi; Các phép toán nhị phân của PLC; Các phép toán số của PLC; Bộ xử lý tín hiệu Analog; Các bài tập ứng dụng trong điều khiển động cơ. Mời các bạn cùng tham khảo!
ĐẠI CƯƠNG VỀ ĐIỀU KHIỂN LẬP TRÌNH
TỔNG QUAN VỀ ĐIẾU KHIỂN
Trong tất cả các ngành sản xuất, tăng năng suất lao động là mục tiêu quan trọng, được thực hiện thông qua việc nâng cao mức độ tự động hóa trong các quy trình và thiết bị sản xuất Tự động hóa không chỉ giúp tăng sản lượng mà còn cải thiện chất lượng và độ chính xác của sản phẩm.
Tự động hoá là quá trình thay thế các thao tác vật lý của công nhân hoặc thiết bị bằng hệ thống điều khiển, giúp quản lý sản xuất với độ tin cậy và ổn định cao Hệ thống này có khả năng khởi động, kiểm soát và dừng quá trình sản xuất với ít hoặc không cần can thiệp của con người, và được gọi là hệ thống điều khiển.
Một hệ thống điều khiển bất kỳ được cấu tạo từ ba thành phần: khối vào, khối xử lý và khối ra
Hình 1.1: Các khối trong hệ thống điều khiển
Khối vào là thiết bị chuyển đổi các đại lượng vật lý thành tín hiệu điện, bao gồm nút nhấn, công tắc và cảm biến Tùy thuộc vào loại chuyển đổi, tín hiệu có thể ở dạng tương tự (analog) hoặc dạng số (binary).
Kết quả xử lý Tín hiệu vào
KHỐI VÀO KHỐI XỬ LÝ KHỐI RA
Bộ chuyển đổi tín hiệu ngõ vào
Xử lý điều khiển Cơ cấu tác động
Khối xử lý thay thế người vận hành thực hiện các thao tác để đảm bảo các quá trình hoạt động được "điều khiển" Nó tiếp nhận thông tin từ các tín hiệu ở khối vào và xuất tín hiệu đến khối ra nhằm tác động lên thiết bị.
Khối ra tín hiệu là kết quả của quá trình xử lý trong hệ thống điều khiển, tạo ra các hoạt động cụ thể ở máy hoặc thiết bị để thực hiện mục tiêu Các thiết bị ở ngõ ra như động cơ, xy lanh khí nén, bơm, và rơ le, cùng với các bộ chuyển đổi tín hiệu, có thể hoạt động với tín hiệu dạng Analog hoặc Digital.
Hệ thống điều khiển được phân loại thành hai dạng chính: điều khiển liên tục và điều khiển rời rạc Điều khiển liên tục nhận tín hiệu trực tiếp từ các bộ cảm biến, chuyển đổi các đại lượng không điện thành tín hiệu điện, và điều chế tín hiệu thông qua các mạch khuếch đại, cộng và tích phân Sau đó, tín hiệu điều khiển được xuất đến các cơ cấu tác động như van, bơm, và đầu phát nhiệt Các cơ cấu tác động này có thể hoạt động liên tục hoặc ở hai trạng thái on/off.
Việc xử lý tín hiệu liên tục trong hệ thống phụ thuộc vào các quá trình xử lý tương ứng, thường bao gồm mạch khuếch đại và các phép tính toán cần thiết để tạo ra sự thay đổi ở các ngõ ra theo mong muốn.
Bộ điều khiển xử lý tín hiệu liên tục gồm mạch điện tử tuyến tính, máy tính hoặc máy vi tính
Điều khiển nhị phân hay điều khiển on/off là phương pháp phổ biến trong công nghiệp, được áp dụng cho máy móc và thiết bị có nhiều bộ phận Các bộ phận này thường chỉ có hai trạng thái: đóng hoặc mở, và có thể được điều khiển thông qua các hoạt động đơn giản hoặc theo một trình tự nhất định.
Tín hiệu từ các cảm biến được chuyển đổi thành tín hiệu nhị phân qua bộ chuyển đổi, sau đó xuất ra tín hiệu điều khiển cho cơ cấu tác động đóng mở Trong nhiều trường hợp, tín hiệu đầu vào có dạng rời rạc như tín hiệu từ công tắc hoặc chuỗi bit dữ liệu từ bàn phím, do đó kỹ thuật điều khiển nhị phân được áp dụng.
Các bộ điều khiển nhị phân gồm các mạch rơ-le, các hệ thống điều khiển điện, dầu, khí nén, máy tính, PLC
Mỗi loại điều khiển có ứng dụng riêng và phát huy hiệu quả trong lĩnh vực của nó Trong ngành công nghiệp, cả hai loại điều khiển đều được sử dụng, tuy nhiên, điều khiển nhị phân thường có độ phức tạp tương đương hoặc vượt trội hơn so với điều khiển tương tự.
Hình 1.3: Loại điều khiển nhị phân
Phương pháp điều khiển có thể chia thành ba loại chính: điều khiển vòng hở, điều khiển kích tiếp và điều khiển vòng kín Điều khiển vòng hở thiết lập hệ thống hoạt động mà không có thông tin phản hồi, dẫn đến việc không thể hiệu chỉnh tín hiệu ra Trong khi đó, điều khiển kích tiếp có sự bù trừ từ hoạt động giám sát nhiễu, giúp cải thiện hiệu suất Điều khiển vòng kín là phương pháp tiên tiến hơn, giúp loại bỏ tác hại của nhiễu bằng cách đo lường ảnh hưởng của chúng và tính toán các tác động cần thiết để duy trì tín hiệu đầu ra ổn định Tín hiệu phản hồi từ ngõ ra được so sánh với tín hiệu ngõ vào, và sai biệt giữa chúng được sử dụng để điều chỉnh tín hiệu ra đạt giá trị mong muốn.
ĐIỀU KHIỂN NỐI CỨNG VÀ ĐIỀU KHIỂN LẬP TRÌNH ĐƯỢC
Trong lĩnh vực điều khiển, có hai phương pháp chính được phân biệt: phương pháp điều khiển nối cứng và phương pháp điều khiển lập trình được.
1.2.1 Phương pháp điều khiển nối cứng (Hard-wired control) Điều khiển nối cứng được chia làm hai loại; Điều khiển nối cứng có tiếp điểm và điều khiển nối cứng không tiếp điểm Điều khiển nối cứng có tiếp điểm dùng các khí cụ điện từ như rơ le, công tắc tơ, kết hợp với các bộ cảm biến, đèn, công tắc… Các khí cụ điện này được nối với nhau theo một mạch điện cụ thể để thực hiện một yêu cầu công nghệ nhất định Điều khiển nối cứng không tiếp điểm dùng các cổng logic, mạch tuần tự (gọi chung là IC số) kết hợp với các bộ cảm biến, đèn, công tắc… Các IC số này cũng được nối lại với nhau theo một sơ đồ Logic cụ thể để thực hiện một yêu cầu công nghệ nhất định Các mạch điều khiển nối cứng sử dụng các linh kiện bán dẫn công suất như: SCR, Triac để thay thế công tắc tơ trong các mạch động lực
Trong các hệ thống điều khiển nối cứng, các linh kiện điện được kết nối vĩnh viễn, gây khó khăn khi cần thay đổi chức năng điều khiển Việc phải nối lại toàn bộ mạch điện cho các hệ thống phức tạp không chỉ tốn thời gian mà còn rất tốn kém.
Phương pháp điều khiển nối cứng được thực hiện theo các bước hình 1.4
Thí dụ : Thực hiện sơ đồ điều khiển ba động cơ chạy tuần tự Hệ thống điều khiển dùng khí cụ điện có sơ đồ như hình 1.5
Khi thay đổi mạch điều khiển cho các động cơ chạy độc lập thì phải nố lại mạch bỏ khoá K1 ở nhánh nối tiếp cuộn dây khởi động từ K2
Hệ thống điều khiển Logic Van (đóng hoặc mở)
Ngõ ra có dạng đóng mở Ngõ vào dạng đóng mở
Hình 1.4: Các bước thiết lập hệ thống điều khiển nối cứng
Hình 1.5: Sơ đồ điều khiển 3 động cơ dùng khí cụ điện
1.2.2 Phương pháp điều khiển lập trình được
Trong hệ thống điều khiển lập trình PLC (Bộ điều khiển logic khả trình), cấu trúc của bộ điều khiển và cách nối dây hoàn toàn độc lập với chương trình điều khiển Chương trình được lưu trữ trực tiếp trong bộ nhớ của bộ điều khiển thông qua bộ lập trình cầm tay hoặc máy vi tính Việc thay đổi chương trình chỉ cần điều chỉnh nội dung bộ nhớ, mà không ảnh hưởng đến phần nối dây bên ngoài.
PLC cung cấp khả năng điều khiển thiết bị một cách dễ dàng và linh hoạt thông qua lập trình với các lệnh logic cơ bản Bên cạnh đó, PLC còn thực hiện các chức năng như định thời và đếm, góp phần nâng cao khả năng điều khiển cho các hoạt động phức tạp.
Phương pháp điều khiển lập trình được thực hiện theo các bước hình 1.6
Hệ thống điều khiển ba động cơ chạy tuần tự được thực hiện như trong Hình 1.7, sử dụng thiết bị điều khiển lập trình có thể thay thế.
-Tín hiệu vào: S1, S2, S3, S4 vẫn giữ nguyên
-Tín hiệu ra: K1, K2, K3 là các khởi động từ vẫn giữ nguyên
-Phần tử xử lý:được thay thế bằng PLC
Xác định yêu cầu công nghệ
Thiết kế sơ đồ điều khiển
Chọn phần tử mạch điện
Liên kết các phần tử
Hình 1.6: Các bước thiết lập hệ thống điều khiển lập trình
Khi sử dụng chương trình điều khiển có nhớ PLC, việc kết nối mạch chỉ cần thực hiện theo sơ đồ đã được cung cấp.
Sơ đồ nối dây thực hiện bằng PLC cho phép dễ dàng thay đổi chế độ hoạt động độc lập của từng động cơ chỉ bằng cách viết lại chương trình và nạp lại vào PLC.
Xác định yêu cầu công nghệ
Nạp chương trình vào bộ nhớ
PLC tương tự như máy tính truyền thống 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:
- Khả năng kháng nhiễu tốt;
- Cấu trúc dạng mô-đun cho phép dể dàng thay thế, tăng khả năng mở rộng chức năng điều khiển;
- Chuẩn hoá điện áp ngõ vào và ra;
- Ngôn ngữ lập trình dễ hiểu và dễ sử dụng;
- Thay đổi chương trình dễ dàng.
SO SÁNH PLC VỚI CÁC HÌNH THỨC ĐIỀU KHIỂN KHÁC
Trong hệ thống điều khiển có nhiều loại điều khiển khác nhau được trình bày trong hình 1.9:
Hình 1.9: Sơ đồ các loại điều khiển
1.3.1 Hệ thống điều khiển dùng Rơ-le
Rơ-le là công tắc điện có khả năng chịu dòng điện cao, hoạt động nhờ dòng điện điều khiển cường độ thấp Tuy nhiên, rơ-le có hạn chế về tốc độ tác động, tuổi thọ và độ tin cậy do cấu tạo cơ học để đóng/mở tiếp điểm Kích thước của rơ-le thường cồng kềnh, chiếm nhiều không gian trong tủ điện Điểm mạnh của hệ thống này là dễ thiết kế và lắp đặt, với các công việc điều khiển được thực hiện thông qua sự phối hợp đơn giản trong trình tự hoạt động của các rơ-le.
1.3.2 Hệ thống điều khiển dùng mạch điện tử (Transistor)
Transistor hoạt động như một công tắc để đóng mở mạch điện Với kích thước nhỏ gọn và không có các bộ phận cơ khí, transistor cho phép tốc độ chuyển mạch nhanh và giá thành sản xuất thấp Tuy nhiên, khả năng điều khiển công suất của nó vẫn còn hạn chế.
Vi mạch là mạch tích hợp chứa nhiều linh kiện bán dẫn, thực hiện các chức năng cụ thể Bằng cách kết nối các vi mạch phù hợp, nhiều hệ thống phức tạp và tinh vi có thể được xây dựng.
1.3.3 Hệ thống điều khiển dùng IC số
Khi thiết kế hệ thống vi mạch và cổng Logic, người thiết kế cần vẽ sơ đồ mạch với các ký hiệu Logic thể hiện ngõ vào và ra nhị phân Hệ thống xử lý dựa trên các phép tính đại số Boole, với khả năng xử lý tuần tự hoặc tổ hợp các ngõ vào để tạo ra kết quả đầu ra Để nâng cao khả năng xử lý, hệ thống còn được trang bị thêm bộ nhớ.
Vi mạch số cho phép thiết kế hệ thống điều khiển logic tốc độ cao, phục vụ cho cả điều khiển trình tự và liên tục Tuy nhiên, việc thay đổi chức năng điều khiển gặp khó khăn do tính không linh hoạt trong kết nối phần cứng, dẫn đến thời gian thiết kế và lắp đặt lại kéo dài.
1.3.4 Hệ thống điều khiển dùng máy tính
Máy tính là thiết bị điện tử xử lý thông tin nhị phân, được ứng dụng trong điều khiển từ giữa thập niên 1950 Tuy nhiên, đến cuối thập niên 1970, việc sử dụng máy tính trong điều khiển mới bắt đầu mang lại hiệu quả kinh tế, thu hút sự quan tâm của các nhà thiết kế hệ thống điều khiển Đồng thời, sự phát triển của ngôn ngữ lập trình đã tạo điều kiện thuận lợi cho các ứng dụng điều khiển ngày càng phong phú.
Hiện nay, máy tính có cấu hình mạnh với giá cả phải chăng cho phép thực hiện các công việc điều khiển hệ thống một cách tuần tự và liên tục, nhờ vào những thủ tục truyền thông đơn giản và dễ áp dụng.
Tóm lại: khi thiết kế một hệ thống điều khiển, người ta dựa vào một số chỉ tiêu so sánh để lựa chọn hệ thống thích hợp nhất
Bảng 1.1 So sánh các hệ thống điều khiển
Chỉ tiêu so sánh Rơ-le Mạch số Máy tính PLC
Giá thành Khá thấp Thấp Cao Thấp
Kích thước Lớn Rất gọn Khá gọn Rất gọn
Tốc độ điều khiển Chậm Rất nhanh Khá nhanh Nhanh
Khả năng chống nhiểu Rất tốt Tốt Khá tốt Tốt
Lắp đặt Mất thời gian thiết kế, lắp đặt
Mất thời gian thiết kế
Mất thời gian lặp trình
Lặp trình, lắp đặt đơn giản
Khả năng ĐK phức tạp Không Có Có Có
Khả năng thay đổi Rất khó Khó Khá đơn giản Rất đơn giản
Công tác bảo trì Kém Kém Kém Tốt
CÁC ỨNG DỤNG CỦA PLC TRONG THỰC TẾ
Chức năng của bộ điều khiển lập trình tương tự như bộ điều khiển dựa trên rơ-le hoặc các thành phần điện tử.
- Thu nhận các tín hiệu đầu vào và phản hồi
- Liên kết ghép nối lại và đóng mở mạch phù hợp với chương trình
- Tính toán và soạn thảo các lệnh điều khiển trên các thông tin thu nhận được
- Phân phát các lệnh điều khiển đó đến các địa chỉ thích hợp
PLC được ứng dụng nhiều trong công nghiệp, thương mại:
• Hệ thống điều khiển đèn giao thông
• Điều khiển nhiệt độ và thông gió
• Hệ thống bơm nước tự động
• Hệ thống cảnh báo và chuông báo động
• Hệ thống tưới nước tự động
• Chiếu sáng trong các phòng, cầu thang, cửa hàng Đến các ứng dụng trong công nghiệp:
• Hệ thống hoà đồng bộ
• Hệ thống trạm cân xe tải
• Hệ thống trộn nguyên liệu
• Hệ thống đo mức, áp suất
• Hệ thống quản lý năng lượng
• Máy hàn, máy cưa, máy uốn và máy cắt
• Hệ thống quan sát, điều khiển bãi giữ xe
• Hệ thống điều khiển cổng nhà máy
• Hệ thống điều hoà nhiệt độ, làm mát và điều hoà không khí…
1 Trình bày các khối trong hệ thống điều khiển
2 Nêu các bước thiết kế một hệ thống điều khiển nối cứng, hệ thống điều khiển lập trình
3 So sánh hệ thống điều khiển dùng PLC với các hệ thống điều khiển khác.
TRÚC VÀ PHƯƠNG THỨC HOẠT ĐỘNG CỦA MỘT PLC
CẤU TRÚC CỦA MỘT PLC
Hình 2.1: Cấu trúc chung của bộ điều khiển lập trình PLC
PLC bao gồm ba khối chức năng chính: bộ xử lý, bộ nhớ và khối vào/ra Trạng thái ngõ vào được phát hiện và lưu trữ trong bộ nhớ đệm, cho phép PLC thực hiện các lệnh Logic Thông qua chương trình, trạng thái ngõ ra được cập nhật và lưu vào bộ nhớ đệm, từ đó kích hoạt các thiết bị tương ứng Hoạt động của các thiết bị hoàn toàn tự động theo chương trình đã được nạp vào PLC thông qua thiết bị lập trình chuyên dụng.
Bộ điều khiển nhận tín hiệu từ các cảm biến đầu vào, sau đó xử lý tín hiệu này thông qua chương trình điều khiển lưu trữ trong bộ nhớ Kết quả xử lý được chuyển đến ngõ ra, cung cấp tín hiệu cho đối tượng hoặc khâu điều khiển.
2.1 1 Đơn vị xử lý trung tâm (CPU Central Procesing Unit)
CPU đóng vai trò quan trọng trong việc điều khiển và quản lý tất cả các hoạt động bên trong PLC Thông tin được trao đổi giữa CPU, bộ nhớ và các khối vào/ra thông qua hệ thống BUS, tất cả đều dưới sự điều khiển của CPU.
Thông tin trong bộ nhớ chương trình được truy xuất theo thứ tự tuần tự, nhờ vào sự điều khiển và kiểm soát của bộ đếm chương trình do đơn vị xử lý trung tâm quản lý.
Bộ xử lý liên kết các tín hiệu dữ liệu đơn lẻ theo quy định của thuật toán điều khiển, từ đó rút ra kết quả dưới dạng các lệnh cho đầu ra.
Thời gian quét là khoảng thời gian mà chương trình thực hiện thao tác tuần tự qua một chu trình đầy đủ, sau đó bắt đầu lại từ đầu.
- Đo thời gian mà bộ xử lý xử lý 1 kbyte chương trình để làm chỉ tiêu đánh giá giữa các PLC
Như vậy bộ vi xử lý quyết định khả năng và chức năng của PLC
Bộ nhớ chương trình trong PLC là một loại bộ nhớ điện tử có khả năng ghi và đọc Khi sử dụng bộ nhớ RAM, nội dung sẽ thường xuyên thay đổi trong quá trình điều khiển Nếu mất điện, dữ liệu trong RAM có thể được bảo toàn nhờ nguồn pin dự phòng Để phục vụ cho các vùng nhớ chuyên dụng khác nhau, tất cả các PLC đều sử dụng các loại bộ nhớ như RAM, ROM và EEPROM.
Bộ nhớ được thiết kế dưới dạng modul, giúp dễ dàng thích nghi với các chức năng điều khiển có kích cỡ khác nhau Để mở rộng bộ nhớ, người dùng chỉ cần cắm thẻ nhớ vào rãnh cắm đã được chuẩn bị sẵn trên modul CPU.
Hoạt động xử lý tín hiệu trong PLC sử dụng điện áp 5VDC và 15VDC cho các linh kiện TTL và CMOS Trong khi đó, tín hiệu điều khiển bên ngoài có thể có điện áp lớn hơn, dao động từ 24VDC đến 240VDC hoặc từ 110VAC đến 220VAC với dòng điện lớn.
Khối giao tiếp vào/ra đóng vai trò quan trọng trong việc kết nối mạch vi điện tử của PLC với mạch công suất bên ngoài, giúp chuyển đổi mức điện áp tín hiệu và thực hiện cách ly hiệu quả.
Mạch ghép quang (Opto-isolator) được sử dụng trên các khối vào/ra để cho phép tín hiệu nhỏ đi qua và điều chỉnh các tín hiệu có mức cao xuống mức chuẩn Chúng có tác dụng chống nhiễu hiệu quả, đặc biệt khi chuyển công tắc bảo vệ quá áp từ nguồn cung cấp điện lên đến 1500V.
+ Ngõ vào: nhận trực tiếp tín hiệu từ cảm biến
Khi cảm biến phát hiện sự thay đổi trạng thái logic, nó cần truyền thông tin này đến PLC, thường là việc đóng hoặc ngắt dòng điện hoặc điện áp Trong một số trường hợp, cảm biến có thể trực tiếp đóng mạch cho tải mà không cần thông qua PLC Các ngõ ra tiêu biểu của cảm biến bao gồm nhiều loại khác nhau.
- Đóng hoặc ngắt dòng điện
- Đóng hoặc ngắt điện áp
- Sử dụng điện áp 0V và 5V để chỉ thị mức logic
+ Ngõ ra: là các transistor, rơle hay triac vật lý
THIẾT BỊ ĐIỀU KHIỂN LẬP TRÌNH S7-200
PLC, viết tắt của programmable logic controller, là thiết bị điều khiển logic cho phép thực hiện linh hoạt các thuật toán điều khiển qua ngôn ngữ lập trình Bộ điều khiển này đáp ứng các yêu cầu cần thiết trong quá trình điều khiển tự động.
- Lập trình dễ dàng vì ngôn ngữ lập trình dễ học;
- Gọn nhẹ, dễ dàng bảo quản, tu sửa;
- Dung lượng bộ nhớ lớn để có thể chứa được những chương trình phức tạp;
- Hoàn toàn tin cậy trong môi trường công nghiệp;
- Giao tiếp với các thiết bị thông tin máy tính, nối mạng các module; mở rộng;
Bộ điều khiển lập trình PLC được thiết kế để thay thế phương pháp điều khiển truyền thống bằng Rơ le và thiết bị cồng kềnh, mang lại khả năng điều khiển thiết bị dễ dàng và linh hoạt thông qua lập trình các lệnh logic cơ bản PLC còn thực hiện các tác vụ định thì và đếm, nâng cao khả năng điều khiển, thực hiện logic trong chương trình và kích hoạt tín hiệu điều khiển cho các thiết bị bên ngoài tương ứng.
Siemens S7-200 là thiết bị điều khiển logic khả trình nhỏ gọn, được thiết kế theo cấu trúc module với khả năng mở rộng cho nhiều ứng dụng lập trình khác nhau Thành phần chính của S7-200 bao gồm khối vi xử lý trung tâm với hai loại CPU: 21X và 22X.
CPU 21X hiện nay đã không còn được sử dụng, nhưng đã được thay thế bởi CPU 22X, loại CPU này vẫn rất phổ biến trong các trường học và ngành sản xuất Một ví dụ điển hình cho loại CPU này là CPU 224.
CPU 224 có các đặc tính như sau:
- Bộ nhớ chương trình (chứa trong EEPROM): 4096 Byte
- Bộ nhớ dữ liệu: 4096 Byte (trong đó 512 Byte chứa trong EEPROM)
- Số lượng ngõ vào số:14
- Số lượng ngõ ra số: 10
- Số module mở rộng: 7 gồm cả module analog
- Số lượng vào/ra số cực đại: 64
- Số lượng Timer: 256 Timer chia làm 3 loại theo độ phân giải khác nhau: 8 Timer 1ms, 32 Timer 10ms và 116 Timer có độ phân giải 100ms
- Số lượng Counter: 256 bộ đếm chia làm hai loại: 192 Counter Up và 64 Counter Up/Down
- Bit memory (Vùng nhớ M): 256 bit
- Special memory (SM – Bit nhớ đặc biệt): 688 bit dùng để thông báo trạng thái và đặt chế độ làm việc
- Có phép tính số học
- High - Speed Counters (HSC - Bộ đếm tốc độ cao): 4 Counter 2 KHz và 2 Counter 7 KHz
- Ngõ vào analog tích hợp sẵn (biến trở): 2
Các chế độ ngắt và xử lý ngắt bao gồm: ngắt truyền thông, ngắt theo sườn lên hoặc xuống, ngắt thời gian, ngắt của bộ đếm tốc độ cao và ngắt truyền xung.
- Toàn bộ vùng nhớ không bị mất dữ liệu trong khoảng thời gian 190 giờ khi PLC bị mất nguồn nuôi
CPU 22X nổi bật với nhiều tính năng vượt trội và vẫn được sử dụng rộng rãi Các dòng sản phẩm tiêu biểu bao gồm CPU222, CPU224, CPU224XP và CPU226 Mỗi loại có hình thức bên ngoài khác nhau, dễ dàng nhận biết qua số lượng đầu vào/ra và nguồn cung cấp.
Hiện nay, PLC S7-200 đã ngừng sản xuất và được Siemens thay thế bởi PLC S7-
PLC S7-1200 có thiết kế nhỏ gọn và chi phí thấp, cùng với một tập lệnh mạnh mẽ, mang lại giải pháp tối ưu cho ứng dụng tự động hóa trong công nghiệp và dân dụng Các dòng chính của PLC S7-1200 bao gồm CPU 1211C, CPU 1212C, CPU 1214C, CPU 1215C và CPU 1217C Đối với học sinh trung cấp, PLC S7-200 là lựa chọn lý tưởng để tiếp thu kiến thức cơ bản về điều khiển lập trình trong lĩnh vực này.
Hình 2.2: Bộ điều khiển lập trình S7-200 CPU214
Hình 2.3: Bộ điều khiển lập trình S7-200 CPU224
2.2.2 Các đèn báo trên S7-200 CPU 224
- SF (đèn đỏ) : đèn đỏ SF báo hiệu hệ thống bị hỏng Đèn SF sáng lên khi PLC bị hỏng hóc
- Run (đèn xanh) : đèn xanh chỉ định PLC đang ở chế độ làm việc và thực hiện chương trình được nạp vào trong máy
- Stop (đèn vàng): đèn vàng chỉ định PLC đang ở chế độ dừng
- Ix.x (đèn xanh) : đèn xanh ở cổng vào chỉ định ở trạng thái tức thời của cổng Ix.x
- Qy.y (đèn xanh): đèn xanh ở cổng ra báo hiệu trạng thái tức thời của cổng Qy.y (y.y = 0.0 1.1)
2.2.3 Chọn chế độ làm việc cho PLC
Công tắc chọn chế độ làm việc nằm ở phía trên, có ba vị trí cho phép chọn các chế độ làm việc khác nhau của PLC:
Chế độ RUN cho phép PLC thực hiện chương trình lưu trữ trong bộ nhớ Nếu xảy ra sự cố trong máy hoặc chương trình gặp lệnh STOP, PLC S7-200 sẽ tự động chuyển từ chế độ RUN sang chế độ STOP.
- STOP: Cưỡng bức PLC dừng chương trình đang chạy và chuyển sang chế độ STOP Ở chế độ STOP, PLC cho phép hiệu chỉnh, nạp, xóa một chương trình
- TERM: Cho phép người dùng từ máy tính quyết định chọn một trong hai chế độ làm việc cho PLC hoặc RUN hoặc STOP
S7-200 sử dụng cổng RS485 với phích nối 9 chân để kết nối với thiết bị lập trình hoặc các trạm PLC khác Tốc độ truyền dữ liệu cho máy lập trình PPI đạt 9600 baud.
Để kết nối S7-200 với máy tính PC qua cổng RS-232, bạn cần sử dụng cáp nối PC/PPI kết hợp với bộ chuyển đổi RS232/RS485 Ngoài ra, qua cổng USB, bạn có thể sử dụng cáp USB/PPI.
Hình 2.4: Cổng nối tiếp RS485
ĐỊA CHỈ CÁC NGÕ VÀO RA
Bảng điều khiển S7-200 hỗ trợ bốn phương thức truy xuất dữ liệu: theo Bit, theo Byte, theo từ đơn (Word) và theo từ kép (Double Word) Tùy thuộc vào yêu cầu điều khiển cụ thể, người dùng sẽ lựa chọn phương thức truy xuất phù hợp.
Để kiểm tra trạng thái tín hiệu từ các thiết bị ngoại vi kết nối với ngõ vào số như nút nhấn, cảm biến, hay công tắc hành trình, bạn cần chọn truy xuất là bit Trong trường hợp này, hãy chọn địa chỉ ngõ vào tương ứng, chẳng hạn như I0.0 hoặc I0.5.
Khi xuất tín hiệu ra các cơ cấu chấp hành nhận tín hiệu nhị phân như relay, đèn báo, hoặc van từ, cần chọn truy xuất là bit Trong trường hợp này, địa chỉ ngõ ra tương ứng sẽ được kết nối, ví dụ như Q0.0, Q0.2, Q1.0.
Bảng 2.1 Địa chỉ vào/ra và modul mở rộng CPU224
Để nhận tín hiệu từ các cảm biến tạo ra tín hiệu analog như cảm biến nhiệt độ, áp suất và độ ẩm, bạn cần sử dụng địa chỉ word, chẳng hạn như AIW0, AIW2, AIW4, và các địa chỉ tương tự.
Để xuất tín hiệu analog cho các cơ cấu chấp hành như biến tần và van tỉ lệ, cần sử dụng địa chỉ word, ví dụ như AQW0, AQW2, AQW4.
- Trong quá trình thực hiện chương trình cần lưu trữ thông tin ở dạng số 16 bit
Khi làm việc với số nguyên 16 bit, việc truy cập địa chỉ word là cần thiết, trong khi với dữ liệu 32 bit như nhiệt độ và áp suất (số thực), địa chỉ double word sẽ được sử dụng.
Tóm lại, các ngõ vào và ra của PLC S7-200 đặt theo thứ tự hệ bát phân Trong đó
CPU 222 có sẳn 8 vào và 6 ra, CPU224 có sẳn 14 vào và 10 ra số
Có thể mở rộng ngõ vào ra của PLC bằng cách kết nối thêm các mô-đun mở rộng phía sau Địa chỉ của các ngõ vào và ra của mô-đun mở rộng được xác định dựa trên vị trí của mô-đun trong dãy PLC.
CẤU TRÚC BỘ NHỚ CỦA S7-200
Bộ nhớ của S7-200 được chia thành ba vùng nhớ chính như hình 2.5:
+ Vùng chứa chương trình : Vùng chứa chương trình được chia thành 3 miền:
- MAIN (Organisation block): miền chứa chương trình tổ chức, chứa chương trình chính, các lệnh trong khối này luôn được quét
SBR_0 (Chương trình con) là một miền chứa các hàm được tổ chức một cách có hệ thống, cho phép sử dụng biến hình thức để trao đổi dữ liệu Chương trình con này sẽ được thực thi khi được gọi trong chương trình chính.
Miền chứa chương trình ngắt (INT_0) được tổ chức thành hàm và có khả năng trao đổi dữ liệu với bất kỳ khối chương trình nào khác Chương trình này sẽ được thực hiện khi có sự kiện ngắt xảy ra, bao gồm nhiều loại sự kiện như ngắt thời gian và ngắt xung tốc độ cao.
+ Vùng chứa tham số của hệ điều hành : Chia thành 5 miền khác nhau
Trước khi thực hiện chương trình, PLC sẽ đọc giá trị logic từ tất cả các cổng vào số và lưu trữ chúng trong vùng nhớ I Thông thường, chương trình ứng dụng không truy cập trực tiếp trạng thái logic của các cổng vào số mà chỉ sử dụng dữ liệu từ bộ đệm I.
Bộ đệm Q trong PLC lưu trữ các dữ liệu cổng ra số Khi chương trình hoàn thành, PLC sẽ chuyển giá trị logic từ bộ đệm Q tới các cổng ra số Thông thường, giá trị không được gán trực tiếp tới cổng ra mà chỉ được chuyển qua bộ đệm Q.
M (Miền các biến cờ) là chương trình ứng dụng sử dụng các biến để lưu giữ các tham số cần thiết Người dùng có thể truy cập các tham số này theo nhiều đơn vị khác nhau như Bit (M), byte (MB), từ (MW) hoặc từ kép (MD).
Bộ thời gian (Timer) lưu trữ các giá trị quan trọng như giá trị thời gian đặt trước (PV - Preset Value), giá trị đếm thời gian tức thời (CV - Current Value) và giá trị Logic đầu ra.
Miền nhớ phục vụ bộ đếm bao gồm việc lưu trữ giá trị đặt trước (PV - Preset Value), giá trị đếm tức thời (CV - Current Value) và giá trị logic đầu ra của bộ đệm.
DB (Data Block) là miền chứa dữ liệu được tổ chức thành các khối, với kích thước và số lượng khối do người sử dụng quy định, phù hợp với từng bài toán điều khiển Chương trình có khả năng truy cập vào miền này theo từng bit (DBX), byte (DBB), từ (DBW) hoặc từ kép (DBD).
Miền dữ liệu địa phương (L) là khu vực được các khối chương trình chính, chương trình con và chương trình ngắt sử dụng để lưu trữ các biến tạm thời và trao đổi dữ liệu với các khối chương trình gọi nó Nội dung của khối dữ liệu trong miền nhớ này sẽ bị xóa khi chương trình tương ứng kết thúc Miền này có thể được truy cập từ chương trình theo các đơn vị khác nhau: theo bit (L), byte (LB), từ (LW) hoặc từ kép (LD).
+ Vùng chứa các khối dữ liệu :
Hình 2.5: Vùng nhớ dữ liệu
Bảng 2.2 Địa chỉ vùng nhớ các cpu PLC S7-200
Vùng nhớ CPU 221 CPU 222 CPU 224 CPU 226
SM SM0.0SM179.7 SM0.0SM179.7 SM0.0SM179.7 SM0.0SM179.7
AI none AIW0AIW30 AIW0AIW62 AIW0AIW62
AO none AQW0AQW30 AQW0AQW62 AQW0AQW62
ACC AC0AC3 AC0AC3 AC0AC3 AC0AC3
XỬ LÝ CHƯƠNG TRÌNH
Trong S7-200, việc xử lý chương trình liên quan đến việc truy xuất dữ liệu một cách linh hoạt PLC có khả năng truy xuất dữ liệu theo nhiều hình thức khác nhau, bao gồm theo bit, theo byte, theo từ đơn và từ kép.
Truy xuất theo bit Để truy xuất địa chỉ theo dưới dạng Bit chúng ta xác định vùng nhớ, địa chỉ của Byte và địa chỉ của Bit
Bản đồ vùng nhớ của bộ đệm dữ liệu ngõ vào I (Process Image Input) được trình bày trong hình 2.6, với cấu trúc tương tự cho các vùng nhớ khác Bit thấp nhất là bit 0 bên phải và bit cao nhất là bit 7 bên trái, cho phép chúng ta khai báo các vùng nhớ như Q1.0, V5.2, M0.1 Dung lượng của các vùng nhớ này phụ thuộc vào loại CPU được sử dụng.
Hình 2.6: Vùng nhớ ngõ vào I Truy xuất theo byte (8 bit)
Khi truy xuất dữ liệu theo byte, chúng ta xác định vùng nhớ, và thứ tự của byte cần truy xuất
Hình 2.7: Truy xuất vùng nhớ byte Tương tự như ví dụ ta khai báo cho các vùng nhớ khác, chẳng hạn như IB3, MB2, QB5
Để truy xuất vùng nhớ theo dạng word (16 bit), cần xác định vùng nhớ cần truy xuất, khai báo dạng word và địa chỉ của word trong vùng nhớ Mỗi vùng nhớ dạng word bao gồm 2 byte, được phân chia thành byte thấp và byte cao.
Đối với tín hiệu tương tự (Analog), chỉ có một phương thức truy xuất duy nhất là truy xuất theo word Mỗi tín hiệu tương tự tương ứng với một giá trị số nguyên 16 bit, ví dụ như AIW0, AIW2, AQW0.
Khi truy xuất địa chỉ theo word, hai word liền kề phải cách nhau 2 byte Ví dụ, để lưu trữ 2 dữ liệu kiểu số nguyên vào biến V, dữ liệu đầu tiên được lưu tại VW20 và dữ liệu thứ hai sẽ được lưu tại VW22.
Truy xuất theo 2 word (Double word = 32 bit)
Khi truy xuất vùng nhớ 32 bit, tương ứng với 4 byte Trong đó gồm có word thấp, word cao và byte thấp, byte cao
Trong hình 2.9, chúng ta thấy cách truy xuất vùng nhớ Double word Tóm lại, có bốn dạng truy xuất dữ liệu cơ bản, và trong từng yêu cầu điều khiển cụ thể, chúng ta sẽ lựa chọn kiểu truy xuất phù hợp.
Để kiểm tra trạng thái tín hiệu từ các thiết bị ngoại vi như nút nhấn, cảm biến và công tắc hành trình, cần chọn truy xuất dưới dạng bit Trong trường hợp này, hãy chọn địa chỉ ngõ vào tương ứng, ví dụ như I0.0, I0.5, I1.1.
Khi xuất tín hiệu đến các cơ cấu chấp hành nhận tín hiệu nhị phân như relay, đèn báo, hoặc van từ, cần chọn truy xuất theo dạng bit Trong trường hợp này, địa chỉ ngõ ra tương ứng sẽ được kết nối, chẳng hạn như Q0.0, Q0.2, Q1.0.
Để nhận tín hiệu từ các cảm biến tạo ra tín hiệu analog như cảm biến nhiệt độ, áp suất và độ ẩm, cần sử dụng địa chỉ word, chẳng hạn như AIW0, AIW2, AIW4.
Để xuất tín hiệu analog cho các cơ cấu chấp hành nhận tín hiệu analog như ngõ vào biến tần và van tỉ lệ, cần sử dụng địa chỉ word, ví dụ như AQW0, AQW2, AQW4.
Trong quá trình thực hiện chương trình, cần lưu trữ thông tin dưới dạng số 16 bit để đếm số sản phẩm, sử dụng địa chỉ word Đối với dữ liệu dạng 32 bit như nhiệt độ và áp suất (số thực), cần truy cập địa chỉ double word.
PLC thực hiện chương trình theo chu trình lặp, được gọi là vòng quét Mỗi vòng quét bắt đầu bằng việc đọc dữ liệu từ các ngõ vào như contact, sensor, và relay vào vùng bộ đệm ảo Tiếp theo, chương trình được thực hiện từ lệnh đầu tiên đến lệnh cuối cùng Sau đó, PLC tiến hành giai đoạn truyền thông nội bộ và kiểm tra lỗi Cuối cùng, vòng quét kết thúc bằng việc chuyển nội dung của bộ đệm ảo tới các ngõ ra.
Tại thời điểm thực hiện lệnh vào/ra, PLC không trực tiếp tương tác với cổng vào/ra mà thông qua bộ đệm ảo trong vùng tham số Quá trình truyền thông giữa bộ đệm ảo và thiết bị ngoại vi được quản lý bởi CPU trong giai đoạn 1 và 4.
Việc thực hiện một vòng quét trong hệ thống PLC thường diễn ra trong khoảng thời gian ngắn, từ 1ms đến 100ms Thời gian quét phụ thuộc vào độ dài chương trình và mức độ giao tiếp giữa PLC và các thiết bị ngoại vi Vi xử lý chỉ có thể đọc tín hiệu tại ngõ vào nếu tín hiệu đó kéo dài hơn một chu kỳ quét; nếu không, vi xử lý sẽ không nhận diện tín hiệu Tuy nhiên, trong thực tế sản xuất, tốc độ quét này thường đủ để đáp ứng các chức năng của dây chuyền sản xuất, đặc biệt là trong các hệ thống chấp hành cơ khí.
Tóm lại, hoạt động của S7-200 rất đơn giản và thực hiện theo trình tự sau:
- Đọc trạng thái các ngõ vào
S7-200 sử dụng các ngõ vào để thực hiện logic điều khiển dựa trên chương trình đã được lưu trữ Dữ liệu sẽ được cập nhật liên tục trong quá trình thực hiện chương trình.
- Xuất dữ liệu ra ngõ ra
Hình 2.11 là một sơ đồ đơn giản chỉ mối quan hệ giữa sơ đồ điện và PLC S7-
200 Các nút nhấn khởi động/dừng động cơ được kết nối với ngõ vào
KẾT NỐI DÂY GIỮA PLC VÀ THIẾT BỊ NGOẠI VI
KẾT NỐI DÂY GIỮA PLC VÀ THIẾT BỊ NGOẠI VI
Việc kết nối dây giữa PLC và các thiết bị ngoại vi là rất quan trọng, vì nó ảnh hưởng đến khả năng giao tiếp của PLC với máy tính và đảm bảo hệ thống điều khiển hoạt động đúng như thiết kế Hơn nữa, việc nối dây còn liên quan đến an toàn cho cả PLC và hệ thống điều khiển.
Hình 3.1: Bộ điều khiển lập trình S7-200 CPU 224
3.1.1 Giới thiệu CPU 224 và cách kết nối với thiết bị ngoại vi
Sơ đồ bề mặt của bộ điều khiển lập trình S7-200 CPU 224 được trình bày trong hình 3.1 Để bộ điều khiển lập trình này hoạt động, người sử dụng cần kết nối PLC với nguồn cung cấp và các ngõ vào ra với thiết bị ngoại vi Để nạp chương trình vào CPU, người dùng phải soạn thảo chương trình bằng thiết bị lập trình hoặc máy tính với phần mềm tương ứng, sau đó có thể nạp trực tiếp vào CPU hoặc sao chép chương trình vào thẻ nhớ để lắp vào khe cắm thẻ nhớ.
Để lập trình và kiểm tra hoạt động của PLC, người lập trình thường kết nối trực tiếp thiết bị lập trình hoặc máy tính cá nhân với PLC Việc này là cần thiết để hệ thống điều khiển hoạt động hiệu quả, đồng thời đảm bảo kết nối giữa PLC với máy tính và các ngõ vào ra với ngoại vi.
3.1.2 Kết nối với máy tính Đối với các thiết bị lập trình của hãng Siemens 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ới máy tính cá nhân cần thiết phải có cáp chuyển đổi PC/PPI Có 2 loại cáp chuyển đổi là cáp RS-232/PPI Multi-Master và cáp USB/PPI Multi-Master
Cáp RS-232/PPI multi-master:
Hình dáng của cáp và công tắc chọn chế độ truyền được cho ở hình 3.2
Hình 3.2: Hình dáng cáp RS-232/PPI và các chuyển mạch trên cáp
Tốc độ truyền giữa máy tính và CPU ảnh hưởng đến vị trí của các công tắc 1, 2, 3 Đối với CPU 22x, tốc độ truyền thường được thiết lập là 9,6 KBaud, với các công tắc 1, 2, 3 được đặt theo thứ tự 010.
Tùy thuộc vào chế độ truyền thông 10 Bit hay 11 Bit, công tắc 7 cần được đặt ở vị trí phù hợp Khi kết nối với máy tính, công tắc 7 nên được chọn ở chế độ 11 Bit, tức là đặt ở vị trí 0.
Công tắc 6 trong cáp RS-232/PPI Multi-Master đóng vai trò quan trọng trong việc kết nối cổng truyền thông RS-232 của modem với CPU S7-200 Việc kết nối này thường được thực hiện với máy tính để đảm bảo truyền dữ liệu hiệu quả.
The configuration of switch 6 determines the connection type for data communications equipment (DCE), with its position set to 0 for DCE and to 1 for data terminal equipment (DTE) when connecting a PC/PPI cable to a modem Switch 5 is utilized to set the RS-232/PPI Multi-Master cable as an alternative to the PC/PPI cable; it should be set to 0 for PPI/Freeport mode and to 1 for standard PPI (master) operation with STEP 7 Micro/Win 3.2 SP4 or higher.
Sơ đồ nối cáp RS-232/PPI Multi-Master giữa máy tính và CPU S7-200 với tốc độ truyền 9,6 Kbaud được cho như hình 3.3
Hình 3.3: Kết nối máy tính với CPU S7-200 RS-232/PPI Multi-Master
Cáp USB/PPI multi-master:
Hình dáng của cáp được cho ở hình 3.4
Hình 3.4: Hình dáng cáp USB/PPI
Cáp USB/PPI Multi-Master kết nối tương tự như cáp RS-232/PPI Multi-Master, yêu cầu phần mềm STEP 7- Micro/WIN 3.2 SP4 hoặc phiên bản cao hơn Cáp này chỉ tương thích với CPU22x và các phiên bản mới hơn Lưu ý rằng cáp USB không hỗ trợ truyền thông Freeport và không thể tải cấu hình màn hình TP070 từ phần mềm TP Designer.
3.1.3 Nối nguồn cung cấp cho CPU
Tùy thuộc vào loại và họ PLC, CPU có thể được thiết kế dưới dạng khối riêng hoặc tích hợp sẵn các ngõ vào/ra cùng với một số chức năng đặc biệt Đặc biệt, các PLC thuộc họ S7-200 thường được nhà sản xuất lắp đặt các khâu vào, khâu ra và CPU trong cùng một vỏ hộp, tuy nhiên, nguồn cung cấp cho từng khâu hoàn toàn độc lập Nguồn cung cấp cho CPU của họ S7-200 có thể là:
Sơ đồ nối dây nguồn cung cấp cho CPU như hình 3.5 a) b) a Cấp nguồn cho CPU2xx loại DC/DC/DC b Cấp nguồn cho CPU 2xx loại AC/DC/RLY
Để nhận biết việc cấp nguồn cho CPU, chúng ta cần xem xét các mã số đi kèm theo CPU, đặc biệt là các mã số thuộc dạng 2xx Hình 3.5 minh họa cách nối nguồn cung cấp cho CPU, giúp xác định rõ ràng nguồn điện cần thiết cho hoạt động của khối vào và khối ra số.
- CPU 2xx DC/DC/DC: Nguồn cấp cho CPU là DC, nguồn cho ngõ vào là DC, nguồn cấp cho ngõ ra là DC
- CPU 2xx AC/DC/Relay: Nguồn cấp cho CPU là AC, nguồn cho ngõ vào là DC, ngõ ra là Relay có thể cấp nguồn là DC hoặc AC
3.1.4 Kết nối vào/ra số với ngoại vi
Các ngõ vào và ra của PLC là rất quan trọng để điều khiển và giám sát quá trình Chúng được chia thành hai loại chính: số (Digital) và tương tự (Analog), trong đó ngõ vào/ra số được sử dụng phổ biến hơn Bài viết này tập trung vào kết nối ngõ vào/ra số với các thiết bị ngoại vi, trong khi ngõ vào/ra tương tự sẽ được trình bày trong chương về xử lý tín hiệu analog Đối với bộ điều khiển lập trình S7-200 của Siemens, có nhiều loại CPU với điện áp cung cấp khác nhau cho các ngõ vào ra Việc nối dây cho từng loại CPU có thể tham khảo trong sổ tay kèm theo của nhà sản xuất.
Kết nối các ngõ vào số với ngoại vi
Các ngõ vào số của PLC có thể được thiết kế dưới dạng khối riêng biệt, kết hợp với các ngõ ra trong cùng một khối, hoặc tích hợp trực tiếp trên khối CPU.
Trong mọi trường hợp, các ngõ vào cần được cung cấp nguồn riêng với điện áp phù hợp theo loại ngõ vào Cần chú ý rằng trong một khối ngõ vào, cũng như các ngõ vào tích hợp trên CPU, có thể tồn tại các nhóm với nguồn cấp độc lập Do đó, việc cấp nguồn cho các nhóm này cần được xem xét kỹ lưỡng Nguồn cung cấp cho các khối vào của S7-200 có thể được lựa chọn phù hợp.
Xoay chiều:15 35VAC,f = 47 63Hz;dòng cần thiết nhỏ nhất 4mA
79 135 VAC, f = 47 63 Hz; dòng cần thiết nhỏ nhất 4mA
Một chiều: 15 30 VDC; dòng cần thiết nhỏ nhất 4mA
Sơ đồ mạch điện bên trong của một số ngõ vào được cho như hình 3.6
+5v a) b) a) Mạch điện của 1 ngõ vào số sử dụng nguồn cung cấp DC b) Mạch điện của 1 ngõ vào số sử dụng nguồn cung cấp AC
Hình 3.6: Mạch điện ngõ vào PLC Tùy theo yêu cầu mà có thể quyết định sử dụng loại ngõ vào nào
- Điện áp DC thường thấp do đó an toàn hơn
- Đáp ứng ngõ vào DC rất nhanh
- Điện áp DC có thể được kết nối với nhiều phần tử trong hệ thống điện
- Ngõ vào AC yêu cầu cần phải có thời gian Ví dụ đối với điện áp có tần số 50
Hz phải yêu cầu thời gian đến 1/50 giây mới nhận biết được
- Tín hiệu AC ít bị nhiễu hơn tín hiệu DC, vì vậy chúng thích hợp với khoảng cách lớn và môi trường nhiễu (từ)
- Nguồn AC kinh tế hơn
Tín hiệu AC được sử dụng phổ biến trong các thiết bị tự động Đối với các ngõ vào số khi kết nối với thiết bị ngoại vi, mỗi ngõ vào thường được kết nối với một bộ tạo tín hiệu nhị phân như nút nhấn, công tắc hoặc cảm biến tiếp cận, trừ những trường hợp đặc biệt Các ngõ vào ra của CPU214 DC/DC/DC và CPU224 AC/DC/Relay được kết nối theo hướng dẫn trong sổ tay, như thể hiện trong hình 3.7 và hình 3.9.
Hình 3.7: Sơ đồ nối dây CPU 214 DC/DC/DC với nguồn và ngoại vi
Kết nối các ngõ ra số với ngoại vi
CÀI ĐẶT VÀ SỬ DỤNG PHẦN MỀM STEP7-MICROWIN 4.0
3.2.1 Cài đặt phần mềm Step7-Microwin 4.0
STEP 7-Micro/WIN là một phần mềm lập trình cho họ PLC S7-200 Hiện phiên bản đang được sử dụng là STEP 7-Micro/Win V4.0 Service Pack 9
Yêu cầu hệ điều hành và phần cứng
Máy tính cá nhân PC, muốn cài đặt được phần mềm STEP 7-micro/Win phải thỏa mãn những yêu cầu sau đây:
- Microsoft Windows 2000 Service Pack 3 hoặc cao hơn, Windows XP Home, hoặc Windows XP;
- Có ít nhất 350 MB ổ đĩa cứng còn trống;
- Sử dụng chế độ cài đặt font chữ nhỏ độ phân giải màn hình tối thiểu là 1024x768 pixels;
Nếu chưa có cáp kết nối máy tính với PLC S7-200, bạn vẫn có thể soạn thảo chương trình offline và kiểm tra hoạt động bằng phần mềm mô phỏng Để truyền thông với S7-200, cần sử dụng một trong các phần cứng phù hợp.
- PC/PPI Cable kết nối CPU S7-200 với PC qua cổng USB;
- PC/PPI Cable kết nối CPU S7-200 với PC qua cổng RS232 (COM1 hoặc COM2);
- CP card (Communications processor) và cáp MPI (multipointinterface);
- CP243-1 hoặc CP243-1 IT Ethernet
Thực hiện theo các bước sau:
1 Đóng tất cả các ứng dụng
2 Chèn đĩa CD STEP 7-Micro/Win vào ổ đĩa CD-Rom hoặc file Chương trình sẽ được tự động cài đặt Ta cũng có thể khởi động chương trình cài đặt bằng cách nhấp đúp chuột vào file “Setup.exe” trên CD hoặc file
3 Sau đó sẽ nhận được từng bước các chỉ dẫn thao tác tiếp theo trên màn hình và hoàn thành công việc cài đặt
4 Khi cài đặt xong, hộp thoại “set PG/PC Interface” tự động xuất hiện Kích
5 Ta cần khởi động lại máy để hoàn tất việc cài đặt Sau khi đã cài đặt xong có thể bắt đầu soạn thảo chương trình nhờ phần mềm STEP 7-Micro/Win bằng cách nhấp đúp chuột vào biểu tượng STEP 7-MicroWin trên màn hình
Khi cài đặt phiên bản STEP 7-Micro/Win V4.0 SP9, bạn cần gỡ bỏ phiên bản cũ trước Sau khi tải xuống, hãy nhấp đúp vào file STEP7-MicroWin V.4.0.exe và làm theo hướng dẫn để hoàn tất cài đặt.
Bước 1: Uninstall phiên bản STEP7-Micro/Win V4.0 bằng công cụ “control panel” trong Window (menu Start → setting → control panel → Add or remove program);
Bước 2: Khởi động lại máy tính;
Bước 3: Cài đặt STEP 7-Micro/Win V4.0 SP9 bằng cách nhấp đúp chuột vào file STEP7-MicroWin-V4.0.exe
Hình 3.10: Mở File STEP7-MicroWin-V4.0.exe Bước 4: Trong choose setup language, chọn English và nhấp OK
Hình 3.11: Chọn ngôn ngữ trong quá trình cài đặt Sau đó chọn Next để cài đặt tiếp tục và chọn Yes để thục hiện cài đặt
In Step 5, select "Next" in the "Choose Destination Location" to install the software on the default C drive In the "Set PG/PC Interface" section, choose the default connection type, which is the PC/PPI Cable (PPI), and then click "OK."
Step 6: When the InstallShield Wizard Complete screen appears, select "Yes, I want to restart my computer now" to reboot your system immediately Alternatively, choose "No, I will restart my computer later" if you prefer to restart at a later time, and then click "Finish" to complete the installation process.
Hình 3.13: Chọn ví trí cài đặt
Hình 3.14: Chọn loại cáp cho PLC
3.2.2 Các phần tử cơ bản trong chương trình PLC S7-200
Các phần tử cơ bản trong một chương trình PLC S7-200 là:
1 Chương trình chính (main program);
3 Chương trình ngắt (interrupt rountine);
4 Khối hệ thống (system block);
5 Khối dữ liệu (data block);
Chương trình chính OB1 là phần khung của ứng dụng, bao gồm các lệnh điều khiển Đối với những chương trình điều khiển đơn giản, tất cả lệnh có thể được viết trong khối này Chương trình ứng dụng bắt đầu xử lý từ OB1, với các lệnh được thực hiện tuần tự từ trên xuống dưới và chỉ một lần trong mỗi vòng quét Trong S7-200, chương trình được lưu trữ trong khối OB1.
Chương trình con SUB (subroutine)
Các lệnh trong chương trình con chỉ được thực thi khi chương trình con đó được gọi từ chương trình chính, từ một chương trình con khác hoặc từ một nguồn khác.
Chương trình ngắt là một công cụ quan trọng trong lập trình, cho phép phân chia nhiệm vụ điều khiển hiệu quả Mỗi chương trình con được thiết kế cho một nhiệm vụ nhỏ hoặc các yêu cầu điều khiển tương tự, như điều khiển băng tải 1 và băng tải 2 Điều này giúp tối ưu hóa mã nguồn, vì chúng ta chỉ cần viết chương trình con một lần và có thể gọi lại nhiều lần từ chương trình chính.
Sử dụng chương trình con có một số ưu điểm sau:
- Chương trình điều khiển được chia theo nhiệm vụ điều khiển nên có cấu trúc rõ ràng, rất thuận tiện cho việc chỉnh sửa hay kiểm tra chương trình
Giảm thời gian vòng quét của chương trình giúp CPU không cần phải xử lý tất cả các lệnh liên tục, mà chỉ tập trung vào các chương trình con khi có lệnh gọi tương ứng.
- Chương trình con cho phép giảm công việc soạn thảo khi có các yêu cầu điều khiển tương tự nhau
Chương trình ngắt INT(interrupt routine)
Chương trình ngắt được phát triển để xử lý các sự kiện ngắt đã được xác định trước Khi sự kiện ngắt này xảy ra, hệ thống S7-200 sẽ tự động thực hiện chương trình ngắt tương ứng.
Chương trình ngắt được kích hoạt bởi các sự kiện ngắt, không phải do chương trình chính gọi Chỉ khi có sự kiện ngắt xảy ra, chương trình ngắt mới được xử lý.
Khối hệ thống (system block)
System block cho phép ta cấu hình các tùy chọn phần cứng khác nhau cho S7-
Khối dữ liệu (data block)
Khối dữ liệu lưu trữ các giá trị của các biến khác nhau trong vùng nhớ, được sử dụng trong chương trình Các giá trị ban đầu của dữ liệu có thể được nhập vào trong khối dữ liệu này.
Hình 3.15: Vị trí cấu chương trình trên giao diện Step7-MicroWin 4.0
3.3.3 Ngôn ngữ lập trình Để có thể soạn thảo chương trình cho các PLC S7-200, chúng ta dùng phần mềm Step7-MicroWin Và cũng giống như PLC của các hãng khác, chúng ta có 3 dạng soạn thảo thông dụng là dạng LAD, FBD và STL Việc chọn dạng soạn thảo nào để viết chương trình điều khiển là do người dùng
Dạng hình thang (LAD - Ladder Logic) là một phương pháp lập trình hiển thị tương tự như sơ đồ nối dây của mạch điện sử dụng relay và contactor Trong đó, dòng điện từ nguồn chạy qua các tiếp điểm logic đầu vào từ trái sang phải để đến ngõ ra Chương trình điều khiển được tổ chức thành nhiều Network, mỗi Network thực hiện một nhiệm vụ cụ thể Các Network được xử lý theo thứ tự từ trên xuống dưới và từ trái sang phải.
Các phần tử chủ yếu dùng trong dạng soạn thảo này là:
- Các hộp chức năng (Box): các chức năng được biểu diễn ở dạng hộp như các phép toán số học, định thời, bộ đếm…
Hình 3.16: Cấu trúc chương trình vào/ra của PLC Dạng soạn thảo này có một số ưu điểm:
- Dễ dàng cho những người mới bắt đầu lập trình
- Biểu diễn dạng đồ họa dễ hiểu và thông dụng với sơ đồ trang bị điện
- Luôn luôn có thể chuyển từ dạng LAD sang STL
Dạng khối chức năng Logic: FBD (Function Block Diagram)
KIỂM TRA VIỆC NỐI DÂY BẰNG PHẦN MỀM
Một nhiệm vụ quan trọng đối với người lắp đặt và vận hành là xác định chính xác các kết nối của các ngõ vào/ra với ngoại vi trước khi tải chương trình điều khiển vào CPU Trong trường hợp hệ thống hoạt động bình thường nhưng gặp sự cố, cần phải xác định các phần ngoại vi bị hư hỏng và cách phát hiện chúng Phần mềm cho các bộ điều khiển PLC thường tích hợp công cụ kiểm tra kết nối dây ngõ vào/ra với ngoại vi Cụ thể, phần mềm Step7 Micro/Win (dành cho họ S7-200) có tính năng Status Chart hỗ trợ việc này.
Chúng ta có thể sử dụng Status Chart để quản lý các biến trong chương trình một cách hiệu quả Để mở Status Chart, chỉ cần nhấp đúp vào biểu tượng trong Navigation Bar trên giao diện Step7 Micro/WinV4.0 hoặc truy cập vào View → Component → Status Chart Công cụ này cho phép giám sát và điều chỉnh các biến dễ dàng.
Hình 3.31 chỉ một ví dụ về cách sử dụng Status Chart Để đọc hay ghi các biến chúng ta thực hiện theo các bước sau:
Để bắt đầu, trong ô đầu tiên của cột Địa chỉ, hãy nhập địa chỉ hoặc tên ký hiệu của biến mà bạn muốn giám sát hoặc điều khiển, sau đó nhấn ENTER Tiếp tục lặp lại bước này cho tất cả các biến cần thêm vào biểu đồ.
Nếu biến có kích thước 1 Bit (như I, Q, hoặc M), hãy chọn kiểu biến là bit trong cột Format Đối với biến có kích thước byte, word, hoặc double word, bạn cần chọn kiểu biến trong cột Format và nhấp đúp chuột để tìm kiểu biến phù hợp.
Để xem giá trị hiện tại của các biến trong PLC trên biểu đồ, bạn cần nhấp vào biểu tượng hoặc chọn Debug → Chart Status.
49 giá trị của các biến tại thời điểm nhấp chuột sử dụng Debug → Single Read hoặc nhấp chuột vào biểu tượng
Bước 4: Để dừng việc giám sát thì nhấp chuột vào biểu tượng hoặc chọn Debug → Chart Status
Để thay đổi giá trị của một hoặc nhiều biến trong Status Chart, bạn cần nhập giá trị mới vào cột "New Value" cho các biến mong muốn Sau đó, nhấp vào biểu tượng hoặc chọn Debug → Write All để ghi tất cả các giá trị này vào các biến tương ứng trong CPU.
Cưỡng bức biến với Status Chart
Trong một số tình huống, việc ép buộc một ngõ vào, ngõ ra hoặc biến nào đó trong chương trình theo giá trị mong muốn là cần thiết để phù hợp với hoàn cảnh hoạt động của hệ thống hoặc để kiểm tra lỗi trong hệ thống điều khiển Để thực hiện việc cưỡng bức biến với giá trị xác định, bạn cần thực hiện các bước cụ thể.
Bước 1: Chọn một ô trong cột Address, nhập vào địa chỉ hay tên của biến cần cưỡng bức
Nếu biến là 1 Bit (ví dụ: I0.0, Q0.1), kiểu biến trong cột Format sẽ luôn là bit Đối với biến là byte, word hoặc double word, bạn cần chọn trong cột Format và nhấp đúp chuột để tìm kiểu biến mong muốn.
Để cưỡng bức biến với giá trị hiện hành trong PLC, trước tiên bạn cần đọc giá trị hiện tại bằng cách nhấp vào biểu tượng hoặc chọn Debug → Chart Status Tiếp theo, hãy nhấp hoặc cuộn đến ô chứa giá trị hiện hành mà bạn muốn cưỡng bức Cuối cùng, nhấp vào biểu tượng hoặc chọn Debug → Force ở vị trí giá trị hiện hành để thực hiện việc cưỡng bức biến.
Bước 4: Để cưỡng bức một giá trị cho một biến, nhập giá trị vào cột “New
Value” và nhấp chuột vào biểu tượng hoặc chọn Debug →Force
Bước 5: Để xem giá trị hiện hành của tất cả các biến bị cưỡng bức, kích chuột vào biểu tượng Read All Forced hoặc chọn Debug → Read All Forced
Để khôi phục tất cả các biến về trạng thái bình thường, bạn cần nhấp vào biểu tượng "Unforce All" hoặc chọn Debug → Unforce All Nếu muốn gỡ bỏ sự cưỡng bức của một biến cụ thể, hãy chọn biến đó và nhấp vào biểu tượng tương ứng hoặc thực hiện theo cách khác.
Debug → Unforce Ứng dụng Status Chart trong việc kiểm tra kết nối dây trong S7-200
Sau khi kết nối dây ngoại vi với các ngõ vào/ra của PLC, bước tiếp theo là kiểm tra lại kết nối để phát hiện lỗi Một công cụ hiệu quả cho việc này là sử dụng biểu đồ trạng thái Khi kiểm tra kết nối dây, cần lưu ý đặc biệt đối với các ngõ vào.
Các ngõ vào được kết nối với các tiếp điểm thường đóng hoặc tín hiệu có mức logic “1” sẽ có điện áp và đèn báo trạng thái sáng Khi xem xét biểu đồ trạng thái, ta có thể nhận thấy các giá trị này đạt mức logic “1”.
Việc kiểm tra các ngõ vào cần được thực hiện từng bước theo bảng kết nối dây vào/ra với thiết bị ngoại vi Điều này có nghĩa là mỗi lần chỉ thay đổi trạng thái của một bộ tạo tín hiệu như nút nhấn hoặc cảm biến, sau đó quan sát trạng thái của ngõ vào tương ứng trên biểu đồ trạng thái.
- Ghi chép lại các kết nối bị sai và sữa chữa Đối với ngõ ra:
Trong trạng thái bình thường, khi chưa chạy chương trình, tất cả các ngõ ra của PLC đều ở mức logic "0" (không có điện áp), dẫn đến việc đèn báo trạng thái của các ngõ ra đều tắt.
Việc kiểm tra nối dây ngõ ra cần thực hiện từng ngõ ra theo bảng kết nối, bằng cách đưa ngõ ra lên mức logic “1” trong bảng trạng thái Sau đó, quan sát trạng thái của thiết bị ngoại vi tương ứng; nếu thiết bị có điện, điều đó chứng tỏ kết nối đúng, ngược lại nếu không có điện, kết nối là sai.
- Ghi chép lại các kết nối sai và sửa chữa.
THỰC HÀNH KẾT NỐI DÂY PLC VÀ THIẾT BỊ NGOẠI VI
- Máy tính, Cáp PC/PPI loại cổng COM RS232
- Bộ thực hành PLC, Dây nối
Bước 1 Xác định các thành phần cơ bản trên PLC
Bước 2 Xác định sơ đồ đấu dây cơ bản cho PLC
Hình 3.32: Sơ đồ đấu nối CPU 221
Hình 3.33: Sơ đồ đấu nối CPU 222
Hình 3.34: Sơ đồ đấu nối CPU 224 DC/DC/DC
Hình 3.35: Sơ đồ đấu nối CPU 226 DC/DC/DC
Hình 3.36: Sơ đồ đấu nối CPU 226 AC/DC/RLY
Hình 3.37: Sơ đồ đấu nối các module mở rộng Analog
Bước 3 Thực hiện đấu nối
- PLC với các module trong bộ thực hành PLC
- Dùng đồng hồ đo và vẽ lại sơ đồ nối dây của PLC với bộ thực tập
- Kết nối dây PLC và thiết bị lập trình
CÀI ĐẶT VÀ SỬ DỤNG PHẦN MỀM STEP7- MICROWIN
- PC có phần mềm STEP7-MicroWin32
Bước 1 Tạo một chương trình điều khiển mới cho S7-200 trên phần mềm Step7-
Micro/Win32 có dạng LADDER như sau:
Bước 2 Tạo bảng Symbol như sau:
- VD0: “Numer1”, VD4: “Numer2”, MD0: “Result”
Bước 3 So sánh sự thay đổi của chương trình trước và sau khi tạo bảng Symbol
Bước 4 Biên dịch và nạp chương trình vào PLC
Bước 5 Kiểm tra hoạt động chương trình.
Bài tập ứng dụng
1 Nêu cách nhận biết loại PLC S7- 200?
2 Trình bày công cụ kiểm tra dây nối bằng phần mềm
3 Viết chương trình cho PLC điều khiển các đèn như sau:
- Khi nhấn I0.0 thì đèn Q0.0 sáng
- Khi nhấn I0.1 thì đèn Q0.1 sáng
- Khi nhấn I0.2 thì đèn Q0.2 sáng
- Khi nhấn I0.3 thì đèn Q0.3 sáng
- Khi nhấn I0.4 thì đèn Q0.4 sáng
- Khi nhấn I0.5 thì đèn Q0.5 sáng
- Khi nhấn I0.6 hoặc I0.7 thì các đèn tắt hết.
CÁC PHÉP TOÁN NHỊ PHÂN CỦA PLC
CÁC LIÊN KẾT LOGIC
4.1.1 Các phép toán Logic cơ bản
Trong phần này, chúng ta sẽ khám phá các phép toán liên quan đến dữ liệu dưới dạng bit, bắt đầu bằng lý thuyết cơ bản, tiếp theo là các ví dụ thực tiễn và chương trình minh họa CPU được sử dụng trong các ví dụ là loại DC/DC/DC, với nguồn cung cấp cho ngõ vào, ra và CPU là 24Vdc.
Bài viết này tập trung vào các phép toán nhị phân, hay còn gọi là phép toán liên quan đến bit Khi lập trình, chúng ta chỉ sử dụng các phần tử trong logic bit để thực hiện các phép toán này.
Phép toán AND được áp dụng khi cần điều khiển dựa trên trạng thái đồng thời của hai hoặc nhiều tín hiệu Ngõ ra sẽ ở mức 1 chỉ khi tất cả ngõ vào đều ở trạng thái 1 Trong các hệ thống điều khiển có tiếp điểm, phép toán này đóng vai trò quan trọng trong việc xác định điều kiện thực hiện nhiệm vụ điều khiển.
AND tương đương hai tiếp điểm NO mắc nối tiếp
Ví dụ 1: Đèn H1 sẽ sáng nếu đồng thời cả 2 công tắc S1 và S2 ở trạng thái đóng mạch Đèn tắt khi 1 trong 2 công tắc hở mạch
Hình 4.1: a) Sơ đồ tiếp điểm, b) Sơ đồ kết nối PLC
Hình 4.2: Chương trình biểu diễn liên kết And dạng LAD, STL và FBD
Phép toán OR thực hiện nhiệm vụ điều khiển khi ít nhất một ngõ vào thỏa mãn yêu cầu, dẫn đến ngõ ra bằng 1 Trong hệ thống điều khiển với tiếp điểm, phép toán OR tương đương với hai tiếp điểm NO được mắc song song.
Trong ví dụ này, có hai công tắc S3 và S4 đều là loại thường hở Chương trình cần được lập trình sao cho khi một trong hai công tắc này được đóng lại, đèn H2 sẽ bật sáng Ngược lại, đèn H2 sẽ tắt khi cả hai công tắc đều ở trạng thái mở.
Hình 4.3: a) Sơ đồ tiếp điểm, b) Sơ đồ kết nối PLC
Hình 4.4: Liên kết OR dạng LAD, FBD và STL
Tổ hợp liên kết And và Or
Trong thực tế, các đối tượng điều khiển được xác định bởi sự kết hợp của các liên kết logic AND và OR Tùy thuộc vào thứ tự của các liên kết, các lệnh trong STL sẽ khác nhau, với các công tắc trong dạng Lad được sắp xếp theo kiểu song song hoặc nối tiếp Để thực hiện phép OR giữa hai liên kết AND trong chương trình viết ở dạng STL, cần sử dụng thêm lệnh OLD.
Hình 4.5: Liên kết And trước Or a) Sơ đồ tiếp điểm, b) Sơ đồ kết nối PLC
Để thực hiện phép AND giữa hai liên kết OR trong chương trình viết theo dạng STL, cần sử dụng thêm lệnh ALD.
Hình 4.7: Liên kết Or trước And a) Sơ đồ tiếp điểm, b) Sơ đồ kết nối PLC
Hình 4.8: Liên kết Or trước And
Phép toán XOR hoạt động với hai tín hiệu, cho ra ngõ ra bằng 0 khi chúng có cùng trạng thái và bằng 1 khi chúng khác trạng thái Đây là một loại phép so sánh đặc biệt.
Hình 4.9: Liên kết And Or a) Sơ đồ tiếp điểm b) Sơ đồ kết nối PLC
Hình 4.10: Liên kết xor dạng LAD, FBD và STL
BÀI TẬP Thực hành ứng dụng liên kết logic trong diều khiển
Bài viết này giới thiệu một số ví dụ ứng dụng nhỏ sử dụng các liên kết logic Nó cũng so sánh mạch điều khiển thông thường với kiểu nối dây và hệ thống điều khiển bằng PLC, giúp làm rõ sự tương đồng và khác biệt giữa hai phương pháp điều khiển này.
Mạch duy trì ưu tiên Stop gồm sơ đồ tiếp điểm và sơ đồ kết nối PLC Khi nhấn nút S1, dòng điện qua S2 cung cấp năng lượng cho cuộn dây K1, khiến tiếp điểm K1 đóng lại Khi nhả nút S1, dòng điện vẫn được duy trì qua khóa K1 Nếu nhấn nút S2, dòng điện qua K1 sẽ bị ngắt, làm ngưng hoạt động của mạch.
Chương trình nạp cho PLC
Mạch duy trì được tạo ra khi ấn nút mở I0.0, dẫn đến ngõ ra Q0.0 được kích hoạt Tiếp điểm của Q0.0 được mắc song song với I0.0, cho phép nó duy trì cấp điện cho chính mình ngay cả khi I0.0 không còn tác động Khi ấn nút dừng I0.1, ngõ ra sẽ mất điện Mạch này còn được gọi là duy trì ưu tiên dừng máy và có chức năng điều khiển ON/OFF với báo trạng thái.
Khi S2 mở, đèn đỏ sẽ sáng để báo hiệu dừng, và khi S2 đóng, công tắc tơ K1 sẽ cấp điện cho động cơ Tiếp điểm thường kín K1 sẽ mở ra, khiến đèn đỏ tắt, trong khi tiếp điểm thường hở K1 đóng lại, làm cho đèn xanh sáng để báo hiệu trạng thái chạy.
Khi không có điện, tiếp điểm thường đóng của Q0.0 không cấp nguồn cho Q0.2 để hoạt động báo dừng Để chuẩn bị mở máy, bật I0.0 Khi ấn nút mở I0.1, ngõ ra Q0.0 sẽ hoạt động, và tiếp điểm của Q0.0 sẽ mắc song song với I0.1, duy trì cấp điện cho chính nó mặc dù I0.0 không còn tác động Cuối cùng, tiếp điểm thường đóng của Q0.0 sẽ ngắt điện, dẫn đến việc Q0.2 dừng hoạt động.
Hình 4.13: Mạch điều khiển động cơ on/off có đèn báo trạng thái o Hình 4.14: Điều khiển động cơ có báo trạng thái Điều khiển đảo chiều quay động cơ
Hình 4.15: Mạch đảo chiều quay dùng khí cụ điện
Hình 4.16: Sơ đồ kết nối PLC
Hình 4.17: Chương trình đảo chiều quay động cơ Mx.y là các ô nhớ trung gian để lưu kết quả của một phép toán nào đó Trong S7-
Bộ nhớ M trong hệ thống 200 có kích thước 32 byte (từ M0.0 đến M31.7) và được sử dụng như các ngõ ra trung gian Khi nguồn cấp bị mất, nội dung trong các bit nhớ M có thể bị mất hoặc vẫn được giữ lại, tùy thuộc vào thuộc tính của vùng nhớ này, cụ thể là retentive (nhớ lâu dài) hoặc non-retentive (không nhớ lâu dài).
Trong LAD thi bit nhớ này lấy ra và sử dụng như một ngõ ra (coil)
Ví dụ: Mạch logic sử dụng bit nhớ
Khi I0.1 và I0.2 được kích hoạt, bit M0.0 sẽ có điện, đồng thời M0.1 cũng sẽ có điện Nếu I0.4 được đóng, ngõ ra Q0.0 sẽ có điện Ngoài ra, khi I0.1 và I0.0 có điện, Q0.0 cũng sẽ có điện nhờ vào M0.2.
Hình 4.18: Sơ đồ điều khiển Logic sử dụng bít nhớ
4.1.2 Các lệnh ghi / xoá giá trị cho tiếp điểm
Lệnh ghi giá trị cho tiếp điểm (SET)
TIMER
Bộ định thời là thành phần thiết yếu trong các hệ thống điều khiển cần trì hoãn thời gian, thường được sử dụng trong các chương trình điều khiển PLC Ví dụ, một băng tải có thể hoạt động trong 10 giây sau khi nhận tín hiệu, hoặc một van khí nén yêu cầu điện trong 5 giây, trong khi nguyên liệu cần được trộn trong 10 phút PLC S7-200 với CPU 224 cung cấp 256 bộ định thời, được đánh số từ T0 đến T255 và chia thành 3 loại khác nhau.
- Timer đóng mạch chậm TON (On-delay Timer)
- Timer đóng mạch chậm có nhớ TONR (Retentive On-delay Timer)
- Timer ngắt mạch chậm TOF (Off-delay Timer)
Khi sử dụng một timer chúng ta cần phải xác định các thông số sau:
- Loại timer (TON, TONR hay TOF)
- Độ phân giải của Timer Có 3 độ phân giải là: 1ms, 10ms và 100ms
- Số của timer sẽ sử dụng, ví dụ T0, T37 cần tra bảng để biết loại timer sử dụng tương ứng với các số nào
- Khai báo hằng số thời gian tương ứng với thời gian cần trì hoãn dựa vào độ phân giải của timer
- Tín hiệu cho phép bắt đầu tính thời gian
Giá trị cực đại CPU 221 CPU 222 CPU 224 CPU 226
Ký hiệu chung của Timer trong S7-200 biểu diễn ở LAD như sau:
Txxx: Ký hiệu và số thứ tự của timer,
IN: Ngõ vào bit, cho phép timer hoạt động
PT: Ngõ vào số Integer, hằng số thời gian
T_typ: Cho biết loại Timer Có thể là TON, TONR hay TOF
???ms: Báo độ phân giải của timer, tự động xuất hiện theo Txxx
Thời gian trể được tính theo công thức
Thời gian trì hoãn = [PT] x [???ms]
Các Timer này được sử dụng để tích lũy các khoảng thời gian rời rạc Giá trị hiện tại của TONR chỉ có thể được xóa thông qua lệnh Reset (R).
Timer đóng mạch chậm có nhớ TONR (Retentive On-Delay Timer) hoạt động bằng cách đếm thời gian khi ngõ vào IN ở mức logic “1” Khi giá trị hiện tại Txxx đạt hoặc vượt thời gian đặt trước PT (preset time), Timer Bit sẽ ở mức logic “1” Giá trị hiện tại của TONR được giữ lại khi ngõ vào IN chuyển về mức logic “0”, cho phép tích lũy thời gian qua nhiều chu kỳ ngõ vào IN ở mức “1” Timer này tiếp tục đếm ngay cả sau khi đã đạt giá trị đặt trước và dừng lại khi đạt giá trị tối đa 32767.
Có 64 timer TONR trong S7-200 CPU 224 được phân chia theo độ phân giải như ở bảng 4.1
Ví dụ sử dụng TONR như chương trình sau:
Hình 4.22: Chương trình sử dụng TONR Chương trình hoạt động như mô trong giản đồ thời gian hình 4.23
Hình 4.23: Hoạt động của TONR Thời gian trễ T =PT*độ phân giải của T5 P*100msP00ms = 5s
4.2.3 Timer không có nhớ TON (On-Delay Timer)
Timer này được sử dụng để trì hoãn một khoảng thời gian khi ngõ vào IN nhận giá trị "1" Giá trị hiện tại của TON sẽ bị xóa khi ngõ vào IN trở về trạng thái logic.
TON bắt đầu đếm thời gian khi ngõ vào IN ở mức logic “1” Khi giá trị hiện hành (Txxx) đạt hoặc vượt quá thời gian đã đặt (preset time - PT), Timer Bit sẽ ở mức logic “1” Giá trị hiện hành của TON sẽ bị xóa khi ngõ vào IN chuyển về logic “0” Dù đã đạt giá trị PT, Timer vẫn tiếp tục đếm cho đến khi đạt giá trị cực đại 32767.
Số thứ tự timer TON/TOF trong S7-200 được phân chia theo độ phân giải như ở bảng 4.1:
4.2.4 Timer không có nhớ TOF (Off-Delay Timer)
Sử dụng bộ hẹn giờ TOF để trì hoãn tắt ngõ ra sau khi tín hiệu ngõ vào IN giảm xuống “0” Bộ hẹn giờ này chỉ bắt đầu đếm thời gian khi tín hiệu IN chuyển từ “1” sang “0”.
Khi ngõ vào IN của TOF ở mức logic “1”, Timer Bit được thiết lập thành “1” và giá trị hiện hành được đặt về 0 Khi ngõ vào IN xuống “0”, timer sẽ bắt đầu đếm cho đến khi thời gian trôi qua đạt giá trị đã được cài đặt trước Khi thời gian đạt giá trị cài đặt, Timer Bit sẽ trở về “0” và giá trị hiện hành sẽ dừng lại.
Khi giá trị đặt trước nhỏ hơn khoảng thời gian, Timer Bit sẽ giữ ở mức “1” Để xóa timer, có thể sử dụng lệnh Reset (R), điều này sẽ đưa Timer Bit về mức logic ban đầu.
“0” và giá trị hiện hành của timer (Timer Current) =0
Chú ý rằng TON và TOF sử dụng cùng loại timer, vì vậy trong một chương trình điều khiển, không thể đặt cho cả hai timer có cùng số Ví dụ, nếu đã đặt TON là T37, thì không được phép đặt TOF cũng là T37.
Ví dụ sử dụng TON như chương trình sau:
Hình 4.24: Chương trình sử dụng TON Chương trình hoạt động như mô trong giản đồ thời gian hình 4.25
Hình 4.25: Hoạt động của TON Thời gian trễ T=PT*độ phân giải của T37 = 50*100msP00ms = 5s
Tạo xung có tần số theo mong muốn
Chương trình tạo xung sử dụng hai timer TON khóa chéo nhau, cho phép người dùng chọn số timer phù hợp dựa trên thời gian ton và toff mong muốn Trong ứng dụng này, timer T254 và T255 được sử dụng để tạo xung, với giá trị ton và toff được nhập vào ngõ PT của timer theo ý muốn của người sử dụng Kết quả xung sẽ được lưu ở bit M10.7.
Timer xung sẽ phát ra tín hiệu ngõ ra khi tín hiệu đầu vào ở mức logic “1” và duy trì trong thời gian tối thiểu bằng thời gian đã cài đặt cho timer Để minh họa, chương trình tạo timer xung với ngõ ra là Q0.0 và ngõ vào tín hiệu là I0.0 sẽ có thời gian xung là 5 giây.
Hình 4.27 Chương trình Timer xung Đảo chiều quay động cơ có khống chế thời gian
Động cơ điện 3 pha có khả năng đảo chiều quay Khi nhấn nút "S1" (NO) để quay phải, động cơ sẽ quay theo hướng đó và đèn "H1" sẽ sáng để báo hiệu Nếu nhấn nút để quay trái, động cơ sẽ chuyển hướng quay tương ứng.
Khi công tắc “S2” (NO) được kích hoạt, động cơ sẽ quay trái và đèn “H2” sẽ sáng để báo hiệu tình trạng này Động cơ có khả năng dừng bất cứ lúc nào bằng cách nhấn nút dừng “S3” (NC) hoặc khi xảy ra sự cố quá dòng, dẫn đến việc tiếp điểm (NC) của thiết bị bảo vệ “Q1” (motor CB) hoạt động Khi động cơ dừng, đèn báo sẽ được kích hoạt.
Việc đảo chiều quay không thể thực hiện ngay sau khi nút dừng “S3” được ấn và trong vòng 5 giây chờ cho động cơ dừng hoàn toàn Trong thời gian này, đèn báo chờ “H3” sẽ chớp tắt với tần số 1Hz, cho đến khi động cơ dừng hẳn.
Trong điều khiển động cơ, cần chú ý đến sự cố có thể xảy ra với các nút nhấn, vì điều này có thể làm cho động cơ hoạt động không theo mong muốn Để phòng ngừa tình huống này, lập trình viên cần thiết lập một khóa Đối với mạch đảo chiều quay, khóa sẽ kiểm soát thời gian dừng (5 giây) để ngăn chặn động cơ khởi động sai hoặc quay ngược chiều Nếu khóa chưa được đặt về 0, động cơ sẽ không thể khởi động hoặc đảo chiều.
CUONTER
Trong nhiều trường hợp, việc kiểm tra một số lượng xác định cần thông qua tổng các xung Để thực hiện điều này, có thể sử dụng các bộ đếm để đếm số lượng xung Việc áp dụng bộ đếm giúp giải quyết nhiều vấn đề liên quan đến việc theo dõi và phân tích xung.
- So sánh với một giá trị đặt trước ở các trường hợp bằng nhau, nhỏ hơn, lớn hơn;
- Kiểm tra sự khác biệt về số lượng
Bộ đếm có khả năng thực hiện nhiều nhiệm vụ quan trọng, bao gồm việc cộng các xung từ bộ phát xung nhịp để điều khiển các giai đoạn liên tiếp Ngoài ra, bộ đếm còn được sử dụng trong các yêu cầu điều khiển theo chu kỳ lặp, chẳng hạn như trong hệ thống điều khiển đèn giao thông.
Các PLC thường bao gồm ba loại bộ đếm: bộ đếm lên, bộ đếm xuống và bộ đếm lên-xuống Trong S7-200 CPU 224, có tổng cộng 255 bộ đếm với địa chỉ từ C0 đến C255.
- Bộ đếm lên CTU (Up Counter)
- Bộ đếm xuống CTD (Down Counter)
- Bộ đếm lên-xuống CTUD (Up/Down Counter)
Khi sử dụng một counter chúng ta cần phải xác định các thông số sau:
- Loại counter (CTU, CTD hay CTUD)
- Số của counter sẽ sử dụng, không được gán cùng một số counter cho nhiều counter trong cùng một chương trình
- Khai báo giá trị cần đếm cho counter
- Tín hiệu xung cung cấp cho bộ đếm
- Tín hiệu xóa bộ đếm
4.3.1 Bộ đếm lên CTU (Count Up)
Bộ đếm CTU được biểu diễn ở LAD như hình:
Cxxx: Ký hiệu và số thứ tự của counter,
CTU: Ký hiệu nhận biết bộ đếm lên
CU: Đếm lên Ngõ vào bit,
R: Xóa bộ đếm về 0 Ngõ vào bit
PV: Giá trị đặt trước cho bộ đếm Biểu diễn ở số Integer
Khi tín hiệu tại CU chuyển từ “0” lên “1”, bộ đếm sẽ tăng giá trị hiện tại thêm 1 Nếu giá trị này đạt hoặc vượt giá trị đặt trước tại ngõ vào PV, ngõ ra bit của bộ đếm sẽ chuyển lên mức “1” Giá trị tối đa của bộ đếm là 32.767, với phạm vi từ C0 đến C255 Bộ đếm sẽ trở về 0 khi ngõ vào Reset (R) lên mức “1” hoặc khi thực hiện lệnh Reset.
Mỗi khi có xung từ "0" chuyển thành "1" tại ngõ vào I0.0, bộ đếm sẽ tăng thêm 1 đơn vị Từ xung thứ 5 trở đi, ngõ ra Q0.0 sẽ chuyển thành "1" Nếu có xung tại ngõ I0.1, ngõ ra Q0.0 sẽ trở về "0".
Ví dụ về cách sử dụng bộ đếm CTU
Hình 4.29: Chương trình sử dụng CTU Chương trình hoạt động như mô trong giản đồ thời gian hình 4.30
4.3.2 Bộ đếm xuống CTD (Count Down)
Bộ đếm xuống CTD được biểu diễn ở LAD như sau:
Cxxx: Ký hiệu và số thứ tự của counter, ví dụ: C20
CTD: Ký hiệu nhận biết bộ đếm xuống
CD: Ngõ vào đếm xuống Ngõ vào bit,
LD: Nạp giá trị đặt trước cho bộ đếm xuống.Ngõ vào bit
PV: Giá trị đặt trước cho bộ đếm Biểu diễn ở số Integer
Khi tín hiệu tại CD chuyển từ “0” lên “1”, bộ đếm sẽ giảm giá trị hiện tại xuống 1 đơn vị Khi giá trị này đạt 0, Counter Bit Cxxx sẽ được thiết lập lên “1” Sau đó, bộ đếm sẽ xóa Counter Bit Cxxx và nạp giá trị đã được đặt trước từ PV khi có tín hiệu vào.
Hình 4.30: Giản đồ hoạt động của CTU
Bộ đếm sẽ ngừng hoạt động khi giá trị hiện tại đạt 0 và bit đếm Cxxx được thiết lập thành “1” Khi thực hiện lệnh Reset, bit đếm sẽ bị xóa và giá trị hiện tại sẽ được đặt về trạng thái logic “0”.
Sử dụng bộ đếm xuống C2, giá trị hiện hành giảm từ 3 trở về 0 Với I0.1 ở logic
Mỗi khi I0.0 chuyển từ “0” lên “1”, bộ đếm C2 sẽ giảm đi một đơn vị Khi giá trị trong bộ đếm C2 đạt 0, ngõ ra Q0.0 sẽ chuyển lên “1” Nếu I0.1 ở trạng thái “1”, bộ đếm sẽ được đặt trước với giá trị 3.
4.3.3 Bộ đếm lên-xuống CTUD (Count Up/Down)
Bộ đếm xuống CTUD được biểu diễn ở LAD như sau:
Cxxx: Ký hiệu và số thứ tự của counter,
CTUD: Ký hiệu nhận biết bộ đếm xuống
CD: Ngõ vào đếm xuống Ngõ vào bit,
CU: Ngõ vào đếm lên Ngõ vào bit
PV: Giá trị đặt trước cho bộ đếm Biểu diễn ở số Integer
Lệnh đếm lên-xuống (CTUD) sẽ đếm lên mỗi khi ngõ vào đếm lên (CU) từ mức
Bộ đếm chuyển từ “0” lên “1” và đếm xuống mỗi khi ngõ vào đếm xuống (CD) thay đổi trạng thái Giá trị hiện hành Cxxx thể hiện giá trị của bộ đếm, trong khi giá trị đặt trước PV được so sánh với giá trị hiện hành tại mỗi lần thực hiện lệnh đếm Phạm vi hoạt động của bộ đếm là từ C0 đến C255.
Khi giá trị tối đa (32.767) được đạt, bộ đếm sẽ quay trở lại giá trị tối thiểu (-32.768) ở cạnh lên kế tiếp Tương tự, khi giá trị tối thiểu (-32.768) được đạt, bộ đếm sẽ tiếp tục hoạt động theo quy trình này.
73 tiếp tại ngõ vào đếm xuống bộ đếm sẽ đặt về giá trị max (32.767)
Khi giá trị hiện tại Cxxx lớn hơn hoặc bằng giá trị đặt trước PV, Counter Bit Cxxx sẽ được đặt thành “1” Ngược lại, nếu không, Counter Bit Cxxx sẽ bằng “0” Bộ đếm sẽ được reset về 0 khi tín hiệu Reset (R) được kích hoạt ở mức “1” hoặc khi thực hiện lệnh Reset để xóa bộ đếm.
Sử dụng bộ đếm xuống C3, kết nối ngõ vào đếm lên với I0.0 và ngõ vào đếm xuống với I0.1 Để xóa bộ đếm, sử dụng I0.2 Khi giá trị hiện hành của bộ đếm đạt >= 4, ngõ ra Q0.0 sẽ được kích hoạt lên “1”.
➢ Thực hành bộ đếm đếm sản phẩm được đóng gói
Sản phẩm đã được đóng gói sẽ được chuyển vào thùng chứa thông qua băng tải do động cơ M điều khiển Mỗi thùng chứa có khả năng đựng 10 sản phẩm Khi số lượng sản phẩm đạt yêu cầu, băng tải sẽ dừng lại để người vận hành có thể đưa thùng rỗng vào vị trí Sau khi người vận hành nhấn nút S1(NO) để tiếp tục, băng tải sẽ hoạt động trở lại.
Quá trình cứ lặp đi lặp lại cho đến khi nào ấn nút dừng S0 (NC)
Sản phẩm trước khi đưa vào thùng sẽ đi qua cảm biến quang S2 (NC)
➢ Bài tập THỰC HÀNH ĐIỀU KHIỂN HỆ THỐNG ĐÈN NHẤP NHÁY
- Điều khiển hệ thống đèn nhấp nháy gồm 2 đèn:
- Nhấn nút ON: đèn 1 (D1) sáng, sau thời gian 10 giây đèn 2 (D2) sáng (D1 tắt), sau thời gian 10 giây đèn 1 (D1) sáng (D2 tắt), lặp lại liên tục
- Nhấn nút OFF 2 đèn ngừng hoạt động
- Tìm hiểu cách hoạt động của các đèn:
- Quy định địa chỉ ngõ vào/ra:
Ngõ vào Ngõ ra Địa chỉ Mô tả Đại chỉ Mô tả
I0.0 Nút nhấn ON Q0.0 Đèn 1 I0.1 Nút nhấn OFF Q0.1 Đèn 2
- Kết nối PLC với thiết vị ngoại vi:
Hình 4.34 Sơ đồ nối dây PLC
Kết nối thiết bị ngõ vào:
- Nối dây nút nhấn ON với ngõ vào I0.0
- Nối dây nút nhấn OFF với ngõ vào I0.1
- Nối dây đầu còn lại của nút nhấn ON, OFF, với nguồn +24 VDC
Kết nối thiết bị ngõ ra:
- Nối dây điểm A1 của Đ1 với ngõ ra Q0.0
- Nối dây điểm A1 của Đ2 với ngõ ra Q0.1
- Nối dây điểm A2 của Đ1, Đ2 với nguồn 220 VAC
- Nối dây COM của ngõ ra Q0.0 và Q0.1 với cực còn lại của nguồn 220 VAC
- Viết chương trình điều khiển:
- Chạy mô phỏng chương trình:
1 An toàn cho lò hơi
Thiết bị lò hơi hoạt động tự động với quá trình cấp và xả hơi thông qua bộ điều chỉnh bên ngoài Để kiểm soát áp suất, lò hơi được trang bị ba bộ cảm biến áp suất P1, P2 và P3 đặt tại các vị trí khác nhau.
Mạch an toàn sẽ kích hoạt khi có sự cố xảy ra, đặc biệt là khi áp suất trong lò hơi vượt quá mức cho phép Trong trường hợp này, van an toàn từ tính Y1 sẽ tự động xả bớt hơi ra ngoài để giảm áp lực Để mạch an toàn mở van từ tính Y1, cần có ít nhất hai trong ba cảm biến tác động.
CÁC PHÉP TOÁN SỐ CỦA PLC
CHỨC NĂNG TRUYỀN DẪN
Trong PLC, hầu hết các khái niệm trong xử lý thông tin cũng như dữ liệu đều được sử dụng như Bit, Byte, Word và Doubleword
Bit: Bit là đơn vị thông tin nhị phân nhỏ nhất, có có thể có giá trị 0 hoặc 1
Hình 5.1: Biểu diễn số nhị phân
Byte: 1 Byte gồm có 8 Bit
Word: 1 Word gồm có 2 Byte hay 16 Bit Với Word có thể biểu diễn các dạng: số nhị phân, ký tự hay câu lệnh điều khiển
DoubleWord: 1 DoubleWord gồm có 4 Byte hay 32 Bit Với DoubleWord có thể biểu diễn
Hình 5.2: Tóm tắt các kiểu dữ liệu
5.1.2 Truyền một vùng nhớ dữ liệu
Kiểu dữ liệu Integer (INT)
Giá trị kiểu dữ liệu Integer hoàn toàn là giá trị số không có dấu chấm thập phân
S7-200 lưu trữ giá trị dữ liệu kiểu Integer có dấu ở mã 16 bit Phạm vicủa số integer là -
Giá trị của kiểu dữ liệu Integer trong STEP 7 nằm trong khoảng từ -32768 đến +32767 và được hiển thị dưới dạng Decimal, không phải BCD Các hằng số này có thể được mô tả theo cả hai dạng có dấu và không dấu, cho phép biểu diễn linh hoạt các giá trị integer hằng số.
Cú pháp của STEP7 chỉ cung cấp giá trị của số nguyên dưới dạng thập phân, do sự không rõ ràng của hệ nhị phân và hệ thập lục phân, khiến chúng không còn phù hợp nữa.
Trong hệ thống máy tính số, giá trị được lưu trữ dưới dạng mã nhị phân, sử dụng chỉ hai ký tự 0 và 1 Hệ thống này có cơ số 2, với giá trị mỗi vị trí được xác định bởi lũy thừa của 2 Số âm được biểu diễn bằng dạng bù hai, trong đó bit có trọng số lớn nhất (bit số 15 cho kiểu dữ liệu Integer) có giá trị -2^15, làm bit thông tin dấu Nếu bit này là 0, giá trị là dương; nếu là 1, giá trị là âm Chuyển đổi từ số nhị phân sang số thập phân được thực hiện bằng cách cộng các giá trị của các vị trí có bit = 1.
Hệ thống số hexadecimal cung cấp 16 chữ số khác nhau (0 đến 9 và Ađến F)
80 Đây là hệ thống số theo cơ số 16.Do đó, giá trị mỗi vị trí của số hexadecimal có kết quả từ lũy thừa của cơ số 16
Số Hexadecimal được biểu thị dưới dạng 16#, trong đó các chữ số từ A đến F tương ứng với giá trị số thập phân từ 10 đến 15 Giá trị tối đa 15 là giá trị cuối cùng có thể được mã hóa bằng 4 bit nhị phân không dấu Mỗi số hexadecimal được tạo thành từ 4 bit nhị phân Cần lưu ý rằng hằng số trong dạng số Hexadecimal không áp dụng cho các giá trị số nguyên.
Kiểu dữ liệu Double Integer (DINT)
S7-200 lưu trữ giá trị kiểu Double Integer với mã 32 bit có dấu, có phạm vi từ -2147483648 đến +2147483647 Để xác định một hằng số kiểu Double Integer, S7-200 sử dụng số thập phân (không phải BCD).
Ví dụ: Biểu diễn số +540809 và – 540809
Hình 5.3: Biểu diễn số double integer
Kiểu dữ liệu số thực (REAL)
Các kiểu dữ liệu INT và DINT lưu trữ giá trị số nguyên có dấu, trong khi các biến analog như điện áp, dòng điện và nhiệt độ yêu cầu giá trị thực Để biểu diễn số thực, S7-200 sử dụng double word (32 bit), trong đó một phần của các chữ số nhị phân được dùng cho phần thập phân, phần còn lại biểu diễn số mũ và dấu Phạm vi số thực từ -1.175495•10^-38 đến 3.402823•10^38 Khi nhập hằng số số thực, cần có phần thập phân, ví dụ 20.0 Số thực hỗ trợ xử lý giá trị analog và cho phép thực hiện các phép toán như cộng, trừ, nhân, chia, cũng như các lệnh sin và cos.
81 exp, ln, v.v , được sử dụng chính trong các thuật giải điều khiển vòng kín (closed-loop control algorithms)
Dạng tổng quát của số Real = (dấu) • (1.f) • (2e-127 ) v ới f: phần thập phân
Ví dụ: Biểu diễn số 0.75
Hình 5.4: Biểu diễn số real Kiểu dữ liệu số BCD (Binary Coded Decimal)
Trước đây, việc liệt kê và mô tả các số nguyên được thực hiện thông qua các nút nhấn số dạng xoay vòng và bộ chỉ thị số, kết nối với các module vào và ra số của PLC Mỗi chữ số của số thập phân được mã hóa bằng bốn bit, với chữ số cao nhất là 9, do đó bốn bit được sử dụng để biểu diễn các chữ số thập phân tương ứng.
Bảng 5.1 Mã thập phân và BCD
Số Decimal BCD Code Số Decimal BCD Code
S7-200 hỗ trợ xác định các số âm thông qua nút nhấn số xoay vòng mã BCD, trong đó mã hóa dấu được thực hiện bằng bit có trọng số cao nhất Bit dấu bằng 0 biểu thị số dương, trong khi bit dấu bằng 1 chỉ ra số âm Hệ thống này chấp nhận các số BCD mã 16-bit (bao gồm dấu và 3 chữ số) và mã 32-bit (bao gồm dấu và 7 chữ số) Phạm vi biểu diễn của số BCD 16-bit từ -
Phạm vi biểu diễn của số BCD 32 bit trong S7-200 là từ -9999999 đến +9999999, tuy nhiên không có định dạng dữ liệu cụ thể để xác định các giá trị theo mã BCD Để xác định số thập phân với mã BCD, chúng ta có thể sử dụng số HEX, vì mã nhị phân của số HEX và số thập phân theo mã BCD là giống nhau.
CHỨC NĂNG SO SÁNH
Chức năng so sánh trong lập trình cho phép so sánh giá trị của hai toán hạng cùng kiểu dữ liệu Kết quả của phép so sánh sẽ là một giá trị logic, với "1" đại diện cho đúng và "0" cho sai Tùy thuộc vào loại CPU S7-200, số lượng chức năng so sánh có thể khác nhau Đối với CPU 22x, có nhiều chức năng so sánh khác nhau để sử dụng.
Bảng 5.2 Các thuất toán so sánh Toán hạng 1 (n 1 ) Chức năng so sánh Toán hạng 2 (n 2 )
Dữ liệu có thể là:
: Không bằng nhau (khác nhau)
Dữ liệu có thể là:
Khi so sánh giá trị Byte (B), không cần chú ý đến dấu của toán hạng, trong khi với các số Int (I), Dint (D), và Real (R), việc chú ý đến dấu của toán hạng là rất quan trọng.
Cú pháp tổng quát cho phép tóan so sánh ở LAD là:
- X: là phép so sánh Nó có thể là:
- n1: Giá trị cần được so sánh (giá trị chưa biết)
Giá trị so sánh trong ngôn ngữ LAD và FBD cho phép lệnh so sánh đặt tiếp điểm hoặc ngõ ra ở trạng thái “ON” khi kết quả so sánh đúng Trong ngôn ngữ STL, khi kết quả so sánh đúng, lệnh Load, AND, hoặc OR sẽ kết hợp giá trị 1 với giá trị ở đỉnh ngăn xếp Để sử dụng các lệnh so sánh trong màn hình soạn thảo LAD, người dùng có thể nhấp vào biểu tượng contact trên thanh công cụ hoặc nhấn “F4” Sau đó, người dùng cần nhập giá trị chưa biết vào các dấu chấm hỏi trên lệnh và giá trị đã biết vào các dấu chấm hỏi dưới lệnh, với các giá trị thường là số hoặc được lưu trữ trong các ô nhớ byte, word, double word.
Lệnh so sánh Byte được sử dụng để so sánh hai giá trị byte được định địa chỉ bởi hai toán hạng đầu vào [IN1] và [IN2] Có tổng cộng 06 phép so sánh với các giá trị byte không dấu Trong LAD, lệnh hoạt động như một công tắc, đóng (ON) khi điều kiện so sánh đúng Trong FBD, đầu ra sẽ cho giá trị 1 nếu điều kiện so sánh thỏa mãn Còn trong STL, lệnh sẽ ghi giá trị 1 vào đỉnh ngăn xếp hoặc thực hiện phép toán lô gic AND hoặc OR với giá trị 1 nếu điều kiện so sánh đúng.
Lệnh so sánh số nguyên (Integer) được sử dụng để đối chiếu hai giá trị kiểu Integer, với các toán hạng được chỉ định ở đầu vào Việc so sánh này giúp xác định mối quan hệ giữa hai số nguyên trong lập trình.
83 được đem so sánh là những giá trị có dấu: 16#7FFF > 16#8000
Lệnh so sánh từ kép (Double Word) cho phép so sánh hai giá trị Double Word được chỉ định bởi hai toán hạng đầu vào: [IN1] và [IN2] Có tổng cộng 06 phép so sánh có thể được thực hiện, trong đó các giá trị từ kép được so sánh là các giá trị có dấu, ví dụ như 16#7FFFFFFF > 16#80000000.
Lệnh so sánh số thực (Real) được sử dụng để so sánh hai giá trị dạng Real, được xác định bởi hai toán hạng đầu vào Những số thực này là các giá trị có dấu theo kiểu dấu phẩy động.
Hình 5.5: Lệnh so sánh sử dụng trong LAD Hoạt động:
Ngõ ra Q0.0 có điện khi đạt đủ 2 điều kiện sau: Ngõ vào I0.0 ở mức 1 và giá trị trong MB10 bằng 30
Ngõ ra Q0.1 có điện khi đạt đủ 2 điều kiện sau: Ngõ vào I0.0 ở mức 1 và giá trị trong MB10 nhỏ hơn hoặc bằng 30
Ngõ ra Q0.2 có điện khi đạt đủ 2 điều kiện sau: Ngõ vào I0.0 ở mức 1 và giá trị trong MB10 lớn hơn hoặc bằng 30.
CHỨC NĂNG DỊCH CHUYỂN
Chức năng dịch chuyển cho phép di chuyển hoặc sao chép nội dung từ một vùng này sang một vùng khác trong bộ nhớ Quá trình này có thể thực hiện với các đơn vị dữ liệu như byte, word, double word, giá trị số, hoặc thậm chí là một mảng lớn dữ liệu.
5.3.1 Các lệnh sao chép, trao đổi nội dung Để sao chép các dữ liệu kiểu byte, word, double word kể cả số thực (real) từ nơi này đến nơi khác ta sử dụng lệnh Move Trong một số trường hợp cần tráo đổi nội dung của một byte (byte thấp và byte cao) trong một word ta sử dụng lệnh Swap
Cú pháp của các lệnh ở STL như sau:
- Lệnh MOVB IN,OUT: Lệnh Move Byte (MOVB) thực hiện sao chép nội dung của byte IN sang byte OUT
- Lệnh MOVW IN,OUT: Lệnh Move Word (MOVW) thực hiện sao chép nội dung của word IN sang word OUT
- Lệnh MOVD IN,OUT: Lệnh Move Double Word (MOVD) thực hiện sao chép nội dung của double word IN sang double word OUT
- Lệnh MOVR IN,OUT: Lệnh Move Real (MOVR) thực hiện sao chép nội dung của một số thực IN sang số thực OUT
- Lệnh SWAP IN: Lệnh Swap Byte (Swap) thực hiện tráo đổi nội dung của byte thấp và byte cao trong word IN
Cú pháp của các lệnh ở LAD như sau:
X: Có thể là B (Byte), W (Word), D (Double word) hoặc R(Real)
IN: Dữ liệu cần sao chép, có thể là byte, word, double word hoặc real tùy theo X là B, W, D hay R
OUT: Vị trí của nơicần sao chép đến, có thể là byte,word, double word hoặc real tùy theo X là B, W, D hay R
Ngõ vào EN cho phép thực hiện lệnh viết bằng LAD hoặc FBD Nếu không cần điều kiện ở ngõ vào EN, hãy sử dụng SM0.0.
ENO là ngõ ra bit, cho phép kết nối song song hoặc nối tiếp với các hộp khác Nếu phép toán xử lý không có lỗi, thì EN sẽ bằng ENO Để lấy lệnh MOV trên màn hình soạn thảo LAD, người dùng cần nhấp chuột vào dấu (+) trong biểu tượng cây lệnh, sau đó kéo và thả lệnh cần lấy vào vị trí mong muốn Để nhập điều kiện cho ngõ vào EN, nếu muốn thực hiện liên tục, có thể sử dụng bit nhớ SM0.0, trong khi nội dung cần sao chép sẽ được đặt ở ngõ tương ứng.
IN và byte chứa đựng thông tin sao chép chứa ở OUT Hoặc nhấn phím F9 trên bàn phím sau đó nhập tên Move-X rồi nhấn Enter
Ví dụ: Giới hạn giá trị
Viết một chương trình để kiểm tra giá trị tại MW20 Nếu giá trị này nằm trong khoảng (50;500), cho phép xuất giá trị ra tại MW22 Nếu giá trị MW20 lớn hơn 500, MW22 sẽ nhận giá trị 500 và đèn báo giá trị max sẽ sáng Ngược lại, nếu giá trị MW20 nhỏ hơn 50, MW22 sẽ nhận giá trị 50 và đèn báo giá trị min sẽ sáng Lưu ý rằng các giá trị vào và ra đều là số nguyên (Int).
Ký hiệu Địa chỉ Chú thích
GT_sosanh MW20 Giá trị số cần biết có vượt ngoài phạm vi (50;500)
GT_dung MW22 Giá trị nằm trong phạm vi cho phép
Bao_max Q0.0 Đèn báo giá trị lớn hơn 500
Bao_min Q0.1 Đèn báo giá trị nhỏ hơn 50
Hình 5.6: Lệnh so sánh sử dụng trong LAD
Ví dụ: Copy ô nhớ số thực ở VD50 vào ô nhớ số thực VD60 khi M1.0 tích cực
Chương trình được viết như sau:
Hình 5.7: Lệnh chuyển nội dung VD50 vào VD60
Cú pháp của lệnh SWAP được lấy như sau:
5.3.2 Các lệnh sao chép một mảng lớn dữ liệu Để sao chép một mảng lớn dữ liệu từ nơi này đến nơi khác ta sử dụng lệnh Block Move Lệnh sao chép một mảng lớn cho phép thực hiện với Byte, Word và Double Word
Cú pháp của các lệnh ở STL như sau:
Lệnh BMB IN, OUT, N là lệnh Block Move Byte (BMB) dùng để sao chép nội dung của một mảng Byte Số lượng byte được sao chép được xác định bởi N, với kiểu dữ liệu là byte, cho phép sao chép tối đa 255 byte Byte đầu tiên của mảng được xác định tại ngõ IN, trong khi ngõ OUT xác định vị trí đến của byte đầu tiên trong mảng.
Lệnh BMW IN,OUT,N : Tương tự như lệnh BMB, lệnh Block Move Word
BMW cho phép sao chép nội dung từ một mảng word, với số lượng word tối đa có thể sao chép là 255, được xác định bởi N có kiểu byte Mảng này bắt đầu từ word đầu tiên.
86 được xác định ở ngõ IN (kiểu word) Nơi đến được xác định với word đầu tiên của mảng ở ngõ OUT
Lệnh BMD IN,OUT,N : Tương tự như lệnh BMB, lệnh Block Move Double
Hàm BMD sao chép nội dung của một mảng Double Word, với số lượng Double Word được sao chép được xác định bởi biến N có kiểu byte, cho phép sao chép tối đa 255 Double Word Mảng bắt đầu từ ngõ IN (kiểu Double Word) và kết quả sẽ được lưu tại ngõ OUT, nơi chứa Double Word đầu tiên của mảng.
Cú pháp của lệnh ở LAD và FBD có cấu trúc tổng quát như sau:
Trong đó: X: Có thể là B (Byte), W (Word), D (Double word)
IN: Vị trí đầu tiên của mảng dữ liệu cần sao chép, có thể là Byte, Word hoặc double Word tùy theo X
OUT: Vị trí đầu tiên của mảng dữ liệu cần lưu trữ thông tin sao chép có thể là Byte, Word hoặc double Word tùy theo X
N: Số lượng Byte, Word, Double word sao chép, có giá trị từ 0 đến 255
Để sử dụng lệnh BLKMOV trong màn hình soạn thảo LAD, bạn nhấp vào dấu (+) trong cây lệnh, sau đó kéo và thả lệnh cần thiết vào vị trí mong muốn Nhập điều kiện cho ngõ vào EN, nếu cần thực hiện liên tục thì sử dụng bit nhớ SM0.0 Đặt byte cần sao chép ở ngõ IN và byte chứa thông tin sao chép ở OUT Ngoài ra, bạn có thể nhấn phím F9, nhập tên Move-X và nhấn Enter.
Ví dụ: Khi kích hoạt I1.0 thì nội dung của một mảng gồm 4 byte bắt đầu từ Byte
VB10 sẽ được copy sang vùng nhớ gồm có 4 byte khác có byte đầu tiên là VB100 Chương trình được viết như dưới đây
Giả thiết nội dung của mảng cần sao chép là:
CHỨC NĂNG CHUYỂN ĐỔI
Các hàm chuyển đổi dữ liệu giúp biến đổi dữ liệu từ kiểu này sang kiểu khác Trong S7-200, có nhiều hàm chuyển đổi dữ liệu khác nhau để sử dụng.
- DTR (DI_REAL): Hàm chuyển đổi số nguyên 32bit có dấu IN sang số thực 32bit và ghi kết quả vào OUT Hàm này chỉ có ở CPU 214
ATH là một hàm dùng để chuyển đổi chuỗi ký tự có độ dài xác định bởi toán hạng LEN, bắt đầu từ ký tự chỉ định trong toán hạng IN, sang số nguyên hệ thập lục phân có cơ số.
Chuỗi ký tự có độ dài tối đa 255 được ghi vào vùng nhớ bắt đầu từ byte được chỉ định bởi OUT Nếu có lỗi trong mã hóa ký tự, quá trình sẽ dừng lại và bit SM1.7 sẽ được đặt thành 1.
Lệnh chuyển đổi số nguyên hệ thập lục phân sang led 7 đọan:
Lệnh này chuyển đổi các số thập lục phân từ 0 đến F trong 4 Bit thấp của byte tại ngõ vào IN thành giá trị BIT trong 8 bit của byte tại ngõ ra OUT, tương ứng với thanh LED 7 đoạn Byte ở ngõ vào IN và ngõ ra OUT có thể cùng địa chỉ và nằm trong các vùng bộ nhớ khác nhau.
IN: VB, IB, QB, MB, SMB,AC, const
OUT: VB, IB,AB,MB,SMB,AC
Khi tiếp điểm I0.0 đóng, giá trị số 7 được ghi vào VW0 Tiếp theo, khi tiếp điểm I0.1 đóng, giá trị trong 4 bit thấp của byte VB0 sẽ chuyển thành 8 bit và được lưu trữ trong thanh ghi AC0.
Lệnh chuyển đổi số mã BCD sang số nguyên:
Lệnh này chuyển đổi một số nhị phân 16 bit từ địa chỉ ngõ vào IN sang số nguyên 16 bit ở địa chỉ ngõ ra OUT Đặc biệt, địa chỉ ngõ vào IN và ngõ ra OUT có thể trùng nhau Địa chỉ này thường nằm trong các vùng nhớ đã được xác định.
IN: VW, T, C, IW, QW, MW, SMW, AC, AIW, const OUT: VW, T, C, IW, QW, MW, SMW, AC
Hình 5.9: Sơ đồ LAD Giải thích:
Khi I0.0 đóng, giá trị 1124 được mã hóa theo BCD thành 0001 0001 0010 0100 và được ghi vào địa chỉ AC0 Khi tiếp điểm I0.1 đóng, giá trị BCD này sẽ được chuyển đổi thành số nguyên và lưu trữ tại AC0 Biểu diễn giá trị này theo dạng bit như sau:
Lệnh chuyển đổi số nguyên sang mã BCD
Lệnh này chuyển đổi một số nguyên 16 bit từ địa chỉ ngõ vào IN sang dạng số nhị phân 16 bit tại địa chỉ ngõ ra OUT Đặc biệt, địa chỉ ngõ vào IN và ngõ ra OUT có thể trùng nhau.
- Địa chỉ này thường nằm trong các vùng sau:
IN: VW, T, C, IW, QW, MW, SMW, AC, AIW, const OUT: VW, T, C, IW, QW, MW, SMW, AC
Lệnh chuyển đổi số nguyên sang số thực: Ý nghĩa:
- Lênh này thực hiện phép biến đổi một số nguyên 32 bit có địa chỉ ở ngõ vào
IN thành số thực 32 bit rồi ghi vào Dword có địa chỉ ở ngõ ra OUT Trong đó tóan hạng
IN và OUT có thể cùng điạ chỉ và thuộc một trong các vùng sau:
IN: VD, ID, QD, MD, SMD, AC, HC, const OUT: VD, ID, QD, MD, SMD, AC
Lệnh chuyển đổi số thực sang số nguyên:
Lệnh này chuyển đổi một số thực 32 bit trong Dword tại địa chỉ ngõ vào IN thành số nguyên 32 bit và ghi kết quả vào Dword tại địa chỉ ngõ ra OUT Các toán hạng IN và OUT có thể nằm ở cùng một địa chỉ và thuộc một trong các vùng bộ nhớ khác nhau.
IN: VD, ID, QD, MD, SMD, AC, HC, const OUT: VD, ID, QD, MD, SMD, AC
CHỨC NĂNG TOÁN HỌC
Trong nhiều nhiệm vụ đếm như đếm sản phẩm, số vòng quay, hay xung, việc giám sát kết quả đếm là rất quan trọng Ngoài các phép toán so sánh, cần bổ sung các phép toán số học như cộng, trừ, nhân và chia Các phép toán khác như sin, cos, tan và PID sẽ được trình bày chi tiết trong tập 2 của bộ sách kỹ thuật điều khiển lập trình PLC.
Các phép toán cộng và trừ có thể được thực hiện trên các loại số như Integer (16 bit), Double Integer (32 bit) và số thực (32 bit) Kết quả của phép toán sẽ phụ thuộc vào loại số và phép toán được thực hiện, cho ra kết quả ở dạng tương ứng.
Khi có lỗi do tràn hoặc giá trị không hợp lệ, bit SM1.1 được set lên mức logic 1
Để thực hiện phép cộng và trừ trong màn hình soạn thảo LAD, người dùng cần nhấp vào dấu (+) trong cây lệnh và chọn lệnh phù hợp như cộng hoặc trừ số nguyên (Integer, DInt) hoặc số thực (real) Sau khi kéo và thả lệnh vào vị trí mong muốn, cần nhập điều kiện cho ngõ vào EN, sử dụng bit nhớ SM0.0 nếu thao tác luôn được thực hiện Cuối cùng, nhập các biến tương ứng vào các ngõ IN1 và IN2, và biến chứa kết quả ở ngõ OUT.
Nhập biến chứa kết quả ở ngõ OUT
Các phép toán nhân và chia có thể được thực hiện trên các loại số như Integer (16 bit), Double integer (32 bit) và số thực (32 bit) Kết quả của phép toán sẽ phụ thuộc vào loại số được sử dụng, với kết quả xuất hiện ở dạng tương ứng với phép toán là nhân hay chia.
Khi có lỗi do tràn hoặc giá trị không hợp lệ thì bit SM1.1 được set lên mức logic
“1“ Nếu kết quả là zero thì SM1.0 =”1”, kết quả âm thì SM1.2 =”1”, và SM1.3 =”1” nếu chia cho 0
Cú pháp lệnh biểu diễn cho phép thực hiện phép nhân và chia với các bước cụ thể Đầu tiên, bạn cần nhập điều kiện cho ngõ vào EN; nếu muốn thực hiện liên tục, hãy sử dụng bit nhớ SM0.0 Tiếp theo, nhập các biến tương ứng cho phép toán vào ngõ IN1 và IN2, và cuối cùng, nhập biến chứa kết quả ở ngõ OUT Đối với lệnh nhân hoặc chia số thực (real) trong màn hình soạn thảo LAD, quy trình tương tự cũng được áp dụng, với điều kiện ngõ vào EN và các biến tương ứng.
5.5.3 Thực hành phép toán số học
Ví dụ: Đếm sản phẩm
Sản phẩm trên một băng tải được nhận biết bởi cảm biến S1 Tổng số lượng sản
MD20 chứa 91 sản phẩm đếm được, với mỗi 10 sản phẩm được đóng gói thành một thùng Số lượng thùng được lưu trữ trong MD24 Người dùng có thể xóa số lượng sản phẩm bằng cách nhấn nút S2.
Hình 5.10: Chương trình đếm sản phẩm
CÁC BÀI TẬP THỰC HÀNH:
Trong ứng dụng này, hệ thống sẽ tự động phân loại các sản phẩm kém chất lượng, giúp tách biệt chúng khỏi những sản phẩm đạt tiêu chuẩn Chẳng hạn, việc phân biệt giữa bóng đen và bóng trắng sẽ được thực hiện dựa trên hai container khác nhau.
Khi hoạt động bắt đầu, sensor S1 phát hiện sự hiện diện của bóng trong hộp Cuộn selenoid trên thả ra để sensor S2 nhận diện màu trước khi bóng được thả vào contennơ Nếu bóng là màu đen, piston 1002 sẽ được kích hoạt để chuyển hướng bóng đen xuống contennơ khác.
- Vẽ giản đồ thời gian
- Vẽ mạch động lực và sơ đồ kết nối PLC với thiết bị ngoại vi
- Viết chương trình điều khiển
- Chạy mô phỏng chương trình
Hãy viết chương trình điều khiển hai động cơ hoạt động theo chế độ như sau:
- Động cơ 1 chạy 5 giây rồi ngừng sau đó đến động cơ 2 chạy 5 giây rồi ngừng
Trong quy trình làm việc, hai động cơ sẽ hoạt động trong 2 giây và lặp lại 5 lần Sau đó, chu kỳ làm việc của hai động cơ sẽ tiếp tục lặp lại 10 lần trước khi nghỉ Để tiếp tục hoạt động, cần khởi động lại động cơ.
- Vẽ giản đồ thời gian
- Vẽ mạch động lực và sơ đồ kết nối PLC với thiết bị ngoại vi
- Viết chương trình điều khiển
- Chạy mô phỏng chương trình
Công ty TECHNOPIA có hai bồn trộn hóa chất, mỗi bồn dược kéo bởi một động cơ
- Trên bảng điều khiển có ba chọn lựa:
- Nếu nhấn nút PB thì cả hai bồn đều được chọn làm việc trong 30 giây
- Nếu nhấn nút PB1 thì chỉ có bồn 1 làm việc trong 30 giây (bồn 2 nghỉ)
- Nếu nhấn nút PB2 thì chỉ có bồn 2 làm việc trong 30 giây (bồn 1 nghỉ)
- Khi đang trộn hóa chất nếu bồn hóa chất bị hở van thì phải báo động ngay lập tức và dừng quá trình trộn lại ( hình vẽ)
- Vẽ giản đồ thời gian
- Vẽ mạch động lực và sơ đồ kết nối PLC với thiết bị ngoại vi
- Viết chương trình điều khiển
- Chạy mô phỏng chương trình
Máy bán nước tự động hoạt động dựa trên số tiền người dùng đưa vào Để nhận được loại nước uống mong muốn, số tiền cần phải bằng hoặc lớn hơn giá quy định của từng sản phẩm.
- Vẽ giản đồ thời gian
- Vẽ mạch động lực và sơ đồ kết nối PLC với thiết bị ngoại vi
- Viết chương trình điều khiển
- Chạy mô phỏng chương trình
Hình 5.12: Máy bán nước tự động Bài 5:
- Do yêu cầu của công nghệ nên có một động cơ vận hành theo chế độ như sau:
+ Nhấn nút ON (động cơ chuẩn bị làm việc), sau đó chọn chế độ làm việc
+ Nếu nhấn nút PB1: thì động cơ chạy 50 giây dừng 10 giây rồi chạy ngược 50 giây, dừng 10 giây và chu kỳ lặp lại 3 lần như ban đầu
+ Nếu nhấn nút PB2 thì động cơ chạy 50 giây ,dừng 10 giây sau đó chạy ngược
50 giây, dừng 10 giây và chu kỳ bắt đầu lặp lại như ban đầu 5 lần
Hình 5.14: Điều khiển động cơ
- Vẽ giản đồ thời gian
- Vẽ mạch động lực và sơ đồ kết nối PLC với thiết bị ngoại vi
- Viết chương trình điều khiển
- Chạy mô phỏng chương trình
Hình 5.15: Dây chuyền sản xuất
Nhà máy sản xuất bia sau khi hoàn tất quá trình đóng chai, sẽ chuyển các chai bia qua một băng tải Trên băng tải này, có bốn trạm kiểm tra được bố trí để đảm bảo chất lượng sản phẩm.
- Trạm 1: Kiểm tra chai có bị mẻ hay không
- Trạm 2: Kiểm tra nhãn chai
- Trạm 3: Kiểm tra nút chai
- Trạm 4: Kiểm tra bia đầy hay không
Nếu chai bia không đạt tiêu chuẩn kiểm tra, nó sẽ bị loại bỏ sau khi qua bốn trạm Hãy xây dựng một chương trình kiểm tra sản phẩm theo các yêu cầu này.
- Vẽ giản đồ thời gian
- Vẽ mạch động lực và sơ đồ kết nối PLC với thiết bị ngoại vi
- Viết chương trình điều khiển
- Chạy mô phỏng chương trình
- Có công nghệ đổ nguyên liệu như hình vẽ:
Hình 5.16: Dây chuyền sản xuất
- LS1, LS2: Công tắc hành trình
- S1, S2: Báo bồn 1 đầy và cạn
- S3, S4: Báo bồn nguyên liệu đầy và cạn
- Vẽ giản đồ thời gian
- Vẽ mạch động lực và sơ đồ kết nối PLC với thiết bị ngoại vi
- Viết chương trình điều khiển
- Chạy mô phỏng chương trình
- Viết 1 chương trình điều khiển đèn giao thông cho ngã tư, đèn hoạt động như sau:
+ Có thể thay đổi được thời gian cho đèn xanh tuyến 1 và tuyến 2
+ Vàng tuyến 1 và tuyến 2 có giá trị mặc định là 5 giây
+ Xanh tuyến1, tuyến 2 có giá trị mặc định là 15 giây
+ Vàng tuyến 1 và tuyến 2 là 5 giây.
- Vẽ giản đồ thời gian
- Vẽ mạch động lực và sơ đồ kết nối PLC với thiết bị ngoại vi
- Viết chương trình điều khiển
- Chạy mô phỏng chương trình
Viết chương trình điều khiển một chuông báo tiết học theo yêu cầu sau:
- Chủ Nhật chuông không kêu
- Từ 7h00’00” đến 7h00’10” chuông kêu báo vào giờ học
- Từ 9h00’00” đến 9h00’08” chuông kêu báo giờ giải lao
- Từ 9h15’00” đến 9h15’10” chuông kêu báo vào giờ học
- Từ 11h00’00” đến 11h00’20” chuông kêu báo giờ học kết thúc
- Vẽ giản đồ thời gian
- Vẽ mạch động lực và sơ đồ kết nối PLC với thiết bị ngoại vi
- Viết chương trình điều khiển
XỬ LÝ TÍN HIỆU ANALOG
TÍN HIỆU ANALOG
Tín hiệu analog, như 0-10VDC hoặc 4-20mA, là các tín hiệu tương tự được sử dụng trong nhiều ứng dụng cảm biến như đo khoảng cách, áp suất, trọng lượng, tốc độ và nhiệt độ Khi chuyển đổi sang giá trị số, tín hiệu này thường được lưu trữ dưới dạng giá trị số 12 bit trong thanh ghi hoặc các vị trí từ đơn.
Trend View cho phép người dùng quan sát dạng sóng tín hiệu tương tự như PLC Hầu hết các ứng dụng của chương trình PLC Siemens và các ứng dụng khác đều yêu cầu đọc tín hiệu analog để hoạt động hiệu quả.
Các bước đọc tín hiệu Analog:
6.1.1 Đọc tín hiệu analog từ Modul EM231:
Các tín hiệu có thể đọc được từ Modul EM231(tuỳ thuộc việc chọn các Switch trên modul):
- Tín hiệu đơn cực (Tín hiệu điện áp): 0-10VDC, 0-5VDC
- Tín hiệu lưỡng cực (tín hiệu điện áp): -5VDC – 5VDC, -2.5VDC – 2.5VDC
- Tín hiệu dòng điện: 0 – 20mA (có thể đọc được 4-20mA)
Tín hiệu Analog sẽ được đọc vào AIW0, AIW2 tương ứng,tuỳ thuộc vào vị trí của tín hiệu đưa vào modul
Hình 6.1: Đọc tín hiệu vào tương tự Modul EM231 có 4 ngõ vào Analog,do vậy vị trí các ngõ vào tương ứng là: AIW0, AIW2, AIW4, AIW6
Tín hiệu analog là tín hiệu điện áp, nhưng giá trị mà AIW tiếp nhận không phải là giá trị điện áp trực tiếp, mà là giá trị đã được chuyển đổi sang định dạng 16 bit.
Trường hợp đơn cực: Giá trị từ 0 – 64000 tương ứng với (0-10V,0-5V hay 0- 20mA)
Hình 6.2: Module mở rộng tương tự Trường hợp lưỡng cực: Giá trị từ -32000 – 32000 tương ứng với (-5VDC – 5VDC hay -2.5VDC – 2.5VDC)
- Trường hợp đơn cực: giá trị đọc vào của AIW0 = 32000,khi đó giá trị điện áp tương ứng là : (32000x10VDC/ 64000) = 5VDC (Tầm chọn 0 – 10VDC)
- Trường hợp lưỡng cực: Giá trị đọc vào của AIW0 = 16000,khi đó giá trị điện áp tương ứng là: ( 16000x5VDC/32000) =2.5VDC ( Tầm đo -2.5VDC – 2.5VDC )
Dựa vào giá trị đọc vào của AIW, chúng ta có thể áp dụng quy tắc “tam suất” để tính toán giá trị điện áp tương ứng Từ giá trị điện áp này, ta có thể suy ra giá trị mong muốn.
Người sử dụng thường mong muốn nhận được giá trị chính xác từ các tín hiệu Analog, chẳng hạn như giá trị khối lượng khi đọc từ Loadcell hoặc giá trị áp suất khi tiếp nhận tín hiệu từ cảm biến áp suất.
Phương pháp đọc Analog không yêu cầu chú trọng vào chế độ đơn cực hay lưỡng cực; thay vào đó, chỉ cần xác định hai điểm để thiết lập phương trình đường thẳng, từ đó có thể đọc giá trị mong muốn theo AIW.
- Ví dụ: Để đọc khối lượng từ đầu cân :Ta xây dựng hàm Khối lượng theo AIW(là tín hiệu đọc vào)
- Bước 1: Ta cần xác định 2 điểm: Điểm 1: Ta online trên máy tính,đọc giá trị AIW0 là x1,trong trường hợp ở điểm
1 (Điểm 1 là điểm ta đặt quả cân chuẩn 1:có khối lượng m1 lên bàn cân), Tương tự ta có thể xác định được điểm 2 (tương ứng x2 và m2)
Từ đó ta có 2 điểm: Điểm 1 (x1,m1) , Điểm 2 (x2,m2) Phương trình đường thẳng đi qua 2 điểm 1,2 có dạng: (X-X1/X2-X1) = (Y-Y1/Y2-Y1),
Từ đó rút Y theo X Đó chính là phương trình khối lượng theo AIW
- Ví dụ cụ thể: Điểm 1 (0,0), điểm 2 ( 32000,1000) Phương trình lập:
(X-0/32000-0) = (Y-0/1000-0) Từ đó suy ra: Y= 1xX/ 32
6.1.2 Xuất tín hiệu analog qua modul EM232:
Hình 6.3: Xuất ra tín hiệu tương tự Các tín hiệu có thể xuất ra Modul EM232 (tuỳ thuộc việc chọn các Switch trên modul):
- Tín hiệu đơn cực (Tín hiệu dòng điện): 0-20mA
- Tín hiệu lưỡng cực (tín hiệu điện áp): -10VDC – 10VDC Tín hiệu 0 -20mA tương ứng với giá trị 0 – 32000
Tín hiệu -10VDC – 10VDC tương ứng -32000 – 32000
Giá trị xuất ra Modul EM232 được đưa vào ô nhớ AQW tương ứng
Modul EM235 cho phép đọc các tín hiệu với nhiều mức khác nhau tùy thuộc vào Switch được chọn Các tín hiệu đơn cực bao gồm: 0 – 50mV, 0 – 100mV, 0 – 500mV, 0 – 1V, 0 – 5VDC, 0 – 20mA và 0 – 10VDC Đối với tín hiệu lưỡng cực, modul hỗ trợ các mức: ±25mV, ±50mV, ±100mV, ±250mV, ±500mV, ±1VDC, ±2.5VDC, ±5VDC và ±10VDC.
Giá trị tương ứng cho chế độ đơn cực: Từ 0 – 64000
Giá trị tương ứng cho chế độ lưỡng cực: -32000 – 32000
- Ngoài ra Modul EM235 còn có 2 Ngõ ra Analog output tương ứng: ±10VDC, 0 – 20mA
6.1.4 I/O cục bộ và mở rộng
Cấu trúc MODULE của S7-200 mang lại sự linh hoạt tối đa trong việc giải quyết các bài toán, cho phép lựa chọn số lượng đầu vào và ra một cách tối ưu về mặt kinh tế Hệ thống cũng hỗ trợ việc tăng số lượng ngõ vào ra thông qua các module mở rộng.
Các module mở rộng này được cắm nối tiếp nhau vào bên phải CPU Địa chỉ
Các đầu vào ra trên các module mở rộng được tính liên tiếp và riêng biệt cho từng loại, bao gồm vào, ra, vào tương tự và ra tương tự, mà không ảnh hưởng lẫn nhau Các đầu vào ra rời rạc được định địa chỉ theo cách chẵn byte, bắt đầu từ x.0, x.1, trong khi các đầu vào ra tương tự được định địa chỉ theo từ đơn với khoảng cách hai, sử dụng các số chẵn như AIW0, AIW2, AIW4, và AQW0, AQW2, AQW4,
Tín hiệu ngõ vào (Analog Input): Đại lượng điện áp và dòng điện:
- Muốn đo tín hiệu điện áp hoặc hoặc dòng điện ta cần chọn module Analog mở rộng phù hợp như: EM 235 input/output
- Giá trị số các thang đo của các module Analog S7-200
Thang đo Thang đo Thang đo Thang đo Thang đo Dữ liệu dạng số ± 25 mV ± 50 mV ± 100 mV ± 250 mV ± 500 mV ± 32000 ± 1 V ± 2,5 mV ± 5 V ± 10 V ± 32000
0 → 1 V 0 → 5 V 0 → 10 V 0 → 20 mA 0 → 32000 Đại lượng điện trở, nhiệt độ:
- Cũng như ở trên ta cần chọn phần cứng Analog phù hợp cho S7-200: + EM 231 RTD
Thang đo Dữ liệu dạng số
Tín hiệu ngõ ra (Output) Analog:
6.1.5 Lọc đầu vào tương tự
Các đầu vào tương tự và rời rạc có thể được lọc để giảm thiểu nhiễu Bộ lọc cho đầu vào tương tự thực hiện phép tính giá trị trung bình của một số giá trị mẫu liên tiếp, giúp giảm ảnh hưởng của các giá trị ngoại lai Tuy nhiên, bộ lọc cũng làm chậm tín hiệu, điều này có thể không phù hợp với các đầu vào có biến đổi nhanh S7-200 giải quyết vấn đề này hiệu quả.
Khái niệm "deadband" đề cập đến việc nếu giá trị lấy mẫu vượt quá giới hạn quy định so với giá trị trung bình, bộ lọc sẽ ngừng tính toán giá trị trung bình và ngay lập tức cập nhật giá trị mới.
Người lập trình có thể dễ dàng bật hoặc tắt chức năng lọc cho từng đầu vào theo yêu cầu Ngoài ra, họ cũng có thể thiết lập các thông số chung cho các bộ lọc tương tự, như giá trị để tính trung bình và deadband, thông qua menu chính View → Component → System Block và chọn tag Analog Input Filters.
Chương trình LAD trên S7-200 CPU có 1 hoặc 2 điều chỉnh tương tự phía trước, cho phép người dùng điều chỉnh theo chiều kim đồng hồ hoặc ngược lại trong khoảng 270 độ Việc điều chỉnh này ảnh hưởng đến giá trị byte trong SMB28 và SMB29, với khả năng thay đổi từ 0 đến 255 Những giá trị này có thể được sử dụng như các giá trị chỉ đọc, có thể thay đổi thông qua sự can thiệp từ bên ngoài chương trình.
Thực hành đo lường và giám sát nhiệt độ với module EM235 v à nhận cảm biến nhiệt điện trở Pt100
cảm biến nhiệt điện trở Pt100
- S7-200 CPU, EM235 Analog Expansion Module
Chọn dãy điện áp từ 0V đến 10V cho EM235 và bật các công tắc trên module theo vị trí đã được quy định tương ứng với từng dãy điện áp đầu vào và độ phân giải của tín hiệu, như được trình bày trong bảng dưới đây.
Bảng 6.1 SW lựa chọn giới hạn đo
Không đảo dấu Giới hạn dãy điện áp đầu vào Độ phân dải
SW1 SW2 SW3 SW4 SW5 SW6
ON OFF OFF ON OFF ON 0 ữ 50 mV 12.5 àV
OFF ON OFF ON OFF ON 0 ữ 100 mV 25 àV
ON OFF OFF OFF ON ON 0 ữ 500 mV 125 àV
OFF ON OFF OFF ON ON 0 ữ 1 V 250 àV
ON OFF OFF OFF OFF ON 0 ÷ 5 V 12.5 mV
ON OFF OFF OFF OFF ON 0 ữ 20 mA 5 àA
OFF ON OFF OFF OFF ON 0 ÷ 10 V 2.5 mV Đảo dấu Giới hạn dãy điện áp đầu vào Độ phân dải
SW1 SW2 SW3 SW4 SW5 SW6
ON OFF OFF ON OFF OFF ±25 mV 12.5 àV
OFF ON OFF ON OFF OFF ± 50mV 25 àV
OFF OFF ON ON OFF OFF ± 100mV 50 àV
ON OFF OFF OFF ON OFF ± 250 mV 125 àV
OFF ON OFF OFF ON OFF ± 500 mV 250 àV
OFF OFF ON OFF ON OFF ± 1V 500 àV
ON OFF OFF OFF OFF OFF ± 2.5V 12.5 mV
OFF ON OFF OFF OFF OFF ± 5V 25 mV
OFF OFF ON OFF OFF OFF ± 10V 50 mV
SW6: Chọn điện áp và dòng vào có dấu hoặc không dấu; SW4, SW5: chọn hệ số khuếch đại; SW3,2,1: chọn hệ số suy giảm
Bảng 6.2 Trạng thái ngõ vào tương tự
Giá trị chuyển đổi ADC 12 bit của từ đơn đối với tín hiệu vào có hoặc không có dấu:
Hình 6.6: Thanh xử lý tín hiệu tương tự
Cấu trúc của module EM23 được xác định bởi số kênh sử dụng trên module analog EM235, với các địa chỉ đầu vào tương ứng trong quá trình lập trình Cụ thể, AWI0 được sử dụng cho kênh 1, AWI2 cho kênh 2, và AWI4 cho kênh 3.
Chương trình này hỗ trợ người dùng trong việc đo lường và giám sát nhiệt độ, sử dụng hệ thống bao gồm 1 module CPU, 1 module EM235, 1 cảm biến nhiệt điện Pt100 và 1 màn hình hiển thị TD200.
Module đọc giá trị nhiệt điện trở và chuyển đổi thành điện áp theo bậc Đầu ra analog được sử dụng như hằng số của nguồn dòng, với dòng cung cấp cho Pt100 là 12.5 mA.
Mạch này có đầu vào tuyến tính với độ nhạy 5mV/1°C Giá trị analog của đầu vào được số hóa thông qua hệ thống chuyển đổi ADC và được đọc liên tục theo chu kỳ Từ giá trị này, chương trình sẽ thực hiện các phép tính và chuyển đổi theo công thức đã định.
Digital value: giá trị đầu vào analog đã được chuyển đổi
0°C offset: giá trị số, được đo ở 0°C; trong ví dụ này giá trị offset là 4000
1°C value: giá trị tương ứng với 1°C, trong ví dụ này thì 1°C Chương trình tính toán giá trị thập phân và ghi kết quả vào biến của message1:
"Giá trị nhiệt độ hiển thị trên TD200 là xxx.x°C Trước khi khởi tạo chương trình, cần xác định giới hạn nhiệt độ tối thiểu và tối đa."
Khi nhiệt độ vượt quá ngưỡng quy định, màn hình TD200 sẽ hiển thị cảnh báo với thông báo "Temperature > xxx.x°C" Ngược lại, nếu nhiệt độ giảm xuống dưới ngưỡng, thông báo sẽ là "Temperature < xxx.x°C".
Hình 6.8: Cách lắp TD200 với CPU và module EM235
Hình 6.9: Cách lắp ghép cảm biến với module EM235
Chương trình viết trên Step 7 bằng ngôn ngữ STL:
Network 1: Set the High and Low Temperature Limits
LD First_Scan_On:SM0.1 // In the first scan cycle,
MOVD +0, VD196 // clear VW196 and VW198 MOVW +16, VW250
// Load 1° C = 16in VW250 MOVW +4000, VW252 // Set the 0° C offset = 4000 MOVW +300, VW260
// Set the high temperature , limit = 30° C
MOVW +200, VW262 // Set the low temperature, limit = 20°C
MOVW +20000, AQW0 // Initialize a 12.5 mA current
//at analog output word AQW0
Network 2: Calculate the Value and Enable Message 1
LD Always_On:SM0.0 // Every scan cycle,
MOVW AIW4, VW200 // move the value in analog,
// input word AIW4 to VW200
-I VW252, VW200 // Subtract the 0° C offset
DIV VW250, VD198 // Divide the result by the 1° C value
MUL +10, VD196 // Multiply the remainder by 10
DIV VW250, VD196 // Divide the value in variable double word
//VD196 (remainder x 10) by the 1° C value
MOVW VW198, VW160 // Shift the quotient by 1 decimal point to the left
MUL +10, VD198 // Multiply the temperature value by0
+I VW160, VW200 // Add the result of temp value x10 with the value
// that is stored as the digit follo the decimal point MOVW VW200, VW116 // Transfer the result to VW116
// (embedded value on the TD 200) for display
S V12.7, 1 // Enable message 1 for display on the TD 200
Network 3: If Temperature Exceeds High Limit, Enable Message 2 and Turn Off
LDW>= VW200, VW260 // If the temperature value >= the high temperature
// limit stored in VW260,= V12.6 // enable message 2 on the TD 200
MOVW VW260, VW136 // Move the high temperature limit value to VW136
//(embedded value on the TD 200) for display // in message 2
Network 4: If Temperature Drops Below Low Limit, Enable Message 3 and Turn
LDW