Segnetics

Вернуться   Segnetics > Форум Segnetics > Вопросы о программировании

Вопросы о программировании Вопросы, касающиеся программирования на FBD

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.10.2017, 22:48   #1
boxmen77
Senior Member
 
Аватара для boxmen77
 
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили: 5 раз(а) в 5 сообщениях
По умолчанию ТРИМ правильный круг

Вечер добрый. Подскажите как вывести на экран панели правильный, ровный круг. Пробовал и по точкам и отрезками (по 3,6 град), получается кривой.
boxmen77 вне форума   Ответить с цитированием
Старый 16.10.2017, 11:21   #2
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: ТРИМ правильный круг

Растровые окружности неплохо рисуются алгоритмом Брезенхэма. Ещё можно сделать тригонометрическую функцию рассчёта, там тоже не трудно. Но при всём этом - не получится единовременно отобразить окружность на экране, потому что за один цикл работы этой системы, по Брезенхэму (в лучшем случае) ставится 8 точек.

Мы сами почти везде используем картинки для окружностей.


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 16.10.2017, 15:01   #3
boxmen77
Senior Member
 
Аватара для boxmen77
 
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили: 5 раз(а) в 5 сообщениях
По умолчанию Ответ: ТРИМ правильный круг

То есть в пульте HVAC кружочки это перебор картинок.Тогда вопрос, делаю картинку с альфа каналом, сохраняю как GIF. , но фон картинки становится черным, что я делаю не так?
boxmen77 вне форума   Ответить с цитированием
Старый 16.10.2017, 15:11   #4
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: ТРИМ правильный круг

В пульте хвак - смотря какие кружочки. Некоторые кружочки строятся математически с применением запрещённых технологий =)

Смотря в чём вы сохраняете картинку с альфа-каналом. Гиф я не пробовал. Мы используем png. У нас художники рисуют в фотошопе и ещё чём-то, сохраняют png.

Если работаете с картинками из fbd - очень рекомендую обратить внимание на возможность вращения картинки в trim5 и smh4.


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 16.10.2017, 15:36   #5
boxmen77
Senior Member
 
Аватара для boxmen77
 
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили: 5 раз(а) в 5 сообщениях
По умолчанию Ответ: ТРИМ правильный круг

Я о кружочке мощности нагревателя. Это перебор картинок, вращение двух картинок с наложением или всё-таки тригонометрия? Ещё вариант создать таблицу координат и линиями рисовать.
boxmen77 вне форума   Ответить с цитированием
Старый 16.10.2017, 15:45   #6
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: ТРИМ правильный круг

Мощность нагревателя - это набор из сотни картинок. Просто переключаются по входу селектора.


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 16.10.2017, 16:45   #7
boxmen77
Senior Member
 
Аватара для boxmen77
 
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили: 5 раз(а) в 5 сообщениях
По умолчанию Ответ: ТРИМ правильный круг

Так я и думал. То-есть это самый простой вариант? А не поделитесь иконками для личного пользования? Просто у меня дома приточная VAV система собственной сборки, управляется пикселем с МРками, а на ТРИМ хочу вывести все это хозяйство. Стандартным способом не получится.
boxmen77 вне форума   Ответить с цитированием
Старый 16.10.2017, 17:21   #8
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: ТРИМ правильный круг

К сожалению, я не могу поделиться иконками. На данный момент они не распространяются. Будут или нет - мне пока тоже не известно.

Ещё рабочий вариант, если экран не обновляется каждый тик, вот так:
1. Создаёте картинку, состоящую из квадрата нужного размера (влияет на толщину линии).
2. В квадрате левую половину красите одним цветом, правую - другим.
3. Постите эту картинку в smlogix.
4. На входах для вращения задаёте параметры, при которых точка вращения будет за этим квадратом (ниже него на радиус окружности). На вход угол - подаёте выход с некоего алгоритма отрисовки.

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

Таким образом, отрисовка экрана должна начинаться с прохода картинкой от 0 до 100%, затем откат на текущую величину.


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 16.10.2017, 17:29   #9
boxmen77
Senior Member
 
Аватара для boxmen77
 
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили: 5 раз(а) в 5 сообщениях
По умолчанию Ответ: ТРИМ правильный круг

Спасибо, вечером попробую.
boxmen77 вне форума   Ответить с цитированием
Старый 16.10.2017, 19:44   #10
boxmen77
Senior Member
 
Аватара для boxmen77
 
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили: 5 раз(а) в 5 сообщениях
По умолчанию Ответ: ТРИМ правильный круг

Получилось, но некоторые пиксели при обратном проходе не перекрашиваются.
boxmen77 вне форума   Ответить с цитированием
Старый 16.10.2017, 20:26   #11
boxmen77
Senior Member
 
Аватара для boxmen77
 
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили: 5 раз(а) в 5 сообщениях
По умолчанию Ответ: ТРИМ правильный круг

Получилось
Изображения
 
boxmen77 вне форума   Ответить с цитированием
Старый 17.10.2017, 11:00   #12
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: ТРИМ правильный круг

Извините, но что-то совсем ничего не видно на вашей картинке =)


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 17.10.2017, 13:31   #13
boxmen77
Senior Member
 
Аватара для boxmen77
 
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили: 5 раз(а) в 5 сообщениях
По умолчанию Ответ: ТРИМ правильный круг

Выложил заново.Правда медленно получается или за один тик нужно поворачивать несколько раз.
Миниатюры
Нажмите на картинку для увеличения

Название:  1.JPG
Просмотров: 110
Размер:  14.1 Кбайт  
boxmen77 вне форума   Ответить с цитированием
Старый 17.10.2017, 13:36   #14
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: ТРИМ правильный круг

Если вы используете трим5, можно минимальный тик снизить до 50, или даже 40, в зависимости от объёма проекта. Так будет быстрее.

Для smh4 эта цифра ещё ниже. Там можно 25 выставить.


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 17.10.2017, 13:42   #15
boxmen77
Senior Member
 
Аватара для boxmen77
 
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили: 5 раз(а) в 5 сообщениях
По умолчанию Ответ: ТРИМ правильный круг

Выставлял вчера на ТРИМЕ 20, за один тик поворот на 2 градуса. Медленно.

Придется лепить картинки.
boxmen77 вне форума   Ответить с цитированием
Старый 17.10.2017, 13:52   #16
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: ТРИМ правильный круг

Ну так это зависит от того, на какой угол вращать.
И да, тик 20 на триме нельзя ставить, т.к. в таком случае тик становится сильно длиннее чем 20, может даже быть выше 2000. При этом полностью нарушается работа таймеров, связанных с отсчётом времени.

Картинки, в этом случае - надёжный вариант. Их надо 1 раз подготовить и всё.

Когда-нибудь мы выпустим библиотеку компонентов. Уже давно пора. Но когда - я не знаю.


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 17.10.2017, 14:08   #17
boxmen77
Senior Member
 
Аватара для boxmen77
 
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили: 5 раз(а) в 5 сообщениях
По умолчанию Ответ: ТРИМ правильный круг

Тик держался в норме, проверял по Kernel. Делать больше угол поворота - рвется дуга или становится не ровной если сделать квадрат шире. А картинки плохи тем, что нельзя в процессе отладки менять цвет и радиус. Пульт хвак всем хорош, но под индивидуальную систему не применим. Жаль.
boxmen77 вне форума   Ответить с цитированием
Старый 17.10.2017, 14:17   #18
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: ТРИМ правильный круг

менять цвет? можно =) Делайте картинку белую, а затем используйте вход ColorMod
там число 32-разрядное.
по умолчанию 00 ff ff ff.
Порядок параметров такой: альфа-канал; красный; зелёный; синий.
Можно динамически управлять прозрачностью, задав ненулевой параметр альфа-канала. Чем больше число - тем прозрачнее.
Если написать 00 ff 00 00 - картинка будет красная и так далее по аналогии.


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 17.10.2017, 14:37   #19
boxmen77
Senior Member
 
Аватара для boxmen77
 
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили: 5 раз(а) в 5 сообщениях
По умолчанию Ответ: ТРИМ правильный круг

Так может и маштабировать можно?
boxmen77 вне форума   Ответить с цитированием
Старый 17.10.2017, 14:59   #20
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: ТРИМ правильный круг

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


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 17.10.2017, 15:05   #21
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: ТРИМ правильный круг

Извиняюсь, перепутал. Альфа-канал задаётся на входе type. 255 - полностью прозрачность.


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 17.10.2017, 17:16   #22
boxmen77
Senior Member
 
Аватара для boxmen77
 
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили: 5 раз(а) в 5 сообщениях
По умолчанию Ответ: ТРИМ правильный круг

Цитата
Сообщение от Gromov Посмотреть сообщение
Извиняюсь, перепутал. Альфа-канал задаётся на входе type. 255 - полностью прозрачность.
Так, так. А о чем еще не написано в справке. Поэтому у меня альфа канал и не работал?
boxmen77 вне форума   Ответить с цитированием
Старый 17.10.2017, 17:40   #23
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: ТРИМ правильный круг

Тип 0 - непрозрачность, тип 1 - прозрачность, об этом в справке написано, про значения от 1 до 255 ещё не написали.
Насколько я помню, ещё ColorMod не описан. Это относительно новые функции, выполняются графическим ядром. Появились только в 3.28 версии лоджика.


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 17.10.2017, 18:09   #24
boxmen77
Senior Member
 
Аватара для boxmen77
 
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили: 5 раз(а) в 5 сообщениях
По умолчанию Ответ: ТРИМ правильный круг

Спасибо, буду творИть.
boxmen77 вне форума   Ответить с цитированием
Старый 17.10.2017, 21:39   #25
boxmen77
Senior Member
 
Аватара для boxmen77
 
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили: 5 раз(а) в 5 сообщениях
По умолчанию Ответ: ТРИМ правильный круг

Ну как то так. Сделал пока четверть. Но сразу заметно что регенерация экрана слабенькая.
Вложения
Тип файла: psl Четверть.psl (67.2 Кбайт, 57 просмотров)
boxmen77 вне форума   Ответить с цитированием
Старый 18.10.2017, 10:59   #26
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: ТРИМ правильный круг

Интересная реализация. Но в этом сценарии я бы использовал всё-таки непрозрачную картинку и очистку экрана каждый тик.


__________________
В сегнетиксе не работаю с самого начала 2019 года.

Последний раз редактировалось Arsie, 18.10.2017 в 11:38
Gromov вне форума   Ответить с цитированием
Старый 18.10.2017, 15:39   #27
boxmen77
Senior Member
 
Аватара для boxmen77
 
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили: 5 раз(а) в 5 сообщениях
По умолчанию Ответ: ТРИМ правильный круг

Фоновая картинка будет. А зачем очищать экран каждый тик? Проще стирать только анимацию когда нужно.
boxmen77 вне форума   Ответить с цитированием
Старый 18.10.2017, 15:49   #28
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: ТРИМ правильный круг

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


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 18.10.2017, 15:52   #29
boxmen77
Senior Member
 
Аватара для boxmen77
 
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили: 5 раз(а) в 5 сообщениях
По умолчанию Ответ: ТРИМ правильный круг

Понятно, а я и не понял что идёт наложение.
Спасибо, буду дальше допиливать.
boxmen77 вне форума   Ответить с цитированием
Старый 18.10.2017, 20:35   #30
boxmen77
Senior Member
 
Аватара для boxmen77
 
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили: 5 раз(а) в 5 сообщениях
По умолчанию Ответ: ТРИМ правильный круг

Доделал, вроде бы получилось.
Вложения
Тип файла: psl Кружочек.psl (134.6 Кбайт, 62 просмотров)
Тип файла: psl Грелка.psl (138.6 Кбайт, 53 просмотров)

Последний раз редактировалось boxmen77, 18.10.2017 в 21:05
boxmen77 вне форума   Ответить с цитированием
Благодарность от:
Ответ

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

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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как "перезагрузить" Трим 3012-65-0 sl653 Вопросы о Trim5 15 20.05.2020 12:29
Контроллер не найден! (решено) maks Вопросы о Trim5 16 27.04.2020 19:46
VirtualBox Linux. Подключение к трим maks Вопросы о Trim5 59 07.03.2018 16:36
8 пикселей и трим LordN Связь с внешним миром 52 20.10.2017 18:43


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


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