Segnetics

Вернуться   Segnetics > Форум Segnetics > SMLogix > SMArt

SMArt Разработка интерфейсов пользователя

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.07.2019, 20:42   #1
MadKid
Member
 
Регистрация: Jun 2019
Адрес: Новосибирск
Сообщения: 76
Благодарил(а): 1 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Управление экранами из FBD

И снова приветствую форумчан ))

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

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

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

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

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

Напрашивается вывод, что что всё это время проект работал неправильно, то есть - это баг?
Миниатюры
Нажмите на картинку для увеличения

Название:  Схема вызова.PNG
Просмотров: 188
Размер:  27.3 Кбайт  
MadKid вне форума   Ответить с цитированием
Старый 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 и заново прошил контроллер тогда вроде все заработало.
Миниатюры
Нажмите на картинку для увеличения

Название:  scrin1.png
Просмотров: 134
Размер:  38.0 Кбайт  
RomanIst вне форума   Ответить с цитированием
Старый 14.07.2019, 21:38   #3
MadKid
Member
 
Регистрация: Jun 2019
Адрес: Новосибирск
Сообщения: 76
Благодарил(а): 1 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Управление экранами из FBD

Провел эксперимент, ввёл управление уровнем (см. пикчу).
Всё работает.

Почему работало до этого?
Миниатюры
Нажмите на картинку для увеличения

Название:  Схема вызова 2.PNG
Просмотров: 125
Размер:  30.8 Кбайт  
MadKid вне форума   Ответить с цитированием
Старый 14.07.2019, 21:57   #4
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 125
Благодарил(а): 239 раз(а)
Поблагодарили: 161 раз(а) в 153 сообщениях
По умолчанию Ответ: Управление экранами из FBD

ну все всегда работало по фронту, если вдруг перестало работать то это вопросы к смарту и лоджику. оно периодически глючит, не спроста сгентики плюнули на развитие смарта. там куча косяков начиная с ограничения в разрядности и т.д.


__________________
C уважением, LordN
LordN сейчас на форуме   Ответить с цитированием
Старый 15.07.2019, 10:48   #5
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Управление экранами из FBD

Цитата
Сообщение от MadKid Посмотреть сообщение
Провел эксперимент, ввёл управление уровнем (см. пикчу).
Всё работает.

Почему работало до этого?
Импульс требуется длиной более 3 циклов. При этом на малых программах часто достаточно 1-2 циклов. Банальное везение.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 15.07.2019, 12:40   #6
MadKid
Member
 
Регистрация: Jun 2019
Адрес: Новосибирск
Сообщения: 76
Благодарил(а): 1 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Управление экранами из FBD

Ааааа, ну теперь понятно ))

Очевидно, проект дорос до размера, когда одного цикла стало не хватать.
Что любопытно, перед тем, всё это хозяйство упало, я ничего не добавлял, а только подвинул один блок на противоположном конце поляны.
MadKid вне форума   Ответить с цитированием
Старый 16.07.2019, 10:52   #7
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 740
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Управление экранами из FBD

Цитата
Сообщение от MadKid Посмотреть сообщение
Что любопытно, перед тем, всё это хозяйство упало, я ничего не добавлял, а только подвинул один блок на противоположном конце поляны.
Вот тут проблема может и зарыта. Связь блока часом не пожелтела?
ATS вне форума   Ответить с цитированием
Старый 16.07.2019, 11:43   #8
Ilya J.
Сотрудник Сегнетикс
 
Аватара для Ilya J.
 
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 302
Благодарил(а): 0 раз(а)
Поблагодарили: 254 раз(а) в 250 сообщениях
По умолчанию Ответ: Управление экранами из FBD

Тогда добавлю свою лепту к вопросу о перемещении блоков.

https://dl.segnetics.com/WebHelp/SML...ase_needle.htm
Ilya J. сейчас на форуме   Ответить с цитированием
Старый 19.07.2019, 04:43   #9
MadKid
Member
 
Регистрация: Jun 2019
Адрес: Новосибирск
Сообщения: 76
Благодарил(а): 1 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Управление экранами из FBD

Цитата
Сообщение от ATS Посмотреть сообщение
Вот тут проблема может и зарыта. Связь блока часом не пожелтела?
Не, не пожелтела ))
Да и вообще, эт никак не связаный блок был.


Добавлено через 16 минут

Цитата:
Сообщение от Ilya J. Посмотреть сообщение
Тогда добавлю свою лепту к вопросу о перемещении блоков.

https://dl.segnetics.com/WebHelp/SML...ase_needle.htm
Спасибо.
Что касается последовательности выполнения и синхронизации, то по этим темам у меня вопросов нет )). Здесь мне всё предельно понятно и не ново. Перемещение того блока совершенно точно ничего не изменило функционально (хоть в том куске проекта, сугубо локально порядок выполнения изменился).


Добавлено через 33 минуты

Я думал, что решил проблему, но она меня по-прежнему уделывает.

Краткое содержание предыдущих серий:
0. Управлял входом в экраны фронтами UI-переменных.
1. Управление работало-работало и вдруг на ровном месте сломалось.
2. Выяснили, что фронт UI-переменной может потеряться, если импульс слишком короткий, а проект слишком большой.
3. Ввёл управление уровнями, то есть UI-переменная сбрасывается только по выходу из экрана (картинка в посте #3).
4. Всё заработало, но ненадолго. Внезапно опять перестали вызываться экраны, и снова без видимой причины. UI-переменная устанавливается, но экран не вызывается. Вторая устанавливается - такой же результат. Так и стоят обе бедненькие, и как мне попасть в мои экраны - непонятно.

Схему переходов в SMArte проверил - на месте, никуда не делась.
Такие дела. Шо делать, товарищи?
Неужели отказываться от UI-переменных?? тогда как жить...
MadKid вне форума   Ответить с цитированием
Старый 19.07.2019, 10:51   #10
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Управление экранами из FBD

Цитата
Сообщение от MadKid Посмотреть сообщение
4. Всё заработало, но ненадолго. Внезапно опять перестали вызываться экраны, и снова без видимой причины. UI-переменная устанавливается, но экран не вызывается. Вторая устанавливается - такой же результат. Так и стоят обе бедненькие, и как мне попасть в мои экраны - непонятно.
Перезапуск лоджика и загрузка проекта заново помогает?



Цитата
Сообщение от MadKid Посмотреть сообщение
Такие дела. Шо делать, товарищи?
Неужели отказываться от UI-переменных?? тогда как жить...
Отставить нытьё!


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 19.07.2019, 11:22   #11
MadKid
Member
 
Регистрация: Jun 2019
Адрес: Новосибирск
Сообщения: 76
Благодарил(а): 1 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Управление экранами из FBD

Цитата:
Сообщение от Arsie Посмотреть сообщение
Перезапуск лоджика и загрузка проекта заново помогает?

Отставить нытьё!
Спасибо.
Перезапустил комп, перезалил проект.
Заработало.

До этого несколько раз правил и перезаливал проект, а вот полный перезапуск всего сразу сделать не догадался ))

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

Подскажите как проще (нересурсоемко) всего сделать так чтобы дискретный сигнал жил 3 цикла?
Сигнал на входе есть импульс, его жизнь - один тик.
RomanIst вне форума   Ответить с цитированием
Старый 25.07.2019, 14:09   #13
Ilya J.
Сотрудник Сегнетикс
 
Аватара для Ilya J.
 
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 302
Благодарил(а): 0 раз(а)
Поблагодарили: 254 раз(а) в 250 сообщениях
По умолчанию Ответ: Управление экранами из FBD

Цитата
Сообщение от RomanIst Посмотреть сообщение
Подскажите как проще (нересурсоемко) всего сделать так чтобы дискретный сигнал жил 3 цикла?
Сигнал на входе есть импульс, его жизнь - один тик.
Вырезка из макроса front_extract, я вас правильно понял?
Миниатюры
Нажмите на картинку для увеличения

Название:  Скриншот 25-07-2019 130606.png
Просмотров: 116
Размер:  9.3 Кбайт  
Ilya J. сейчас на форуме   Ответить с цитированием
Старый 25.07.2019, 14:34   #14
RomanIst
Senior Member
 
Регистрация: Dec 2018
Адрес: Tomsk
Сообщения: 431
Благодарил(а): 10 раз(а)
Поблагодарили: 4 раз(а) в 4 сообщениях
По умолчанию Ответ: Управление экранами из FBD

Цитата:
Сообщение от Ilya J. Посмотреть сообщение
Вырезка из макроса front_extract, я вас правильно понял?
Да правильно. Это я себе и представлял, просто хотел уточнить что есть более простые способы. Тем не менее спасибо!
RomanIst вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод FBD программы на FBD Logix atp-service Вопросы о программировании 5 28.07.2022 19:13
Отсутствует связь по RS-485 при управлении параметрами из FBD АндрейЛ Связь с внешним миром 16 15.05.2018 14:15
Кнопки в SMArt, управление из FBD (решено) dp38 SMLogix 5 24.04.2017 18:33
Управление окнами из FBD Сергей_М SMArt 3 26.11.2013 13:25


Часовой пояс GMT +4, время: 19:11.


Версия vBulletin: 3.8.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2023