PDA

Просмотр полной версии : защиты по контролю скорости



alexval2006
06.07.2010, 20:45
Добрый вечер всем
Появилась необходимость сделать на механизм защиту по контролю скорости задумка такая на валу барабана механизма стоит крыльчатка напротив неё закреплен индуктивный бесконтактный датчик типа ВБИ сенсор клепает этот датчик хочу подключить к МВ110-16ДН выглядеть это будет примерно так
http://www.owen.ru/forum/attachment.php?attachmentid=2529&stc=1&d=1278437694
далее программная суть после включения механизма запускаться программный таймер на включение его нужно все время забрасывать сигналом с датчика время срабатывания таймера это время оборота крыльчатки то есть время между сработками датчика если сигнал сброса не пришёл вовремя то срабатывает таймер и останавливает механизм с выдачей на выход аварии до сброса аварии механизм не запустить снова
я тут набросал кое что может кто подскажет как это до ума довести


FUNCTION_BLOCK EL
VAR_INPUT
start: BOOL;
stop: BOOL;
alarm_RESET:BOOL;
podpor:BOOL;
sped_kontrol:BOOL;
END_VAR
VAR_OUTPUT
lamp: BOOL;
OUT_1: BOOL;
alarm_out:BOOL;
END_VAR
VAR
tim1:TON;(*таймер аварии по подпору продуктом*)
tim2:TON;(*таймер аварии по контролю скорости*)
END_VAR
================================================== ===========

(*----------Кнопки старт стоп----------------------------------*)
IF start=TRUE THEN
OUT_1:=TRUE;
lamp:=TRUE;
END_IF

IF stop=TRUE THEN
OUT_1:=FALSE;
lamp:=FALSE;
END_IF
(*-----------Контроль перегруза продуктом------------------------------------*)
IF podpor=TRUE THEN
tim1(in:=podpor, pt:=t#3s);
alarm_out:=Tim1.Q;
ELSE
tim1(in:=FALSE, pt:=t#3s);
END_IF
(*--------------Контроль скорости механизма----------------------------------*)
IF sped_kontrol=TRUE THEN
tim2(in:=sped_kontrol, pt:=t#3s);
alarm_out:=Tim2.Q;
END_IF
(*---------------Сброс аварии (квитирование)------------------------------*)
IF alarm_RESET=TRUE THEN
alarm_out:=FALSE;
tim1(in:=FALSE, pt:=t#3s);
tim2(in:=FALSE, pt:=t#3s);
END_IF
(*-------------------Выключение механизма при аварии--------------------*)
IF alarm_out=TRUE THEN
OUT_1:=FALSE;
lamp:=FALSE;
END_IF
(*---------------------------------------------------------------------------*)

rovki
06.07.2010, 21:11
а использование мв110-16дн -это принципиально важно ,для контроля скорости? и конструкцию "крыльчатки" хорошо продумайте с точки зрения быстродействия ,макс.частота входов мв -1кгц ,при скважности 2,т.е длительность импульса не менее 0,5мс.

alexval2006
06.07.2010, 21:19
просто там можно использовать датчики без промежуточного реле я понял вас вы сейчас скажете что это легко реализовать на пр110 но тут не тот случай это лишь часть большой системы я делаю автоматизацию элеватора 72 года розлива там 4 основных нории (вертикальные транспортеры) плюс куча всего прочего и тут без плк и модулей ввода вывода некуда

alexval2006
06.07.2010, 21:28
Вышел из положения таким образом не знаю может и не очень правильно но в симуляторе вроде работает



FUNCTION_BLOCK EL
VAR_INPUT
start: BOOL;
stop: BOOL;
alarm_RESET:BOOL;
podpor:BOOL;
sped_kontrol:BOOL;
END_VAR
VAR_OUTPUT
lamp: BOOL;
OUT_1: BOOL;
alarm_out:BOOL;
END_VAR
VAR
tim1:TON;(*таймер аварии по подпору продуктом*)
tim2:TON;(*таймер аварии по контролю скорости*)
END_VAR
================================================== ===========

(*----------Кнопки старт стоп----------------------------------*)
IF start=TRUE THEN
OUT_1:=TRUE;
lamp:=TRUE;
END_IF

IF stop=TRUE THEN
OUT_1:=FALSE;
lamp:=FALSE;
END_IF
(*-----------Контроль перегруза продуктом------------------------------------*)
IF podpor=TRUE THEN
tim1(in:=podpor, pt:=t#3s);
alarm_out:=Tim1.Q;
ELSE
tim1(in:=FALSE, pt:=t#3s);
END_IF
(*--------------Контроль скорости механизма----------------------------------*)
IF sped_kontrol=TRUE THEN
tim2(in:=FALSE, pt:=t#3s);
END_IF

IF out_1=TRUE THEN
tim2(in:=out_1, pt:=t#3s);
alarm_out:=Tim2.Q;
ELSE
tim2(in:=FALSE, pt:=t#3s);
END_IF
(*---------------Сброс аварии (квитирование)------------------------------*)
IF alarm_RESET=TRUE THEN
alarm_out:=FALSE;
tim1(in:=FALSE, pt:=t#3s);
tim2(in:=FALSE, pt:=t#3s);
END_IF
(*-------------------Выключение механизма при аварии--------------------*)
IF alarm_out=TRUE THEN
OUT_1:=FALSE;
lamp:=FALSE;
END_IF
(*---------------------------------------------------------------------------*)

Филоненко Владислав
06.07.2010, 22:35
убедитесь что скорости срабатывания достаточно с 10-ти кратным запасом. т.к. вы дальше будете усложнять и добавлять функции, а защиту проверите 1 раз что работает.
вообще критические защиты лучше делать на отдельном устройстве или дублировать 2-я разными устройствами.

alexval2006
07.07.2010, 10:24
всем спасибо учту ваши замечания