- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Помощь в алгоритме.
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 89
- Зарегистрирован: 01 июн 2016, 16:43
- Имя: Валиев Айдар Илдусович
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
Помощь в алгоритме.
Нужна помощь в исправлении алгоритма.
Логика такая.
в емкость поступает нефть,при достижении верхнего нормативного порога вкл. насос-1,далее при достижении верхнего аварийного порога вкл. насос-2.далее обо выкачивают до минимального уровня и отключаются.
необходимо сделать так,чтобы насос-2 включался при достижении верхнего аварийного порога и выкл. при достижении верхнего нормативного порога,а насос-1 дальше откачивал нефть.
Будет ли так работать,если напишу:
IF RGL.H AND NOT RGL.HH THEN
Y=1
????????
Логика такая.
в емкость поступает нефть,при достижении верхнего нормативного порога вкл. насос-1,далее при достижении верхнего аварийного порога вкл. насос-2.далее обо выкачивают до минимального уровня и отключаются.
необходимо сделать так,чтобы насос-2 включался при достижении верхнего аварийного порога и выкл. при достижении верхнего нормативного порога,а насос-1 дальше откачивал нефть.
Будет ли так работать,если напишу:
IF RGL.H AND NOT RGL.HH THEN
Y=1
????????
-
- освоился
- Сообщения: 233
- Зарегистрирован: 11 апр 2013, 13:22
- Имя: Вишневский Денис
- Благодарил (а): 11 раз
- Поблагодарили: 13 раз
Помощь в алгоритме.
смотри за руками:
что бы остановить насос два, тебе всяко надо будет отрубить его
либо по времени после отключения ВУ Авар (то есть с задержкой, исчез уровень, отсчитал минуту - погасил насос),
либо остановить после исчезновения ВУ Нормативного, иначе колбасить будет бедолагу насос-2.
тут бы по хорошему понимать скорость подачи и расхода.
относительно первого насоса - наверное есть смысл его отрубать через задержу, после отключения ВУ норм.
имхо.
что бы остановить насос два, тебе всяко надо будет отрубить его
либо по времени после отключения ВУ Авар (то есть с задержкой, исчез уровень, отсчитал минуту - погасил насос),
либо остановить после исчезновения ВУ Нормативного, иначе колбасить будет бедолагу насос-2.
тут бы по хорошему понимать скорость подачи и расхода.
относительно первого насоса - наверное есть смысл его отрубать через задержу, после отключения ВУ норм.
имхо.
"- Знаешь, дружище, в чем истинный смысл второго закона термодинамики?
Как ни упирайся, а бардака все больше. И чем серьезнее ты упираешься, тем страшнее неразбериха."(с)
Как ни упирайся, а бардака все больше. И чем серьезнее ты упираешься, тем страшнее неразбериха."(с)
-
- эксперт
- Сообщения: 3643
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 8 раз
- Поблагодарили: 286 раз
Помощь в алгоритме.
Нет, не будет. Одной команды явно недостаточно, чтобы управлять двумя насосами. К тому же мы не знаем, что за переменные такие RGL.H, RGL.HH, Y.
-
- эксперт
- Сообщения: 1172
- Зарегистрирован: 14 ноя 2013, 20:35
- Имя: Анатолий Сергеевич
- Страна: Россия
- город/регион: Башкортостан
- Благодарил (а): 13 раз
- Поблагодарили: 68 раз
Помощь в алгоритме.
a1dar_v, Попробуйте посудить логически... Что при каких условиях должно работать.
Эта задача решается с применение триггера, а не просто условия.
Если по простому то можно сделать так:
Если хотите чтобы именно по предмаксисальному уровню то необходимо еще пару строчек добавить...
Удачи в освоении
Эта задача решается с применение триггера, а не просто условия.
Если по простому то можно сделать так:
Код: Выделить всё
If l_hh then
N_2:=1; //включение насоса 2 по достижении максимального уровня
Else
If not(l_h) then
N_2:=0;//отключение насоса 2 при уровне ниже предмаксимального
End_if;
End_if;
Удачи в освоении
-
- освоился
- Сообщения: 208
- Зарегистрирован: 16 дек 2011, 15:13
- Имя: Алексей
- Страна: Россия
- Благодарил (а): 67 раз
- Поблагодарили: 53 раза
Помощь в алгоритме.
Я бы так сделал:
1. Заводите переменную State типа int, можете в меркерной памяти.
2. Пишете след. функцию: комментарии в тексте
1. Заводите переменную State типа int, можете в меркерной памяти.
2. Пишете след. функцию: комментарии в тексте
Код: Выделить всё
// перечень состояний
const
Init := 0;
RunnningOne := 1;
RunningTwo := 2;
end_const
CASE State of
Init: //определение состояния
//насосы выключены
Y1 := FALSE;
Y2 := FALSE;
IF RGL.HH THEN //по приоритету верхний аварийный порог
State := RunningTwo;
ELSIF RGL.H THEN // если верхний нормативный порог
State := RunningOne;
END_IF;
RunningOne:
//включаем первый и качаем
Y1 := TRUE;
//если не выкачали и достигли верхнего аварийного порога, то переходим в другое состояние
IF RGL.HH THEN
State := RunningTwo;
//если выкачали одним, то переходим в начало
ELSIF RGL.L THEN
State := Init;
END_IF;
RunningTwo:
//включаем оба
Y1 := true;
Y2 := true;
//выкачиваем до посинения, если датчик неисправен - то отсюда никогда не выйдем, если не сбросим State в 0
IF RGL.L THEN
State := Init;
END_IF;
END_CASE;
-
- здесь недавно
- Сообщения: 89
- Зарегистрирован: 01 июн 2016, 16:43
- Имя: Валиев Айдар Илдусович
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
Помощь в алгоритме.
не могу понять где изменить алгоритм,может кто-нибудь посмотрит,высылаю проект....
https://drive.google.com/open?id=1inJpD ... H_MWV9cqbG
https://drive.google.com/open?id=1inJpD ... H_MWV9cqbG
-
- здесь недавно
- Сообщения: 89
- Зарегистрирован: 01 июн 2016, 16:43
- Имя: Валиев Айдар Илдусович
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
Помощь в алгоритме.
Вот алгоритм,из которого сделаны фотографии....
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- здесь недавно
- Сообщения: 13
- Зарегистрирован: 12 фев 2018, 20:17
- Имя: Андрей
- Страна: Россия
- город/регион: Кузнецк
- Поблагодарили: 6 раз
Помощь в алгоритме.
Решил помочь. Там в файле исходники функциональных блоков и функций. Вероятно написано на SCLе. Ниче не понятно.
Само условие задачи противоречиво, не ясно для меня.
Если Вашу задачу переписать так:
UEMKOST_HH - вход в ПЛК верхняя аварийная точка емкости
UEMKOST_H - вход в ПЛК верхняя нормативная точка емкости
UEMKOST_L - вход в ПЛК нижняя нормативная точка емкости
UEMKOST_LL - вход в ПЛК нижняя аварийная точка емкости
PUSK1, PUSK2 - выхода с ПЛК команды на включение в работу насосов 1го и 2го
STOP1, STOP2 - выхода с ПЛК команды на останов работы насосов 1го и 2го
1. выход PUSK1 устанавливается включенным при включении UEMKOST_H, снимается в отключенный при отключении UEMKOST_LL.
2. выход PUSK2 устанавливается включенным при включении UEMKOST_HH, снимается в отключенный при отключении UEMKOST_L.
3. выход STOP1 включается инверсно в зависимости от состояния PUSK1.
4. выход STOP2 включается инверсно в зависимости от состояния PUSK2.
Тогда решение станет очевидным на LADе. Уточните задачу.
У вас нет необходимых прав для просмотра вложений в этом сообщении.