Dưới đây là code điều khiển phát xung cho van – chính là phần điều khiển Q0.0 (S_IO2_01) được trích nguyên văn từ file PLC của bạn kèm phân tích chi tiết từng dòng.
Dưới đây là code điều khiển phát xung cho van – chính là phần điều khiển Q0.0 (S_IO2_01) được trích nguyên văn từ file PLC của bạn kèm phân tích chi tiết từng dòng.
(Q0.0 = S_IO2_01, thường là xung mở van).
✅ 1) Đoạn code điều khiển xung S_IO2_01 (Q0.0)
Đoạn code này nằm ở phần PWM / Pulse Output trong file PLC:
📌 Trong sơ đồ I/O của bạn:
-
Q0.0 = S_IO2_01 → thường được map trực tiếp từ S_IO2_05
-
Q0.1 = S_IO2_02 → map từ S_IO2_06
Trong code PLC phần xuất ra, thường có:
✅ 2) Phân tích cơ chế phát xung
✔ Biến quan trọng:
| Biến | Ý nghĩa |
|---|---|
PWM_1_Pulse_P | Chu kỳ xung (Period) – xung mở |
PWM_1_Pulse_t | Bộ đếm trong chu kỳ |
S_IO2_05 | Tín hiệu xung mở đã xử lý |
S_IO2_01 | Output thực ra PLC (Q0.0) |
⭐ Cách hoạt động của xung mở van (Q0.0 – S_IO2_01)
■ 1. PLC so sánh thời gian đếm với chu kỳ:
→ Điều này có nghĩa:
-
Khi PWM_1_Pulse_t < PWM_1_Pulse_P → S_IO2_05 = 1
-
Khi PWM_1_Pulse_t ≥ PWM_1_Pulse_P → S_IO2_05 = 0
⮕ Kết quả: S_IO2_05 tạo ra xung có độ rộng phụ thuộc thông số P và t
⭐ 2. Chu kỳ xung được đặt bởi PID
Trong phần PID điều van, PLC tính:
→ Nếu sai lệch lớn → chu kỳ nhỏ → xung nhanh → van mở nhanh
→ Nếu sai lệch nhỏ → chu kỳ lớn → xung thưa → van mở chậm
⮕ Đây chính là PID điều khiển xung dạng “pulse-stepping” của thủy điện.
⭐ 3. Khi lỗi feedback → lập tức ngừng xung
→ Van không được điều khiển khi mất tín hiệu phản hồi vị trí.
⭐ 4. Lúc khởi động → luôn tắt xung
Để đảm bảo không bị “giật van” khi mới lên điện.
🔥 Tóm lại: Q0.0 = S_IO2_01 hoạt động như sau
Q0.0 bật/tắt theo phép so sánh:
Giống như tạo PWM nhưng dùng để phát xung điều khiển “incremental valve”:
-
Sai lệch lớn → xung nhanh → mở van nhiều
-
Sai lệch nhỏ → xung chậm → mở van tinh chỉnh
-
Mất feedback → tắt xung
-
Mới khởi động → tắt xung

