|
SMArt Разработка интерфейсов пользователя |
|
Опции темы | Поиск в этой теме | Опции просмотра |
23.12.2014, 13:07 | #1 |
Senior Member
Регистрация: Jan 2013
Сообщения: 161
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Элемент меню "График реального времени"
Можно ли в Графике реального времени поставить подписи "цены" деления у вертикальной шкалы?
Например: ^ 70-| | 60-| . . . 10-| |________________________________ 0 |
23.12.2014, 13:29 | #2 |
Senior Member
Регистрация: Dec 2011
Сообщения: 741
Благодарил(а): 1 раз(а)
Поблагодарили:
9 раз(а) в 9 сообщениях
|
Ответ: Элемент меню "График реального времени"
В рамках самого смарта вряд ли. Но никто не мешает вывести "цену деления" или как картинку или через блоки вывода на экран. Главное, что бы области вывода не пересекались. А то могут быть чудеса.
|
23.12.2014, 13:35 | #3 |
Senior Member
Регистрация: Jan 2013
Сообщения: 161
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Элемент меню "График реального времени"
И смысл тогда от этих графиков (особенно если вводить авто масштабирование), если практически невозможно понять в каких масштабах график показывает.
|
23.12.2014, 13:55 | #4 |
Senior Member
Регистрация: Dec 2011
Сообщения: 741
Благодарил(а): 1 раз(а)
Поблагодарили:
9 раз(а) в 9 сообщениях
|
Ответ: Элемент меню "График реального времени"
|
23.12.2014, 14:09 | #5 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Элемент меню "График реального времени"
Удобно, но несколько громоздко. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
23.12.2014, 14:10 | #6 |
Senior Member
Регистрация: Dec 2011
Сообщения: 741
Благодарил(а): 1 раз(а)
Поблагодарили:
9 раз(а) в 9 сообщениях
|
Ответ: Элемент меню "График реального времени"
Для полного автоматического масштабирования необходимы значение минимума и максимума в буфере тренда. К сожалению в смарте этого нет. А делать это внешней обвязкой - неблагодарное дело. При растягивании на весь экран это 190 точек. Выбор минимума и максимума из 190 точек - нетривиальная задача для программирования в FBD.
|
23.12.2014, 14:15 | #7 |
Senior Member
Регистрация: Dec 2011
Сообщения: 741
Благодарил(а): 1 раз(а)
Поблагодарили:
9 раз(а) в 9 сообщениях
|
Ответ: Элемент меню "График реального времени"
|
23.12.2014, 14:16 | #8 |
Senior Member
Регистрация: Jan 2013
Сообщения: 161
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Элемент меню "График реального времени"
Арсений, а по моему поводу что можете сказать?
|
23.12.2014, 16:21 | #9 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Элемент меню "График реального времени"
Синхронизировать ничего не нужно. Просто ведёте параллельный буфер и всё. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
23.12.2014, 16:23 | #10 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Элемент меню "График реального времени"
Любое расширение функциональности - только через FBD. Причём я бы не стал париться ни с какими буферами, а просто вёл бы статистику за последнее время и знал бы границы изменения параметра. При изменении статистики изменял бы и границы. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. Последний раз редактировалось Arsie, 23.12.2014 в 16:38 |
24.12.2014, 07:16 | #11 |
Senior Member
Регистрация: Dec 2011
Сообщения: 741
Благодарил(а): 1 раз(а)
Поблагодарили:
9 раз(а) в 9 сообщениях
|
Ответ: Элемент меню "График реального времени"
1. То что предлагаемый вами макрос масштабируемый - это хорошо. Но он работает с уже готовыми значениями. Для корректной работы макроса в плане определения минимума и максимума значений тренда ему нужен внешний буфер. Самый простой вариант буфера - блоки типа Spdelay. 2. Элемент тренд имеет изменяемое периода выборки. Оно может меняться в процессе работы контроллера. Так что для того, что бы данные в буфере тренда и во внешнем буфере выбора меньшего/большего значения хоть более мене совпадали, они должны быть синхронизированы. Хотя бы по периоду выборки. 3. Рассмотрим следующую ситуацию: тренд с числом точек 190, период выборки минимальный - тик. Внешний буфер синхронизирован с буфером тренда. Согласно описанию предлагаемого Arsie макроса он за 1 тик обрабатывает 1 вход. Пусть в тике n обрабатывается вход m на котором значение x. В тике n+1 обрабатывается вход m+1 на котором опять значение х, так как блок Spdelay сдвинул значение со своего выхода m на выход m+1. И так далее до последнего обрабатываемо входа. Все время будет обрабатывать одно и то значение, но на разных входах. То есть из 190 значений, находящихся в буфере будет обрабатываться 1. 189 значений покинут буфер необработанными. 4. При другом значении выборки тренда все будет чуть лучше, но одно остается неизменным: не будут обрабатываться все значения в буфере, часть значений покинет буфер так и не дождавшись обработки. 5. Корректная обработка всех значений в буфере возможна только при одном условии: все значения буфера обрабатываются за 1 период выборки тренда. Как это сделать Arsie знает лучше меня. |
24.12.2014, 12:21 | #12 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Элемент меню "График реального времени"
Я здесь имею ввиду не скользящий буфер или фообще какой-нибудь буфер, а просто статистику по отрезкам измерения: обычный min-max на n-ное число последних отстчётов. Реакция на уменьшение разрешения будет мгновенной, реакция на увеличение разрешение будет опаздывать на те самые n отсчётов. Думаю, вполне терпимо, если отсчёты чаще, чем раз в минуту. А там, где раз в минуту, предложенное ранее решение вполне справится. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
24.12.2014, 12:51 | #13 |
Senior Member
Регистрация: Dec 2011
Сообщения: 741
Благодарил(а): 1 раз(а)
Поблагодарили:
9 раз(а) в 9 сообщениях
|
Ответ: Элемент меню "График реального времени"
2. Не факт, что значения в буфере тренда значения будут в диапазоне мин-макс по накопленной статистике, чем ближе к началу накопления статистики, тем критичней. Это приведет к выходу за предел видимости отдельных значений из буфера тренда, что сделает автомасштабирование бесполезным. 3. В каком виде хранятся данные в буфере тренда? По моим экспериментам 2-летней давности там лежат ординаты точек тренда в нормировке к размерам тренда на экране (Пиксель до 30, 2G до 60). Тогда само масштабирование теряет смысл. Не такое разрешение у экранов, что бы не различить 2 соседние точки. |
24.12.2014, 13:49 | #14 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Элемент меню "График реального времени"
2) Будут именно такими 3) Если честно - не знаю, может и так __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
24.12.2014, 14:09 | #15 |
Senior Member
Регистрация: Dec 2011
Сообщения: 741
Благодарил(а): 1 раз(а)
Поблагодарили:
9 раз(а) в 9 сообщениях
|
Ответ: Элемент меню "График реального времени"
Мы это уже разбирали: http://forum.segnetics.com/showthread.php?t=919 Что нибудь изменилось? |
24.12.2014, 14:29 | #16 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Элемент меню "График реального времени"
Вы же говорите о десятках минут на отсчёт. Обсуждать этот метод смысла нет, он не годится для вас. Вам даже проще - не нужно вести параллельный буфер. Знай себе, храни мин/макс и делай рескан при выходе из тренда максимальной или минимальной величины (см. вход cursor и выходы блока). А увеличивать мин/макс можно и без рескана, блоком мин/макс. Те 190 циклов, потраченные на рескан, вполне поместятся между отсчётами. А вот со смартом да, придётся параллельный буфер вести. Но делать рескан каждый отсчёт... Хотя, если отсчёты раз в 10 минут, то почему бы и нет. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. Последний раз редактировалось Arsie, 24.12.2014 в 14:51 |
24.12.2014, 14:45 | #17 |
Senior Member
Регистрация: Dec 2011
Сообщения: 741
Благодарил(а): 1 раз(а)
Поблагодарили:
9 раз(а) в 9 сообщениях
|
Ответ: Элемент меню "График реального времени"
|
24.12.2014, 14:53 | #18 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Элемент меню "График реального времени"
В будущей продукции тренды будут сильно мощнее и дисплей гораздо большего разрешения. PS. Ваше пожелание - это выполнение медленных и неэффективных операций силами самого ядра, вместо самостоятельного создания более эффективной схемы на FBD. Не вижу никакого практического смысла делать эти функции в Pixel-25 и SMH-2G. Их процессорам и так тяжело приходится. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
24.12.2014, 15:23 | #19 |
Senior Member
Регистрация: Dec 2011
Сообщения: 741
Благодарил(а): 1 раз(а)
Поблагодарили:
9 раз(а) в 9 сообщениях
|
Ответ: Элемент меню "График реального времени"
Но мы отвлеклись от сути дискуссии. Если ни чего не изменилось, то говорить в общем то не о чем. Топикстартер ответ на свой вопрос получил. Все довольны. Занавес закрывается. |
24.12.2014, 15:30 | #20 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Элемент меню "График реального времени"
Честное слово, я удивлён вашей упёртости. Отожрать от тика 20-30 мсек на задачу, которая требуется один раз в полчаса... Я побеждён __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
25.12.2014, 04:51 | #21 |
Senior Member
Регистрация: Nov 2010
Сообщения: 109
Благодарил(а): 2 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: Элемент меню "График реального времени"
|
25.12.2014, 08:12 | #22 |
Senior Member
Регистрация: Dec 2011
Сообщения: 741
Благодарил(а): 1 раз(а)
Поблагодарили:
9 раз(а) в 9 сообщениях
|
Ответ: Элемент меню "График реального времени"
1. Вы сделаете эффективное решение на FBD, подходящее на все случаи жизни (речь идет о мин/макс накопленных в буфере тренда), работающий без задержек и сделаете автоматическое масштабирование. 2. Вы добавите неэффективное изменение в ядро, для выведения мин/макс накопленного в буфере. И я сделаю то же самое автоматическое масштабирование для любых случаев жизни. 3. Сравним (взвесим, посчитаем, померяем) общую эффективность решений. |
25.12.2014, 10:10 | #23 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Элемент меню "График реального времени"
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
25.12.2014, 10:13 | #24 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Элемент меню "График реального времени"
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
25.12.2014, 10:42 | #25 |
Senior Member
Регистрация: Dec 2011
Сообщения: 741
Благодарил(а): 1 раз(а)
Поблагодарили:
9 раз(а) в 9 сообщениях
|
Ответ: Элемент меню "График реального времени"
|
25.12.2014, 10:46 | #26 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Элемент меню "График реального времени"
Я вам о том, что новые разработки держу в руках, а вы о евро и экранах. Я вам об оптимизации высокого уровня, а вы о том, что ваши клиенты редко подходят к контроллеру. Я думаю обо всех клиентах, вы думаете только о себе. Я просчитываю сценарии использования, связанные с ними риски и влияние на остальные функции, вы этого не делаете. Мы общего языка никогда не найдём. Это разговор слепого с глухим. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
25.12.2014, 11:30 | #27 |
Senior Member
Регистрация: Dec 2011
Сообщения: 741
Благодарил(а): 1 раз(а)
Поблагодарили:
9 раз(а) в 9 сообщениях
|
Ответ: Элемент меню "График реального времени"
Но как политик вы прогрессируете. |
25.12.2014, 12:41 | #28 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Элемент меню "График реального времени"
Этот ответ был известен с самого начала. Какой смысл говорить "давайте вы в ядре"? Правильно, никакого. Какой смысл требовать выводить мин/макс? Правильно, никакого. Встроенный автомасштаб - это лучшее решение из тех, что можно предложить. Однако вы хотите выходы мин/макс. Тупик по всем направлениям. Поэтому я и говорю - то, что вы предлагаете, вам не нужно. Нужен вам автомасштаб. И включаться этот автомасштаб должен единичкой на входе блока и галочкой в настройках элемента в SMArt. Остальное - костыли и полумеры, даже на обсуждение которых не хочется тратить время. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
25.12.2014, 12:53 | #29 |
Senior Member
Регистрация: Dec 2011
Сообщения: 741
Благодарил(а): 1 раз(а)
Поблагодарили:
9 раз(а) в 9 сообщениях
|
Ответ: Элемент меню "График реального времени"
Чуть ранее:
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
SMArt меню, неожиданное поведение, требутся помощь клуба знактоков | LordN | SMArt | 12 | 29.04.2020 20:49 |
Проблемка "График реального времени" для 2Gi в версии 3.27 | ATS | SMArt | 2 | 02.02.2016 15:07 |
Не удается соединить Termosensor со входом "График реального времени" | MAXIM | Вопросы о программировании | 2 | 04.03.2014 17:52 |