PDA

Просмотр полной версии : Управление нагревателем, CodeSys, АЦП



pyonth
07.11.2013, 17:16
Доброго времени суток, я разбираюсь в CodeSys, помогите по возможности структурировать знания. Прочитал книжку Петрова, понял синтаксис и основы, теперь самое важное понять, как научится применять.
Условие: Есть термопара, которая измеряет температуру, можно задать температуру нагрева, скорость нагрева нагревательного элемента. Мощность увеличивается выходным напряжением от 0 до 10В.
Насколько я понял, можно сделать так:

Входные переменные:

Temper_k AT%ID1.0 :REAL; (*Температура с термопары*)
Time_grow :TIME; (*Время изменения мощности, т.е. скорость нагрева*)
Temper_oper: UINT; (*Температура, которую задает оператор*)
Time_work_elect_heat :TIME; (*Время поддержания температуры*)

Выходные переменные:


Out_elect_heat1 AT%QD1.0 :REAL; (*1-й нагреватель*)
Out_elect_heat2 AT%QD2.0 :REAL; (*2-й нагреватель*)
Out_elect_heat3 AT%QD3.0 :REAL; (*3-й нагреватель*)
Out_elect_heat4 AT%QD4.0 :REAL; (*4-й нагреватель*)


Подскажите, если где ошибся в описании. И я думаю сделать такой алгоритм:

1) Считываем данные с термопары
2) Считываем данные о заданной температуре
3) Считываем данные о заданном времени нагрева (Как сделать шаги 2, 3? С помощью формы?)
4) Сравниваем температуру с заданной, если меньше, то:
-делим время на разрядность АЦП,
-Ждем срабатывания таймера(ТОН наверно?) и повышаем выходные переменные Out_elect_heat1
5) Если равна, то проверяем и поддерживаем ее на определенном уровне

Заранее благодарен, если укажете где я ошибся или что можно поправить!

lara197a
07.11.2013, 17:26
На форуме много примеров собственных П, ПИ и ПИД регуляторов. Также есть библиотеки КДС и Овен с примерами.
Лучше попробуйте готовые решения.

Из написанного Вами мало, что понятно.