Đầu ra chốt

Một phần của tài liệu Hướng dẫn lập trình PIC với arduino (Trang 58 - 63)

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 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() 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ự.

Một phần của tài liệu Hướng dẫn lập trình PIC với arduino (Trang 58 - 63)

Tải bản đầy đủ (DOCX)

(137 trang)
w