![]() |
![]() ![]() |
![]() |
#1 |
Member
Регистрация: Jun 2019
Адрес: Новосибирск
Сообщения: 76
Благодарил(а): 1 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
![]()
И снова приветствую форумчан ))
Не уверен, что тема должна быть здесь, а не в разделе SMLogix, однако она SMArt тоже касается. В работе над проектом в Trim5 столкнулся со странностью! В проекте есть главный экран, и несколько других. Два из них вызываются из главного через UI-переменные. Механизм вызова такой: при тычке пальцем на активном элементе экрана вызывается всплывающее меню с двумя пунктами. По выбору одного из них генерируется импульс единичной длительности на соответствующей UI-переменной, и вызывается привязанный к ней экран (см. картинку). Эта конструкция была создана ещё на ранних этапах разработки, и отлично работала. Но сегодня она сломалась. Менюшка работает, обе переменные функционируют, проверено. И вообще, я в этой части ничего не менял. Однако ни тот, ни другой экран не вызываются. Полез на форум, и вспомнил, что вопрос UI-переменных уже поднимал как-то раз (ветка изначально по другой теме, но разговор перешёл на эту): https://forum.segnetics.com/showpost...9&postcount=13. Тогда мы выяснили, что управление активностью экрана осуществляется уровнем, а не фронтом UI-переменной. Но я, напрочь забыв об этом, запилил управление фронтом, и оно работало больше месяца. А сейчас вдруг перестало... Напрашивается вывод, что что всё это время проект работал неправильно, то есть - это баг? |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Регистрация: Dec 2018
Адрес: Tomsk
Сообщения: 431
Благодарил(а): 10 раз(а)
Поблагодарили:
4 раз(а) в 4 сообщениях
|
![]() Цитата:
Единственное были какие то странности при первой прошивке с этими UI-переменными. По началу ничего не работало (не было переходов в экраны), но потом когда просто зашел еще раз в SMart и заново прошил контроллер тогда вроде все заработало. |
|
![]() |
![]() |
![]() |
#3 |
Member
Регистрация: Jun 2019
Адрес: Новосибирск
Сообщения: 76
Благодарил(а): 1 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
![]()
Провел эксперимент, ввёл управление уровнем (см. пикчу).
Всё работает. Почему работало до этого? |
![]() |
![]() |
![]() |
#4 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 162
Благодарил(а): 240 раз(а)
Поблагодарили:
165 раз(а) в 157 сообщениях
|
![]()
ну все всегда работало по фронту, если вдруг перестало работать то это вопросы к смарту и лоджику. оно периодически глючит, не спроста сгентики плюнули на развитие смарта. там куча косяков начиная с ограничения в разрядности и т.д.
|
![]() |
![]() |
![]() |
#5 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 101
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
![]()
Импульс требуется длиной более 3 циклов. При этом на малых программах часто достаточно 1-2 циклов. Банальное везение.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#6 |
Member
Регистрация: Jun 2019
Адрес: Новосибирск
Сообщения: 76
Благодарил(а): 1 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
![]()
Ааааа, ну теперь понятно ))
Очевидно, проект дорос до размера, когда одного цикла стало не хватать. Что любопытно, перед тем, всё это хозяйство упало, я ничего не добавлял, а только подвинул один блок на противоположном конце поляны. |
![]() |
![]() |
![]() |
#7 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 784
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#8 |
Сотрудник Сегнетикс
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 332
Благодарил(а): 0 раз(а)
Поблагодарили:
255 раз(а) в 251 сообщениях
|
![]()
Тогда добавлю свою лепту к вопросу о перемещении блоков.
https://dl.segnetics.com/WebHelp/SML...ase_needle.htm |
![]() |
![]() |
![]() |
#9 | |
Member
Регистрация: Jun 2019
Адрес: Новосибирск
Сообщения: 76
Благодарил(а): 1 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
![]()
Не, не пожелтела ))
Да и вообще, эт никак не связаный блок был. Добавлено через 16 минут Цитата:
Что касается последовательности выполнения и синхронизации, то по этим темам у меня вопросов нет )). Здесь мне всё предельно понятно и не ново. Перемещение того блока совершенно точно ничего не изменило функционально (хоть в том куске проекта, сугубо локально порядок выполнения изменился). Добавлено через 33 минуты Я думал, что решил проблему, но она меня по-прежнему уделывает. Краткое содержание предыдущих серий: 0. Управлял входом в экраны фронтами UI-переменных. 1. Управление работало-работало и вдруг на ровном месте сломалось. 2. Выяснили, что фронт UI-переменной может потеряться, если импульс слишком короткий, а проект слишком большой. 3. Ввёл управление уровнями, то есть UI-переменная сбрасывается только по выходу из экрана (картинка в посте #3). 4. Всё заработало, но ненадолго. Внезапно опять перестали вызываться экраны, и снова без видимой причины. UI-переменная устанавливается, но экран не вызывается. Вторая устанавливается - такой же результат. Так и стоят обе бедненькие, и как мне попасть в мои экраны - непонятно. Схему переходов в SMArte проверил - на месте, никуда не делась. Такие дела. Шо делать, товарищи? Неужели отказываться от UI-переменных?? тогда как жить... |
|
![]() |
![]() |
![]() |
#10 | ||
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 101
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
![]() Цитата:
Цитата:
![]() __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
||
![]() |
![]() |
![]() |
#11 |
Member
Регистрация: Jun 2019
Адрес: Новосибирск
Сообщения: 76
Благодарил(а): 1 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
![]() |
![]() |
![]() |
![]() |
#12 |
Senior Member
Регистрация: Dec 2018
Адрес: Tomsk
Сообщения: 431
Благодарил(а): 10 раз(а)
Поблагодарили:
4 раз(а) в 4 сообщениях
|
![]()
Подскажите как проще (нересурсоемко) всего сделать так чтобы дискретный сигнал жил 3 цикла?
Сигнал на входе есть импульс, его жизнь - один тик. |
![]() |
![]() |
![]() |
#13 |
Сотрудник Сегнетикс
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 332
Благодарил(а): 0 раз(а)
Поблагодарили:
255 раз(а) в 251 сообщениях
|
![]()
Вырезка из макроса front_extract, я вас правильно понял?
|
![]() |
![]() |
![]() |
#14 |
Senior Member
Регистрация: Dec 2018
Адрес: Tomsk
Сообщения: 431
Благодарил(а): 10 раз(а)
Поблагодарили:
4 раз(а) в 4 сообщениях
|
![]() |
![]() |
![]() |