Bạn có thể chốt một đầu vào tạm thời, làm cho nó vẫn hoạt động (hoặc được đặt ) cho đến khi nó cần được hủy (hoặc đặt lại ). Có ba cách tiếp cận khác nhau, như được mô tả trong các phần sau.
6.1 Chốt với các thành phần rời rạc
Chốt Set-Reset là một trong những trụ cột chính của thiết bị điện tử và là chốt đơn giản nhất của các mạch logic tuần tự - thường được thấy là một cặp cổng NAND hoặc NOR được kết nối chéo. Nó cũng khá dễ dàng để tạo ra một bản than chốt mạch chỉ sử dụng một rơ
le (một công tắc hoạt động bằng điện từ) và một vài thành phần khác, như được thấy trong
Hình 16. Các thành phần rời rạc đã được sử dụng ở đây để tạo ra một mạch tự chốt.
Kiểm tra mạch điện ở bên trái, trước hết hãy nhận thấy rằng hai công tắc được nối dây song song, đó là của khóa học một sự sắp xếp hợp lý HOẶC. Tuy nhiên, để bắt đầu, dòng điện không chạy qua một trong hai con đường! Nhánh phía trên tắt, do không nhấn công tắc nhấn để tạo. Công tắc bên dưới là công tắc nhấn để ngắt loại, nhưng đường dẫn này cũng bị tắt, bị chặn bởi các tiếp điểm rơ le ở vị trí tắt (xuống).
Nhấn nhanh công tắc đầu vào Đặt sẽ cho phép nguồn điện đến cuộn dây rơ le kích hoạt, di chuyển các tiếp điểm chuyển tiếp đến vị trí Bật (lên). Dòng điện bây giờ chạy qua nhánh dưới, vì vậy role vẫn được bật, ngay cả khi đầu vào Đặt được giải phóng. Rơ le vẫn hoạt động cho đến khi đầu vào Đặt lại công tắc được nhấn, do đó ngắt kết nối cuộn dây rơle và đưa các tiếp điểm rơle về trạng thái Tắt
Chức vụ.
Lưu ý: Các chốt Reset thường có đầu ra bình thường và đầu ra ngược. Chức năng này
có thể dễ dàng được thêm vào, nếu yêu cầu, bằng cách đấu dây đèn thứ hai qua bộ tiếp điểm công tắc không sử dụng, nhưng có cực tính ngược lại với đầu ra chính.
Một bản phác thảo Arduino tương đương được hiển thị bên dưới.
#include <plcLib.h>
/* Programmable Logic Controller Library for the Arduino and Compatibles
Latch using Discrete Components - Self latching circuit with Q and Not Q outputs
Connections:
Input - Set - switch connected to input X0 (Arduino pin A0) Input - Reset - switch connected to input X1 (Arduino pin A1) Output - Q - LED connected to output Y0 (Arduino pin 3) Output - NotQ - LED connected to output Y1 (Arduino pin 5)
Software and Documentation:
http://www.electronics-micros.com/software-hardware/plclib-arduino/
*/
void setup() {
setupPLC(); // Setup inputs and outputs }
void loop() {
in(X0); // Read switch connected to Input 0 (Set) orBit(Y0); // Self latch using Output 0 (Q) andNotBit(X1); // Reset latch using Input 1 (Reset)
out(Y0); // Output to Output 0 (Q)
in(Y0); // Read Q output
outNot(Y1); // Produce inverted output on Output 1 (Not Q) }
Liệt kê 6. Latch bằng cách sử dụng các thành phần rời rạc (Nguồn: Tệp> Ví dụ> plcLib>
Latch>LatchDiscreteComponents)
Mạch tự chốt ở trên hoạt động tốt, nhưng khá dài dòng. Một phiên bản đơn giản hóa được hiển thị trong phần tiếp theo.
6.2 Sử dụng lệnh Latch
Lệnh latch () về mặt chức năng giống như cách sắp xếp tự chốt đã thấy ở trên, nhưng yêu cầu tối thiểu hai dòng mã. Một tương đươngbiểu diễn sơ đồ khối chức năng được hiển thị bên dưới, biến thể đầu tiên có đầu ra bình thường và đảo ngược và biến thể thứ hai chỉ có một đầu ra bình thường duy nhất.
Hình 17. Đặt các ký hiệu chốt thiết lập lại, được hiển thị cả khi có và không có đầu ra đảo
ngược.
Bản phác thảo sau đây cho thấy một chốt với cả đầu ra bình thường và đầu ra đảo ngược, mặc dù hai dòng sau
được sử dụng để tạo đầu ra đảo ngược là tùy chọn.
#include <plcLib.h>
/* Programmable Logic Controller Library for the Arduino and Compatibles
Latch Command - Set Reset latch with Q and NotQ outputs, based on the 'latch' command Connections:
Input - Set - switch connected to input X0 (Arduino pin A0) Input - Reset - switch connected to input X1 (Arduino pin A1) Output - Q - LED connected to output Y0 (Arduino pin 3) Output - NotQ - LED connected to output Y1 (Arduino pin 5) Software and Documentation:
http://www.electronics-micros.com/software-hardware/plclib-arduino/
*/
void setup() {
setupPLC(); // Setup inputs and outputs }
void loop() {
in(X0); // Read switch connected to Input 0 (Set input) latch(Y0, X1); // Latch, Q = Output 0, Reset = Input 1
in(Y0); // Read Q output and generate NotQ on Output 1 outNot(Y1); // (These two lines are optional) }
Liệt kê 7. Lệnh Latch (Nguồn: File> Examples> plcLib> Latch> LatchCommand)
Lưu ý rằng đầu vào Đặt thành chốt được lấy từ giá trị trước đó từ cùng một 'nấc' của sơ đồ bậc thang (đọc đầu vào X0 trong trường hợp này). Lệnh nhận hai đối số là các Q đầu ra và đặt lại đầu vào tương ứng
6.3 Sử dụng các lệnh Set và Reset
Một phương pháp thay thế để tạo đầu ra được chốt là sử dụng các lệnh set() và reset() riêng biệt , như thể hiện trong bản phác thảo sau.
#include <plcLib.h>
/* Programmable Logic Controller Library for the Arduino and Compatibles
Using Set and Reset commands to create a Set-Reset Latch
Connections:
Input - Set - switch connected to input X0 (Arduino pin A0) Input - Reset - switch connected to input X1 (Arduino pin A1) Output - Q - LED connected to output Y0 (Arduino pin 3) Output - NotQ - LED connected to output Y1 (Arduino pin 5)
Software and Documentation: http://www.electronics-micros.com/software-hardware/plclib-arduino/
*/
void setup() {
setupPLC(); // Setup inputs and outputs }
void loop() {
in(X0); // Read switch connected to Input 0 (Set input) set(Y0); // Set Y0 to 1 if X0 = 1, leave Y0 unaltered otherwise
in(X1); // Read switch connected to X1
reset(Y0); // Clear Y0 to 0 if X1 = 1, leave Y0 unaltered otherwise }
Liệt kê 8. Các lệnh Đặt và Đặt lại (Nguồn: Tệp> Ví dụ> plcLib> Latch SetResetCommands)
Các lệnh set () và reset () có sẵn trong Phiên bản 0.7 trở lên của thư viện plcLib.
Một chữ cái được thêm vào biểu tượng đầu ra tiêu chuẩn cho biết đầu ra là loại 'đặt' hay 'đặt lại', như thể hiện trong sơ đồ bậc thang tương đương.
Phương pháp này cho phép logic riêng biệt để kiểm soát việc bật và tắt đầu ra đã chốt, thường tiện lợi. Abiểu đồ chức năng tuần tự là một ứng dụng điển hình, trong đó các lệnh này có thể được sử dụng để kiểm soát quá trình chuyển đổi giữa các bước trong một trình tự.