Показано с 1 по 7 из 7

Тема: визуализация

  1. #1

    Question визуализация

    Только начал изучать codesys, и вот нашел пример задачи который почему-то работает не корректно.
    Задача: сделать обычный мерцающий прямоугольник.
    для прямоугольника определил глобальную переменную "blinker" типа "VisualObjectType" и подключил библиотеку SysLibVisu.Lib.
    и собственно код:
    PROGRAM PLC_PRG
    VAR
    n: INT :=0;
    bMod: BOOL :=TRUE;

    END_VAR

    n:=n+1;
    bMod:=(n MOD 20) > 10;

    IF bMod THEN
    blinker.dwFillColor:=16#00808080;
    ELSE
    blinker.dwFillColor:=16#00FF0000;
    END_IF

    счетчик работает правильно, переменная "blinker" меняет свое значение когда досчитает до числа кратного 10-ти. Но вот мой прямоугольник сразу становится черным и не меняет цвет. Я прописал в настройках прямоугольника во вкладке Colorvariables -> Fill color ".blinker" но счетчик считает, переменная меняется а прямоугольник черный.

    Подскажите пожалуйста.

  2. #2
    Пользователь
    Регистрация
    18.03.2007
    Адрес
    г. Краснодар
    Сообщений
    233

    По умолчанию

    в визуализации ставишь
    категория переменный (variables), смена цвета(change color) необходимый бит.
    а в категории цвета(Colors) выбираешь нужный(Color) и аварийный цвет(Alarm color) и фрейм.
    Последний раз редактировалось Сергей71; 05.01.2010 в 08:44.

  3. #3

    По умолчанию

    Цитата Сообщение от Сергей71 Посмотреть сообщение
    в визуализации ставишь
    категория переменный (variables), смена цвета(change color) необходимый бит.
    а в категории цвета(Colors) выбираешь нужный(Color) и аварийный цвет(Alarm color) и фрейм.
    Так то понятно, так работает. Но меня интересует почему не работает функция ".dwFillColor"? вот к примеру если нужно запрограммировать мерцание тремя цветами, то тогда не получится так как вы описали.

  4. #4
    Пользователь
    Регистрация
    18.03.2007
    Адрес
    г. Краснодар
    Сообщений
    233

    По умолчанию

    переменную "blinker" объяви как DWORD и все,
    а в прямоугольнике
    категория переменные цвета (colorvariables), заливка цветом (fill color) поставь свою переменную.

  5. #5

    По умолчанию

    Цитата Сообщение от Сергей71 Посмотреть сообщение
    переменную "blinker" объяви как DWORD и все,
    а в прямоугольнике
    категория переменные цвета (colorvariables), заливка цветом (fill color) поставь свою переменную.
    но она же объявлена как blinker: VisualObjectType;
    можно поподробней, а то никак не могу разобраться(

  6. #6
    Пользователь
    Регистрация
    18.03.2007
    Адрес
    г. Краснодар
    Сообщений
    233

    По умолчанию

    переменную "blinker" объяви как DWORD и все, не используй VisualObjectType и эту библиотеку.

  7. #7

    По умолчанию

    Цитата Сообщение от Сергей71 Посмотреть сообщение
    переменную "blinker" объяви как DWORD и все, не используй VisualObjectType и эту библиотеку.
    Спасибо. Помогло

Ваши права

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