Раз уж происхождение позволяет попробую по другому решил выложить исходники (во вложении) самого регулятора.
мое предложение в исходниках регулятора выглядит так: rlOutPut:=rlOutPut+rlOutPutDif+rlCorrectionValve;
а точнее кроме учета пропорциональной, интегральной и дифференциальной составляющих еще дополнительно суммировать еще один параметр "rlCorrectionValve". Назавем этот вход - "начальное положение".
и вот вызов ПИД-регулятора из программы.
fnbPID_GVS(
rlCurent:=rlT_prjamGVS,
rlSetPoint:=rlT_Zadan_Curent,
rlK:=0.01*IP_intControlGVS_K,
rlI:=IP_intControlGVS_Ti,
rlD:=IP_intControlGVS_Td,
tmQuant:=t#1s,
rlI_MAX:=4000,
rlI_MIN:=-4000,
rlCorrectionValve:=rlTemp1*rlT_za_Kotl+rlTemp2*rlT _ObrGVS+140,
blnReset:=FALSE);
P. S. Просто для меня это сейчас актуально вот и морочу голову.






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