Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 15

Тема: VisuStructPoint (структура для точек многоугольника)

  1. #1
    Пользователь
    Регистрация
    04.12.2012
    Адрес
    Санкт-Петербург
    Сообщений
    3

    По умолчанию VisuStructPoint (структура для точек многоугольника)

    СПК107
    нужно менять позиции точек многоугольника на экране
    в хелпе есть, свойства элементов визуализации
    Динамические значения (для элементов с несколькими позиционными точками: pPointArray, Count)
    создаю по примеру
    pPoints : POINTER TO ARRAY[0..100] OF VisuStructPoint;
    создаю конечно структуру
    VisuStructPoint

    а состав структуры ни где не описан в хелпе
    как описать структуру что бы Многоугольник брал координаты точек из неё ?
    Последний раз редактировалось serg28serg; 10.03.2015 в 22:21.

  2. #2
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    Хелп написан диверсантами. Структура VisuStructPoint определена в библиотеке CmpVisuHandler. Добавляете эту либу, затем в PLC_PRG пишете что-нибудь типа
    Код:
    VAR
        polyline: ARRAY [0..2] OF VisuStructPoint;
        polylen: INT := 3;
    END_VAR
    
    polyline[0].iX := 0;
    polyline[0].iY := 0;
    
    polyline[1].iX := 10;
    polyline[1].iY := 20;
    
    polyline[2].iX := 20;
    polyline[2].iY := 10;
    У элемента параметр Array of points делаете ADR(PLC_PRG.polyline), параметр Number of points ставите PLC_PRG.polylen, и получаете в верхнем левом углу визуализации закорючку.

  3. #3
    Пользователь
    Регистрация
    04.12.2012
    Адрес
    Санкт-Петербург
    Сообщений
    3

    По умолчанию

    Цитата Сообщение от Yegor Посмотреть сообщение
    Добавляете эту либу, затем в PLC_PRG пишете что-нибудь типа.
    спасибо , так заработало

    в пределах этого "резинового" многоугольника надо поместить например маленький элементик типа круг который медленно ползает в разных направлениях

    есть какая либо-функция которая следит вышел кружок за рамки многоугольника или в пределах.

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

  4. #4

    По умолчанию

    Цитата Сообщение от Yegor Посмотреть сообщение
    Хелп написан диверсантами. Структура VisuStructPoint определена в библиотеке CmpVisuHandler. Добавляете эту либу, затем в PLC_PRG пишете что-нибудь типа
    Код:
    VAR
        polyline: ARRAY [0..2] OF VisuStructPoint;
        polylen: INT := 3;
    END_VAR
    
    polyline[0].iX := 0;
    polyline[0].iY := 0;
    
    polyline[1].iX := 10;
    polyline[1].iY := 20;
    
    polyline[2].iX := 20;
    polyline[2].iY := 10;
    У элемента параметр Array of points делаете ADR(PLC_PRG.polyline), параметр Number of points ставите PLC_PRG.polylen, и получаете в верхнем левом углу визуализации закорючку.
    Делаю все, как написал Yegor, но почему-то не получается. Многоугольник координат своих не меняет. Подскажите, пожалуйста, что не так?
    Вложения Вложения

  5. #5
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,147

    По умолчанию

    Цитата Сообщение от GoodLuck Посмотреть сообщение
    Делаю все, как написал Yegor, но почему-то не получается. Многоугольник координат своих не меняет. Подскажите, пожалуйста, что не так?
    По-моему, у вас библиотека VisuElem3DPath не подцепилась. Удалите и добавьте ее снова, лучше версию 3.5.6.0.

  6. #6

    По умолчанию

    Работает, только у меня при объявлении потребовало записи вида "OF VisuElems.VisuStructPoint"

  7. #7

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    По-моему, у вас библиотека VisuElem3DPath не подцепилась. Удалите и добавьте ее снова, лучше версию 3.5.6.0.
    А где-ж ее взять-то эту либу (3.5.6.0)?!
    У меня вообще ничего не работает! При этом заметил, что если записать в поля динамических точек всякую чушь - компилятор кушает и не давится... и рисовать них...а не хочет!

  8. #8
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,147

    По умолчанию

    Цитата Сообщение от viktor__ Посмотреть сообщение
    А где-ж ее взять-то эту либу (3.5.6.0)?!
    У меня вообще ничего не работает! При этом заметил, что если записать в поля динамических точек всякую чушь - компилятор кушает и не давится... и рисовать них...а не хочет!
    Она входит в состав CODESYS 3.5 SP6. Но конкретно вам она вряд ли нужна - используйте библиотеку CmpVisuHandler.

  9. #9

    Unhappy

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Она входит в состав CODESYS 3.5 SP6. Но конкретно вам она вряд ли нужна - используйте библиотеку CmpVisuHandler.
    ... наверное я схожу с ума... библиотека CmpVisuHandler добавлена. По крайней мере компилятор на VisuStructPoint не ругается. Вот код:
    Глобальные переменные (это уже очередная проба, делал и переменные PLC_PRG):

    VAR_GLOBAL
    ptr_line: POINTER TO ARRAY[0..2] OF VisuStructPoint;
    cnt_p: INT;
    END_VAR


    PROGRAM PLC_PRG
    VAR
    line: ARRAY[0..2] OF VisuStructPoint;
    init: BOOL;
    END_VAR

    IF init THEN
    ;
    ELSE
    cnt_p := 3;

    ptr_line := ADR(line);

    line[0].iX := 100;
    line[0].iY := 100;

    line[1].iX := 200;
    line[1].iY := 200;

    line[2].iX := 400;
    line[2].iY := 400;

    init := TRUE;
    END_IF

    Создал визуализацию (проект для СПКх... (у меня 110)), разрешение экрана 800х480. Добавил элемент Ломанная, в свойствах
    Массив точек: ptr_line
    Число точек: cnt_p

    Все компилируется, логинится (в режиме эмуляции) Отладка->Старт и... НЕ РАБОТАЕТ!

  10. #10
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,147

    По умолчанию

    Цитата Сообщение от viktor__ Посмотреть сообщение
    ... наверное я схожу с ума... библиотека CmpVisuHandler добавлена. По крайней мере компилятор на VisuStructPoint не ругается. Вот код:
    Глобальные переменные (это уже очередная проба, делал и переменные PLC_PRG):

    VAR_GLOBAL
    ptr_line: POINTER TO ARRAY[0..2] OF VisuStructPoint;
    cnt_p: INT;
    END_VAR


    PROGRAM PLC_PRG
    VAR
    line: ARRAY[0..2] OF VisuStructPoint;
    init: BOOL;
    END_VAR

    IF init THEN
    ;
    ELSE
    cnt_p := 3;

    ptr_line := ADR(line);

    line[0].iX := 100;
    line[0].iY := 100;

    line[1].iX := 200;
    line[1].iY := 200;

    line[2].iX := 400;
    line[2].iY := 400;

    init := TRUE;
    END_IF

    Создал визуализацию (проект для СПКх... (у меня 110)), разрешение экрана 800х480. Добавил элемент Ломанная, в свойствах
    Массив точек: ptr_line
    Число точек: cnt_p

    Все компилируется, логинится (в режиме эмуляции) Отладка->Старт и... НЕ РАБОТАЕТ!
    Я сейчас просто скопировал ваш код в свой проект и запустил на СПК - все отрисовалось.

    Не используйте эмуляцию, если нет СПК - проверьте на виртуальном контроллере (см. п. 9.8 документа СПК.FAQ).

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Ответов: 2
    Последнее сообщение: 21.11.2014, 21:53
  2. Ответов: 5
    Последнее сообщение: 08.07.2014, 00:05
  3. Программа для построения граиков для МСД 200
    от Михаил_А в разделе Сервисное ПО
    Ответов: 3
    Последнее сообщение: 22.12.2012, 09:36
  4. HMI WagoID 1.1 (для Андроид) для Овен ПЛК
    от osv007 в разделе Панели оператора (HMI)
    Ответов: 2
    Последнее сообщение: 10.11.2012, 20:42
  5. внутренняя структура плк
    от andrious в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 18.02.2010, 22:53

Ваши права

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