Bài 20: Một dãy gồm đèn hoạt động theo nguyên tắc sau: Bật hệ thống nút S1, tắt nút S2, chuyển chế độ tự động/bằng tay (A/M) công tắc S3 - Chế độ tự động: Khi ấn nút “lên” đèn sáng từ đèn số đến đèn số dừng lại Khi ấn nút “xuống” đèn tắt dần từ đèn số đến đèn số Thời gian cách đèn 1s - Chế độ tay: Mỗi lần ấn nút “lên” có thêm đèn sáng Mỗi lần ấn nút “xuống” có đè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 Lamp Lamp Lamp Lamp 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 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 bắt đầu hoạt động nhấn I_btUp Hoặc reset bắt đầu hoạt động nhấn I_btDown o Reset chạy hết chu kỳ 1s Ctud_ LampIdx o Set giá trị PV = (5 lamp) o Reset POWER_ON Hoặc nhấn I_btStart o Tăng 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 Auto mode Ctud_ LampIdx > 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 > nhấn I_btDown Q_LAMP1 o ON Trạng thái RUN Ctud_ LampIdx == o OFF Ctud_ LampIdx != Q_LAMP2 o ON Trạng thái RUN Ctud_ LampIdx == o OFF Ctud_ LampIdx != Q_LAMP3 o ON Trạng thái RUN Ctud_ LampIdx == o OFF Ctud_ LampIdx != Q_LAMP4 o ON Trạng thái RUN Ctud_ LampIdx == o OFF Ctud_ LampIdx != Q_LAMP5 o ON Trạng thái RUN Ctud_ LampIdx == o OFF Trạng thái RUN Ctud_ LampIdx !=