Lập trình và điều khiển thang máy bằng PLC S7-1200 là một bài toán quan trọng trong ngành tự động hóa công nghiệp, giúp tối ưu hóa vận hành và đảm bảo an toàn cho các dự án sử dụng thang máy. Bài viết này sẽ cung cấp hướng dẫn chi tiết về quy trình lập trình từ chuẩn bị phần cứng, phần mềm đến triển khai code và các lưu ý an toàn cần thiết. Hãy cùng Thanh Thiên Phú khám phá ngay sau đây!
1. Chuẩn bị phần cứng và phần mềm để lập trình điều khiển thang máy
1.1. Chuẩn bị phần cứng
Về phần cứng thì trung tâm của hệ thống chính là bộ điều khiển logic khả trình PLC Siemens S7-1200. Dòng PLC này nổi tiếng với hiệu suất mạnh mẽ, kích thước nhỏ gọn, khả năng mở rộng linh hoạt và giá thành hợp lý, phù hợp cho các ứng dụng điều khiển vừa và nhỏ như thang máy 3 tầng hoặc 4 tầng.
Việc lựa chọn CPU S7-1200 như CPU 1212C, CPU 1214C hay CPU 1215C sẽ phụ thuộc vào số lượng đầu vào/ra (I/O) yêu cầu, bộ nhớ chương trình và các tính năng truyền thông PLC S7-1200 cần thiết.
Một PLC S7-1200 thường tích hợp sẵn một số cổng I/O số, tuy nhiên, đối với ứng dụng thang máy thì cần bổ sung các module mở rộng I/O gồm Digital Input/Output modules và Analog Input/Output modules là cần thiết cho các cảm biến hoặc biến tần.
Bảng các thành phần phần cứng cơ bản cho hệ thống điều khiển thang máy S7-1200:
Hạng mục | Mô tả tóm tắt | Gợi ý |
PLC Siemens | Bộ não của hệ thống, xử lý logic điều khiển, đọc tín hiệu từ cảm biến và gửi lệnh đến cơ cấu chấp hành. | Chọn dòng CPU S7-1200 DC/DC/DC như 1214C 6ES7214-1AG40-0XB0 hoặc AC/DC/Relay như 1214C 6ES7214-1BG40-0XB0. Tuy nhiên, ưu tiên lựa chọn dựa trên số lượng I/O và yêu cầu cụ thể của dự án. |
Module mở rộng I/O | Tăng số lượng đầu vào/ra cho PLC, kết nối với các nút nhấn gọi tầng, cảm biến vị trí, cảm biến cửa, tín hiệu an toàn. | SM 1221 (Digital Input), SM 1222 (Digital Output), SM 1223 (Digital Input/Output). Số lượng tùy theo thiết kế. |
Nút nhấn | Giao diện để người dùng gọi thang máy từ các tầng và chọn tầng đích bên trong cabin. | Nút nhấn có đèn báo trạng thái, loại tự giữ hoặc tự nhả tùy theo logic điều khiển. |
Cảm biến vị trí | Xác định vị trí chính xác của cabin thang máy tại mỗi tầng (ví dụ: cảm biến tiệm cận, công tắc hành trình). | Cảm biến tiệm cận quang hoặc từ, công tắc hành trình độ bền cao. Cần ít nhất 1 cảm biến cho mỗi tầng. |
Cảm biến cửa | Phát hiện trạng thái đóng/mở của cửa cabin và cửa tầng, đảm bảo an toàn vận hành. | Cảm biến quang điện (photoelectric sensor) dạng thu phát riêng hoặc phản xạ gương, công tắc hành trình cửa. |
Cảm biến an Toàn | Bao gồm cảm biến quá tải, cảm biến vật cản cửa (mành photocell), nút dừng khẩn cấp. | Cảm biến tải trọng, thanh an toàn cửa, nút Emergency Stop tiêu chuẩn. |
Biến tần | Điều khiển tốc độ động cơ thang máy, giúp thang máy khởi động, di chuyển và dừng êm ái, tiết kiệm năng lượng. | Chọn biến tần phù hợp với công suất động cơ, có hỗ trợ các chế độ điều khiển tốc độ đa cấp hoặc điều khiển vector. |
Động cơ | Cơ cấu truyền động chính, nâng hạ cabin. | Động cơ không đồng bộ 3 pha hoặc động cơ có hộp số chuyên dụng cho thang máy. |
Contactor, Relay | Đóng cắt mạch động lực cho động cơ, phanh, điều khiển cửa và các thiết bị phụ trợ khác. | Chọn contactor, relay có dòng định mức và tuổi thọ phù hợp. |
Bộ nguồn | Cung cấp nguồn điện ổn định 24VDC cho PLC, cảm biến và các thiết bị điều khiển khác. | Siemens SITOP hoặc các thương hiệu uy tín khác, công suất phù hợp với tổng tải. |
HMI (Human Machine Interface) | Màn hình giao diện người máy (tùy chọn nhưng khuyến nghị) để hiển thị trạng thái thang máy, tầng hiện tại, báo lỗi, và cài đặt thông số. | Siemens Basic Panel (KTP400, KTP700) hoặc Comfort Panel. |
Cáp | Cáp Ethernet để lập trình và kết nối PLC với HMI, cáp tín hiệu cho cảm biến và cơ cấu chấp hành. | Cáp Ethernet công nghiệp, cáp điều khiển có chống nhiễu. |
Các cảm biến đóng vai trò cực kỳ quan trọng, bao gồm cảm biến vị trí tầng, thường là cảm biến tiệm cận hoặc công tắc hành trình, để xác định cabin đang ở đâu.
Bên cạnh đó là cảm biến cửa để đảm bảo cửa đã đóng hoàn toàn trước khi thang máy di chuyển, và các cảm biến an toàn như photocell ở cửa hay cảm biến quá tải.
Cơ cấu chấp hành gồm động cơ kéo, hệ thống phanh, cơ cấu đóng mở cửa và contactor để đóng cắt mạch lực.
Ngoài ra, biến tần cũng là một thành phần không thể thiếu nếu muốn thang máy vận hành êm ái giúp tiết kiệm điện và có thể điều chỉnh được tốc độ một cách linh hoạt. Bởi vậy, nếu muốn tìm hiểu sâu hơn về chủ đề này thì bạn có thể tham khảo thêm bài viết hướng dẫn điều khiển biến tần V90 với PLC S7-1200.
1.2. Chuẩn bị phần mềm
Về phần mềm lập trình PLC S7-1200 thì công cụ chính và duy nhất bạn cần là TIA Portal (Totally Integrated Automation Portal) của Siemens. Đây là một môi trường phát triển tích hợp, cho phép cấu hình phần cứng, lập trình PLC S7-1200, thiết kế giao diện HMI và chẩn đoán lỗi một cách trực quan và hiệu quả.
Hãy đảm bảo rằng phiên bản TIA Portal bạn sử dụng tương thích với firmware của CPU S7-1200 đã chọn. Các ngôn ngữ lập trình PLC phổ biến được hỗ trợ trong TIA Portal cho S7-1200 gồm Ladder Logic (LAD), Function Block Diagram (FBD), và Structured Control Language (SCL).
Đối với ứng dụng thang máy, LAD và SCL thường được kết hợp để tận dụng ưu điểm của từng ngôn ngữ, với LAD cho các logic tuần tự dễ hình dung và SCL cho các thuật toán xử lý phức tạp hoặc các vòng lặp. Việc nắm vững ít nhất một trong các ngôn ngữ này là điều kiện cần.
Bạn có thể tìm thấy các tài liệu kỹ thuật S7-1200 cho ứng dụng thang máy, datasheet của từng linh kiện trên website của Siemens và ThanhThienPhu.vn. Sự chuẩn bị chu đáo về phần cứng và phần mềm không chỉ giúp quá trình lập trình thang máy 3 tầng S7-1200 diễn ra suôn sẻ mà còn là tiền đề để hệ thống vận hành bền bỉ và an toàn.
3. Hướng dẫn lập trình điều khiển thang máy 3 tầng với PLC S7-1200
Sau khi hoàn tất công tác chuẩn bị phần cứng và cài đặt phần mềm TIA Portal, giai đoạn tiếp theo là triển khai lập trình hệ thống điều khiển thang máy 3 tầng sử dụng PLC S7-1200. Quá trình này gồm việc chuyển đổi các yêu cầu thiết kế, logic vận hành và các tiêu chuẩn an toàn thành chương trình thực thi trên PLC. Việc nắm vững các bước lập trình này là yêu cầu thiết yếu đối với kỹ sư và kỹ thuật viên tự động hóa, nhằm đảm bảo hệ thống hoạt động chính xác và ổn định.
3.1. Phân tích yêu cầu bài toán điều khiển thang máy 3 tầng
Trước khi bắt đầu bất kỳ công việc lập trình nào, việc phân tích và định nghĩa rõ ràng các yêu cầu của bài toán là bước nền tảng và mang tính quyết định. Đối với hệ thống điều khiển thang máy 3 tầng, việc này tương tự như việc một kiến trúc sư phải hoàn thiện bản vẽ thiết kế chi tiết trước khi công trình được khởi công.
Một bản mô tả yêu cầu bài toán đầy đủ và chính xác sẽ đóng vai trò như kim chỉ nam, định hướng cho toàn bộ quá trình phát triển phần mềm điều khiển, đảm bảo rằng tất cả các chức năng cần thiết đều được xem xét và triển khai một cách đúng đắn, tránh đi chệch hướng hoặc bỏ sót các yếu tố quan trọng.
Các yêu cầu chức năng chính cho một hệ thống thang máy 3 tầng điển hình có thể được tổng hợp và phân nhóm như trong bảng dưới đây để dễ hình dung và quản lý:
Nhóm chức năng | Mô tả chi tiết |
Điều khiển gọi tầng | Hệ thống cần phải cho phép người dùng gọi thang từ bên ngoài mỗi tầng (tầng 1, tầng 2, và tầng 3). Các nút nhấn gọi tầng này có thể được thiết kế dưới dạng nút gọi theo chiều di chuyển (lên/xuống) hoặc nút gọi chung tùy thuộc vào đặc điểm của từng tầng và thiết kế cụ thể. Bên trong cabin, phải trang bị các nút nhấn để hành khách có thể lựa chọn tầng đích mong muốn (tầng 1, tầng 2, hoặc tầng 3). |
Điều khiển di chuyển cabin | Cabin thang máy phải có khả năng di chuyển lên hoặc xuống giữa các tầng một cách chính xác, êm ái và đáp ứng theo lệnh gọi đã được ghi nhận. Việc xem xét và lựa chọn một thuật toán ưu tiên phục vụ các cuộc gọi là cần thiết (ví dụ: phục vụ các cuộc gọi theo chiều di chuyển hiện tại của cabin, ưu tiên phục vụ các cuộc gọi ở tầng gần nhất, hoặc xử lý các cuộc gọi theo thứ tự FIFO – First In First Out). Hệ thống cũng cần phải hiển thị rõ ràng vị trí tầng hiện tại của cabin, thông tin này nên được hiển thị cả bên trong cabin và tại mỗi sảnh tầng (nếu có). |
Điều khiển cửa | Cửa cabin và cửa tầng tương ứng tại vị trí cabin dừng phải có khả năng mở ra một cách tự động khi thang máy đã dừng đúng vị trí tầng. Sau khi mở, cửa cần có khả năng tự động đóng lại sau một khoảng thời gian chờ nhất định (thường từ 5 đến 10 giây) nếu không có vật cản nào được phát hiện trong khu vực cửa. Một yêu cầu an toàn tối quan trọng là cửa phải được đóng hoàn toàn và khóa chặt trước khi cabin được phép bắt đầu di chuyển. Bên trong cabin, cần có các nút nhấn cho phép người dùng chủ động mở cửa hoặc đóng cửa nhanh. |
An toàn vận hành | Các cảm biến an toàn mép cửa, như photocell hoặc thanh an toàn (safety shoe), là thiết bị bắt buộc phải có; nếu phát hiện có vật cản trong quá trình cửa đang đóng, cửa phải tự động đảo chiều và mở ra lại. Các công tắc hành trình giới hạn trên và giới hạn dưới phải được lắp đặt để ngăn chặn cabin di chuyển vượt quá phạm vi hoạt động an toàn. Nút dừng khẩn cấp (Emergency Stop) phải có khả năng dừng ngay lập tức mọi hoạt động của thang máy khi được kích hoạt. Hệ thống cũng cần được trang bị các cơ chế bảo vệ quá tải cho động cơ. Việc xem xét trang bị cơ chế cứu hộ tự động (ARD – Automatic Rescue Device) khi mất điện cũng là một yếu tố quan trọng cần cân nhắc. |
Chỉ thị và Hiển thị | Cần có đèn báo hiệu trên các nút nhấn gọi tầng và nút chọn tầng để xác nhận rằng yêu cầu đã được hệ thống ghi nhận. Hệ thống phải hiển thị rõ ràng số tầng hiện tại mà cabin đang ở, cũng như chiều di chuyển dự kiến hoặc hiện tại của cabin (lên/xuống/đứng yên). Các tín hiệu cảnh báo lỗi cơ bản, nếu có, cũng cần được hiển thị để người dùng và nhân viên kỹ thuật có thể nhận biết và xử lý kịp thời. |
Việc phân tích kỹ lưỡng các yêu cầu này sẽ là tiền đề cho việc thiết kế một hệ thống điều khiển thang máy S7-1200 hiệu quả, đáp ứng đầy đủ các tính năng cần thiết và đảm bảo an toàn tối đa cho người sử dụng.
3.2. Phân tích và xác định I/O của hệ thống
Sau khi đã định hình rõ ràng các yêu cầu chức năng của hệ thống thang máy 3 tầng, bước tiếp theo mang tính kỹ thuật cao là phân tích và xác định cụ thể các tín hiệu đầu vào (Inputs) mà PLC S7-1200 cần nhận từ môi trường bên ngoài, cũng như các tín hiệu đầu ra (Outputs) mà PLC sẽ gửi đi để điều khiển các cơ cấu chấp hành. Việc này là cơ sở để lựa chọn CPU PLC phù hợp, các module mở rộng I/O (nếu cần), và là nền tảng cho việc viết chương trình điều khiển sau này.
Đầu vào (Inputs) của hệ thống là tập hợp các tín hiệu mà PLC S7-1200 thu nhận từ các cảm biến, nút nhấn, công tắc hành trình, và các thiết bị giám sát khác. Các tín hiệu này cung cấp thông tin về trạng thái hiện tại của thang máy và các yêu cầu từ người dùng.
Tên tín hiệu | Địa chỉ PLC | Mô tả |
Nút Gọi Tầng 1 (Lên/Chung) | I0.0 | Tín hiệu từ nút nhấn tại sảnh tầng 1 yêu cầu thang máy. |
Nút Gọi Tầng 2 Lên | I0.1 | Tín hiệu từ nút nhấn tại sảnh tầng 2 yêu cầu thang máy di chuyển lên. |
Nút Gọi Tầng 2 Xuống | I0.2 | Tín hiệu từ nút nhấn tại sảnh tầng 2 yêu cầu thang máy di chuyển xuống. |
Nút Gọi Tầng 3 (Xuống/Chung) | I0.3 | Tín hiệu từ nút nhấn tại sảnh tầng 3 yêu cầu thang máy. |
Nút Chọn Tầng 1 (trong cabin) | I0.4 | Tín hiệu từ nút nhấn bên trong cabin chọn tầng 1 làm tầng đích. |
Nút Chọn Tầng 2 (trong cabin) | I0.5 | Tín hiệu từ nút nhấn bên trong cabin chọn tầng 2 làm tầng đích. |
Nút Chọn Tầng 3 (trong cabin) | I0.6 | Tín hiệu từ nút nhấn bên trong cabin chọn tầng 3 làm tầng đích. |
Cảm Biến Vị Trí Tầng 1 | I0.7 | Tín hiệu báo cabin đã đến đúng vị trí của tầng 1. |
Cảm Biến Vị Trí Tầng 2 | I1.0 | Tín hiệu báo cabin đã đến đúng vị trí của tầng 2. |
Cảm Biến Vị Trí Tầng 3 | I1.1 | Tín hiệu báo cabin đã đến đúng vị trí của tầng 3. |
Cảm Biến Cửa Đóng Hoàn Toàn | I1.2 | Tín hiệu báo cửa cabin (và có thể cả cửa tầng) đã đóng hoàn toàn và khóa an toàn. |
Cảm Biến Cửa Mở Hoàn Toàn | I1.3 | Tín hiệu báo cửa cabin (và có thể cả cửa tầng) đã mở hết hành trình. |
Cảm Biến An Toàn Cửa (Photocell) | I1.4 | Tín hiệu phát hiện vật cản trong khu vực cửa khi cửa đang trong quá trình đóng. |
Nút Mở Cửa (trong cabin) | I1.5 | Tín hiệu từ nút nhấn bên trong cabin yêu cầu mở hoặc giữ cửa thang máy. |
Nút Đóng Cửa Nhanh (trong cabin) | I1.6 | Tín hiệu từ nút nhấn bên trong cabin yêu cầu đóng cửa thang máy ngay lập tức. |
Công Tắc Hành Trình Trên Cùng (an toàn) | I1.7 | Tín hiệu báo cabin đã di chuyển đến giới hạn hành trình trên cùng an toàn. |
Công Tắc Hành Trình Dưới Cùng (an toàn) | I2.0 | Tín hiệu báo cabin đã di chuyển đến giới hạn hành trình dưới cùng an toàn. |
Nút Dừng Khẩn Cấp | I2.1 | Tín hiệu kích hoạt dừng toàn bộ hoạt động của thang máy trong trường hợp khẩn cấp. |
Tín Hiệu Quá Tải Động Cơ | I2.2 | Tín hiệu từ relay nhiệt hoặc thiết bị bảo vệ báo động cơ đang bị quá tải. |
Đầu ra (Outputs) của hệ thống là các tín hiệu mà PLC S7-1200 xuất ra để điều khiển các thiết bị chấp hành như động cơ, phanh, cơ cấu đóng mở cửa, đèn báo, và các thiết bị hiển thị. Các tín hiệu này là kết quả của quá trình xử lý logic bên trong PLC dựa trên các tín hiệu đầu vào và chương trình đã được nạp.
Tên tín hiệu | Địa chỉ PLC | Mô tả |
Điều Khiển Động Cơ Chạy Lên | Q0.0 | Tín hiệu kích hoạt contactor (hoặc biến tần) để động cơ chạy theo chiều lên. |
Điều Khiển Động Cơ Chạy Xuống | Q0.1 | Tín hiệu kích hoạt contactor (hoặc biến tần) để động cơ chạy theo chiều xuống. |
Điều Khiển Mở Cửa | Q0.2 | Tín hiệu kích hoạt cơ cấu truyền động để mở cửa cabin và cửa tầng. |
Điều Khiển Đóng Cửa | Q0.3 | Tín hiệu kích hoạt cơ cấu truyền động để đóng cửa cabin và cửa tầng. |
Đèn Báo Nút Gọi Tầng 1 | Q0.4 | Tín hiệu điều khiển đèn báo trên nút gọi tầng 1, sáng khi yêu cầu được ghi nhận. |
Đèn Báo Nút Gọi Tầng 2 Lên | Q0.5 | Tín hiệu điều khiển đèn báo trên nút gọi tầng 2 lên, sáng khi yêu cầu được ghi nhận. |
Đèn Báo Nút Gọi Tầng 2 Xuống | Q0.6 | Tín hiệu điều khiển đèn báo trên nút gọi tầng 2 xuống, sáng khi yêu cầu được ghi nhận. |
Đèn Báo Nút Gọi Tầng 3 | Q0.7 | Tín hiệu điều khiển đèn báo trên nút gọi tầng 3, sáng khi yêu cầu được ghi nhận. |
Đèn Báo Nút Chọn Tầng 1 (trong cabin) | Q1.0 | Tín hiệu điều khiển đèn báo trên nút chọn tầng 1 trong cabin, sáng khi được chọn. |
Đèn Báo Nút Chọn Tầng 2 (trong cabin) | Q1.1 | Tín hiệu điều khiển đèn báo trên nút chọn tầng 2 trong cabin, sáng khi được chọn. |
Đèn Báo Nút Chọn Tầng 3 (trong cabin) | Q1.2 | Tín hiệu điều khiển đèn báo trên nút chọn tầng 3 trong cabin, sáng khi được chọn. |
Hiển Thị Tầng 1 | Q1.3 | Tín hiệu điều khiển đèn báo hoặc segment hiển thị số 1 (cho vị trí tầng). |
Hiển Thị Tầng 2 | Q1.4 | Tín hiệu điều khiển đèn báo hoặc segment hiển thị số 2 (cho vị trí tầng). |
Hiển Thị Tầng 3 | Q1.5 | Tín hiệu điều khiển đèn báo hoặc segment hiển thị số 3 (cho vị trí tầng). |
Chuông Báo Đến Tầng (Tùy chọn) | Q1.6 | Tín hiệu kích hoạt chuông hoặc âm thanh báo hiệu khi thang máy đến tầng. |
Đèn Báo Chiều Lên | Q1.7 | Tín hiệu điều khiển đèn báo hiển thị cabin đang di chuyển hoặc dự kiến di chuyển lên. |
Đèn Báo Chiều Xuống | Q2.0 | Tín hiệu điều khiển đèn báo hiển thị cabin đang di chuyển hoặc dự kiến di chuyển xuống. |
Phanh Động Cơ | Q2.1 | Tín hiệu điều khiển việc nhả hoặc kích hoạt phanh điện từ của động cơ. |
Cần lưu ý rằng danh sách các tín hiệu I/O được trình bày trong hai bảng trên chỉ mang tính chất tham khảo và là ví dụ điển hình. Trong thực tế, số lượng và loại tín hiệu có thể thay đổi tùy thuộc vào thiết kế cụ thể của từng hệ thống thang máy, cũng như loại cảm biến và cơ cấu chấp hành được lựa chọn sử dụng. Việc lập một danh sách I/O chi tiết, đầy đủ và chính xác là một công việc cực kỳ quan trọng và phải được hoàn thành cẩn thận trước khi bắt tay vào giai đoạn viết mã lệnh.
3.3. Sơ đồ thuật toán và logic điều khiển chính
Sau khi đã xác định rõ ràng các yêu cầu, bước tiếp theo là xây dựng sơ đồ thuật toán (flowchart). Sơ đồ thuật toán là công cụ trực quan mạnh mẽ, mô tả trình tự các bước xử lý logic của chương trình, giúp hệ thống hóa suy nghĩ, phát hiện thiếu sót và là tài liệu tham khảo hữu ích.
Sơ đồ thuật toán cho thang máy 3 tầng thường gồm một số khối chính. Đầu tiên là khối khởi tạo, nơi chương trình bắt đầu, các biến trạng thái được đặt lại, trạng thái ban đầu của cảm biến được kiểm tra, và thang máy được đưa về trạng thái chờ, thường là ở tầng 1 với cửa đóng.
Tiếp theo là vòng lặp chính, nơi chương trình liên tục quét và thực hiện các tác vụ. Trong vòng lặp này, việc đọc tín hiệu đầu vào diễn ra đầu tiên, quét trạng thái của tất cả các nút nhấn và cảm biến. Sau đó, chương trình xử lý yêu cầu gọi tầng bằng cách kiểm tra các yêu cầu mới, lưu trữ những yêu cầu hợp lệ và bật đèn báo xác nhận. Kế đến, chương trình xác định tầng đích và chiều di chuyển dựa trên vị trí hiện tại và các yêu cầu đang chờ, tuân theo thuật toán đã chọn.
Việc điều khiển di chuyển cabin bao gồm kiểm tra điều kiện an toàn, kích hoạt động cơ và phanh, theo dõi cảm biến vị trí, và dừng cabin tại tầng đích. Khi cabin đã dừng, chương trình điều khiển cửa, bao gồm việc mở cửa, giữ cửa mở theo thời gian, kiểm tra vật cản an toàn, và đóng cửa. Đồng thời, việc cập nhật hiển thị tầng, chiều di chuyển và trạng thái yêu cầu cũng được thực hiện.
Cuối cùng, chương trình liên tục xử lý các vấn đề an toàn và lỗi, kiểm tra các tín hiệu dừng khẩn cấp, quá tải, và công tắc hành trình, dừng thang máy an toàn và báo lỗi nếu cần.
3.4. Triển khai chương trình trên TIA Portal
Đây là giai đoạn cốt lõi, biến sơ đồ thuật toán và yêu cầu thành mã lệnh trên TIA Portal. Chúng ta sẽ sử dụng kết hợp LAD cho logic tuần tự và lập trình SCL trong S7-1200 cho các thuật toán phức tạp. Trước hết, cần tạo dự án mới trong TIA Portal, cấu hình CPU S7-1200 và các module I/O.
Việc khai báo biến và cấu hình I/O là bước đầu tiên. Trong “PLC tags”, khai báo tất cả các biến đầu vào, đầu ra và biến trung gian (Memory bits, Timers, Counters, Data Blocks – DBs). Đặt tên biến rõ ràng, có chú thích. Ví dụ: Inputs Button_Call_F1 (I0.0), Outputs Motor_Up (Q0.0), Memory Request_F1_Internal, Timers Timer_Door_Open_Hold (T1), DB DB_Elevator_Status (chứa CurrentFloor, TargetFloor, Direction, mảng yêu cầu).
Tiếp theo là lập trình khối xử lý gọi tầng. Khối này ghi nhận yêu cầu từ nút nhấn bên ngoài và bên trong cabin. Logic cơ bản: khi nút Button_Call_F1 được nhấn, bit nhớ Request_F1_External được SET, đèn Light_Indicator_F1_Call sáng. Các yêu cầu được lưu trữ cho đến khi phục vụ, sau đó bit nhớ và đèn báo được RESET.
Ví dụ Ladder (LAD) cho ghi nhận gọi tầng 1 từ bên ngoài:
Network 1: Ghi nhận yêu cầu gọi tầng 1 từ bên ngoài
|–| I0.0 Button_Call_F1 |——————–( M10.0 Request_F1_External )–|
|–| M10.0 Request_F1_External |——————–( Q0.4 Light_Indicator_F1_Call )–|
Tương tự cho các nút gọi khác. Cần có cơ chế chống nhấn nút liên tục hoặc ghi nhận yêu cầu không hợp lệ.
Phần lập trình khối điều khiển cabin di chuyển là phức tạp nhất. Nó bao gồm xác định tầng hiện tại (dựa vào Sensor_Position_F1/F2/F3), thuật toán chọn tầng đích (quét yêu cầu đang SET, xét trạng thái thang máy đứng yên/di chuyển lên/di chuyển xuống để chọn TargetFloor), và điều khiển động cơ (so sánh CurrentFloor và TargetFloor, nếu điều kiện an toàn thỏa mãn thì SET Motor_Up hoặc Motor_Down; khi CurrentFloor == TargetFloor, RESET động cơ, kích hoạt phanh). Ví dụ SCL (ý tưởng) cho điều khiển di chuyển:
// Trong một Function Block (FB) quản lý di chuyển
IF NOT “Emergency_Stop_Active” AND “Door_Is_Closed_Signal” THEN
// Xác định TargetFloor dựa trên mảng Requests và CurrentFloor
// … (logic chọn tầng đích) …
IF “TargetFloor” > “CurrentFloor” THEN
“Motor_Up_CMD” := TRUE; “Motor_Down_CMD” := FALSE; “Cabin_Direction_Status” := UP;
ELSIF “TargetFloor” < “CurrentFloor” THEN
“Motor_Up_CMD” := FALSE; “Motor_Down_CMD” := TRUE; “Cabin_Direction_Status” := DOWN;
ELSE
“Motor_Up_CMD” := FALSE; “Motor_Down_CMD” := FALSE; “Cabin_Direction_Status” := IDLE;
IF “Sensor_Position_F1” AND “TargetFloor” = 1 THEN /* … đến tầng 1 … */ END_IF;
// Tương tự cho tầng 2, 3
END_IF;
ELSE
“Motor_Up_CMD” := FALSE; “Motor_Down_CMD” := FALSE;
END_IF;
Sau đó là lập trình khối điều khiển cửa cabin. Khi cabin dừng đúng tầng, SET Door_Open_CMD, chờ Sensor_Door_Fully_Open hoặc hết thời gian, RESET Door_Open_CMD, khởi động Timer_Door_Open_Hold. Khi timer kết thúc hoặc nhấn Button_Close_Door_Fast, kiểm tra Safety_Photocell. Nếu có vật cản, SET Door_Open_CMD (mở lại). Nếu không, SET Door_Close_CMD, chờ Sensor_Door_Closed hoặc hết thời gian, RESET Door_Close_CMD, SET Door_Is_Closed_Signal. Nút Button_Open_Door_Inside sẽ SET Door_Open_CMD.
Tiếp đến, lập trình khối hiển thị và cảnh báo. Hiển thị tầng dựa vào CurrentFloor (ví dụ, CurrentFloor là 1, SET Display_F1_Output). Hiển thị chiều di chuyển dựa vào Cabin_Moving_Up/Cabin_Moving_Down. Đèn báo yêu cầu RESET khi yêu cầu được phục vụ. Cảnh báo (ví dụ, Overload_Signal ON) có thể SET đèn báo lỗi hoặc chuông.
Cuối cùng, việc tích hợp các khối chức năng và tối ưu hóa chương trình là rất quan trọng. Các khối chức năng riêng lẻ (FC hoặc FB) như FC_HandleCalls, FB_MotorControl, FC_DoorControl, FC_Display cần được gọi một cách hợp lý trong khối tổ chức chính OB1. Việc chia chương trình thành các module nhỏ giúp dễ quản lý, gỡ lỗi và có khả năng tái sử dụng. Tối ưu hóa chương trình bao gồm việc tránh các vòng lặp vô hạn, sử dụng hiệu quả bộ nhớ, đảm bảo thời gian quét vòng (scan time) của PLC đủ nhanh và viết chú thích (comment) rõ ràng cho từng network lệnh cũng như từng khối chức năng.
3.5. Mô phỏng, kiểm tra và hoàn thiện chương trình
Trước khi nạp chương trình vào PLC thật, việc mô phỏng là một bước không thể thiếu. TIA Portal cung cấp công cụ S7-PLCSIM cho phép bạn chạy và kiểm thử chương trình PLC trên máy tính.
Quy trình mô phỏng cơ bản bao gồm việc khởi động S7-PLCSIM từ TIA Portal sau khi chọn CPU, sau đó tải chương trình đã biên dịch vào PLC ảo này. Tiếp theo, cần tạo một “SIM table” trong S7-PLCSIM để có thể theo dõi và thay đổi giá trị của các biến I/O, các bit nhớ, cũng như các giá trị trong Data Blocks. Cuối cùng, chuyển PLC ảo sang chế độ RUN để chương trình bắt đầu thực thi logic đã lập trình.
Việc mô phỏng chương trình mang lại nhiều lợi ích đáng kể. Nó giúp phát hiện sớm các lỗi logic trong quá trình thiết kế chương trình, cho phép kiểm tra các tình huống hoạt động khác nhau một cách an toàn. Quan trọng hơn, mô phỏng giúp tiết kiệm đáng kể thời gian và chi phí phát sinh từ việc sửa lỗi trên hệ thống thật, đồng thời tránh được các rủi ro tiềm ẩn nếu chương trình có những lỗi nghiêm trọng khi chạy trên phần cứng thực tế. Ngoài ra, việc quan sát hoạt động của chương trình thông qua mô phỏng cũng là cơ hội để tìm ra các điểm cần cải thiện hoặc tối ưu hóa trong thuật toán điều khiển.
Do đó, hãy dành thời gian cần thiết để thực hiện việc mô phỏng một cách kỹ lưỡng với các kịch bản kiểm tra cụ thể. Ví dụ, bạn có thể tạo kịch bản kiểm tra việc gọi thang từ tầng 1 lên tầng 3, quan sát quá trình cabin di chuyển, sự thay đổi của đèn báo vị trí tầng, và việc cửa mở ra một cách chính xác tại tầng 3. Một kịch bản khác có thể là trong khi cửa tầng 3 đang mở, người dùng bên trong cabin nhấn nút chọn tầng 2, sau đó quan sát xem cửa có đóng lại đúng cách hay không và cabin có di chuyển xuống tầng 2 một cách chính xác không. Cũng cần mô phỏng tình huống có vật cản xuất hiện ở khu vực cửa khi cửa đang trong quá trình đóng lại để kiểm tra chức năng an toàn, và mô phỏng việc nhấn nút dừng khẩn cấp khi cabin đang di chuyển.
Việc mô phỏng thành công tất cả các kịch bản này sẽ mang lại sự tự tin rất lớn cho bạn trước khi bước vào giai đoạn triển khai thực tế trên công trình. Đây cũng là một kỹ năng quan trọng mà các kỹ sư điện và kỹ thuật viên tự động hóa cần trang bị, bởi nó giúp giảm thiểu đáng kể các “lỗi thường gặp khi lập trình thang máy S7-1200 và cách khắc phục” có thể phát sinh trong giai đoạn sau này.
4. Hướng dẫn lập trình điều khiển thang máy 4 tầng với PLC S7-1200
Sau khi đã nắm vững các nguyên tắc và kỹ thuật lập trình cho hệ thống thang máy 3 tầng, việc mở rộng giải pháp để điều khiển thang máy 4 tầng hoặc thậm chí nhiều tầng hơn về cơ bản là sự kế thừa và phát triển từ nền tảng kiến thức đã được xây dựng.
4.1. Phân tích yêu cầu bài toán và những điểm khác biệt khi lên 4 tầng
Khi mở rộng hệ thống điều khiển từ thang máy 3 tầng lên 4 tầng, các yêu cầu cốt lõi về điều khiển gọi tầng, cơ chế di chuyển cabin, logic điều khiển cửa và các tiêu chuẩn an toàn vận hành về cơ bản vẫn giữ nguyên các nguyên tắc như đã phân tích ở hệ thống 3 tầng. Tuy nhiên, việc tăng thêm một tầng phục vụ sẽ dẫn đến một số điểm khác biệt và yêu cầu mở rộng cần được xem xét và giải quyết một cách cẩn thận.
Trước hết, số lượng điểm dừng của thang máy sẽ tăng từ 3 lên 4 điểm dừng, bao gồm Tầng 1, Tầng 2, Tầng 3, và Tầng 4. Nó trực tiếp dẫn đến sự gia tăng về số lượng đầu vào/đầu ra (I/O) mà hệ thống PLC cần quản lý. Cụ thể, sẽ cần bổ sung thêm nút nhấn gọi thang cho tầng 4 (đặt ở sảnh tầng 4) và nút chọn tầng 4 (đặt bên trong cabin).
Tương ứng, cũng cần có thêm cảm biến vị trí để xác định khi nào cabin đến đúng vị trí tầng 4, cùng với các đèn báo cho nút nhấn tầng 4 và hiển thị vị trí cho tầng 4. Do đó, tổng số lượng I/O vật lý mà hệ thống yêu cầu sẽ tăng lên. Các kỹ sư cần phải kiểm tra xem CPU S7-1200 hiện tại có đủ số lượng I/O tích hợp sẵn hay không, hoặc liệu có cần phải bổ sung thêm các module mở rộng Digital Input và Digital Output để đáp ứng đủ nhu cầu.
Phân tích Đầu vào (Inputs) bổ sung dự kiến cho thang máy 4 tầng (so với 3 tầng):
Tên tín hiệu | Địa chỉ PLC | Mô tả |
Nút Gọi Tầng 4 (Xuống/Chung) | I2.3 | Người dùng tại sảnh tầng 4 gọi thang. |
Nút Chọn Tầng 4 (trong cabin) | I2.4 | Người dùng bên trong cabin chọn tầng 4 làm tầng đích. |
Cảm Biến Vị Trí Tầng 4 | I2.5 | Báo cabin đã đến đúng vị trí của tầng 4. |
Phân tích Đầu ra (Outputs) bổ sung dự kiến cho thang máy 4 tầng (so với 3 tầng):
Tên tín hiệu | Địa chỉ PLC | Mô tả |
Đèn Báo Nút Gọi Tầng 4 | Q2.2 | Sáng khi nút gọi tầng 4 được nhấn và yêu cầu được ghi nhận. |
Đèn Báo Nút Chọn Tầng 4 (trong cabin) | Q2.3 | Sáng khi nút chọn tầng 4 trong cabin được nhấn và yêu cầu được ghi nhận. |
Hiển Thị Tầng 4 | Q2.4 | Sáng đèn hoặc kích hoạt segment hiển thị số 4 (cho vị trí tầng). |
Về mặt logic điều khiển và thuật toán, đây là phần có sự thay đổi đáng kể. Thuật toán chọn tầng đích cần phải được cập nhật để có thể xử lý thêm tầng 4. Mặc dù logic phục vụ theo chiều di chuyển và cách xử lý các yêu cầu vẫn giữ nguyên các nguyên tắc cơ bản, phạm vi hoạt động của thuật toán giờ đây đã rộng hơn.
Các cấu trúc dữ liệu như mảng dùng để lưu trữ trạng thái các yêu cầu gọi tầng hoặc vị trí các tầng phải được mở rộng kích thước để có thể chứa thêm thông tin của tầng 4. Tương tự, logic hiển thị vị trí tầng cũng cần được cập nhật để bao gồm cả việc hiển thị cho tầng 4.
Một yếu tố khác cần cân nhắc là thời gian di chuyển. Với hành trình dài hơn khi có thêm tầng 4, thời gian di chuyển tổng thể giữa các tầng xa nhất có thể tăng lên. Mặc dù điều này ít ảnh hưởng trực tiếp đến logic của chương trình PLC, nó có thể cần được xem xét trong việc tối ưu hóa trải nghiệm của người dùng, ví dụ như điều chỉnh tốc độ di chuyển hoặc thời gian tăng/giảm tốc.
Cuối cùng, cần cân nhắc về hiệu suất của PLC. Mặc dù dòng S7-1200 được đánh giá là khá mạnh mẽ, với việc số lượng I/O và độ phức tạp của logic điều khiển tăng lên, các kỹ sư cần phải đảm bảo rằng thời gian quét vòng (scan time) của PLC vẫn đủ nhanh để hệ thống có thể phản ứng kịp thời với các thay đổi tín hiệu.
Đối với ứng dụng thang máy 4 tầng, S7-1200 thường vẫn đáp ứng tốt. Tuy nhiên, nếu có kế hoạch mở rộng lên nhiều tầng hơn nữa (ví dụ từ 5 đến 8 tầng), việc lựa chọn một CPU S7-1200 có bộ nhớ lớn hơn và tốc độ xử lý cao hơn, hoặc thậm chí cân nhắc chuyển sang sử dụng dòng PLC S7-1500 mạnh mẽ hơn, có thể là một giải pháp cần thiết.
Việc phân tích kỹ lưỡng những điểm khác biệt và yêu cầu mở rộng này sẽ giúp cho quá trình chuyển đổi từ dự án thang máy 3 tầng sang 4 tầng trở nên mạch lạc, có kế hoạch và giảm thiểu rủi ro.
4.2. Điều chỉnh sơ đồ thuật toán và logic điều khiển cho thang máy 4 tầng
Sơ đồ thuật toán cho hệ thống điều khiển thang máy 4 tầng về cơ bản sẽ giữ nguyên cấu trúc logic tổng thể như đã thiết kế cho hệ thống 3 tầng, tuy nhiên, nó sẽ được mở rộng và điều chỉnh ở các điểm liên quan trực tiếp đến việc tăng thêm số lượng tầng phục vụ.
Trong khối khởi tạo của chương trình, các thao tác cơ bản vẫn tương tự, nhưng có thể cần phải khởi tạo thêm các biến hoặc cờ trạng thái liên quan đến tầng 4. Vòng lặp chính của chương trình, nơi các tác vụ điều khiển được thực hiện một cách tuần hoàn, sẽ có những thay đổi cụ thể hơn. Việc đọc tín hiệu đầu vào sẽ phải bổ sung việc quét trạng thái của các nút nhấn gọi tầng và cảm biến vị trí của tầng 4. Khối xử lý yêu cầu gọi tầng cũng cần được mở rộng; ví dụ, nếu sử dụng một mảng để lưu trữ các yêu cầu, kích thước của mảng này phải được tăng lên để bao gồm cả yêu cầu cho tầng 4. Logic ghi nhận yêu cầu cho tầng 4 sẽ tương tự như đã áp dụng cho các tầng khác.
Phần có sự thay đổi rõ rệt nhất trong logic chính là khối xác định tầng đích và chiều di chuyển. Thuật toán chọn tầng đích giờ đây sẽ phải hoạt động trong một không gian trạng thái lớn hơn, bao gồm cả 4 tầng. Ví dụ, nếu cabin thang máy đang ở tầng 2, và đồng thời có yêu cầu đi lên tầng 4 và yêu cầu đi xuống tầng 1, thuật toán phải có khả năng đưa ra quyết định một cách chính xác dựa trên chiều di chuyển hiện tại của cabin hoặc các quy tắc ưu tiên đã được thiết lập trước đó. Các điều kiện so sánh vị trí hiện tại của cabin (CurrentFloor) với tầng đích (TargetFloor) và các yêu cầu đang chờ xử lý sẽ phải bao gồm cả giá trị 4.
Đối với khối điều khiển di chuyển cabin, logic cơ bản để điều khiển động cơ (chạy lên hoặc chạy xuống) không thay đổi về nguyên tắc, nhưng các điều kiện kích hoạt sẽ được áp dụng trên phạm vi hoạt động của 4 tầng. Khối điều khiển cửa về cơ bản không có thay đổi lớn về mặt logic, chỉ là các thao tác mở cửa, giữ cửa và đóng cửa sẽ được áp dụng cho cả 4 tầng. Việc cập nhật hiển thị cũng cần được bổ sung để có thể hiển thị thông tin cho tầng 4 và các đèn báo tương ứng. Cuối cùng, các nguyên tắc xử lý an toàn và lỗi vẫn được giữ nguyên và áp dụng trên toàn bộ hành trình 4 tầng của thang máy.
Việc điều chỉnh và mở rộng sơ đồ thuật toán một cách cẩn thận sẽ giúp đảm bảo rằng tất cả các trường hợp hoạt động có thể xảy ra và các điểm chuyển tiếp logic giữa các tầng đều được xem xét một cách có hệ thống. Nếu bạn đã có một sơ đồ thuật toán được thiết kế tốt cho hệ thống thang máy 3 tầng, việc mở rộng nó lên 4 tầng sẽ không quá phức tạp và có thể thực hiện một cách tương đối thuận lợi.
4.3. Cập nhật và mở rộng chương trình PLC trên TIA Portal
Quá trình viết mã lệnh cho hệ thống điều khiển thang máy 4 tầng trên phần mềm TIA Portal sẽ kế thừa và phát triển dựa trên chương trình đã được xây dựng cho hệ thống 3 tầng. Các bước chính yếu trong quá trình này bao gồm việc mở rộng khai báo biến và cấu hình phần cứng, điều chỉnh logic xử lý các yêu cầu gọi tầng và logic điều khiển di chuyển cabin, cùng với một số cân nhắc về tối ưu hóa cho hệ thống có quy mô lớn hơn.
Đầu tiên, cần thực hiện việc mở rộng khai báo biến và cấu hình I/O cho tầng thứ 4. Trong mục “PLC tags” của TIA Portal, bạn sẽ khai báo thêm các biến cần thiết cho tầng 4. Ví dụ, đối với các tín hiệu đầu vào, bạn có thể khai báo các biến như Button_Call_F4_Down (nút gọi tầng 4 từ sảnh, thường là gọi xuống), Button_Select_F4_Cabin (nút chọn tầng 4 từ bên trong cabin), và Sensor_Position_F4 (cảm biến vị trí tầng 4). Đối với các tín hiệu đầu ra, các biến tương ứng có thể là Light_Indicator_F4_Call (đèn báo trên nút gọi tầng 4), Light_Indicator_F4_Select (đèn báo trên nút chọn tầng 4), và Display_F4_Output (tín hiệu hiển thị cho tầng 4).
Nếu bạn đã bổ sung thêm module I/O mở rộng vào cấu hình phần cứng, bạn cần cập nhật lại cấu hình này trong TIA Portal và gán các địa chỉ vật lý mới cho các biến của tầng 4. Trong trường hợp bạn sử dụng các khối dữ liệu (Data Blocks – DBs) để lưu trữ trạng thái hoặc các yêu cầu gọi tầng, bạn cần phải điều chỉnh kích thước của các mảng dữ liệu bên trong các DB này để chúng có thể chứa thêm thông tin của tầng 4. Ví dụ, một mảng kiểu boolean Array_FloorRequests[1..3] dùng để lưu yêu cầu cho 3 tầng sẽ cần được thay đổi thành Array_FloorRequests[1..4] để có thể lưu yêu cầu cho 4 tầng.
Tiếp theo, và cũng là phần quan trọng nhất, là việc điều chỉnh logic xử lý gọi tầng và logic điều khiển di chuyển cabin. Đối với việc xử lý gọi tầng, bạn cần bổ sung các network lệnh hoặc các đoạn mã trong các khối FC/FB hiện có (hoặc tạo mới nếu cần) để ghi nhận các yêu cầu từ các nút nhấn của tầng 4 và bật đèn báo tương ứng. Đối với thuật toán chọn tầng đích, đây là phần cần được sửa đổi nhiều nhất.
Các vòng lặp FOR hoặc các cấu trúc lệnh IF-ELSIF-ELSE trong ngôn ngữ SCL (hoặc các network lệnh tương đương trong LAD/FBD) được sử dụng để tìm kiếm các yêu cầu đang chờ và xác định biến TargetFloor phải được mở rộng phạm vi hoạt động để bao gồm cả tầng 4. Một ví dụ minh họa ý tưởng mở rộng bằng ngôn ngữ SCL có thể như sau: Giả sử chúng ta có một mảng Requests[1..4] kiểu BOOL để lưu trữ các yêu cầu; các biến CurrentFloor (INT), TargetFloor (INT); và biến Direction (kiểu dữ liệu liệt kê UP, DOWN, IDLE). Khi xử lý logic tìm TargetFloor trong trường hợp thang máy đang di chuyển lên (Direction = UP): Vòng lặp FOR i := CurrentFloor + 1 TO 4 DO (thay vì TO 3 như trước, giờ đây là TO 4) sẽ được sử dụng. Bên trong vòng lặp, NẾU Requests[i] là TRUE THÌ gán TargetFloor := i; và thoát khỏi vòng lặp (vì đã tìm thấy yêu cầu gần nhất cùng chiều). Nếu không còn yêu cầu nào đi lên, thuật toán sẽ tiếp tục tìm kiếm yêu cầu xa nhất ở chiều ngược lại.
Logic tương tự sẽ được áp dụng cho trường hợp thang máy đang di chuyển xuống và khi thang máy đang đứng yên. Về logic điều khiển động cơ, nguyên tắc cơ bản vẫn là so sánh CurrentFloor với TargetFloor. Các cảm biến vị trí từ Sensor_Position_F1 đến Sensor_Position_F4 sẽ được sử dụng để xác định CurrentFloor và để dừng cabin một cách chính xác tại TargetFloor. Logic hiển thị cũng cần được cập nhật để có thể chỉ thị đúng vị trí của cả 4 tầng.
Cuối cùng, cần có một số cân nhắc về việc tối ưu hóa chương trình cho hệ thống có quy mô lớn hơn. Mặc dù với 4 tầng, PLC S7-1200 thường vẫn xử lý tốt, tuy nhiên, nếu chương trình của bạn được viết không thực sự tối ưu (ví dụ, sử dụng quá nhiều vòng lặp lồng nhau một cách không cần thiết, hoặc truy cập dữ liệu không hiệu quả), thời gian quét vòng của PLC có thể tăng lên. Do đó, hãy luôn cố gắng giữ cho mã lệnh của mình mạch lạc, dễ hiểu, và sử dụng các khối chức năng (FB) có các tham số đầu vào/ra được định nghĩa rõ ràng để tăng tính module hóa và giúp chương trình dễ quản lý hơn.
Xem xét việc sử dụng các hàm hệ thống (System Function Call – SFC) hoặc các khối lệnh đã được tối ưu hóa mà TIA Portal cung cấp nếu điều đó là cần thiết và phù hợp. Việc tài liệu hóa một cách kỹ càng tất cả các thay đổi và mở rộng đã thực hiện trong mã lệnh là một điều bắt buộc, giúp cho việc bảo trì và nâng cấp hệ thống sau này trở nên dễ dàng hơn rất nhiều.
Việc lập trình điều khiển thang máy 4 tầng sử dụng PLC S7-1200 không chỉ đơn thuần là việc thêm vào một vài dòng mã lệnh. Nó đòi hỏi một sự hiểu biết sâu sắc về cách mà hệ thống mở rộng, cách các thành phần khác nhau tương tác với nhau trong một quy mô lớn hơn, và khả năng điều chỉnh logic một cách có hệ thống và chính xác. Đây là một bước tiến quan trọng, thể hiện sự trưởng thành trong kỹ năng lập trình PLC và khả năng giải quyết vấn đề của người kỹ sư.
4.4. Mô phỏng và kiểm tra chương trình cho hệ thống 4 tầng
Tương tự như quy trình đã thực hiện đối với hệ thống thang máy 3 tầng, việc mô phỏng một cách kỹ lưỡng chương trình điều khiển cho thang máy 4 tầng bằng công cụ S7-PLCSIM là một giai đoạn cực kỳ quan trọng và không thể bỏ qua trước khi triển khai thực tế. Mục đích của việc mô phỏng là để đảm bảo tính chính xác của logic điều khiển và sự ổn định của toàn bộ hệ thống khi hoạt động với quy mô 4 tầng.
Các kịch bản mô phỏng cần được mở rộng để bao quát tất cả các trường hợp hoạt động có thể xảy ra với 4 tầng. Cần kiểm tra kỹ lưỡng việc gọi thang và di chuyển của cabin đến tất cả các tầng, đặc biệt là việc di chuyển đến và đi từ tầng 4. Nên mô phỏng các tình huống phức tạp hơn, ví dụ như khi cabin đang ở tầng 1, có yêu cầu gọi lên tầng 4, đồng thời có các yêu cầu gọi khác ở tầng 2 và tầng 3; sau đó quan sát thứ tự phục vụ của thang máy để đảm bảo thuật toán ưu tiên hoạt động đúng như thiết kế. Một ví dụ khác là khi cabin đang ở tầng 3 và di chuyển xuống tầng 1, có một người ở tầng 2 gọi thang theo chiều xuống; cần kiểm tra xem thang máy có dừng lại ở tầng 2 để phục vụ yêu cầu này hay không. Quan trọng hơn cả, tất cả các chức năng an toàn, bao gồm cảm biến cửa, nút dừng khẩn cấp, và các công tắc giới hạn hành trình, phải được kiểm tra để đảm bảo chúng hoạt động chính xác và hiệu quả với cả 4 tầng.
Trong quá trình mô phỏng, việc sử dụng SIM table của S7-PLCSIM để theo dõi chặt chẽ các biến quan trọng là rất cần thiết. Các biến cần được theo dõi bao gồm CurrentFloor (tầng hiện tại), TargetFloor (tầng đích), trạng thái của các yêu cầu gọi tầng (ví dụ, mảng Array_FloorRequests), trạng thái của động cơ (chạy lên/xuống/dừng), và trạng thái của cửa (mở/đóng/đang di chuyển).
Nếu trong quá trình mô phỏng phát hiện ra bất kỳ lỗi logic nào, các kỹ sư cần quay trở lại mã nguồn trong TIA Portal, xác định nguyên nhân và sửa lỗi, sau đó biên dịch lại chương trình và tải lại vào PLC ảo để kiểm tra lại. Quá trình này có thể cần phải lặp đi lặp lại nhiều lần cho đến khi chương trình hoạt động một cách ổn định và đáp ứng tất cả các yêu cầu đã đặt ra.
5. Lưu ý khi viết chương trình để điều khiển thang máy
Lập trình điều khiển thang máy, dù là 3 tầng, 4 tầng hay nhiều hơn nữa sử dụng PLC S7-1200, không chỉ là bài toán về logic và thuật toán, mà trên hết, đó là bài toán về an toàn. Thang máy là thiết bị vận chuyển con người, do đó, mọi sai sót trong thiết kế và lập trình đều có thể dẫn đến những hậu quả nghiêm trọng. Đối với các kỹ sư điện, kỹ thuật viên điện, và quản lý kỹ thuật, việc đặt yếu tố an toàn lên hàng đầu là một trách nhiệm nghề nghiệp và đạo đức không thể xem nhẹ. thanhthienphu.vn luôn nhấn mạnh tầm quan trọng của việc xây dựng các hệ thống tự động hóa an toàn, đáng tin cậy, giúp bảo vệ con người và tài sản.
Một số nguyên tắc vàng về an toàn trong lập trình thang máy cần được tuân thủ nghiêm ngặt. Điều quan trọng hàng đầu là phải nghiên cứu và tuân thủ các tiêu chuẩn an toàn thang máy hiện hành của Việt Nam (TCVN) và quốc tế (ví dụ: EN 81 series). Mặc dù PLC S7-1200 là PLC tiêu chuẩn, chương trình vẫn phải cố gắng thực hiện các chức năng an toàn ở mức cao nhất.
Các chức năng an toàn cốt yếu như dừng khẩn cấp, công tắc giới hạn hành trình cuối nên được ưu tiên xử lý bằng các mạch an toàn phần cứng độc lập hoặc song song với PLC. Nếu có thể, hãy xem xét sử dụng dự phòng (redundancy) cho các cảm biến quan trọng. Logic chương trình nên được thiết kế theo nguyên tắc an toàn khi có lỗi (fail-safe design), nghĩa là khi có lỗi, hệ thống sẽ chuyển về trạng thái an toàn.
Việc kiểm tra chéo (cross-checking) tín hiệu cũng rất cần thiết. Tuyệt đối không bao giờ bỏ qua hoặc vô hiệu hóa các tính năng an toàn mà không có biện pháp kiểm soát chặt chẽ. Cuối cùng, chương trình cần có các khối xử lý lỗi một cách tường minh, dừng hệ thống an toàn và báo lỗi khi cần.
Bên cạnh đó, việc triển khai các cơ chế bảo vệ phần cứng và phần mềm cụ thể là tấm khiên vững chắc cho hệ thống. Về bảo vệ phần cứng, cần có cầu chì và aptomat (CB) để bảo vệ quá dòng, ngắn mạch; relay nhiệt bảo vệ quá tải động cơ; contactor chính chất lượng tốt; phanh điện từ đảm bảo hãm cabin khi cần; công tắc giới hạn hành trình bình thường và cuối cùng; thiết bị chống vượt tốc (governor và safety gear) cho thang máy tốc độ cao; và hệ thống nối đất an toàn.
Về bảo vệ phần mềm trong chương trình PLC, có thể kể đến việc sử dụng Watchdog Timer giám sát các tiến trình; kiểm tra tính hợp lệ của đầu vào; triển khai các khóa lẫn (interlocks) để ngăn các hoạt động xung đột hoặc không an toàn; xử lý các trạng thái không mong muốn một cách an toàn; ghi log lỗi để phục vụ chẩn đoán; và phân quyền truy cập vào các cài đặt quan trọng nếu có HMI.
Sau khi viết xong chương trình và mô phỏng, giai đoạn kiểm tra và xác thực chương trình trên hệ thống thật là cực kỳ quan trọng và không bao giờ là thừa. Quá trình này bao gồm kiểm tra từng phần (unit testing), kiểm tra tích hợp (integration testing), và kiểm tra hệ thống (system testing) trong các điều kiện hoạt động bình thường và mô phỏng tình huống lỗi. Cần kiểm tra với tải trọng khác nhau, kiểm tra tất cả nút nhấn, công tắc, và đặc biệt là các chức năng an toàn. Nếu có thể, hãy thực hiện kiểm tra chấp nhận người dùng (UAT). Toàn bộ quá trình kiểm tra cần được lập biên bản ghi lại kết quả và các điều chỉnh.
Cuối cùng, việc tài liệu hóa chương trình là một di sản cho tương lai bảo trì và nâng cấp. Một bộ tài liệu đầy đủ bao gồm sơ đồ thuật toán, bảng khai báo I/O chi tiết, mô tả chi tiết các khối chương trình (FC, FB, DB), comment rõ ràng trong code, sơ đồ đấu dây điện, hướng dẫn vận hành và xử lý sự cố cơ bản, cùng với lịch sử phiên bản chương trình. Việc đầu tư thời gian vào tài liệu hóa sẽ mang lại lợi ích lâu dài.
6. Thanh Thiên Phú cung cấp các thiết bị trong hệ thống điều khiển thang máy
Để hiện thực hóa các dự án lập trình thang máy S7-1200, việc lựa chọn thiết bị chất lượng và phù hợp là yếu tố then chốt. Thanh Thiên Phú là Đại lý Siemens tại Việt Nam, chúng tôi tự hào cung cấp đầy đủ các dòng sản phẩm chính hãng từ Siemens và các thương hiệu uy tín khác, trực tiếp phục vụ cho nhu cầu tự động hóa thang máy của bạn:
– Đa dạng các mã CPU (ví dụ: CPU 1212C, 1214C, 1215C) phù hợp với mọi quy mô dự án thang máy từ 3 đến nhiều tầng hơn.
– Có sẵn các module tín hiệu số (Digital Input/Output SM 1221, SM 1222, SM 1223) và module tín hiệu tương tự (Analog Input/Output) giúp mở rộng khả năng kết nối của PLC với số lượng lớn cảm biến và cơ cấu chấp hành.
– Có sẵn các dòng Basic Panel (KTP400, KTP700) và Comfort Panel, cho phép xây dựng giao diện giám sát và điều khiển thang máy trực quan, thân thiện.
– Cung cấp các loại biến tần từ các hãng nổi tiếng, phù hợp với công suất động cơ thang máy, giúp điều khiển tốc độ êm ái, chính xác và tiết kiệm năng lượng.
– Đa dạng các loại cảm biến vị trí tầng (cảm biến tiệm cận, công tắc hành trình), cảm biến cửa (photocell, cảm biến từ), cảm biến an toàn, đảm bảo độ chính xác và tin cậy cho hệ thống.
– Cung cấp các loại contactor, relay, aptomat (CB), relay nhiệt chất lượng cao, bảo vệ an toàn cho mạch động lực và mạch điều khiển của thang máy.
– Các bộ nguồn Siemens SITOP và các thương hiệu khác, cung cấp nguồn 24VDC ổn định cho toàn bộ hệ thống điều khiển.
– Cũng cung cấp cáp lập trình Ethernet, cáp tín hiệu chống nhiễu, đầu nối và các phụ kiện khác cần thiết cho việc lắp đặt tủ điện điều khiển thang máy.
Với sự đa dạng về sản phẩm và cam kết về chất lượng, thanhthienphu.vn không chỉ là nhà cung cấp thiết bị mà còn là đối tác đồng hành, sẵn sàng tư vấn kỹ thuật giúp bạn lựa chọn được cấu hình tối ưu nhất, từ đó hiện thực hóa khát khao sở hữu hệ thống thang máy tự động hóa tiên tiến.
Nếu bạn đang có nhu cầu về bất kỳ thiết bị nào kể trên, hoặc cần tư vấn giải pháp toàn diện cho dự án lập trình thang máy S7-1200 của mình, đừng ngần ngại liên hệ ngay với chúng tôi qua:
- Hotline: 08.12.77.88.99
- Website: thanhthienphu.vn
- Địa chỉ: 20 đường 29, Khu phố 2, Phường Cát Lái, Thành phố Thủ Đức, Thành phố Hồ Chí Minh.