Показать сообщение отдельно
Старый 14.07.2019, 21:33   #2
RomanIst
Senior Member
 
Регистрация: Dec 2018
Адрес: Tomsk
Сообщения: 431
Благодарил(а): 10 раз(а)
Поблагодарили: 4 раз(а) в 4 сообщениях
По умолчанию Ответ: Управление экранами из FBD

Цитата:
Сообщение от MadKid Посмотреть сообщение
И снова приветствую форумчан ))

Не уверен, что тема должна быть здесь, а не в разделе SMLogix, однако она SMArt тоже касается.

В работе над проектом в Trim5 столкнулся со странностью!

В проекте есть главный экран, и несколько других. Два из них вызываются из главного через UI-переменные. Механизм вызова такой: при тычке пальцем на активном элементе экрана вызывается всплывающее меню с двумя пунктами. По выбору одного из них генерируется импульс единичной длительности на соответствующей UI-переменной, и вызывается привязанный к ней экран (см. картинку). Эта конструкция была создана ещё на ранних этапах разработки, и отлично работала.

Но сегодня она сломалась. Менюшка работает, обе переменные функционируют, проверено. И вообще, я в этой части ничего не менял. Однако ни тот, ни другой экран не вызываются.

Полез на форум, и вспомнил, что вопрос UI-переменных уже поднимал как-то раз (ветка изначально по другой теме, но разговор перешёл на эту): https://forum.segnetics.com/showpost...9&postcount=13. Тогда мы выяснили, что управление активностью экрана осуществляется уровнем, а не фронтом UI-переменной. Но я, напрочь забыв об этом, запилил управление фронтом, и оно работало больше месяца. А сейчас вдруг перестало...

Напрашивается вывод, что что всё это время проект работал неправильно, то есть - это баг?
У меня сделано примерно аналогично и все работает. Правда не проводились долгосрочные испытания как у вас.
Единственное были какие то странности при первой прошивке с этими UI-переменными. По началу ничего не работало (не было переходов в экраны), но потом когда просто зашел еще раз в SMart и заново прошил контроллер тогда вроде все заработало.
Изображения
Тип файла: png scrin1.png (38.0 Кбайт, 134 просмотров)
RomanIst вне форума   Ответить с цитированием