PDA

Просмотр полной версии : Программный задатчик в CodeSYS



Юрий_1900
23.04.2008, 13:09
Добрый день!
Пошу подсказать как проще реализовать модуль программного задатчика.
(т.е. задавать число на выходе в зависимости от прошедшего времени).
Лучше в CFC или FBD.
К сожалению в библиотеке такого стандартного модуля нет.
Может у кого готовый есть?

Kirill
23.04.2008, 13:23
Добрый день!
Пошу подсказать как проще реализовать модуль программного задатчика.
(т.е. задавать число на выходе в зависимости от прошедшего времени).
Лучше в CFC или FBD.
К сожалению в библиотеке такого стандартного модуля нет.
Может у кого готовый есть?

Проще в SFC. Там задаете время работы каждого шага, а в теле шага прописываете, что конкретно надо на шаге сделать.

Юрий_1900
24.04.2008, 04:42
Добрый день!
Мы используем ПЛК150IL (target 2.04). Задача заключается в поддержании температуры по заданному графику. Т.е. выход программного задатчика должен быть просто подключен к входу задания регулятора.

Slipknot
12.02.2009, 18:55
Да,было бы хорошо посмотреть на реализацию данного примера,в р-130 например такой модуль уже заложен в библиотеку.

Игорь Петров
12.02.2009, 20:00
Такой блок в CoDeSys написать просто. Варианты:

1) Всеми любимый табличный метод . Делю время на нужные отрезки. Получаю индекс. По нему из таблицы беру соотв-е значение. Набор значений задается при объявлении таблицы (array) константами.

2) Если вариантов заданий не много, то см. блок MUX.

3) На языке ST обычный case. Время преобразовал в целое, поделил до нужной дискретности. Например, получил минуты Minutes.

CASE Minutes OF
0..60: Temperature := 18;
61..120: Temperature := 20;
и тд.
END_CASE

4) Если надо плавно менять, то блок RAMP после задатчика.

5) oscat.lib См. тут. (http://www.owen.ru/forum/showthread.php?t=2868)

Slipknot
13.02.2009, 16:25
Спасибо за ответ,буду пробовать.