CODESYS форум

Добро пожаловать на официальный форум CODESYS
Deutsche Version English version russian version 
Текущее время: Чт ноя 23, 2017 5:55 pm

Часовой пояс: UTC+01:00




Начать новую тему  Ответить на тему  [ 9 сообщений ] 
Автор Сообщение
 Заголовок сообщения: Перемещение объектов
СообщениеДобавлено: Вт апр 15, 2008 8:41 am 
Не в сети

Зарегистрирован: Пт ноя 16, 2007 8:56 am
Сообщения: 0
Здравствуйте.

Столкнулся с необходимостью визуализации процесса. В общем все понятно и удобно, только есть одна досадная проблема, решение которой не могу никак найти.

Мне бы хотелось, чтобы по нажатию на объект он начинал например вращатся. Подключаю библиотеку SysLibVisu.lib, рисую прямоугольник, даю объекту имя ps1_l_ogr.
Делаю по нажатию на нем триггер ps1_lev_ogr, пишу код:

IF ps1_lev_ogr THEN ps1_l_ogr.nAngle:=ps1_l_ogr.nAngle+1;END_IF;

Но при запуске программы и нажатии на объект вращения не происходит.

Вернее вращение происходит, но всего объекта вцелом относительно определенной точки, а мне хотелось бы плавно повернуть этот прямоугольник например на 90 градусов.
Может кто помочь советом?


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Вт апр 15, 2008 8:52 am 
Не в сети

Зарегистрирован: Пт ноя 16, 2007 8:56 am
Сообщения: 0
Пока писал вопрос сам нашел решение.
Достаточно использовать Полигон.


Вернуться к началу
 Заголовок сообщения: Re: Перемещение объектов
СообщениеДобавлено: Вт апр 15, 2008 3:48 pm 
Не в сети
Site Admin

Зарегистрирован: Ср июл 20, 2005 2:32 pm
Сообщения: 153
AlekseyK писал(а):
...вращение происходит, но всего объекта вцелом относительно определенной точки...

Кстати, эту точку (темный круг с крестом) можно таскать мышкой. Так объект будет вращаться относительно нужного места.

_________________
_IP_


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Ср апр 16, 2008 5:32 am 
Не в сети

Зарегистрирован: Пт ноя 16, 2007 8:56 am
Сообщения: 0
Цитата:
Кстати, эту точку (темный круг с крестом) можно таскать мышкой. Так объект будет вращаться относительно нужного места.


Это я заметил. Если эту точку не сдвинуть, прямоугольник вообще вращатся не будет.

А вот как с первого раза объявить объект визуализации как программируемый не понятно.

Как я понял по мануалу достаточно дать объекту имя в Programmability и все, к нему уже можно обращатся в программе (библиотека визуализации само собой подключена). Только вот что роисходит: пишу в программе имя объекта, ставлю после него точку и списка полей объекта не появляется! То есть все как будто пишу новую переменную.
И действительно! после того как ввожу имя объекта и желаемое поле вылезает окошко для объявления переменной. И так с каждым вторым объектом (повторюсь, не с каждым, а как-то через раз. Первый объект в проекте, например, всегда четко определяется)! От безысходности объявлял объект в глобальных переменных как VisualObjectType но эффекта это не дает. После нескольких компиляций все таки удается в программе обратится к объекту визуализации, и при этом объявление этого объекта в глобальных переменных можно удалять и все будет работать!

Отсюда вопрос. Как ПРАВИЛЬНО определять объект визуализации, а также где можно "ручками" добавить новый объект.

Заранее спасибо.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Чт апр 17, 2008 10:10 am 
Не в сети
Site Admin

Зарегистрирован: Ср июл 20, 2005 2:32 pm
Сообщения: 153
Нужно разок скомпилировать программу, после чего объявление будет неявно добавлено.

Вообще такой способ управления элементами оправдан, когда нужно иметь доступ ко всем свойствам элемента сразу. Что большая редкость. Гораздо проще просто в лоб вставить нужные управляющие переменные в свойства объекта. Так, например, если есть у меня переменная X, которая от 0 до 360 меняется, то пишу ее в свойства Угол и все дела, будет вращение:
Изображение

_________________
_IP_


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Чт апр 17, 2008 10:22 am 
Не в сети

Зарегистрирован: Пт ноя 16, 2007 8:56 am
Сообщения: 0
А вот это совет ценный. Спасибо.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Ср июл 08, 2009 2:48 pm 
Не в сети

Зарегистрирован: Пт июн 19, 2009 1:50 pm
Сообщения: 1
Мне требуется программно менять свойства объекта визуализации в КДС в.3, пробовал как в первом примере, но там библиотеки SysLibVisu.lib нету, как быть? Нужно поменять координаты точек объекта Visu_PT_Polyline, но кодесис такого объекта не знает....
Пробовал методам Igor Petrov: в свойствах Dynamic values указывал на массив указателей VisuStructPoint, но такой тип КДС тоже не знает, хотя в сообщениях говорит что именно этот тип этим свойствам нужен.
Перебрал все похожие на правду библиотеки, но так и не получил положительного результата?
Подскажите что делать.....


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пн июл 13, 2009 7:47 am 
Не в сети

Зарегистрирован: Пт ноя 16, 2007 8:56 am
Сообщения: 0
Если библиотеки SysLibVisu.lib нет, значит ее нужно подключить. При стандартной установке CoDeSys эта библиотека будет находиться по адресу: C:\Program Files\Common Files\CAA-Targets\3S\Lib_PLCWinNT.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пн июл 13, 2009 11:33 am 
Не в сети

Зарегистрирован: Пт июн 19, 2009 1:50 pm
Сообщения: 1
Нее, это справедливо для старой версии КДС, в третьей всё подругому, там помимо других имён библиотек даже расширения другие, а о путях я уж и не говорю...


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 9 сообщений ] 

Часовой пояс: UTC+01:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB