Segnetics

Вернуться   Segnetics > Форум Segnetics > Вопросы о Trim5

Вопросы о Trim5 Работа и применение контроллеров с сенсорной панелью Trim5.

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.04.2018, 20:35   #1
maks
Senior Member
 
Регистрация: Dec 2012
Сообщения: 164
Благодарил(а): 5 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Прыгает время цикла

На одном экране наложены друг на друга 10 элементов "график реального времени". У каждого из перьев отключается видимость. Настроил масштабирование выдачи данных из си. Включены видимости у всех перьев (10 перьев), все рисуется пиксель в пиксель. Т.е. программа выдает данные лоджику с определенной частотой и он их визуализирует.
Отключил видимость почти у всех графиков и все изменилось. Теперь лоджик отрисовывает данные быстрее и график едет влево. Конечно, я могу из программы включить видимость у всех графиков, чтобы нарисовать все правильно. Потом пользователь может отключить те графики, что ему не нужны.
Не понятно, почему так происходит? Получается примерно так - видимость отключена, лоджик не обрабатывает графики и цикл программы снижается. Но это только предположение
maks вне форума   Ответить с цитированием
Старый 09.04.2018, 07:47   #2
maks
Senior Member
 
Регистрация: Dec 2012
Сообщения: 164
Благодарил(а): 5 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Прыгает время цикла

Цикл скана лоджика - это константа? Или он может быть меньше заданного, если программа позволяет?
maks вне форума   Ответить с цитированием
Старый 09.04.2018, 08:38   #3
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

Если все блоки успевают отработать за заданное время - то время цикла всегда постоянное.

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

Вам следует использовать блок Device(Kernel), который умеет отображать заданный тик и реальный тик. Учтите, что реальный тик (для трима и смш4) должен быть значительно ниже заданного тика.

Время тика задаётся, можно в свойствах самого проекта указать (в правом нижнем углу экрана), либо через блок SetTick.

При длительном превышении реального времени тика - формируется системная авария.


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 10.04.2018, 14:09   #4
maks
Senior Member
 
Регистрация: Dec 2012
Сообщения: 164
Благодарил(а): 5 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

Да, время цикла разное. Попробовал изменять не видимость перьев, и их толщину. Чтобы всегда рисовать одно и тоже число графиков. Но при толщине пера 0 график все равно рисуется (толщина 1)
Нельзя ли частоту выборок "график реального времени" привязать к какой-то стабильной частоте?
maks вне форума   Ответить с цитированием
Старый 10.04.2018, 14:30   #5
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

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


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 10.04.2018, 18:38   #6
maks
Senior Member
 
Регистрация: Dec 2012
Сообщения: 164
Благодарил(а): 5 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

Цитата:
Сообщение от Gromov Посмотреть сообщение
Если у вас разное время цикла - значит вы допускаете такое, а это неприемлемо. Вы обязательно должны обеспечить фиксированное время цикла, в которое все блоки гарантированно будут отработаны. Увеличивайте время тика.
Дмитрий, а что значит "допускаю такое"? Программы в лоджике по сути и нет - графики реального времени, 15 EEPROM ячеек, несколько rs- триггеров и десяток and(bool) и ввод-вывод на сам дисплей, еще 5 линий рисую. Ничего не активно - графики не строятся, с памятью не работаю, не рисую линии. При этом скан прыгает от 40 до 80. Не держится стабильно вообще - пила 40-80-40-80. Я не знаю - нормально ли это? Похоже, что - нет.
maks вне форума   Ответить с цитированием
Старый 10.04.2018, 18:41   #7
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 023
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: VirtualBox Linux. Подключение к трим

Цитата:
Сообщение от maks Посмотреть сообщение
Дмитрий, а что значит "допускаю такое"? Программы в лоджике по сути и нет - графики реального времени, 15 EEPROM ячеек, несколько rs- триггеров и десяток and(bool) и ввод-вывод на сам дисплей, еще 5 линий рисую. Ничего не активно - графики не строятся, с памятью не работаю, не рисую линии. При этом скан прыгает от 40 до 80. Не держится стабильно вообще - пила 40-80-40-80. Я не знаю - нормально ли это? Похоже, что - нет.
Каждый полноэкранный тренд - это рисование восьмиста линий. 5 трендов - это 5*800 = 4000 линий. 10 трендов - 8000 линий.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 10.04.2018, 19:08   #8
maks
Senior Member
 
Регистрация: Dec 2012
Сообщения: 164
Благодарил(а): 5 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Прыгает время цикла

А если стоит стоп для рисования? Ресурсы потребляются?
maks вне форума   Ответить с цитированием
Старый 10.04.2018, 19:19   #9
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 023
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Прыгает время цикла

Цитата:
Сообщение от maks Посмотреть сообщение
А если стоит стоп для рисования? Ресурсы потребляются?
Выводится на экран - потребляются на рисование. Не выводится - не потребляются.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 11.04.2018, 09:55   #10
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Прыгает время цикла

Эксперименты показывают, что если время тика колеблется в диапазоне больше чем 10 мс - надо увеличивать заданный тик.

Такое поведение исходит, судя по всему, из особенностей работы с графическим ускорителем.


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Ответ

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

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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FMR AIN время фильтрации Max2114 Вопросы о FMR и MRL 23 03.03.2020 15:52
Сбилось время на SMH4 Trim5 (решено) Sibiryak22rus Вопросы о SMH4 51 06.07.2018 16:11
Время выполнения программы Plastic_Enterprice(Yar) SMLogix 7 26.03.2015 16:11
Использование в летнее время режима проветривания Avtomatic SMConstructor (вентиляция) 5 24.06.2014 17:02
Как оценить время выполнения программы в контроллере? Arsie ЧаВо - Часто задаваемые Вопросы 0 04.10.2013 16:51


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


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