FLProg
Вход на сайт
Логин:
Пароль:
Поиск
...
Статистика
Суббота, 23.09.2017, 08:37
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 2 из 2«12
Модератор форума: support, Сергей 
Форум » Основной » Спросить у знатоков » Выполнение кода платы по условию
Выполнение кода платы по условию
vovka1973 Дата: Четверг, 11.05.2017, 12:35 | Сообщение # 16
Майор
Группа: Проверенные
Сообщений: 196
Награды: 0
Репутация: 0
Статус: Offline
Цитата pan ()
вероятно изменить значение

В том то и дело что при смене переменной ничего не меняется ,может автор по другому как то это сделал


 
pan Дата: Четверг, 11.05.2017, 12:45 | Сообщение # 17
Генерал-лейтенант
Группа: Проверенные
Сообщений: 803
Награды: 37
Репутация: 33
Статус: Offline
я не пользовался данной фишкой  да и проверить не могу сейчас. а переменная меняется в каком месте? может ее нужно изменять именно в этой плате (которая в цикле по условию)
 
support Дата: Четверг, 11.05.2017, 12:56 | Сообщение # 18
Автор программы
Группа: Администраторы
Сообщений: 874
Награды: 41
Репутация: 26
Статус: Offline
Цитата pan ()
я не пользовался данной фишкой да и проверить не могу сейчас. а переменная меняется в каком месте? может ее нужно изменять именно в этой плате (которая в цикле по условию)
Совершенно правильно, изменять переменную которую установили в качестве условия для цикла платы необходимо именно на этой плате (ведь Вы крутитесь внутри неё  пока выполняется условие и остальной код не исполняется).


Разработчик программы FLProg
 
vovka1973 Дата: Четверг, 11.05.2017, 12:57 | Сообщение # 19
Майор
Группа: Проверенные
Сообщений: 196
Награды: 0
Репутация: 0
Статус: Offline
Пробовал так делать ,все равно из цикла не выходит при смене переменой к которой привящан ,но входит в цикл шикарно, ещё раз попробую, но теперь по вашим словам в плате ,он в цикл не уходит он не видит что переменная сменилась, что то запутался.



Сообщение отредактировал vovka1973 - Четверг, 11.05.2017, 13:04
 
support Дата: Четверг, 11.05.2017, 12:58 | Сообщение # 20
Автор программы
Группа: Администраторы
Сообщений: 874
Награды: 41
Репутация: 26
Статус: Offline
Проектик можно увидеть?

Разработчик программы FLProg
 
vovka1973 Дата: Четверг, 11.05.2017, 13:11 | Сообщение # 21
Майор
Группа: Проверенные
Сообщений: 196
Награды: 0
Репутация: 0
Статус: Offline
Цитата support ()
Проектик можно увидеть?

Я с телефона на компе нет интернета,пока так у меня продублировал смену переменной вне платы и внутри платы так работает.
Так .получается в не платы надо переменную менять чтобы в цикл вошел ,а из платы с циклом менять переменную что бы выйти ,фух вроде разобрался.




Сообщение отредактировал vovka1973 - Четверг, 11.05.2017, 15:51
 
DrMario Дата: Пятница, 12.05.2017, 11:02 | Сообщение # 22
Сержант
Группа: Проверенные
Сообщений: 48
Награды: 0
Репутация: 0
Статус: Offline
Цитата vovka1973 ()
Это если выбрал выполнение по условию ,а если выбрать выполнять в цикле пока -как потом выйти из этого цикла уже голову сломал
Посмотрите повнимательнее мой пример.
Изначально работает программа первой платы, с которой можно включать другие фрагменты (платы).
Если на первой плате на вход Sel подать 2, то будет выполнятся фрагмент кода третьей платы (Режим 2), а плата 2 (Режим 1) будет бездействовать. Все это буде выполнятся, пока переменная Режим 2 не станет false. Точнее когда на вход En переменной Режим 2 не поступит уровень лог. 1.
Для примера я поставил таймер на 20 сек. в данном примере. Уже в самой плате Режим 2 можно по команде или как в примере отключать выполнение кода. После отключения будет снова исполнятся только плата 1.


Сообщение отредактировал DrMario - Пятница, 12.05.2017, 11:06
 
CraCk Дата: Вторник, 13.06.2017, 23:49 | Сообщение # 23
Подполковник
Группа: Проверенные
Сообщений: 292
Награды: 2
Репутация: 3
Статус: Offline
В первые решил использовать функцию Выполнение по условию. Но безрезультатно. Если на плате 2 не использую условия то все работает. Отладочный пин13 моргает при приеме данных. А если включить по условию тогда пин13 все время горит.

Добавлено (13.06.2017, 23:49)
---------------------------------------------
Понимаю что виной есть пол.блок. Но все же как решить проблему?

Прикрепления: server_mod_13.0.flp(1397Kb)
 
pan Дата: Среда, 14.06.2017, 00:10 | Сообщение # 24
Генерал-лейтенант
Группа: Проверенные
Сообщений: 803
Награды: 37
Репутация: 33
Статус: Offline
в описании блока сказано:
- new_reception_data - импульс сигнализирующий о приеме новых данных.
я так понимаю импульс длится один цикл.
следовательно плата номер 2 выполняется 1 цикл влючив светодиод и больше не выключает его.
хотя по идее при id =3 она тоже должна обрабатываться и тушить его.
могу ошибаться.

выведите переменные sender_id и new_data_from_ID2 в ком порт и гляньте чё там.


Сообщение отредактировал pan - Среда, 14.06.2017, 00:10
 
Oleg_UA Дата: Среда, 14.06.2017, 00:32 | Сообщение # 25
Лейтенант
Группа: Проверенные
Сообщений: 83
Награды: 4
Репутация: 3
Статус: Offline
Цитата CraCk ()
А если включить по условию тогда пин13 все время горит.
Добавьте плату перед второй для сброса значений на следующем цикле

Или добавьте плату с инверсным условием
new_reception_data не равно

можно без условия сделать или прямо в ПБ выходы добавить
Прикрепления: 2793727.jpg(45Kb) · 8508587.flp(1404Kb) · server_mod_13.1.flp(1393Kb)


Сообщение отредактировал Oleg_UA - Среда, 14.06.2017, 02:40
 
CraCk Дата: Среда, 14.06.2017, 22:27 | Сообщение # 26
Подполковник
Группа: Проверенные
Сообщений: 292
Награды: 2
Репутация: 3
Статус: Offline
Цитата Oleg_UA ()
Добавьте плату перед второй для сброса значений на следующем цикле
Добавил, заработало. Думаю на этом варианте и остановлюсь. Другие варианты без условия будет нагружать контролер при добавление новых клиентов.  БП большой получится.
Цитата Oleg_UA ()
Или добавьте плату с инверсным условиемnew_reception_data не равно

Тоже работает но код большой получится.
Только почему все так извращенно получается? Из за одного импульса в цикле?
 
pan Дата: Среда, 14.06.2017, 22:49 | Сообщение # 27
Генерал-лейтенант
Группа: Проверенные
Сообщений: 803
Награды: 37
Репутация: 33
Статус: Offline
потому что плата 1 цикл только обрабатывается. потом в ней ни чего не происходит

Сообщение отредактировал pan - Среда, 14.06.2017, 22:56
 
Oleg_UA Дата: Среда, 14.06.2017, 23:28 | Сообщение # 28
Лейтенант
Группа: Проверенные
Сообщений: 83
Награды: 4
Репутация: 3
Статус: Offline
Цитата CraCk ()
Тоже работает но код большой получится.
Если править БП то эта операция займёт всего две строчки кода и один выход для каждого клиента, да и переменных меньше будет.

Если Вы не знакомы с Си, попробуйте вариант с изменённым блоком что выложил выше Проект, подойдёт такое решение - опишу где что нужно будет добавить.
 
sser Дата: Четверг, 15.06.2017, 14:17 | Сообщение # 29
Подполковник
Группа: Проверенные
Сообщений: 260
Награды: 6
Репутация: 4
Статус: Offline
Тоже пробовал платы включать по условию , - результат не обрадовал .все равно какая то часть платы работает , а какая то нет , а в некотором случае плата полностью работает , так и не разобрсвшись бросил эту затею и сделал условие по другому ....

 
Форум » Основной » Спросить у знатоков » Выполнение кода платы по условию
Страница 2 из 2«12
Поиск:

FLProg © 2017
Яндекс.Метрика