Помогите выстроить логику работы

Необходимо одноразовое обращение к блоку

Вопросы от новичков
Ответить
Scorp1978
Рядовой
Сообщения: 24
Зарегистрирован: 19.05.2017{, 13:06}
Репутация: 0

Помогите выстроить логику работы

#1

Сообщение Scorp1978 » 25.09.2018{, 08:41}

Подскажите кто сталкивался, бьюсь уже 3 вечера и опускаются руки, задача следующего плана:
Есть фрамуга, есть ее концевик на закрытие. Смоделируем ситуацию когда фрамуга открыта ну пускай будет на 30% (не имеет значения вообще просто открыта) концевик соответственно разомкнут и выдает .Т., и вдруг отключают энергию и через какой то промежуток времени включают.
Что происходит у меня сейчас счетчик обнуляется, а фрамуга открыта и соответственно начинается неверный отсчет времени открытия (у меня открытие фрамуги привязано ко времени).
Что нужно мне:
перед запуском блока проверить состояние переменной "Фрамуга_нуль" (эта переменная отвечает за первый ли это запуск программы) и если она .F. (да первый запуск) то включить ПИН на котором привязано закрытие, затем отследить срабатывания концевика закрытия и перевести состояние переменной "Фрамуга_нуль" в .Т., вроде ничего сложного, но блин в железе проверяю не получается. Прикладываю картинку и проект.
Заранее благодарен всем кто откликнется.
Вложения
Проблема.png
Парник.flp
(461.46 КБ) 52 скачивания

Аватара пользователя
Phazz
Полковник
Сообщения: 2557
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

Помогите выстроить логику работы

#2

Сообщение Phazz » 25.09.2018{, 08:58}

Блок еeprom вам поможет.

Аватара пользователя
Cancertanly
Сержант
Сообщения: 214
Зарегистрирован: 06.04.2016{, 19:59}
Репутация: 20
Откуда: bish
Имя: Антон

Помогите выстроить логику работы

#3

Сообщение Cancertanly » 25.09.2018{, 09:01}

вместо ТТтриггера используйте И .а входы в И инвертируйте как вам надо
FLProg_ru
https://t.me/flrog_ru ...................................................FLProg_v7.3.4
https://t.me/soft_duino

Аватара пользователя
Nik108
Рядовой
Сообщения: 15
Зарегистрирован: 11.09.2018{, 20:11}
Репутация: -1
Имя: Николай

Помогите выстроить логику работы

#4

Сообщение Nik108 » 25.09.2018{, 09:38}

А может проще сделать. Независимо от состояния фрамуги, после отключения всегда сначала идёт сигнал на закрытие до срабатывания концевика, а уже потом обычная работа. Ведь открытой без напряжения фрамуга может быть неограниченное время. По моему после включения лучше систему приводить в исходное состояние и уже от этого плясать.

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

Помогите выстроить логику работы

#5

Сообщение Labu559 » 25.09.2018{, 10:47}

Scorp1978, попробуйте
вместо Вашего проблемного куска вставить.Показать
Go2StartPos.flp
(115.63 КБ) 69 скачиваний
Многие сталкиваются с подобными вопросами, может пригодится такое решение. Думаю, описания в проекте и в Пользовательском Блоке RetutnToStartPosition достаточно для понимания концепции (аналогичная в 4 сообщением этой темы, автор- ув. Nik108), или подобный вопрос обсуждался здесь начиная с 30-о сообщения, но... :)
Удачи!
Последний раз редактировалось Labu559 29.09.2018{, 00:51}, всего редактировалось 3 раза.

Scorp1978
Рядовой
Сообщения: 24
Зарегистрирован: 19.05.2017{, 13:06}
Репутация: 0

Помогите выстроить логику работы

#6

Сообщение Scorp1978 » 25.09.2018{, 10:54}

Прошу прощение, что начал плодить темы, но как мне показалось отдельный вопрос отельная тема, но на будущее учту и с правилами ознакомлюсь!!!
т.е. в целом система работает нормально все открывается и закрывается при температурах указанных в переменных "Темп_возд_внут_низ" и "Темп_возд_внут_верх" делает паузы при открытиях/закрытиях "Пауза_фрамуга" и если температура не изменилась открывает/закрывает далее "Откр_фрамуга" и так пока при закрытии фрамуга не достигнет концевика, а при открытии общее время открытие (считает счетчик не достигнет ) не достигнет значения указанного в переменной "Общее время открытия фрамуги". К примеру я знаю что фрамуги открываются полность за 300 секунд, вот и считаю общее время открытие должно составить 300 секунд. Температура к примеру достигла верхнего предела ну пусть будет к примеру 27 гр. фрамуга начала движение на открытие 10 секунд затем остановилась на 60 секунд затем измерила температуру если температура не упала то двигаемся дальше еще 10 секунд и так далее пока не упадет температура или не достигнем 300 секунд общего времени открытия фрамуги. ну и при закрытии такой же принцип только там если счетчик общего времени обнулился а концевик разомкнут то программа дотягивает фрамугу до срабатывания концевика и обнуляет счетчик так сказать самоцентровка.
Это общий принцип работы, сейчас начинаю прикручивать разного рода проверки например на отключение э/энергии.
Ну вот три варианта всплыли
- EEPROM не изучал еще надо помозговать
- По поводу при включении всегда дотягивать фрамугу до концевика а потом работать. Это то же самое что я и пытаюсь сейчас сделать
- По поводу вместо ТТ триггера используйте И. Дело в том что при изменении переменной "Фрамуга_ноль" на истину перестанет поступать сигнал на элемент И который Вы предлагаете и опять изменит состояние "Фрамуга_ноль" будут короткие быстрые щелчки пробовал.

Аватара пользователя
Nik108
Рядовой
Сообщения: 15
Зарегистрирован: 11.09.2018{, 20:11}
Репутация: -1
Имя: Николай

Помогите выстроить логику работы

#7

Сообщение Nik108 » 25.09.2018{, 11:09}

Я думаю, что вам надо поставить еще один концевик на полное открытие. Тогда совсем не важно в каком положении вы включили схему - вы будете отталкиваться только от текущей температуры и ваших её установок. Температура выше нормы - команда на снижение, ниже - на повышение. Ведь может случиться так, что при максимально открытой фрамуге у вас температура все равно не в рамках. Два концевика решат и упростят всю логику.

Scorp1978
Рядовой
Сообщения: 24
Зарегистрирован: 19.05.2017{, 13:06}
Репутация: 0

Помогите выстроить логику работы

#8

Сообщение Scorp1978 » 25.09.2018{, 11:49}

Извините друзья но так вышло что по обеи стороны концевик не поставить, это тянет за собой массу проблем не совместимых с .... материальными затратами. Очень понравился вариант вот в этом сообщении viewtopic.php?p=54352#p54352 с настройкой платы "выполнение по условию и выполнять пока" как бы провернуть условие что подавать на пин 39 высокий, пока ПИН 43 не станет низкий и если условие выполнено то проходим мимо и больше сюда не возвращаемся до перезагрузки контроллера

Отправлено спустя 16 минут 10 секунд:
Вот набросал гляньте правильно или нет. В железе пока непроверял
Вложения
Проблема1.png

Аватара пользователя
Cancertanly
Сержант
Сообщения: 214
Зарегистрирован: 06.04.2016{, 19:59}
Репутация: 20
Откуда: bish
Имя: Антон

Помогите выстроить логику работы

#9

Сообщение Cancertanly » 25.09.2018{, 13:33}

Тру через ртригер сделайте

Отправлено спустя 39 секунд:
Иначе на фрамуге постоянно 1 будет
FLProg_ru
https://t.me/flrog_ru ...................................................FLProg_v7.3.4
https://t.me/soft_duino

Scorp1978
Рядовой
Сообщения: 24
Зарегистрирован: 19.05.2017{, 13:06}
Репутация: 0

Помогите выстроить логику работы

#10

Сообщение Scorp1978 » 27.09.2018{, 16:40}

Вот таким образом все заработало.
ТЕМА ЗАКРЫТА
Вложения
Безымянный.png
Безымянный.png (11.3 КБ) 548 просмотров

Ответить

Вернуться в «Начинающим»