Bài 20:
Một dãy gồm 5 đèn hoạt động theo nguyên tắc sau: Bật hệ thống bằng nút S1, tắt bằng nút S2, chuyển chế độ tự
động/bằng tay (A/M) bằng công tắc S3
- Chế độ tự động: Khi ấn nút “lên” các đèn sáng lần lượt từ đèn số 1 đến đèn số 5 và dừng lại. Khi ấn nút “xuống” các
đèn tắt dần từ đèn số 5 đến đèn số 1. Thời gian cách nhau giữa các đèn là 1s.
- Chế độ bằng tay: Mỗi lần ấn nút “lên” sẽ có thêm một đèn sáng. Mỗi lần ấn nút “xuống” sẽ có một đèn tắt.
Giai đoạn thiết kế
Sơ lược mơ hình:
Q0.5
Start(I0.0)
Q0.4
Stop(I0.1)
AutoManual
(I0.2)
Q0.3
Up (I0.6)
Q0.2
Down (I0.7)
Q0.1
L5
L4
L3
L2
L1
Lập bảng variables:
Variables
Ton_AutoLamp1s
Ctud_LampIdx
Symbols
T37
C0
Types
Timer Ton 100ms
Counter CTUD
Comment
Timer 1s in Auto mode
I_btStart
I_btStop
I_swAutoManual
I_btUp
I_btDown
I0.0
I0.1
I0.2
I0.6
I0.7
Input
Input
Input
Input
Input
Start button
Stop button
Mode switch
Up button
Down button
Q_LAMP1
Q_LAMP2
Q_LAMP3
Q_LAMP4
Q_LAMP5
Q0.1
Q0.2
Q0.3
Q0.4
Q0.5
Output
Output
Output
Output
Output
Lamp 1
Lamp 2
Lamp 3
Lamp 4
Lamp 5
M_RUN_FLAG
M_UP_FLAG
M_DOWN_FLAG
M0.0
M0.1
M0.2
Memory
Memory
Memory
RUN state
UP state for lamp
DOWN state for lamp
Mô tả chức năng sơ lược
M_RUN_FLAG
o ON khi:
Nhấn I_btStart
o OFF khi:
Hoặc nhấn I_btStop
M_UP_FLAG
o ON khi:
Hệ thống RUN(M_RUN_FLAG == ON)
Nhấn I_btUp
o OFF khi:
Hoặc nhấn I_btDown
M_DOWN_FLAG
o ON khi:
Hệ thống RUN(M_RUN_FLAG == ON)
Nhấn I_btDown
o OFF khi:
Hoặc nhấn I_btUp
Ton_AutoLamp1s
o Auto mode
Reset và bắt đầu hoạt động khi nhấn I_btUp
Hoặc reset và bắt đầu hoạt động khi nhấn I_btDown
o Reset khi chạy hết chu kỳ 1s
Ctud_ LampIdx
o Set giá trị PV = 5 (5 lamp)
o Reset về 0 khi
POWER_ON
Hoặc nhấn I_btStart
o Tăng 1 khi
Auto mode
Chưa đạt giá trị PV (Ctud_ LampIdx == OFF)
Trạng thái đếm lên (M_UP_FLAG == ON)
Ton_AutoLamp1s chạy hết chu kỳ 1s (Ton_AutoLamp1s == OFF ON)
Hoặc Manual mode
Chưa đạt giá trị PV (Ctud_ LampIdx == OFF)
nhấn I_btUp
o Giảm 1 khi
Auto mode
Ctud_ LampIdx > 1
Trạng thái đếm xuống (M_DOWN_FLAG == ON)
Ton_AutoLamp1s chạy hết chu kỳ 1s (Ton_AutoLamp1s == OFF ON)
Hoặc Manual mode
Ctud_ LampIdx > 1
nhấn I_btDown
Q_LAMP1
o ON khi
Trạng thái RUN
Ctud_ LampIdx == 1
o OFF khi
Ctud_ LampIdx != 1
Q_LAMP2
o ON khi
Trạng thái RUN
Ctud_ LampIdx == 2
o OFF khi
Ctud_ LampIdx != 2
Q_LAMP3
o ON khi
Trạng thái RUN
Ctud_ LampIdx == 3
o OFF khi
Ctud_ LampIdx != 3
Q_LAMP4
o ON khi
Trạng thái RUN
Ctud_ LampIdx == 4
o OFF khi
Ctud_ LampIdx != 4
Q_LAMP5
o ON khi
Trạng thái RUN
Ctud_ LampIdx == 5
o OFF khi
Trạng thái RUN
Ctud_ LampIdx != 5