Доброго времени суток, я разбираюсь в 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) Если равна, то проверяем и поддерживаем ее на определенном уровне
Заранее благодарен, если укажете где я ошибся или что можно поправить!




Ответить с цитированием