Сообщение от
Клаус
// расчет PID регулятора
GlobalVar.Regul1(
SET_POINT := PLC_PRG.Ust_T1,
KP := GlobalVar.kP1,
TN := GlobalVar.kI1,
TV := GlobalVar.kD1,
Y_MANUAL := GlobalVar.y1_man,
Y_OFFSET := 0,
Y_MIN := 0,
Y_MAX := 100,
MANUAL := GlobalVar.PID1man,
RESET := GlobalVar.res1,
Y=>GlobalVar.outR1,
LIMITS_ACTIVE=>,
OVERFLOW=>);
// приводим диапазон ПИД 0...100 к диапазону 2...10В выхода МУ110-6У 200...1000
// c проверкой ручного режима управления
tempOutR1 := REAL_TO_UINT(OSCAT_BASIC.SCALE_R(X:=valPID1, I_LO:=0, I_HI:=100, O_LO:=closeState, O_HI:=openState));
tempOutR2 := REAL_TO_UINT(OSCAT_BASIC.SCALE_R(X:=valPID2, I_LO:=0, I_HI:=100, O_LO:=closeState, O_HI:=openState));
tempOutR3 := REAL_TO_UINT(OSCAT_BASIC.SCALE_R(X:=valPID3, I_LO:=0, I_HI:=100, O_LO:=closeState, O_HI:=openState));
tempOutR4 := REAL_TO_UINT(OSCAT_BASIC.SCALE_R(X:=valPID4, I_LO:=0, I_HI:=100, O_LO:=closeState, O_HI:=openState));