Segnetics

Вернуться   Segnetics > Форум Segnetics > SMConstructor (вентиляция)

SMConstructor (вентиляция) Вопросы о работе Конструктора (Вентиляция и кондиционирование)

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.10.2021, 14:50   #1
STREXNIN
Senior Member
 
Регистрация: Oct 2011
Сообщения: 138
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Нет затирания Основного экрана при возврате в меню. Проект из пикс. в Matrix (решено)

Уважаемые! Столкнулся со следующей проблемой:

Использовал предыдущий рабочий проект из-под пикселя для работы на конроллеле Matrix (так заказчик захотел, да и дорабатывать новый стандартный сгенерированный в конструкторе под конкретную конфигурацию системы казалось существенно более муторным процессом).

Заменил контроллер, заменил макросы клавиатуры и основного экрана из свеже-сгенерированного в конструкторе стандартного проекта под Matrix (Logix v3.33.0263, SMConstructor HVAC v1-60s2, всё свежеустановленное на снесенные предыдущие версии с удалением всех предыдущих папок. Последовательность установки соблюдена). Сам контроллер предварительно форматировался под этой последней версией лоджика.

После загрузки проекта все работает, похоже, правильно (первый раз запускаю проект из под конструктора на матриксе), за исключением одного: при выходе из Основного экрана в Главное меню (или в журнал при аварии) сам Основной экран не затирается, а новые экраны отрисовываются как бы поверх него.


Это Основной экран. Здесь как бы все в порядке.


Это Главное меню после выхода из Основного экрана. Ясно видны незатертые (не покрытые новым изображением) куски элементов предыдущего Основного экрана.


Это часть макроса "Основной экран" при выводе на монитор изображения Основного экрана. Единички, разрешающие отображение элементов Основного экрана.
Как работает Clear - руки еще не дошли.


Это часть макроса "Основной экран" после выхода из Основного экрана. Нолики, запрещающие отображение элементов Основного экрана.
Т.е., всё вроде логично, и должно работать! За исключением процесса стирания, в принципах которого не разбирался.

Что удивляет, тот-же макрос Основного экрана в проекте, из которого заимствован, без замечаний работает.

Есть мысли какие у техподдержки?
STREXNIN вне форума   Ответить с цитированием
Старый 08.10.2021, 15:00   #2
младшой
Senior Member
 
Регистрация: May 2010
Адрес: Москва
Сообщения: 857
Благодарил(а): 4 раз(а)
Поблагодарили: 85 раз(а) в 66 сообщениях
По умолчанию Ответ: Нет затирания Основного экрана при возврате в меню. Проект из пикс. в Matrix

Цитата да и дорабатывать новый стандартный сгенерированный в конструкторе под конкретную конфигурацию системы казалось существенно более муторным процессом
Вам тут (https://forum.segnetics.com/showpost...4&postcount=18) Арсений уже рекомендовал в конструкторе сгенерировать программу для матрикса под вашу конфигурацию.
Иначе вы еще долго будете находить проблемы.

Если кратко, то там где-то есть макрос предварительной очистки экрана при переходе от одного экрана к другому. Он рассчитан под размер дислея контроллера. А у матриксов дисплей в пикселях больше, чем у контроллеров Pixel. Так что экран очищается не весь, а потом и поверх оставшихся элементов прежнего экрана рисуются элементы нового экрана.
младшой вне форума   Ответить с цитированием
Старый 08.10.2021, 15:20   #3
STREXNIN
Senior Member
 
Регистрация: Oct 2011
Сообщения: 138
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Нет затирания Основного экрана при возврате в меню. Проект из пикс. в Matrix

Цитата
Сообщение от младшой Посмотреть сообщение
Вам тут (https://forum.segnetics.com/showpost...4&postcount=18) Арсений уже рекомендовал в конструкторе сгенерировать программу для матрикса под вашу конфигурацию.
Иначе вы еще долго будете находить проблемы.
Я об этом уже догадался, и не сегодня - а также сумел прочитать сообщение техподдержки (плохо читаю - но все-таки).
Соответственно - учить дальше не надо, я и сам грамотный!

Цитата Если кратко, то там где-то есть макрос предварительной очистки экрана при переходе от одного экрана к другому.
За "там где-то" а-та-та, а за наводку спасибо!

Цитата Он рассчитан под размер дислея контроллера. А у матриксов дисплей в пикселях больше, чем у контроллеров Pixel. Так что экран очищается не весь, а потом и поверх оставшихся элементов прежнего экрана рисуются элементы нового экрана.
Макрос "Основной экран" был скопирован в старый проект из другого проекта (под матрикс) целиком (т.е. полностью), и соответственно, если макрос очистки экрана внутри него - то он обязан работать корректно. Если снаружи - будем поискать. ...Если другие добрые люди не помогут! )
STREXNIN вне форума   Ответить с цитированием
Старый 08.10.2021, 17:14   #4
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 740
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Нет затирания Основного экрана при возврате в меню. Проект из пикс. в Matrix

Цитата
Сообщение от STREXNIN Посмотреть сообщение
Макрос "Основной экран" был скопирован в старый проект из другого проекта (под матрикс) целиком (т.е. полностью), и соответственно, если макрос очистки экрана внутри него - то он обязан работать корректно.
А при чем здесь макрос Основной экран?
По картинке вы уже в меню перешли. Там чисто текстовая очистка и графику она не затрет.
ATS вне форума   Ответить с цитированием
Старый 08.10.2021, 18:08   #5
STREXNIN
Senior Member
 
Регистрация: Oct 2011
Сообщения: 138
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Нет затирания Основного экрана при возврате в меню. Проект из пикс. в Matrix

Цитата
Сообщение от ATS Посмотреть сообщение
А при чем здесь макрос Основной экран?
По картинке вы уже в меню перешли. Там чисто текстовая очистка и графику она не затрет.
Раз графика должна быть затерта - значит, она где-то затирается. Если меню, как Вы утверждаете, картинку затереть не способно по своей природе - значит, эта картинка затирается либо в макросе Основного экрана, либо по дороге из него в Главное меню. Именно поэтому я упоминаю макрос Основной экран, и не упоминаю макрос Меню.

И еще: я, конечно, рад бы послушать, какие еще вариации риторических вопросов существуют при ответе на мой вопрос, но хочется просто получить конкретный ответ или наводку, и пойти спать!
STREXNIN вне форума   Ответить с цитированием
Старый 08.10.2021, 18:23   #6
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 740
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Нет затирания Основного экрана при возврате в меню. Проект из пикс. в Matrix

Цитата
Сообщение от STREXNIN Посмотреть сообщение
Если меню, как Вы утверждаете, картинку затереть не способно по своей природе - значит, эта картинка затирается либо в макросе Основного экрана, либо по дороге из него в Главное меню. Именно поэтому я упоминаю макрос Основной экран, и не упоминаю макрос Меню.
Затирается в меню, но оно сильно отличается от меню пикселя.

Цитата И еще: я, конечно, рад бы послушать
На этом мои советы заканчиваются.

Последний раз редактировалось ATS, 08.10.2021 в 18:39
ATS вне форума   Ответить с цитированием
Старый 08.10.2021, 18:44   #7
STREXNIN
Senior Member
 
Регистрация: Oct 2011
Сообщения: 138
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Нет затирания Основного экрана при возврате в меню. Проект из пикс. в Matrix

Цитата
Сообщение от ATS Посмотреть сообщение
Затирается в меню, но оно отличается от меню пикселя.
Спасибо. Я в начальных экспериментах как-то пиксельное Меню на Меню из-под матрикса тоже уже подменял, но тогда не до дефектов изображения было, и я не обратил внимания на правильность работы. Скопирую еще раз.

Цитата На этом мои советы заканчиваются.
Да я к советам-то очень хорошо отношусь - я не против советов! Я против пустословия, тщеславия и самодовольства.

Кстати! Этот эффект, незатирания изображения основного экрана, он ведь и при переходе сразу в журнал при аварии наблюдается - т.е. скорее я бы ожидал общего блока затирания картинки, а не плодить их в каждом макросе - если только там переход в журнал не через главное меню осуществляется. И еще - в самом макросе Основного экрана - там же ведь тоже разные картинки и выводятся, и убираются. Там тоже, наверное, затирать предыдущее необходимо?
Я, к сожалению, очень плохо знаю, как там на низком уровне все это работать должно, а лезть и капитально разбираться до ужаса неохота!

Последний раз редактировалось STREXNIN, 08.10.2021 в 18:58
STREXNIN вне форума   Ответить с цитированием
Старый 08.10.2021, 19:08   #8
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 740
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Нет затирания Основного экрана при возврате в меню. Проект из пикс. в Matrix

Цитата
Сообщение от STREXNIN Посмотреть сообщение
Скопирую еще раз.
Могут быть грабли - конструктор очень сильно изменяет этот макрос в процессе создания проекта.
Можете потерять нужные пункты и получить ненужные.



Цитата Кстати! Этот эффект, незатирания изображения основного экрана, он ведь и при переходе сразу в журнал при аварии наблюдается - т.е. скорее я бы ожидал общего блока затирания картинки
Проект для пикселя вообще не использует графику и очистка экрана там сделана просто затиранием 4-х строк.

Последний раз редактировалось ATS, 08.10.2021 в 19:23
ATS вне форума   Ответить с цитированием
Старый 08.10.2021, 20:11   #9
STREXNIN
Senior Member
 
Регистрация: Oct 2011
Сообщения: 138
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Нет затирания Основного экрана при возврате в меню. Проект из пикс. в Matrix

Цитата
Сообщение от ATS Посмотреть сообщение
Могут быть грабли - конструктор очень сильно изменяет этот макрос в процессе создания проекта.
Можете потерять нужные пункты и получить ненужные.
Да. Я это имею в виду тоже. Но мне главное сейчас найти причину незатирания картинки, а потом уже видно будет, на что решаться. Там меню вроде видно, как править.
Да и этот макрос образцово под ту конфигурацию сгенерить, под какую пиксельный проект в свое время генерился, можно. Они одинаковые по набору параметров вроде должны получится - только этот уже под матрикс будет.

Цитата Проект для пикселя вообще не использует графику и очистка экрана там сделана просто затиранием 4-х строк.
Это спасибо за пояснение.
Я вот тут давно на макрос Clear, который внутри Основного экрана живет посматриваю - на предмет стиралки. Но он если и для стирания - то там оч. сильно на стирание только строк похоже: одна строка на 20 символов.
Еще разрабы ко всяким извращениям склонны бывают - когда недокументированными способами пользуются, и в этом случае всячески от ответа уходить любят.

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


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


Цитата
Сообщение от ATS Посмотреть сообщение
Затирается в меню, но оно сильно отличается от меню пикселя.
Посмотрел по Вашему совету макрос Система Меню (это который под матрикс), и увидел там в одном из макросов блок ClrScr. Скорее всего - это оно.

Большое спасибо за подсказку!

Последний раз редактировалось STREXNIN, 08.10.2021 в 20:33
STREXNIN вне форума   Ответить с цитированием
Старый 08.10.2021, 21:18   #10
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 740
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Нет затирания Основного экрана при возврате в меню. Проект из пикс. в Matrix

Цитата
Сообщение от STREXNIN Посмотреть сообщение
Да и этот макрос образцово под ту конфигурацию сгенерить, под какую пиксельный проект в свое время генерился, можно. Они одинаковые по набору параметров вроде должны получится - только этот уже под матрикс будет.
При одинаковом наборе параметров все однозначно получится.


Цитата Посмотрел по Вашему совету макрос Система Меню (это который под матрикс), и увидел там в одном из макросов блок ClrScr. Скорее всего - это оно.
Вот так в MainMenu чистился экран в Пикселе ClearScreen.msl и в 2G(i) ClearScreen2G.msl.
Для более поздних меню еще больше переделано с использованием графики.
ATS вне форума   Ответить с цитированием
Старый 08.10.2021, 22:14   #11
STREXNIN
Senior Member
 
Регистрация: Oct 2011
Сообщения: 138
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Нет затирания Основного экрана при возврате в меню. Проект из пикс. в Matrix

Цитата
Сообщение от ATS Посмотреть сообщение
Вот так в MainMenu чистился экран в Пикселе Вложение 9753 и в 2G(i) Вложение 9754.
Для более поздних меню еще больше переделано с использованием графики.
Для пикселя посмотрел. Тут все четко - четыре чистые строки.
Для матрикса это выглядит так: ClearScreen.msl.

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

Еще раз огромное спасибо!
STREXNIN вне форума   Ответить с цитированием
Старый 08.10.2021, 22:48   #12
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 740
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Нет затирания Основного экрана при возврате в меню. Проект из пикс. в Matrix

Цитата
Сообщение от STREXNIN Посмотреть сообщение
сгенерированный по новому под матрикс макрос меню должен решить проблему, потому что сейчас затирается чисто строковая информация.
Именно строки, но эти строки на матриксе располагаются с зазором и не покрывают весь экран. Поэтому мусор и остается.
Даже замена строк на ClrScr (как в 2G) уже решит проблему очистки, но меню для матрикса будет выглядеть лучше.

Удачи.
ATS вне форума   Ответить с цитированием
Старый 08.10.2021, 23:06   #13
STREXNIN
Senior Member
 
Регистрация: Oct 2011
Сообщения: 138
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
Smile Ответ: Нет затирания Основного экрана при возврате в меню. Проект из пикс. в Matrix

Цитата
Сообщение от ATS Посмотреть сообщение
Именно строки, но эти строки на матриксе располагаются с зазором и не покрывают весь экран. Поэтому мусор и остается.
Удачи.
Стало понятнее, сам бы так глубоко лезть не стал.

Спс.
STREXNIN вне форума   Ответить с цитированием
Старый 09.10.2021, 20:18   #14
STREXNIN
Senior Member
 
Регистрация: Oct 2011
Сообщения: 138
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Нет затирания Основного экрана при возврате в меню. Проект из пикс. в Matrix

Цитата
Сообщение от ATS Посмотреть сообщение
Именно строки, но эти строки на матриксе располагаются с зазором и не покрывают весь экран. Поэтому мусор и остается.
Даже замена строк на ClrScr (как в 2G) уже решит проблему очистки, но меню для матрикса будет выглядеть лучше.

Удачи.
Заменил меню на матриксовское - теперь все отлично работает!
STREXNIN вне форума   Ответить с цитированием
Ответ

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

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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема при подключении FMR к Matrix (нет проблемы) kulepov Вопросы о Matrix 14 26.04.2020 16:38
Проблема зависание 2Gi/MC djaval Вопросы о SMH-2G(i) 108 20.09.2017 18:58


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


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