1

Температурный график с заданием от панели

Пример формирования графика температуры отопления в зависимости от температуры наружнего воздуха с реализацией ночного режима работы.

Функциональный блок экспортирован, для вставки в проект необходимо сделать импорт.

FUNCTION_BLOCK Graph_Temp

VAR_INPUT

Temp_in:REAL;    (*Температура наружнего воздуха*)

Temp_NV_A:WORD;         (*температура воздуха первой точки графика (с панели)*)

Temp_NV_B:WORD;         (*температура воздуха второй точки графика (с панели)*)

Temp_otopl_A:WORD;         (*температура отопления , первая точка графика (с панели)*)

Temp_otopl_B:WORD;         (*температура отопления , вторая точка графика (с панели)*)

tmp_N: WORD;  (*снижение температуры ночью на Х градусов (с панели)*)

In_night_on: BOOL; (*разрешение включения ночного режима*)

time_night_in: BOOL; (*время включения ночного режима настало*)

END_VAR

VAR_OUTPUT

Zad: REAL;           (*вычисленное по графику задание температуры отопления*)

END_VAR

VAR

koef1:REAL;          (*коэффициент уравнения прямой*)

Temp_otopl_B_: REAL;

Temp_otopl_A_: REAL;

Temp_NV_A_: REAL;

Temp_NV_B_: REAL;

tmp_N_: REAL;

zad_N: REAL; (*снижение задания на ночное время*)

zad_G: REAL; (*задание по графику*)

END_VAR

Temp_otopl_B_:=WORD_TO_REAL(Temp_otopl_B)/10; (*преобразование форматов данных полученных с ИП320*)

Temp_otopl_A_:=WORD_TO_REAL(Temp_otopl_A)/10;

Temp_NV_A_:=WORD_TO_REAL(Temp_NV_A)/10;

Temp_NV_B_:=WORD_TO_REAL(Temp_NV_B)/10;

tmp_N_:=WORD_TO_REAL(tmp_N)/10;

koef1 :=  (Temp_otopl_B_ — Temp_otopl_A_)/(Temp_NV_B — Temp_NV_A_)  ; (*коэфициенты уравнения*)

(*формирование графика*)

IF (Temp_in >= Temp_NV_A_) THEN

zad_G := Temp_otopl_A_;

END_IF

IF ((Temp_in <Temp_NV_A_) AND (Temp_in >=Temp_NV_B)) THEN

zad_G := Temp_otopl_A_ + koef1 * (Temp_in — Temp_NV_A_);

END_IF

IF (Temp_in <Temp_NV_B) THEN

zad_G := Temp_otopl_B;

END_IF
(*формирование ночного графика*)

IF (In_night_on=TRUE AND time_night_in=TRUE AND (zad_G- tmp_N_<= zad_G-zad_N) ) THEN

zad_N:= zad_N +0.00001;

END_IF

(*снижение и увеличение температуры происходит со скоростью 0.2-0.3 градуса в минуту и зависит от цикла ПЛК, кому не нравиться переписывайте на внешнее время*)

IF (In_night_on=TRUE AND time_night_in=FALSE AND zad<=zad_G  ) THEN

zad_N:= zad_N -0.000001;

END_IF
(*общее формирование задания*)

IF In_night_on=TRUE THEN

zad:=zad_G-zad_N;

ELSE

zad:=zad_G;

zad_N:=0;

END_IF

END_FUNCTION_BLOCK

Раздел: Программы ПЛК Метки: ,

1 комметарий к "Температурный график с заданием от панели"

  1. Сергей:

    А видео есть как прописать пид регулятор?

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

Отправить сообщение

CoDeSys GSM/GPRS модем Lectus OPC MasterSCADA Modbus MX110 Omron OPC-сервер owen owen logic PLC Configuration PROFIBUS s-200 SCADA scada системы siemens siemens plc SIMATIC Simplight SMS step7 TRACE MODE Динамизация ИП-320 МЭК 1131–3 ОВЕН ОВЕН ПЛК ОВЕН ПЧВ ПЛК ПЛК ОВЕН ПР 110 Панель оператора Программируемое реле Частотный преобразователь библиотека в CoDeSys визуализация диспетчеризация конфигурация панели программирование ПЛК серия NS сименс плк частотник частотное управление язык CFC язык ST
.