|
Вопросы о Trim5 Работа и применение контроллеров с сенсорной панелью Trim5. |
|
Опции темы | Поиск в этой теме |
08.04.2018, 20:35 | #1 |
Senior Member
Регистрация: Dec 2012
Сообщения: 164
Благодарил(а): 5 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Прыгает время цикла
На одном экране наложены друг на друга 10 элементов "график реального времени". У каждого из перьев отключается видимость. Настроил масштабирование выдачи данных из си. Включены видимости у всех перьев (10 перьев), все рисуется пиксель в пиксель. Т.е. программа выдает данные лоджику с определенной частотой и он их визуализирует.
Отключил видимость почти у всех графиков и все изменилось. Теперь лоджик отрисовывает данные быстрее и график едет влево. Конечно, я могу из программы включить видимость у всех графиков, чтобы нарисовать все правильно. Потом пользователь может отключить те графики, что ему не нужны. Не понятно, почему так происходит? Получается примерно так - видимость отключена, лоджик не обрабатывает графики и цикл программы снижается. Но это только предположение |
09.04.2018, 07:47 | #2 |
Senior Member
Регистрация: Dec 2012
Сообщения: 164
Благодарил(а): 5 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Прыгает время цикла
Цикл скана лоджика - это константа? Или он может быть меньше заданного, если программа позволяет?
|
09.04.2018, 08:38 | #3 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: VirtualBox Linux. Подключение к трим
Если все блоки успевают отработать за заданное время - то время цикла всегда постоянное.
Если вы не следите за этим фактором, то при включенных десяти графиках - вполне может возникать ситуация, когда лоджик не успевает отрабатывать все десять графиков за заданное время. Таким образом, время тика будет растягиваться, это губительно сказывается на обсчёте любых таймеров, привязанных к реальному времени. Вам следует использовать блок Device(Kernel), который умеет отображать заданный тик и реальный тик. Учтите, что реальный тик (для трима и смш4) должен быть значительно ниже заданного тика. Время тика задаётся, можно в свойствах самого проекта указать (в правом нижнем углу экрана), либо через блок SetTick. При длительном превышении реального времени тика - формируется системная авария. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
10.04.2018, 14:09 | #4 |
Senior Member
Регистрация: Dec 2012
Сообщения: 164
Благодарил(а): 5 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: VirtualBox Linux. Подключение к трим
Да, время цикла разное. Попробовал изменять не видимость перьев, и их толщину. Чтобы всегда рисовать одно и тоже число графиков. Но при толщине пера 0 график все равно рисуется (толщина 1)
Нельзя ли частоту выборок "график реального времени" привязать к какой-то стабильной частоте? |
10.04.2018, 14:30 | #5 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: VirtualBox Linux. Подключение к трим
Если у вас разное время цикла - значит вы допускаете такое, а это неприемлемо. Вы обязательно должны обеспечить фиксированное время цикла, в которое все блоки гарантированно будут отработаны. Увеличивайте время тика.
__________________ В сегнетиксе не работаю с самого начала 2019 года. |
10.04.2018, 18:38 | #6 |
Senior Member
Регистрация: Dec 2012
Сообщения: 164
Благодарил(а): 5 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: VirtualBox Linux. Подключение к трим
Дмитрий, а что значит "допускаю такое"? Программы в лоджике по сути и нет - графики реального времени, 15 EEPROM ячеек, несколько rs- триггеров и десяток and(bool) и ввод-вывод на сам дисплей, еще 5 линий рисую. Ничего не активно - графики не строятся, с памятью не работаю, не рисую линии. При этом скан прыгает от 40 до 80. Не держится стабильно вообще - пила 40-80-40-80. Я не знаю - нормально ли это? Похоже, что - нет.
|
10.04.2018, 18:41 | #7 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 086
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: VirtualBox Linux. Подключение к трим
Цитата:
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
10.04.2018, 19:08 | #8 |
Senior Member
Регистрация: Dec 2012
Сообщения: 164
Благодарил(а): 5 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Прыгает время цикла
А если стоит стоп для рисования? Ресурсы потребляются?
|
10.04.2018, 19:19 | #9 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 086
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Прыгает время цикла
Выводится на экран - потребляются на рисование. Не выводится - не потребляются.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
11.04.2018, 09:55 | #10 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Прыгает время цикла
Эксперименты показывают, что если время тика колеблется в диапазоне больше чем 10 мс - надо увеличивать заданный тик.
Такое поведение исходит, судя по всему, из особенностей работы с графическим ускорителем. __________________ В сегнетиксе не работаю с самого начала 2019 года. |