Как отключать платы не на взвешенном состоянии

Alex1968
Сержант
Сообщения: 173
Зарегистрирован: 11.12.2019{, 14:51}
Репутация: 0
Имя: Alex

Как отключать платы не на взвешенном состоянии

#1

Сообщение Alex1968 » 31.08.2020{, 18:05}

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

Вторая плата, включается как раз при том когда переменная при счёте вперёд стала единицей, в условиях платы поставил ЕСЛИ ПЕРЕМЕННАЯ "БОЛЬШЕ" РАВНА TRUE, ТО ВЫПОЛНЯТЬ

Также на третьей плате, ЕСЛИ ПЕРЕМЕННАЯ "МЕНЬШЕ" РАВНА TRUE, ТО ВЫПОЛНЯТЬ

То есть идея понятна? При достижении верхнего предела счётчика первой платы, работает вторая плата, а при достижении нижнего предела работает третья плата, а вторая выключена.

Всё бы ничего, но платы 2 и 3 могут выключится в неопределённом состоянии, например поместил на эти платы 2 и 3 по моргающему светодиоду, при выключении платы он может остаться во включённом состоянии, а может и в выключенном, смотря когда выключилась плата, пока он горел или пока он был погасший....

Потом ради эксперимента поставил дисплей один на плату 2 и написал что типа РАБОТАЕТ ПЛАТА 2....и другой дисплей на плату 3 и на нём вывел надпись РАБОТАЕТ ПЛАТА ТРИ....

В итоге билиберда, строчки РАБОТАЕТ ПЛАТА 2 и РАБОТАЕТ ПЛАТА ТРИ налезают друг на друга.


Как реализовать мою затею ? Есть какие то решения?

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Как отключать платы не на взвешенном состоянии

#2

Сообщение Ingwar » 31.08.2020{, 18:44}

Alex1968 писал(а):
31.08.2020{, 18:05}
Есть какие то решения?
Использую переменные с разрешением записи.
Данные/состояние используемые в платах по условию (если они могут понадобятся в других платах), записываю через "посредника". Всегда можно перезаписать.
СпойлерПоказать
Безымянный.png
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Alex1968
Сержант
Сообщения: 173
Зарегистрирован: 11.12.2019{, 14:51}
Репутация: 0
Имя: Alex

Как отключать платы не на взвешенном состоянии

#3

Сообщение Alex1968 » 31.08.2020{, 19:05}

Ingwar,

а как это можно тут применить ?
789.jpg

dsfbuy
Сержант
Сообщения: 171
Зарегистрирован: 03.11.2018{, 12:40}
Репутация: 21
Откуда: Братск
Имя: Виктор

Как отключать платы не на взвешенном состоянии

#4

Сообщение dsfbuy » 31.08.2020{, 21:14}

Alex1968, можно так сделать
СпойлерПоказать
Без имени1.png

Alex1968
Сержант
Сообщения: 173
Зарегистрирован: 11.12.2019{, 14:51}
Репутация: 0
Имя: Alex

Как отключать платы не на взвешенном состоянии

#5

Сообщение Alex1968 » 31.08.2020{, 21:25}

dsfbuy писал(а):
31.08.2020{, 21:14}
Alex1968, можно так сделать
СпойлерПоказать
Без имени1.png
для чего мне фейковые два лишних светодиода ? Мне нужно чтоб платы корректно отрабатывали до выключения....А если вместо светодиодов будут вентили открывающие воду или газ? То при после того как переменная БОЛЬШЕ или переменная МЕНЬШЕ СТАНЕТ falce вентили останутся в непонятном состоянии, полуоткрытом или полузакрытом.

Alex1968
Сержант
Сообщения: 173
Зарегистрирован: 11.12.2019{, 14:51}
Репутация: 0
Имя: Alex

Как отключать платы не на взвешенном состоянии

#6

Сообщение Alex1968 » 31.08.2020{, 21:48}

av писал(а):
31.08.2020{, 21:41}
Alex1968 писал(а):
31.08.2020{, 18:05}
Вторая плата, включается как раз при том когда переменная при счёте вперёд стала единицей, в условиях платы поставил ЕСЛИ ПЕРЕМЕННАЯ "БОЛЬШЕ" РАВНА TRUE, ТО ВЫПОЛНЯТЬ

Также на третьей плате, ЕСЛИ ПЕРЕМЕННАЯ "МЕНЬШЕ" РАВНА TRUE, ТО ВЫПОЛНЯТЬ
Скорее всего билеберда получается из за использования генераторов для светодиодов. Когда срабатывает условие на отключение (любое хоть для второй хоть для третей платы) она уже не выполняется и генератор который был уже запущен условием на запуск был в положении на выходе "высокое", то есть 1. И теперь этот сигнал будет висеть до следующего запуска платы по условию. Вот как то так это работает. Вариант создавать доп.плату для контроля и управления отключения плат по условию.

Отправлено спустя 9 минут 39 секунд:
Такая же ситуация и с дисплеями. Допустим плата 2 выполняется на дисплей выводится текст. Далее плата отключается (не выполняется), но сигнал разрешающий вывод текста на дисплей никуда не делся он так же присутствует на входе En. Поэтому при запуске третей платы дисплей уже выводит в те же координаты другой текст который налегает на предидущий текст.

Отправлено спустя 2 минуты 36 секунд:
По этому и нужно использовать алгоритм который при отключении платы по условию сначала отключить генератор, дисплей или другой алгоритм, а уже потом отключать платы.
Да, скорей всего это так и есть. И как это решить даже не представляю :smile37:

Alex1968
Сержант
Сообщения: 173
Зарегистрирован: 11.12.2019{, 14:51}
Репутация: 0
Имя: Alex

Как отключать платы не на взвешенном состоянии

#7

Сообщение Alex1968 » 31.08.2020{, 21:56}

av писал(а):
31.08.2020{, 21:52}
Alex1968, все теми же переменными. Что будет у вас на управляемых платах ? Эта инфа нужна для определения алгоритма управления.
по три ПЗУ с записанными звуковыми семплами. Выходит так что отключившись, плата зависнет в промежуточном состоянии до следующего включения, а значит семпл проиграет не до конца, а при следующем включении будет проигрываться с середины или где он там остановился (((

Alex1968
Сержант
Сообщения: 173
Зарегистрирован: 11.12.2019{, 14:51}
Репутация: 0
Имя: Alex

Как отключать платы не на взвешенном состоянии

#8

Сообщение Alex1968 » 31.08.2020{, 22:06}

av писал(а):
31.08.2020{, 22:00}
Alex1968 писал(а):
31.08.2020{, 21:56}
Выходит так что отключившись, плата зависнет в промежуточном состоянии до следующего включения, а значит семпл проиграет не до конца, а при следующем включении будет проигрываться с середины или где он там остановился (((
так и есть. Нужно создать алгоритм который при выключении платы доиграет мелодию или тупо выключит проигрывание, а уже потом отключать плату (что то типа обратной связи с выключаемыми платами).
выходит замкнутый круг....Этими платами 2 и 3 управляет уже первая плата с переменными БОЛЬШЕ и МЕНЬШЕ, как же мне на эти переменные повлиять, если они сами являются упраляющими?

Alex1968
Сержант
Сообщения: 173
Зарегистрирован: 11.12.2019{, 14:51}
Репутация: 0
Имя: Alex

Как отключать платы не на взвешенном состоянии

#9

Сообщение Alex1968 » 31.08.2020{, 22:20}

av писал(а):
31.08.2020{, 22:14}
Alex1968 писал(а):
31.08.2020{, 22:06}
выходит замкнутый круг....Этими платами 2 и 3 управляет уже первая плата с переменными БОЛЬШЕ и МЕНЬШЕ, как же мне на эти переменные повлиять, если они сами являются упраляющими?
Так устроено выполнение по условию и никуда не денешься. Выполнение кода останавливается(не выполняется), но переменные и константы связанные с кодом этой платы не обнуляются и не удаляются они остаются в памяти и используются при дальнейшем запуске платы. Это как с счетчиком который считает до его остановки. Остановили и в нужное вам время включили опять.
а как работает в плате функция ВЫПОЛНЯТЬ В ЦИКЛЕ ПОКА....ПЕРЕМЕННАЯ ПО УСЛОВИЮ.... ?

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Как отключать платы не на взвешенном состоянии

#10

Сообщение Ingwar » 31.08.2020{, 23:05}

Alex1968 писал(а):
31.08.2020{, 21:25}
вентили останутся в непонятном состоянии, полуоткрытом или полузакрытом.
Alex1968 писал(а):
31.08.2020{, 21:56}
а значит семпл проиграет не до конца
В том случае придется вводить обратную связь, добавив ее в условие отключения платы. На крайний случай это может быть временная задержка, период которой гарантированно закончит выполняемое действие.

Отправлено спустя 45 минут 20 секунд:
Alex1968 писал(а):
31.08.2020{, 19:05}
а как это можно тут применить ?
На скорую засыпающую руку... Не проверял, возможно бред.
Предполагалось - не включится одна, пока 1 на выходе другой и выключится она только если на ее выходе 0.
Сорян, уже сплю :smile44:
СпойлерПоказать
Безымянный.png
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

SSSergeich
Капитан
Сообщения: 708
Зарегистрирован: 06.02.2016{, 11:01}
Репутация: 37
Откуда: Ярославль
Имя: Сергей

Как отключать платы не на взвешенном состоянии

#11

Сообщение SSSergeich » 01.09.2020{, 00:15}

Alex1968 писал(а):
31.08.2020{, 18:05}
То есть идея понятна?
Пока не очень
Alex1968 писал(а):
31.08.2020{, 18:05}
Всё бы ничего, но платы 2 и 3 могут выключится в неопределённом состоянии, например поместил на эти платы 2 и 3 по моргающему светодиоду, при выключении платы он может остаться во включённом состоянии, а может и в выключенном, смотря когда выключилась плата, пока он горел или пока он был погасший....
Так Вы пропишите, в каких состояниях они должны находиться
например
СпойлерПоказать
al2.PNG
Отправлено спустя 8 минут 26 секунд:
Alex1968 писал(а):
31.08.2020{, 21:56}
по три ПЗУ с записанными звуковыми семплами. Выходит так что отключившись, плата зависнет в промежуточном состоянии до следующего включения, а значит семпл проиграет не до конца, а при следующем включении будет проигрываться с середины или где он там остановился (((
Вернуться к началу
av писал(а):
31.08.2020{, 22:00}
так и есть. Нужно создать алгоритм который при выключении платы доиграет мелодию или тупо выключит проигрывание, а уже потом отключать плату (что то типа обратной связи с выключаемыми платами).
Зная временую длинну сэмпла при прогрывании включаем таймер задержки, который отсрочивает изменение переменной

Alex1968
Сержант
Сообщения: 173
Зарегистрирован: 11.12.2019{, 14:51}
Репутация: 0
Имя: Alex

Как отключать платы не на взвешенном состоянии

#12

Сообщение Alex1968 » 01.09.2020{, 00:24}

SSSergeich писал(а):
01.09.2020{, 00:15}
Alex1968 писал(а):
31.08.2020{, 18:05}
То есть идея понятна?
Пока не очень
Alex1968 писал(а):
31.08.2020{, 18:05}
Всё бы ничего, но платы 2 и 3 могут выключится в неопределённом состоянии, например поместил на эти платы 2 и 3 по моргающему светодиоду, при выключении платы он может остаться во включённом состоянии, а может и в выключенном, смотря когда выключилась плата, пока он горел или пока он был погасший....
Так Вы пропишите, в каких состояниях они должны находиться
например
СпойлерПоказать
al2.PNG
можете это то что на картинке проектом flprog выложить ? Чтоб посмотреть параметры и настройки ?

SSSergeich
Капитан
Сообщения: 708
Зарегистрирован: 06.02.2016{, 11:01}
Репутация: 37
Откуда: Ярославль
Имя: Сергей

Как отключать платы не на взвешенном состоянии

#13

Сообщение SSSergeich » 01.09.2020{, 00:46}

Alex1968, да это ж как просто попытка понять..
alex68.flp
(75.12 КБ) 24 скачивания
Отправлено спустя 1 минуту 24 секунды:
без настроек генераторов и счетчиков

Alex1968
Сержант
Сообщения: 173
Зарегистрирован: 11.12.2019{, 14:51}
Репутация: 0
Имя: Alex

Как отключать платы не на взвешенном состоянии

#14

Сообщение Alex1968 » 01.09.2020{, 11:39}

av писал(а):
01.09.2020{, 10:12}
Alex1968, есть ли в блоках проигрывающих семплы выход окончания проигрывания семпла ? Если есть тогда проще будет контролить отключение плат по условию. И если честно надоело гадать на кофейной гуще. Создайте проект с теми блоками которые будут участвовать в проекте, а уже исходя из проекта будет видно как лучше организовать алгоритм отключения плат всем помогающим форумчанам.
так проект наполовину в голове пока. Пока тренируюсь на кошках, тьфу то есть на простейших генераторах и дисплеях на платах 2 и 3....Первая плата тупо считает вперёд или назад, и при достижении указанных пределов, что вниз что вверх, останавливает счёт и выдаёт единицу на выход >L или <L....вот этими сигналами включается или плата 2 или плата 3. Но сигналы >L или <L могут в любой момент поменяться или переключиться..И платы остаются в том виде в каком были в момент переключения сигналов >L или <L

Для примера...На плате 2 дисплей и на нём на первой строке надпись РАБОТАЕТ ПЛАТА №2, которая выводится при единице на выходе >L счётчика который на первой плате и когда плата 2 включается по тому условию.

На плате 3 тот же дисплей, и на нём на первой строке надпись РАБОТАЕТ ПЛАТА №3, которая выводится при единице на выходе <L счётчика который на первой плате и когда плата 3 включается по тому условию.

В итоге что получается на первой плате если стало больше то появился сигнал на выходе >L он включил плату №2 и она на дисплее надпись говорит что типа я включена. На первой плате на счётчике стало меньше то появился сигнал <L который включил плату №3 и на дисплее надпись что работает плата №3....У меня даже такой простейший пример пока не получается реализовать. Обе надписи смешиваются на дисплее на первой строке.

Очевидно, что пока работает платы 2 и 3 должны работать поочерёдно. Если включилась плата 2 то она на должна давать возможность в это время работать плате 3...и наоборот.

Если это получится, то и с семплами решу проблему.

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Как отключать платы не на взвешенном состоянии

#15

Сообщение Ingwar » 01.09.2020{, 12:40}

Alex1968 писал(а):
01.09.2020{, 11:39}
Если это получится,
Т.е. так не работает?
СпойлерПоказать
Безымянный.png
Безымянный.png (11.72 КБ) 469 просмотров
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Alex1968
Сержант
Сообщения: 173
Зарегистрирован: 11.12.2019{, 14:51}
Репутация: 0
Имя: Alex

Как отключать платы не на взвешенном состоянии

#16

Сообщение Alex1968 » 01.09.2020{, 12:48}

Ingwar писал(а):
01.09.2020{, 12:40}
Alex1968 писал(а):
01.09.2020{, 11:39}
Если это получится,
Т.е. так не работает?
СпойлерПоказать
Безымянный.png
Нет, так не работает, после переключения между платами 2 и 3 на дисплее остаётся надпись от предыдущей включённой платы, короче каша получается. И да, на первой плате кроме счётчика ничего больше быть не должно.

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Как отключать платы не на взвешенном состоянии

#17

Сообщение Ingwar » 01.09.2020{, 12:53}

Alex1968 писал(а):
01.09.2020{, 12:48}
И да, на первой плате кроме счётчика ничего больше быть не должно.
Т. е. Вы не попробовали?
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Alex1968
Сержант
Сообщения: 173
Зарегистрирован: 11.12.2019{, 14:51}
Репутация: 0
Имя: Alex

Как отключать платы не на взвешенном состоянии

#18

Сообщение Alex1968 » 01.09.2020{, 13:08}

Alex1968 писал(а):
31.08.2020{, 18:05}

Всё бы ничего, но платы 2 и 3 могут выключится в неопределённом состоянии, например поместил на эти платы 2 и 3 по моргающему светодиоду, при выключении платы он может остаться во включённом состоянии, а может и в выключенном, смотря когда выключилась плата, пока он горел или пока он был погасший....

Потом ради эксперимента поставил дисплей один на плату 2 и написал что типа РАБОТАЕТ ПЛАТА 2....и другой дисплей на плату 3 и на нём вывел надпись РАБОТАЕТ ПЛАТА ТРИ....

В итоге билиберда, строчки РАБОТАЕТ ПЛАТА 2 и РАБОТАЕТ ПЛАТА ТРИ налезают друг на друга.

SSSergeich
Капитан
Сообщения: 708
Зарегистрирован: 06.02.2016{, 11:01}
Репутация: 37
Откуда: Ярославль
Имя: Сергей

Как отключать платы не на взвешенном состоянии

#19

Сообщение SSSergeich » 01.09.2020{, 13:08}

Alex1968, Вы мой пример попробовали?

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Как отключать платы не на взвешенном состоянии

#20

Сообщение Ingwar » 01.09.2020{, 13:10}

Вот специально заморочился и собрал макетку. Вместо счетчика использовал показания с аналогового входа. Все работает штатно - строки на дисплее меняются не накладываясь друг на друга. Если есть сомнения, скину видео.

Отправлено спустя 4 минуты 3 секунды:
Складывается впечатления, что ТС выслушивает предложения, а потом
Alex1968 писал(а):
01.09.2020{, 11:39}
так проект наполовину в голове пока
"прокручивая" в голове, дает заключение...
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Ответить

Вернуться в «Помогите, а то я "нимагу"»