Logic bậc thang XOR ba công tắc: Thiết kế đúng với tính chẵn lẻ lẻ
Hướng dẫn đã chỉnh sửa về logic bậc thang XOR ba công tắc cho các nền tảng SLC 500 và Logix, bao quát tính chẵn lẻ lẻ, việc phân tầng bit nội bộ, giới hạn XO...
Ba công tắc duy trì điều khiển một đầu ra thường được đưa ra như một bài tập về logic bậc thang, nhưng câu hỏi kỹ thuật thực sự chính xác hơn: đầu ra có nên bật khi một số lẻ đầu vào ở trạng thái đúng, hay mỗi lần vận hành một công tắc chỉ cần đảo trạng thái trước đó của đầu ra? Đây là hai yêu cầu khác nhau. Yêu cầu thứ nhất là XOR tổ hợp, hay tính chẵn lẻ lẻ. Yêu cầu thứ hai cần bộ nhớ trạng thái và phát hiện sườn.
Đối với ba công tắc chọn duy trì, đặc tả thông thường là tính chẵn lẻ lẻ: đèn bật khi có một hoặc ba công tắc đóng và tắt khi có không hoặc hai công tắc đóng. Viết rõ yêu cầu này trước khi vẽ tiếp điểm sẽ ngăn việc một bậc thang trông hợp lý nhưng lại thực hiện sai hàm Boolean.
XOR ba đầu vào đúng khi số đầu vào đúng là số lẻ; nó không giống một lệnh chuyển mạch ghi nhớ.
Bắt đầu với tám trạng thái đầu vào
Chuỗi đầu ra kỳ vọng cho các đầu vào S1, S2 và S3 là 0, 1, 1, 0, 1, 0, 0, 1 khi các trạng thái đầu vào nhị phân tăng từ 000 đến 111. Nói đơn giản, một công tắc đóng sẽ bật đầu ra, hai công tắc đóng sẽ tắt đầu ra, và cả ba công tắc đóng sẽ bật đầu ra trở lại.
Trạng thái cuối cùng là nơi nhiều phần giải thích mắc lỗi. XOR ba đầu vào là một hàm chẵn lẻ lẻ, vì vậy 111 phải cho kết quả đúng. Một triển khai chỉ nhận diện “chính xác một đầu vào đúng” không phải là XOR; nó cố ý loại trừ trạng thái cả ba đầu vào đúng. Ngược lại, phép OR của ba biểu thức XOR từng cặp tạo ra một hàm khác: hàm này đúng bất cứ khi nào các đầu vào không hoàn toàn giống nhau, bao gồm cả các trạng thái có hai đầu vào đúng, nên cũng không đáp ứng bảng chân trị yêu cầu.
Cách nghiệm thu an toàn nhất là dùng bảng chân trị làm phép kiểm tra chấp nhận. Không nên đánh giá chương trình chỉ dựa trên hai hoặc ba vị trí công tắc thuận tiện.
Nối tầng các giai đoạn XOR hai đầu vào
XOR có tính kết hợp, cho phép biểu diễn dưới dạng (S1 XOR S2) XOR S3. Trong chương trình SLC 500, một bit nội bộ có thể lưu kết quả của giai đoạn đầu tiên. Sau đó, một bậc thang thứ hai kết hợp bit này với S3. Cách này giúp mỗi bậc thang có mục đích nhỏ, dễ kiểm tra và giúp chẩn đoán trạng thái trực tuyến dễ dàng hơn.
Trong triển khai bằng tiếp điểm, mỗi giai đoạn XOR hai đầu vào sử dụng hai nhánh song song: nhánh thứ nhất kiểm tra đầu vào A là đúng và đầu vào B là sai; nhánh thứ hai kiểm tra A là sai và B là đúng. Hai nhánh hợp lại tại một cuộn dây. Lặp lại mẫu tương tự với bit trung gian và đầu vào thứ ba.
Bit trung gian cho thấy kết quả S1 XOR S2 trước khi giai đoạn thứ hai kết hợp kết quả đó với S3.
Ví dụ về kế hoạch địa chỉ
Trong một dự án đào tạo RSLogix 500 điển hình, S1, S2 và S3 có thể lần lượt là I:1/0, I:1/1 và I:1/2. Bậc thang đầu tiên ghi B3:0/0 làm kết quả trung gian, còn bậc thang thứ hai ghi O:2/0 làm lệnh điều khiển đèn. Đây chỉ là các địa chỉ ví dụ; cấu hình I/O đã lắp đặt phải quyết định ánh xạ thực tế.
Địa chỉ trung gian chỉ nên có một lệnh ghi. Việc sử dụng lại B3:0/0 ở nơi khác hoặc đặt thêm một lệnh đầu ra cho O:2/0 ở vị trí sau trong chương trình có thể ghi đè lên kết quả đúng trong cùng một chu kỳ quét. Hãy kiểm tra tham chiếu chéo của cả hai địa chỉ trước khi quy lỗi cho mẫu XOR.
XOR cấp từ không tự động là lối tắt Boolean
Bộ lệnh SLC 500 có lệnh XOR để thực hiện OR loại trừ theo từng bit giữa các toán hạng dạng từ. Sổ tay tham khảo bộ lệnh SLC 500 của Rockwell Automation mô tả các toán hạng và đích được hỗ trợ. Lệnh này hữu ích cho mặt nạ và các từ trạng thái đóng gói, nhưng không loại bỏ nhu cầu xác định những bit đầu vào nào tham gia vào một quyết định chẵn lẻ đơn.
Đối với ba đầu vào rời rạc, logic tiếp điểm nối tầng thường rõ ràng hơn đối với nhân viên bảo trì. Triển khai ở cấp từ có thể hợp lý khi chương trình đã đóng gói nhiều bit trạng thái và giảm chúng một cách rõ ràng thành kết quả chẵn lẻ, nhưng bước rút gọn vẫn phải dễ thấy và được kiểm tra.
Đừng nhầm tính chẵn lẻ với hàm chuyển mạch
Một bố trí chiếu sáng ba chiều sử dụng các công tắc duy trì sẽ thay đổi đầu ra bất cứ khi nào bất kỳ công tắc vật lý nào thay đổi vị trí. Theo nghĩa Boolean thuần túy, đầu ra tại mỗi thời điểm có thể được biểu diễn bằng tính chẵn lẻ của ba vị trí công tắc. Không cần lưu trạng thái vì chính các vị trí công tắc đã giữ trạng thái.
Nút nhấn tạm thời thì khác. Nếu nhấn bất kỳ một trong ba nút phải đảo trạng thái đèn, PLC phải phát hiện sườn lên và đảo một bit lệnh được duy trì một lần cho mỗi lần nhấn hợp lệ. Áp dụng trực tiếp XOR cho ba đầu vào tạm thời chỉ mô tả những nút đang được nhấn trong chu kỳ quét đó; nó không ghi nhớ trạng thái đèn trước đó.
Nút nhấn thực tế cũng có thể bị dội. Vì vậy, thiết kế chuyển mạch cần điều hòa đầu vào, one-shot, quyền sở hữu bit được duy trì và trạng thái khởi động được xác định rõ. Đối với các mẫu liên quan đến chu kỳ quét và xử lý dữ liệu, hướng dẫn dùng giá trị của một bộ định thời SLC để thiết lập bộ định thời khác cho thấy vì sao việc di chuyển dữ liệu và thứ tự bậc thang cần được làm rõ.
Nghiệm thu logic như một hàm, không phải một hình ảnh
Trước tiên, hãy kiểm tra riêng bit trung gian hai đầu vào. Bit này phải đúng với 01 và 10, đồng thời sai với 00 và 11. Sau đó kiểm tra đầu ra cuối cùng qua cả tám trạng thái đầu vào ba biến. Ghi lại trạng thái quan sát được thay vì chỉ dựa vào vùng tô sáng màu xanh của bậc thang, vì việc cưỡng bức, các cuộn dây trùng lặp và việc làm mới màn hình trực tuyến có thể che khuất quyền sở hữu đầu ra thực tế.
Tiếp theo, hãy xác minh hành vi khi cấp nguồn, chuyển đổi chế độ chương trình, thay thế đầu vào và phản ứng với mạch hiện trường bị hỏng hoặc ngắt kết nối. Logic XOR có thể phát hiện sự không nhất quán, nhưng bản thân nó không phải là chẩn đoán an toàn. Nếu các công tắc tham gia vào chức năng bảo vệ, thiết kế cần đầu vào đạt chuẩn an toàn, giám sát sai lệch, phát hiện lỗi và đánh giá rủi ro phù hợp với máy.
Có thể xem xét các lựa chọn phần cứng và di chuyển cho bộ điều khiển đời cũ và hiện tại thông qua bộ sưu tập hệ thống PLC và PAC, nhưng phải xác nhận họ bộ xử lý, điện áp I/O, địa chỉ và quyền sở hữu chương trình trước khi điều chỉnh ví dụ này.
Vì sao phiên bản dùng bit nội bộ dễ bảo trì hơn
Một bậc thang mở rộng duy nhất có thể biểu diễn trực tiếp tính chẵn lẻ lẻ của ba đầu vào, nhưng nó cần bốn tổ hợp song song và trở nên khó kiểm tra hơn khi có thêm điều kiện. Nối tầng các giai đoạn hai đầu vào giúp ý định Boolean trở nên rõ ràng, tạo một điểm kiểm tra chẩn đoán và ánh xạ thuận tiện giữa các địa chỉ RSLogix 500 với các thẻ BOOL có tên trong Logix Designer.
Quan điểm biên tập: giải pháp bậc thang tốt nhất là giải pháp có thể giải thích bảng chân trị, hành vi bộ nhớ và phản ứng khi xảy ra lỗi trong quá trình bàn giao bảo trì. Một bit nội bộ không phải là bộ nhớ bị lãng phí nếu nó ngăn kỹ sư tiếp theo nhầm lẫn giữa tính chẵn lẻ lẻ, logic chính xác một đầu vào và chuyển mạch ghi nhớ — vốn là ba chức năng khác nhau.
Câu hỏi thường gặp
Đầu ra có nên bật khi cả ba công tắc đều đóng không?
Có, nếu yêu cầu là XOR ba đầu vào hoặc tính chẵn lẻ lẻ. Ba đầu vào đúng là một số lượng lẻ, vì vậy đầu ra đúng. Nếu 111 phải cho kết quả sai, hàm cần dùng là “chính xác một”, không phải XOR.
Có thể dùng lệnh XOR của SLC 500 để thay thế hai giai đoạn bậc thang không?
Lệnh này thực hiện XOR theo từng bit trên các toán hạng dạng từ. Nó có thể là một phần của giải pháp dùng các bit đóng gói, nhưng ba bit đầu vào riêng lẻ vẫn cần được sắp xếp và rút gọn để bit đích biểu diễn tính chẵn lẻ yêu cầu. Với một mạch rời rạc nhỏ, hai giai đoạn tiếp điểm thường rõ ràng hơn.
Bit trung gian có tạo ra độ trễ một chu kỳ quét không?
Không, nếu bậc thang ghi bit trung gian được thực thi trước bậc thang đọc bit đó trong cùng một routine và task. Bậc thang thứ hai sẽ thấy giá trị được ghi ở phần trước của chu kỳ quét đó. Thứ tự chương trình phải được ghi chép và kiểm soát.
Điều gì thay đổi nếu thiết bị hiện trường là nút nhấn tạm thời?
Chuyển mạch bằng nút nhấn tạm thời cần phát hiện sườn và lưu trạng thái đầu ra. Chỉ dùng XOR tổ hợp không thể ghi nhớ đèn trước đó đang bật hay tắt.
XOR có phù hợp với mạch biểu quyết an toàn không?
Không, nếu dùng riêng lẻ. XOR thông thường chỉ đánh giá các trạng thái Boolean. Ứng dụng an toàn cần kiến trúc an toàn đã được thẩm định, độ bao phủ chẩn đoán, thời gian giám sát sai lệch, phần cứng phù hợp và xác minh theo đánh giá rủi ro áp dụng.