|
Вопросы о программировании Вопросы, касающиеся программирования на FBD |
|
Опции темы | Поиск в этой теме |
15.10.2017, 22:48 | #1 |
Senior Member
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили:
5 раз(а) в 5 сообщениях
|
ТРИМ правильный круг
Вечер добрый. Подскажите как вывести на экран панели правильный, ровный круг. Пробовал и по точкам и отрезками (по 3,6 град), получается кривой.
|
16.10.2017, 11:21 | #2 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: ТРИМ правильный круг
Растровые окружности неплохо рисуются алгоритмом Брезенхэма. Ещё можно сделать тригонометрическую функцию рассчёта, там тоже не трудно. Но при всём этом - не получится единовременно отобразить окружность на экране, потому что за один цикл работы этой системы, по Брезенхэму (в лучшем случае) ставится 8 точек.
Мы сами почти везде используем картинки для окружностей. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
16.10.2017, 15:01 | #3 |
Senior Member
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили:
5 раз(а) в 5 сообщениях
|
Ответ: ТРИМ правильный круг
То есть в пульте HVAC кружочки это перебор картинок.Тогда вопрос, делаю картинку с альфа каналом, сохраняю как GIF. , но фон картинки становится черным, что я делаю не так?
|
16.10.2017, 15:11 | #4 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: ТРИМ правильный круг
В пульте хвак - смотря какие кружочки. Некоторые кружочки строятся математически с применением запрещённых технологий =)
Смотря в чём вы сохраняете картинку с альфа-каналом. Гиф я не пробовал. Мы используем png. У нас художники рисуют в фотошопе и ещё чём-то, сохраняют png. Если работаете с картинками из fbd - очень рекомендую обратить внимание на возможность вращения картинки в trim5 и smh4. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
16.10.2017, 15:36 | #5 |
Senior Member
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили:
5 раз(а) в 5 сообщениях
|
Ответ: ТРИМ правильный круг
Я о кружочке мощности нагревателя. Это перебор картинок, вращение двух картинок с наложением или всё-таки тригонометрия? Ещё вариант создать таблицу координат и линиями рисовать.
|
16.10.2017, 15:45 | #6 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: ТРИМ правильный круг
Мощность нагревателя - это набор из сотни картинок. Просто переключаются по входу селектора.
__________________ В сегнетиксе не работаю с самого начала 2019 года. |
16.10.2017, 16:45 | #7 |
Senior Member
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили:
5 раз(а) в 5 сообщениях
|
Ответ: ТРИМ правильный круг
Так я и думал. То-есть это самый простой вариант? А не поделитесь иконками для личного пользования? Просто у меня дома приточная VAV система собственной сборки, управляется пикселем с МРками, а на ТРИМ хочу вывести все это хозяйство. Стандартным способом не получится.
|
16.10.2017, 17:21 | #8 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: ТРИМ правильный круг
К сожалению, я не могу поделиться иконками. На данный момент они не распространяются. Будут или нет - мне пока тоже не известно.
Ещё рабочий вариант, если экран не обновляется каждый тик, вот так: 1. Создаёте картинку, состоящую из квадрата нужного размера (влияет на толщину линии). 2. В квадрате левую половину красите одним цветом, правую - другим. 3. Постите эту картинку в smlogix. 4. На входах для вращения задаёте параметры, при которых точка вращения будет за этим квадратом (ниже него на радиус окружности). На вход угол - подаёте выход с некоего алгоритма отрисовки. Суть в том, что при движении по часовой стрелке - окружность заполняется левым цветом квадрата. При движении против - правым. Так можно создать окружность из двух цветов и заполнить её до определённого предела. Таким образом, отрисовка экрана должна начинаться с прохода картинкой от 0 до 100%, затем откат на текущую величину. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
16.10.2017, 17:29 | #9 |
Senior Member
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили:
5 раз(а) в 5 сообщениях
|
Ответ: ТРИМ правильный круг
Спасибо, вечером попробую.
|
16.10.2017, 19:44 | #10 |
Senior Member
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили:
5 раз(а) в 5 сообщениях
|
Ответ: ТРИМ правильный круг
Получилось, но некоторые пиксели при обратном проходе не перекрашиваются.
|
16.10.2017, 20:26 | #11 |
Senior Member
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили:
5 раз(а) в 5 сообщениях
|
Ответ: ТРИМ правильный круг
Получилось
|
17.10.2017, 11:00 | #12 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: ТРИМ правильный круг
Извините, но что-то совсем ничего не видно на вашей картинке =)
__________________ В сегнетиксе не работаю с самого начала 2019 года. |
17.10.2017, 13:31 | #13 |
Senior Member
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили:
5 раз(а) в 5 сообщениях
|
Ответ: ТРИМ правильный круг
Выложил заново.Правда медленно получается или за один тик нужно поворачивать несколько раз.
|
17.10.2017, 13:36 | #14 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: ТРИМ правильный круг
Если вы используете трим5, можно минимальный тик снизить до 50, или даже 40, в зависимости от объёма проекта. Так будет быстрее.
Для smh4 эта цифра ещё ниже. Там можно 25 выставить. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
17.10.2017, 13:42 | #15 |
Senior Member
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили:
5 раз(а) в 5 сообщениях
|
Ответ: ТРИМ правильный круг
Выставлял вчера на ТРИМЕ 20, за один тик поворот на 2 градуса. Медленно.
Придется лепить картинки. |
17.10.2017, 13:52 | #16 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: ТРИМ правильный круг
Ну так это зависит от того, на какой угол вращать.
И да, тик 20 на триме нельзя ставить, т.к. в таком случае тик становится сильно длиннее чем 20, может даже быть выше 2000. При этом полностью нарушается работа таймеров, связанных с отсчётом времени. Картинки, в этом случае - надёжный вариант. Их надо 1 раз подготовить и всё. Когда-нибудь мы выпустим библиотеку компонентов. Уже давно пора. Но когда - я не знаю. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
17.10.2017, 14:08 | #17 |
Senior Member
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили:
5 раз(а) в 5 сообщениях
|
Ответ: ТРИМ правильный круг
Тик держался в норме, проверял по Kernel. Делать больше угол поворота - рвется дуга или становится не ровной если сделать квадрат шире. А картинки плохи тем, что нельзя в процессе отладки менять цвет и радиус. Пульт хвак всем хорош, но под индивидуальную систему не применим. Жаль.
|
17.10.2017, 14:17 | #18 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: ТРИМ правильный круг
менять цвет? можно =) Делайте картинку белую, а затем используйте вход ColorMod
там число 32-разрядное. по умолчанию 00 ff ff ff. Порядок параметров такой: альфа-канал; красный; зелёный; синий. Можно динамически управлять прозрачностью, задав ненулевой параметр альфа-канала. Чем больше число - тем прозрачнее. Если написать 00 ff 00 00 - картинка будет красная и так далее по аналогии. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
17.10.2017, 14:37 | #19 |
Senior Member
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили:
5 раз(а) в 5 сообщениях
|
Ответ: ТРИМ правильный круг
Так может и маштабировать можно?
|
17.10.2017, 14:59 | #20 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: ТРИМ правильный круг
Масштабировать, может быть графическое ядро и умеет, да только у нас такой функции нет, к сожалению.
__________________ В сегнетиксе не работаю с самого начала 2019 года. |
17.10.2017, 15:05 | #21 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: ТРИМ правильный круг
Извиняюсь, перепутал. Альфа-канал задаётся на входе type. 255 - полностью прозрачность.
__________________ В сегнетиксе не работаю с самого начала 2019 года. |
17.10.2017, 17:16 | #22 |
Senior Member
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили:
5 раз(а) в 5 сообщениях
|
Ответ: ТРИМ правильный круг
|
17.10.2017, 17:40 | #23 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: ТРИМ правильный круг
Тип 0 - непрозрачность, тип 1 - прозрачность, об этом в справке написано, про значения от 1 до 255 ещё не написали.
Насколько я помню, ещё ColorMod не описан. Это относительно новые функции, выполняются графическим ядром. Появились только в 3.28 версии лоджика. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
17.10.2017, 18:09 | #24 |
Senior Member
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили:
5 раз(а) в 5 сообщениях
|
Ответ: ТРИМ правильный круг
Спасибо, буду творИть.
|
17.10.2017, 21:39 | #25 |
Senior Member
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили:
5 раз(а) в 5 сообщениях
|
Ответ: ТРИМ правильный круг
Ну как то так. Сделал пока четверть. Но сразу заметно что регенерация экрана слабенькая.
|
18.10.2017, 10:59 | #26 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: ТРИМ правильный круг
Интересная реализация. Но в этом сценарии я бы использовал всё-таки непрозрачную картинку и очистку экрана каждый тик.
__________________ В сегнетиксе не работаю с самого начала 2019 года. Последний раз редактировалось Arsie, 18.10.2017 в 11:38 |
18.10.2017, 15:39 | #27 |
Senior Member
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили:
5 раз(а) в 5 сообщениях
|
Ответ: ТРИМ правильный круг
Фоновая картинка будет. А зачем очищать экран каждый тик? Проще стирать только анимацию когда нужно.
|
18.10.2017, 15:49 | #28 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: ТРИМ правильный круг
Полупрозрачные картинки у вас накладываются каждый тик, и яркость увеличивается каждый тик.
Можно не стирать весь экран, а стирать область под картинкой, но тем не менее, так будет значительно проще получить ожидаемый эффект. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
18.10.2017, 15:52 | #29 |
Senior Member
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили:
5 раз(а) в 5 сообщениях
|
Ответ: ТРИМ правильный круг
Понятно, а я и не понял что идёт наложение.
Спасибо, буду дальше допиливать. |
18.10.2017, 20:35 | #30 |
Senior Member
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили:
5 раз(а) в 5 сообщениях
|
Ответ: ТРИМ правильный круг
Доделал, вроде бы получилось.
Последний раз редактировалось boxmen77, 18.10.2017 в 21:05 |
Благодарность от: |