This is topic Замирают графические панели в MicroМРВ in forum Микро Мониторы Реального Времени / Micro Real Time Monitors at Форум TRACE MODE: техническая поддержка.
Добрый день. Имеется проект написанный в TM6.07 (update1+update2). Запускается в контролере WinPAC-8831. Запускается в MicroRTM 6.07 (255). Было замечено зависание графических панелей при переключении с экрана на экран или через время при простом простое. Если подключится к программе через жучка то программа показывает что работает, принимает и обрабатывает данные с модулей. В чем может быть причина зависания графики? При запуске в профайлере (DEBUF=FFFF) никаких ошибок в него не пишет.
[ 08.06.2011, 10:13: Сообщение отредактировал / Message edited by AdAstra Technical Support ]
Posted by Romсheg (Участник № / Member № 3792) on :
На экране есть тренды? У меня так вис контроллер до тех пор, пока от тренда в графике не избавился. Причем, действительно висла только графика, сама математика продолжала работать.
Posted by limit (Участник № / Member № 4551) on :
Да как бы нет никаких трендов у меня в "EmbeddedRTM", разве что "Отчет тревог узла" и все. Раньше в профайлере выдавались ошибки (18:48:14) ERR_RTM:Static picture for hand_win_etap1 error=16 (18:48:14) ERR_RTM:Static picture for TIME:134 error=16
Но по совету техподдержки немного облегчил графику и она ушла, по крайней мере не пишется в лог.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Видимо, перегрузка все-таки осталась. М.б., посмотреть возможности перераспределения памяти в контроллере. Некоторые меры по компенсации подобных ситуаций приняты в редлизе 6.07.2, который скоро будет выпущен.
Posted by limit (Участник № / Member № 4551) on :
Под программы в контролере выделено 70 Mb, сам проект при запуске занимает 22 Mb, то есть в системе свободно еще больше половины. Причем при выполнении проекта процессор используется на ~25%. В закладке Дополнительно приоритет на графику и "Мастер обмена по RS" стоит приоритет IDLE. Если для последнего меняю приоритет на Default - процессор на 100 процентов загружается. Почему так? Вы получали мой проект?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Есть ли у Вас в узле контроллера активные каналы (Input), работающие по этому COM-порту? Если проектной активности по RS нет, этот поток переходит в режим активной проверки COM-порта с достаточно низким приоритетом. На реализацию других потоков загрузка процессора не влияет - поток COM-порта занимает только свободные от других потоков ресурсы.
Posted by limit (Участник № / Member № 4551) on :
Да есть, в корзинке стоит модуль 87040 32xDI. Данные с которого контролер принимает и обрабатывает. По вашим словам, выходит мой проект активно использует COM port. Иначе бы он не тянул на себя такие ресурсы?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
В корзинке стоит модуль 87040 и есть канал в контроллере, который на него залинкован? "Для взаимодействия с платой 87040 (32 DI) в ИС нужно создать шаблон 8.7 ( Подтип 8 , DI), задать в нем Канал=2 и привязать к каналу HEX32 типа INPUT." Так? С каким циклом работает узел в контроллере?
Posted by limit (Участник № / Member № 4551) on :
конечно есть линк на это модуль, контролер работает с циклом 1:1. С корзинки принимаю и отсылаю на нее как дисркеты так и аналоги. Бывает программа проработает 8 часов и подвиснет графика, математика работает, а бывает и через 5 минут приходится задачу снимать. Даже не знаю куда копать? Убрать половину графических панелей?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Уточните, пожалуйста, цикл узла контроллера 1*1 или 1*0.001? "Корзинка" - это крейт контрллера или корзина расширения? Какие еще модули стоят в "корзинке"? С модуля 87040 результативное считывание осуществляется?
Posted by limit (Участник № / Member № 4551) on :
Период: 1 Разрешение: 1 Крейт контролер WinPAC-8831, корзина расширения RU87P4, в нем работают модули 87040W, 87041W, 87024W. Все работают адекватно.
Posted by limit (Участник № / Member № 4551) on :
Вчера сделал эксперимент, удали в программе графические панели, где были нарисованы мнемосхемы, из 22 Мб занимаемых программой осталось 13 Мб. Программа проработала 8 часов без зависания графики.
Posted by limit (Участник № / Member № 4551) on :
Вот эта строчка мне не понятна: "Для взаимодействия с платой 87040 (32 DI) в ИС нужно создать шаблон 8.7 ( Подтип 8 , DI), задать в нем Канал=2 и привязать к каналу HEX32 типа INPUT"
Как там в "источники/приемники" -> "Распределенные_УСО" -> "I8000" создать модуль с 32 DI или 32 DO????
Объясните на пальца пожалуйста.
Posted by Romсheg (Участник № / Member № 3792) on :
8-й подтип - это "DCS", это там... Я у себя в проекте вместе 87040 создаю 87057, и лишний тэг DO просто удаляю, а DI - как по справке модифицирую в Канал=2. Для 87057 для DI тот же подтип 8.7 используется.
Posted by limit (Участник № / Member № 4551) on :
Какие рекомендации тех-поддержки будут, все же?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Для подключения модуля 87040 надо создать компонент "Источники_Приемники/Распределенные УСО/DCS/DI". В дополнение к остальным настройкам, принятым для модулей 870xx, задать в нем настройку "Канал"=2. Предложенная Romсheg методика вполне приемлема.
Если у Вас нет других объявленных COM-портов, то проблема в ресурсах. ОС, видимо, не справляется с заказанными Вами процедурами графического интерфейса. Надо сокращать объем графики.
Posted by limit (Участник № / Member № 4551) on :
Переделал половину графических панелей, создал заново и рисовал только плоские фигуры, в результате программа занимает 13 Мб в памяти, вместо старых 22 Мб. Проблема осталась. Как сокращать объем графики, количество объектов или число графических панелей? Какие фигуры являются менее ресурсоемкими?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Если без подключения корзины расширения корзина расширения RU87P4 эффект остается, присылайте проект на hotline3@adastra.ru. Представьте организацию и опишите проблему.
Posted by limit (Участник № / Member № 4551) on :
Добрый вечер, испробовал по всякому,убирал модуль из корзины, удалял COM порт в проекте. Проблема осталась. Выслал Вам проект.
Posted by limit (Участник № / Member № 4551) on :
По рекомендациям в письме изменил разрешение в системе и плюс к этому изменил глубину цвета от 16 до 4 бит - один и тот же результат. Графика не систематично замирает.... Имеет ли влияние то, что проект создавался в IDE версии 6.07 (update1+update2). А запускается в среде MicroRTM 6.07 (255Ch)?
Posted by limit (Участник № / Member № 4551) on :
Прошу дать четкие рекомендации: с чем связана указанная мной проблема, моя или среды запуска (конкретно). В каких версиях IDE (с какими патчами) и MicroRTM, разрабатывать и запускать проект. Повлияет ли как то на работоспособность проекта, если я удалю релиз IDE 6.07 и установлю старый и в нем откомпилирую проект созданный в 6.07, а далее запущу его в MicroRTM 6.06, уж больно нужно что бы он работал без замирания графики. Help. Или заново создать проект в 6.07 без всяких патчей? Или sdk библиотек работы с модулями могут так глючить, я уже в отчаянии готов и в темные силы поверить .
Posted by limit (Участник № / Member № 4551) on :
При работе проекта процессор используется в пределах от 10% до 45%. При замирании графики программа продолжает работать (выполняет алгоритмы к ней можно подключится через жучок) но использование процессора падает до 10% и меньше. Проект останавливается долго, никаких ошибок в логах не нашел по этому поводу. Лог 1: (10:58:47) INF_LOAD:Starting... ukrgraf_z_f4_graff_com_no2stypen_0 (10:58:47) INF_RTM:Detected CE.eRT 5.0 (10:58:47) ._.:Professional RTM+ ver. 6.07.0 (10:58:47) INF_LOAD:Load Channels = 204 (10:58:47) INF_LOAD:Templates=19 (10:58:47) INF_LOAD:Objects = 7 (10:58:47) INF_RTM:Timer=1s CalcLoop=1000ms (10:58:47) ERR_IP:WSAEFAULTreuseaddr = 10014 (10:58:47) ERR_IP:WSAEFAULTreuseaddr = 10014 (10:58:47) ERR_IP:WSAEFAULTsetsockopt broadcast = 10014 (10:58:47) INF_IP:Node must use bridge (10:59:24) INF_RTM:ModeSwitch e15=0000 e18=0000 e20=0000 [0] (10:59:24) INF_RTM:mode=2(Work) e15=00 e18=01 e20=00 [0-5] (10:59:24) INF_RTM:start time is 0.233 s (10:59:24) ERR_TCP:WSA:errorsrv setsockopt = 10042 (10:59:24) INF_RTM:Idle period = 1000 (14:6:52) INF_RTM:stoping... (14:6:53) INF_RTM:mode=5(Stop) e15=00 e18=01 e20=00 [0-5] (14:6:53) INF_RTM:stop time is 92.875 s (14:6:53) INF_RTM:number of calculation = 11232 (14:6:53) ._.:END OF WORK
============================= tm6_log 10:36:45 0000 00000000[0] 04/13/11 10:36:45 0000 00000000[0] Start 10:36:49 0000 00000001[1] Calc loop is big 10:59:24 0000 00000000[0] 04/13/11 10:59:24 0000 00000000[0] Start 10:59:28 0000 00000001[1] Calc loop is big 14:06:53 0000 00000000[0] Stop
Posted by limit (Участник № / Member № 4551) on :
При использовании новой версии MicroRTM высланной Вами в переписке, в логе "tm6_log.txt" стала часто встречаться надписи следующего содержания : 10:18:43 0000 00000000[0] 05.27.11 10:18:43 0000 00000000[0] login failed 10:18:50 0000 00000000[0] Start 10:19:11 0018 00000029[3] auto_2_stypen:142 10:19:12 0018 00000029[3] auto_2_stypen:142 10:19:13 0018 00000029[3] auto_2_stypen:142 10:19:14 0018 00000029[3] auto_2_stypen:142 10:19:15 0018 00000029[3] auto_2_stypen:142 10:19:16 0018 00000029[3] auto_2_stypen:142 10:19:17 0018 00000029[3] auto_2_stypen:142 10:19:21 0018 00000029[3] auto_mex:138 10:19:26 0018 00000029[3] auto_1_stypen:152 10:19:28 0018 00000029[3] auto_1_stypen:152 10:19:32 0018 00000029[3] setting 10:19:35 0018 00000029[3] setting. Что они означают? Также временами программа аварийно завершает свою работу и выпадает окошко RTM Out of memory.
Posted by limit (Участник № / Member № 4551) on :
Еще пару заметок: 1) Сообщение вида "09:11:29 0000 00000001[1] Calc loop is big" появляется раз в сутки. 2) при запуске проекта в логе профайлера последняя запись "(13:7:27) INF_RTM:Idle period = 1000" приблизительно через сутки добавляется запись "(10:54:37) INF_RTM:Idle thread loop is big = -15282" 3) сообщения вида "16:29:57 0018 00000029[3] auto_2_stypen:142 16:29:58 0018 00000029[53] auto_2_stypen:142 16:29:59 0018 00000029[53] auto_2_stypen:142 16:30:00 0018 00000029[53] auto_2_stypen:142" стремительно увеличивают лог "tm6_log.txt" и время задержек увеличивается Я так понимаю ([3]-[53]).
Уважаемая техподдержка, у меня выше указанные проблемы плюс программа аварийно завершается - что делать? Аууу... Проект и логи Я Вам неоднократно высылал. ----- ИС TM6.07 MicroRTM 6.07.7
Posted by AdAstra Technical Support (Участник № / Member № 4) on :