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

Тема: Профиль уставок в CoDESYS

  1. #1

    По умолчанию Профиль уставок в CoDESYS

    Наша задача такая чтобы уставки (например температуры) менялись во времени самостоятельно. То есть например первый час было одно значение, потом оно поменялось на другое, потом через 2 часа на 3 значение. И это чтобы делал контроллер самостоятельно.

  2. #2

    По умолчанию

    ну и меняй в контроллере по таймеру значение переменной...

  3. #3

    По умолчанию

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

  4. #4

    По умолчанию

    Возможно ли подставлять в заданиях таймера в строке t#20s вместо 20 - имя переменной или маcсива, например t#mas[i]s

  5. #5
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    Прблем нет. Присвойте значениям температур в визуализации значения в контроллере. (См. справку в среде программирования конфигурирование элементов в визуализации)
    Можно прямо с экрана как вводить или присваивать выбранные из таблиц значения переменнх, так и просматривать текущие значения.

  6. #6

    По умолчанию

    На самом деле проблема состоит не в том чтобы в визуализации менять или отображать значение переменной (это то мы сделали без проблем). А именно создать таблицу с уставками которые будут менять через интервал времени. И проблема в том чтобы можно было в визуализации меня значение длительности таймера. Потому что не понятно как подставлять в t#20s вместо 20 (ну может быть любое другое число) подставить переменную (которую можно будет задавать прямо из визуализации).

  7. #7
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    Преобразовывайте к примеру 20 из визуализации из int в time внутри программы и присваиваейте полученное значение, через косвенную адресацию полученное значение таймеру.
    Например А-уставка таймера
    В-значение в визуализации, пусть =20
    А:=TIME_TO_INT(B)
    получите время А=T#20ms
    если нужны секунды, то умножте на 1000.

  8. #8

    По умолчанию

    Спасибо большое за данный совет, так действительно мы и будем делать.

  9. #9

    По умолчанию

    Вот еще один вопрос созрел, а как можно будет заполнять массив из визуализации.
    Хотелось бы просто профиль уставок сделать с использованием массива, где каждому значению уставок соотвестововало время таймера.
    А можно ли вообще поставить таймер в цикл, где с каждым новым кругом будет новое значение уставки времени взятое из массива.
    Последний раз редактировалось DimaSik; 27.07.2009 в 09:00.

  10. #10

    По умолчанию

    Хотелось чтобы было как то вот так вот:::

    ystavki [0]:=35;
    ystavki [1]:=40;
    ystavki [2]:=45;

    Timers [0]:= t#45s
    Timers [1]:= t#50s
    Timers [2]:= t#55s

    i:=0
    While
    I<=2
    DO

    Tim1(in:=1, PT:=Timers [i];
    q:=tim.q;
    IF
    q=0
    THEN
    yst_temp:= ystavki [i];
    tim1 (in:=0, PT:=Timers [i]);
    ELSE
    i:=i+1;
    END_IF
    END_WHILE

    Можете сказать в чем ошибка, или так вообще делать нельзя???

    Просто хотелось бы это сделать через циклы и массивы.
    Последний раз редактировалось DimaSik; 27.07.2009 в 14:05.

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

Ваши права

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