Bộ định thời (Time) là một tính năng quan trọng trong các yêu cầu điều khiển cần trì hoãn về thời gian trong hệ thống PLC. Nó được sử dụng để điều khiển các hoạt động đúng theo thời gian như chạy băng tải trong một khoảng thời gian nhất định trước khi dừng lại, cung cấp nguồn điện cho một van khí nén trong một khoảng thời gian nhất định, hoặc trộn nguyên liệu trong một khoảng thời gian xác định.
Trong PLC S7-200, có tổng cộng 256 bộ định thời (Timer) được chia thành 3 loại: Timer đóng mạch chậm (TON), Timer đóng mạch chậm có nhớ (TONR), và Timer ngắt mạch chậm (TOF). Mỗi loại timer có độ phân giải khác nhau và được sử dụng cho các mục đích điều khiển khác nhau.
Khi sử dụng một timer, chúng ta cần đặt các thông số như loại timer, độ phân giải, số timer sẽ sử dụng, và thời gian cần trì hoãn dựa trên độ phân giải của timer. Sau đó, chúng ta cần cung cấp tín hiệu để bắt đầu tính thời gian.
Timer S7-200 được biểu diễn bằng ký hiệu chung ở LAD như sau:
Ví dụ, ta có một timer loại On-delay (TON) có tên gọi là T37, độ phân giải là 100ms. Thời gian trì hoãn được tính theo công thức 10 x 100ms = 1s.
Timer đóng mạch chậm TON
Các Timer TON được sử dụng khi cần trì hoãn một khoảng thời gian. Giá trị hiện hành của TON sẽ bị xóa khi ngõ vào IN ở mức logic “0”.
Timer TON thực hiện đếm thời gian khi ngõ vào IN ở mức logic “1”. Khi giá trị hiện hành (Txxx) lớn hơn hoặc bằng thời gian đặt trước PT (preset time), thì Timer Bit sẽ ở logic “1”. Giá trị hiện hành của TON sẽ bị xóa khi ngõ vào IN ở logic “0”. Timer vẫn tiếp tục đếm dù đã đạt đến giá trị PT, và dừng lại khi đếm đến giá trị max. 32767.
Để xóa timer, ta có thể sử dụng lệnh Reset (R). Lệnh Reset sẽ làm cho Timer Bit ở mức logic “0” và giá trị hiện hành của timer (Timer Current) bằng 0.
Có tổng cộng 192 timer TON trong S7-200, được phân chia theo độ phân giải như sau:
Chú ý: Vì TON và TOF sử dụng cùng số timer, nên không thể đặt cho cả hai có cùng số Timer. Ví dụ, nếu đã đặt TON là T37, thì không được đặt TOF là T37.
Ví dụ: Bật công tắc I0.0 (NO) thì sau 5s, ngõ ra Q0.0 sẽ lên mức 1.
Qua giản đồ thời gian, ta nhận thấy để timer TON trì hoãn đúng thời gian đặt trước (ví dụ 5s), thì trạng thái tín hiệu tại ngõ vào IN cần duy trì ở mức 1 trong suốt khoảng thời gian này. Nếu sau 5s mà ngõ vào IN vẫn duy trì ở mức 1, thì giá trị thời gian trong timer sẽ tiếp tục tăng cho đến khi đạt giá trị tối đa là 32767.
Để tạo một Timer TON trong chương trình, ta có thể nhấp chuột vào dấu (+) ở biểu tượng trong cây lệnh. Sau đó, trỏ chuột vào vị trí mong muốn và kéo thả Timer vào đó. Ta cần nhập số Timer cho TON, điều kiện cho ngõ vào IN, và giá trị PT theo mong muốn.
Timer đóng mạch chậm có nhớ TONR
Các Timer TONR được sử dụng khi cần tích lũy một số khoảng thời gian rời rạc. Giá trị hiện hành TONR chỉ có thể bị xóa bằng lệnh Reset (R).
Timer TONR thực hiện đếm thời gian khi ngõ vào IN ở mức logic “1”. Khi giá trị hiện hành (Txxx) lớn hơn hoặc bằng thời gian đặt trước PT (preset time), thì Timer Bit sẽ ở logic “1”. Giá trị hiện hành của TONR sẽ được giữ lại khi ngõ vào IN ở logic “0”. TONR được sử dụng để tích lũy thời gian cho nhiều chu kỳ ngõ vào IN ở mức “1”. Timer này vẫn tiếp tục đếm sau khi đã đạt đến giá trị đặt trước và dừng lại ở giá trị max. 32767.
Để xóa giá trị hiện hành của TONR và Timer Bit, ta sử dụng lệnh Reset (R).
Có tổng cộng 64 timer TONR trong S7-200, được phân chia theo độ phân giải như sau:
Ví dụ: Xét đoạn chương trình sau:
Timer ngắt mạch chậm TOF
Timer TOF được sử dụng khi cần trì hoãn thêm một khoảng thời gian rồi mới tắt ngõ ra kể từ khi tín hiệu ngõ vào IN xuống “0”. Timer TOF chỉ thực hiện đếm thời gian khi IN chuyển từ “1” xuống “0”.
Khi ngõ vào IN của Off-Delay Timer (TOF) ở logic “1”, thì Timer Bit ngay lập tức được đặt lên mức logic “1” và giá trị hiện hành được xóa về 0. Khi ngõ vào IN xuống “0”, thì Timer sẽ đếm cho đến khi thời gian trôi qua đạt đến giá trị thời gian đặt trước. Khi đạt đến giá trị đặt trước, Timer Bit sẽ được đặt về “0” và giá trị hiện hành dừng đếm. Nếu ngõ vào IN ở “0” trong khoảng thời gian ngắn hơn giá trị đặt trước, thì Timer Bit sẽ giữ ở “1”.
Để xóa timer, ta có thể sử dụng lệnh Reset (R). Lệnh Reset sẽ làm cho Timer Bit ở mức logic “0” và giá trị hiện hành của timer bằng 0.
Có tổng cộng 192 timer TOF trong S7-200, được phân chia theo độ phân giải như sau:
Chú ý: Vì TON và TOF sử dụng cùng số timer, nên không thể đặt cho cả hai có cùng số Timer. Ví dụ, nếu đã đặt TON là T37, thì không được đặt TOF là T37.
Ví dụ: Xét đoạn chương trình sau:
Ứng dụng của Timer
9.5.1 Tạo xung có tần số theo mong muốn
Viết chương trình tạo xung theo mong muốn để sử dụng vào các mục đích khác nhau theo giản đồ xung sau:
9.5.2 Tạo Timer xung và Timer xung có nhớ
9.5.2.1 Timer xung (Pulse timer)
Timer xung được sử dụng để tạo ra một xung khi tín hiệu vào ở mức logic “1” có thời gian lớn hơn hoặc bằng thời gian đặt trong timer xung. Ví dụ dưới đây mô tả giản đồ thời gian của chương trình tạo Timer xung với ngõ ra timer là Q0.0, ngõ vào tín hiệu là I0.0, và thời gian xung là 5s:
9.5.2.2 Timer xung có nhớ (Extended Pulse timer)
Timer xung có nhớ được sử dụng để tạo ra một xung khi có một xung tín hiệu vào. Ví dụ dưới đây mô tả giản đồ thời gian của chương trình tạo Timer xung có nhớ với ngõ ra timer là Q0.1, ngõ vào tín hiệu là I0.1, và thời gian xung là 5s:
9.5.3 Đảo chiều quay động cơ có khống chế thời gian
Một ứng dụng thực tế của Timer là đảo chiều quay động cơ với khống chế thời gian dừng. Ví dụ dưới đây mô tả mô tả hoạt động của động cơ điện 3 pha và cách sử dụng Timer và khóa để kiểm soát quá trình đảo chiều quay:
9.5.4 Chiếu sáng Garage
Mô tả hoạt động: Đèn trước cửa Garage không được tắt ngay lập tức khi ấn công tắc, mà nó vẫn còn sáng thêm một khoảng thời gian nữa (khoảng 1 phút) để cho người đi.
9.5.5 Thiết bị rót chất lỏng vào thùng chứa
Sơ đồ công nghệ:
Mô tả hoạt động: Khi bật công tắc “S1”, thì thùng từ kho chứa thùng rỗng sẽ được đưa vào băng tải, và băng tải vận chuyển thùng hoạt động. Khi một thùng rỗng đến dưới bồn chứa (được nhận biết bởi cảm biến “S2”), thì băng tải dừng. Van “Y1” mở rót chất lỏng trong bồn vào thùng. Sau thời gian 5s, thùng chứa sẽ đầy. Van “Y1” đóng lại, một thùng rỗng sẽ được đưa vào băng tải và băng tải tiếp tục di chuyển cho đến khi thùng đến dưới bồn chứa thì dừng lại. Quá trình này lặp lại. Nếu chất lỏng trong bồn chứa hết, thì còi “H1” sẽ báo với tần số 1Hz. Nếu thùng chứa trong kho hết, thì băng tải cũng tự động dừng sau thời gian 15s kể từ thùng cuối cùng được rót đầy.
Chú ý: “Y2” là một solenoid được sử dụng để chặn thùng trong kho. Để thùng rớt vào băng tải, chỉ cần solenoid có điện trong thời gian 100ms.
Tổng kết: Timer là một tính năng quan trọng trong hệ thống điều khiển PLC S7-200. Nó được sử dụng để điều khiển các hoạt động theo thời gian như trì hoãn, tạo xung, hoặc tích lũy thời gian. Chúng ta có thể tận dụng timer trong các ứng dụng thực tế như đảo chiều quay động cơ, chiếu sáng Garage, hay thiết bị rót chất lỏng vào thùng chứa. Với các tính năng và khả năng linh hoạt của Timer trong PLC S7-200, ta có thể dễ dàng điều khiển và ứng dụng trong mọi lĩnh vực công nghiệp.