уровень сухого хода насосу, включен Насос 1. При достижении жидкостью верхнего
уровня выключается Насос 1 и включается Насос 2. Если уровень жидкости в баке выше
верхнего уровня, то контролер об этом сигнализирует
На основе задания разработать :
a) таблицу сигналов;
b) прикладную программу для ПЛК;
c) дать описание работы прикладной программы.
К таблице сигналов вносятся:
· порядковый номер переменной;
· имя переменной (не должно содержать пропусков и кириллицы);
· тип переменной (дискретный, аналоговый);
· класс переменной (локальная, глобальная);
· адрес (для внутренних переменных не заполняется).
У нас есть код програми
Code: Select all
VAR
startbtn: BOOL; (* кнопка запуска *)
starting: BOOL; (* процесс запущен *)
stop_btn: BOOL; (* кнопка останова *)
dry_lvl: BOOL; (* датчик сухого уровня *)
hi_lvl: BOOL; (* датчик верхнего уровня *)
ns1_start: BOOL; (* насос №1 запушен *)
ns2_start: BOOL; (* насос №2 запушен *)
avar_lamp: BOOL; (* лампа аварийного уровня *)
start_btn: BOOL; (* кнопка запуска *)
overflov_lvl: BOOL; (* датчик переполнения *)
dry_lamp: BOOL; (* лампа "сухой бак" *)
lo_lvl: BOOL; (* датчик нижнего уровня *)
lo_lvl_lamp: BOOL; (* лампа "нижний уровень" *)
END_VAR
(*кнопка запуска, останова, самоблокировка*)
LD start_btn
OR( starting
ANDN stop_btn
)
ST starting
(*признак запуска, и если не верхнийи или не аварийный датчик - включен насос №1*)
LD starting
ANDN hi_lvl
ANDN overflov_lvl
ST ns1_start
(*признак запуска и если верхнийи или аварийный датчик и не сухой уровень - включен насос №2 *)
LD starting
AND( hi_lvl
OR overflov_lvl
)
AND dry_lvl
ST ns2_start
(*если переполнение - включаем аварийную лампу*)
LD overflov_lvl
ST avar_lamp
(*если сухой бак - включена лампа сухой бак*)
LDN dry_lvl
ST dry_lamp
(*если сработал датчик нижнего уровня - включаем лампу нижнего уровня*)
LD lo_lvl
ST lo_lvl_lamp
Как присвоит насосу значение TRUE, и использовать Глобальние.