S5T#20s //Đặt trước thời gian 20 seconds vào ACCU1 SS T5 //Sử dụng timer mở trễ nhớ trạng thái.

Một phần của tài liệu Chương 3: Ngôn ngữ lập trình (Trang 44 - 47)

SS T5 //Sử dụng timer mở trễ nhớ trạng thái.

A I 1.4

R T5 //Xoá timer T5.

A T5 //Kiểm tra trạng thái tín hiệu của timer T5.

= Q 1.0

L T5 //Tải giá trị thời gian tức thời của timer T5 dưới dạng nhị phân.

T MW24

LC T5 //Tải giá trị thời gian tức thời của timer T5 dưới dạngsố BCD.

T MW26 I1.3 (ngỏ vào) L, LC CV I1.4 (reset) Q1.0

t = khoảng thời gian lập trình

Ví dụ: Hình 3.16 mô tả quá trình di chuyển của động cơ M. Khi nút Start PB được

nhấn, động cơ (M) sẽ di chuyển từ trái sang phải. Khi LS2 là ON thì động cơ dừng trong 10 giây và rồi di chuyển trở về Home. Khi LS1 là ON, động cơ dừng và báo hiệu quá trình đã hoàn tất.

• Bảng gán nhiệm vụ I/O

Input (ngỏ vào) Output (ngỏ ra)

Tên gọi Địa chỉ Tên gọi Địa chỉ Start PB I0.0 Motor L->R Q0.0

M LS2 LS1 Start PB Home LS1 I0.1 Motor R->L Q0.1

LS2 I0.2 Retentive timer T0

Hình 3.16Di chuyển động cơ • Chương trình Network1: A "Start PB" S "Motor L->R" Network2: A "LS2" L S5T#30S SS "Retentive timer" R "Motor L->R" Network3:

A "Retentive timer" = "Motor R->L" Network4: A "LS1" FP M 0.0 R "Retentive timer"

3.9. ĐIỀU KHIỂN BỘ ĐẾM (counter) 3.9.1. Khái niệm 3.9.1. Khái niệm

Trong công nghiệp, máy móc, dây chuyền sản xuất việc quản lý số lượng sản phẩm thành phẩm, phế phẩm là một công đoạn rất quan trọng. Như đếm số chai, số xe hơi, số bộ phận, số vòng quay của trục quay…

Mặt khác trong hệ thống sản xuất khép kín việc giám sát, quản lý và điều khiển có mối quan hệ mật thiết thông qua các thiết bị điều khiển, giám sát và thậm chí truy xuất nhiều bộ đếm để thực hiện quản lý đa dạng trạng thái vật lý, đối tượng. Do đó việc sử dụng các bộ đếm có khả năng linh hoạt trên là một ưu điểm rất mạnh mẽ được đề cập trong các bộ điều khiển lập trình.

Bộ đếm & hiển thị

Hình 3.17a - Đếm sản phẩm tấm Plastic

Hình 3.17b - Đếm số chai thành phẩm

Nguyên tắt hoạt động của bộ đếm

Counter là bộ đếm có nhiệm vụ đếm sườn xung của tín hiệu đầu vào đếm. Các bộ đếm được lưu trữ trong vùng nhớ dữ liệu của PLC. Khi có sườn lên của tín hiệu enable và đồng thời tại ngò vào CU có mức tín hiệu “1” thì bộ đếm thực hiện đếm lên. Ngược lại, khi đồng thời có sườn lên tín hiệu enable và tại ngõ vào CD có mức tín hiệu “1” thì bộ đếm sẽ đếm xuống.

Số sườn xung vào đếm được ghi vào một word 16 bit và được gọi là thanh ghi C- word. Nội dung của thanh ghi gọi là giá trị đếm tức thời và được kí hiệu là CV ( Current

value). Số đếm được chứa trong vùng nhớ dữ liệu hệ thống dưới dạng nhị phân và có giá trị chứa trong khoảng 0 ÷ 999. Khi CV≠ 0 thì bit counter (C-bit) có giá trị là “1”, nếu CV = 0 thì C-bit sẽ có giá trị 0. CV là một giá trị không âm.

Giá trị đặt trước PV (Preset value) sẽ được đặt vào C-word ở thời điểm có sườn lên của tín hiệu đặt (S).

Bộ đếm có thể xóa trực tiếp bằng tín hiệu xóa (reset). Khi bộ đếm bị xóa thì giá trị C-word lẫn C-bit đều nhận giá trị “0”. (adsbygoogle = window.adsbygoogle || []).push({});

Chú ý: Bộ đếm có thể làm công việc đếm trạng thái tín hiệu và hiện thị giá trị số đếm; hoặc có thể dùng làm điều khiển trạng thái hoạt động của một đối tượng khác. Do vậy muốn điều khiển chúng ta phải dùng đến bộ đếm xuống.

FRTín hiệu kích đếm Tín hiệu kích đếm C-bit L, LC S R CV CV CD CU Counter word Tín hiệu đặt đếm Tín hiệu đến xuống Giá trị đặt Tín hiệu xóa Tín hiệu đến lên Hiển thị số đếm Tín hiệu ra

Hình 3.18Nguyên tắc hoạt động Counter

3.9.2. Các tác vụ bộ đếm

3.9.2.1. Tín hiệu kích đếm (Enable Counter)

Cú pháp FR <Toán hạng>

Toán hạng

Kiểu dữ liệu Vùng biến nhớ Địa chỉ

Counter C 0 ÷255

Ví dụ:

A I 2.0 //Kiểm tra tín hiệu ngõ vào I 2.0.

FR C3 //Kích bộ đếm C3 khi RLO chuyển 0 sang 1.

3.9.2.2. Đọc nội dung thanh ghi C-word

Số đếm tức thời chứa trong thanh ghi có thể được biểu thị như số nhị phân (CV) hay số thập phân (CV_BCD).

3.9.2.2.1. Đọc số đếm tức thời dạng binary

Cú pháp L <Toán hạng>

Toán hạng

Kiểu dữ liệu Vùng biến nhớ Địa chỉ

L < Toán hạng > đọc giá trị đếm tức thời của bộ đếm dưới dạng số nguyên vào ACCU 1-L.

Ví dụ:

Một phần của tài liệu Chương 3: Ngôn ngữ lập trình (Trang 44 - 47)