Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > ПЛК и микроконтроллеры
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

CoDeSys - визуализация

 Ответить Ответить
Автор
Сообщение
AlexZ Смотреть выпадающим
Участник
Участник


Присоединился: 27 Апрель 2005
Категория: Ukraine
Online Status: Offline
Публикации: 81
Свойства публикации Свойства публикации   Ответить, цитируя автора - AlexZ Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: CoDeSys - визуализация
    Опубликовано: 18 Апрель 2007 13:54

Вопрос: нужно отобразить перемещение механизма в горизонтальной плоскости. Рисую прямоугольник, задаю Motion absolute X_Offset и т.д. То есть в программе я могу задавать смещение прямоугольника относительно его начального положения. А как узнать из программы начальное (текущее) положение прямоугольника?

Наверх
Nekit Смотреть выпадающим
Участник
Участник
Аватар

Присоединился: 04 Апрель 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 80
Свойства публикации Свойства публикации   Ответить, цитируя автора - Nekit Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 18 Апрель 2007 18:10

Не совсем понятен вопрос: после запуска программы или после перезагруза элемент будет находиться там где был помещен во время проектирования или будет смещен относительно исходного положения на инициализационное значение переменной чье значение присваивается параметру Motion absolute X_Offset. А уж как дальше сопоставить положение элемента на экране и реального механизма это дело хитрости разработчика. Или я чавото не понимаю?

Наверх
AlexZ Смотреть выпадающим
Участник
Участник


Присоединился: 27 Апрель 2005
Категория: Ukraine
Online Status: Offline
Публикации: 81
Свойства публикации Свойства публикации   Ответить, цитируя автора - AlexZ Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 18 Апрель 2007 18:33

Я создаю эмуляцию объекта. В зависимости от положения прямоугольника на экране нужно задавать значение концевых датчиков. Хотелось бы в программе знать текущие координаты прямоугольника (или хотя бы начальные). Если знаете как - ответьте!

Наверх
Nekit Смотреть выпадающим
Участник
Участник
Аватар

Присоединился: 04 Апрель 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 80
Свойства публикации Свойства публикации   Ответить, цитируя автора - Nekit Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 18 Апрель 2007 21:14

Ну если очень хочетсая то начальные координаты можно узнать посмотрев Element List в контекстном меню, там указаны координаты относительно левого верхнего угла.

Я для иммитации вентиля использовал CTUD Функциональный блок ‘инкрементный / декрементный счетчик’. Очень удобно, взять шкалу в 100 единиц и сопоставить ее 100% хода устройства, т.е. при 0 на выходе CV срабатывает один датчик при 100 - другой. А далее переприсваиваем Motion absolute X_Offset. выход CV (если надо масштабируем). Помоему в таком варианте знать какие-либо координаты вообще не надо, оперируем смещением относительно начального положения.

Наверх
Dismay Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 01 Июнь 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 464
Свойства публикации Свойства публикации   Ответить, цитируя автора - Dismay Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 19 Апрель 2007 06:12

J Вы меня конечно извините, но выбранный Вами способ контроля положения выглядит так, как если бы вы повесили часы на внешней стене своего дома и спрашивали у соседа из дома через дорогу время на этих часах которые бы он наблюдал в бинокль.

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

Наверх
sanwork Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 08 Март 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 440
Свойства публикации Свойства публикации   Ответить, цитируя автора - sanwork Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 21 Апрель 2007 09:56

Энто делается так.

С каждым элементом визуализации можно связать переменную-об'ект. Пременная-об'ект назначается в свойствах элемента Programmability -> флажок Object name. Переменной дается глобальное имя, и отныне об'ект визуализации доступен для чтения и записи всех своих свойств, (через точечную ноиацию - Pramougolnuc1.PositionX. ....). Свойства перечислены в писании по CoDeSys.

P.S.  Совет - не следует увлекаться и злоупотреблять созданием переменных-об'ектов по каждому поводу :  кажный об'ект хавает приличный шматок ресурсов.

С уважением, SAN

 

Наверх
Nekit Смотреть выпадающим
Участник
Участник
Аватар

Присоединился: 04 Апрель 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 80
Свойства публикации Свойства публикации   Ответить, цитируя автора - Nekit Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 21 Апрель 2007 12:23
Чтобы использовать Programmability нужно незабыть подключить библиотеку SysLibVisu.lib. И все равно определить текущие координаты не получится (только задать и уж потом прочитать). Советую прислушаться к Dismay.
Наверх
sanwork Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 08 Март 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 440
Свойства публикации Свойства публикации   Ответить, цитируя автора - sanwork Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 21 Апрель 2007 18:39

Главная фишка в том, что при создании переменой-обек'та ситуация принципиально меняется :  ЗАПИСЫВАЕТ свойства одна функция, а СЧИТЫВАЕТ уже другая (связанная например через драйвер устройства). Включаются, и на полную используются механизмы визуализации, и Кодеру уже не надо заботиться о записи свойств, которые он сам же потом и читает !  То, что сама  HMI  в  CoDeSys  несколько нуклюжая - вопрос уже другой, во многих случаях хватает.

С уважением, SAN

 

Наверх
 Ответить Ответить

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz